/* Coverad 0.16.2: consolidated baseline + focused Review and Export experience.
   Tokens live in :root. Responsive and functional rules retain cascade order.
   Rebuild: scripts/consolidate_styles_0160.js. See docs/design/0.16.0. */
:root { color-scheme: light dark; --red-soft: #fff3f4; --green-soft: #effaf4; --amber-soft: #fff6e8; --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-5: 24px; --space-6: 32px; --space-7: 40px; --text-xs: 0.75rem; --text-sm: 0.875rem; --text-base: 1rem; --text-section: 1.125rem; font-family: var(--font); --paper: #f6f5f2; --paper-warm: #f6f5f2; --panel: #fff; --on-brand: #fff; --panel-raised: #fafafa; --line-danger: #efb5b8; --line-warning: #f0d0a1; --line-success: #b8dfc9; --red-tint: #fffafa; --amber-tint: #fff8e9; --green-tint: #f2fbf6; --panel-bar: #f7f6f3; --focus-border: #405e74; --panel-soft: #eeefea; --ink: #30332d; --ink-strong: #252624; --muted: #62665f; --subtle: #72776e; --line: #e3e2dd; --line-strong: #cfd2c8; --brand: #c81720; --brand-dark: #a51018; --success: #217144; --warning: #8a5600; --danger: #b01820; --selection: #e9ebe5; --focus-ring: rgb(43 85 130 / 35%); --shadow: 0 2px 6px rgb(0 0 0 / 6%); --shadow-soft: 0 1px 3px rgb(0 0 0 / 4%); --sidebar: 200px; --font: -apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Segoe UI",sans-serif; --text-page: 1.875rem; --radius: 10px; --radius-sm: 8px; --tap: 44px; --text-project: 1.5rem; --text-dimension: 1.875rem; --motion: 160ms; }
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { min-height: 100%; background: var(--paper); }
body { margin: 0px; min-height: 100vh; overflow-x: hidden; background: var(--paper); color: var(--ink); font-family: var(--font); letter-spacing: 0px; line-height: 1.5; }
button, input, select, textarea { font: inherit; }
button, a, summary, label.photo-upload { -webkit-tap-highlight-color: transparent; }
button { border: 0px; border-radius: var(--radius-sm); cursor: pointer; }
button:disabled, a[aria-disabled="true"] { cursor: not-allowed; opacity: 0.48; }
input, select { width: 100%; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--panel); color: var(--ink); outline: none; min-height: 48px; padding: 12px; font-size: 16px; }
textarea { width: 100%; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--panel); color: var(--ink); outline: none; }
textarea { resize: vertical; min-height: 48px; padding: 12px; font-size: 16px; }
input:focus, select:focus, textarea:focus { outline: 3px solid var(--focus-ring); outline-offset: 2px; border-color: var(--focus-border); }
button:focus-visible, summary:focus-visible, a:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 2px; border-color: var(--brand); }
a { color: inherit; text-decoration: none; }
h1, h2, h3, p { margin: 0px; }
h1, h2, h3, strong { color: var(--ink-strong); }
.is-hidden, .soft-hidden { display: none !important; }
.app-shell { width: 100%; max-width: none; margin: 0px; padding: 0px; }
.topbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; max-width: 1180px; margin: 0px auto; padding: 18px 18px 10px; }
body.app-active .topbar { display: none; }
.brand-lockup { display: flex; align-items: center; gap: 14px; min-width: 0px; }
.brand-logo { width: min(180px, 42vw); height: auto; object-fit: contain; }
.eyebrow, .row-kicker, .screen-meta, .field-label { color: var(--muted); font-size: 0.78rem; text-transform: none; font-weight: 500; letter-spacing: 0px; }
.topbar h1 { font-size: 2rem; line-height: 1; }
.view { width: 100%; }
.primary-button, .secondary-button, .danger-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: var(--tap); border-radius: var(--radius-sm); border: 1px solid var(--line); padding: 10px 16px; line-height: 1.15; transition: background 0.16s, border-color 0.16s, transform 0.16s, box-shadow 0.16s; }
.mini-button, .compact-action { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: var(--radius-sm); border: 1px solid var(--line); line-height: 1.15; transition: background 0.16s, border-color 0.16s, transform 0.16s, box-shadow 0.16s; }
.photo-upload, .table-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: var(--radius-sm); border: 1px solid var(--line); padding: 10px 16px; line-height: 1.15; transition: background 0.16s, border-color 0.16s, transform 0.16s, box-shadow 0.16s; }
.export-action-card { justify-content: center; border: 1px solid var(--line); line-height: 1.15; transition: background 0.16s, border-color 0.16s, transform 0.16s, box-shadow 0.16s; }
.primary-button { color: var(--on-brand); font-weight: 550; box-shadow: none; background: var(--brand); border-color: var(--brand); }
.primary-button:hover { background: var(--brand-dark); border-color: var(--brand-dark); }
.secondary-button { background: var(--panel); color: var(--ink); font-weight: 550; box-shadow: none; }
.mini-button, .table-button, .photo-upload { background: var(--panel); color: var(--ink); }
.secondary-button:hover, .mini-button:hover, .table-button:hover, .photo-upload:hover, .export-action-card:hover { border-color: var(--line-strong); box-shadow: var(--shadow-soft); }
.danger-button { background: var(--red-tint); border-color: var(--line-danger); color: var(--danger); font-weight: 550; box-shadow: none; }
.danger-text { color: var(--danger) !important; }
.compact-action { padding: 9px 14px; font-weight: 550; box-shadow: none; min-height: 44px; }
.mini-button { padding: 8px 12px; font-size: 0.92rem; font-weight: 550; box-shadow: none; min-height: 44px; }
.icon-action { width: 38px; min-width: 38px; padding: 0px; }
.status-pill, .stat-pill { display: inline-flex; align-items: center; justify-content: center; min-height: 32px; border-radius: 999px; padding: 6px 12px; background: var(--panel-soft); color: var(--ink); font-weight: 600; white-space: nowrap; }
.ready-pill { display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; color: var(--ink); }
.mode-pill, .type-pill { display: inline-flex; align-items: center; justify-content: center; min-height: 32px; border-radius: 999px; padding: 6px 12px; background: var(--panel-soft); color: var(--ink); font-weight: 600; white-space: nowrap; }
.status-pill.is-online, .ready-pill.is-ready, .is-ready-text { background: var(--green-soft); color: var(--success); }
.status-pill.is-offline, .ready-pill.is-warning, .is-warning-text { background: var(--amber-soft); color: var(--warning); }
.status-pill.is-conflict, .ready-pill.is-conflict, .ready-pill.is-danger { background: var(--red-soft); color: var(--danger); }
.meta-line { color: var(--muted); font-size: 14px; line-height: 1.5; }
.empty-state, .setup-hint { color: var(--muted); font-size: 0.96rem; line-height: 1.35; }
.empty-state { text-align: center; }
.debug-output { display: block; min-height: 52px; margin: 10px 0px 0px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--panel-raised); color: var(--ink); padding: 12px; white-space: pre-wrap; overflow: auto; }
.debug-output:empty { display: none; }
.dimension-safety-note { align-content: center; min-height: 68px; padding: 10px 12px; border-left: 4px solid var(--brand); border-radius: var(--radius-sm); background: var(--panel-raised); }
.dimension-safety-note span, .dimension-safety-note strong, .dimension-safety-note small { display: block; }
.dimension-safety-note span { color: var(--muted); font-size: 0.75rem; font-weight: 600; text-transform: uppercase; }
.dimension-safety-note strong { margin-top: 2px; color: var(--ink); }
.dimension-safety-note small { margin-top: 2px; color: var(--muted); }
.login-feedback:not(:empty) { min-height: 0px; overflow: visible; border-radius: var(--radius-sm); padding: 10px 12px; font-family: inherit; font-size: 0.92rem; font-weight: 600; line-height: 1.35; }
.login-feedback.is-neutral:not(:empty) { border-color: var(--line-strong); background: var(--panel-soft); color: var(--ink); }
.login-feedback.is-error:not(:empty) { border-color: rgba(237, 28, 36, 0.26); background: var(--red-soft); color: var(--danger); }
.panel { background: var(--panel); border: 1px solid var(--line); }
.form-grid, .admin-user-grid, .optional-field-grid, .review-grid, .overview-grid { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 12px; }
.field { display: flex; min-width: 0px; flex-direction: column; gap: 6px; }
.field.full, .review-field.full { grid-column: 1 / -1; }
.field label, .review-field span, .sidecar-tile span { color: var(--muted); font-size: 0.82rem; font-weight: 600; }
.review-field { min-width: 0px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--panel); padding: 12px; }
.sidecar-tile { min-width: 0px; border: 1px solid var(--line); border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-radius: 0px; background: transparent; padding: 16px; border-bottom: 1px solid var(--line); }
.review-field strong, .sidecar-tile strong { display: block; margin-top: 5px; overflow-wrap: anywhere; }
.split-actions, .screen-toolbar-actions, .site-pack-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.photo-upload { position: relative; overflow: hidden; }
.photo-upload input[type="file"] { position: absolute; inset: 0px; cursor: pointer; opacity: 0; }
.login-shell { display: grid; grid-template-columns: minmax(0px, 520px) minmax(260px, 1fr); gap: 16px; max-width: 900px; margin: 28px auto; padding: 12px; }
.login-card { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); padding: 20px; }
.login-assurance-panel { border: 1px solid var(--line); border-radius: var(--radius); padding: 20px; }
.login-hero { margin-bottom: 24px; }
.login-hero h2 { line-height: 1.02; font-size: 30px; font-weight: 650; margin: 8px 0px; }
.login-assurance-panel { display: grid; align-content: center; gap: 4px; box-shadow: none; background: color-mix(in srgb, var(--paper) 76%, white); }
.login-assurance-panel div { border-bottom: 1px solid var(--line); padding: 11px 0px; }
.login-assurance-panel span { display: block; color: var(--muted); font-size: 0.82rem; font-weight: 600; }
.password-entry { position: relative; display: flex; align-items: center; }
.password-entry input { flex: 1 1 0%; padding-right: 72px; }
.password-toggle { position: absolute; right: 6px; min-height: 36px; padding: 6px 10px; border: 0px; background: transparent; color: var(--muted); font-weight: 600; }
.password-toggle:focus-visible { outline: 2px solid var(--brand); outline-offset: 1px; border-radius: 6px; }
.archive-status-line { margin: 6px 0px 0px; color: var(--muted); font-size: 0.82rem; font-weight: 600; }
.project-card.is-local-archived .archive-status-line { color: var(--success); }
.app-layout { grid-template-rows: minmax(0px, 1fr) auto; min-height: 100vh; }
.premium-app-shell { width: 100%; }
.app-main-workspace { min-width: 0px; width: 100%; margin: 0px auto; }
.touch-appbar { position: sticky; top: 0px; grid-template-columns: auto minmax(0px, 1fr) auto; gap: 10px; align-items: center; padding: calc(env(safe-area-inset-top) + 8px) 14px 8px; border-bottom: 1px solid var(--line); }
.touch-brand { min-height: 44px; padding: 0px; background: transparent; }
.touch-brand img { display: block; width: 130px; height: auto; }
.touch-context { min-width: 0px; }
.touch-context strong, .touch-context span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.touch-context span { color: var(--muted); }
.compact-status-control { justify-items: center; gap: 1px; min-width: 92px; min-height: 44px; border: 1px solid var(--line); border-radius: 999px; background: var(--panel); padding: 5px 12px; display: none !important; }
.compact-status-control span { color: var(--muted); font-size: 0.72rem; }
.compact-status-control strong { font-size: 0.82rem; }
.account-signout { min-height: 44px; background: transparent; }
.compact-status-control.is-ready { border-color: var(--line-success); background: var(--green-soft); }
.compact-status-control.is-warning { border-color: var(--line-warning); background: var(--amber-soft); }
.compact-status-control.is-conflict { border-color: var(--line-danger); background: var(--red-soft); }
.durability-strip { display: grid; grid-template-columns: repeat(4, minmax(112px, auto)) minmax(180px, 1fr) auto; align-items: center; gap: 0px; min-height: 34px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--panel); font-size: 0.8rem; }
.data-safety-item { display: grid; align-content: center; gap: 1px; min-height: 46px; border-right: 1px solid var(--line); padding: 6px 10px; }
.data-safety-item b { color: var(--muted); font-size: 0.66rem; font-weight: 600; letter-spacing: 0px; text-transform: uppercase; }
.data-safety-item strong { color: var(--ink); font-size: 0.79rem; line-height: 1.2; }
.data-safety-item.is-local strong, .durability-strip:not(.is-error) .data-safety-item:not(.is-alert) strong { color: var(--green); }
.data-safety-item.is-alert strong { color: rgb(153, 91, 0); }
.durability-detail { color: var(--muted); padding: 6px 10px; line-height: 1.25; }
.durability-strip.is-warning { border-color: var(--line-warning); background: var(--amber-soft); }
.durability-strip.is-warning i { background: rgb(183, 109, 0); }
.durability-strip.is-error { border-color: var(--line-danger); background: var(--red-soft); }
.durability-strip.is-error i { background: var(--red); }
.storage-pressure-banner { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-width: 1px 1px 1px 4px; border-style: solid; border-color: var(--line-warning) var(--line-warning) var(--line-warning) rgb(183, 109, 0); border-image: none; border-radius: var(--radius-sm); background: var(--amber-soft); padding: 11px 13px; }
.storage-pressure-banner > div { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.storage-pressure-banner span { color: var(--muted); }
.storage-pressure-banner.is-critical { border-top-color: var(--line-danger); border-right-color: var(--line-danger); border-bottom-color: var(--line-danger); border-left-color: var(--red); background: var(--red-soft); }
@media (max-width: 700px) { .durability-strip { grid-template-columns: repeat(2, minmax(0px, 1fr)); align-items: stretch; margin: 0px 10px 8px; }
.data-safety-item:nth-child(2) { border-right: 0px; }
.data-safety-item:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
.data-safety-item:nth-child(4) { border-right: 0px; }
.durability-detail, .durability-strip > button { grid-column: 1 / -1; }
.durability-detail { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.durability-strip > button { margin: 0px 10px 8px; }
.storage-pressure-banner { align-items: stretch; flex-direction: column; }
.storage-pressure-banner > div:last-child { display: grid; grid-template-columns: 1fr 1fr; }
}
.screen-header { display: grid; grid-template-columns: minmax(0px, 1fr) auto; gap: 16px; align-items: end; margin-bottom: 24px; }
.project-overview-shell .screen-header { grid-template-columns: 1fr; align-items: start; }
.project-overview-shell .screen-header-actions { justify-content: flex-start; }
.screen-title-block { min-width: 0px; }
.screen-title-block h2 { max-width: 100%; overflow-wrap: anywhere; font-size: var(--text-page); }
.screen-header-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.command-more-menu, .card-overflow-menu, .mobile-more-menu { position: relative; }
.command-more-menu > summary, .card-overflow-menu > summary, .mobile-more-menu > summary { list-style: none; cursor: pointer; }
.command-more-menu > summary::-webkit-details-marker, .card-overflow-menu > summary::-webkit-details-marker, .mobile-more-menu > summary::-webkit-details-marker { display: none; }
.mobile-more-menu > summary { display: flex; align-items: center; justify-content: center; width: 100%; }
.command-more-menu:not([open]) .command-more-panel, .card-overflow-menu:not([open]) .overflow-menu-panel, .mobile-more-menu:not([open]) .mobile-more-sheet { display: none; }
.command-more-panel, .overflow-menu-panel { position: absolute; right: 0px; z-index: 80; display: grid; gap: 6px; margin-top: 8px; border: 1px solid var(--line); background: var(--panel); }
.mobile-more-sheet { position: absolute; right: 0px; z-index: 80; display: grid; gap: 6px; border: 1px solid var(--line); background: var(--panel); }
.command-more-panel button, .overflow-menu-panel button, .mobile-more-sheet button { justify-content: flex-start; width: 100%; background: transparent; color: var(--ink); padding: 9px 10px; }
.command-more-panel button:hover, .overflow-menu-panel button:hover, .mobile-more-sheet button:hover { background: var(--panel-soft); }
.mobile-bottom-nav { bottom: 0px; grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 6px; padding: 8px 10px calc(env(safe-area-inset-bottom) + 8px); border-top: 1px solid var(--line); }
.app-area-tab { border: 1px solid transparent; background: transparent; color: var(--muted); font-weight: 600; }
.projects-workspace { display: grid; }
.project-overview, .survey-content { display: grid; gap: 14px; }
.review-workspace { display: grid; }
.export-panel, .import-panel, .settings-workspace { display: grid; gap: 14px; }
.projects-command-row { display: grid; grid-template-columns: auto minmax(260px, 1fr); gap: 12px; align-items: center; }
.hero-primary { min-width: 150px; }
.project-search-field { display: grid; gap: 6px; min-width: 0px; }
.project-search-field span { color: var(--muted); font-size: 0.82rem; font-weight: 600; }
.project-search-field input { width: 100%; min-width: 0px; }
.overview-section, .admin-users-panel, .project-access-panel, .revision-locked-panel, .archived-reload-panel, .export-panel, .import-panel { padding: 16px; }
.project-status-section, .overview-section { border: 1px solid var(--line); background: var(--panel); }
.status-section-heading, .export-panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 12px; }
.settings-card-heading { display: flex; justify-content: space-between; gap: 14px; }
.project-home-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 12px; }
.status-section-heading h3 { line-height: 1.1; }
.overview-section h3, .settings-card h2, .export-panel h2, .import-panel h2 { font-size: 1.15rem; line-height: 1.1; }
.compact-filter-bar { display: flex; gap: 8px; overflow-x: auto; padding: 2px 0px 6px; scrollbar-width: none; }
.compact-filter-bar::-webkit-scrollbar { display: none; }
.project-status-tab { display: inline-flex; align-items: center; justify-content: space-between; gap: 10px; border: 1px solid var(--line); color: var(--ink); }
.project-status-tab small { display: none; }
.project-status-tab strong { border-radius: 999px; background: var(--panel-soft); display: inline-flex; align-items: center; justify-content: center; }
.project-list { display: grid; gap: 10px; }
.continue-project-grid { display: grid; }
.project-card { position: relative; display: grid; grid-template-columns: minmax(0px, 1fr) auto; gap: 14px; align-items: center; border-left: 4px solid transparent; background: var(--panel); }
.project-card[data-open-project-card] { cursor: pointer; }
.project-card[data-open-project-card]:hover { border-color: var(--line-strong); }
.project-card.status-draft { border-left-color: var(--brand); }
.project-card.status-to-quote { border-left-color: var(--warning); }
.project-card.status-completed, .project-card.status-archived { border-left-color: var(--success); }
.project-card.status-trash, .project-card.status-conflicts { border-left-color: var(--danger); }
.project-card-main { min-width: 0px; }
.project-site-line { color: var(--muted); font-size: 0.88rem; font-weight: 600; }
.project-card h3 { margin-top: 2px; overflow-wrap: anywhere; }
.project-card-stats { display: flex; flex-wrap: wrap; }
.project-card-stats span { color: var(--ink); }
.project-card-controls { display: flex; gap: 8px; align-items: center; }
.card-overflow-menu > summary { display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: 999px; background: var(--panel); color: var(--ink); font-weight: 600; }
.access-conflict-card { background: var(--red-tint); }
.overview-summary-line { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; color: var(--muted); font-weight: 600; }
.survey-summary-line { flex-wrap: wrap; gap: 8px; align-items: center; font-weight: 600; }
.overview-summary-line span, .survey-summary-line span { min-height: 30px; border: 1px solid var(--line); border-radius: 999px; background: var(--panel); padding: 5px 10px; }
.project-dashboard { display: grid; overflow: hidden; border: 1px solid var(--line); background: var(--panel); }
.project-dashboard-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.project-dashboard-heading > div:first-child { display: grid; gap: 4px; min-width: 0px; }
.project-dashboard-heading h3 { line-height: 1.12; }
.quality-score { display: grid; flex: 0 0 154px; min-height: 68px; align-content: center; border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 8px 12px; }
.quality-score strong { font-size: 1.55rem; line-height: 1; }
.quality-score span { margin-top: 4px; color: var(--muted); font-size: 0.78rem; font-weight: 600; }
.quality-score.is-ready { border-color: rgba(23, 122, 70, 0.22); background: var(--green-soft); }
.quality-score.is-warning { border-color: rgba(169, 100, 0, 0.22); background: var(--amber-soft); }
.quality-score.is-error { border-color: rgba(237, 28, 36, 0.22); background: var(--red-soft); }
.quality-progress { display: block; height: 8px; overflow: hidden; margin: 0px 18px; border-radius: 4px; background: var(--panel-soft); }
.quality-progress i { display: block; height: 100%; border-radius: inherit; background: var(--brand); }
.project-dashboard-meta, .project-dashboard-stats, .dashboard-checks { display: grid; margin: 0px 18px; border: 1px solid var(--line); }
.project-dashboard-meta { grid-template-columns: minmax(0px, 1fr) minmax(0px, 1fr) minmax(0px, 1fr) minmax(0px, 1fr) minmax(0px, 1fr); }
.project-dashboard-stats { grid-template-columns: repeat(6, minmax(0px, 1fr)); }
.dashboard-checks { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
.project-dashboard-meta > div, .project-dashboard-stats > div, .dashboard-checks > div { display: grid; min-width: 0px; gap: 4px; padding: 11px 12px; border-right: 1px solid var(--line); }
.project-dashboard-meta > div:last-child, .project-dashboard-stats > div:last-child, .dashboard-checks > div:last-child { border-right: 0px; }
.project-dashboard-meta span, .dashboard-checks span { color: var(--muted); font-size: 0.76rem; font-weight: 600; }
.project-dashboard-meta strong, .dashboard-checks strong { overflow-wrap: anywhere; font-size: 0.92rem; }
.project-dashboard-stats > div { justify-items: center; text-align: center; }
.project-dashboard-stats span { font-size: 0.72rem; font-weight: 600; }
.dashboard-sync-state { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 0px 18px; border-left: 5px solid var(--line-strong); background: var(--panel-soft); padding: 12px 14px; }
.dashboard-sync-state > div:first-child { display: grid; gap: 3px; }
.dashboard-sync-state > div:first-child span { color: var(--muted); font-size: 0.82rem; }
.dashboard-sync-state.is-ready { border-left-color: var(--success); background: var(--green-soft); }
.dashboard-sync-state.is-warning { border-left-color: var(--warning); background: var(--amber-soft); }
.dashboard-sync-state.is-error { border-left-color: var(--brand); background: var(--red-soft); }
.dashboard-sync-counts { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px 12px; color: var(--muted); font-size: 0.78rem; font-weight: 600; }
.quality-attention-list { display: grid; gap: 0px; margin: 0px 18px; border-top: 1px solid var(--line); }
.quality-attention-list h4 { margin: 0px; padding: 11px 0px 7px; font-size: 0.92rem; }
.quality-attention-list > div { display: flex; min-height: 42px; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid var(--line); padding: 7px 0px; font-size: 0.85rem; }
.quality-attention-action { flex: 0 0 auto; min-height: 44px; border: 1px solid var(--line); background: var(--panel); color: var(--brand-dark); padding: 5px 10px; font-size: 0.78rem; font-weight: 600; }
.project-dashboard-actions { display: grid; grid-template-columns: minmax(0px, 1fr) minmax(0px, 1fr) minmax(0px, 1fr) minmax(0px, 1fr) minmax(0px, 1fr); gap: 8px; padding: 0px 18px; }
.project-dashboard-actions button { width: 100%; min-height: 48px; white-space: normal; }
.screen-header-actions .contextual-more-menu > summary { min-height: 44px; }
.quality-disclaimer { border-top: 1px solid var(--line); background: var(--panel-soft); color: var(--muted); padding: 10px 18px; font-size: 0.76rem; }
.project-extra-panel, .project-details, .line-entry-panel, .site-questionnaire-panel { overflow: clip; }
.line-entry-panel.is-editing { scroll-margin-top: 72px; }
.project-extra-panel > summary, .project-details > summary, .schedule-panel > summary, .line-entry-panel > summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: var(--tap); padding: 14px 16px; border-bottom: 1px solid var(--line); cursor: pointer; font-weight: 600; list-style: none; }
.site-questionnaire-panel > summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: var(--tap); border-bottom: 1px solid var(--line); cursor: pointer; font-weight: 600; list-style: none; }
.project-extra-panel > summary::-webkit-details-marker, .project-details > summary::-webkit-details-marker, .schedule-panel > summary::-webkit-details-marker, .line-entry-panel > summary::-webkit-details-marker, .site-questionnaire-panel > summary::-webkit-details-marker { display: none; }
.project-details form, .project-extra-panel > :not(summary), .line-entry-panel form { padding: 14px 16px 16px; }
.site-questionnaire-panel { scroll-margin-top: 72px; box-shadow: none; }
.site-questionnaire-panel > summary { background: var(--panel); }
.site-questionnaire-panel > summary h3 { margin-top: 2px; font-size: 1.12rem; }
.questionnaire-summary-status { display: flex; min-width: 0px; align-items: center; gap: 10px; }
.questionnaire-progress { display: block; width: 92px; height: 7px; overflow: hidden; border-radius: 999px; background: var(--line); }
.questionnaire-progress i { display: block; height: 100%; border-radius: inherit; background: var(--brand); transition: width 0.2s; }
.questionnaire-status-pill.is-ready { border-color: rgba(23, 122, 70, 0.2); background: var(--green-soft); color: var(--success); }
.site-questionnaire-panel > form, .site-questionnaire-panel > .questionnaire-body { padding: 0px; }
.questionnaire-body { display: grid; }
.questionnaire-section { border-bottom: 1px solid var(--line); background: var(--panel); }
.questionnaire-section:last-child { border-bottom: 0px; }
.questionnaire-section > summary { display: flex; min-height: var(--tap); align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; background: var(--panel-soft); cursor: pointer; list-style: none; }
.questionnaire-section > summary::-webkit-details-marker { display: none; }
.questionnaire-section > summary span { color: var(--muted); font-size: 0.82rem; font-weight: 600; }
.questionnaire-section > summary > div { display: grid; gap: 2px; }
.questionnaire-section > summary small { color: var(--muted); font-size: 0.8rem; font-weight: 620; }
.questionnaire-section-grid { padding: 14px 16px 16px; }
.questionnaire-section-grid textarea { min-height: 66px; }
.questionnaire-checkbox { display: flex; min-height: var(--tap); align-items: center; gap: 10px; border: 1px solid var(--line); background: var(--panel); padding: 10px 12px; color: var(--ink); font-weight: 600; }
.questionnaire-checkbox input { width: 21px; min-height: 21px; accent-color: var(--brand); }
.questionnaire-quick-field, .questionnaire-choice-group { min-width: 0px; margin: 0px; border: 0px; padding: 0px; }
.questionnaire-quick-field legend, .questionnaire-choice-group legend { margin-bottom: 7px; color: var(--muted); font-size: 0.83rem; font-weight: 600; }
.questionnaire-quick-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(92px, 1fr)); gap: 6px; }
.questionnaire-quick-option { position: relative; display: block; min-width: 0px; }
.questionnaire-quick-option input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.questionnaire-quick-option span { display: grid; min-height: var(--tap); place-items: center; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--panel); padding: 7px 9px; color: var(--ink); font-size: 0.9rem; font-weight: 600; text-align: center; }
.questionnaire-choice-group { grid-column: 1 / -1; }
.questionnaire-choice-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(138px, 1fr)); gap: 7px; }
.questionnaire-choice-options .questionnaire-checkbox { min-height: 42px; padding: 8px 10px; font-size: 0.9rem; }
.questionnaire-more { border-top: 1px dashed var(--line); background: var(--panel-soft); }
.questionnaire-more > summary { display: flex; min-height: var(--tap); align-items: center; justify-content: space-between; gap: 10px; padding: 10px 16px; color: var(--muted); cursor: pointer; list-style: none; }
.questionnaire-more > summary::-webkit-details-marker { display: none; }
.questionnaire-more > summary strong { color: var(--ink); font-size: 0.9rem; }
.questionnaire-more > summary span { font-size: 0.8rem; font-weight: 600; }
.questionnaire-more-grid { border-top: 1px solid var(--line); background: var(--panel); }
[data-questionnaire-field][hidden], [data-questionnaire-more][hidden] { display: none; }
.questionnaire-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; border-top: 1px solid var(--line); padding: 14px 16px 16px; }
.questionnaire-save-state { color: var(--success); font-size: 0.88rem; font-weight: 600; }
.questionnaire-save-state:empty { display: none; }
.questionnaire-empty { grid-column: 1 / -1; color: var(--muted); padding: 6px 0px; }
@media (max-width: 700px) { .site-questionnaire-panel > summary { align-items: flex-start; flex-wrap: wrap; }
.questionnaire-summary-status { flex: 1 1 100%; flex-direction: row; align-items: center; justify-content: space-between; gap: 6px; }
.questionnaire-progress { width: auto; flex: 1 1 68px; }
.questionnaire-section-grid { grid-template-columns: 1fr; padding: 12px; }
.questionnaire-section > summary { align-items: flex-start; }
.questionnaire-section > summary small { line-height: 1.25; }
.questionnaire-choice-options { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
.questionnaire-more > summary { padding-inline: 12px; }
.questionnaire-actions { position: sticky; bottom: calc(env(safe-area-inset-bottom) + 68px); z-index: 20; background: var(--panel); }
.questionnaire-actions .primary-button { width: 100%; }
}
.survey-mode-switch { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 8px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); padding: 6px; }
.survey-mode-tab { display: grid; gap: 2px; justify-items: center; border: 1px solid transparent; background: transparent; color: var(--muted); }
.survey-mode-tab.is-active { border-color: var(--brand); background: var(--red-soft); color: var(--brand); }
.survey-workspace-pane { display: none; }
.survey-workspace-pane.is-active { display: block; }
.survey-capture-layout, .capture-stack { min-width: 0px; }
.capture-header { background: var(--panel); padding: 20px 24px; }
.capture-header-status { flex-wrap: wrap; gap: 8px; justify-content: flex-end; display: none; }
.capture-form { display: grid; }
.capture-primary-grid { display: grid; align-items: start; }
.block-heading { display: flex; align-items: flex-start; }
.builder-panel-header { display: flex; align-items: flex-start; gap: 12px; }
.block-heading span { display: inline-flex; align-items: center; justify-content: center; min-width: 28px; height: 28px; border-radius: 999px; background: var(--brand); color: var(--on-brand); font-weight: 600; }
.block-heading strong { font-size: 20px; font-weight: 600; }
.measurement-block .block-heading strong { white-space: nowrap; }
.block-heading em { color: var(--muted); font-style: normal; text-align: right; }
.location-grid { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 10px; }
.location-grid-v2 .current-area-field { grid-column: auto; }
.current-area-control { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.current-area-control > div { display: grid; min-width: 0px; gap: 2px; }
.current-area-control span { color: var(--muted); font-size: 0.75rem; font-weight: 600; text-transform: uppercase; }
.current-area-control strong { overflow: hidden; color: var(--ink-strong); text-overflow: ellipsis; white-space: nowrap; font-size: 18px; font-weight: 600; }
.area-editor { margin-top: 10px; border: 1px solid var(--line); padding: 10px; }
.room-location-grid { margin-top: 0px; }
.location-grid-v2 .field:last-child { grid-column: 1 / -1; }
.current-area-field input { border-color: rgba(237, 28, 36, 0.34); background: var(--red-tint); font-weight: 600; }
.area-choice-row { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.area-choice { min-height: 38px; border: 1px solid var(--line); background: var(--panel-soft); padding: 7px 12px; color: var(--ink); font-size: 0.84rem; font-weight: 600; }
.area-choice.is-current { border-color: var(--brand); background: var(--red-soft); color: var(--brand); }
.add-area-choice { background: var(--panel); }
.location-removal-control { margin-top: 12px; border-top: 1px solid var(--line); padding-top: 12px; }
.measurement-grid { display: grid; grid-template-columns: repeat(4, minmax(92px, 1fr)); gap: 10px; }
.measurement-grid-v2 { grid-template-columns: repeat(3, minmax(0px, 1fr)) minmax(64px, 0.65fr); gap: 12px; }
.measurement-grid-v2 .pb-accessory-count input { min-height: 52px; font-size: 1.12rem; font-weight: 600; }
.pipe-accessory-entry { margin-top: 12px; display: grid; gap: 8px; }
.legacy-accessory-warning { padding: 10px 12px; border: 1px solid #d9ab68; border-radius: 8px; background: #fff7e8; color: #6a451b; }
.unit-input { position: relative; }
.unit-input input { padding-right: 42px; }
.unit-input > span { position: absolute; top: 50%; right: 12px; transform: translateY(-50%); color: var(--muted); font-size: 0.78rem; font-weight: 600; pointer-events: none; }
.primary-measure input { min-height: 68px; font-size: var(--text-dimension); font-weight: 600; padding: 12px; }
.quantity-field { opacity: 0.76; }
.quantity-field.is-emphasised { opacity: 1; }
.quantity-field.is-emphasised input { border-color: var(--brand); background: var(--red-soft); font-weight: 600; }
.field-help { display: block; margin-top: 5px; line-height: 1.3; }
.clearance-workflow { display: grid; grid-template-columns: minmax(260px, 0.9fr) minmax(300px, 1.1fr); gap: 10px; margin-top: 12px; }
.clearance-toggle { display: flex; align-items: center; gap: 11px; min-height: 64px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--panel-soft); padding: 10px 12px; }
.clearance-toggle input { width: 24px; height: 24px; accent-color: var(--brand); }
.clearance-toggle span, .clearance-toggle small, .manufacturing-comparison span, .manufacturing-comparison strong { display: block; }
.clearance-toggle small, .manufacturing-comparison span { margin-top: 3px; color: var(--muted); font-size: 0.76rem; }
.manufacturing-comparison { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--panel); }
.manufacturing-comparison > div { display: grid; align-content: center; padding: 10px 12px; }
.manufacturing-comparison > div + div { border-left: 1px solid var(--line); background: var(--panel-soft); }
.measurement-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 10px; margin-top: 12px; }
.conditional-entry-block { min-width: 0px; border: 1px solid var(--line); background: var(--panel); }
.conditional-entry-block .segmented-option { min-width: 92px; }
.conditional-fields { display: grid; grid-template-columns: minmax(110px, 0.7fr) minmax(160px, 1.3fr); gap: 9px; margin-top: 10px; padding-top: 10px; }
.conditional-fields[hidden] { display: none !important; }
.quick-copy-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; margin: 8px 0px 0px; }
.product-block { display: grid; gap: 8px; }
.segmented-field { gap: 8px; }
.segmented-options { display: flex; flex-wrap: wrap; gap: 4px; padding: 4px; background: var(--panel-soft); border-radius: 8px; }
.builder-chip-grid { display: flex; flex-wrap: wrap; gap: 8px; }
.segmented-option { position: relative; min-width: 0px; flex: 1 1 0px; }
.segmented-option input { position: absolute; opacity: 0; pointer-events: none; }
.segmented-option span { display: flex; align-items: center; justify-content: center; text-align: center; min-height: 44px; border: 0px; border-radius: 6px; background: transparent; font-size: 15px; font-weight: 500; padding: 8px 12px; }
.pill-checkbox label { display: flex; align-items: center; justify-content: center; min-height: var(--tap); border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--panel); padding: 10px 12px; font-weight: 600; text-align: center; }
.builder-primary-grid > .segmented-field, .builder-advanced-grid > .segmented-field { flex: 1 1 280px; }
.advanced-specification { padding-top: 2px; }
.advanced-specification > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; }
.photo-more-options > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: var(--tap); cursor: pointer; font-weight: 600; list-style: none; }
.advanced-specification > summary::-webkit-details-marker, .photo-more-options > summary::-webkit-details-marker { display: none; }
.advanced-specification > summary::after, .photo-more-options > summary::after { content: "+"; color: var(--brand); font-size: 1.25rem; }
.advanced-specification[open] > summary::after, .photo-more-options[open] > summary::after { content: "−"; }
.advanced-specification > summary small, .photo-more-options > summary small { margin-left: auto; color: var(--muted); font-weight: 600; }
.builder-advanced-grid { padding-top: 10px; }
.line-code-preview { display: flex; justify-content: space-between; gap: 12px; }
.line-code-preview strong { overflow-wrap: anywhere; color: var(--ink); }
.builder-code-summary { max-width: min(100%, 520px); overflow-wrap: anywhere; border-radius: var(--radius-sm); text-align: right; }
.line-code-preview { flex: 1 1 100%; border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 10px; }
.measurement-notes-grid { display: grid; margin-top: 12px; border-top: 1px solid var(--line); padding-top: 12px; }
.photo-capture-strip { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.primary-photo-action { flex: 0 0 auto; }
.photo-more-options { flex: 1 1 420px; min-width: 220px; border: 1px solid var(--line); padding: 0px 10px; }
.photo-more-options[open] { padding-bottom: 10px; }
.photo-capture-heading { display: grid; gap: 3px; min-width: 130px; }
.photo-capture-heading span { color: var(--muted); font-size: 0.78rem; }
.photo-metadata-quick, .site-photo-quick-metadata { display: grid; grid-template-columns: repeat(2, minmax(150px, 1fr)); gap: 9px; min-width: 0px; }
.photo-metadata-quick { flex: 1 1 520px; }
.photo-metadata-quick > label, .site-photo-quick-metadata > label { display: grid; gap: 5px; color: var(--muted); font-size: 0.78rem; font-weight: 600; }
.photo-metadata-quick .inline-check, .site-photo-quick-metadata .inline-check { display: flex; align-items: center; align-self: end; min-height: 46px; }
.site-photo-quick-metadata { flex: 1 1 100%; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--panel-soft); padding: 10px; }
.capture-actions { display: grid; }
.save-next-button { min-height: 58px; font-size: 1.04rem; box-shadow: none; }
.capture-actions .save-duplicate-button, .capture-actions .optional-save-action { background: var(--panel); box-shadow: none; }
.line-save-feedback { display: flex; align-items: center; justify-content: flex-end; font-size: 13px; font-weight: 400; color: var(--muted); }
.survey-project-details { order: 8; }
.site-pack-panel .site-pack-actions { padding: 0px 16px 14px; }
.site-map-status { margin: -4px 16px 14px; color: var(--muted); font-size: 0.84rem; }
.site-asset-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid var(--line); padding: 12px 16px; }
.site-asset-row > div:first-child { min-width: 0px; }
.site-asset-row strong, .site-asset-row > div:first-child span { display: block; overflow-wrap: anywhere; }
.site-asset-row > div:first-child span { margin-top: 2px; color: var(--muted); font-size: 0.84rem; }
.site-asset-meta { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 7px; }
.site-asset-sync-error { max-width: min(420px, 55vw); color: var(--warning-strong, #9a5b00); font-size: 0.8rem; font-weight: 600; overflow-wrap: anywhere; }
.site-asset-list, .photo-list { display: grid; gap: 8px; }
.site-asset-card { display: grid; grid-template-columns: minmax(0px, 1fr) auto; gap: 10px; align-items: center; border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 10px; }
.schedule-panel { background: var(--panel); min-width: 0px; max-width: 100%; overflow: hidden; }
.line-list { min-width: 0px; max-width: 100%; }
.row-jump-list { overflow-x: auto; }
.row-jump-list button { min-width: 44px; min-height: 44px; border: 1px solid var(--line); background: var(--panel); font-weight: 600; }
.schedule-search-field { display: flex; align-items: center; gap: 10px; margin: 10px 0px; }
.schedule-search-field span, .schedule-row-navigator span { font-size: 13px; font-weight: 600; color: var(--muted); white-space: nowrap; }
.schedule-search-field input, .schedule-row-navigator select { min-height: 44px; flex: 1 1 0%; border: 1px solid var(--line); border-radius: 8px; padding: 0px 12px; background: var(--paper); color: var(--ink); font: inherit; }
.schedule-row-navigator { display: flex; align-items: center; gap: 10px; margin: 10px 0px; max-width: 420px; }
.version-mismatch-notice { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; padding: 10px 14px; margin: 0px 0px 14px; border: 1px solid var(--line-warning); border-radius: 10px; background: var(--amber-tint); }
.version-mismatch-notice strong { color: var(--ink); }
.version-mismatch-notice span { color: var(--muted); font-size: 13px; }
.compact-project-identity { display: none; }
.compact-header-safety { display: none !important; }
.survey-sheet-wrap { width: 100%; min-width: 0px; max-width: 100%; overflow: auto; border-top: 1px solid var(--line); }
.survey-sheet { width: 100%; border-collapse: separate; border-spacing: 0px; font-size: 0.92rem; }
.survey-sheet th, .survey-sheet td { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.survey-sheet th { position: sticky; top: 0px; z-index: 2; background: var(--ink); color: var(--on-brand); font-weight: 600; }
.survey-sheet .numeric, .survey-sheet .col-number { text-align: center; }
.survey-sheet tr.is-ready td:first-child { border-left: 4px solid var(--success); }
.survey-sheet tr.is-warning td:first-child { border-left: 4px solid var(--warning); }
.survey-sheet tr.is-danger td:first-child { border-left: 4px solid var(--danger); }
.survey-sheet tr.revision-changed td:first-child, .survey-sheet tr.revision-new td:first-child { border-left: 4px solid var(--brand); }
.survey-sheet tr.revision-removed td { color: var(--muted); text-decoration: line-through; }
.row-actions { min-width: 190px; }
.row-move-buttons { display: inline-flex; gap: 4px; margin-right: 4px; }
.line-card { border-left: 4px solid var(--line); border-radius: var(--radius); background: var(--panel); padding: 12px; }
.line-card-main { display: grid; gap: 10px; }
.line-status { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.line-status strong { flex: 1 1 100%; overflow-wrap: anywhere; color: var(--muted); font-size: 0.88rem; }
.line-card-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.revision-progress-panel { padding: 14px; }
.revision-progress-grid, .review-metrics-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
.settings-metrics-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 0px; }
.readiness-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
.revision-filter-tabs { display: flex; gap: 8px; overflow-x: auto; padding-top: 10px; }
.revision-badge { display: inline-flex; min-height: 26px; border-radius: 999px; background: var(--panel-soft); color: var(--ink); padding: 5px 9px; font-size: 0.78rem; font-weight: 600; }
.export-action-grid { margin-top: 12px; display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 24px; }
.export-action-card { display: grid; justify-items: start; align-content: start; gap: 4px; color: var(--ink); font-weight: 550; background: white; box-shadow: none; border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-bottom: 1px solid var(--line); border-radius: 0px; min-height: 88px; width: 100%; text-align: left; align-items: start; padding: 16px 0px; }
.export-action-card.is-primary { background: var(--panel); color: var(--ink); border-color: var(--line); }
.export-action-card small { color: var(--muted); }
.export-action-card.is-primary small, .export-action-card.is-primary strong, .export-action-card.is-primary span { color: var(--on-brand); }
.old-arm-preview, .installer-report-builder { min-width: 0px; max-width: 100%; scroll-margin-top: 80px; margin-top: 16px; border-top: 1px solid var(--line); padding-top: 16px; }
.old-arm-preview-heading, .old-arm-error { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.old-arm-preview-heading h3 { font-size: 1.08rem; }
.old-arm-preview-table { display: block; min-width: 0px; max-width: 100%; width: 100%; margin-top: 10px; overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius-sm); }
.old-arm-preview-table table { width: 100%; min-width: 860px; border-collapse: collapse; }
.old-arm-preview-table th, .old-arm-preview-table td { border-bottom: 1px solid var(--line); padding: 9px 10px; text-align: left; vertical-align: top; }
.old-arm-preview-table th { background: var(--ink); color: var(--on-brand); font-size: 0.78rem; }
.old-arm-preview-table td { max-width: 300px; white-space: normal; }
.old-arm-error + .old-arm-error { margin-top: 8px; border-top: 1px solid var(--line); padding-top: 8px; }
.validation-blocked { margin: 0px; color: var(--warning-ink); font-weight: 600; }
.report-option-grid, .report-check-grid { display: grid; gap: 10px; }
.report-option-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); margin-top: 12px; }
.report-check-grid { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); margin: 12px 0px; }
.report-check-grid .inline-check { display: flex; align-items: center; gap: 10px; min-height: 48px; border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 9px 11px; }
.report-check-grid .inline-check:has(input:checked) { border-color: rgba(237, 28, 36, 0.24); background: var(--red-soft); }
.report-check-grid .inline-check:has(input:disabled) { background: var(--panel-soft); opacity: 0.58; }
.report-level-help { min-height: 50px; margin-top: 10px; border-left: 4px solid var(--brand); background: var(--panel-soft); color: var(--muted); padding: 10px 12px; font-size: 0.86rem; line-height: 1.42; }
.installer-report-preview { display: grid; gap: 10px; margin-top: 16px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--panel-soft); padding: 14px; }
.installer-report-preview h4 { margin: 2px 0px 0px; color: var(--ink-strong); font-size: 1.03rem; }
.installer-report-preview dl { display: grid; grid-template-columns: minmax(0px, 1fr) minmax(0px, 1fr) minmax(0px, 1fr) minmax(0px, 1fr) minmax(0px, 1fr); margin: 0px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--panel); }
.installer-report-preview dl > div { display: grid; min-width: 0px; gap: 4px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 9px 10px; }
.installer-report-preview dl > div:nth-child(5n) { border-right: 0px; }
.installer-report-preview dt { color: var(--muted); font-size: 0.72rem; font-weight: 600; }
.installer-report-preview dd { margin: 0px; overflow-wrap: anywhere; color: var(--ink-strong); font-size: 0.86rem; font-weight: 600; }
.report-preview-note { color: var(--muted); font-size: 0.8rem; }
.report-builder-actions { margin-top: 12px; }
.old-arm-preview-heading .inline-check { display: flex; align-items: center; gap: 9px; }
.old-arm-preview-heading .inline-check input, .report-check-grid .inline-check input { width: 22px; height: 22px; min-height: 22px; flex: 0 0 22px; margin: 0px; }
@media (max-width: 620px) { .report-option-grid { grid-template-columns: 1fr; }
.installer-report-preview dl { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
.installer-report-preview dl > div, .installer-report-preview dl > div:nth-child(5n) { border-right: 1px solid var(--line); }
.installer-report-preview dl > div:nth-child(2n) { border-right: 0px; }
.report-builder-actions { grid-template-columns: 1fr; }
.old-arm-preview-heading, .old-arm-error { align-items: stretch; flex-direction: column; }
}
@media (min-width: 621px) and (max-width: 920px) { .installer-report-preview dl { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
.installer-report-preview dl > div, .installer-report-preview dl > div:nth-child(5n) { border-right: 1px solid var(--line); }
.installer-report-preview dl > div:nth-child(3n) { border-right: 0px; }
}
.export-mini-stats { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
.settings-tabs { display: grid; grid-auto-columns: minmax(132px, 1fr); grid-auto-flow: column; gap: 4px; overflow-x: auto; padding: 5px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel-soft); scrollbar-width: none; }
.settings-tabs::-webkit-scrollbar { display: none; }
.settings-tab { min-width: max-content; border: 1px solid transparent; background: transparent; color: var(--muted); padding-inline: 14px; }
.settings-tab.is-active { color: var(--ink-strong); background: var(--selection); box-shadow: none; border-color: transparent; }
.settings-panel-stack { display: grid; gap: 14px; }
.settings-card, .admin-users-panel { overflow: hidden; border-color: var(--line); background: rgba(255, 255, 255, 0.96); }
.settings-section-card { padding: 18px; }
.settings-profile { display: grid; grid-template-columns: auto minmax(0px, 1fr) auto; gap: 14px; align-items: center; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.settings-profile-avatar { display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 54px; border-radius: 50%; background: var(--ink); color: var(--on-brand); font-size: 1.15rem; font-weight: 600; }
.settings-profile-avatar.is-small { width: 42px; height: 42px; font-size: 0.95rem; }
.settings-profile-copy { min-width: 0px; }
.settings-profile-copy h2 { margin: 2px 0px 3px; font-size: 1.28rem; }
.settings-role-badge, .settings-status-badge { display: inline-flex; align-items: center; justify-content: center; min-height: 30px; border: 1px solid var(--line); border-radius: 999px; background: var(--panel-soft); color: var(--muted); padding: 5px 10px; font-size: 0.76rem; font-weight: 600; white-space: nowrap; }
.settings-role-badge.is-admin { border-color: rgba(237, 28, 36, 0.18); background: var(--red-soft); color: var(--brand-dark); }
.settings-status-badge.is-ready { border-color: rgba(23, 122, 70, 0.18); background: var(--green-soft); color: var(--success); }
.settings-status-badge.is-warning, .stat-pill.is-warning { border-color: rgba(174, 103, 0, 0.2); background: var(--amber-soft); color: var(--warning); }
.settings-status-badge.is-disabled { background: var(--panel-soft); color: var(--ink); }
.stat-pill.is-ready { border-color: rgba(23, 122, 70, 0.18); background: var(--green-soft); color: var(--success); }
.stat-pill.is-danger { border-color: rgba(185, 16, 23, 0.24); background: var(--red-soft); color: var(--danger); }
.settings-account-card .settings-metrics-grid { margin-top: 16px; }
.settings-callout { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 14px; border: 1px solid rgba(237, 28, 36, 0.16); border-radius: var(--radius-sm); background: var(--red-soft); padding: 12px; }
.settings-callout strong, .settings-callout span { display: block; }
.settings-callout span { margin-top: 2px; color: var(--muted); font-size: 0.88rem; }
.settings-card-heading { align-items: center; margin-bottom: 24px; }
.settings-card-heading > div { min-width: 0px; }
.sync-recovery-panel { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 14px; border: 1px solid var(--line-success); border-radius: var(--radius-sm); background: var(--green-tint); padding: 14px; }
.sync-recovery-panel.is-warning { border-color: var(--line-warning); background: var(--amber-tint); }
.sync-recovery-panel span, .sync-recovery-panel strong, .sync-recovery-panel p { display: block; }
.sync-recovery-panel span { color: var(--muted); font-size: 0.78rem; font-weight: 600; text-transform: uppercase; }
.sync-recovery-panel strong { margin-top: 3px; }
.sync-recovery-panel p { max-width: 760px; margin: 5px 0px 0px; color: var(--muted); font-size: 0.9rem; }
.sync-recovery-panel .split-actions { flex: 0 0 auto; margin: 0px; }
.admin-activation-copy { padding: 18px 0px 12px; }
.admin-activation-copy h3 { margin-bottom: 4px; }
.admin-activation-copy p { max-width: 720px; color: var(--muted); }
.admin-activation-form { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) auto; gap: 12px; align-items: end; }
.role-choice { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 8px; min-width: 0px; margin: 0px; border: 0px; padding: 0px; }
.role-choice legend { grid-column: 1 / -1; margin-bottom: 2px; color: var(--muted); font-size: 0.82rem; font-weight: 600; }
.role-choice label { position: relative; display: block; min-width: 0px; cursor: pointer; }
.role-choice input { position: absolute; width: 1px; height: 1px; min-height: 1px; opacity: 0; }
.role-choice span { display: grid; gap: 2px; min-height: 64px; align-content: center; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--panel); padding: 9px 11px; }
.role-choice small { overflow-wrap: anywhere; color: var(--muted); font-size: 0.76rem; }
.role-choice input:checked + span { border-color: var(--brand); background: var(--red-soft); box-shadow: inset 0 0 0 1px var(--brand); }
.admin-user-identity { display: flex; min-width: 0px; gap: 11px; align-items: center; }
.admin-user-identity > div, .project-access-identity { min-width: 0px; }
.admin-user-identity h3, .project-access-identity h3 { overflow-wrap: anywhere; }
.admin-user-badges { display: flex; flex-wrap: wrap; gap: 5px; }
.admin-user-list { display: grid; gap: 10px; }
.admin-user-card, .project-access-card { border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); overflow: hidden; }
.admin-user-card.is-editing, .project-access-card.is-editing { border-color: rgba(237, 28, 36, 0.26); box-shadow: rgba(31, 31, 29, 0.07) 0px 10px 28px; }
.admin-user-summary { display: grid; grid-template-columns: minmax(260px, 1fr) auto auto; gap: 14px; align-items: center; padding: 12px 14px; }
.project-access-summary { display: grid; gap: 14px; align-items: center; padding: 12px 14px; }
.admin-user-summary-meta { display: grid; justify-items: end; gap: 6px; }
.admin-owned-count { color: var(--muted); font-size: 0.82rem; font-weight: 600; }
.settings-heading-actions, .admin-editor-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.admin-bulk-heading { flex-wrap: wrap; }
.project-access-badges { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.settings-heading-actions { justify-content: flex-end; }
.admin-inline-editor { display: grid; gap: 14px; border-top: 1px solid var(--line); background: var(--paper-warm); padding: 16px; }
.admin-editor-heading { display: flex; justify-content: space-between; gap: 14px; align-items: flex-start; }
.admin-bulk-heading { display: flex; justify-content: space-between; gap: 14px; }
.admin-editor-heading > div, .admin-bulk-heading > div { min-width: 0px; }
.admin-editor-grid { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 12px; align-items: end; }
.project-access-editor-grid { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 12px; }
.admin-bulk-grid { display: grid; gap: 12px; align-items: end; }
.admin-create-editor { margin-bottom: 12px; border: 1px solid var(--line); border-radius: var(--radius); }
.field-help, .optional-label { color: var(--muted); font-size: 0.76rem; font-weight: 650; }
.optional-label { margin-left: 4px; }
.compact-segmented-choice span { min-height: 52px; }
.admin-deactivation-panel { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(280px, 1.2fr) minmax(200px, 0.8fr); gap: 12px; align-items: end; border: 1px solid rgba(174, 103, 0, 0.2); border-radius: var(--radius-sm); background: var(--amber-soft); padding: 12px; }
.admin-deactivation-panel[hidden], .admin-reassign-field[hidden] { display: none; }
.deactivation-choice span { background: rgba(255, 255, 255, 0.84); }
.icon-text-button { min-height: 44px; border: 0px; background: transparent; color: var(--brand); padding: 8px; font-weight: 600; }
.team-feedback:not(:empty) { margin-bottom: 12px; }
.project-access-flags { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; grid-column: 1 / -1; }
.project-access-toolbar { display: grid; grid-template-columns: minmax(240px, 1fr) auto auto; gap: 10px; align-items: end; margin-bottom: 12px; }
.project-access-search { display: grid; gap: 6px; }
.project-access-search > span, .access-user-choices legend { color: var(--muted); font-size: 0.82rem; font-weight: 600; }
.project-access-filter-row { display: flex; gap: 5px; overflow-x: auto; }
.access-filter-button { min-height: 44px; border: 1px solid var(--line); background: var(--panel); color: var(--ink); padding: 8px 10px; white-space: nowrap; font-weight: 600; }
.access-filter-button span { display: inline-flex; align-items: center; justify-content: center; min-width: 24px; min-height: 24px; margin-left: 4px; border-radius: 999px; background: var(--panel-soft); font-size: 0.76rem; }
.access-filter-button.is-active { border-color: var(--brand); background: var(--brand); color: var(--on-brand); }
.access-filter-button.is-active span { background: var(--panel); color: var(--brand); }
.project-access-summary { grid-template-columns: auto minmax(280px, 1fr) auto; }
.project-access-identity { display: grid; gap: 7px; }
.project-access-badges { justify-content: flex-start; }
.project-selection-control { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; cursor: pointer; }
.project-selection-control input { position: absolute; width: 1px; height: 1px; min-height: 1px; opacity: 0; }
.project-selection-control span { width: 22px; height: 22px; border: 2px solid var(--line-strong); border-radius: 5px; background: var(--panel); }
.project-selection-control input:checked + span { border-color: var(--brand); background: var(--brand); box-shadow: var(--panel) 0px 0px 0px 4px inset; }
.project-selection-control input:focus-visible + span { outline: rgba(237, 28, 36, 0.22) solid 3px; outline-offset: 3px; }
.project-access-editor-grid { align-items: start; }
.access-user-choices { min-width: 0px; margin: 0px; border: 0px; padding: 0px; }
.access-user-choice-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 7px; max-height: 240px; margin-top: 6px; overflow: auto; }
.access-user-choice { position: relative; min-width: 0px; cursor: pointer; }
.access-user-choice input { position: absolute; width: 1px; height: 1px; min-height: 1px; opacity: 0; }
.access-user-choice-body { display: flex; min-height: 52px; gap: 8px; align-items: center; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--panel); padding: 7px 9px; }
.access-user-choice-body > b { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; flex: 0 0 30px; border-radius: 50%; background: var(--panel-soft); }
.access-user-choice-body > span { display: grid; min-width: 0px; }
.access-user-choice-body small { color: var(--muted); }
.access-user-choice input:checked + .access-user-choice-body { border-color: var(--brand); background: var(--red-soft); box-shadow: inset 0 0 0 1px var(--brand); }
.access-user-choice input:focus-visible + .access-user-choice-body { outline: rgba(237, 28, 36, 0.2) solid 3px; outline-offset: 2px; }
.admin-bulk-access { display: grid; gap: 10px; margin-bottom: 12px; border: 1px solid rgba(237, 28, 36, 0.2); border-radius: var(--radius); background: var(--red-soft); padding: 12px; }
.admin-bulk-heading { align-items: center; }
.admin-bulk-grid { grid-template-columns: minmax(200px, 1fr) minmax(280px, 1.2fr) auto; }
.review-workspace { min-width: 0px; overflow: hidden; gap: 24px; }
.review-summary-strip { grid-template-columns: repeat(6, minmax(0px, 1fr)); gap: 8px; display: flex; flex-wrap: wrap; background: transparent; border-width: 0px 0px 1px; border-radius: 0px; }
.review-summary-strip > span { display: grid; min-width: 0px; min-height: 58px; align-content: center; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--panel); padding: 8px 10px; }
.review-summary-strip small { color: var(--muted); font-weight: 600; }
.review-summary-strip strong { margin-top: 2px; }
.review-summary-strip .is-ready { border-color: rgba(23, 122, 70, 0.18); background: var(--green-soft); color: var(--success); }
.review-summary-strip .is-warning { border-color: rgba(174, 103, 0, 0.2); background: var(--amber-soft); color: var(--warning); }
.admin-users-panel button, .project-access-panel button, .review-workspace button, .review-workspace summary, .screen-header-actions button { min-height: 44px; }
.revision-lock-note.review-lock-note { display: flex; min-width: 0px; justify-content: space-between; gap: 14px; align-items: center; border: 1px solid rgba(23, 122, 70, 0.18); border-radius: var(--radius); background: var(--green-soft); padding: 12px 14px; }
.revision-lock-actions { display: flex; flex: 0 0 auto; gap: 8px; align-items: center; }
.credential-dialog { width: min(560px, -32px + 100vw); max-width: 560px; overflow: visible; border: 0px; background: transparent; padding: 0px; color: var(--ink); border-radius: 12px; box-shadow: var(--shadow); }
.credential-dialog::backdrop { background: rgba(0, 0, 0, 0.24); }
.credential-dialog-card { display: grid; gap: 14px; border-top: 4px solid var(--brand); border-radius: 8px; background: var(--panel); padding: 24px; }
.credential-dialog-card h2, .credential-dialog-card p { margin: 0px; }
.credential-dialog-field { display: grid; gap: 6px; }
.credential-dialog-field span { color: var(--muted); font-size: 0.84rem; font-weight: 600; }
.credential-dialog-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.credential-dialog-actions button { min-height: 48px; }
.review-project-panel { padding: 0px; }
.review-project-details > summary span { display: grid; min-width: 0px; gap: 2px; }
.review-project-details > summary small { overflow: hidden; color: var(--muted); font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.review-project-details > .review-grid { padding: 14px 16px 16px; }
.review-project-details > .site-pack-panel { margin: 0px 16px 16px; }
.project-card-primary-actions { display: grid; grid-auto-flow: column; gap: 7px; }
.project-next-action { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 14px 18px 0px; border: 1px solid rgba(237, 28, 36, 0.16); background: var(--red-soft); padding: 14px; }
.project-next-action.is-blocking { border-color: rgba(185, 16, 23, 0.28); background: var(--red-soft); }
.project-next-action.is-advisory { border-color: rgba(169, 100, 0, 0.28); background: var(--amber-soft); }
.project-next-action.is-information { border-color: var(--line); background: var(--panel-soft); }
.project-next-action.is-workflow { border-color: rgba(237, 28, 36, 0.22); background: var(--panel); }
.project-next-action.is-advisory .project-next-button { border-color: rgba(169, 100, 0, 0.34); background: var(--panel); color: var(--warning); box-shadow: none; }
.project-next-action > div { display: grid; gap: 3px; }
.project-next-action span, .draft-resume-banner span { color: var(--muted); font-size: 0.82rem; }
.project-next-button { min-width: 210px; min-height: 52px; box-shadow: none; }
.project-hub-cards { display: grid; grid-template-columns: repeat(5, minmax(0px, 1fr)); margin: 12px 18px 0px; }
.project-hub-cards button { display: grid; min-width: 0px; align-content: center; gap: 4px; border: 1px solid var(--line); padding: 9px 10px; text-align: left; }
.project-hub-cards button:hover { border-color: var(--line-strong); }
.project-hub-cards span { color: var(--muted); font-size: 0.76rem; font-weight: 600; }
.project-hub-cards strong { overflow-wrap: anywhere; font-size: 0.95rem; }
.draft-resume-banner { grid-column: 1 / -1; border-left: 4px solid var(--warning); border-radius: var(--radius-sm); background: var(--amber-soft); padding: 10px 12px; }
.questionnaire-stage-nav { display: grid; border-bottom: 1px solid var(--line); }
.questionnaire-stage-link { gap: 6px; align-content: center; text-align: left; }
.questionnaire-stage-link > span { display: flex; min-width: 0px; gap: 7px; align-items: center; overflow-wrap: anywhere; font-size: 0.84rem; font-weight: 600; border-radius: 0px; background: transparent; color: inherit; }
.questionnaire-stage-link b { display: inline-flex; width: 25px; height: 25px; flex: 0 0 25px; align-items: center; justify-content: center; border-radius: 999px; color: var(--ink); }
.questionnaire-stage-link > strong { color: var(--warning); font-size: 0.76rem; }
.questionnaire-stage-link.is-complete > strong { color: var(--success); }
.questionnaire-stage-position { color: var(--ink-strong); font-size: 0.82rem; white-space: nowrap; }
.questionnaire-stage-panel > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.questionnaire-stage-panel > header h4 { margin: 3px 0px; }
.questionnaire-stage-panel > header p:last-child, .questionnaire-missing-review span { color: var(--muted); font-size: 0.86rem; }
.questionnaire-policy-inline { margin: 10px 16px 0px; }
.questionnaire-policy-inline > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; cursor: pointer; padding: 10px 12px; list-style: none; }
.questionnaire-policy-inline > summary::-webkit-details-marker { display: none; }
.questionnaire-policy-inline > summary h4, .questionnaire-policy-inline > summary p { margin: 0px; }
.questionnaire-policy-inline > summary > span { color: var(--brand); font-weight: 600; }
.questionnaire-policy-fields { padding: 0px 12px 12px; }
.questionnaire-stage-panel .questionnaire-section-grid { padding-top: 10px; padding-bottom: 10px; }
.questionnaire-required-note { margin: 0px 16px 14px; color: var(--muted); font-size: 0.8rem; }
.required-marker, .questionnaire-required-note span { color: var(--brand); font-weight: 600; }
.questionnaire-missing-review { display: grid; gap: 10px; margin: 0px 16px 14px; border: 1px solid rgba(169, 100, 0, 0.22); background: var(--amber-soft); padding: 12px; }
.questionnaire-missing-review > div:first-child { display: grid; gap: 3px; }
.questionnaire-missing-review.is-complete { border-color: rgba(23, 122, 70, 0.18); background: var(--green-soft); }
.questionnaire-missing-links { display: flex; flex-wrap: wrap; gap: 7px; }
.questionnaire-missing-links button { min-height: 44px; border: 1px solid rgba(169, 100, 0, 0.26); background: var(--panel); color: var(--ink); padding: 7px 10px; text-align: left; font-weight: 600; }
.field-attention { border-radius: var(--radius-sm); animation: 1.1s ease 0s 2 normal none running field-attention-pulse; }
@keyframes field-attention-pulse { 0%, 100% { box-shadow: rgba(237, 28, 36, 0) 0px 0px 0px 0px; }
  50% { box-shadow: rgba(237, 28, 36, 0.24) 0px 0px 0px 5px; }
}
.schedule-filter-strip { display: flex; gap: 7px; overflow-x: auto; padding: 10px 12px; border-bottom: 1px solid var(--line); scrollbar-width: none; }
.schedule-filter-strip::-webkit-scrollbar { display: none; }
.schedule-filter { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 7px; background: var(--panel); color: var(--ink); padding: 7px 10px; }
.schedule-filter strong { display: inline-flex; min-width: 22px; min-height: 22px; align-items: center; justify-content: center; border-radius: 999px; background: var(--panel-soft); font-size: 0.72rem; }
.schedule-area-row th { border-top: 8px solid var(--panel-soft); padding: 9px 12px; text-align: left; }
.mobile-area-heading { color: var(--muted); }
.central-review-panel { overflow: hidden; }
.central-review-panel > header { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 16px; border-bottom: 1px solid var(--line); }
.central-review-groups { display: grid; max-height: 190px; overflow: auto; overscroll-behavior: contain; grid-template-columns: 1fr; gap: 24px; }
.central-review-group { display: grid; align-content: start; gap: 7px; min-width: 0px; border-right: 1px solid var(--line); }
.central-review-group:last-child { border-right: 0px; }
.central-review-group > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 0px 0px 12px; font-size: 18px; }
.central-review-group > div span { display: inline-flex; min-width: 26px; min-height: 26px; align-items: center; justify-content: center; border-radius: 999px; background: var(--panel-soft); font-size: 0.76rem; font-weight: 600; }
.central-review-group button { border: 1px solid var(--line); color: var(--ink); text-align: left; font-weight: 600; min-height: 48px; border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-bottom: 1px solid var(--line); border-radius: 0px; padding: 16px 0px; background: transparent; font-size: 15px; }
.central-review-group p { color: var(--muted); font-size: 0.8rem; }
.central-review-group.is-blocking { border-top: 4px solid var(--danger); }
.central-review-group.is-review, .central-review-group.is-advisory { border-top: 4px solid var(--warning); }
.central-review-group.is-information { border-top: 4px solid var(--line-strong); background: var(--panel-soft); }
.central-review-group.is-blocking > div span { background: var(--danger); color: var(--on-brand); }
.central-review-group.is-review > div span, .central-review-group.is-advisory > div span { background: var(--warning); color: var(--on-brand); }
.central-review-group button:focus-visible, .questionnaire-stage-link:focus-visible, .survey-mode-tab:focus-visible, .project-next-button:focus-visible { outline: rgba(237, 28, 36, 0.34) solid 3px; outline-offset: 2px; }
.finish-review-dialog { width: min(900px, -28px + 100vw); max-width: 900px; max-height: min(90vh, 920px); overflow: auto; border: 0px; border-radius: var(--radius); background: transparent; padding: 0px; color: var(--ink); box-shadow: none; }
.finish-review-dialog::backdrop { background: rgba(31, 31, 29, 0.42); }
.finish-review-card { display: grid; gap: 14px; border-top: 5px solid var(--brand); border-radius: var(--radius); background: var(--panel); padding: 20px; }
.finish-review-card > header { display: grid; gap: 4px; }
.finish-review-card > header p:last-child { color: var(--muted); }
.finish-review-metrics { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); overflow: hidden; border: 1px solid var(--line); }
.finish-review-metrics span { display: grid; min-width: 0px; gap: 3px; padding: 10px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.finish-review-metrics span:nth-child(3n) { border-right: 0px; }
.finish-review-metrics small { color: var(--muted); font-weight: 600; }
.finish-review-status { display: grid; gap: 3px; border-left: 4px solid var(--success); background: var(--green-soft); padding: 11px 12px; }
.finish-review-status.has-attention { border-left-color: var(--warning); background: var(--amber-soft); }
.finish-review-status.has-blocking { border-left-color: var(--danger); background: var(--red-soft); }
.finish-review-status span { color: var(--muted); font-size: 0.84rem; }
.finish-review-checklist { display: grid; overflow: hidden; border: 1px solid var(--line); }
.finish-review-checklist > div { display: grid; grid-template-columns: minmax(110px, 0.45fr) minmax(0px, 1.55fr); gap: 10px; border-left: 4px solid var(--line-strong); padding: 9px 11px; }
.finish-review-checklist > div + div { border-top: 1px solid var(--line); }
.finish-review-checklist span { color: var(--muted); font-size: 0.8rem; font-weight: 600; }
.finish-review-checklist .is-blocking { border-left-color: var(--danger); background: var(--red-soft); }
.finish-review-checklist .is-advisory { border-left-color: var(--warning); background: var(--amber-soft); }
.finish-review-checklist .is-complete { border-left-color: var(--success); background: var(--green-soft); }
.finish-review-checklist .is-information { background: var(--panel-soft); }
.finish-review-issues { display: grid; gap: 7px; }
.finish-review-issues > div { display: grid; grid-template-columns: 76px minmax(0px, 1fr); gap: 8px; border: 1px solid var(--line); padding: 9px 10px; }
.finish-review-issues b { color: var(--warning); font-size: 0.78rem; }
.finish-review-issues .is-blocking b { color: var(--danger); }
.finish-review-card > footer { display: flex; justify-content: flex-end; gap: 9px; }
.checkbox-field label { display: flex; align-items: center; gap: 8px; }
.checkbox-field input { width: 20px; min-height: 20px; }
.toast { position: fixed; left: 50%; bottom: calc(env(safe-area-inset-bottom) + 22px); z-index: 200; max-width: min(92vw, 520px); transform: translateX(-50%); border: 1px solid var(--line); border-radius: 999px; background: var(--ink); color: var(--on-brand); padding: 10px 16px; box-shadow: var(--shadow); font-weight: 600; }
.toast.is-warning { border-color: rgba(169, 100, 0, 0.42); background: rgb(109, 67, 4); }
.toast.is-error, .toast.is-danger { border-color: rgba(185, 16, 23, 0.42); background: var(--danger); }
.toast.is-success { border-color: rgba(23, 122, 70, 0.42); background: rgb(20, 95, 58); }
@media (min-width: 1200px) { .app-layout { grid-template-columns: var(--sidebar) minmax(0, 1fr); }
.desktop-sidebar { position: sticky; top: 0px; display: flex; min-height: 100vh; flex-direction: column; border-right: 1px solid var(--line); background: var(--panel); }
.sidebar-brand img { display: block; height: auto; }
.sidebar-nav { display: grid; gap: 6px; }
.sidebar-link { justify-content: flex-start; width: 100%; padding: 10px 12px; }
.sidebar-link.is-active { border-color: transparent; background: var(--red-soft); box-shadow: none; }
.sidebar-spacer { flex: 1 1 0%; }
.account-dock { display: grid; grid-template-columns: 38px minmax(0px, 1fr); gap: 9px; align-items: center; border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); padding: 10px; }
.account-avatar { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 999px; background: var(--ink); color: var(--on-brand); font-weight: 600; }
.account-copy { min-width: 0px; }
.account-copy strong, .account-copy span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.account-copy span { color: var(--muted); font-size: 0.78rem; }
.account-signout { grid-column: 1 / -1; width: 100%; }
.touch-appbar, .mobile-bottom-nav { display: none; }
.app-main-workspace { max-width: 1280px; padding: 24px 28px 60px; }
.survey-content { max-width: none; }
}
@media (min-width: 821px) and (max-width: 1199px) { .mobile-bottom-nav { position: sticky; grid-template-columns: repeat(4, minmax(0px, 1fr)); border-bottom: 1px solid var(--line); padding: 8px 18px; }
.capture-primary-grid { grid-template-columns: minmax(0px, 0.95fr) minmax(0px, 1.05fr); }
}
@media (min-width: 921px) and (max-height: 900px) { .central-review-panel > header { padding: 7px 10px; }
.central-review-groups { max-height: 80px; }
.central-review-group { gap: 4px; padding: 6px 8px; }
.central-review-group button { min-height: 44px; padding-block: 5px; }
.central-review-group p { display: none; }
.revision-lock-note.review-lock-note { padding: 7px 10px; }
.review-lock-note .meta-line { display: none; }
}
@media (max-width: 920px) { .login-shell { grid-template-columns: 1fr; max-width: 620px; margin: 18px auto; }
.login-assurance-panel { align-content: start; }
.screen-header { grid-template-columns: 1fr; align-items: start; }
.screen-header-actions { justify-content: flex-start; }
.form-grid, .admin-user-grid, .admin-editor-grid, .project-access-editor-grid, .admin-bulk-grid, .admin-activation-form, .optional-field-grid, .review-grid, .overview-grid { grid-template-columns: 1fr; }
.project-access-toolbar { grid-template-columns: 1fr; align-items: stretch; }
.project-access-toolbar > button { justify-self: start; }
.admin-deactivation-panel { grid-template-columns: 1fr; align-items: stretch; }
.measurement-grid, .measurement-grid-v2 { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
.measurement-grid-v2 .quantity-field, .measurement-grid-v2 .pipe-length-field { grid-column: auto; }
.clearance-workflow, .measurement-detail-grid { grid-template-columns: 1fr; }
.project-dashboard-meta, .project-dashboard-stats { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
.project-dashboard-meta > div:nth-child(3), .project-dashboard-stats > div:nth-child(3) { border-right: 0px; }
.project-dashboard-meta > div:nth-child(n+4), .project-dashboard-stats > div:nth-child(n+4) { border-top: 1px solid var(--line); }
.project-dashboard-stats > div:nth-child(n+4) { border-top-color: rgba(255, 255, 255, 0.18); }
.project-dashboard-actions { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
.project-hub-cards { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
.questionnaire-stage-nav, .central-review-groups { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
.central-review-group { border-bottom: 1px solid var(--line); }
.central-review-group:nth-child(2n) { border-right: 0px; }
.survey-sheet-wrap { display: none; }
.mobile-line-list { display: grid; gap: 10px; padding: 12px; }
}
@media (max-width: 560px) { .login-shell { margin: 10px auto; padding: 8px; gap: 10px; }
.login-card, .login-assurance-panel { padding: 16px; border-radius: 12px; }
.login-hero h2 { font-size: 2rem; }
.login-assurance-panel div { padding: 9px 0px; }
}
@media (max-width: 820px) { .capture-actions, .questionnaire-actions { position: sticky; bottom: calc(env(safe-area-inset-bottom) + 68px); z-index: 60; border-top: 1px solid var(--line); background: var(--panel); }
.toast { bottom: calc(env(safe-area-inset-bottom) + 82px); }
}
@media (max-width: 700px) { :root { --tap: 46px; }
.app-main-workspace { padding: 10px 10px 92px; }
.touch-appbar { min-height: 56px; margin: -10px 0px 10px; padding: calc(env(safe-area-inset-top) + 7px) 10px 7px; }
.touch-brand img { width: 112px; }
.compact-status-control { min-width: 76px; padding-inline: 8px; }
.compact-status-control span { display: none; }
.screen-header { gap: 10px; margin-bottom: 10px; }
.area-survey .screen-header { margin-bottom: 6px; }
.screen-title-block h2 { font-size: 1.45rem; }
.area-survey .screen-title-block h2 { overflow: hidden; font-size: 1.22rem; line-height: 1.08; text-overflow: ellipsis; white-space: nowrap; }
.area-survey .screen-meta, .area-survey .screen-title-block .meta-line, .area-survey .survey-summary-line { display: none; }
.screen-header-actions { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); width: 100%; }
.area-survey .screen-header-actions { display: none; }
.screen-header-actions > *, .screen-header-actions button, .screen-header-actions summary { width: 100%; }
.contextual-more-menu { grid-column: 1 / -1; }
.command-more-panel, .overflow-menu-panel { right: 0px; left: auto; min-width: min(88vw, 300px); }
.projects-command-row { grid-template-columns: 1fr; }
.project-status-tab { min-width: 118px; }
.project-card { gap: 8px; padding: 12px; }
.project-card-controls { align-self: start; }
.project-card-primary-actions { grid-auto-flow: row; }
.project-card-controls .primary-button { display: none; }
.overview-summary-line, .survey-summary-line { font-size: 0.9rem; }
.project-dashboard { gap: 12px; }
.project-dashboard-heading { align-items: flex-start; padding: 14px 12px 0px; }
.project-dashboard-heading .meta-line { display: none; }
.quality-score { flex-basis: 112px; min-height: 62px; padding-inline: 9px; }
.quality-score strong { font-size: 1.32rem; }
.quality-progress, .project-dashboard-meta, .project-dashboard-stats, .dashboard-checks, .dashboard-sync-state, .quality-attention-list { margin-inline: 12px; }
.project-dashboard-meta { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
.project-dashboard-meta > div, .project-dashboard-meta > div:nth-child(3) { border-right: 1px solid var(--line); }
.project-dashboard-meta > div:nth-child(2n) { border-right: 0px; }
.project-dashboard-meta > div:nth-child(n+3) { border-top: 1px solid var(--line); }
.project-dashboard-stats { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
.project-dashboard-stats > div, .project-dashboard-stats > div:nth-child(3) { border-right: 1px solid rgba(255, 255, 255, 0.18); }
.project-dashboard-stats > div:nth-child(2n) { border-right: 0px; }
.project-dashboard-stats > div:nth-child(n+3) { border-top: 1px solid rgba(255, 255, 255, 0.18); }
.dashboard-checks { grid-template-columns: 1fr; }
.dashboard-checks > div { border-right: 0px; border-top: 1px solid var(--line); }
.dashboard-checks > div:first-child { border-top: 0px; }
.dashboard-sync-state, .quality-attention-list > div { align-items: stretch; flex-direction: column; }
.dashboard-sync-counts { justify-content: flex-start; }
.quality-attention-action { width: 100%; }
.project-dashboard-actions { grid-template-columns: 1fr; padding-inline: 12px; }
.project-next-action { align-items: stretch; flex-direction: column; margin-inline: 12px; }
.project-next-button { width: 100%; min-width: 0px; }
.project-hub-cards { grid-template-columns: repeat(2, minmax(0px, 1fr)); margin-inline: 12px; }
.questionnaire-stage-panel > header { flex-direction: column; }
.questionnaire-policy-inline, .questionnaire-missing-review, .questionnaire-required-note { margin-inline: 12px; }
.central-review-panel > header { align-items: flex-start; flex-direction: column; }
.central-review-groups { grid-template-columns: 1fr; }
.central-review-group, .central-review-group:nth-child(2n) { border-right: 0px; }
.finish-review-card { padding: 14px; }
.finish-review-metrics { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
.finish-review-metrics span, .finish-review-metrics span:nth-child(3n) { border-right: 1px solid var(--line); }
.finish-review-metrics span:nth-child(2n) { border-right: 0px; }
.finish-review-card > footer { display: grid; grid-template-columns: 1fr; }
.quality-disclaimer { padding-inline: 12px; }
.survey-mode-switch { gap: 4px; padding: 4px; }
.survey-mode-tab { min-height: 40px; padding-block: 5px; }
.line-entry-panel > summary { align-items: flex-start; flex-direction: column; gap: 7px; padding: 10px 12px; }
.line-entry-panel > summary .row-kicker { display: none; }
.line-entry-panel > summary h2 { font-size: 1.28rem; }
.capture-header-status { justify-content: flex-start; }
.mode-pill, .ready-pill { min-height: 28px; padding: 4px 10px; font-size: 0.86rem; }
.capture-block, .builder-panel, .photo-capture-strip { padding: 12px; }
.measurement-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
.location-grid { grid-template-columns: 1fr; }
.location-grid-v2 .field:last-child { grid-column: auto; }
.block-heading { align-items: flex-start; }
.block-heading em { text-align: left; }
.segmented-option { min-width: 124px; }
.photo-capture-strip { align-items: stretch; flex-direction: column; }
.photo-metadata-quick, .site-photo-quick-metadata { grid-template-columns: 1fr; }
.capture-actions { position: sticky; bottom: calc(env(safe-area-inset-bottom) + 68px); z-index: 60; margin: 0px -12px -12px; padding: 10px 12px calc(env(safe-area-inset-bottom) + 10px); border-top: 1px solid var(--line); background: var(--panel); }
.toast { bottom: calc(env(safe-area-inset-bottom) + 82px); }
.current-area-control { align-items: stretch; }
.current-area-control .mini-button { min-width: 88px; }
.finish-review-checklist > div { grid-template-columns: 1fr; gap: 2px; }
.capture-actions .line-save-feedback { min-height: 24px; }
.manufacturing-comparison { grid-template-columns: 1fr; }
.manufacturing-comparison > div + div { border-top: 1px solid var(--line); border-left: 0px; }
.capture-actions .optional-save-action { grid-column: 1 / -1; }
.settings-metrics-grid, .readiness-grid, .review-metrics-grid, .revision-progress-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
.settings-tabs { grid-auto-columns: minmax(112px, 1fr); }
.settings-callout { align-items: stretch; flex-direction: column; }
.settings-callout button { width: 100%; }
.admin-user-title { align-items: stretch; flex-direction: column; }
.admin-user-title > button { width: 100%; }
.admin-user-summary { grid-template-columns: minmax(0px, 1fr) auto; }
.admin-user-summary-meta { grid-area: 2 / 1 / auto / -1; justify-items: start; }
.admin-user-summary > button { grid-area: 1 / 2; }
.project-access-summary { grid-template-columns: auto minmax(0px, 1fr); gap: 8px; }
.project-access-summary > button { grid-column: 1 / -1; width: 100%; }
.settings-heading-actions { justify-content: flex-start; }
.settings-card-heading { align-items: stretch; flex-direction: column; }
.review-summary-strip { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
.revision-lock-note.review-lock-note { align-items: stretch; flex-direction: column; }
.revision-lock-note.review-lock-note button { width: 100%; }
.revision-lock-actions { display: grid; grid-template-columns: 1fr; width: 100%; }
.admin-users-panel button, .project-access-panel button { min-height: 44px; }
}
@media (max-width: 430px) { .touch-appbar { grid-template-columns: auto minmax(0px, 1fr) auto; }
.touch-brand img { width: 98px; }
.touch-context strong { font-size: 0.92rem; }
.mobile-bottom-nav { gap: 4px; padding-inline: 6px; }
.mobile-link { min-height: 44px; padding-inline: 4px; font-size: 0.86rem; }
.screen-header-actions { grid-template-columns: 1fr 1fr; }
.measurement-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
.current-area-control { min-height: 58px; padding: 8px 10px; }
.room-location-grid { margin-top: 0px; }
.builder-code-summary { width: 100%; text-align: left; }
.settings-metrics-grid, .readiness-grid, .review-metrics-grid, .revision-progress-grid { grid-template-columns: 1fr; }
.settings-profile { grid-template-columns: auto minmax(0px, 1fr); }
.settings-profile > .settings-role-badge { grid-column: 1 / -1; justify-self: start; }
.role-choice { grid-template-columns: 1fr; }
.review-summary-strip { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
.admin-user-summary { grid-template-columns: minmax(0px, 1fr); }
.admin-user-summary > button, .admin-user-summary-meta { grid-area: auto / 1; width: 100%; }
.admin-user-summary-meta { justify-items: start; }
.access-user-choice-list { grid-template-columns: 1fr; }
}
.panel { box-shadow: none; border-radius: var(--radius); }
.continue-section { border-radius: var(--radius-sm); }
.project-status-section, .overview-section, .project-dashboard { border-radius: var(--radius-sm); box-shadow: none; }
.project-card { border-radius: var(--radius-sm); }
.settings-card { border-radius: var(--radius-sm); box-shadow: none; padding: 24px; }
.admin-users-panel, .project-access-panel, .export-panel, .import-panel { border-radius: var(--radius-sm); box-shadow: none; }
.nav-icon { width: 20px; height: 20px; flex: 0 0 20px; fill: none; stroke: currentcolor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.app-area-tab { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); }
.sidebar-link { justify-content: flex-start; font-weight: 550; }
.project-card { transition: border-color 0.15s, background 0.15s; }
.project-card[data-open-project-card]:hover { border-left-color: var(--brand); background: var(--panel); box-shadow: none; }
.card-state-line { margin-bottom: var(--space-1); color: var(--muted); font-size: var(--text-xs); font-weight: 600; letter-spacing: 0px; }
.project-card h3 { margin: 0px; color: var(--ink-strong); line-height: 1.15; font-size: 18px; font-weight: 600; }
.project-customer-line { margin-top: var(--space-1); color: var(--ink); font-size: 0.95rem; font-weight: 600; }
.project-reference-line { margin-top: var(--space-2); color: var(--muted); font-size: 0.82rem; font-weight: 600; }
.project-card .meta-line { margin-top: 2px; font-size: 0.8rem; }
.project-card-stats { gap: var(--space-2) var(--space-4); margin-top: var(--space-3); color: var(--ink); }
.project-card-stats span { min-height: 0px; border-radius: 0px; background: transparent; padding: 0px; font-size: 0.82rem; font-weight: 600; }
.project-card-stats span + span::before { content: "·"; margin-right: var(--space-4); color: var(--subtle); }
.project-card-primary-actions .secondary-button { border-color: transparent; background: transparent; box-shadow: none; }
.project-card-primary-actions .secondary-button:hover { border-color: var(--line); box-shadow: none; }
.archived-retrieve-help { max-width: 680px; margin-top: var(--space-3); color: var(--muted); font-size: 0.8rem; line-height: 1.35; }
.project-dashboard { gap: var(--space-4); }
.project-dashboard-heading { padding: var(--space-5) var(--space-5) 0; }
.project-dashboard-heading h3 { font-size: 1.4rem; }
.quality-score { border-color: var(--line); background: var(--panel); text-align: right; }
.project-dashboard-meta, .project-dashboard-stats, .dashboard-checks { margin-inline: var(--space-5); border-right: 0px; border-left: 0px; border-image: none; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); border-radius: 0px; }
.project-dashboard-stats { border-color: var(--line); background: var(--panel-soft); }
.project-dashboard-stats > div { border-color: var(--line); color: var(--ink); }
.project-dashboard-stats strong { color: var(--ink-strong); font-size: 1.2rem; }
.project-dashboard-stats span { color: var(--muted); }
.dashboard-sync-state, .project-next-action, .quality-attention-list, .project-hub-cards { margin-inline: var(--space-5); }
.dashboard-sync-state { border-width: 0px 0px 0px 3px; border-radius: 0px; }
.dashboard-checks > div { padding-block: var(--space-3); }
.project-next-action { border-radius: var(--radius-sm); box-shadow: none; }
.project-hub-cards { gap: 0px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.project-hub-cards button { min-height: 62px; border-top: 0px; border-bottom: 0px; border-left: 0px; border-image: none; border-right: 1px solid var(--line); border-radius: 0px; background: var(--panel); }
.project-hub-cards button:last-child { border-right: 0px; }
.project-hub-cards button:hover { background: var(--panel-soft); box-shadow: none; }
.line-entry-panel { border-color: var(--line-strong); background: var(--panel); box-shadow: none; }
.line-entry-panel.is-editing { box-shadow: none; border-color: var(--line); }
.line-entry-panel.is-editing > summary { background: var(--panel); }
.capture-form { gap: 0px; }
.capture-primary-grid { border-bottom: 1px solid var(--line); gap: 32px; padding: 24px; grid-template-columns: minmax(240px, 0.8fr) minmax(0px, 1.6fr); }
.capture-block { border: 0px; border-radius: 0px; background: transparent; box-shadow: none; padding: 0px; }
.builder-panel { padding: var(--space-5); }
.photo-capture-strip { border: 0px; padding: var(--space-5); }
.measurement-block { border-left: 1px solid var(--line); }
.product-block { padding: 24px 24px 0px; border-top: 1px solid var(--line); }
.builder-panel { border-top: 1px solid var(--line); }
.block-heading { justify-content: flex-start; gap: 12px; padding: 0px; margin-bottom: 20px; }
.builder-panel-header { justify-content: flex-start; margin-bottom: var(--space-4); }
.block-heading > span { min-width: 34px; border-radius: 6px; width: auto; height: auto; border: 0px; background: transparent; color: var(--muted); font-size: 12px; font-weight: 500; }
.block-heading > strong, .block-heading-copy strong, .builder-title { font-size: var(--text-section); }
.block-heading-copy { display: grid; min-width: 0px; gap: 3px; }
.block-heading-copy small { color: var(--muted); font-size: 0.78rem; font-weight: 620; line-height: 1.3; }
.block-heading em { margin-left: auto; align-self: center; font-size: 0.8rem; display: none; }
.current-area-control { min-height: 60px; border-top: 0px; border-right: 0px; border-bottom: 0px; border-image: none; border-left: 3px solid var(--brand); background: transparent; border: 0px; border-radius: 0px; padding: 0px 0px 20px; }
.current-area-control.is-empty { border-color: var(--warning); background: var(--amber-soft); }
.area-editor { border-top: 0px; border-right: 0px; border-bottom: 0px; border-image: none; border-left: 3px solid var(--line-strong); border-radius: 0px; background: var(--panel-soft); }
.area-choice { border-radius: var(--radius-sm); }
.measurement-grid-v2 .primary-measure input { padding-block: 12px; font-weight: 600; font-size: 30px; min-height: 68px; }
.measurement-grid-v2 .primary-measure .field-label, .measurement-grid-v2 .primary-measure > label { color: var(--ink); font-size: 0.86rem; }
.measurement-grid-v2 .quantity-field input { font-weight: 600; font-size: 24px; min-height: 68px; }
.conditional-entry-block { border-right: 0px; border-bottom: 0px; border-left: 0px; border-image: none; border-top: 1px solid var(--line); border-radius: 0px; padding: var(--space-3) 0 0; }
.conditional-fields { margin-left: var(--space-2); border-top: 0px; border-left: 3px solid var(--line); padding: var(--space-2) 0 0 var(--space-3); }
.access-detail-fields { grid-template-columns: minmax(150px, 0.42fr) minmax(0px, 1.58fr); align-items: start; }
.access-detail-fields .access-note-editor, .cutouts-entry-block .cutout-note-editor { grid-column: 1 / -1; }
.field-note-editor textarea { min-height: 92px; line-height: 1.45; resize: vertical; }
.cutout-note-editor textarea { min-height: 118px; }
.structured-capture-fields { margin-top: var(--space-4); padding-top: var(--space-4); }
.structured-capture-section { display: grid; gap: var(--space-3); padding: 0px; border: 0px; border-radius: 0px; background: transparent; }
.structured-capture-section + .structured-capture-section { border-top: 1px solid var(--line); padding-top: var(--space-4); }
.structured-section-heading { display: flex; align-items: end; justify-content: space-between; gap: var(--space-3); margin-bottom: 12px; }
.structured-entry-heading { display: flex; align-items: end; justify-content: space-between; gap: var(--space-3); }
.structured-section-heading > div, .structured-entry-heading { min-width: 0px; }
.structured-section-heading > div { display: grid; gap: 2px; }
.structured-section-heading strong, .structured-entry-heading strong { color: var(--ink-strong); font-size: 1rem; }
.structured-section-heading span, .structured-entry-heading span { color: var(--muted); font-size: 0.76rem; }
.structured-count-summary { font-weight: 600; color: var(--ink) !important; border: 0px; background: transparent; padding: 0px; border-radius: 0px; }
.access-count-selector .segmented-options { display: grid; grid-template-columns: repeat(7, minmax(44px, 1fr)); }
.structured-segment .segmented-option span, .cutout-toggle span, .cutout-both-button { min-height: 48px; }
.access-door-list { display: grid; }
.access-door-entry { display: grid; border-left: 3px solid var(--brand); }
.access-door-entry[hidden], .cutout-side-entry[hidden] { display: none; }
.access-door-controls { display: grid; }
.cutout-selector { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: var(--space-2); }
.cutout-toggle { position: relative; }
.cutout-toggle input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.cutout-toggle span, .cutout-both-button { display: flex; align-items: center; justify-content: center; width: 100%; border: 1px solid var(--line-strong); border-radius: var(--radius-sm); background: var(--panel); color: var(--ink); font-weight: 600; }
.cutout-toggle input:checked + span, .cutout-both-button[aria-pressed="true"] { background: var(--selection); color: var(--ink-strong); border-color: var(--line-strong); box-shadow: none; }
.cutout-toggle input:focus-visible + span, .cutout-both-button:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 2px; }
.cutout-side-grid { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 16px; }
.legacy-capture-reference { display: grid; gap: var(--space-3); margin-top: var(--space-4); border-left: 3px solid var(--warning); background: var(--amber-soft); padding: var(--space-4); }
.legacy-value-grid { display: grid; grid-template-columns: 0.45fr 1fr 1fr; gap: var(--space-2); }
.legacy-value-grid > div { display: grid; gap: 2px; }
.legacy-value-grid span { color: var(--muted); font-size: 0.72rem; font-weight: 600; }
.legacy-value-grid strong { overflow-wrap: anywhere; }
.room-copy-row { justify-content: flex-start; }
.room-copy-button { min-width: 150px; }
.checkpoint-history-panel { margin-top: var(--space-3); border-top: 1px solid var(--line); padding-top: var(--space-3); }
.checkpoint-history-panel summary { cursor: pointer; font-weight: 600; }
.checkpoint-history-list { display: grid; gap: var(--space-2); margin-top: var(--space-3); }
.checkpoint-history-row { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: var(--space-2) var(--space-3); border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--panel-soft); }
.checkpoint-history-row div { display: grid; gap: 2px; }
.checkpoint-history-row span { color: var(--muted); }
.segmented-option input:checked + span { color: var(--ink-strong); background: var(--panel); border-color: transparent; box-shadow: var(--shadow-soft); }
.pill-checkbox input:checked + span { border-color: var(--brand); background: var(--red-soft); color: var(--brand-dark); box-shadow: rgba(237, 28, 36, 0.12) 0px 0px 0px 1px inset; }
.segmented-option input:focus-visible + span { outline: 3px solid var(--focus-ring); outline-offset: 1px; }
.questionnaire-quick-option input:focus-visible + span { outline: 3px solid var(--focus-ring); outline-offset: 2px; }
.builder-panel { background: transparent; border: 0px; border-radius: 0px; box-shadow: none; }
.advanced-specification { margin-top: var(--space-4); border-right: 0px; border-bottom: 0px; border-left: 0px; border-image: none; border-top: 1px solid var(--line); border-radius: 0px; background: transparent; padding: 12px 0px 0px; }
.advanced-specification > summary { color: var(--muted); font-size: 0.92rem; min-height: 44px; font-weight: 500; }
.builder-code-summary, .line-code-preview { border-color: var(--line); background: var(--panel-soft); color: var(--muted); box-shadow: none; }
.builder-code-summary { padding: var(--space-2) var(--space-3); font-size: 0.82rem; }
.measurement-notes-grid { grid-template-columns: 1fr; gap: 0px; }
.measurement-notes-grid .field-help { margin-top: 0px; }
.photo-capture-strip { padding-block: var(--space-4); border-right: 0px; border-bottom: 0px; border-left: 0px; border-image: none; border-top: 1px solid var(--line); border-radius: 0px; margin: 0px; background: transparent; box-shadow: none; }
.photo-more-options { border-color: var(--line); border-radius: var(--radius-sm); }
.capture-actions .primary-button { min-width: 180px; min-height: 48px; }
.site-questionnaire-panel > summary { border-bottom-color: var(--line); padding: 24px; }
.questionnaire-stage-nav { padding: 0 var(--space-4); }
.questionnaire-stage-link { border-width: 0px 0px 3px; border-style: none none solid; border-color: currentcolor currentcolor transparent; border-image: none; }
.questionnaire-stage-link.is-active { box-shadow: none; }
.questionnaire-stage-panel > header { padding: var(--space-5) var(--space-5) 0; }
.questionnaire-stage-panel > header h4 { font-size: 1.25rem; }
.questionnaire-stage-panel .questionnaire-section-grid { gap: var(--space-4); padding: var(--space-4) var(--space-5); }
.questionnaire-checkbox { border-width: 0px 0px 1px; border-radius: 0px; padding-inline: 0px; }
.questionnaire-quick-option input:checked + span { border-color: var(--brand); background: var(--red-soft); color: var(--brand-dark); box-shadow: rgba(237, 28, 36, 0.12) 0px 0px 0px 1px inset; }
.questionnaire-policy-inline { border-left: 3px solid var(--line-strong); border-radius: 0px; background: var(--panel-soft); }
.questionnaire-missing-review { border-width: 0px 0px 0px 3px; border-radius: 0px; }
.central-review-panel, .finish-review-card { box-shadow: none; }
.central-review-group { border-top-width: 0px; border-left: 3px solid var(--line-strong); border: 0px; border-radius: 0px; padding: 0px; background: transparent; }
.central-review-group.is-blocking { border-left-color: var(--danger); background: var(--red-soft); }
.central-review-group.is-review, .central-review-group.is-advisory { border-left-color: var(--warning); background: var(--amber-soft); }
.finish-review-metrics, .finish-review-checklist, .finish-review-status, .finish-review-checklist > div, .finish-review-issues > div { border-radius: 0px; }
.schedule-filter-strip { background: var(--panel); }
.schedule-filter.is-active { color: var(--ink-strong); background: var(--selection); box-shadow: none; border-color: transparent; }
.schedule-filter.is-active strong { background: var(--brand); color: var(--on-brand); }
.schedule-area-row th { border-top-color: var(--paper); background: var(--panel-soft); color: var(--ink-strong); font-size: 0.86rem; letter-spacing: 0px; }
.survey-sheet tbody tr:hover td { background: var(--panel-raised); }
.empty-state { border: 0px; border-radius: 0px; background: var(--panel-soft); padding: var(--space-5); }
@media (min-width: 821px) and (max-width: 1199px) { .mobile-link { flex-direction: row; }
}
@media (max-width: 920px) { .capture-primary-grid { border-bottom: 0px; }
.measurement-block { border-top: 1px solid var(--line); border-left: 0px; }
.project-dashboard-meta, .project-dashboard-stats, .dashboard-checks { margin-inline: var(--space-4); }
.project-dashboard-stats > div, .project-dashboard-stats > div:nth-child(3), .project-dashboard-stats > div:nth-child(n+4) { border-color: var(--line); }
.access-count-selector .segmented-options { grid-template-columns: repeat(4, minmax(48px, 1fr)); }
}
@media (max-width: 820px) { .mobile-link { display: grid; grid-template-rows: 20px auto; justify-items: center; gap: 3px; font-size: 0.76rem; }
.mobile-more-menu > summary { display: grid; }
.dashboard-sync-state, .project-next-action, .quality-attention-list, .project-hub-cards { margin-inline: var(--space-4); }
}
@media (max-width: 700px) { .project-card-stats span + span::before { margin-right: var(--space-2); }
.project-card-primary-actions .secondary-button { padding-inline: var(--space-2); }
.project-dashboard-heading, .questionnaire-stage-panel > header, .capture-block, .builder-panel, .photo-capture-strip, .questionnaire-stage-panel .questionnaire-section-grid { padding-inline: var(--space-3); }
.questionnaire-stage-nav { padding: 0 var(--space-3); }
.questionnaire-stage-link { grid-template-columns: minmax(0px, 1fr) auto; align-items: center; min-height: 52px; }
.measurement-notes-grid, .access-detail-fields, .conditional-fields, .access-door-controls, .cutout-side-grid, .legacy-value-grid { grid-template-columns: 1fr; }
.measurement-grid-v2 .primary-measure input { min-height: 58px; font-size: 1.25rem; }
.block-heading { flex-wrap: wrap; }
.block-heading-copy { flex: 1 1 calc(100% - 50px); }
.block-heading em { flex: 1 1 100%; margin-left: 46px; }
}
.durability-strip.safety-summary { display: block; min-height: 0px; overflow: visible; font-size: 0.82rem; margin: 0px 0px 24px; border-radius: 8px; box-shadow: none; }
.safety-summary > summary { display: grid; grid-template-columns: 24px auto minmax(160px, 1fr) auto; align-items: center; gap: 8px; min-height: 44px; padding: 8px 12px; cursor: pointer; list-style: none; }
.safety-summary > summary::-webkit-details-marker, .product-config-disclosure > summary::-webkit-details-marker, .photo-capture-disclosure > summary::-webkit-details-marker, .measurement-notes-disclosure > summary::-webkit-details-marker, .conditional-note-disclosure > summary::-webkit-details-marker, .save-options-menu > summary::-webkit-details-marker, .project-form-group > summary::-webkit-details-marker, .access-count-more > summary::-webkit-details-marker { display: none; }
.safety-summary-mark { display: inline-flex; width: 22px; height: 22px; align-items: center; justify-content: center; border-radius: 999px; background: var(--green-soft); color: var(--green); font-weight: 600; }
.safety-summary.is-warning .safety-summary-mark { background: var(--panel); color: rgb(153, 91, 0); }
.safety-summary.is-error .safety-summary-mark { background: var(--panel); color: var(--brand); }
.safety-summary > summary > span:not(.safety-summary-mark), .safety-summary > summary > small { color: var(--muted); }
.safety-summary > summary > small { font-weight: 600; }
.safety-detail-grid { display: grid; grid-template-columns: repeat(5, minmax(0px, 1fr)); border-top: 1px solid var(--line); }
.safety-detail-grid .data-safety-item { min-height: 52px; }
.continue-project-grid { gap: 0px; border: 1px solid var(--line); border-radius: var(--radius-sm); overflow: hidden; }
.continue-project-row { display: grid; grid-template-columns: minmax(0px, 1fr) auto; align-items: center; background: var(--panel); }
.continue-project-row + .continue-project-row { border-top: 1px solid var(--line); }
.continue-project-row.status-to-quote { border-left-color: var(--warning); }
.continue-project-main { display: grid; gap: 2px; border: 0px; background: transparent; padding: 0px; color: var(--ink); box-shadow: none; }
.continue-project-main:hover { box-shadow: none; }
.continue-project-main > strong { overflow-wrap: anywhere; font-size: 1.02rem; line-height: 1.18; }
.continue-project-main > span:not(.card-state-line), .continue-project-main > small { color: var(--muted); }
.continue-project-main > small { margin-top: 4px; font-weight: 600; }
.continue-project-grid .continue-project-row:first-child { background: var(--panel-soft); box-shadow: inset 3px 0 0 var(--brand); }
.continue-project-grid .continue-project-row:first-child .continue-project-main > strong { font-size: 1.14rem; }
.continue-project-grid .continue-project-row:first-child .continue-project-actions .primary-button { background: var(--brand); color: var(--on-brand); border-color: var(--brand); }
.continue-project-grid .continue-project-row:first-child .continue-project-actions .primary-button:hover { background: var(--brand-dark); border-color: var(--brand-dark); }
.continue-project-actions { display: flex; align-items: center; gap: 8px; }
.project-status-tab { min-width: 112px; border-top-color: transparent; border-right-color: transparent; border-left-color: transparent; border-bottom-color: var(--line); border-radius: 0px; background: transparent; }
.project-status-tab strong { min-width: 24px; min-height: 24px; }
.project-status-tab.is-active { border-top-color: transparent; border-right-color: transparent; border-left-color: transparent; border-bottom-color: var(--brand); color: var(--ink-strong); background: var(--selection); box-shadow: none; border-color: transparent; }
.project-status-tab.is-active strong { background: var(--red-soft); color: var(--brand-dark); }
.project-status-section { padding: 14px; }
.project-card { padding-block: 12px; box-shadow: none; border-left-width: 2px; padding: 20px; }
.project-card-main > .project-customer-line { margin-top: 3px; color: var(--muted); font-weight: 600; }
.compact-empty { padding-block: 16px; }
.project-form-groups { display: grid; gap: 1px; border-bottom: 1px solid var(--line); }
.project-form-group { background: var(--panel); }
.project-form-group > summary, .measurement-notes-disclosure > summary { display: flex; min-height: 48px; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--line); padding: 10px 16px; cursor: pointer; list-style: none; }
.conditional-note-disclosure > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; }
.photo-capture-disclosure > summary { display: flex; min-height: 48px; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; }
.project-form-group > summary small, .measurement-notes-disclosure > summary small, .conditional-note-disclosure > summary small, .photo-capture-disclosure > summary small { color: var(--muted); font-weight: 650; }
.project-form-group > .form-grid { padding: 14px 16px 18px; }
.structured-capture-fields { border-top: 1px solid var(--line); padding: 24px; margin: 0px; display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 24px; }
.access-count-control { display: grid; grid-template-columns: minmax(0px, 1fr) minmax(94px, auto); gap: 8px; }
.access-count-selector .access-count-primary { grid-template-columns: repeat(3, minmax(58px, 1fr)); }
.access-count-more { position: relative; }
.access-count-more > summary, .save-options-menu > summary { display: flex; min-height: 48px; align-items: center; justify-content: center; border: 1px solid var(--line-strong); border-radius: var(--radius-sm); background: var(--panel); padding: 8px 12px; color: var(--ink); cursor: pointer; font-weight: 600; list-style: none; }
.access-count-more[open] > summary { border-color: var(--brand); color: var(--brand-dark); }
.access-count-more .segmented-options { position: absolute; z-index: 6; right: 0px; top: calc(100% + 6px); display: grid; grid-template-columns: repeat(2, minmax(56px, 1fr)); width: 150px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--panel); padding: 6px; box-shadow: var(--shadow-soft); }
.access-door-list, .access-door-entry { gap: var(--space-2); }
.access-door-controls { grid-template-columns: minmax(0px, 0.8fr) minmax(0px, 1.2fr); }
.access-door-controls .field-label { font-size: 0.74rem; }
.access-door-controls .segmented-option span { min-height: 42px; }
.conditional-note-disclosure { border-top: 1px solid var(--line); }
.conditional-note-disclosure > summary { min-height: 42px; border-bottom: 0px; padding: 7px 0px; color: var(--ink); font-weight: 600; }
.conditional-note-disclosure[open] > summary { color: var(--brand-dark); }
.conditional-note-disclosure > .field { padding-top: 6px; }
.cutout-general-disclosure textarea { min-height: 126px; }
.measurement-notes-disclosure { border-top: 1px solid var(--line); padding: 0px 24px; margin-top: 0px; }
.measurement-notes-disclosure > summary { padding-inline: 0px; }
.measurement-notes-disclosure .measurement-notes-grid { padding-top: var(--space-3); }
.product-config-disclosure { padding: 0px; }
.product-config-disclosure > summary { display: flex; min-height: 64px; align-items: center; justify-content: space-between; gap: 14px; margin: 0px; cursor: pointer; list-style: none; padding: 16px 24px; }
.product-config-disclosure > summary > div { display: grid; min-width: 0px; gap: 2px; }
.product-config-summary-text { overflow-wrap: anywhere; color: var(--muted); font-size: 0.82rem; font-weight: 650; }
.builder-change-label { min-width: 74px; border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 8px 10px; color: var(--brand-dark); text-align: center; font-size: 0.82rem; font-weight: 600; }
.product-config-disclosure[open] .builder-change-label { color: var(--muted); }
.product-config-body { padding: 16px 24px 24px; border-top: 0px; }
.photo-capture-disclosure { padding: 0px; }
.photo-capture-disclosure:not([open]) > .photo-capture-body, .photo-more-options:not([open]) > .photo-metadata-quick, .product-config-disclosure:not([open]) > .product-config-body, .conditional-note-disclosure:not([open]) > .field, .measurement-notes-disclosure:not([open]) > .measurement-notes-grid, .project-form-group:not([open]) > .form-grid { display: none; }
.photo-capture-disclosure > summary { border-bottom: 0px; padding: 16px 24px; }
.photo-capture-disclosure > summary > span { display: grid; gap: 2px; }
.photo-capture-disclosure > summary > b { color: var(--brand-dark); font-size: 0.84rem; }
.photo-capture-body { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; border-top: 1px solid var(--line); padding: var(--space-4) var(--space-5); }
.draft-resume-banner { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.draft-resume-banner > div { display: grid; gap: 2px; }
.capture-actions { align-items: center; position: sticky; bottom: 0px; z-index: 35; background: var(--panel); box-shadow: none; border-right: 0px; border-bottom: 0px; border-left: 0px; border-image: none; border-top: 1px solid var(--line); padding: 16px 24px; gap: 12px; grid-template-columns: auto auto minmax(0px, 1fr); backdrop-filter: none; }
.save-options-menu { position: relative; }
.save-options-menu > div { position: absolute; z-index: 8; right: 0px; bottom: calc(100% + 8px); display: grid; width: min(270px, 80vw); gap: 6px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--panel); padding: 8px; box-shadow: var(--shadow-soft); }
.save-options-menu button { width: 100%; }
.questionnaire-stage-nav { grid-template-columns: repeat(4, 44px); justify-content: center; gap: 12px; padding-block: 12px; background: var(--panel); }
.questionnaire-stage-link { display: flex; min-width: 44px; width: 44px; align-items: center; justify-content: center; border-radius: 999px; padding: 0px; min-height: 48px; background: transparent; border: 0px; font-weight: 500; }
.questionnaire-stage-link b { background: transparent; }
.questionnaire-stage-link.is-active { border-color: var(--brand); color: var(--ink-strong); background: var(--selection); }
.questionnaire-stage-link.is-active b { background: transparent; color: var(--brand-dark); }
.questionnaire-stage-link.is-complete:not(.is-active) { border-color: var(--line-success); color: var(--green); }
@media (max-width: 920px) { .safety-detail-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
.safety-detail-grid .data-safety-item:last-of-type { grid-column: 1 / -1; }
.capture-primary-grid { grid-template-columns: 1fr; }
.access-count-selector .segmented-options.access-count-primary { grid-template-columns: repeat(3, minmax(58px, 1fr)); }
}
@media (max-width: 700px) { .durability-strip.safety-summary { margin-inline: 10px; }
.safety-summary > summary { grid-template-columns: 24px minmax(0px, 1fr) auto; }
.safety-summary > summary > span:not(.safety-summary-mark) { display: none; }
.continue-project-row { grid-template-columns: minmax(0px, 1fr); }
.continue-project-actions { justify-content: flex-end; }
.project-card { grid-template-columns: minmax(0px, 1fr); }
.project-card-controls { justify-content: flex-end; }
.capture-actions { grid-template-columns: minmax(0px, 1fr) auto; }
.capture-actions .line-save-feedback { grid-column: 1 / -1; justify-content: flex-start; }
.product-config-disclosure > summary, .product-config-body, .photo-capture-disclosure > summary, .photo-capture-body { padding-inline: var(--space-3); }
.questionnaire-stage-nav { grid-template-columns: repeat(4, 44px); gap: 8px; }
}
@media (max-width: 430px) { .safety-detail-grid { display: flex; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; }
.safety-detail-grid .data-safety-item, .safety-detail-grid .data-safety-item:last-of-type { flex: 0 0 116px; min-height: 52px; grid-column: auto; border-bottom: 0px; }
.draft-resume-banner { padding: 6px 8px; }
.draft-resume-banner span { display: none; }
}
.dashboard-summary { display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 8px; overflow: visible; border: 0px; }
.dashboard-summary-item { display: grid; align-content: start; justify-items: start; gap: 6px; border: 0px; border-radius: 14px; background: var(--panel); box-shadow: var(--shadow); padding: 14px 12px; text-align: left; }
.dashboard-summary-item:hover, .dashboard-summary-item:focus-visible { background: var(--panel-soft); }
.dashboard-summary-item span { color: var(--muted); font-size: 12px; font-weight: 500; }
.dashboard-summary-item strong { color: var(--ink-strong); line-height: 1; font-size: 22px; font-weight: 600; }
.dashboard-tile-icon { width: 18px; height: 18px; opacity: 0.85; color: var(--ink); }
.dashboard-summary-item.status-to_quote .dashboard-tile-icon { color: var(--warning); }
.dashboard-summary-item.status-completed .dashboard-tile-icon { color: var(--success); }
.dashboard-summary-item.status-conflicts .dashboard-tile-icon { color: var(--muted); }
.dashboard-summary-item.has-issues { box-shadow: var(--shadow), inset 0 0 0 1.5px var(--line-danger); background: var(--red-tint); }
.dashboard-summary-item.has-issues strong, .dashboard-summary-item.has-issues .dashboard-tile-icon, .project-status-tab.status-conflicts.has-issues:not(.is-active) strong { color: var(--danger); }
.continue-section, .active-project-section { gap: var(--space-4); }
.all-projects-heading { display: flex; align-items: end; justify-content: space-between; gap: var(--space-3); margin-top: var(--space-2); }
.all-projects-heading h3, .all-projects-heading p { margin: 0px; }
.all-projects-heading > span { color: var(--muted); font-size: 0.82rem; font-weight: 600; }
.project-operational-line { color: var(--muted); font-size: 0.8rem; }
.project-attention { display: block; margin-top: 6px; color: rgb(128, 81, 0); font-size: 0.78rem; font-style: normal; font-weight: 600; }
.project-attention.is-error { color: var(--danger); }
.compact-project-empty, .schedule-empty { display: grid; min-height: 118px; place-items: center; align-content: center; gap: 6px; padding: var(--space-5); text-align: center; }
.compact-project-empty strong, .schedule-empty strong { color: var(--ink); }
.compact-project-empty span, .schedule-empty span { color: var(--muted); }
.schedule-empty .compact-action { margin-top: 6px; }
.cutout-toggle input:checked + span::before, .cutout-both-button[aria-pressed="true"]::before { content: "✓"; margin-right: 7px; font-size: 0.8rem; text-transform: none; }
.cutouts-section.is-both-active .cutout-toggle input:checked + span { border-color: var(--line-danger); background: var(--red-tint); color: var(--ink); box-shadow: none; }
.cutouts-section.is-both-active .cutout-both-button[aria-pressed="true"] { border-color: var(--brand); background: var(--red-soft); color: var(--brand-dark); box-shadow: rgba(237, 28, 36, 0.12) 0px 0px 0px 1px inset; }
.cutout-link-help { margin: -2px 0px 8px; color: var(--muted); font-size: 0.76rem; text-align: right; }
.cutout-link-help[hidden] { display: none; }
.cutout-side-entry { border-left-width: 2px; border: 0px; background: transparent; padding: 0px; }
.access-door-entry { border-left-width: 2px; background: var(--panel); padding: 10px 12px; }
.cutout-side-entry textarea, .access-door-notes textarea { min-height: 76px; resize: vertical; }
.cutouts-section > .field textarea { min-height: 112px; }
.access-door-controls { gap: 8px; }
.survey-sheet { table-layout: fixed; }
.survey-sheet th, .survey-sheet td { padding: 10px 9px; }
.survey-sheet th:first-child, .survey-sheet td:first-child { width: 48px; }
.survey-sheet .schedule-location { width: 160px; }
.schedule-location strong, .schedule-location span, .schedule-product small { display: block; }
.schedule-location span, .schedule-product small, .schedule-size span { margin-top: 3px; color: var(--muted); font-size: 0.75rem; }
.survey-sheet .schedule-product { width: 175px; }
.survey-sheet .schedule-access { width: 250px; color: var(--ink-soft, var(--ink)); font-size: 0.82rem; line-height: 1.38; }
.survey-sheet .photo-cell { width: 66px; text-align: center; }
.survey-sheet .row-actions { width: 104px; min-width: 104px; }
.schedule-row-actions { display: flex; align-items: center; }
.schedule-edit-button { min-width: 54px; }
.schedule-overflow-menu > summary { height: 38px; }
@media (min-width: 1200px) { .desktop-sidebar { gap: 12px; padding: 20px 14px 16px; }
.sidebar-brand { padding: 2px 4px 12px; }
.sidebar-brand img { width: 168px; }
.sidebar-link { min-height: 48px; border-radius: var(--radius-sm); }
}
@media (max-width: 920px) { .dashboard-summary { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
.cutout-side-grid { grid-template-columns: 1fr; }
}
@media (max-width: 430px) { .access-door-controls { grid-template-columns: 1fr; }
.dashboard-summary-item { min-height: 64px; padding: 10px 12px; }
.dashboard-summary-item strong { font-size: 1.25rem; }
.all-projects-heading { align-items: center; }
}
@media (prefers-reduced-motion: reduce) { *, ::before, ::after { animation-iteration-count: 1 !important; animation-duration: 0s !important; transition-duration: 0s !important; scroll-behavior: auto !important; }
}
@media (max-width: 760px) { .sync-recovery-panel { align-items: stretch; flex-direction: column; }
.sync-recovery-panel .split-actions, .sync-recovery-panel .split-actions button { width: 100%; }
}
@media print { .screen-header-actions, .capture-actions, .project-card-controls { display: none !important; }
.app-layout { padding: 0px; }
.app-main-workspace { display: block; padding: 0px; }
}
.mobile-more-sheet { top: auto; bottom: calc(100% + 8px); margin-top: 0px; }
.mobile-more-menu[open] > summary { background: var(--red-soft); color: var(--brand-dark); }
@media (min-width: 821px) and (max-width: 1199px) { .mobile-bottom-nav { top: auto; bottom: 0px; margin: 0px; border-top: 1px solid var(--line); }
}
.survey-sheet { min-width: 1300px; }
.survey-sheet .schedule-size { width: 170px; white-space: normal; }
.survey-sheet .schedule-quantity { width: 70px; }
.survey-sheet .schedule-ready { width: 155px; }
.survey-sheet th.schedule-access { color: var(--on-brand); }
.survey-sheet td { overflow-wrap: anywhere; }
.survey-sheet .ready-pill, .survey-sheet .type-pill { white-space: normal; }
.schedule-notes { display: grid; margin-top: 8px; }
.schedule-note { min-width: 0px; display: grid; gap: 3px; }
.schedule-note > strong { color: var(--muted); }
.schedule-note > span { white-space: pre-wrap; overflow-wrap: anywhere; }
.schedule-notes-row td { background: var(--panel-soft); }
.schedule-notes-row .schedule-notes { margin: 0px; grid-template-columns: repeat(2, minmax(0px, 1fr)); }
.line-capture-summary { white-space: pre-wrap; overflow-wrap: anywhere; }
@media (max-width: 1199px) { .survey-sheet-wrap { display: none; }
.mobile-line-list { display: grid; gap: 10px; padding: 12px; }
.compact-line-card .line-card-main { grid-template-columns: minmax(0px, 1fr); }
.compact-line-card h3, .compact-line-card .meta-line { white-space: normal; overflow-wrap: anywhere; }
}
.app-active { font-size: 16px; }
.app-main-workspace { max-width: 1440px; padding: 24px 24px 112px; }
.app-layout { display: block; }
.desktop-sidebar { display: none; }
.touch-appbar { display: grid; margin: -16px -18px 18px; min-height: 64px; background: var(--panel-bar); z-index: 85; }
.touch-account { display: grid; text-align: left; gap: 2px; }
.touch-account span { font-size: 12px; font-weight: 400; }
.touch-brand { white-space: nowrap; font-weight: 650; color: var(--ink); }
.touch-context strong { font-size: 14px; }
.touch-context span { font-size: 12px; }
.mobile-bottom-nav { display: grid; position: fixed; inset: auto 0px 0px; margin: 0px; min-height: 64px; z-index: 90; }
.global-bottom-nav { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
.survey-bottom-nav { grid-template-columns: repeat(4, minmax(0px, 1fr)); }
.mobile-bottom-nav .app-area-tab { min-width: 0px; padding: 8px 4px; font-size: 15px; border-radius: 8px; }
.app-area-tab.is-active { color: var(--ink-strong); background: var(--selection); box-shadow: none; border-color: transparent; }
.survey-workflow-nav, .active-project-header .workspace-header-top { display: none; }
.active-project-header .screen-header { display: block; margin: 0px 0px 18px; }
.has-active-survey .screen-title-block h2 { line-height: 1.2; overflow: visible; white-space: normal; font-size: 24px; font-weight: 650; }
.has-active-survey .screen-meta { display: block; line-height: 1.5; margin-bottom: 4px; font-size: 14px; }
.has-active-survey .screen-title-block .meta-line { display: block; font-size: 14px; line-height: 1.5; margin-top: 5px; }
.screen-title-block h2 { line-height: 1.2; font-weight: 650; }
.screen-header-actions { width: auto; }
.screen-header-actions:empty { display: none; }
.safety-status-line { display: flex; align-items: center; gap: 10px; padding: 12px 14px; flex-wrap: wrap; }
.safety-status-line > div:first-of-type { flex: 1 1 0%; display: grid; gap: 4px; min-width: 0px; }
.safety-status-line strong { line-height: 1.45; font-size: 14px; font-weight: 500; }
.safety-status-line > div > span { font-size: 13px; line-height: 1.4; color: var(--muted); }
.safety-status-line > button { min-height: 44px; font-size: 14px; }
.durability-strip { margin: 0px 0px 18px; padding: 0px; position: relative; overflow: visible; }
.safety-details summary { min-width: 44px; min-height: 44px; display: flex; align-items: center; cursor: pointer; font-size: 13px; }
.safety-details[open] { flex-basis: 100%; }
.safety-details .safety-detail-grid { position: static; display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 12px; border-top: 1px solid var(--line); padding-top: 14px; background: var(--panel); padding: 20px; border: 1px solid var(--line); border-radius: 8px; }
.safety-detail-grid .data-safety-item { min-width: 0px; overflow-wrap: anywhere; }
.safety-detail-grid button { grid-column: 1 / -1; }
.safety-summary-mark { flex: 0 0 auto; }
.survey-summary-line { font-size: 14px; margin: 0px; color: var(--muted); display: none !important; }
.dashboard-summary { grid-template-columns: repeat(4, minmax(0px, 1fr)); }
.dashboard-summary-item { min-height: 74px; padding: 16px; }
.dashboard-summary-item span { text-transform: none; font-size: 13px; font-weight: 500; }
.dashboard-summary-item strong { font-size: 24px; font-weight: 550; }
.projects-workspace { gap: 24px; }
.continue-section { border: 0px; background: transparent; padding: 0px; box-shadow: none; }
.continue-project-row { gap: 12px; padding: 20px 24px; border-left: 0px; }
.continue-project-main strong { line-height: 1.35; white-space: normal; font-size: 17px; font-weight: 600; }
.continue-project-main span { font-size: 14px; line-height: 1.4; }
.continue-project-main small { font-size: 13px; line-height: 1.5; }
.continue-project-main { min-width: 0px; text-align: left; }
.project-status-tabs { display: flex; overflow: visible; gap: 4px; flex-wrap: nowrap; overflow-x: auto; }
.project-status-tab { min-height: 44px; padding: 10px 9px; font-size: 14px; flex: 0 0 auto; font-weight: 550; }
.project-status-tab strong { font-size: 12px; }
.status-section-heading h3, .all-projects-heading h3 { font-size: 19px; }
.register-shown-above { font-size: 14px; margin: 0px 0px 12px; color: var(--muted); }
.compact-empty { display: grid; gap: 6px; padding: 20px; }
.compact-empty span { font-size: 14px; }
.account-waiting { padding: 18px 0px; border-top: 1px solid var(--line); }
.account-waiting p { line-height: 1.5; margin: 8px 0px; }
.account-copy { background: transparent; color: var(--ink); padding: 0px; border: 0px; text-align: left; }
.account-copy span { white-space: normal; }
button { min-height: 44px; min-width: 44px; }
.app-area-tab, .row-jump { min-height: 44px; }
.schedule-filter { min-height: 44px; white-space: nowrap; font-weight: 500; border: 0px; }
.settings-tab { min-height: 44px; font-weight: 500; }
.table-button, .photo-upload { min-height: 44px; font-weight: 550; box-shadow: none; }
.card-overflow-menu > summary { min-width: 44px; width: auto; height: 44px; min-height: 44px; padding: 10px; font-size: 14px; }
.command-more-menu > summary { min-width: 64px; min-height: 44px; display: flex; align-items: center; justify-content: center; padding: 10px 14px; }
.command-more-panel, .overflow-menu-panel, .mobile-more-sheet { min-width: 220px; max-width: calc(-24px + 100vw); max-height: 65vh; overflow-y: auto; overscroll-behavior: contain; border-radius: 10px; box-shadow: var(--shadow); padding: 8px; }
.command-more-panel button, .overflow-menu-panel button, .mobile-more-sheet button { font-size: 15px; text-align: left; min-height: 48px; font-weight: 500; }
.menu-group { border-top: 1px solid var(--line); padding-top: 8px; margin-top: 2px; }
.command-more-panel .danger-text, .overflow-menu-panel .danger-text { color: var(--danger); }
.menu-viewport-panel { position: fixed !important; z-index: 150 !important; margin: 0px !important; }
.workspace-more[open] > summary { background: var(--red-soft); color: var(--brand-dark); }
.survey-sheet-wrap { display: none !important; }
.mobile-line-list { display: grid !important; gap: 0px; padding: 0px 24px; }
.mobile-area-heading { font-size: 13px; letter-spacing: 0.04em; text-transform: uppercase; padding: 0px; margin: 4px 0px 0px; }
.compact-line-card { padding: 20px 0px; border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-bottom: 1px solid var(--line); border-radius: 0px; background: transparent; }
.compact-line-card .line-card-main { display: grid; grid-template-columns: minmax(0px, 1fr) auto; gap: 14px; align-items: start; }
.compact-line-card .line-card-main > div { min-width: 0px; }
.compact-line-card h3 { line-height: 1.4; white-space: normal; overflow: visible; font-weight: 600; font-size: 17px; margin: 0px; }
.compact-line-card .row-kicker { font-size: 12px; }
.compact-line-card .meta-line { color: var(--ink); line-height: 1.5; white-space: normal; font-size: 18px; font-weight: 600; }
.line-capture-summary { font-size: 14px; line-height: 1.55; margin: 6px 0px; }
.compact-line-card .line-status { display: grid; gap: 8px; align-items: start; text-align: left; }
.compact-line-card .line-status > span:first-child { font-size: 12px; }
.ready-pill { min-height: 26px; font-size: 12px; white-space: normal; border: 0px; background: transparent; padding: 0px; font-weight: 500; }
.schedule-notes { border-top: 1px solid var(--line); padding-top: 10px; gap: 12px; border: 0px; padding: 8px 0px 0px; }
.schedule-notes:empty { display: none; }
.schedule-note { font-size: 14px; line-height: 1.55; }
.schedule-note > strong { font-size: 13px; font-weight: 500; }
.line-card-actions { margin-top: 14px; padding: 0px; border: 0px; }
.schedule-row-actions { gap: 10px; flex-wrap: wrap; }
.schedule-row-actions > button, .schedule-row-actions .photo-upload { font-size: 14px; min-width: 44px; }
.schedule-overflow-menu > summary { min-width: 44px; width: 44px; }
.row-jump-list { padding: 12px 16px; align-items: center; gap: 8px; max-width: 100%; overflow: auto; display: none; }
.row-jump-list > span { font-size: 13px; flex: 0 0 auto; }
.row-jump { min-width: 64px; white-space: nowrap; flex: 0 0 auto; }
.schedule-filter-strip { flex-wrap: nowrap; overflow: auto; }
.schedule-header-v2 { gap: 12px; flex-wrap: wrap; padding: 20px 24px !important; }
.schedule-header-v2 h2 { font-size: 20px; }
.schedule-header-v2 .meta-line { font-size: 13px; line-height: 1.5; white-space: normal; }
.product-code-detail { overflow-wrap: anywhere; font-size: 14px; }
[data-line-anchor], .survey-project-details { scroll-margin-top: 220px; }
@media (min-width: 960px) and (orientation: landscape), (min-width: 1200px) { .app-layout { display: grid; grid-template-rows: auto; align-items: start; grid-template-columns: 200px minmax(0px, 1fr); }
.desktop-sidebar { display: flex; position: sticky; top: 0px; height: 100vh; min-height: 0px; overflow-y: auto; flex-direction: column; gap: 14px; background: white; border-right: 1px solid var(--line); padding: 32px 16px 24px; }
.sidebar-brand img { width: 148px; height: auto; }
.sidebar-brand { padding: 0px 0px 24px; }
.sidebar-nav { display: grid; gap: 8px; }
.sidebar-link { display: flex; gap: 10px; align-items: center; width: 100%; justify-content: flex-start; min-height: 48px; padding: 10px; border-radius: 8px; }
.sidebar-link.is-active { background: var(--red-soft); }
.sidebar-spacer { flex: 1 1 0%; }
.account-dock { display: grid; grid-template-columns: 32px minmax(0px, 1fr); gap: 8px; padding: 8px 0px 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; border-image: none; border-top: 1px solid var(--line); }
.account-avatar { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--ink); color: white; }
.account-copy strong { display: block; white-space: normal; overflow: visible; font-size: 13px; }
.account-copy span { display: block; white-space: normal; overflow: visible; }
.account-copy span { font-size: 12px; color: var(--muted); }
.account-signout { grid-column: 1 / -1; width: 100%; }
.compact-status-control { min-width: 0px; max-width: 100%; text-align: left; padding: 10px; border-radius: 8px; }
.compact-status-control strong { font-size: 12px; white-space: normal; }
.touch-appbar, .mobile-bottom-nav { display: none; }
.app-main-workspace { padding: 32px 40px 80px; }
.active-project-header { position: sticky; top: 0px; z-index: 80; background: var(--paper); padding: 12px 0px 0px; margin: -12px 0px 18px; border-bottom: 1px solid var(--line); }
.active-project-header .workspace-header-top { align-items: center; justify-content: space-between; margin-bottom: 8px; }
.back-projects { font-size: 13px; padding: 6px 0px; background: transparent; border: 0px; }
.active-project-header .screen-title-block h2 { font-size: 24px; }
.survey-workflow-nav { display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 6px; padding-bottom: 8px; }
.survey-workflow-nav .app-area-tab { font-size: 16px; min-height: 48px; min-width: 110px; }
}
@media (max-width: 600px) { .app-main-workspace { padding: 16px 16px 112px; }
.touch-appbar { margin: -12px -12px 14px; padding: 8px 12px; gap: 8px; }
.touch-brand img { width: 98px; }
.touch-context strong, .touch-context span { font-size: 12px; }
.touch-account { padding: 6px 8px; font-size: 12px; }
.touch-account span { max-width: 110px; }
.has-active-survey .screen-title-block h2 { font-size: 22px; }
.dashboard-summary { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
.projects-command-row { grid-template-columns: 1fr; }
.projects-command-row > button { width: 100%; }
.continue-section { padding: 12px; }
.continue-project-row { padding: 12px 0px; flex-wrap: wrap; }
.continue-project-main { flex-basis: 100%; }
.continue-project-actions { width: 100%; justify-content: flex-end; }
.compact-line-card { padding: 14px; }
.compact-line-card .line-card-main { grid-template-columns: 1fr; }
.compact-line-card .line-status { justify-content: space-between; align-items: center; text-align: left; display: block; }
.mobile-line-list { padding: 0px 16px; }
.safety-status-line { padding: 10px; gap: 8px; display: grid; grid-template-columns: 20px minmax(0px, 1fr) auto; }
.safety-details .safety-detail-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
.safety-status-line > button { grid-area: 2 / 2 / auto / -1; justify-self: start; margin-left: 0px; }
.settings-metrics-grid { grid-template-columns: 1fr; }
}
@media print { .active-project-header, .touch-appbar, .mobile-bottom-nav, .desktop-sidebar { display: none !important; }
.app-layout { display: block; }
}
.mobile-bottom-nav, .touch-appbar { backdrop-filter: none; }
.schedule-filter-disclosure { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.schedule-filter-disclosure > summary { min-height: 44px; display: flex; align-items: center; padding: 8px 16px; cursor: pointer; font-size: 14px; font-weight: 600; }
.dimension-caption { margin: 6px 0px 0px; font-size: 12px; color: var(--muted); }
@media (min-width: 960px) and (orientation: landscape), (min-width: 1200px) { .compact-line-card { position: relative; }
.compact-line-card .line-card-main { display: block; }
.compact-line-card .line-card-main > div:first-child { display: grid; grid-template-columns: minmax(0px, 1fr) minmax(0px, 1fr); column-gap: 24px; }
.compact-line-card .row-kicker, .compact-line-card h3 { grid-column: 1 / -1; padding-right: 68px; }
.compact-line-card .dimension-caption, .compact-line-card .meta-line, .compact-line-card .line-capture-summary { grid-column: 1; }
.compact-line-card .schedule-notes { grid-area: 3 / 2 / span 5; margin: 0px; border-top: 0px; border-left: 1px solid var(--line); align-content: start; border: 0px; padding: 0px; }
.compact-line-card .line-status { position: absolute; top: 18px; right: 64px; }
.mobile-area-heading { margin: 0px; }
.has-active-survey .screen-content { gap: 12px; }
}
.mobile-bottom-nav { background: var(--panel); }
.checkpoint-diagnostics { grid-column: 1 / -1; }
.checkpoint-diagnostics p { font-size: 13px; overflow-wrap: anywhere; }
.active-header-condensed .active-project-header { position: sticky; top: 0px; z-index: 80; background: var(--paper); padding: 8px 0px; margin-top: -8px; }
.active-header-condensed .active-project-header .screen-header { display: none; }
.active-header-condensed .active-project-header .compact-project-identity { display: flex; align-items: baseline; gap: 8px; min-width: 0px; }
.active-header-condensed .active-project-header .compact-project-identity strong { font-size: 16px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.active-header-condensed .active-project-header .compact-project-identity span { font-size: 12px; color: var(--muted); white-space: nowrap; }
.active-header-condensed .active-project-header .compact-header-safety { display: block; margin: 4px 0px 6px; min-height: 36px; padding: 4px 10px; }
@media (min-width: 960px) and (orientation: landscape), (min-width: 1200px) { .active-project-header { display: grid; grid-template-columns: auto minmax(0px, 1fr) auto; gap: 6px 14px; margin-bottom: 16px; padding-top: 0px; }
.active-project-header .workspace-header-top { display: contents; }
.active-project-header .screen-header { grid-area: 1 / 1 / auto / -1; margin: 0px 0px 4px; margin-bottom: 12px; }
.active-project-header .back-projects { grid-area: 2 / 1; font-size: 13px; }
.active-project-header .workspace-more { grid-area: 2 / 3; }
.active-project-header .survey-workflow-nav { grid-area: 2 / 2; padding: 0px 0px 6px; display: flex; gap: 8px; justify-content: flex-start; }
.active-project-header .survey-workflow-nav .app-area-tab { min-height: 44px; font-size: 15px; padding-inline: 8px; }
.durability-strip.safety-summary { margin: 0px 0px 14px; }
.active-project-header .compact-project-identity, .active-project-header .compact-header-safety { display: none; }
.active-header-condensed .active-project-header { padding: 8px 0px 0px; }
.active-header-condensed .active-project-header .screen-header { display: none; }
.active-header-condensed .active-project-header .compact-project-identity { display: flex; grid-area: 1 / 1 / auto / -1; align-items: baseline; gap: 8px; min-width: 0px; }
.active-header-condensed .active-project-header .compact-project-identity strong { font-size: 16px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.active-header-condensed .active-project-header .compact-project-identity span { font-size: 12px; color: var(--muted); white-space: nowrap; }
.active-header-condensed .active-project-header .compact-header-safety { display: block; grid-area: 2 / 1 / auto / -1; justify-self: start; min-height: 36px; padding: 4px 10px; }
.active-header-condensed .active-project-header .workspace-header-top, .active-header-condensed .active-project-header .survey-workflow-nav { grid-row: 3; }
.safety-status-line { padding: 8px 12px; }
.schedule-panel { position: relative; }
.schedule-panel > .row-jump-list { padding-right: 185px; min-height: 66px; }
.schedule-panel .schedule-filter-disclosure:not([open]) { right: 12px; top: 68px; border: 0px; background: var(--panel); position: static; }
.schedule-panel .schedule-filter-disclosure > summary { padding-inline: 10px; }
}
.purpose-selector { border: 0px; padding: 0px; margin: 0px; min-width: 0px; grid-column: 1 / -1; }
.purpose-selector legend { font-size: 16px; font-weight: 600; padding: 0px; margin-bottom: 10px; }
.purpose-selector-prominent { background: var(--panel-soft); border: 1px solid var(--line); border-radius: 12px; padding: 20px; margin: 8px 0px 20px; }
.purpose-selector-prominent legend { float: left; width: 100%; font-size: 22px; letter-spacing: -0.4px; }
.purpose-selector-intro { clear: both; color: var(--muted); margin: 0px 0px 16px; line-height: 1.5; }
.purpose-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 12px; }
.purpose-choice { position: relative; display: flex; align-items: flex-start; gap: 12px; min-height: 92px; padding: 16px; background: white; border: 1px solid var(--line-strong); border-radius: 10px; cursor: pointer; }
.purpose-choice input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.purpose-choice:has(input:checked) { border-color: var(--brand); background: var(--red-soft); box-shadow: inset 0 0 0 1px var(--brand); }
.purpose-choice:focus-within { outline: 3px solid var(--focus-ring); outline-offset: 3px; }
.purpose-choice-copy { display: grid; gap: 6px; min-width: 0px; }
.purpose-choice-copy strong { font-size: 16px; color: var(--ink-strong); }
.purpose-choice-copy small { font-size: 13px; line-height: 1.45; color: var(--muted); }
.purpose-choice-mark { flex: 0 0 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--line); margin-left: auto; color: transparent; }
.purpose-choice:has(input:checked) .purpose-choice-mark { color: white; background: var(--brand); border-color: var(--brand); }
.purpose-change-dialog .credential-dialog-card { border-top-color: var(--line-strong); }
.purpose-change-dialog h2 { font-size: 24px; }
.purpose-change-dialog button { min-height: 44px; }
.supply-only-panel { max-width: 1120px; scroll-margin-top: 150px; }
.supply-only-panel > summary { align-items: flex-start; gap: 20px; padding: 22px 24px; }
.site-questionnaire-panel.supply-only-panel > summary h3 { font-size: 24px; margin: 4px 0px 0px; letter-spacing: -0.5px; }
.supply-summary-copy { min-width: 0px; }
.supply-expanded-intro { color: var(--muted); font-size: 14px; font-weight: 400; line-height: 1.5; margin: 7px 0px 0px; max-width: 520px; }
.supply-only-panel .questionnaire-summary-status { flex-wrap: wrap; justify-content: flex-end; min-width: 150px; }
.supply-only-panel .questionnaire-status-pill { background: var(--amber-soft); color: rgb(133, 84, 0); white-space: normal; text-align: center; }
.supply-only-panel .questionnaire-status-pill.is-ready { background: var(--green-soft); color: var(--success); }
.supply-only-panel .questionnaire-progress i { background: var(--warning); }
.supply-only-panel:has(.questionnaire-status-pill.is-ready) .questionnaire-progress i { background: var(--success); }
.supply-collapsed-copy { display: grid; gap: 5px; margin-top: 12px; color: var(--muted); font-size: 14px; line-height: 1.45; }
.supply-collapsed-copy strong { color: var(--ink); }
.supply-collapsed-copy small { font-size: 12px; overflow-wrap: anywhere; }
.supply-only-panel[open] .supply-collapsed-copy, .supply-only-panel[open] .supply-edit-label, .supply-only-panel:not([open]) .supply-expanded-intro { display: none; }
.supply-edit-label { border: 1px solid var(--line-strong); border-radius: 8px; padding: 12px 20px; color: var(--ink); background: white; }
.supply-information-section { padding: 24px 0px; border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-bottom: 1px solid var(--line); background: transparent; }
.supply-information-section > header { margin-bottom: 18px; }
.supply-information-section h4 { letter-spacing: -0.2px; font-size: 18px; font-weight: 600; margin: 0px 0px 8px; }
.supply-information-section h4 small { margin-left: 8px; font-size: 12px; font-weight: 500; color: var(--muted); background: var(--panel-soft); padding: 4px 8px; border-radius: 20px; }
.supply-information-section > header p { margin: 0px; color: var(--muted); font-size: 14px; line-height: 1.5; }
.supply-information-section > header p span { white-space: nowrap; }
.supply-contact-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 24px; }
.supply-only-panel .field label { font-size: 14px; font-weight: 600; margin-bottom: 7px; }
.supply-only-panel input, .supply-only-panel select, .supply-only-panel button { min-height: 44px; font-size: 16px; }
.supply-only-panel textarea { min-height: 72px; font-size: 16px; line-height: 1.5; resize: vertical; }
.supply-only-panel summary { min-height: 44px; }
.supply-delivery-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 20px; align-items: start; }
.supply-location-card { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; border: 0px; border-radius: 0px; padding: 16px 0px; background: transparent; }
.supply-location-card > div, .supply-support-row > div { display: grid; gap: 5px; }
.supply-location-card span, .supply-support-row span { color: var(--muted); font-size: 13px; }
.supply-location-card > p, .supply-location-card > details { flex-basis: 100%; margin: 0px; font-size: 13px; overflow-wrap: anywhere; }
.supply-only-panel .questionnaire-policy-card { margin: 0px 0px 16px; border-color: var(--line); background: var(--panel-soft); box-shadow: none; }
.supply-support-grid { display: grid; grid-template-columns: 1fr; gap: 0px; }
.supply-support-row { border: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; gap: 12px; height: 100%; border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-radius: 0px; padding: 16px 0px; border-bottom: 1px solid var(--line); background: transparent; }
.supply-support-row strong, .supply-location-card strong { font-size: 14px; }
.supply-support-row button, .supply-location-card button { font-size: 13px; flex-shrink: 0; }
.supply-photo-restricted { color: var(--muted); font-size: 14px; margin-bottom: 0px; }
.supply-save-footer { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; padding: 18px 24px; border-top: 1px solid var(--line); background: var(--paper-warm); border-radius: 0px 0px 10px 10px; }
.supply-save-footer .supply-save-button { color: var(--brand-dark); border-color: var(--brand-dark); font-weight: 600; background: white; box-shadow: none; }
.supply-save-footer .questionnaire-save-state { font-size: 13px; color: var(--muted); }
@media (max-width: 900px) and (orientation: portrait), (max-width: 700px) { .purpose-choice-grid, .supply-contact-grid, .supply-delivery-grid, .supply-support-grid { grid-template-columns: 1fr; }
.purpose-selector-prominent { padding: 16px; }
.purpose-choice { min-height: 88px; }
.supply-only-panel > summary { padding: 20px; flex-wrap: wrap; }
.supply-only-panel .questionnaire-summary-status { justify-content: flex-start; width: 100%; }
.supply-information-section { padding: 22px 20px; }
.supply-save-footer { padding: 18px 20px; }
}
.checkpoint-recovery { padding: 20px; margin-bottom: 16px; border-left: 4px solid var(--warning); }
.checkpoint-recovery header { display: flex; justify-content: space-between; align-items: start; gap: 16px; margin-bottom: 12px; }
.checkpoint-recovery h3 { font-size: 20px; margin: 4px 0px; overflow-wrap: anywhere; }
.checkpoint-recovery p { margin: 8px 0px; line-height: 1.5; }
.checkpoint-recovery .split-actions { margin: 14px 0px; flex-wrap: wrap; }
.checkpoint-recovery button, .checkpoint-recovery summary { min-height: 44px; }
.checkpoint-recovery summary { display: flex; align-items: center; cursor: pointer; font-weight: 650; }
.checkpoint-difference-list { list-style: none; padding: 0px; margin: 10px 0px; display: grid; gap: 8px; }
.checkpoint-difference-list li { display: grid; gap: 4px; padding: 12px; background: var(--panel-soft); border-radius: 8px; overflow-wrap: anywhere; }
.checkpoint-difference-list span, .checkpoint-difference-list small { color: var(--muted); }
@media (max-width: 700px) { .checkpoint-recovery header { flex-wrap: wrap; }
.checkpoint-recovery .split-actions button { flex: 1 1 100%; }
}
.sidebar-link.is-active { color: var(--ink-strong); background: var(--selection); box-shadow: none; border-color: transparent; }
.sidebar-link .app-nav-icon { color: inherit; }
.projects-action-bar { order: -1; }
.continue-project-row .primary-button { background: var(--panel); color: var(--ink-strong); border-color: var(--line); box-shadow: none; min-height: 44px; }
.project-card-primary-actions .primary-button { background: var(--panel); color: var(--ink-strong); border-color: var(--line); box-shadow: none; }
.active-project-header { box-shadow: none; }
.capture-header h2 { font-size: 20px; font-weight: 600; }
.block-heading small { font-size: 14px; font-weight: 400; line-height: 1.5; }
.current-area-control > div > span { font-size: 13px; font-weight: 400; }
.primary-measure label { font-size: 14px; font-weight: 500; }
.quick-copy-row button { background: transparent; border: 0px; box-shadow: none; font-weight: 500; padding-inline: 0px; }
.builder-primary-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 24px; display: grid; }
.structured-section-heading > div > span { display: none; }
.cutout-link-choice { min-height: 44px; display: flex; align-items: center; gap: 8px; font-size: 14px; margin-bottom: 12px; }
.cutout-link-choice input { width: 20px; min-height: 20px; height: 20px; accent-color: var(--ink-strong); }
.field-note-disclosure { border-bottom: 1px solid var(--line); }
.field-note-disclosure > summary { min-height: 48px; display: flex; align-items: center; cursor: pointer; font-size: 15px; }
.field-note-disclosure .field { padding-bottom: 16px; }
.photo-capture-disclosure > summary b { color: var(--ink); font-size: 15px; font-weight: 500; }
.compact-line-card .line-capture-summary { color: var(--muted); font-size: 14px; font-weight: 400; }
.central-review-group.is-blocking button { color: var(--danger); }
.central-review-group.is-review button, .central-review-group.is-advisory button { color: var(--ink); }
.questionnaire-stage-card { border: 0px; background: transparent; border-radius: 0px; box-shadow: none; }
.questionnaire-question { border: 0px; background: transparent; padding: 16px 0px; }
.questionnaire-choice span { min-height: 44px; }
.supply-information-body { padding: 0px 24px 24px; }
.device-summary { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 0px 24px; margin: 16px 0px 24px; }
.device-summary > div { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding: 16px 0px; border-bottom: 1px solid var(--line); }
.device-summary strong { font-weight: 500; }
.device-diagnostics > summary { min-height: 48px; display: flex; align-items: center; cursor: pointer; font-weight: 500; }
.checkpoint-settings { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 24px; margin-bottom: 24px; }
.checkpoint-summary { grid-column: 1 / -1; }
.export-group { min-width: 0px; }
.export-group h3 { font-size: 18px; margin: 8px 0px 16px; }
.export-action-card strong { font-size: 18px; }
.export-action-card span { color: var(--muted); }
.login-shell.premium-login { display: block; width: min(100% - 32px, 460px); padding: 32px 0px; margin: 4vh auto; }
.premium-login .login-card { border: 0px; border-radius: 0px; background: transparent; box-shadow: none; padding: 24px; }
.login-hero .brand-logo { width: 152px; margin-bottom: 24px; }
.login-card .form-grid { gap: 24px; }
.login-card .primary-button { width: 100%; min-height: 48px; }
.login-help { margin-top: 24px; }
.login-help > summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; font-size: 14px; }
.login-reassurance { font-size: 14px; color: var(--muted); margin: 24px 0px 0px; }
body:not(.app-active) .topbar { display: none; }
.safety-summary.is-calm { border: 0px; background: transparent; }
.safety-summary.is-calm .safety-status-line { padding: 0px; }
.safety-summary.is-calm .safety-status-line > div > span { display: none; }
.safety-summary.is-calm .safety-summary-mark { background: transparent; }
@media (min-width: 960px) and (orientation: landscape), (min-width: 1200px) { .compact-line-card .line-card-actions { position: absolute; right: 0px; top: 12px; margin: 0px; }
}
@media (orientation: portrait), (max-width: 900px) { .capture-primary-grid { grid-template-columns: 1fr; }
.capture-actions { bottom: calc(64px + env(safe-area-inset-bottom)); }
.mobile-bottom-nav { padding-bottom: max(8px,env(safe-area-inset-bottom)); }
.structured-capture-fields { grid-template-columns: 1fr; }
.compact-line-card { position: relative; padding-right: 56px; }
.compact-line-card .line-card-actions { position: absolute; right: 0px; top: 12px; margin: 0px; }
}
@media (max-width: 600px) { .capture-primary-grid { padding: 20px; gap: 24px; }
.measurement-grid-v2 { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
.builder-primary-grid, .supply-contact-grid, .device-summary, .checkpoint-settings, .export-action-grid { grid-template-columns: 1fr; }
.structured-capture-fields { padding: 20px; }
.capture-actions { padding: 12px; flex-wrap: wrap; grid-template-columns: minmax(0px, 1fr) auto; }
.capture-actions .primary-button { min-width: 140px; }
.capture-actions .line-save-feedback { flex-basis: 100%; justify-self: start; }
.command-more-panel, .overflow-menu-panel, .mobile-more-sheet { max-width: calc(-24px + 100vw); }
.settings-card, .site-questionnaire-panel > summary { padding: 20px; }
.credential-dialog { width: calc(100% - 16px); margin: auto 8px 8px; }
}
.cutout-side-grid.is-shared { grid-template-columns: 1fr; }
.capture-actions .line-save-feedback { justify-self: end; }
.current-area-control .secondary-button { min-height: 44px; }
.project-status-tab.is-active .tab-count { color: var(--ink); background: var(--panel); }
.cutout-note-editor .field-help { font-weight: 400; }
.field-note-disclosure .field > label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@media (max-width: 600px) { .safety-status-line .safety-details { grid-area: 1 / 3; }
.safety-status-line .safety-details[open] { grid-area: 3 / 1 / auto / -1; }
}
@media (min-width: 960px) and (orientation: landscape), (min-width: 1200px) { .builder-primary-grid { grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 16px; }
.segmented-option span { font-size: 14px; padding-inline: 8px; }
}

/* 0.16.2 Review and Export experience */
.review-workspace, .export-workspace { width: min(100%, 1120px); margin-inline: auto; }
.review-workspace { gap: 20px; }
.review-summary-strip { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); padding: 0 0 16px; }
.review-summary-strip > span { min-height: 56px; }
.review-readiness-panel { overflow: hidden; border-left: 3px solid var(--success); box-shadow: none; }
.review-readiness-panel.is-warning { border-left-color: var(--warning); }
.review-readiness-panel.is-danger { border-left-color: var(--danger); }
.review-readiness-panel > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 20px 22px; }
.review-readiness-panel > header > div { display: grid; gap: 4px; }
.review-readiness-panel > header h2 { font-size: 24px; letter-spacing: -0.4px; }
.review-readiness-panel > header p:last-child { color: var(--muted); line-height: 1.45; }
.review-attention-section { margin: 0 22px; border-top: 1px solid var(--line); }
.review-attention-section > header { display: flex; align-items: center; justify-content: space-between; min-height: 48px; }
.review-attention-section > header > span { min-width: 26px; min-height: 26px; display: grid; place-items: center; border-radius: 999px; background: var(--panel-soft); font-size: 12px; font-weight: 700; }
.review-attention-section.is-blocking > header > span { color: var(--danger); background: var(--red-soft); }
.review-attention-section.is-advisory > header > span { color: var(--warning); background: var(--amber-soft); }
.review-attention-section article { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 64px; border-top: 1px solid var(--line); padding: 10px 0; }
.review-attention-section article > div { display: grid; gap: 3px; min-width: 0; }
.review-attention-section article p { color: var(--muted); font-size: 14px; }
.review-attention-section article button { flex: 0 0 auto; }
.review-information-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.review-summary-section { display: grid; align-content: start; gap: 14px; min-width: 0; border: 1px solid var(--line); border-radius: var(--radius); background: white; padding: 20px; box-shadow: none; }
.review-summary-section > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.review-summary-section h3 { margin-top: 4px; font-size: 19px; }
.review-summary-section > p { color: var(--muted); line-height: 1.5; overflow-wrap: anywhere; }
.review-summary-section > button { justify-self: start; margin-top: auto; }
.review-inline-list { display: flex; flex-wrap: wrap; gap: 6px 14px; color: var(--muted); font-size: 13px; }
.review-inline-list span::before { content: "✓"; margin-right: 5px; color: var(--success); }
.status-mark { flex: 0 0 auto; border-radius: 999px; padding: 5px 9px; background: var(--panel-soft); color: var(--muted); font-size: 12px; font-weight: 700; }
.status-mark.is-ready { background: var(--green-soft); color: var(--success); }
.status-mark.is-warning { background: var(--amber-soft); color: var(--warning); }
.review-supporting-summary dl { display: grid; gap: 0; margin: 0; }
.review-supporting-summary dl > div { display: flex; justify-content: space-between; gap: 12px; border-top: 1px solid var(--line); padding: 9px 0; }
.review-supporting-summary dt { color: var(--muted); }
.review-supporting-summary dd { text-align: right; font-weight: 600; }
.review-final-action { display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid var(--line); padding: 20px 0 4px; }
.review-final-action > div { display: grid; gap: 4px; }
.review-final-action span { color: var(--muted); font-size: 14px; }

.export-workspace { display: grid; gap: 20px; }
.export-intro { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; border-bottom: 1px solid var(--line); padding-bottom: 18px; }
.export-intro h2 { margin-top: 3px; font-size: 25px; }
.export-intro > div:first-child > p:last-child { margin-top: 5px; color: var(--muted); }
.export-readiness { display: grid; justify-items: end; gap: 5px; border-left: 3px solid var(--success); padding: 8px 0 8px 14px; text-align: right; }
.export-readiness.is-warning { border-left-color: var(--warning); }
.export-readiness span { color: var(--success); font-size: 13px; }
.export-dimension-note, .export-advisory-note { display: flex; align-items: center; gap: 10px; min-height: 44px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--panel-soft); padding: 10px 14px; }
.export-dimension-note span, .export-advisory-note span { color: var(--muted); font-size: 13px; }
.export-advisory-note { border-color: rgba(174, 103, 0, 0.24); background: var(--amber-soft); }
.export-advisory-note button { margin-left: auto; }
.export-outcome-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; }
.export-outcome-section { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: white; padding: 20px; box-shadow: none; }
.export-outcome-section > header { display: grid; gap: 4px; margin-bottom: 8px; }
.export-outcome-section > header h3 { font-size: 20px; letter-spacing: -0.25px; }
.export-outcome-section > header > p:last-child { color: var(--muted); font-size: 14px; line-height: 1.45; }
.export-action-row { display: flex; width: 100%; min-height: 78px; align-items: center; justify-content: space-between; gap: 16px; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: transparent; color: var(--ink); padding: 13px 0; text-align: left; box-shadow: none; }
.export-action-row:hover { background: var(--panel-soft); box-shadow: 10px 0 var(--panel-soft), -10px 0 var(--panel-soft); }
.export-action-copy { display: grid; gap: 3px; min-width: 0; }
.export-action-copy strong { color: var(--ink-strong); font-size: 16px; }
.export-action-copy > span { color: var(--muted); font-size: 14px; line-height: 1.35; }
.export-action-copy small { color: var(--muted); font-size: 12px; }
.export-download-label { flex: 0 0 auto; min-height: 38px; display: inline-flex; align-items: center; border: 1px solid var(--line-strong); border-radius: var(--radius-sm); background: white; padding: 7px 11px; color: var(--ink); font-size: 13px; font-weight: 700; }
.export-action-row.is-primary .export-download-label { border-color: var(--brand); background: var(--brand); color: white; }
.report-level-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); }
.report-level-actions button { display: grid; align-content: start; gap: 4px; min-height: 92px; border: 0; border-right: 1px solid var(--line); border-radius: 0; background: transparent; padding: 14px 10px; text-align: left; box-shadow: none; }
.report-level-actions button:last-child { border-right: 0; }
.report-level-actions button:hover { background: var(--panel-soft); }
.report-level-actions span { color: var(--muted); font-size: 12px; line-height: 1.35; }
.report-level-actions small { margin-top: 3px; color: var(--brand-dark); font-size: 11px; font-weight: 700; }
.export-report-options { min-height: 44px; border: 0; background: transparent; color: var(--muted); padding: 8px 0 0; font-weight: 600; }
.package-includes { margin: 12px 0 4px; color: var(--muted); font-size: 13px; line-height: 1.45; }
.export-advanced-disclosure { border: 1px solid var(--line); border-radius: var(--radius); background: white; overflow: hidden; }
.export-advanced-disclosure > summary { display: flex; min-height: 58px; align-items: center; justify-content: space-between; cursor: pointer; padding: 10px 18px; list-style: none; }
.export-advanced-disclosure > summary::-webkit-details-marker { display: none; }
.export-advanced-disclosure > summary::after { content: "+"; color: var(--muted); font-size: 20px; }
.export-advanced-disclosure[open] > summary::after { content: "−"; }
.export-advanced-disclosure > summary > span { display: grid; gap: 2px; }
.export-advanced-disclosure > summary small { color: var(--muted); font-weight: 400; }
.export-advanced-list { padding: 0 18px 6px; }
.export-workspace .debug-output:empty { display: none; }
.export-workspace .old-arm-preview, .export-workspace .installer-report-builder { scroll-margin-top: 110px; }
.import-previous-survey { display: inline-flex; align-items: center; justify-content: center; cursor: pointer; white-space: nowrap; }
.import-previous-survey input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }

