* { box-sizing: border-box; }
html { font-size: 15px; scrollbar-gutter: stable; }
body { margin: 0; color: var(--text); background: var(--page-bg); font: 1rem/1.6 "Segoe UI", system-ui, sans-serif; }
button, input, select, textarea { font: inherit; }
a { color: var(--link); text-underline-offset: .2em; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
[hidden] { display: none !important; }
h1, h2, h3, p { margin: 0; }
h1 { font-size: clamp(1.7rem, 2.6vw, 2.25rem); font-weight: 650; line-height: 1.25; letter-spacing: -.03em; overflow-wrap: anywhere; }
h2 { font-size: 1.15rem; font-weight: 650; line-height: 1.4; }
h3 { font-size: 1.05rem; font-weight: 650; line-height: 1.4; }
.bi { display: inline-block; flex-shrink: 0; line-height: 1; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 1rem; top: -10rem; padding: .75rem 1rem; z-index: 100; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-small); }
.skip-link:focus { top: 1rem; }
.app-shell { display: grid; grid-template-columns: var(--sidebar-width) minmax(0, 1fr); min-height: 100dvh; }
.sidebar { position: sticky; top: 0; height: 100dvh; display: flex; flex-direction: column; min-width: 0; padding: var(--space-5) var(--space-4); background: var(--nav-bg); border-right: 1px solid var(--border); overflow-x: hidden; overflow-y: auto; }
@media (prefers-reduced-motion: no-preference) { .sidebar { transition: width .15s ease, box-shadow .15s ease; } }
.sidebar-brand { display: flex; align-items: center; gap: var(--space-2); padding: 0 .5rem; min-height: 44px; flex-shrink: 0; }
.brand { display: flex; align-items: center; gap: .8rem; color: var(--text); text-decoration: none; font-size: 1rem; font-weight: 650; line-height: 1.35; min-width: 0; }
.brand-name { min-width: 0; overflow-wrap: anywhere; }
.brand-mark, .brand-logo { flex: 0 0 38px; width: 38px; height: 38px; border-radius: 10px; }
.brand-mark { display: grid; place-items: center; color: var(--brand-ink); background: var(--brand-highlight); border: 1px solid var(--border); font-size: 1.25rem; }
.brand-logo { object-fit: contain; }
.platform-mark { display: block; background: transparent; border: 0; border-radius: 0; }
.platform-mark img { display: block; width: 100%; height: 100%; object-fit: contain; }
.platform-mark .platform-logo-night { display: none; }
:root[data-theme="dark"] .platform-mark .platform-logo-day { display: none; }
:root[data-theme="dark"] .platform-mark .platform-logo-night { display: block; }
.nav-label, .eyebrow { text-transform: uppercase; letter-spacing: .13em; font-size: .7rem; font-weight: 700; color: var(--text-muted); }
.nav-label { margin: 1rem .85rem .5rem; }
.sidebar nav { display: grid; grid-template-columns: minmax(0, 1fr); gap: .3rem; }
.nav-link { display: flex; align-items: center; gap: .85rem; padding: .8rem .85rem; min-height: 44px; border-radius: var(--radius-small); border: 1px solid transparent; color: var(--nav-text); text-decoration: none; font-size: .88rem; line-height: 1.4; }
.nav-link > .bi { font-size: 1.1rem; }
.nav-link:hover { background: var(--hover-bg); color: var(--text); }
.nav-link.active { color: var(--brand-ink); background: var(--brand-highlight); border-color: var(--border); box-shadow: inset 3px 0 var(--brand-accent); font-weight: 650; }
.nav-text { min-width: 0; overflow-wrap: anywhere; }
.planned-dot { width: 5px; height: 5px; margin-left: auto; background: var(--border-strong); border-radius: 50%; flex-shrink: 0; }
.sidebar-bottom { margin-top: auto; padding-top: 1rem; }
.sidebar-note { margin: .5rem .85rem 0; font-size: .75rem; color: var(--text-muted); }
.workspace { display: flex; flex-direction: column; min-width: 0; }
.topbar { min-height: var(--header-height); display: flex; align-items: center; gap: var(--space-4); padding: .7rem var(--space-6); background: var(--surface); border-bottom: 1px solid var(--border); }
.header-context { font-size: .88rem; color: var(--text-muted); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.workspace-selector { display: flex; align-items: center; gap: .3rem; min-width: 0; max-width: 24rem; margin-left: auto; color: var(--text-muted); }
.workspace-selector select { width: min(22vw, 16rem); min-width: 9rem; min-height: 44px; padding: .4rem .5rem; font-size: .85rem; background: var(--surface); }
.workspace-selector .icon-button { width: 44px; }
.header-actions { margin-left: auto; display: flex; align-items: center; gap: var(--space-5); min-width: 0; }
.appearance-control { display: flex; align-items: center; gap: .5rem; color: var(--text-muted); }
.appearance-control select { width: auto; min-height: 44px; padding: .4rem 1.8rem .4rem .5rem; border-color: transparent; background-color: var(--surface); font-size: .85rem; cursor: pointer; }
.account-link { display: flex; align-items: center; gap: .65rem; padding: .5rem; min-height: 44px; border-radius: var(--radius-small); color: var(--text-muted); text-decoration: none; font-size: .85rem; min-width: 0; }
.account-link:hover { background: var(--hover-bg); }
.account-link > .bi:first-child { font-size: 1.25rem; }
.user-name { max-width: 16ch; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.account-menu { position: relative; }
.account-menu > summary { cursor: pointer; list-style: none; }
.account-menu > summary::-webkit-details-marker { display: none; }
.account-menu[open] > summary { background: var(--hover-bg); }
.account-menu nav { position: absolute; z-index: 60; top: calc(100% + .4rem); right: 0; display: grid; width: min(19rem, calc(100vw - 1rem)); padding: .4rem; border: 1px solid var(--border); border-radius: var(--radius-small); background: var(--surface-raised); box-shadow: var(--shadow); }
.account-menu nav a { display: block; min-height: 44px; padding: .6rem .75rem; border-radius: var(--radius-small); color: var(--text); text-decoration: none; overflow-wrap: anywhere; }
.account-menu nav a:hover, .account-menu nav a:focus-visible { background: var(--hover-bg); }
.icon-button { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; border: 1px solid transparent; border-radius: var(--radius-small); background: transparent; color: var(--text-muted); text-decoration: none; cursor: pointer; font-size: 1.15rem; }
.icon-button:hover { background: var(--hover-bg); color: var(--text); }
.nav-toggle, .mobile-close { display: none; }
[data-ui-ready] .nav-toggle { display: inline-flex; }
main { width: 100%; max-width: var(--content-max); margin: 0 auto; padding: 2.5rem var(--space-6) var(--space-8); min-width: 0; }
.page-heading { margin-bottom: var(--space-5); max-width: 900px; }
.eyebrow { margin-bottom: .65rem; }
.title-row { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-3); }
.title-row h1 { margin: 0; }
.help-link { border-radius: 50%; }
.lead { color: var(--text-muted); font-size: 1rem; max-width: 75ch; }
.notice { display: flex; align-items: flex-start; gap: var(--space-4); padding: var(--space-5); margin-bottom: var(--space-5); border: 1px solid var(--info-border); border-radius: var(--radius); background: var(--info-bg); color: var(--info-text); }
.notice > .bi { font-size: 1.2rem; margin-top: .2rem; }
.notice h2 { font-size: .95rem; }
.notice p { margin-top: .35rem; font-size: .88rem; max-width: 95ch; }
.overview-actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-4); }
.overview-actions .button { max-width: 100%; text-align: center; }
.notice.warning { background: var(--warning-bg); color: var(--warning-text); border-color: var(--warning-border); }
.notice.error { background: var(--error-bg); color: var(--error-text); border-color: var(--error-border); }
.notice.success { background: var(--success-bg); color: var(--success-text); border-color: var(--success-border); }
.section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-4); }
.muted { color: var(--text-muted); font-size: .8rem; }
.module-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.module-card { display: flex; flex-direction: column; min-width: 0; min-height: 210px; padding: var(--space-5); border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); color: var(--text); text-decoration: none; }
.module-card:hover { border-color: var(--border-strong); box-shadow: var(--shadow); }
.card-top { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); margin-bottom: var(--space-4); color: var(--brand-ink); }
.card-top > .bi { font-size: 1.4rem; }
.status-badge, .import-status { display: inline-flex; align-items: center; gap: var(--space-1); padding: var(--space-1) var(--space-2); border: 1px solid var(--border); border-radius: var(--space-1); color: var(--text); background: var(--surface-subtle); font-size: .78rem; font-weight: 600; line-height: 1.35; max-width: 100%; overflow-wrap: anywhere; }
.module-card p { margin: var(--space-3) 0 var(--space-5); color: var(--text-muted); font-size: .85rem; }
.card-link { margin-top: auto; display: flex; align-items: center; justify-content: space-between; color: var(--link); font-size: .8rem; font-weight: 600; }
.panel, .empty-state { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: var(--space-5); }
main > .panel { margin-bottom: var(--space-4); }
.panel > h2, .panel > h3 { margin-bottom: var(--space-3); }
.empty-state { display: flex; flex-direction: column; align-items: center; text-align: center; padding: var(--space-6) var(--space-5); }
.state-icon { display: grid; place-items: center; width: 64px; height: 64px; margin-bottom: 1rem; background: var(--surface-subtle); color: var(--text-muted); border: 1px solid var(--border); border-radius: 50%; font-size: 1.6rem; }
.empty-state h2 { margin: 1rem 0 .5rem; }
.empty-state p { color: var(--text-muted); max-width: 58ch; }
.empty-state > .button { margin-top: 1.5rem; }
.button, .primary-button { display: inline-flex; align-items: center; justify-content: center; gap: .75rem; min-height: 44px; padding: .65rem 1rem; border: 1px solid transparent; border-radius: var(--radius-small); cursor: pointer; text-decoration: none; font-weight: 600; font-size: .9rem; }
.primary-button { background: var(--action-bg); color: var(--action-text); }
.primary-button:hover { background: var(--action-hover); }
.secondary-button { color: var(--text); border-color: var(--border-strong); background: var(--surface); }
.secondary-button:hover { background: var(--hover-bg); }
button:disabled, input:disabled, select:disabled { color: var(--disabled-text); background: var(--disabled-bg); cursor: not-allowed; }
.form-field { display: grid; gap: var(--space-2); margin-bottom: var(--space-4); min-width: 0; }
.form-field label { font-weight: 600; font-size: .85rem; }
.source-period { flex: 1 1 100%; min-width: 0; margin: 0; padding: var(--space-3); border: 1px solid var(--border); border-radius: var(--radius-small); }
.source-period legend { padding: 0 var(--space-2); font-weight: 600; }
.source-period-fields { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-3); }
.source-period-fields > div { min-width: 0; }
.source-period-fields label { display: block; margin-bottom: var(--space-1); overflow-wrap: anywhere; }
.source-period p { margin: var(--space-2) 0 0; }
.source-period-error { color: var(--error-text); background: var(--error-bg); padding: var(--space-2); border-radius: var(--radius-small); }
.applied-source-period { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); margin-bottom: var(--space-3); overflow-wrap: anywhere; }
@media (max-width: 900px) { .source-period-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 540px) { .source-period-fields { grid-template-columns: minmax(0, 1fr); } }
input, select, textarea { width: 100%; min-width: 0; min-height: 44px; padding: .65rem .8rem; border: 1px solid var(--border-strong); border-radius: var(--radius-small); color: var(--control-text); background: var(--control-bg); }
input:autofill { color: var(--control-text); }
input.input-validation-error { border-color: var(--error-text); }
.validation-message { color: var(--error-text); font-size: .85rem; }
.validation-message ul { padding-left: 1.25rem; margin: 0 0 1rem; }
.validation-summary-valid { display: none; }
.public-shell { display: flex; flex-direction: column; min-height: 100dvh; }
.public-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.5rem 2rem; }
.public-header .brand { max-width: 280px; }
.public-main { display: grid; place-items: center; flex: 1; padding: 2rem 1.25rem 3rem; }
.auth-panel { width: 100%; max-width: 440px; padding: 2.25rem; box-shadow: var(--shadow); }
.auth-symbol { display: grid; place-items: center; width: 46px; height: 46px; margin-bottom: 1.5rem; background: var(--brand-highlight); color: var(--brand-ink); border-radius: 12px; font-size: 1.4rem; }
.auth-panel h1 { font-size: 1.75rem; margin: 0 0 .6rem; }
.auth-panel form { margin-top: 1.75rem; }
.auth-panel .primary-button { width: 100%; margin-top: .35rem; }
.mfa-qr { display: block; max-width: 100%; height: auto; padding: .5rem; background: #fff; border-radius: .5rem; }
.mfa-setup-key { overflow-wrap: anywhere; }
.auth-note { display: flex; align-items: flex-start; gap: .5rem; margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid var(--border); color: var(--text-muted); font-size: .75rem; }
.auth-note .bi { margin-top: .3rem; }
footer { display: flex; justify-content: space-between; gap: 1rem; margin-top: auto; padding: 1rem 2rem; border-top: 1px solid var(--border); color: var(--text-muted); font-size: .72rem; }
.help-layout { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 1.5rem; align-items: start; }
.help-topics { display: grid; padding: .6rem; gap: .2rem; }
.help-topics a { color: var(--text-muted); border-radius: var(--radius-small); padding: .65rem .75rem; text-decoration: none; font-size: .88rem; }
.help-topics a:hover, .help-topics a[aria-current="page"] { background: var(--hover-bg); color: var(--text); }
.help-content h2:not(:first-child) { margin-top: var(--space-5); }
.help-content p { margin-top: .65rem; max-width: 80ch; color: var(--text-muted); }
.help-content .button { margin-top: 1.75rem; }
.admin-stack { display: grid; gap: var(--space-4); min-width: 0; }
.admin-stack > *, .admin-record { min-width: 0; overflow-wrap: anywhere; }
.admin-stack > .notice { margin-bottom: 0; }
.admin-stack h2, .admin-stack h3 { margin-bottom: var(--space-3); }
.admin-stack p { margin-bottom: var(--space-4); }
.admin-security-list { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .45rem 1rem; margin: 0 0 1rem; }
.admin-security-list dt { font-weight: 600; }
.admin-security-list dd { margin: 0; text-align: right; }
.admin-form { max-width: 40rem; margin-top: 1rem; }
.destination-panel { border-left: 3px solid var(--brand-accent); margin-bottom: var(--space-4); }
.destination-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem 1rem; align-items: end; max-width: 52rem; margin: 1rem 0; }
.destination-form label { grid-column: 1 / -1; font-weight: 600; }
.destination-current { padding: .75rem 1rem; border-radius: var(--radius-small); background: var(--surface-subtle); overflow-wrap: anywhere; }
.role-summaries { margin: .75rem 0; font-size: .85rem; color: var(--text-muted); }
.role-summaries p { margin-bottom: .4rem; }
.search-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem .75rem; align-items: end; }
.search-form label { grid-column: 1 / -1; }
.profile-layout { max-width: 52rem; }
.profile-details { display: grid; grid-template-columns: minmax(9rem, auto) minmax(0, 1fr); gap: .6rem 1rem; margin: 1rem 0; overflow-wrap: anywhere; }
.profile-details dt { font-weight: 600; }
.profile-details dd { margin: 0; }
.admin-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4); margin: var(--space-4) 0 var(--space-5); }
/* Ordinary evidence filters only; action, verification and upload toolbars keep their layout. */
.filter-form { display: flex; flex-wrap: wrap; align-items: end; gap: var(--space-3) var(--space-4); max-width: 72rem; margin: 0 0 var(--space-4); }
.filter-form > div, .filter-form > label { display: grid; gap: var(--space-1); flex: 1 1 12rem; min-width: 0; max-width: 24rem; }
.filter-form label { font-size: .85rem; font-weight: 600; overflow-wrap: anywhere; }
.filter-form > div > label { display: block; }
.filter-form > .page-size-input { flex: 0 1 9rem; }
.filter-form > button { flex: 0 0 auto; max-width: 100%; text-align: center; }
@media (max-width: 540px) {
    .filter-form > div, .filter-form > label, .filter-form > button { flex-basis: 100%; max-width: none; width: 100%; }
}
.admin-links { padding-left: 1.2rem; }
.admin-links li { padding: .4rem 0; }
.admin-record { border-top: 1px solid var(--border); padding: 1.25rem 0; }
.admin-record summary { cursor: pointer; min-height: 44px; padding: .6rem 0; color: var(--link); }
.branding-preview { display: flex; align-items: center; flex-wrap: wrap; gap: .8rem; margin: 1rem 0; padding: 1rem; border: 1px solid var(--border); border-radius: var(--radius-small); background: var(--surface-subtle); color: var(--text); }
.branding-preview-logo { width: 48px; height: 48px; object-fit: contain; }
.branding-preview strong { margin-right: auto; overflow-wrap: anywhere; }
.branding-swatch { width: 30px; height: 30px; border: 1px solid var(--border-strong); border-radius: 50%; }
.branding-swatch[data-branding-primary] { background: var(--brand-primary); }
.branding-swatch[data-branding-accent] { background: var(--brand-accent); }
.identifier { overflow-wrap: anywhere; font-size: .8rem; }
.table-scroll { max-width: 100%; overflow: auto; border: 1px solid var(--border); border-radius: var(--radius-small); }
table { width: 100%; border-collapse: collapse; background: var(--surface); font-size: .88rem; }
caption { text-align: left; padding: .75rem 1rem; font-weight: 600; }
th, td { text-align: left; padding: var(--space-3) var(--space-4); border-bottom: 1px solid var(--border); }
th { background: var(--surface-subtle); font-weight: 600; }
tbody tr:hover { background: var(--hover-bg); }
dialog { max-width: min(520px, calc(100% - 2rem)); padding: 1.75rem; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface-raised); color: var(--text); box-shadow: var(--shadow); }
dialog::backdrop { background: var(--overlay); }
.loading-state { padding: 1rem; color: var(--text-muted); }
.loading-state .bi { margin-right: .5rem; }
.confirmation-panel { max-width: 620px; }
.confirmation-panel p { color: var(--text-muted); }
.confirmation-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.portal-tooltip { position: fixed; z-index: 200; max-width: min(260px, calc(100vw - 16px)); padding: .5rem .7rem; border-radius: 6px; background: var(--tooltip-bg); color: var(--tooltip-text); box-shadow: var(--shadow); font-size: .8rem; line-height: 1.4; overflow-wrap: anywhere; }
.text-link { display: inline-block; margin-top: 1.5rem; }
code { overflow-wrap: anywhere; }
.nav-overlay { position: fixed; inset: 0; z-index: 40; border: 0; background: var(--overlay); }
@media (min-width: 901px) {
    /* Hidden compact labels retain their expanded wrapping width and row height.
       Widths derive from the sidebar padding, borders, icon and gaps. */
    .sidebar { --sidebar-inner-width: calc(var(--sidebar-width) - 2 * var(--space-4) - 1px); --sidebar-label-width: calc(var(--sidebar-inner-width) - 2 * .85rem - 2px - 1.1rem - .85rem); }
    .sidebar-brand .brand { flex: 1; }
    .sidebar nav, .sidebar-bottom, .sidebar > .nav-label { flex-shrink: 0; }
    html[data-sidebar-compact="true"] .app-shell { grid-template-columns: var(--sidebar-reduced-width) minmax(0, 1fr); }
    html[data-sidebar-compact="true"] .workspace { grid-column: 2; }
    html[data-sidebar-compact="true"] .sidebar { width: var(--sidebar-reduced-width); padding: var(--space-5) .65rem; z-index: 65; }
    html[data-sidebar-compact="true"] .sidebar-brand { padding: 0; justify-content: center; }
    html[data-sidebar-compact="true"] .brand { flex: 0 0 38px; display: grid; grid-template-columns: 38px calc(var(--sidebar-inner-width) - 1rem - 38px - .8rem); }
    html[data-sidebar-compact="true"] .brand-name, html[data-sidebar-compact="true"] .nav-text,
    html[data-sidebar-compact="true"] .nav-label, html[data-sidebar-compact="true"] .sidebar-note { visibility: hidden; }
    html[data-sidebar-compact="true"] .planned-dot { display: none; }
    html[data-sidebar-compact="true"] .nav-label, html[data-sidebar-compact="true"] .sidebar-note { width: calc(var(--sidebar-inner-width) - 2 * .85rem); }
    html[data-sidebar-compact="true"] .nav-link { display: grid; grid-template-columns: minmax(0, 1fr); padding: .8rem .5rem; }
    html[data-sidebar-compact="true"] .nav-link > .bi, html[data-sidebar-compact="true"] .nav-text { grid-area: 1 / 1; }
    html[data-sidebar-compact="true"] .nav-link > .bi { justify-self: center; }
    html[data-sidebar-compact="true"] .nav-text { width: var(--sidebar-label-width); pointer-events: none; }
    html[data-sidebar-compact="true"] .nav-link:has(.planned-dot) .nav-text { width: calc(var(--sidebar-label-width) - 5px - .85rem); }
    html[data-sidebar-compact="true"] .sidebar-peek .sidebar { position: fixed; left: 0; width: var(--sidebar-width); padding: var(--space-5) var(--space-4); box-shadow: var(--shadow); }
    html[data-sidebar-compact="true"] .sidebar-peek .sidebar-brand { padding: 0 .5rem; justify-content: flex-start; }
    html[data-sidebar-compact="true"] .sidebar-peek .brand { display: flex; flex: 1; }
    html[data-sidebar-compact="true"] .sidebar-peek .brand-name, html[data-sidebar-compact="true"] .sidebar-peek .nav-text,
    html[data-sidebar-compact="true"] .sidebar-peek .nav-label, html[data-sidebar-compact="true"] .sidebar-peek .sidebar-note { visibility: visible; }
    html[data-sidebar-compact="true"] .sidebar-peek .planned-dot { display: initial; }
    html[data-sidebar-compact="true"] .sidebar-peek .nav-link { display: flex; padding: .8rem .85rem; }
    html[data-sidebar-compact="true"] .sidebar-peek .nav-link .nav-text { width: auto; pointer-events: auto; }
}
@media (max-width: 1200px) {
    .module-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .header-actions { gap: .75rem; }
    .help-layout { grid-template-columns: 190px minmax(0, 1fr); }
}
@media (max-width: 900px) {
    .app-shell { display: block; }
    .sidebar { position: static; height: auto; }
    [data-ui-ready] .sidebar { position: fixed; width: min(290px, calc(100vw - 40px)); height: 100dvh; top: 0; left: 0; z-index: 50; visibility: hidden; }
    [data-ui-ready] .nav-open .sidebar { visibility: visible; }
    [data-ui-ready] .mobile-close { display: inline-flex; margin-left: auto; }
    .nav-open { overflow: hidden; }
    .sidebar-note { display: none; }
    .sidebar-bottom { padding-top: 1rem; }
    .sidebar-brand { padding: 0; }
    .topbar { padding: .65rem 1.25rem; }
    .header-context, .user-name { display: none; }
    .workspace-selector { margin-left: 0; }
    .workspace-selector select { width: min(24vw, 13rem); min-width: 8rem; }
    .language-control select { min-width: 5.5rem; }
    main { padding: 2rem 1.25rem 3rem; }
    .help-layout { grid-template-columns: 1fr; }
    .help-topics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 540px) {
    .destination-form, .search-form, .profile-details { grid-template-columns: 1fr; }
    .header-context, .user-name { display: none; }
    .header-actions { gap: .5rem; }
    .topbar { padding: .5rem 1rem; min-height: 60px; display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: .25rem; }
    .nav-toggle { grid-column: 1; grid-row: 1; }
    .header-actions { grid-column: 2; grid-row: 1; justify-self: end; margin-left: 0; gap: .25rem; }
    .workspace-selector { grid-column: 1 / -1; grid-row: 2; width: 100%; max-width: none; }
    .workspace-selector select { flex: 1; width: auto; }
    .language-control select, .appearance-control select { width: 5.5rem; }
    .module-grid { grid-template-columns: 1fr; }
    .module-card { min-height: 190px; }
    .section-heading { align-items: flex-start; flex-direction: column; gap: .35rem; }
    .notice { padding: var(--space-4); }
    .public-header { padding: 1rem; gap: .5rem; }
    .public-header .brand { font-size: .85rem; }
    .public-header .brand-mark { flex-basis: 32px; width: 32px; height: 32px; }
    .appearance-control { gap: .2rem; }
    .appearance-control select { padding-right: 1.4rem; }
    .auth-panel { padding: 1.5rem; }
    footer { padding: 1rem 1.25rem; flex-wrap: wrap; }
    .help-topics { grid-template-columns: 1fr; }
    .help-content { padding: 1.25rem; }
    .icon-button { min-width: 44px; min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; } }
