:root {
  --bg: #f5f7f9;
  --surface: #ffffff;
  --surface-subtle: #eef2f5;
  --text: #1f2933;
  --muted: #63717c;
  --border: #d5dee5;
  --primary: #0082c9;
  --primary-hover: #006fae;
  --focus: #005f91;
  --success: #147a4b;
  --warning: #9a6700;
  --danger: #b42318;
  --shadow: 0 8px 22px rgba(31, 41, 51, .06);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--text);
  background: var(--bg);
}

/* Reporting workspaces */
.report-record-item .record-meta span:first-child { color: var(--primary-hover); font-weight: 700; }
.directory-list { display: grid; gap: 12px; }
.directory-item { display: flex; align-items: center; justify-content: space-between; gap: 20px; text-decoration: none; color: inherit; padding: 22px 24px; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.directory-item:hover { border-color: #9bcfe3; box-shadow: 0 6px 18px rgba(31, 41, 51, .09); transform: translateY(-1px); }
.directory-item h2 { margin: 0; color: #172b3a; font-size: 1.1rem; }
.directory-item p { margin: 7px 0 12px; color: var(--muted); }
.directory-item-top { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.directory-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; color: var(--muted); font-size: .88rem; }
.status-badge { display: inline-flex; align-items: center; min-height: 24px; padding: 2px 9px; border-radius: 999px; font-size: .74rem; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; }
.status-active { color: #17633d; background: #e5f5eb; }
.status-archived { color: #6f4f18; background: #fff3d9; }
.summary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 28px; }
.summary-tile { padding: 20px 22px; }
.summary-tile span { display: block; color: var(--muted); font-size: .86rem; }
.summary-tile strong { display: block; margin-top: 8px; color: #172b3a; font-size: 1.55rem; }
.inline-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin: 24px 0 14px; }
.inline-section-heading h2 { margin: 3px 0 0; }
.project-create, .project-admin { margin: 20px 0 28px; padding: 26px; }
.danger-action { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--border); }
.danger-outline { color: #a3342b; border-color: #e0aaa4; background: #fff; }
.form-span-2 { grid-column: span 2; }
.inline-filter { display: inline-flex; align-items: center; gap: 8px; color: var(--muted); font-size: .9rem; }
.inline-filter select { min-height: 40px; }
.pagination { display: flex; align-items: center; justify-content: center; gap: 18px; margin: 24px 0; }
.pagination span { color: var(--muted); font-weight: 700; }
@media (max-width: 760px) {
  .summary-grid { grid-template-columns: 1fr; }
  .inline-section-heading { align-items: stretch; flex-direction: column; }
  .inline-section-heading .button { width: 100%; }
  .form-span-2 { grid-column: auto; }
  .directory-item { padding: 18px; }
}
.logo-frame { width: 132px; height: 38px; display: inline-flex; align-items: center; justify-content: center; overflow: hidden; flex: 0 0 auto; border-radius: 5px; background: transparent; }
.logo-image { width: 100%; height: 100%; display: block; object-fit: contain; object-position: center; }
.share-panel { display: grid; gap: 15px; margin-bottom: 18px; padding: 20px 24px; }
.share-panel h2, .share-panel p { margin-bottom: 4px; }
.share-copy-row { display: flex; gap: 8px; }
.share-copy-row input { min-width: 0; flex: 1; background: var(--surface-subtle); color: var(--muted); }
.copy-status { min-height: 20px; color: var(--success); font-size: .82rem; font-weight: 700; }
.public-share-shell { max-width: 1180px; margin: 0 auto; padding: 42px 24px 72px; }
.share-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.share-heading h1 { margin-bottom: 7px; }
.public-pill { display: inline-flex; padding: 7px 10px; border-radius: 999px; background: #e8f4fb; color: var(--primary-hover); font-size: .76rem; font-weight: 750; white-space: nowrap; }
.share-intro { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 18px; padding: 18px 20px; }
.share-intro h2 { margin-bottom: 4px; }
.share-intro p { margin-bottom: 0; }
.share-count { color: var(--muted); font-size: .86rem; font-weight: 700; white-space: nowrap; }
.share-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.share-image-card { overflow: hidden; background: var(--surface); border: 1px solid var(--border); border-radius: 7px; box-shadow: 0 2px 8px rgba(31, 41, 51, .05); }
.share-image-button { position: relative; display: block; width: 100%; padding: 0; border: 0; background: #e9eef1; cursor: zoom-in; }
.share-image-button img { width: 100%; aspect-ratio: 4 / 3; display: block; object-fit: cover; }
.share-zoom { position: absolute; right: 10px; bottom: 10px; padding: 5px 8px; border-radius: 4px; background: rgba(31, 41, 51, .78); color: #fff; font-size: .72rem; font-weight: 700; }
.share-image-meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-width: 0; padding: 11px 12px; }
.share-image-meta strong { overflow: hidden; color: var(--text); font-size: .82rem; text-overflow: ellipsis; white-space: nowrap; }
.share-image-meta .button { flex: 0 0 auto; }
.share-footer { margin-top: 22px; color: var(--muted); font-size: .8rem; text-align: center; }
.lightbox { position: fixed; inset: 0; z-index: 30; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; justify-items: center; gap: 16px; padding: 24px; background: rgba(16, 24, 30, .92); }
.lightbox[hidden] { display: none; }
.lightbox img { width: min(100%, 1100px); height: min(78vh, 780px); object-fit: contain; }
.lightbox-close { justify-self: end; border: 1px solid rgba(255, 255, 255, .45); border-radius: 5px; background: transparent; color: #fff; padding: 8px 12px; font-weight: 700; }
.lightbox-open { overflow: hidden; }
@media (max-width: 900px) { .share-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 650px) { .logo-frame { width: 112px; height: 33px; } .share-heading, .share-intro { display: grid; gap: 12px; } .public-share-shell { padding: 28px 15px 54px; } .share-copy-row { display: grid; } .share-copy-row .button { width: 100%; } .share-gallery { grid-template-columns: 1fr; } .share-image-button img { aspect-ratio: 16 / 10; } .lightbox { padding: 15px; } }
* { box-sizing: border-box; }
html { background: var(--bg); }
body { margin: 0; min-width: 320px; background: var(--bg); color: var(--text); line-height: 1.5; }
a { color: var(--primary-hover); text-decoration: none; }
a:hover { text-decoration: underline; }
button, input, select, textarea { font: inherit; }
button, .button { cursor: pointer; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 3px solid rgba(0, 130, 201, .28); outline-offset: 2px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.topbar { background: var(--surface); border-bottom: 1px solid var(--border); position: sticky; top: 0; z-index: 10; }
.topbar-inner { max-width: 1180px; margin: 0 auto; min-height: 68px; padding: 12px 24px; display: flex; align-items: center; gap: 28px; }
.brand, .auth-brand { display: inline-flex; align-items: center; gap: 10px; color: var(--text); font-weight: 700; letter-spacing: 0; }
.brand:hover { text-decoration: none; }
.brand-mark { width: 30px; height: 30px; border-radius: 7px; background: var(--primary); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; }
.primary-nav { display: flex; align-items: center; gap: 4px; flex: 1; }
.nav-link { padding: 9px 12px; border-radius: 5px; color: var(--muted); font-size: .94rem; }
.nav-link:hover, .nav-link.active { background: #e8f4fb; color: var(--primary-hover); text-decoration: none; }
.primary-nav-action { color: var(--primary-hover); font-weight: 650; }
.nav-count { min-width: 20px; height: 20px; padding: 0 5px; margin-left: 5px; border-radius: 10px; background: #d83b3b; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: .72rem; font-weight: 700; }
.account-menu { margin-left: auto; position: relative; }
.account-menu summary { display: flex; align-items: center; gap: 8px; list-style: none; cursor: pointer; padding: 5px 0; }
.account-menu summary::-webkit-details-marker { display: none; }
.account-name { max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .9rem; }
.avatar { width: 31px; height: 31px; border-radius: 50%; background: #e8f4fb; color: var(--primary-hover); display: inline-flex; align-items: center; justify-content: center; font-size: .75rem; font-weight: 750; }
.chevron { width: 7px; height: 7px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg) translateY(-2px); }
.account-panel { position: absolute; right: 0; top: 46px; width: 210px; padding: 8px; border: 1px solid var(--border); background: var(--surface); box-shadow: var(--shadow); border-radius: 6px; }
.account-panel a, .account-panel button { width: 100%; display: block; padding: 9px 10px; border: 0; border-radius: 4px; background: transparent; color: var(--text); text-align: left; }
.account-panel a:hover, .account-panel button:hover { background: var(--surface-subtle); text-decoration: none; }
.account-role { padding: 8px 10px 10px; color: var(--muted); font-size: .78rem; border-bottom: 1px solid var(--border); margin-bottom: 4px; }
.account-signout { color: var(--danger) !important; }
.user-chip { margin-left: auto; color: var(--muted); font-size: .86rem; }
.container { max-width: 1180px; margin: 0 auto; padding: 38px 24px 72px; }
.auth-shell { min-height: calc(100vh - 69px); display: grid; place-items: center; padding: 40px 20px; }
.auth-card { width: min(100%, 470px); padding: 36px; background: var(--surface); border: 1px solid var(--border); border-radius: 8px; box-shadow: var(--shadow); }
.auth-brand { margin-bottom: 30px; }
.eyebrow { margin-bottom: 8px; color: var(--primary-hover); font-size: .74rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
h1, h2, p { margin-top: 0; }
h1 { margin-bottom: 12px; font-size: clamp(1.65rem, 3vw, 2.25rem); line-height: 1.15; letter-spacing: 0; }
h2 { font-size: 1.05rem; line-height: 1.25; }
.lead { max-width: 680px; margin-bottom: 26px; color: var(--muted); }
.muted, .file-help, .password-rules, .table-subtext, small { color: var(--muted); }
.surface { background: var(--surface); border: 1px solid var(--border); border-radius: 7px; box-shadow: var(--shadow); }
.narrow-surface { max-width: 640px; margin: 0 auto; padding: 28px; }
.page-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.workspace-heading { align-items: end; }
.heading-actions, .form-actions, .action-buttons, .filter-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.button { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; padding: 9px 16px; border: 1px solid var(--primary); border-radius: 5px; background: var(--primary); color: #fff; font-weight: 700; text-align: center; }
.button:hover { background: var(--primary-hover); border-color: var(--primary-hover); color: #fff; text-decoration: none; }
.button.secondary { background: var(--surface); color: var(--primary-hover); border-color: var(--border); }
.button.secondary:hover { background: var(--surface-subtle); color: var(--text); }
.button.linkish { background: transparent; border-color: transparent; color: var(--primary-hover); }
.button.danger-outline { background: var(--surface); color: var(--danger); border-color: #e5a7a3; }
.button.danger-outline:hover { background: #fff2f0; }
.small-button { min-height: 36px; padding: 7px 10px; font-size: .82rem; }
.full-button { width: 100%; }
.back-link { display: inline-block; margin-bottom: 14px; font-size: .88rem; font-weight: 650; }
.alert { margin-bottom: 20px; padding: 12px 14px; border-left: 4px solid var(--danger); background: #fff2f0; color: #7a271a; border-radius: 4px; }
.alert.success { border-color: var(--success); background: #edf9f2; color: #0d5c39; }
.alert.info { border-color: var(--primary); background: #eaf6fd; color: #07547b; }
.form-stack, .form-row { display: grid; gap: 7px; }
.form-stack { gap: 18px; }
.form-row label { color: var(--text); font-size: .88rem; font-weight: 680; }
input, select, textarea { width: 100%; min-height: 44px; border: 1px solid var(--border); border-radius: 5px; background: #fff; color: var(--text); padding: 9px 11px; }
textarea { min-height: 120px; resize: vertical; }
input:disabled { background: var(--surface-subtle); color: var(--muted); }
.password-field { display: flex; gap: 8px; }
.password-field input { flex: 1; }
.password-toggle { min-width: 62px; border: 1px solid var(--border); border-radius: 5px; background: var(--surface-subtle); color: var(--primary-hover); font-weight: 700; }
.character-count { color: var(--muted); font-size: .75rem; text-align: right; }
.auth-help { margin: 26px 0 0; color: var(--muted); font-size: .84rem; }
.form-section { padding: 26px; margin-bottom: 18px; }
.section-heading, .section-title-row, .detail-status-row, .upload-label-row, .progress-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.section-heading { justify-content: flex-start; margin-bottom: 22px; }
.section-heading h2, .section-heading p { margin-bottom: 4px; }
.section-number { width: 28px; height: 28px; flex: 0 0 28px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #e8f4fb; color: var(--primary-hover); font-weight: 800; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.form-row.full { grid-column: 1 / -1; }
.upload-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.upload-field { min-width: 0; }
.upload-label-row { align-items: center; margin-bottom: 7px; }
.file-limit { color: var(--muted); font-size: .75rem; }
.dropzone { min-height: 150px; position: relative; border: 1px dashed #9fb5c2; border-radius: 6px; background: #fbfdfe; padding: 14px; }
.dropzone.dragover { border-color: var(--primary); background: #eef8fd; }
.dropzone input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.dropzone-label { min-height: 78px; display: flex; align-items: center; justify-content: center; gap: 10px; color: var(--primary-hover); text-align: center; cursor: pointer; }
.dropzone-label > span:last-child { display: grid; gap: 3px; }
.dropzone-label strong { font-size: .92rem; }
.dropzone-label span span { color: var(--muted); font-size: .8rem; }
.dropzone-icon { width: 30px; height: 30px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: #e8f4fb; font-size: 1.3rem; }
.selected-files { display: grid; gap: 6px; }
.selected-file { display: flex; justify-content: space-between; gap: 12px; padding: 7px 9px; border-radius: 4px; background: var(--surface-subtle); font-size: .8rem; overflow: hidden; }
.selected-file span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.upload-summary { margin-top: 16px; color: var(--muted); font-size: .84rem; }
.upload-progress { margin-top: 18px; padding: 14px; border: 1px solid #b8dced; border-radius: 5px; background: #f1f9fd; }
.progress-track { height: 8px; margin-top: 10px; overflow: hidden; border-radius: 4px; background: #d8e8ef; }
.progress-track span { display: block; height: 100%; width: 0; background: var(--primary); transition: width .15s ease; }
.filter-surface { margin-bottom: 18px; padding: 15px; }
.search-input { display: flex; gap: 8px; }
.search-input input { flex: 1; }
.search-button { min-width: 84px; border: 1px solid var(--border); border-radius: 5px; background: var(--surface-subtle); color: var(--primary-hover); font-weight: 700; }
.filter-details { margin-top: 14px; border-top: 1px solid var(--border); padding-top: 14px; }
.filter-details summary { cursor: pointer; color: var(--primary-hover); font-weight: 700; }
.filter-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 15px; }
.filter-actions { margin-top: 16px; }
.record-list { display: grid; gap: 9px; }
.record-item, .requisition-item { overflow: hidden; background: var(--surface); border: 1px solid var(--border); border-radius: 7px; box-shadow: 0 2px 8px rgba(31, 41, 51, .04); }
.record-main { min-width: 0; display: grid; grid-template-columns: 135px minmax(0, 1fr) auto 18px; align-items: center; gap: 18px; padding: 18px 20px; color: inherit; }
.record-main:hover { background: #f9fbfc; text-decoration: none; }
.record-date { color: var(--muted); font-size: .82rem; }
.record-date strong { display: block; color: var(--text); font-size: 1.02rem; }
.record-content { min-width: 0; }
.record-content h2 { margin-bottom: 5px; color: var(--text); }
.record-content p { display: -webkit-box; overflow: hidden; margin-bottom: 9px; color: var(--muted); -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.record-meta { display: flex; flex-wrap: wrap; gap: 5px 14px; color: var(--muted); font-size: .79rem; }
.record-evidence { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; color: var(--muted); font-size: .76rem; text-align: right; }
.record-arrow { color: var(--primary); font-size: 1.3rem; }
.pagination { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 20px; color: var(--muted); }
.empty-state { padding: 46px 26px; text-align: center; }
.empty-icon { margin-bottom: 12px; color: var(--primary); font-size: .9rem; font-weight: 800; }
.detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 18px; align-items: start; }
.detail-main { min-width: 0; display: grid; gap: 18px; }
.detail-card, .side-card, .action-card { padding: 24px; }
.detail-status-row { align-items: center; margin-bottom: 24px; }
.detail-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-bottom: 24px; }
.detail-item { display: grid; gap: 3px; }
.detail-item span { color: var(--muted); font-size: .78rem; }
.prose { white-space: pre-wrap; }
.detail-card > h2 { margin-top: 24px; margin-bottom: 8px; }
.evidence-group + .evidence-group { margin-top: 20px; }
.evidence-heading { margin: 14px 0 8px; }
.evidence-heading h2 { margin-bottom: 3px; }
.evidence-list { display: grid; gap: 7px; padding: 0; margin: 0; list-style: none; }
.evidence-link { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 11px 12px; border: 1px solid var(--border); border-radius: 5px; color: inherit; }
.evidence-link:hover { background: var(--surface-subtle); text-decoration: none; }
.evidence-link > span:nth-child(2) { min-width: 0; display: grid; gap: 2px; flex: 1; }
.evidence-link strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.file-icon { width: 35px; height: 35px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 35px; border-radius: 5px; background: #e8f4fb; color: var(--primary-hover); font-size: .68rem; font-weight: 800; }
.download-label { color: var(--primary-hover); font-size: .78rem; font-weight: 700; }
.timeline { display: grid; gap: 18px; padding: 0 0 0 16px; margin: 0; list-style: none; border-left: 2px solid #cfe2ec; }
.timeline li { position: relative; padding-left: 16px; }
.timeline-dot { position: absolute; width: 9px; height: 9px; left: -21px; top: 6px; border: 2px solid var(--surface); border-radius: 50%; background: var(--primary); box-shadow: 0 0 0 1px var(--primary); }
.timeline p { margin: 4px 0; color: var(--muted); font-size: .84rem; }
.status-badge, .role-badge, .status-pending, .status-ready { display: inline-flex; align-items: center; width: fit-content; padding: 5px 9px; border-radius: 999px; font-size: .74rem; font-weight: 750; }
.status-badge { background: #edf1f3; color: var(--muted); }
.status-badge.submitted, .status-badge.finance-review, .status-badge.coordinator-review, .status-badge.director-review { background: #e8f4fb; color: #07547b; }
.status-badge.finance-returned, .status-badge.coordinator-returned { background: #fff6df; color: #805500; }
.status-badge.finance-rejected, .status-badge.director-rejected { background: #fff2f0; color: var(--danger); }
.status-badge.approved, .status-badge.disbursed { background: #edf9f2; color: #0d5c39; }
.role-badge { background: #e8f4fb; color: var(--primary-hover); }
.status-pending { background: #fff6df; color: #805500; }
.status-ready { background: #edf9f2; color: #0d5c39; }
.filter-tabs { display: flex; flex-wrap: wrap; gap: 6px; }
.filter-tab { padding: 7px 10px; border-radius: 4px; color: var(--muted); font-size: .8rem; }
.filter-tab:hover, .filter-tab.active { background: #e8f4fb; color: var(--primary-hover); text-decoration: none; }
.money-symbol { display: block; color: var(--primary-hover); font-size: .76rem; font-weight: 800; }
.member-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.member-filters input { flex: 1 1 220px; }
.member-filters select { flex: 0 1 180px; }
.member-list { display: grid; gap: 10px; }
.member-item { display: grid; grid-template-columns: minmax(180px, 1.2fr) minmax(160px, 1fr) minmax(140px, .8fr) minmax(260px, 1.5fr); gap: 15px; align-items: center; padding: 16px; border: 1px solid var(--border); border-radius: 6px; }
.member-identity { display: flex; align-items: center; gap: 10px; min-width: 0; }
.large-avatar { width: 38px; height: 38px; flex: 0 0 38px; }
.member-identity strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.member-item p { margin: 5px 0 0; font-size: .78rem; }
.member-actions { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.inline-form { display: flex; gap: 6px; align-items: center; }
.notification-list { overflow: hidden; }
.notification-item { display: flex; gap: 12px; padding: 16px 20px; border-bottom: 1px solid var(--border); color: inherit; }
.notification-item:last-child { border-bottom: 0; }
.notification-item:hover { background: var(--surface-subtle); text-decoration: none; }
.notification-item.unread { background: #f4fbff; }
.notification-dot { width: 8px; height: 8px; margin-top: 7px; flex: 0 0 8px; border-radius: 50%; background: transparent; }
.notification-item.unread .notification-dot { background: var(--primary); }
.notification-item p { margin: 4px 0; color: var(--muted); }
@media (max-width: 900px) {
  .topbar-inner { gap: 16px; padding: 11px 18px; }
  .primary-nav { gap: 0; }
  .nav-link { padding: 8px 9px; }
  .account-name { max-width: 90px; }
  .filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .detail-layout { grid-template-columns: 1fr; }
  .detail-side { order: 2; }
  .member-item { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 650px) {
  .topbar { position: static; }
  .topbar-inner { min-height: 0; flex-wrap: wrap; padding: 12px 15px; }
  .primary-nav { order: 3; width: 100%; overflow-x: auto; padding-top: 4px; }
  .nav-link { white-space: nowrap; }
  .account-menu { margin-left: auto; }
  .user-chip { display: none; }
  .container { padding: 26px 15px 54px; }
  .auth-shell { min-height: calc(100vh - 78px); padding: 26px 15px; }
  .auth-card { padding: 26px 20px; }
  .page-heading, .workspace-heading { display: grid; gap: 16px; margin-bottom: 22px; }
  .page-heading > .button, .heading-actions, .form-actions { width: 100%; }
  .heading-actions .button, .form-actions .button { flex: 1; }
  .form-grid, .upload-grid, .detail-grid { grid-template-columns: 1fr; }
  .form-row.full { grid-column: auto; }
  .form-section, .detail-card, .side-card, .action-card { padding: 20px 16px; }
  .record-main { grid-template-columns: 1fr auto; gap: 8px 12px; padding: 15px; }
  .record-date { grid-column: 1 / -1; }
  .record-content { grid-column: 1 / -1; }
  .record-evidence { grid-column: 1; justify-content: flex-start; text-align: left; }
  .record-arrow { grid-column: 2; grid-row: 3; }
  .search-input { display: grid; }
  .search-button { min-height: 42px; }
  .filter-grid { grid-template-columns: 1fr; }
  .filter-actions .button { flex: 1; }
  .pagination { align-items: stretch; flex-direction: column; }
  .pagination .button { width: 100%; }
  .member-item { grid-template-columns: 1fr; gap: 11px; }
  .member-actions, .inline-form { align-items: stretch; }
  .member-actions > *, .inline-form { width: 100%; }
  .member-actions .button, .inline-form .button, .inline-form select { width: 100%; }
  .notification-item { padding: 14px 15px; }
}

/* Final precedence layer over the legacy overrides above. */
.topbar { position: sticky; top: 0; z-index: 20; background: #161616; border-bottom: 1px solid #393939; box-shadow: none; }
.topbar-inner { min-height: 48px; max-width: 1600px; padding: 0 16px; gap: 24px; }
.brand { color: #fff; font-size: .875rem; font-weight: 600; }
.brand:hover { color: #fff; }
.logo-frame { width: 96px; height: 32px; border-radius: 0; }
.primary-nav { gap: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
.nav-link { min-height: 48px; padding: 0 16px; border-radius: 0; border-bottom: 3px solid transparent; color: #f4f4f4; font-weight: 400; }
.nav-link:hover { background: #262626; color: #fff; }
.nav-link.active { background: #262626; border-bottom-color: #78a9ff; box-shadow: none; color: #fff; font-weight: 600; }
.nav-link.primary-nav-action { background: #0f62fe; color: #fff; }
.nav-link.primary-nav-action:hover { background: #0043ce; }
.account-menu summary { min-height: 48px; border-radius: 0; color: #f4f4f4; }
.account-menu summary:hover { background: #262626; }
.account-panel { border-radius: 0; background: #262626; color: #fff; box-shadow: 0 4px 12px rgba(0, 0, 0, .24); }
.account-panel a, .account-panel .account-role { color: #f4f4f4; }
.container { max-width: 1440px; padding: 32px 32px 64px; }
.page-heading { margin-bottom: 24px; padding-bottom: 16px; border-bottom: 1px solid #e0e0e0; }
.surface { border-radius: 0; box-shadow: none; border-color: #e0e0e0; }
.filter-surface { border-left: 3px solid #0f62fe; background: #fff; }
.record-item, .requisition-item { border-radius: 0; box-shadow: none; }
.record-item:hover, .requisition-item:hover { border-color: #0f62fe; box-shadow: none; transform: none; }
.record-date { border-radius: 0; background: #f4f4f4; }
.button, button.button { min-height: 48px; border-radius: 0; box-shadow: none; background: #0f62fe; color: #fff; }
.button:hover, button.button:hover { background: #0043ce; box-shadow: none; }
.button.secondary { background: #e0e0e0; color: #161616; }
.button.secondary:hover { background: #c6c6c6; color: #161616; }
.button.linkish { background: transparent; color: #0f62fe; }
.button.danger-outline { border: 1px solid #da1e28; background: transparent; color: #da1e28; }
.form-section { border-top: 0; padding: 24px; }
.dropzone { border: 1px dashed #8d8d8d; border-radius: 0; background: #f4f4f4; }
.dropzone:hover { border-color: #0f62fe; background: #e8f1ff; }
.detail-card, .side-card, .action-card { padding: 24px; }
.auth-shell { background: #f4f4f4; }
.auth-card { border-radius: 0; border-top: 4px solid #0f62fe; box-shadow: none; }
.selected-file, .upload-progress { border-radius: 0; }
.status-badge, .role-badge, .status-pending, .status-ready { border-radius: 999px; }
.member-item { border-radius: 0; background: #fff; box-shadow: none; }
.skip-link { border-radius: 0; background: #161616; }
@media (max-width: 650px) { .topbar { position: static; } .topbar-inner { min-height: 48px; padding: 0 16px; } .container { padding: 24px 16px 48px; } .nav-link { padding: 0 12px; } .form-section, .detail-card, .side-card, .action-card { padding: 20px 16px; } }

/* Carbon Design System migration: Carbon White theme tokens and productive UI density. */
:root {
  --cds-background: #f4f4f4;
  --cds-layer-01: #ffffff;
  --cds-layer-02: #f4f4f4;
  --cds-layer-hover: #e8e8e8;
  --cds-layer-active: #c6c6c6;
  --cds-border-subtle: #e0e0e0;
  --cds-border-strong: #8d8d8d;
  --cds-text-primary: #161616;
  --cds-text-secondary: #525252;
  --cds-text-placeholder: #6f6f6f;
  --cds-interactive: #0f62fe;
  --cds-interactive-hover: #0043ce;
  --cds-focus: #0f62fe;
  --cds-support-error: #da1e28;
  --cds-support-success: #198038;
  --cds-support-warning: #f1c21b;
  --bg: var(--cds-background);
  --surface: var(--cds-layer-01);
  --surface-subtle: var(--cds-layer-02);
  --text: var(--cds-text-primary);
  --muted: var(--cds-text-secondary);
  --border: var(--cds-border-subtle);
  --primary: var(--cds-interactive);
  --primary-hover: var(--cds-interactive-hover);
  --focus: var(--cds-focus);
  --success: var(--cds-support-success);
  --warning: #8e562e;
  --danger: var(--cds-support-error);
  --shadow: none;
}
html { background: var(--cds-background); }
body { background: var(--cds-background); color: var(--cds-text-primary); font-family: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif; font-size: 14px; line-height: 1.42857; letter-spacing: 0; }
h1, h2, h3, h4, p { letter-spacing: 0; }
h1 { font-size: 2rem; line-height: 1.25; font-weight: 400; }
h2 { font-size: 1.25rem; line-height: 1.4; font-weight: 400; }
h3 { font-size: 1rem; line-height: 1.5; font-weight: 600; }
a { color: var(--cds-interactive); }
:focus-visible { outline: 2px solid var(--cds-focus); outline-offset: 2px; }
.topbar { position: sticky; top: 0; z-index: 20; background: #161616; border-bottom: 1px solid #393939; box-shadow: none; }
.topbar-inner { min-height: 48px; max-width: 1600px; padding: 0 16px; gap: 24px; }
.brand { color: #fff; font-size: .875rem; font-weight: 600; text-decoration: none; }
.brand:hover { color: #fff; text-decoration: none; }
.logo-frame { width: 96px; height: 32px; border-radius: 0; }
.primary-nav { gap: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
.nav-link { min-height: 48px; display: inline-flex; align-items: center; padding: 0 16px; border-radius: 0; border-bottom: 3px solid transparent; color: #f4f4f4; font-size: .875rem; font-weight: 400; }
.nav-link:hover { background: #262626; color: #fff; text-decoration: none; }
.nav-link.active { background: #262626; border-bottom-color: #78a9ff; box-shadow: none; color: #fff; font-weight: 600; }
.nav-link.primary-nav-action { background: var(--cds-interactive); color: #fff; }
.nav-link.primary-nav-action:hover { background: var(--cds-interactive-hover); }
.account-menu summary { min-height: 48px; border-radius: 0; color: #f4f4f4; }
.account-menu summary:hover { background: #262626; }
.account-panel { border-radius: 0; border-color: #525252; background: #262626; color: #fff; box-shadow: 0 4px 12px rgba(0, 0, 0, .24); }
.account-panel a, .account-panel .account-role { color: #f4f4f4; }
.account-panel a:hover { background: #393939; }
.avatar { border-radius: 50%; background: #8a3ffc; color: #fff; }
.container { max-width: 1440px; padding: 32px 32px 64px; }
.page-heading { margin-bottom: 24px; padding-bottom: 16px; border-bottom: 1px solid var(--cds-border-subtle); }
.page-heading h1 { margin-bottom: 8px; }
.lead { color: var(--cds-text-secondary); }
.surface { border: 1px solid var(--cds-border-subtle); border-radius: 0; background: var(--cds-layer-01); box-shadow: none; }
.filter-surface, .saved-view-toolbar { border-left: 3px solid var(--cds-interactive); border-radius: 0; background: var(--cds-layer-01); }
.button, button.button { min-height: 48px; border: 0; border-radius: 0; padding: 0 16px; background: var(--cds-interactive); box-shadow: none; color: #fff; font-size: .875rem; font-weight: 600; }
.button:hover, button.button:hover { background: var(--cds-interactive-hover); box-shadow: none; }
.button.secondary { background: #e0e0e0; color: var(--cds-text-primary); }
.button.secondary:hover { background: #c6c6c6; color: var(--cds-text-primary); }
.button.linkish { min-height: 40px; background: transparent; color: var(--cds-interactive); }
.button.danger-outline { border: 1px solid var(--cds-support-error); background: transparent; color: var(--cds-support-error); }
.small-button { min-height: 40px; padding: 0 12px; }
input, select, textarea { min-height: 40px; border: 0; border-bottom: 1px solid var(--cds-border-strong); border-radius: 0; background: var(--cds-layer-02); color: var(--cds-text-primary); padding: 10px 16px; }
input:hover, select:hover, textarea:hover { border-bottom-color: var(--cds-text-primary); }
input:focus, select:focus, textarea:focus { border-bottom: 2px solid var(--cds-focus); outline: 2px solid transparent; box-shadow: 0 0 0 1px var(--cds-focus); }
input::placeholder, textarea::placeholder { color: var(--cds-text-placeholder); }
input:disabled { background: #e0e0e0; color: var(--cds-text-secondary); }
.form-row label, .saved-view-picker label, .saved-view-form label { color: var(--cds-text-primary); font-size: .75rem; font-weight: 400; letter-spacing: .32px; }
.form-section { margin-bottom: 24px; padding: 24px; border-top: 0; }
.section-number { width: 24px; height: 24px; flex-basis: 24px; border-radius: 50%; background: var(--cds-interactive); color: #fff; box-shadow: none; font-size: .75rem; }
.dropzone { min-height: 150px; border: 1px dashed var(--cds-border-strong); border-radius: 0; background: var(--cds-layer-02); }
.dropzone.dragover, .dropzone:hover { border-color: var(--cds-interactive); background: #e8f1ff; }
.dropzone-icon { border-radius: 50%; background: #d0e2ff; color: var(--cds-interactive); }
.upload-progress { border: 0; border-left: 3px solid var(--cds-interactive); border-radius: 0; background: #edf5ff; }
.progress-track { height: 4px; border-radius: 0; background: #c6c6c6; }
.progress-track span { border-radius: 0; background: var(--cds-interactive); }
.search-button { min-height: 40px; border-radius: 0; border: 0; background: var(--cds-interactive); color: #fff; }
.filter-details { border-top-color: var(--cds-border-subtle); }
.record-item, .requisition-item { border-radius: 0; box-shadow: none; }
.record-item:hover, .requisition-item:hover { border-color: var(--cds-interactive); box-shadow: none; transform: none; }
.record-main:hover { background: var(--cds-layer-hover); }
.record-date { border-radius: 0; background: var(--cds-layer-02); }
.detail-card, .side-card, .action-card { padding: 24px; }
.evidence-link { border-radius: 0; }
.evidence-link:hover { background: var(--cds-layer-hover); }
.status-badge, .role-badge, .status-pending, .status-ready { border-radius: 999px; }
.carbon-status-tag { vertical-align: middle; }
cds-inline-notification { display: block; margin-bottom: 16px; }
cds-inline-notification:not(:defined) { display: block; padding: 16px; border-left: 3px solid var(--cds-support-error); background: #fff1f1; color: var(--cds-text-primary); }
cds-tag:not(:defined) { display: inline-flex; align-items: center; padding: 4px 8px; border-radius: 999px; background: #d0e2ff; color: #002d9c; font-size: .75rem; font-weight: 600; }
.alert { border-radius: 0; }
.member-item { border-radius: 0; background: var(--cds-layer-01); box-shadow: none; }
.notification-item { border-radius: 0; }
.notification-item:hover { background: var(--cds-layer-hover); }
.pagination .button { min-height: 40px; }
.skip-link { border-radius: 0; background: #161616; }
.public-share-shell { background: var(--cds-background); }
.share-image-card { border-radius: 0; box-shadow: none; }
.share-image-button { background: var(--cds-layer-02); }
@media (max-width: 650px) {
  .topbar { position: static; }
  .topbar-inner { min-height: 48px; padding: 0 16px; }
  .container { padding: 24px 16px 48px; }
  .nav-link { padding: 0 12px; }
  .form-section, .detail-card, .side-card, .action-card { padding: 20px 16px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }

.saved-view-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 18px; padding: 20px 24px; border-left: 4px solid #78a7bb; background: #fbfdfe; }
.saved-view-toolbar h2 { margin: 3px 0 5px; font-size: 1.05rem; }
.saved-view-toolbar p { margin: 0; }
.saved-view-actions { display: flex; align-items: end; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.saved-view-picker, .saved-view-form { display: flex; align-items: end; gap: 8px; flex-wrap: wrap; }
.saved-view-picker label, .saved-view-form label { width: 100%; color: var(--muted); font-size: .78rem; font-weight: 700; }
.saved-view-picker select { min-width: 190px; }
.saved-view-create { align-self: stretch; }
.saved-view-create summary { min-height: 44px; display: inline-flex; align-items: center; padding: 0 12px; border: 1px solid var(--border); border-radius: 4px; color: var(--primary-hover); cursor: pointer; font-weight: 700; }
.saved-view-create[open] { padding: 12px; border: 1px solid var(--border); border-radius: 6px; background: #fff; }
.saved-view-create[open] summary { min-height: auto; padding: 0 0 10px; border: 0; }
.saved-view-form input { min-width: 190px; }
.report-table { width: 100%; border-collapse: collapse; background: #fff; }
.report-table th, .report-table td { padding: 11px 12px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; }
.report-table th { background: #eef5f8; color: #27404d; font-size: .78rem; text-transform: uppercase; }
.report-table td { font-size: .86rem; }
.report-table td span { color: var(--muted); }
@media (max-width: 760px) { .saved-view-toolbar { align-items: stretch; flex-direction: column; padding: 18px; } .saved-view-actions { justify-content: stretch; } .saved-view-picker, .saved-view-picker select, .saved-view-picker .button, .saved-view-create, .saved-view-create[open], .saved-view-form, .saved-view-form input, .saved-view-form .button { width: 100%; } .print-report { overflow-x: auto; } .report-table { min-width: 820px; } }
@media print { .topbar, .print-hide, .skip-link { display: none !important; } body, .container { background: #fff; } .container { max-width: none; padding: 0; } .print-report .page-heading { border: 0; } .report-table { font-size: 9pt; } }

.skip-link { position: fixed; top: 8px; left: 8px; z-index: 60; transform: translateY(-160%); padding: 9px 12px; border-radius: 4px; background: var(--text); color: #fff; font-weight: 700; transition: transform .15s ease; }
.skip-link:focus { transform: translateY(0); }
.dropzone:focus-within { outline: 3px solid rgba(0, 130, 201, .25); outline-offset: 2px; }
.selected-file { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; }
.selected-file-remove { min-height: 32px; border: 1px solid var(--border); border-radius: 4px; background: var(--surface); color: var(--danger); cursor: pointer; padding: 5px 9px; font-weight: 700; }
.selected-file-remove:hover { border-color: var(--danger); background: #fff6f5; }
.topbar { box-shadow: 0 2px 10px rgba(31, 41, 51, .06); }
.topbar-inner { min-height: 76px; gap: 30px; }
.brand { font-size: .98rem; }
.primary-nav { gap: 3px; padding: 4px; border: 1px solid var(--border); border-radius: 8px; background: #f4f7f9; }
.nav-link { padding: 10px 14px; border-radius: 5px; font-weight: 600; }
.nav-link:hover { background: #e8f4fb; }
.nav-link.active { background: var(--surface); box-shadow: 0 1px 4px rgba(31, 41, 51, .11); font-weight: 750; }
.container { padding-top: 46px; }
.page-heading { padding-bottom: 22px; border-bottom: 1px solid var(--border); }
.page-heading h1 { margin-bottom: 8px; }
.workspace-heading { border-bottom: 0; padding-bottom: 0; }
.workspace-heading .lead { margin-bottom: 0; }
.surface { border-radius: 8px; box-shadow: 0 3px 12px rgba(31, 41, 51, .055); }
.filter-surface { border-left: 4px solid var(--primary); background: #fbfdfe; }
.record-list { gap: 12px; }
.record-item, .requisition-item { transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.record-item:hover, .requisition-item:hover { border-color: #9bcfe3; box-shadow: 0 6px 18px rgba(31, 41, 51, .09); transform: translateY(-1px); }
.record-main { padding: 20px 22px; }
.record-date { padding: 9px 10px; border-radius: 6px; background: #f2f7fa; }
.record-date strong { margin-top: 2px; }
.button { min-height: 44px; padding-inline: 18px; box-shadow: 0 2px 5px rgba(0, 130, 201, .16); }
.button.secondary { box-shadow: none; }
.auth-shell { background: #eef3f6; }
.auth-card { border-top: 4px solid var(--primary); box-shadow: 0 12px 30px rgba(31, 41, 51, .10); }
.auth-brand { margin-bottom: 34px; }
.auth-brand .logo-frame { width: 154px; height: 44px; }
.form-section { padding: 30px; border-top: 3px solid #e1edf2; }
.section-number { background: var(--primary); color: #fff; box-shadow: 0 0 0 4px #e8f4fb; }
.dropzone { min-height: 170px; border-width: 2px; border-color: #8fc6da; background: #f5fbfe; }
.dropzone:hover { border-color: var(--primary); background: #eef8fd; }
.dropzone-label { min-height: 100px; }
.dropzone-icon { background: #dceff7; color: var(--primary-hover); }
.upload-progress { border-left: 4px solid var(--primary); }
.detail-card, .side-card, .action-card { padding: 28px; }
.detail-card h2, .side-card h2, .action-card h2 { color: #172b3a; }
.member-item { background: #fbfdfe; box-shadow: 0 2px 6px rgba(31, 41, 51, .035); }
.member-item:hover { border-color: #9bcfe3; background: #fff; }
.notification-item.unread { border-left: 4px solid var(--primary); background: #f1f9fd; }
@media (max-width: 650px) {
  .topbar-inner { gap: 12px; }
  .primary-nav { order: 3; width: 100%; overflow-x: auto; }
  .nav-link { flex: 0 0 auto; }
  .container { padding: 28px 15px 54px; }
  .page-heading { display: grid; gap: 16px; padding-bottom: 18px; }
  .page-heading .button, .heading-actions .button { width: 100%; }
  .form-section, .detail-card, .side-card, .action-card { padding: 21px 17px; }
  .record-main { grid-template-columns: 1fr auto; gap: 10px 14px; padding: 16px; }
  .record-date { grid-column: 1 / -1; }
  .record-content { grid-column: 1 / -1; }
  .record-main > div:last-of-type { grid-column: 1 / -1; }
  .record-arrow { grid-column: 2; grid-row: 2; }
  .auth-card { padding: 26px 20px; }
}

/* Carbon precedence after all legacy declarations. */
.topbar { position: sticky; top: 0; z-index: 20; background: #161616; border-bottom: 1px solid #393939; box-shadow: none; }
.topbar-inner { min-height: 48px; max-width: 1600px; padding: 0 16px; gap: 24px; }
.brand { color: #fff; font-size: .875rem; font-weight: 600; }
.brand:hover { color: #fff; }
.logo-frame { width: 96px; height: 32px; border-radius: 0; }
.primary-nav { gap: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
.nav-link { min-height: 48px; padding: 0 16px; border-radius: 0; border-bottom: 3px solid transparent; color: #f4f4f4; font-weight: 400; }
.nav-link:hover { background: #262626; color: #fff; }
.nav-link.active { background: #262626; border-bottom-color: #78a9ff; box-shadow: none; color: #fff; font-weight: 600; }
.nav-link.primary-nav-action { background: #0f62fe; color: #fff; }
.nav-link.primary-nav-action:hover { background: #0043ce; }
.account-menu summary { min-height: 48px; border-radius: 0; color: #f4f4f4; }
.account-menu summary:hover { background: #262626; }
.account-panel { border-radius: 0; background: #262626; color: #fff; box-shadow: 0 4px 12px rgba(0, 0, 0, .24); }
.account-panel a, .account-panel .account-role { color: #f4f4f4; }
.container { max-width: 1440px; padding: 32px 32px 64px; }
.page-heading { margin-bottom: 24px; padding-bottom: 16px; border-bottom: 1px solid #e0e0e0; }
.surface { border-radius: 0; box-shadow: none; border-color: #e0e0e0; }
.filter-surface { border-left: 3px solid #0f62fe; background: #fff; }
.record-item, .requisition-item { border-radius: 0; box-shadow: none; }
.record-item:hover, .requisition-item:hover { border-color: #0f62fe; box-shadow: none; transform: none; }
.record-date { border-radius: 0; background: #f4f4f4; }
.button, button.button { min-height: 48px; border-radius: 0; box-shadow: none; background: #0f62fe; color: #fff; }
.button:hover, button.button:hover { background: #0043ce; box-shadow: none; }
.button.secondary { background: #e0e0e0; color: #161616; }
.button.secondary:hover { background: #c6c6c6; color: #161616; }
.button.linkish { background: transparent; color: #0f62fe; }
.button.danger-outline { border: 1px solid #da1e28; background: transparent; color: #da1e28; }
.form-section { border-top: 0; padding: 24px; }
.dropzone { border: 1px dashed #8d8d8d; border-radius: 0; background: #f4f4f4; }
.dropzone:hover { border-color: #0f62fe; background: #e8f1ff; }
.detail-card, .side-card, .action-card { padding: 24px; }
.auth-shell { background: #f4f4f4; }
.auth-card { border-radius: 0; border-top: 4px solid #0f62fe; box-shadow: none; }
.selected-file, .upload-progress { border-radius: 0; }
.status-badge, .role-badge, .status-pending, .status-ready { border-radius: 999px; }
.member-item { border-radius: 0; background: #fff; box-shadow: none; }
.skip-link { border-radius: 0; background: #161616; }
@media (max-width: 650px) { .topbar { position: static; } .topbar-inner { min-height: 48px; padding: 0 16px; } .container { padding: 24px 16px 48px; } .nav-link { padding: 0 12px; } .form-section, .detail-card, .side-card, .action-card { padding: 20px 16px; } }
.activity-detail-shell { display: grid; gap: 24px; max-width: 1260px; margin: 0 auto; }
.activity-record-header { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding-bottom: 20px; border-bottom: 1px solid #e0e0e0; }
.activity-record-header h1 { max-width: 780px; margin: 8px 0 12px; font-size: 2.2rem; line-height: 1.08; }
.activity-record-meta { display: flex; flex-wrap: wrap; gap: 6px 18px; color: #525252; font-size: .875rem; }
.activity-record-meta span + span { position: relative; }
.activity-record-meta span + span::before { content: ''; position: absolute; top: 50%; left: -11px; width: 3px; height: 3px; border-radius: 50%; background: #8d8d8d; }
.activity-share-bar { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .9fr); gap: 20px; align-items: center; padding: 18px 20px; border-left: 3px solid #0f62fe; background: #edf5ff; }
.activity-share-bar strong { color: #161616; font-size: .95rem; }
.activity-share-bar p { margin: 4px 0 0; color: #525252; font-size: .84rem; }
.activity-share-bar .share-copy-row { min-width: 0; }
.activity-context-grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 24px; align-items: start; }
.activity-context-panel, .activity-history-panel { min-width: 0; padding: 24px; border: 1px solid #e0e0e0; background: #fff; }
.activity-context-panel h2 { margin-top: 24px; margin-bottom: 8px; color: #161616; font-size: 1.1rem; }
.activity-context-panel .detail-grid { margin-bottom: 0; }
.activity-history-panel h2 { margin: 4px 0 18px; color: #161616; font-size: 1.15rem; }
.activity-evidence-area { display: grid; gap: 20px; }
.activity-section-header { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding-bottom: 4px; }
.activity-section-header h2 { margin: 5px 0 6px; font-size: 1.6rem; }
.activity-section-header p { margin: 0; }
.evidence-stat-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid #e0e0e0; border-bottom: 1px solid #e0e0e0; }
.evidence-stat { display: grid; gap: 3px; padding: 13px 16px; background: #f4f4f4; }
.evidence-stat + .evidence-stat { border-left: 1px solid #e0e0e0; }
.evidence-stat strong { color: #161616; font-size: 1.35rem; line-height: 1; }
.evidence-stat span { color: #525252; font-size: .78rem; }
.evidence-collections { display: grid; gap: 28px; }
.evidence-collection { padding-top: 20px; border-top: 1px solid #e0e0e0; }
.evidence-collection-header { display: flex; align-items: baseline; justify-content: space-between; gap: 15px; margin-bottom: 14px; }
.evidence-collection-header h3 { margin: 0 0 4px; color: #161616; font-size: 1.05rem; }
.evidence-collection-header p { margin: 0; color: #525252; font-size: .8rem; }
.evidence-media-grid, .evidence-document-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(215px, 1fr)); gap: 16px; }
.evidence-document-grid { margin-top: 16px; }
.evidence-media-card, .evidence-document-card { overflow: hidden; min-width: 0; border: 1px solid #d7d7d7; background: #fff; }
.evidence-image-trigger { position: relative; display: block; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; padding: 0; border: 0; background: #f4f4f4; cursor: zoom-in; }
.evidence-image-trigger img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .18s ease; }
.evidence-image-trigger:hover img { transform: scale(1.025); }
.evidence-image-open { position: absolute; right: 10px; bottom: 10px; padding: 5px 8px; background: rgba(22, 22, 22, .82); color: #fff; font-size: .74rem; font-weight: 600; }
.evidence-media-meta { display: grid; gap: 10px; min-width: 0; padding: 13px; }
.evidence-file-name { display: block; overflow: hidden; color: #161616; font-size: .84rem; text-overflow: ellipsis; white-space: nowrap; }
.evidence-meta-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-width: 0; color: #525252; font-size: .74rem; }
.evidence-meta-row > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.evidence-download, .evidence-preview-link { color: #0f62fe; font-size: .78rem; font-weight: 600; white-space: nowrap; }
.evidence-document-preview { position: relative; min-height: 220px; background: #f4f4f4; }
.evidence-document-frame { display: block; width: 100%; height: 220px; border: 0; background: #fff; }
.evidence-preview-link { position: absolute; right: 10px; bottom: 10px; padding: 5px 8px; background: #161616; color: #fff; }
.evidence-doc-placeholder { display: grid; min-height: 220px; place-content: center; justify-items: center; gap: 8px; padding: 20px; background: #f4f4f4; color: #525252; text-align: center; }
.evidence-doc-placeholder strong { color: #161616; font-size: .85rem; }
.evidence-doc-placeholder span:last-child { font-size: .78rem; }
.evidence-empty { display: flex; align-items: center; gap: 14px; padding: 22px; border: 1px dashed #8d8d8d; background: #f4f4f4; }
.evidence-empty p { margin: 4px 0 0; color: #525252; font-size: .84rem; }
.activity-detail-shell .lightbox { z-index: 40; }
@media (max-width: 900px) {
  .activity-share-bar, .activity-context-grid { grid-template-columns: 1fr; }
  .activity-record-header, .activity-section-header { align-items: start; flex-direction: column; }
  .activity-record-header .heading-actions, .activity-section-header .heading-actions { width: 100%; }
}
@media (max-width: 650px) {
  .activity-detail-shell { gap: 18px; }
  .activity-record-header h1 { font-size: 1.8rem; }
  .activity-share-bar { padding: 16px; }
  .activity-share-bar .share-copy-row { display: grid; }
  .activity-context-panel, .activity-history-panel { padding: 18px 16px; }
  .activity-context-panel .detail-grid { grid-template-columns: 1fr 1fr; }
  .evidence-stat { padding: 12px; }
  .evidence-media-grid, .evidence-document-grid { grid-template-columns: 1fr; }
  .evidence-document-grid { margin-top: 12px; }
}

.crm-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0}
.crm-stat{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:inherit;padding:18px 20px}
.crm-stat span{font-size:.78rem;color:#63717c;text-transform:uppercase;letter-spacing:.04em}
.crm-stat strong{font-size:2rem;line-height:1;color:#1f2933}
.crm-stat small{color:#63717c}
.crm-dashboard-grid,.crm-profile-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:18px;align-items:start}
.crm-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.crm-action{display:flex;flex-direction:column;gap:6px;border:1px solid #d5dee5;border-radius:6px;padding:16px;text-decoration:none;color:#1f2933;background:#fff}
.crm-action:hover{border-color:#0082c9;background:#f4fbff}
.crm-action strong{color:#006fae}
.crm-action span{color:#63717c;font-size:.9rem}
.crm-profile-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin:18px 0 22px}
.crm-profile-header h1{margin:5px 0 8px}
.crm-profile-header .lead{margin:0}
.crm-profile-grid{grid-template-columns:minmax(0,1.55fr) minmax(260px,.7fr)}
.crm-table{display:flex;flex-direction:column;gap:1px;border:1px solid #d5dee5;border-radius:7px;overflow:hidden;background:#d5dee5}
.crm-table-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(150px,.85fr) minmax(130px,.65fr) 20px;gap:16px;align-items:center;background:#fff;padding:16px 18px;text-decoration:none;color:#1f2933}
.crm-table-row:hover{background:#f4fbff}
.crm-table-row strong{display:block}
.crm-table-row>div{min-width:0}
.crm-table-row>div:nth-child(2){display:flex;flex-direction:column;gap:4px}
.crm-list{display:flex;flex-direction:column;gap:1px;border:1px solid #d5dee5;border-radius:6px;overflow:hidden;background:#d5dee5}
.crm-list-row{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#fff;padding:13px 15px;text-decoration:none;color:#1f2933}
.crm-list-row:hover{background:#f4fbff}
.crm-list-row>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.crm-list-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.crm-profile-side{position:sticky;top:18px}
.crm-timeline{list-style:none;padding:0;margin:0}
.crm-timeline li{display:grid;grid-template-columns:16px 1fr;gap:12px;position:relative;padding:0 0 18px}
.crm-timeline li:not(:last-child):after{content:"";position:absolute;left:7px;top:16px;bottom:0;width:1px;background:#d5dee5}
.crm-timeline .timeline-dot{width:10px;height:10px;border-radius:50%;background:#0082c9;margin-top:5px;z-index:1}
.crm-timeline p{margin:5px 0;color:#63717c;white-space:pre-wrap}
.crm-timeline .table-subtext{display:block}
.crm-upload-form{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.2fr auto;gap:10px;align-items:end;margin-top:18px;padding-top:16px;border-top:1px solid #d5dee5}
.crm-upload-form .form-row{margin:0}
.crm-upload-form .button{height:42px;white-space:nowrap}
.status-badge.danger{color:#b42318;background:#fff1f0;border-color:#efb7b2}
.filter-tabs{display:flex;gap:8px;overflow:auto;padding-bottom:2px}
@media (max-width:900px){.crm-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.crm-dashboard-grid,.crm-profile-grid{grid-template-columns:1fr}.crm-profile-side{position:static}}
@media (max-width:640px){.crm-profile-header{display:block}.crm-profile-header .heading-actions{margin-top:14px}.crm-action-grid{grid-template-columns:1fr}.crm-table-row{grid-template-columns:minmax(0,1fr) auto;gap:8px}.crm-table-row>div:nth-child(2){grid-column:1/-1}.crm-table-row>div:nth-child(3){grid-column:1/-1}.crm-table-row>span{grid-column:2;grid-row:1}.crm-upload-form{grid-template-columns:1fr}.crm-stat-grid{gap:10px}.crm-stat{padding:15px}.crm-stat strong{font-size:1.6rem}}

/* CRM workspace shell and responsive component layer. */
:root { --global-header-height: 48px; }
.crm-shell { display: grid; grid-template-columns: 236px minmax(0, 1fr); gap: 32px; align-items: start; min-width: 0; }
.crm-sidebar { position: sticky; top: calc(var(--global-header-height) + 16px); min-width: 0; padding-right: 20px; border-right: 1px solid var(--cds-border-subtle); }
.crm-sidebar-title { display: grid; gap: 3px; padding: 0 8px 18px; }
.crm-sidebar-title .eyebrow { margin-bottom: 0; }
.crm-sidebar-title strong { color: var(--cds-text-primary); font-size: 1.25rem; font-weight: 600; }
.crm-sidebar-title .muted { font-size: .78rem; line-height: 1.4; }
.crm-sidebar-nav { display: grid; gap: 2px; }
.crm-sidebar-link { display: flex; min-height: 42px; align-items: center; padding: 0 12px; border-left: 3px solid transparent; color: var(--cds-text-secondary); font-size: .875rem; text-decoration: none; }
.crm-sidebar-link:hover { background: var(--cds-layer-hover); color: var(--cds-text-primary); text-decoration: none; }
.crm-sidebar-link.active { border-left-color: var(--cds-interactive); background: #e8f1ff; color: #002d9c; font-weight: 600; }
.crm-sidebar-note { display: grid; gap: 4px; margin: 24px 8px 0; padding-top: 16px; border-top: 1px solid var(--cds-border-subtle); }
.crm-sidebar-note strong { font-size: .75rem; font-weight: 600; }
.crm-sidebar-note span { color: var(--cds-text-secondary); font-size: .75rem; line-height: 1.45; }
.crm-main { min-width: 0; }
.crm-main .page-heading { margin-top: 0; }
.crm-stat-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.crm-stat { min-width: 0; border-bottom: 2px solid var(--cds-border-subtle); background: var(--cds-layer-01); }
.crm-stat:hover { border-bottom-color: var(--cds-interactive); background: var(--cds-layer-hover); text-decoration: none; }
.crm-stat span, .crm-stat strong, .crm-stat small { min-width: 0; overflow-wrap: anywhere; }
.crm-dashboard-grid { grid-template-columns: minmax(0, 1.4fr) minmax(260px, .8fr); }
.crm-task-surface, .crm-guidance-surface { min-width: 0; }
.crm-action-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; }
.crm-action { min-width: 0; padding: 14px 0; border: 0; border-bottom: 1px solid var(--cds-border-subtle); border-radius: 0; background: transparent; }
.crm-action:hover { border-color: var(--cds-border-subtle); background: transparent; }
.crm-action strong, .crm-action span { overflow-wrap: anywhere; }
.crm-profile-header { min-width: 0; }
.crm-profile-header > div { min-width: 0; }
.crm-profile-header h1 { overflow-wrap: anywhere; }
.crm-profile-tabs { display: flex; gap: 0; margin: -8px 0 24px; overflow-x: auto; border-bottom: 1px solid var(--cds-border-subtle); }
.crm-profile-tabs a { flex: 0 0 auto; min-height: 42px; padding: 11px 16px; border-bottom: 3px solid transparent; color: var(--cds-text-secondary); font-size: .875rem; text-decoration: none; }
.crm-profile-tabs a:hover { background: var(--cds-layer-hover); color: var(--cds-text-primary); }
.crm-profile-tabs a:focus-visible { outline-offset: -2px; }
.crm-profile-tabs a:first-child { border-bottom-color: var(--cds-interactive); color: var(--cds-interactive); font-weight: 600; }
.crm-profile-grid { grid-template-columns: minmax(0, 1.55fr) minmax(260px, .7fr); }
.crm-profile-grid > div, .crm-profile-grid > aside { min-width: 0; }
.crm-profile-side { top: calc(var(--global-header-height) + 16px); min-width: 0; }
.crm-profile-side .form-section { min-width: 0; }
.crm-long-text, .crm-timeline p { overflow-wrap: anywhere; }
.crm-timeline p { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 4; -webkit-box-orient: vertical; }
.crm-table-row { grid-template-columns: minmax(0, 1.35fr) minmax(0, .9fr) minmax(0, .75fr) 16px; }
.crm-table-row strong, .crm-table-row .table-subtext, .crm-list-row strong, .crm-list-row .table-subtext { min-width: 0; overflow-wrap: anywhere; }
.crm-table-row > span, .crm-list-row > span { flex: 0 0 auto; }
.crm-upload-form { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) minmax(0, .9fr) minmax(0, 1.3fr) auto; }
.crm-upload-form > * { min-width: 0; }
.crm-upload-form .button { min-width: 0; }
.crm-document-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; margin-top: 16px; }
.crm-document-card { min-width: 0; border: 1px solid var(--cds-border-subtle); background: var(--cds-layer-01); }
.crm-document-preview { display: grid; min-height: 150px; place-items: center; overflow: hidden; background: var(--cds-layer-02); }
.crm-document-image { display: block; width: 100%; height: 150px; object-fit: cover; }
.crm-document-frame { display: block; width: 100%; height: 150px; border: 0; background: #fff; }
.crm-document-placeholder { display: grid; gap: 6px; place-items: center; padding: 20px; color: var(--cds-text-secondary); text-align: center; }
.crm-document-placeholder strong { color: var(--cds-text-primary); font-size: .8rem; }
.crm-document-placeholder span { font-size: .76rem; }
.crm-document-meta { display: grid; gap: 6px; min-width: 0; padding: 13px; }
.crm-document-meta > strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.crm-document-meta .table-subtext { overflow-wrap: anywhere; }
.crm-document-actions { display: flex; flex-wrap: wrap; gap: 12px; padding-top: 4px; font-size: .78rem; font-weight: 600; }
.crm-document-actions a { white-space: nowrap; }
.crm-document-card + .crm-document-card { margin-top: 0; }
@media (max-width: 1100px) {
  .crm-shell { grid-template-columns: 208px minmax(0, 1fr); gap: 24px; }
  .crm-sidebar { padding-right: 12px; }
  .crm-upload-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .crm-upload-form .form-row:nth-of-type(4), .crm-upload-form .button { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
  .crm-shell { grid-template-columns: 1fr; gap: 20px; }
  .crm-sidebar { position: static; padding: 0 0 12px; border-right: 0; border-bottom: 1px solid var(--cds-border-subtle); }
  .crm-sidebar-title { grid-template-columns: auto 1fr; align-items: baseline; column-gap: 8px; padding: 0 0 10px; }
  .crm-sidebar-title .eyebrow { grid-column: 1 / -1; }
  .crm-sidebar-title .muted { grid-column: 2; grid-row: 2; }
  .crm-sidebar-nav { display: flex; gap: 2px; overflow-x: auto; padding-bottom: 2px; }
  .crm-sidebar-link { flex: 0 0 auto; min-height: 40px; border-left: 0; border-bottom: 3px solid transparent; }
  .crm-sidebar-link.active { border-left: 0; border-bottom-color: var(--cds-interactive); }
  .crm-sidebar-note { display: none; }
  .crm-dashboard-grid, .crm-profile-grid { grid-template-columns: 1fr; }
  .crm-profile-side { position: static; }
}
@media (max-width: 760px) {
  .crm-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .crm-action-list { grid-template-columns: 1fr; }
  .crm-upload-form { grid-template-columns: 1fr; }
  .crm-upload-form .form-row:nth-of-type(4), .crm-upload-form .button { grid-column: auto; }
  .crm-profile-tabs { margin-top: -4px; }
  .crm-document-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .crm-stat-grid { gap: 8px; }
  .crm-stat { padding: 14px; }
  .crm-stat strong { font-size: 1.45rem; }
  .crm-table-row { grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
  .crm-table-row > div:nth-child(2), .crm-table-row > div:nth-child(3) { grid-column: 1 / -1; }
  .crm-table-row > span { grid-column: 2; grid-row: 1; }
  .crm-document-list { grid-template-columns: 1fr; }
}
@media (max-width: 420px) {
  .crm-stat-grid { grid-template-columns: 1fr; }
  .crm-profile-header .heading-actions { display: grid; grid-template-columns: 1fr; }
  .crm-profile-header .heading-actions .button { width: 100%; }
}

.crm-filter-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr)) auto; gap: 14px; align-items: end; }
.crm-filter-grid > * { min-width: 0; }
.crm-filter-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.crm-filter-actions .button { white-space: nowrap; }
.filter-tabs { flex-wrap: wrap; overflow: visible; }
.filter-tab { display: inline-flex; min-height: 38px; align-items: center; padding: 0 12px; border-bottom: 2px solid transparent; color: var(--cds-text-secondary); font-size: .84rem; white-space: nowrap; }
.filter-tab:hover { background: var(--cds-layer-hover); text-decoration: none; }
.filter-tab.active { border-bottom-color: var(--cds-interactive); color: var(--cds-interactive); font-weight: 600; }
@media (max-width: 900px) { .crm-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .crm-filter-actions { grid-column: 1 / -1; } }
@media (max-width: 560px) { .crm-filter-grid { grid-template-columns: 1fr; } .crm-filter-actions { grid-column: auto; } .crm-filter-actions .button { flex: 1; } }


/* CRM dashboard spacing refinement. */
.crm-dashboard-grid {
  gap: 24px;
}

.crm-task-surface,
.crm-guidance-surface {
  min-width: 0;
  padding: 24px;
}

.crm-task-surface .section-title-row,
.crm-guidance-surface .section-title-row {
  margin-bottom: 14px;
}

.crm-action-list {
  margin-top: 4px;
}

@media (max-width: 640px) {
  .crm-task-surface,
  .crm-guidance-surface {
    padding: 20px 16px;
  }
}


/* Phase 1 activity evidence completion states. */
.evidence-guidance {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 16px;
  padding: 12px 14px;
  border-left: 4px solid var(--primary);
  background: #eef8fd;
  color: var(--text);
  font-size: .84rem;
}
.evidence-guidance strong {
  color: var(--primary-hover);
  white-space: nowrap;
}
.evidence-guidance span {
  color: var(--muted);
}
.evidence-completion-banner {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 20px;
  padding: 14px 16px;
  border-left: 4px solid var(--primary);
  background: #eef8fd;
}
.evidence-completion-banner div {
  display: grid;
  gap: 4px;
}
.evidence-completion-banner span,
.evidence-completion-banner small {
  color: var(--muted);
}
.evidence-completion-banner.complete {
  border-color: var(--success);
  background: #edf9f2;
}
.evidence-completion-banner.quick-capture {
  border-color: #d69200;
  background: #fff8e6;
}
.evidence-completion-banner.evidence-incomplete {
  border-color: var(--danger);
  background: #fff2f0;
}
.record-evidence-status {
  display: block;
  margin-bottom: 6px;
}
.record-evidence-status .status-badge {
  white-space: nowrap;
}
@media (max-width: 640px) {
  .evidence-guidance {
    display: grid;
  }
  .evidence-guidance strong {
    white-space: normal;
  }
  .evidence-completion-banner {
    display: grid;
  }
}


/* Phase 2 structured reporting */
.outcome-fields {
  overflow: hidden;
}
.structured-status-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: -8px 0 20px;
  flex-wrap: wrap;
}
.form-subsection {
  border-top: 1px solid var(--line);
  padding-top: 20px;
  margin-top: 20px;
}
.form-subsection h3 {
  margin: 0 0 12px;
  font-size: 15px;
}
.compact-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.structured-summary {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid var(--line);
}
.structured-summary .section-title-row {
  align-items: center;
}
.structured-metric-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin: 16px 0;
}
.structured-metric-grid > div {
  min-width: 0;
  padding: 12px;
  background: var(--surface-muted);
  border: 1px solid var(--line);
  border-radius: 6px;
}
.structured-metric-grid span,
.structured-metric-grid strong {
  display: block;
}
.structured-metric-grid span {
  color: var(--muted);
  font-size: 12px;
}
.structured-metric-grid strong {
  margin-top: 4px;
  font-size: 19px;
}
.structured-incomplete {
  color: var(--warning-text, #8a4b00);
}
@media (max-width: 800px) {
  .compact-grid,
  .structured-metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 520px) {
  .compact-grid,
  .structured-metric-grid {
    grid-template-columns: 1fr;
  }
}


/* Phase 3-5 reporting workspace */
.reporting-overview-grid,
.quality-grid,
.quality-issues-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 16px 0 24px;
}
.breakdown-panel,
.quality-panel {
  min-width: 0;
}
.breakdown-panel h3,
.quality-panel h2 {
  margin: 0;
}
.breakdown-list,
.quality-list,
.quality-issue-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.breakdown-list li,
.quality-list li,
.quality-issue-list li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
  border-top: 1px solid var(--line);
}
.breakdown-list li:first-child,
.quality-list li:first-child,
.quality-issue-list li:first-child {
  border-top: 0;
}
.breakdown-list strong,
.quality-list strong {
  color: var(--text);
}
.quality-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
.quality-issues-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.quality-issue-list a {
  color: var(--link);
  font-weight: 600;
}
.quality-issue-list span {
  color: var(--muted);
  text-align: right;
}
.quality-routine {
  margin: 0;
  padding-left: 20px;
}
.quality-routine li {
  padding: 5px 0;
}
.review-panel {
  margin: 16px 0;
}
.review-form .action-buttons {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}
.review-comment {
  margin: 12px 0 0;
  padding: 12px 14px;
  border-left: 3px solid var(--link);
  background: var(--surface-muted);
}
.project-overview {
  margin-bottom: 16px;
}
.project-metadata-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.project-metadata-grid span,
.project-targets > span {
  display: block;
  color: var(--muted);
  font-size: 12px;
}
.project-metadata-grid strong {
  display: block;
  margin-top: 5px;
}
.project-targets {
  border-top: 1px solid var(--line);
  margin-top: 16px;
  padding-top: 16px;
}
.project-targets .prose {
  white-space: pre-line;
}
.export-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 20px 0;
}
.export-strip p {
  margin: 4px 0 0;
}
.print-report .reporting-metrics {
  margin-top: 0;
}
.print-report .table-scroll {
  overflow-x: auto;
}
@media (max-width: 900px) {
  .reporting-overview-grid,
  .project-metadata-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .quality-grid,
  .quality-issues-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 560px) {
  .reporting-overview-grid,
  .project-metadata-grid {
    grid-template-columns: 1fr;
  }
  .export-strip {
    align-items: flex-start;
    flex-direction: column;
  }
  .review-form .action-buttons .button {
    width: 100%;
  }
}
@media print {
  .topbar,
  .print-hide,
  .saved-view-toolbar,
  .filter-surface,
  .project-admin,
  .export-strip {
    display: none !important;
  }
  .container {
    max-width: none;
    padding: 0;
  }
  .print-report .surface {
    box-shadow: none;
  }
}

.framework-panel,.framework-source,.framework-editor{margin-top:16px}.framework-warning{display:flex;gap:12px;margin:16px 0;padding:14px 16px;border-left:3px solid #f1c21b;background:#fff8e1;color:#161616}.framework-warning span{color:#525252}.framework-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.framework-summary-grid>div{padding:14px 16px;background:#f4f4f4;border-top:3px solid #0f62fe}.framework-summary-grid span{display:block;color:#525252;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.framework-summary-grid strong{display:block;margin-top:6px;font-size:1.5rem}.framework-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.framework-list{display:grid;gap:8px;padding:0;list-style:none}.framework-list li{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid #e0e0e0}.framework-list li strong{min-width:92px;color:#0f62fe}.framework-list li span{color:#161616}.framework-indicators{margin-top:18px;padding-top:12px;border-top:1px solid #e0e0e0}.framework-indicators summary{cursor:pointer;font-weight:600}.framework-source,.framework-editor{padding:24px}.framework-editor textarea{min-height:140px}@media(max-width:700px){.framework-summary-grid,.framework-columns{grid-template-columns:1fr}.framework-source,.framework-editor{padding:16px}}
.guided-report-form,.project-setup-form{display:grid;gap:16px}.guided-step{margin:0;padding:28px}.step-heading{display:flex;align-items:flex-start;gap:14px;margin-bottom:24px}.step-heading h2{margin:2px 0 5px}.step-heading p{margin-bottom:0}.guided-upload-grid{gap:14px}.guided-upload-field .dropzone{min-height:132px}.guided-form-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;padding:4px 0 16px}.guided-empty{margin-top:4px}.guided-empty .button{margin-top:8px}.guided-report-form .form-grid,.project-setup-form .form-grid{align-items:start}.guided-report-form select:disabled{background:var(--surface-subtle);cursor:not-allowed}.guided-report-form [data-submit-upload]:disabled{cursor:wait;opacity:.7}@media(max-width:760px){.guided-step{padding:20px 16px}.step-heading{gap:10px;margin-bottom:20px}.guided-form-actions{justify-content:stretch}.guided-form-actions .button{flex:1 1 160px}.guided-upload-grid{grid-template-columns:1fr}}


/* Reporting workspace refinement */
:root { --line: var(--border); --link: var(--primary-hover); --surface-muted: var(--surface-subtle); }
.reporting-metrics { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin: 0 0 24px; }
.reporting-metrics .summary-tile { min-height: 108px; display: grid; align-content: space-between; padding: 18px 20px; }
.reporting-overview-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0 0 24px; }
.breakdown-panel { min-height: 190px; padding: 18px 20px; }
.breakdown-panel .section-title-row { margin-bottom: 14px; }
.breakdown-list li { padding: 11px 0; }
.saved-view-toolbar { align-items: flex-start; gap: 24px; padding: 22px 24px; }
.saved-view-toolbar > :first-child { flex: 1 1 280px; min-width: 220px; }
.saved-view-actions { flex: 1 1 460px; align-items: flex-start; }
.filter-surface { padding: 20px 22px; }
.report-record-item .record-main { align-items: start; }
.report-record-item .record-evidence { max-width: 360px; padding-top: 2px; }
@media (max-width: 1200px) { .reporting-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { .reporting-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); } .reporting-overview-grid { grid-template-columns: 1fr; } .breakdown-panel { min-height: 0; } .saved-view-actions { flex-basis: auto; } }
@media (max-width: 480px) { .reporting-metrics { grid-template-columns: 1fr; } }