@media (max-width: 900px), (orientation: portrait) { .review-summary-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.review-information-grid, .export-outcome-grid { grid-template-columns: 1fr; }
.export-intro { align-items: stretch; flex-direction: column; }
.export-readiness { justify-items: start; text-align: left; }
}
@media (max-width: 600px) { .review-summary-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.review-readiness-panel > header, .review-attention-section article, .review-final-action, .export-advisory-note { align-items: stretch; flex-direction: column; }
.review-readiness-panel > header { padding: 18px; }
.review-attention-section { margin-inline: 18px; }
.review-attention-section article button, .review-final-action button, .export-advisory-note button { width: 100%; margin-left: 0; }
.review-information-grid { gap: 12px; }
.review-summary-section, .export-outcome-section { padding: 16px; }
.report-level-actions { grid-template-columns: 1fr; }
.report-level-actions button { min-height: 64px; border-right: 0; border-bottom: 1px solid var(--line); }
.report-level-actions button:last-child { border-bottom: 0; }
.export-action-row { align-items: flex-start; }
.projects-command-row .import-previous-survey { order: 3; width: 100%; }
}

/* 0.16.3 field-trial reliability and Schedule density */
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.site-asset-error-detail { flex-basis: 100%; font-size: 13px; color: var(--muted); }
.site-asset-error-detail summary { min-height: 36px; display: inline-flex; align-items: center; cursor: pointer; font-weight: 600; }
.site-asset-error-detail span { display: block; padding: 4px 0 8px; }
.project-package-status { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 14px; align-items: center; margin-top: 10px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel-soft); }
.project-package-status[hidden] { display: none; }
.project-package-status strong, .project-package-status span { display: block; }
.project-package-status span { margin-top: 3px; color: var(--muted); font-size: 13px; }
.project-package-status.is-error { border-color: var(--warning); background: var(--amber-soft); }
.project-package-status.is-ready { border-color: var(--success); background: var(--green-soft); }
.project-package-status details { grid-column: 1 / -1; }
.project-package-status summary { min-height: 36px; display: flex; align-items: center; cursor: pointer; }
.project-package-status ul { margin: 4px 0 0; padding-left: 20px; color: var(--muted); }
.schedule-panel { border: 0; box-shadow: none; background: transparent; padding: 0; }
.schedule-panel > .schedule-header-v2 { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; min-height: 48px; padding: 0 0 12px; border-bottom: 1px solid var(--line); }
.schedule-panel > .schedule-header-v2 h2 { font-size: 21px; font-weight: 650; }
.schedule-panel > .schedule-header-v2 .meta-line { font-size: 13px; white-space: nowrap; }
.schedule-panel > .line-list { padding: 0; }
.schedule-search-field { display: block; padding: 12px 0 8px; }
.schedule-search-field input { min-height: 44px; width: 100%; padding: 10px 13px; border-radius: 10px; }
.schedule-filter-strip { display: flex; gap: 6px; overflow-x: auto; padding: 0 0 10px; scrollbar-width: none; }
.schedule-filter-strip::-webkit-scrollbar { display: none; }
.schedule-filter { flex: 0 0 auto; min-height: 40px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 999px; background: white; font-size: 13px; }
.schedule-filter.is-active { border-color: var(--ink); background: var(--ink); color: white; }
.schedule-filter strong { margin-left: 3px; font-size: 12px; }
.schedule-row-navigator { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px; align-items: center; padding: 0 0 10px; font-size: 13px; color: var(--muted); }
.schedule-row-navigator select { min-height: 40px; }
.mobile-line-list { padding: 0 !important; }
.mobile-area-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 10px 0 0 !important; padding: 9px 2px 6px !important; color: var(--muted); font-size: 12px !important; letter-spacing: .055em; }
.mobile-area-heading span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mobile-area-heading small { flex: 0 0 auto; font-size: 12px; letter-spacing: 0; text-transform: none; font-weight: 500; }
.compact-line-card { position: relative; padding: 12px 48px 12px 2px !important; }
.compact-line-card .line-card-main { grid-template-columns: minmax(0, 1fr) auto !important; gap: 10px !important; }
.compact-line-card .row-kicker { font-size: 11px; margin: 0 0 2px; color: var(--muted); }
.compact-line-card h3 { font-size: 16px !important; line-height: 1.25 !important; margin: 0 0 3px; }
.schedule-dimensions { margin: 0; font-size: 16px; line-height: 1.35; font-weight: 650; color: var(--ink-strong); }
.schedule-dimensions span { color: var(--muted); font-size: 13px; font-weight: 500; }
.compact-line-card .schedule-product-summary, .compact-line-card .schedule-access-summary { margin: 2px 0 0; font-size: 13px; line-height: 1.35; }
.compact-line-card .schedule-product-summary { color: var(--ink); }
.compact-line-card .schedule-access-summary { color: var(--muted); }
.compact-line-card .line-status { display: block !important; position: static !important; text-align: right; }
.compact-line-card .ready-pill { display: inline-flex; min-height: 24px; padding: 3px 7px; border-radius: 999px; background: var(--green-soft); color: var(--success); white-space: nowrap; }
.compact-line-card.is-danger .ready-pill, .compact-line-card.is-warning .ready-pill { background: var(--amber-soft); color: var(--warning); }
.compact-line-card .schedule-notes { margin-top: 5px; padding-top: 5px; gap: 5px; }
.compact-line-card .schedule-note { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 6px; font-size: 12px; line-height: 1.35; }
.compact-line-card .schedule-note > strong { font-size: 12px; }
.compact-line-card .line-card-actions { position: absolute; right: 0; bottom: 8px; margin: 0; }
.schedule-overflow-menu > summary { border: 0; background: transparent; }
.schedule-supporting-links { display: grid; gap: 0; border-top: 1px solid var(--line); margin-top: 12px; }
.schedule-supporting-links article { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.schedule-supporting-links article div { display: grid; gap: 3px; min-width: 0; }
.schedule-supporting-links article span { color: var(--muted); font-size: 13px; overflow-wrap: anywhere; }

@media (max-width: 959px) { .has-active-survey .active-project-header { display: block; position: sticky; top: 0; z-index: 80; margin: -12px 0 12px; padding: 8px 0; background: var(--paper); border-bottom: 1px solid var(--line); }
  .has-active-survey .active-project-header .workspace-header-top { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; margin: 0; }
  .has-active-survey .active-project-header .screen-header, .has-active-survey .active-project-header > .survey-workflow-nav { display: none; }
  .has-active-survey .active-project-header .compact-project-identity { display: grid; gap: 2px; min-width: 0; }
  .has-active-survey .active-project-header .compact-project-identity strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 15px; }
  .has-active-survey .active-project-header .compact-project-identity span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--muted); font-size: 11px; }
  .has-active-survey .active-project-header .back-projects { min-height: 44px; padding: 7px 4px 7px 0; font-size: 14px; font-weight: 650; }
  .has-active-survey .active-project-header .workspace-more > summary { min-width: 56px; padding-inline: 10px; }
}