@media print {
    :root, :root[data-theme="dark"] { color-scheme: light; --page-bg: var(--print-bg); --surface: var(--print-bg); --surface-raised: var(--print-bg); --surface-subtle: var(--print-bg); --text: var(--print-text); --text-muted: var(--print-muted); --border: var(--print-border); --link: var(--print-text); --brand-ink: var(--print-text); }
    .sidebar, .topbar, .public-header, .nav-overlay, .help-link, .portal-tooltip, .skip-link, footer { display: none !important; }
    .app-shell { display: block; }
    main { max-width: none; padding: 0; }
    .notice { background: var(--print-bg); color: var(--print-text); border-color: var(--print-border); }
    .panel, .module-card, .empty-state { box-shadow: none; break-inside: avoid; }
}

/* Language choice shares the header without truncating translated labels. */
.language-control { display: flex; align-items: center; gap: .25rem; margin: 0; min-width: 0; color: var(--text-muted); }
.language-control select { width: auto; min-width: 0; min-height: 44px; padding: .4rem 1.6rem .4rem .4rem; font-size: .85rem; background: var(--surface); border-color: transparent; }
.language-control .icon-button { flex-shrink: 0; }
.nav-text, .module-card h3, .help-topics a, .button { overflow-wrap: anywhere; }
@media (max-width: 1100px) { .header-context { display: none; } .header-actions { gap: .5rem; } }
@media (max-width: 640px) {
    .public-header { flex-wrap: wrap; }
    .public-header .header-actions { flex-wrap: wrap; gap: .25rem; }
    .language-control { gap: 0; }
    .language-control > .bi { display: none; }
    .language-control select { padding-left: .25rem; }
    .header-actions { gap: .15rem; }
    .topbar { gap: .25rem; padding: .5rem; flex-wrap: wrap; }
    .workspace-selector { order: 3; width: 100%; max-width: none; margin-left: 0; }
    .workspace-selector select { width: 100%; }
    .appearance-control > .bi { display: none; }
}