@media (max-width: 600px) { .has-active-survey .active-project-header .workspace-header-top { gap: 6px; }
  .has-active-survey .active-project-header .compact-project-identity span { max-width: 42vw; }
  .schedule-panel > .schedule-header-v2 { align-items: flex-start; }
  .schedule-panel > .schedule-header-v2 .meta-line { white-space: normal; text-align: right; }
  .schedule-supporting-links article { align-items: flex-start; flex-direction: column; }
  .schedule-supporting-links button { width: 100%; }
  .project-package-status { grid-template-columns: 1fr; }
  .project-package-status button, .project-package-status details { grid-column: 1; }
}

/* 0.16.4 iPad backup recovery and Supply Only density */
.queued-file-issues { display: grid; gap: 6px; margin-top: 10px; }
.queued-file-issue { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px 16px; padding: 9px 10px; border: 1px solid rgba(183, 109, 0, .24); border-radius: 8px; background: rgba(255, 255, 255, .72); }
.queued-file-issue > div { display: grid; gap: 2px; min-width: 0; }
.sync-recovery-panel .queued-file-issue strong { margin: 0; font-size: 14px; }
.sync-recovery-panel .queued-file-issue span { overflow: hidden; color: var(--muted); font-size: 12px; font-weight: 500; text-overflow: ellipsis; text-transform: none; white-space: nowrap; }
.sync-recovery-panel .queued-file-issue > span:last-child { color: rgb(133, 84, 0); }

.supply-only-panel > summary { padding: 18px 20px; }
.site-questionnaire-panel.supply-only-panel > summary h3 { font-size: 22px; }
.supply-information-body { padding: 0 20px 18px; }
.supply-information-section { padding: 17px 0; }
.supply-information-section > header { margin-bottom: 12px; }
.supply-information-section h4 { margin-bottom: 4px; font-size: 17px; }
.supply-contact-grid { gap: 14px 16px; }
.supply-only-panel [data-questionnaire-field="x_coverad_site_address"],
.supply-only-panel [data-questionnaire-field="x_coverad_site_contact_email"] { grid-column: 1 / -1; }
.supply-only-panel input, .supply-only-panel select { min-height: 48px; }
.supply-only-panel textarea { min-height: 64px; }
.supply-delivery-grid { gap: 16px; }
.supply-location-card { padding: 8px 0; }
.supply-survey-grid { display: grid; grid-template-columns: minmax(180px, .7fr) minmax(280px, 1.3fr); align-items: start; gap: 16px; }
.supply-survey-grid .questionnaire-policy-card { margin: 0; }
.supply-survey-grid .questionnaire-policy-card > summary { min-height: 48px; padding: 10px 14px; }
.supply-support-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.supply-support-grid > [data-supply-photo-support] { min-width: 0; }
.supply-support-row { display: grid; align-content: space-between; align-items: start; gap: 12px; min-height: 106px; padding: 13px; border: 1px solid var(--line); border-radius: 9px; }
.supply-support-row button { width: 100%; }
.supply-save-footer { margin: 0 -20px -18px; padding: 14px 20px; }