.import-file-list { list-style: none; padding: 0; margin: .5rem 0; display: grid; gap: .5rem; }
.import-file-list li { padding: .7rem; border: 1px solid var(--border); border-radius: .5rem; background: var(--surface-subtle); overflow-wrap: anywhere; }
.import-status--mapping-required { background: var(--warning-bg); color: var(--warning-text); border-color: var(--warning-border); }
.import-status--ready, .import-status--queued { background: var(--info-bg); color: var(--info-text); border-color: var(--info-border); }
.import-status--processing { background: var(--processing-bg); color: var(--processing-text); border-color: var(--processing-border); }
.import-status--completed { background: var(--success-bg); color: var(--success-text); border-color: var(--success-border); }
.import-status--failed { background: var(--error-bg); color: var(--error-text); border-color: var(--error-border); }
.import-file-list .button { margin-left: .5rem; }
.import-checkbox label { display: flex; align-items: center; gap: .6rem; }
.import-checkbox input[type="checkbox"] { width: 1.1rem; min-width: 1.1rem; height: 1.1rem; min-height: 1.1rem; margin: 0; }
.import-advanced-options { border: 1px solid var(--border); border-radius: var(--radius); padding: 0 1rem; background: var(--surface-subtle); }
.import-advanced-options > summary { cursor: pointer; padding: .7rem 0; font-weight: 600; }
.import-advanced-options > summary:focus-visible { outline: 2px solid var(--link); outline-offset: 2px; }
.import-advanced-fields { display: grid; gap: .9rem; padding: .2rem 0 1rem; }
.import-duplicate-option .muted { margin: .35rem 0 .65rem; }
.import-duplicate-reason { display: none; }
.import-duplicate-option:has(#RetainDuplicate:checked) .import-duplicate-reason { display: block; }
.import-destination-summary { min-width: 0; overflow-wrap: anywhere; }
.import-detail-nav { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.5rem; margin-bottom: 1rem; }
.import-destination-picker button[hidden] { display: none; }
.import-destination-picker .admin-toolbar { align-items: center; }
.import-run-summary { font-weight: 600; }
.import-run-next { margin: .8rem 0; padding: .75rem 1rem; border-left: 3px solid var(--brand-accent); background: var(--surface-subtle); }
.import-run-next h3 { margin: 0 0 .4rem; font-size: 1rem; }
.import-run-next form { margin: .5rem 0; }
.import-run-association { margin: .7rem 0; color: var(--text-muted); overflow-wrap: anywhere; }
.import-run-association p { margin: .35rem 0; }
.import-run-technical { margin-top: .8rem; }
.import-run-technical dl { display: grid; grid-template-columns: minmax(9rem, 14rem) minmax(0, 1fr); gap: .45rem .8rem; }
.import-run-technical dt { font-weight: 600; }
.import-run-technical dd { margin: 0; overflow-wrap: anywhere; }
@media (max-width: 640px) { .import-run-technical dl { grid-template-columns: 1fr; } }
.table-responsive { max-width: 100%; overflow-x: auto; }
.import-preview-panel, #import-mapping { min-width: 0; }
.import-preview-scroll-hint { margin: .5rem 0; }
.import-preview-scroll { border: 1px solid var(--border); border-radius: var(--radius-small); overscroll-behavior-x: contain; }
.import-preview-table { width: max-content; min-width: 100%; table-layout: auto; }
.import-preview-table th, .import-preview-table td { min-width: 6.5rem; padding: .45rem .65rem; vertical-align: top; }
.import-preview-table th { white-space: nowrap; overflow-wrap: normal; }
.import-preview-table td { max-width: 22rem; white-space: normal; overflow-wrap: anywhere; }
.import-preview-value { display: block; max-width: 22rem; overflow-wrap: anywhere; }
.tag-ref-context { margin-bottom: 1rem; }
.tag-ref-context-line { display: flex; flex-wrap: wrap; align-items: end; gap: .75rem 1.5rem; }
.tag-ref-scope-form { display: grid; gap: .3rem; flex: 1 1 17rem; max-width: 33rem; }
.tag-ref-scope-form label, .tag-ref-selected-set .muted { font-size: .8rem; font-weight: 600; }
.tag-ref-selected-set { display: grid; gap: .2rem; min-width: 0; overflow-wrap: anywhere; font-size: .88rem; }
.tag-ref-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; margin: 1rem 0; }
.tag-ref-metrics > div { display: grid; gap: .2rem; padding: .7rem .9rem; border: 1px solid var(--border); border-radius: var(--radius-small); background: var(--surface-subtle); }
.tag-ref-metrics strong { font-size: 1.35rem; }
.tag-ref-metrics span { color: var(--text-muted); font-size: .8rem; }
.tag-ref-table-panel { min-width: 0; }
.tag-ref-section-head { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: .5rem 1rem; margin-bottom: .75rem; }
.tag-ref-section-head h2, .tag-ref-section-head h3 { margin: 0; }
.tag-ref-filters { display: grid; grid-template-columns: minmax(12rem, 2fr) repeat(3, minmax(8rem, 1fr)) auto; align-items: end; gap: .6rem; margin-bottom: .9rem; }
.tag-ref-filters label, .tag-ref-editor label { display: grid; gap: .25rem; font-size: .82rem; font-weight: 600; min-width: 0; }
.tag-ref-filters input, .tag-ref-filters select, .tag-ref-editor input, .tag-ref-editor select, .tag-ref-editor textarea { width: 100%; min-width: 0; }
.tag-ref-table { min-width: 59rem; }
.tag-ref-table th, .tag-ref-table td { padding: .55rem .7rem; vertical-align: top; overflow-wrap: anywhere; }
.tag-ref-table th:first-child { min-width: 7rem; }
.tag-ref-table td:nth-child(2) { min-width: 15rem; max-width: 22rem; }
.tag-ref-table td:nth-child(3) { min-width: 13rem; max-width: 20rem; }
.tag-ref-current, .tag-ref-current:target { background: var(--brand-highlight); }
.tag-ref-current:target { outline: 2px solid var(--brand-accent); outline-offset: -2px; scroll-margin-top: 7rem; }
.tag-ref-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem .9rem; white-space: nowrap; }
.tag-ref-expanded { background: var(--surface-subtle); }
.tag-ref-inline { max-width: 67rem; padding: .5rem; white-space: normal; }
.tag-ref-inline > details { margin: .75rem 0; padding: .5rem .75rem; border: 1px solid var(--border); border-radius: var(--radius-small); }
.tag-ref-inline summary, .tag-ref-advanced > summary { cursor: pointer; font-weight: 600; min-height: 36px; }
.tag-ref-editor { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem 1rem; max-width: 55rem; margin: .75rem 0; }
.tag-ref-editor .tag-ref-check, .tag-ref-editor .tag-ref-actions, .tag-ref-editor .tag-ref-full, .tag-ref-editor > button, .tag-ref-editor > p { grid-column: 1 / -1; }
.tag-ref-exclusions { max-height: 12rem; overflow: auto; margin: .4rem 0; padding-left: 1.5rem; }
.tag-ref-bulk-review { display: block; min-width: 0; }
.tag-ref-bulk-review li { overflow-wrap: anywhere; }
.tag-source-review-list { max-height: 18rem; overflow: auto; overflow-wrap: anywhere; }
.tag-source-links-table { min-width: 42rem; }
.tag-source-links-table .tag-source-choice { display: inline-flex; align-items: center; gap: .5rem; min-width: 44px; min-height: 44px; padding: 4px; cursor: pointer; }
.tag-source-links-table .tag-source-choice input[type="checkbox"] { width: 36px; min-width: 36px; height: 36px; min-height: 36px; margin: 0; padding: 0; flex: none; }
.import-reference-confirm { display: grid; gap: .35rem; max-width: 45rem; }
.import-reference-confirm .import-reference-authorization { display: flex; align-items: flex-start; gap: .5rem; }
.import-reference-confirm input[type="checkbox"] { width: auto; min-width: 1.1rem; margin-top: .2rem; flex: none; }
.tag-ref-editor .tag-ref-check { display: flex; align-items: start; gap: .5rem; }
.tag-ref-editor .tag-ref-check input { width: auto; min-width: 1.1rem; margin-top: .2rem; }
.tag-ref-editor > .tag-ref-selection-list { grid-column: 1 / -1; min-width: 0; }
.tag-ref-editor .tag-ref-workbook-choice { display: grid; grid-template-columns: 1.1rem minmax(0, 1fr); align-items: start; gap: .55rem; min-height: 44px; padding: .5rem 0; overflow-wrap: anywhere; }
.tag-ref-editor .tag-ref-workbook-choice input { width: 1.1rem; min-width: 1.1rem; height: 1.1rem; min-height: 1.1rem; margin: .1rem 0 0; padding: 0; }
.tag-ref-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem 1rem; font-size: .85rem; }
.tag-ref-details dt { font-weight: 600; color: var(--text-muted); }
.tag-ref-details dd { margin: .2rem 0 0; overflow-wrap: anywhere; }
.tag-ref-advanced { margin-top: .8rem; }
.tag-ref-advanced > summary { list-style-position: inside; }
.tag-ref-advanced[open] > summary { margin-bottom: 1rem; }
@media (max-width: 1000px) { .tag-ref-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
    .tag-ref-metrics { grid-template-columns: 1fr; }
    .tag-ref-filters, .tag-ref-editor, .tag-ref-details { grid-template-columns: minmax(0, 1fr); }
    .tag-ref-filters button { width: 100%; }
    .tag-ref-table { min-width: 52rem; }
    .tag-ref-inline { width: min(19rem, calc(100vw - 5rem)); }
}
.import-dashboard-filters { display: grid; grid-template-columns: minmax(11rem, 2fr) repeat(3, minmax(7rem, 1fr)) auto auto; align-items: end; gap: .6rem; margin: 1rem 0; }
.import-dashboard-filters > div { display: grid; gap: .2rem; min-width: 0; }
.import-dashboard-filters label { font-size: .8rem; font-weight: 600; }
.import-dashboard-filters input, .import-dashboard-filters select { width: 100%; min-width: 0; }
.import-dashboard-actions { gap: .6rem 1rem; margin: .5rem 0; }
.import-dashboard-table-wrap { width: 100%; min-width: 0; }
.import-history-table { width: 100%; table-layout: fixed; font-size: .82rem; }
.import-bulk-table input[type="checkbox"] { width: 1.1rem; min-width: 1.1rem; height: 1.1rem; min-height: 1.1rem; margin: 0; }
.import-bulk-table th:first-child, .import-bulk-table td:first-child { width: 7rem; text-align: center; }
.import-bulk-table td { overflow-wrap: anywhere; }
.import-history-table th, .import-history-table td { padding: .4rem .45rem; vertical-align: middle; line-height: 1.35; }
.import-history-table th { white-space: normal; }
.import-history-table .import-cell-select { width: 3.2rem; text-align: center; }
.import-history-table .import-cell-file { width: 33%; min-width: 0; }
.import-cell-file span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.import-history-table .import-cell-uploaded { width: 10.5rem; }
.import-history-table .import-cell-status { width: 10rem; }
.import-history-table .import-cell-accepted { width: 5.5rem; text-align: right; }
.import-history-table .import-cell-issues { width: 4rem; text-align: right; }
.import-history-table .import-cell-actions { width: 5rem; }
.import-history-table .import-status { white-space: normal; }
.import-history-table a { display: inline-flex; align-items: center; min-height: 36px; }
.import-history-table input[type="checkbox"] { width: 1.1rem; min-width: 1.1rem; height: 1.1rem; min-height: 1.1rem; margin: 0; }
.import-dashboard-table-wrap + button { margin-top: .7rem; }
[data-history-nav] { gap: .45rem .8rem; margin-bottom: 0; }
[data-history-nav] a, [data-history-nav] strong { display: inline-flex; min-width: 2rem; min-height: 36px; align-items: center; justify-content: center; }
@media (max-width: 1400px) { .import-dashboard-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 1400px) {
    .import-history-table, .import-history-table tbody, .import-history-table tr { display: block; width: 100%; }
    .import-history-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
    .import-history-table tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .35rem .75rem; padding: .7rem; margin-bottom: .55rem; border: 1px solid var(--border); border-radius: var(--radius-small); }
    .import-history-table td { display: block; width: auto !important; min-width: 0; padding: 0; border: 0; text-align: left !important; overflow-wrap: anywhere; }
    .import-history-table td::before { content: attr(data-label); display: block; font-size: .72rem; color: var(--text-muted); font-weight: 600; }
    .import-history-table .import-cell-file { grid-column: 1 / -1; }
    .import-cell-file span { overflow: visible; white-space: normal; }
    .import-history-table .import-cell-select { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
    .import-file-list .button { display: block; margin: .5rem 0 0; }
    .import-dashboard-filters { grid-template-columns: 1fr; }
}

.measurements-workspace { min-width: 0; }
.measurements-workspace .page-heading { margin-bottom: 1rem; }
.measurements-workspace .lead { font-size: .88rem; }
.workspace:has(.measurements-workspace) main { max-width: none; padding: 1.4rem clamp(1rem, 2.5vw, 2.5rem) 3rem; }
.measurement-selector { padding: .7rem 1rem; margin-bottom: .65rem; }
.measurement-engagement { display: flex; align-items: center; flex-wrap: wrap; gap: .6rem; }
.measurement-engagement label { font-weight: 600; font-size: .85rem; }
.measurement-engagement select { width: min(34rem, 100%); flex: 1 1 15rem; }
.measurement-pickers { display: flex; align-items: start; flex-wrap: wrap; gap: .5rem; margin-top: .7rem; }
.measurement-picker { position: relative; min-width: min(20rem, 100%); max-width: min(34rem, 100%); flex: 1 1 20rem; border: 1px solid var(--border); border-radius: var(--radius-small); }
.measurement-picker summary { cursor: pointer; padding: .55rem .7rem; font-size: .82rem; }
.measurement-picker summary strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.measurement-picker[open] { padding-bottom: .75rem; }
.measurement-search { display: flex; align-items: end; flex-wrap: wrap; gap: .4rem; padding: .5rem .75rem; }
.measurement-search label { width: 100%; font-size: .8rem; }
.measurement-search input { flex: 1 1 8rem; }
.measurement-choice-list { display: grid; gap: .35rem; max-height: 14rem; overflow-y: auto; padding: 0 .75rem; }
.measurement-choice-row { display: flex; align-items: stretch; gap: .4rem; min-width: 0; }
.measurement-choice-row > .measurement-choice { flex: 1; }
.measurement-choice-row > button { align-self: center; flex: none; }
.measurement-choice { display: flex; justify-content: space-between; gap: .75rem; padding: .75rem 1rem; border: 1px solid var(--border); border-radius: var(--radius); color: var(--text); text-decoration: none; min-width: 0; }
.measurement-choice:hover, .measurement-choice.selected { background: var(--surface-subtle); border-color: var(--brand-primary); }
.measurement-choice strong, .measurement-choice span { min-width: 0; overflow-wrap: anywhere; }
.measurement-choice span { color: var(--text-muted); }
.measurement-paging { display: flex; justify-content: space-between; gap: 1rem; padding: .4rem .75rem 0; }
.measurement-analysis { min-width: 0; }
.measurement-analysis[hidden], .measurement-comparison-range[hidden], [data-single-range][hidden], [data-single-summary][hidden], .measurement-inspector[hidden], [data-comparison-go][hidden] { display: none; }
.measurement-view-selector { display: inline-flex; gap: .25rem; margin: .7rem 0; padding: .2rem; border: 1px solid var(--border); border-radius: var(--radius-small); background: var(--surface-subtle); }
.measurement-view-selector button { min-width: 5.5rem; }
.measurement-view-selector button[aria-pressed="true"] { border-color: var(--brand-primary); background: var(--brand-highlight); color: var(--brand-ink); font-weight: 700; }
.measurement-chart-view { display: grid; grid-template-columns: minmax(0, 1fr) minmax(17rem, 28%); gap: .7rem; align-items: start; min-width: 0; }
.measurement-chart-view:has(.measurement-insights.is-collapsed) { grid-template-columns: minmax(0, 1fr) 3.25rem; }
.measurement-chart-view[hidden], .measurement-table-view[hidden] { display: none; }
.measurement-table-view { min-width: 0; }
.measurement-stage { min-width: 0; padding: .75rem 1rem; }
.measurement-stage-heading { display: flex; justify-content: space-between; align-items: start; gap: 1rem; }
.measurement-stage-heading > div:first-child { min-width: 0; }
.measurement-stage-heading h2 { margin: 0 0 .25rem; font-size: 1.15rem; overflow-wrap: anywhere; }
.measurement-stage-heading .muted { overflow-wrap: anywhere; }
.measurement-comparison { margin: .45rem 0 0; padding: .35rem 0 0; border-top: 1px solid var(--border); }
.measurement-comparison[hidden] { display: none; }
.measurement-comparison { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; column-gap: .75rem; align-items: center; }
.measurement-comparison [data-comparison-count] { grid-column: 1; grid-row: 1; }
.measurement-comparison [data-comparison-list] { grid-column: 2; grid-row: 1; }
.measurement-comparison-actions { grid-column: 3; grid-row: 1; }
.measurement-toolbar-period { grid-column: 1 / -1; margin: .2rem 0; font-size: .82rem; overflow-wrap: anywhere; }
.measurement-pending { grid-column: 1 / -1; margin: .1rem 0; color: var(--warning-text); font-size: .8rem; }
.measurement-pending[hidden] { display: none; }
.measurement-comparison [data-comparison-status] { grid-column: 1 / -1; }
.measurement-comparison-actions { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; }
.measurement-coverage-status { flex: 1 1 100%; margin: .15rem 0; padding: .3rem .5rem; border-left: 3px solid var(--brand-accent); background: var(--surface-subtle); font-size: .84rem; line-height: 1.4; }
.measurement-comparison ul { display: flex; flex-wrap: wrap; gap: .35rem; padding: 0; margin: .3rem 0; list-style: none; }
.measurement-comparison li { display: flex; align-items: center; gap: .3rem; max-width: min(22rem, 100%); padding: .15rem .2rem .15rem .55rem; border: 1px solid var(--border); border-radius: 2rem; border-left: .3rem solid var(--chart-series-1); background: var(--surface-subtle); }
.measurement-comparison li:nth-child(5n+2) { border-left-color: var(--chart-series-2); }
.measurement-comparison li:nth-child(5n+3) { border-left-color: var(--chart-series-3); }
.measurement-comparison li:nth-child(5n+4) { border-left-color: var(--chart-series-4); }
.measurement-comparison li:nth-child(5n+5) { border-left-color: var(--chart-series-5); }
.measurement-chip-name { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .82rem; }
.measurement-comparison li > button { flex: none; padding: .2rem .45rem; min-height: 30px; font-size: .75rem; }
.measurement-comparison [data-comparison-count] { font-weight: 600; font-size: .82rem; margin: .15rem 0; }
.measurement-comparison [data-comparison-status] { font-size: .8rem; margin: .25rem 0 0; }
.measurement-comparison [data-comparison-clear][hidden] { display: none; }
.measurement-tag-picker { position: relative; }
.measurement-tag-picker > summary { display: inline-flex; align-items: center; gap: .35rem; cursor: pointer; list-style: none; padding: .45rem .7rem; min-height: 36px; border: 1px solid var(--border); border-radius: var(--radius-small); background: var(--surface-raised); font-size: .84rem; font-weight: 600; }
.measurement-tag-picker > summary::-webkit-details-marker { display: none; }
.measurement-tag-picker > summary:hover, .measurement-tag-picker > summary:focus-visible { border-color: var(--brand-primary); }
.measurement-drawer-backdrop { position: fixed; z-index: 79; inset: 0; background: rgb(10 22 30 / 48%); }
.measurement-picker-popover { position: fixed; z-index: 80; inset: 0 0 0 auto; width: min(36rem, 100vw); height: 100dvh; max-height: none; overflow-y: auto; overscroll-behavior: contain; padding: 1rem 1.25rem 2rem; border: 1px solid var(--border); border-radius: 0; background: var(--surface-raised); box-shadow: var(--shadow); }
body.measurement-drawer-open { overflow: hidden; }
.measurement-drawer-heading { display: flex; justify-content: space-between; align-items: start; gap: .5rem; margin-bottom: .9rem; }
.measurement-drawer-heading h2 { margin: 0; font-size: 1.2rem; }
.measurement-drawer-title-toggle { border: 0; padding: 0; background: none; color: var(--text); font: inherit; font-weight: inherit; cursor: pointer; text-align: left; }
.measurement-drawer-title-toggle:hover { color: var(--brand-primary); }
.measurement-picker-popover h3 { margin: 1rem 0 .4rem; font-size: .92rem; }
.measurement-drawer-selected { display: flex; flex-wrap: wrap; gap: .35rem; margin: 0; padding: 0; list-style: none; }
.measurement-drawer-selected li { display: flex; align-items: center; gap: .35rem; max-width: 100%; padding: .2rem .3rem .2rem .55rem; border: 1px solid var(--border); border-left: .3rem solid var(--chart-series-1); border-radius: 1.5rem; background: var(--surface-subtle); }
.measurement-drawer-selected li:nth-child(5n+2) { border-left-color: var(--chart-series-2); }
.measurement-drawer-selected li:nth-child(5n+3) { border-left-color: var(--chart-series-3); }
.measurement-drawer-selected li:nth-child(5n+4) { border-left-color: var(--chart-series-4); }
.measurement-drawer-selected li:nth-child(5n+5) { border-left-color: var(--chart-series-5); }
.measurement-drawer-selected li > button { padding: .2rem .45rem; min-height: 30px; font-size: .75rem; }
.measurement-drawer-footer { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; position: sticky; bottom: -2rem; margin: 1rem -1.25rem -2rem; padding: .75rem 1.25rem 1rem; border-top: 1px solid var(--border); background: var(--surface-raised); }
.measurement-drawer-footer [data-view-chart] { min-width: 8rem; }
.measurement-picker-popover > .muted { font-size: .78rem; margin: 0 0 .55rem; }
.measurement-picker-popover .measurement-pickers { margin-top: .5rem; }
.measurement-picker-popover .measurement-choice { padding: .4rem .55rem; border-radius: var(--radius-small); font-size: .82rem; }
.measurement-picker-popover .measurement-choice span { font-size: .74rem; }
.measurement-comparison-range { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem; margin: .45rem 0; }
.measurement-picker-popover .measurement-comparison-range { grid-template-columns: minmax(0, 1fr); padding-top: .8rem; border-top: 1px solid var(--border); }
.measurement-comparison-range > .measurement-period-heading,
.measurement-comparison-range > [data-comparison-overlap],
.measurement-comparison-range > .measurement-period-presets,
.measurement-comparison-range > [data-comparison-range-status] { grid-column: 1 / -1; }
.measurement-period-heading h3 { font-size: .92rem; margin: 0; }
.measurement-period-heading .measurement-range-note { margin: .15rem 0 0; }
.measurement-comparison-range .measurement-date-time-pair { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); padding: .3rem .5rem .5rem; }
.measurement-comparison-range .measurement-date-time-pair legend { font-size: .8rem; }
.measurement-period-presets { display: flex; flex-wrap: wrap; gap: .3rem; }
.measurement-period-presets .button { min-height: 30px; padding: .25rem .5rem; font-size: .76rem; }
.measurement-comparison-range [data-comparison-overlap]:empty,
.measurement-comparison-range [data-comparison-range-status]:empty { display: none; }
.measurement-comparison-provenance { display: grid; gap: .4rem; margin-top: .7rem; font-size: .82rem; }
.measurement-comparison-provenance > div { padding: .4rem .6rem; border-left: .25rem solid var(--brand-primary); background: var(--surface-subtle); overflow-wrap: anywhere; }
.measurement-readings { min-width: 0; }
.measurement-readings-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1rem; }
.measurement-readings-heading h2 { margin: 0; }
.measurement-readings-heading label { display: inline-flex; align-items: center; gap: .5rem; }
.measurement-readings-heading select { min-width: 5rem; }
.measurement-readings-table-wrap { max-width: 100%; overflow-x: auto; }
.measurement-readings-table { width: max-content; min-width: 100%; font-size: .84rem; }
.measurement-readings-table th, .measurement-readings-table td { min-width: 12rem; max-width: 20rem; padding: .4rem .5rem; overflow-wrap: anywhere; vertical-align: top; }
.measurement-readings-table th:first-child { min-width: 15rem; white-space: nowrap; }
.measurement-readings-table thead th { background: var(--surface-subtle); }
.measurement-readings-table thead th small, .measurement-readings-table tbody th small { display: block; color: var(--text-muted); font-size: .72rem; font-weight: 400; }
.measurement-reading-column-name { display: block; overflow-wrap: anywhere; }
.measurement-readings-table td:empty { background: var(--surface-subtle); }
.measurement-readings-table details summary { cursor: pointer; font-variant-numeric: tabular-nums; }
.measurement-readings-table details dl { margin: .45rem 0 0; padding: .45rem; background: var(--surface-subtle); font-size: .75rem; }
.measurement-readings-table details dl div { margin-bottom: .3rem; }
.measurement-readings-table details dt { color: var(--text-muted); font-weight: 600; }
.measurement-readings-table details dd { margin: 0; overflow-wrap: anywhere; }
.import-failure-reason { display: block; margin-top: .25rem; overflow-wrap: anywhere; }
.measurement-readings-table details details { margin-top: .45rem; border-top: 1px solid var(--border); padding-top: .35rem; }
.shared-pagination[hidden], .measurement-readings-table-wrap[hidden] { display: none; }
.measurement-insights { min-width: 0; padding: .8rem; position: sticky; top: 1rem; }
.measurement-insights-heading { display: flex; align-items: center; justify-content: space-between; gap: .3rem; }
.measurement-insights-heading h2 { margin: 0; font-size: 1rem; }
.measurement-insights [data-insights-body][hidden], .measurement-insights [data-insights-summary][hidden], .measurement-insights [data-insights-awaiting][hidden] { display: none; }
.measurement-insights.is-collapsed { padding: .4rem; }
.measurement-insights.is-collapsed h2 { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.measurement-insights-summary { display: grid; gap: .45rem; margin: .7rem 0; font-size: .82rem; }
.measurement-insights-summary dt { color: var(--text-muted); font-weight: 600; }
.measurement-insights-summary dd { margin: .15rem 0 0; overflow-wrap: anywhere; }
.measurement-insights-series { display: grid; gap: .55rem; }
.measurement-insights-series section { padding: .5rem .6rem; border-left: .25rem solid var(--chart-series-1); background: var(--surface-subtle); min-width: 0; }
.measurement-insights-series section:nth-child(5n+2) { border-left-color: var(--chart-series-2); }
.measurement-insights-series section:nth-child(5n+3) { border-left-color: var(--chart-series-3); }
.measurement-insights-series section:nth-child(5n+4) { border-left-color: var(--chart-series-4); }
.measurement-insights-series section:nth-child(5n+5) { border-left-color: var(--chart-series-5); }
.measurement-insights-series h3 { margin: 0 0 .25rem; font-size: .86rem; overflow-wrap: anywhere; }
.measurement-insights-series p { margin: 0; font-size: .78rem; color: var(--text-muted); overflow-wrap: anywhere; }
.measurement-evidence-details { margin-top: .8rem; border-top: 1px solid var(--border); padding-top: .6rem; font-size: .82rem; }
.measurement-evidence-details summary { cursor: pointer; font-weight: 600; }
.measurement-evidence-details .measurement-metadata { margin-top: .7rem; }
.measurement-chart.is-multi { height: clamp(34rem, 70vh, 52rem); }
.measurement-chart-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem; min-width: 0; margin: .45rem 0; }
.measurement-chart-actions label { font-size: .8rem; white-space: nowrap; }
.measurement-chart-actions select { max-width: 100%; min-height: 36px; }
.measurement-chart-actions [data-view-status] { flex-basis: 100%; margin: .1rem 0 0; font-size: .8rem; }
.measurement-coverage { font-size: .8rem; margin: .3rem 0 0; }
.measurement-range-note { font-size: .8rem; color: var(--text-muted); margin: -.45rem 0 .65rem; }
.measurement-presets { display: flex; flex-wrap: wrap; gap: .3rem; margin: .8rem 0; }
.measurement-presets a { min-height: 36px; display: inline-flex; align-items: center; padding: .3rem .7rem; border: 1px solid var(--border); border-radius: var(--radius-small); color: var(--text); text-decoration: none; font-size: .8rem; }
.measurement-presets a:hover, .measurement-presets a.selected { border-color: var(--brand-primary); background: var(--brand-highlight); color: var(--brand-ink); }
.measurement-custom-range { margin: .3rem 0 .7rem; font-size: .8rem; }
.measurement-custom-range summary, .measurement-inspector summary { cursor: pointer; min-height: 36px; }
.measurement-inspector { min-width: 0; padding: 1rem; }
.measurement-inspector[open] summary { margin-bottom: 1rem; }
.measurement-metadata { display: grid; grid-template-columns: 1fr; gap: .6rem; font-size: .83rem; }
.measurement-metadata > div { min-width: 0; overflow-wrap: anywhere; }
.measurement-metadata dt { font-weight: 600; color: var(--text-muted); }
.measurement-metadata dd { margin: .2rem 0 0; }
.measurement-window-form { display: flex; flex-wrap: wrap; align-items: end; gap: .75rem; }
.measurement-window-form > .measurement-range-note { flex-basis: 100%; margin: 0; }
.measurement-date-time-pair { display: grid; grid-template-columns: minmax(10rem, 1.4fr) minmax(9rem, 1fr); gap: .6rem; min-width: 0; margin: 0; padding: .5rem .75rem .75rem; border: 1px solid var(--border); border-radius: var(--radius-small); }
.measurement-date-time-pair legend { padding: 0 .25rem; font-weight: 600; }
.measurement-date-time-pair > div { display: grid; gap: .3rem; min-width: 0; }
.measurement-window-form input { max-width: 100%; }
.measurement-chart { width: 100%; max-width: 100%; min-width: 0; height: clamp(28rem, 57vh, 37rem); overflow: hidden; }
.measurement-chart-placeholder { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .75rem; color: var(--text-muted); text-align: center; border: 1px dashed var(--border); border-radius: var(--radius); }
.measurement-chart-placeholder i { font-size: 2rem; }
.measurement-chart-placeholder p { max-width: 30rem; margin: 0 1rem; }
.measurement-chart-status { min-height: 1.5rem; color: var(--text-muted); }
.measurement-chart-status:empty { display: none; }
.measurement-analysis.is-maximized .measurement-stage { position: fixed; z-index: 75; inset: .75rem; display: flex; flex-direction: column; overflow: auto; box-shadow: var(--shadow); }
.measurement-analysis.is-maximized .measurement-chart { flex: 1 1 auto; height: auto; min-height: 14rem; }
body:has(.measurement-analysis.is-maximized) { overflow: hidden; }
@media (max-width: 1050px) { .measurement-chart-view, .measurement-chart-view:has(.measurement-insights.is-collapsed) { grid-template-columns: minmax(0, 1fr); } .measurement-insights { position: static; } }
@media (max-width: 800px) { .measurement-comparison-range { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 640px) {
    .measurement-engagement { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
    .measurement-engagement label { grid-column: 1 / -1; }
    .measurement-engagement select { width: 100%; }
    .measurement-choice { flex-direction: column; }
    .measurement-choice-row { flex-direction: column; }
    .measurement-choice-row > button { align-self: flex-start; }
    .measurement-metadata { grid-template-columns: 1fr; }
    .measurement-window-form { display: grid; }
    .measurement-date-time-pair { grid-template-columns: 1fr; }
    .measurement-stage-heading { flex-direction: column; }
    .measurement-chart-actions { width: 100%; justify-content: space-between; }
    .measurement-comparison { grid-template-columns: minmax(0, 1fr); }
    .measurement-comparison [data-comparison-count], .measurement-comparison [data-comparison-list], .measurement-comparison-actions { grid-column: 1; grid-row: auto; }
    .measurement-picker-popover { width: 100vw; padding: .85rem 1rem 1.5rem; }
    .measurement-drawer-footer { margin-inline: -1rem; padding-inline: 1rem; }
    .measurement-tag-picker { flex: 1 1 100%; }
    .measurement-chart { height: 24rem; }
    .measurement-analysis.is-maximized .measurement-stage { inset: .25rem; }
}
@media (max-width: 360px) {
    .measurement-engagement { display: flex; }
}
.import-dashboard-actions [aria-disabled="true"] { opacity: .65; cursor: wait; }
.alarm-events-table { table-layout: fixed; width: 100%; }
.alarm-events-table td, .alarm-events-table th { overflow-wrap: anywhere; vertical-align: top; }
.alarm-events-table .alarm-event-text { min-width: 12rem; }
.alarm-event-source { min-width: 0; }
.alarm-source-ellipsis { display: block; max-width: 100%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.alarm-details-toggle { min-height: 34px; max-width: 100%; padding: .3rem .55rem; font-size: .8rem; white-space: normal; }
.alarm-events-table .alarm-details-cell { min-width: 0; padding: 1rem; background: var(--surface-subtle); }
.alarm-details-panel { min-width: 0; }
.alarm-details-panel h3 { margin-bottom: .9rem; }
.alarm-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem 1.5rem; margin: 0; }
.alarm-detail-grid > div { min-width: 0; }
.alarm-detail-grid dt { color: var(--text-muted); font-size: .78rem; font-weight: 600; }
.alarm-detail-grid dd { min-width: 0; margin: .15rem 0 0; overflow-wrap: anywhere; }
.alarm-detail-grid .alarm-detail-full { grid-column: 1 / -1; }
.alarm-advanced-details { min-width: 0; margin-top: 1rem; border-top: 1px solid var(--border); padding-top: .65rem; }
.alarm-advanced-details > summary { cursor: pointer; font-weight: 600; }
.alarm-advanced-details .alarm-detail-grid { margin-top: .85rem; }
.alarm-advanced-details h4 { margin: 1rem 0 .4rem; }
.alarm-json-scroll { max-width: 100%; overflow-x: auto; border: 1px solid var(--border); border-radius: var(--radius-small); background: var(--surface); }
.alarm-json-scroll pre { width: max-content; max-width: none; margin: 0; padding: .65rem; white-space: pre; }
.evidence-mobile-label { display: none; }
.investigation-filters, .investigation-searches, .investigation-period { display: grid; gap: .6rem; }
.investigation-filters { grid-template-columns: minmax(13rem, 1fr); }
.investigation-filters > div, .investigation-period > div, .investigation-searches > div { min-width: 0; }
.investigation-filters label, .investigation-period label, .investigation-searches label { display: block; font-size: .82rem; font-weight: 600; }
.investigation-filters input, .investigation-filters select { width: 100%; min-width: 0; }
.investigation-period { grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: .6rem; border: 1px solid var(--border); border-radius: var(--radius-small); }
.investigation-period legend { padding: 0 .3rem; font-weight: 600; }
.investigation-period > p { grid-column: 1 / -1; }
.investigation-searches { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.investigation-section { min-width: 0; }
.inv-layout { container-type: inline-size; }
.inv-period-actions { margin: 0; }
@media (max-width: 440px) { .inv-period-actions { flex-direction: column; align-items: stretch; } }
.inv-columns { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; align-items: start; }
.inv-chart-column, .inv-evidence { min-width: 0; }
@container (min-width: 1180px) { .inv-columns { grid-template-columns: minmax(0, 2fr) minmax(20rem, 1fr); } }
.inv-evidence-tabs { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: .7rem; }
.inv-evidence-tabs a { padding: .6rem; border: 1px solid var(--border); border-radius: var(--radius-small); text-decoration: none; }
.inv-evidence-tabs a[aria-current] { background: var(--surface-subtle); font-weight: 700; border-color: var(--brand-accent); }
.inv-evidence-list { max-height: 34rem; overflow-y: auto; overscroll-behavior: contain; }
.inv-evidence-row { padding: .7rem .3rem; border-bottom: 1px solid var(--border); overflow-wrap: anywhere; }
.inv-evidence-row time, .inv-evidence-row strong { display: block; }
.inv-evidence-row p { margin: .3rem 0; }
.inv-evidence-text { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.inv-evidence .investigation-actions { gap: .4rem; }
.inv-evidence .investigation-actions select { width: auto; }
.inv-readings-section:not(:has(#investigation-readings > *)):not(:has([data-readings-feedback]:not(:empty))) { display: none; }
.inv-readings-section { grid-column: 1 / -1; }
#investigation-readings, [data-readings-feedback] { scroll-margin-top: 1rem; }
.inv-dialog { color: var(--text); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius);
    width: min(48rem, calc(100vw - 2rem)); max-width: calc(100vw - 2rem); max-height: 85dvh; padding: 1rem; overflow: auto; overscroll-behavior: contain; }
.inv-dialog::backdrop { background: rgb(0 0 0 / .5); }
.inv-dialog p, .inv-dialog dd, .inv-dialog h3 { overflow-wrap: anywhere; }
.inv-dialog [data-close-picker], .inv-dialog [data-close-inspector] { position: sticky; top: 0; z-index: 1; background: var(--surface); }
.inv-picker-search { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; }
.inv-picker-search label { flex-basis: 100%; }
.inv-picker-search input[type="search"] { flex: 1 1 16rem; width: 100%; min-width: 0; }
.inv-picker-search button { flex: 0 1 auto; max-width: 100%; overflow-wrap: anywhere; }
.inv-raw { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 24rem; overflow: auto; font-size: .8rem; }
.investigation-chart { min-width: 0; overflow-wrap: anywhere; }
.investigation-chart-slots { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
.investigation-chart-slot { min-width: 0; padding: .7rem; border: 1px solid var(--border); border-radius: var(--radius-small); background: var(--surface-subtle); }
.investigation-chart-slot h3, .investigation-chart-slot p { margin: .3rem 0; }
.inv-selection-chip { display: flex; align-items: center; gap: .4rem; min-width: 0; padding: .25rem .4rem .25rem .6rem; border: 1px solid var(--border); border-radius: var(--radius-small); background: var(--surface); }
.inv-selection-chip strong { min-width: 0; flex: 1; overflow-wrap: anywhere; }
.inv-slot-remove { width: 32px; height: 32px; min-height: 32px; }
.investigation-chart-slot summary { cursor: pointer; }
.investigation-chart .investigation-actions select { width: auto; max-width: 100%; }
.investigation-chart .measurement-chart { height: clamp(25rem, 58vh, 38rem); }
@media (max-width: 700px) { .investigation-chart-slots { grid-template-columns: minmax(0, 1fr); } }
.investigation-section h2, .investigation-section h3 { margin-bottom: .55rem; }
.investigation-section h3 { margin-top: 1rem; }
.investigation-tag-list, .investigation-records { display: grid; gap: .55rem; margin: .8rem 0; }
.investigation-tag-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.investigation-tag-list a, .investigation-record, .investigation-selection { min-width: 0; padding: .7rem .85rem; border: 1px solid var(--border); border-radius: var(--radius-small); background: var(--surface-subtle); overflow-wrap: anywhere; }
.investigation-tag-list a { display: grid; gap: .2rem; }
.investigation-tag-list a[aria-current="true"] { border-color: var(--brand-accent); }
.investigation-records { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.investigation-record p { margin: .35rem 0; overflow-wrap: anywhere; }
.investigation-record-head, .investigation-actions, .investigation-paging { display: flex; flex-wrap: wrap; gap: .4rem 1rem; align-items: center; }
.investigation-record-head { font-weight: 600; }
.investigation-actions, .investigation-paging { margin: .8rem 0; }
.investigation-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem .8rem; margin: .65rem 0; }
.investigation-facts > div { min-width: 0; }
.investigation-facts dt { font-size: .78rem; font-weight: 600; color: var(--text-muted); }
.investigation-facts dd { margin: 0; overflow-wrap: anywhere; }
.investigation-record details { margin-top: .5rem; }
.investigation-record summary { cursor: pointer; }
.investigation-time-context { margin: .35rem 0 .7rem; font-size: .88rem; }
@media (max-width: 760px) {
    .investigation-period { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .investigation-searches, .investigation-tag-list, .investigation-records { grid-template-columns: minmax(0, 1fr); }
    .investigation-facts { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 440px) { .investigation-period { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 760px) {
    .alarm-events-table { table-layout: auto; }
    .alarm-detail-grid { grid-template-columns: minmax(0, 1fr); }
    .evidence-results-wrap { overflow: visible; }
    .evidence-records-table, .evidence-records-table tbody { display: block; width: 100%; min-width: 0; }
    .evidence-records-table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
    .evidence-records-table .evidence-entry, .evidence-records-table .evidence-detail-row { display: block; width: 100%; min-width: 0; }
    .evidence-records-table .evidence-entry { margin: 0 0 .75rem; padding: .45rem 0; border: 1px solid var(--border); border-radius: var(--radius-small); background: var(--surface); }
    .evidence-records-table .evidence-entry:has(+ .evidence-detail-row:not([hidden])) { margin-bottom: 0; border-radius: var(--radius-small) var(--radius-small) 0 0; }
    .evidence-records-table .evidence-detail-row:not([hidden]) { margin: 0 0 .75rem; border: 1px solid var(--border); border-top: 0; border-radius: 0 0 var(--radius-small) var(--radius-small); }
    .evidence-records-table .evidence-entry > td, .evidence-records-table .evidence-detail-row > td { display: block; width: 100%; min-width: 0; overflow-wrap: anywhere; }
    .evidence-records-table .evidence-entry > td { padding: .25rem .75rem; }
    .evidence-records-table .evidence-entry > td:last-child { padding-top: .5rem; }
    .evidence-records-table .evidence-entry > td:last-child a { display: inline-flex; align-items: center; min-height: 44px; }
    .evidence-records-table .alarm-event-text { min-width: 0; }
    .evidence-records-table .alarm-source-ellipsis { white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; }
    .evidence-records-table .alarm-details-cell { padding: .75rem; }
    .evidence-mobile-label { display: block; color: var(--text-muted); font-size: .78rem; font-weight: 600; }
}
.alarm-definition-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem 1.5rem; }
.alarm-definition-grid > div { min-width: 0; overflow-wrap: anywhere; }
.alarm-definition-grid dt { color: var(--text-muted); font-size: .875rem; }
.alarm-definition-grid dd { margin: .2rem 0 0; }
.alarm-definition-text { min-width: 18rem; overflow-wrap: anywhere; }
.alarm-definition-raw { max-width: 100%; overflow-x: auto; }
.alarm-definition-raw pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.alarm-definition-preview { max-height: 28rem; overflow: auto; }
.alarm-definition-conflict { border-top: 1px solid var(--border, #d0d5dd); padding: .75rem 0; overflow-wrap: anywhere; }
@media (max-width: 760px) { .alarm-definition-grid { grid-template-columns: minmax(0, 1fr); } }

/* Shared pagination; table layouts remain independent. */
.shared-pagination { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin-block: .75rem; }
.shared-pagination > span[aria-current] { text-align: center; overflow-wrap: anywhere; }
.shared-pagination [aria-disabled="true"] { color: var(--text-muted); cursor: default; opacity: .7; }
.pagination-summary { color: var(--text-muted); margin-block: .5rem; }
.page-size-input { min-width: 0; }
.page-size-input label { display: block; }
.page-size-input select { width: 100%; }
@media (max-width: 480px) {
    .shared-pagination { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: .4rem; }
    .shared-pagination .button { white-space: normal; text-align: center; min-width: 0; padding-inline: .5rem; overflow-wrap: anywhere; }
}

/* Shared analysis context uses the existing theme tokens and wraps long source labels. */
.analysis-context { margin-block: .75rem; padding: .65rem 1rem; border: 1px solid var(--border); border-radius: .5rem; overflow-wrap: anywhere; }
.analysis-context summary { cursor: pointer; font-weight: 600; }
.analysis-context nav, .analysis-links { display: flex; flex-wrap: wrap; gap: .65rem 1.25rem; margin-block: .5rem; }
.discovery-metadata { display: block; font-size: .85rem; overflow-wrap: anywhere; }
@media (max-width: 600px) { .analysis-context summary span { display: block; } .analysis-context nav { flex-direction: column; } }
/* UX.8 output stays local and opt-in. The print document has its own light stylesheet. */
.output-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.6rem; margin:.6rem 0; }
.output-actions[hidden] { display:none; }
.output-actions [role="status"] { overflow-wrap:anywhere; }
.output-dialog { width:min(68rem, calc(100vw - 2rem)); max-width:calc(100vw - 2rem); max-height:calc(100dvh - 2rem); overflow:auto;
    padding:1.25rem; border:1px solid var(--border); border-radius:.6rem; color:var(--text); background:var(--surface); }
.output-dialog::backdrop { background:rgb(0 0 0 / .55); }
.output-dialog p { overflow-wrap:anywhere; }
.output-preview { display:block; width:100%; height:auto; background:white; }
.output-preview[hidden] { display:none; }
.output-dialog .output-actions { position:sticky; bottom:0; padding:.5rem 0; background:var(--surface); }
.measurement-readings-table .measurement-print-source { display: none; }
.audit-event dd, .audit-changes li { overflow-wrap: anywhere; }