@media (min-width: 640px) and (max-width: 959px) { .supply-only-panel > summary { flex-wrap: nowrap; }
  .supply-only-panel .questionnaire-summary-status { width: auto; min-width: 190px; justify-content: flex-end; }
  .supply-contact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .supply-delivery-grid { grid-template-columns: minmax(0, 1.35fr) minmax(220px, .65fr); }
  .device-settings-card .sync-recovery-panel { align-items: stretch; flex-direction: column; }
  .device-settings-card .sync-recovery-panel .split-actions { width: 100%; }
  .device-settings-card .sync-recovery-panel .split-actions button { flex: 1 1 0; }
}

@media (max-width: 639px) { .supply-survey-grid, .supply-support-grid { grid-template-columns: 1fr; }
  .supply-support-row { min-height: 0; }
  .queued-file-issue { grid-template-columns: 1fr; }
}

/* ---------------------------------------------------------------------------
   Dark theme (0.16.5)
   Pure token swap. Every surface, line and tint in the stylesheet resolves
   through a custom property, so no component rules are duplicated here.
   Follows the device setting by default; [data-theme] on <html> overrides it,
   which is what a manual Light/Dark/Automatic control in Settings would set.
   Brand red is lightened for dark surfaces so white label text stays legible.
--------------------------------------------------------------------------- */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --paper: #16171a; --paper-warm: #16171a;
    --panel: #202227; --panel-soft: #2a2c32; --panel-raised: #262930; --panel-bar: #1c1e22;
    --ink: #e7e7e4; --ink-strong: #f6f6f3; --muted: #a6a9a4; --subtle: #8d918b;
    --line: #35383e; --line-strong: #4a4e55;
    --brand: #e0141e; --brand-dark: #c81720; --on-brand: #fff;
    --success: #5bc98d; --warning: #e3ab4d; --danger: #f2767e;
    --red-soft: #3a2226; --green-soft: #1b3329; --amber-soft: #3a2e1b;
    --red-tint: #2a1e21; --amber-tint: #2b2519; --green-tint: #1a2b23;
    --line-danger: #7a4247; --line-warning: #7a6234; --line-success: #3f6b54;
    --selection: #2f323a; --focus-ring: rgb(120 170 230 / 45%); --focus-border: #7fa9cc;
    --shadow: 0 2px 8px rgb(0 0 0 / 45%); --shadow-soft: 0 1px 3px rgb(0 0 0 / 35%);
  }
}

:root[data-theme="dark"] {
  --paper: #16171a; --paper-warm: #16171a;
  --panel: #202227; --panel-soft: #2a2c32; --panel-raised: #262930; --panel-bar: #1c1e22;
  --ink: #e7e7e4; --ink-strong: #f6f6f3; --muted: #a6a9a4; --subtle: #8d918b;
  --line: #35383e; --line-strong: #4a4e55;
  --brand: #e0141e; --brand-dark: #c81720; --on-brand: #fff;
  --success: #5bc98d; --warning: #e3ab4d; --danger: #f2767e;
  --red-soft: #3a2226; --green-soft: #1b3329; --amber-soft: #3a2e1b;
  --red-tint: #2a1e21; --amber-tint: #2b2519; --green-tint: #1a2b23;
  --line-danger: #7a4247; --line-warning: #7a6234; --line-success: #3f6b54;
  --selection: #2f323a; --focus-ring: rgb(120 170 230 / 45%); --focus-border: #7fa9cc;
  --shadow: 0 2px 8px rgb(0 0 0 / 45%); --shadow-soft: 0 1px 3px rgb(0 0 0 / 35%);
}

:root[data-theme="dark"] { color-scheme: dark; }
:root[data-theme="light"] { color-scheme: light; }

/* The brand mark is a light-background JPEG; lift it slightly so it does not
   sit in a bright rectangle on a dark page. */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .brand-logo { filter: invert(1) hue-rotate(180deg); opacity: 0.92; }
}
:root[data-theme="dark"] .brand-logo { filter: invert(1) hue-rotate(180deg); opacity: 0.92; }
/* 0.16.7 consistent site-information experience */
.survey-information-panel { width: min(100%, 1120px); max-width: 1120px; scroll-margin-top: 150px; }
.survey-information-panel > summary { align-items: flex-start; gap: 20px; padding: 18px 20px; }
.survey-information-panel > summary h3 { margin: 4px 0 0; font-size: 22px; letter-spacing: -.45px; }
.survey-information-panel .questionnaire-summary-status { flex-wrap: wrap; justify-content: flex-end; min-width: 190px; }
.survey-information-panel .questionnaire-status-pill { background: var(--amber-soft); color: var(--warning); text-align: center; white-space: normal; }
.survey-information-panel .questionnaire-status-pill.is-ready { background: var(--green-soft); color: var(--success); }
.survey-information-panel .questionnaire-progress i { background: var(--warning); }
.survey-information-panel:has(.questionnaire-status-pill.is-ready) .questionnaire-progress i { background: var(--success); }
.survey-information-panel[open] .supply-collapsed-copy,
.survey-information-panel[open] .supply-edit-label,
.survey-information-panel:not([open]) .supply-expanded-intro { display: none; }

.supply-install-panel .questionnaire-stage-nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  justify-content: stretch;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  padding: 0 20px;
  background: var(--panel);
}
.supply-install-panel .questionnaire-stage-link {
  display: grid;
  width: auto;
  min-width: 0;
  min-height: 68px;
  grid-template-columns: minmax(0, 1fr);
  align-content: center;
  justify-items: start;
  gap: 3px;
  border: 0;
  border-bottom: 3px solid transparent;
  border-radius: 0;
  background: transparent;
  padding: 9px 10px;
  color: var(--muted);
  text-align: left;
  box-shadow: none;
}
.supply-install-panel .questionnaire-stage-link + .questionnaire-stage-link { border-left: 1px solid var(--line); }
.supply-install-panel .questionnaire-stage-link > span { display: flex; min-width: 0; align-items: center; gap: 8px; font-size: 14px; font-weight: 650; }
.supply-install-panel .questionnaire-stage-link em { overflow: hidden; color: var(--ink); font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.supply-install-panel .questionnaire-stage-link b { display: grid; width: 26px; height: 26px; flex: 0 0 26px; place-items: center; border: 1px solid var(--line-strong); background: var(--panel); color: var(--muted); font-size: 12px; }
.supply-install-panel .questionnaire-stage-link > strong { padding-left: 34px; color: var(--warning); font-size: 11px; font-weight: 650; }
.supply-install-panel .questionnaire-stage-link.is-active { border-bottom-color: var(--brand); background: var(--selection); color: var(--ink-strong); }
.supply-install-panel .questionnaire-stage-link.is-active b { border-color: var(--brand); background: var(--brand); color: var(--on-brand); }
.supply-install-panel .questionnaire-stage-link.is-complete:not(.is-active) b { border-color: rgba(23,122,70,.24); background: var(--green-soft); color: var(--success); }
.supply-install-panel .questionnaire-stage-link.is-complete > strong { color: var(--success); }

.supply-install-panel .questionnaire-stage-panel { background: var(--panel); }
.supply-install-panel .questionnaire-stage-panel > header { align-items: flex-start; padding: 20px 20px 4px; }
.supply-install-panel .questionnaire-stage-panel > header h4 { margin: 4px 0; font-size: 19px; letter-spacing: -.25px; }
.supply-install-panel .questionnaire-stage-panel > header p:last-child { margin: 0; font-size: 14px; line-height: 1.5; }
.supply-install-panel .questionnaire-stage-panel > header .stat-pill { margin-top: 4px; white-space: normal; text-align: center; }
.supply-install-panel .questionnaire-section-grid { gap: 14px 16px; padding: 14px 20px 18px; }
.supply-install-panel .field label,
.supply-install-panel .questionnaire-quick-field legend,
.supply-install-panel .questionnaire-choice-group legend { margin-bottom: 7px; color: var(--ink); font-size: 14px; font-weight: 600; }
.supply-install-panel input,
.supply-install-panel select,
.supply-install-panel button { min-height: 44px; font-size: 16px; }
.supply-install-panel textarea { min-height: 64px; font-size: 16px; line-height: 1.5; resize: vertical; }
.supply-install-panel .questionnaire-quick-option span { min-height: 48px; font-size: 14px; }
.supply-install-panel .questionnaire-more { border: 0; border-top: 1px solid var(--line); background: var(--panel-soft); }
.supply-install-panel .questionnaire-more > summary { min-height: 52px; padding: 10px 20px; }
.supply-install-panel .questionnaire-more-grid { padding: 16px 20px 18px; }
.supply-install-panel .questionnaire-policy-inline { margin: 12px 20px 2px; }
.supply-install-panel .questionnaire-required-note { margin: 0; border-top: 1px solid var(--line); padding: 12px 20px; background: var(--panel-soft); font-size: 12px; line-height: 1.45; }
.supply-install-panel .questionnaire-missing-review { margin: 14px 20px; }
.supply-install-actions { gap: 10px; padding: 14px 20px; background: var(--paper-warm); }
.supply-install-actions .questionnaire-save-state { margin-left: auto; color: var(--muted); font-size: 13px; }

@media (min-width: 640px) and (max-width: 959px) {
  .survey-information-panel > summary { flex-wrap: nowrap; }
  .supply-install-panel .questionnaire-section-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 639px) {
  .survey-information-panel > summary { flex-wrap: wrap; }
  .survey-information-panel .questionnaire-summary-status { width: 100%; min-width: 0; justify-content: flex-start; }
  .supply-install-panel .questionnaire-stage-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0 14px; }
  .supply-install-panel .questionnaire-stage-link { min-height: 62px; }
  .supply-install-panel .questionnaire-stage-link:nth-child(3) { border-left: 0; }
  .supply-install-panel .questionnaire-stage-panel > header { flex-direction: column; padding: 18px 16px 4px; }
  .supply-install-panel .questionnaire-section-grid,
  .supply-install-panel .questionnaire-more-grid { grid-template-columns: 1fr; padding-inline: 16px; }
  .supply-install-panel .questionnaire-policy-inline { margin-inline: 16px; }
  .supply-install-panel .questionnaire-required-note { padding-inline: 16px; }
  .supply-install-panel .questionnaire-missing-review { margin-inline: 16px; }
  .supply-install-actions { padding-inline: 16px; }
  .supply-install-actions .primary-button { order: -1; width: 100%; }
  .supply-install-actions .questionnaire-save-state { width: 100%; margin-left: 0; }
}
