:root {
  color-scheme: light;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.55;
  color: #202733;
  background: #f5f6f8;
  --accent: #2563c5;
  --muted: #657080;
  --line: #e4e7ec;
  --surface: #fff;
  --surface-soft: #f7f8fa;
  --ink: #202733;
  --shadow: 0 2px 5px #18284403, 0 8px 24px #18284403;
}
* { box-sizing: border-box; }
body { margin: 0; -webkit-font-smoothing: antialiased; }
button, input, textarea, select { font: inherit; }
button, a, input, textarea, select, summary { touch-action: manipulation; }
button, summary { cursor: pointer; }
a { color: inherit; }
button, a, input, textarea, select { -webkit-tap-highlight-color: transparent; }
:where(button, a, input, textarea, select, summary):focus-visible { outline: 3px solid #91b7f2; outline-offset: 3px; }
h1:focus, main:focus { outline: none; }
.icon { width: 20px; height: 20px; flex: 0 0 auto; vertical-align: middle; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.skip { position: fixed; left: 20px; top: -80px; background: white; z-index: 100; padding: 12px 20px; border-radius: 10px; }
.skip:focus { top: 16px; }
.shell { display: grid; grid-template-columns: 242px minmax(0,1fr); min-height: 100vh; }
.sidebar { position: sticky; top: 0; height: 100dvh; min-height: 600px; display: flex; flex-direction: column; padding: 34px 18px 22px; background: #eff1f5; border-right: 1px solid #e1e5ec; }
.brand { display: flex; align-items: center; gap: 11px; text-decoration: none; margin: 0 12px; color: #1d273b; }
.brand-mark { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; color: white; background: linear-gradient(145deg,#35435d,#182338); box-shadow: inset 0 1px 1px #ffffff33, 0 3px 7px #1d273b15; }
.brand-mark svg { width: 32px; height: 32px; }
.brand-name { font-size: 25px; font-weight: 650; letter-spacing: -1px; line-height: 1.1; }
.brand-small { display: block; margin-top: 7px; font-size: 8px; font-weight: 650; letter-spacing: 1.9px; color: #747e8e; }
.workspace-label { font-size: 10px; font-weight: 650; letter-spacing: 1.45px; color: #6c778a; margin: 46px 14px 13px; }
nav { display: grid; gap: 5px; }
nav a { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 10px; font-size: 13px; font-weight: 500; color: #5d6776; text-decoration: none; transition: background .16s, color .16s; }
nav a .icon { width: 18px; height: 18px; }
nav a:hover { background: #e5e9f0; color: #253348; }
nav a.active { background: #fff; color: #245cb5; font-weight: 600; box-shadow: 0 1px 4px #1a294009; }
.sidebar-note { margin: auto 12px 22px; padding-top: 40px; color: #6c778a; font-size: 10px; white-space: nowrap; }
.local-dot { display: inline-block; width: 5px; height: 5px; background: #8e99aa; border-radius: 50%; margin: 0 6px 2px 0; }
.sidebar-foot { display: flex; align-items: center; justify-content: space-between; gap: 6px; border-top: 1px solid #dfe3e9; padding: 20px 10px 0; font-size: 12px; }
.user-profile { display: flex; gap: 9px; align-items: center; min-width: 0; }
.user-avatar { display: grid; place-items: center; flex: 0 0 33px; width: 33px; height: 33px; background: #dfe5ef; border: 1px solid #d6dde7; color: #51617a; border-radius: 50%; font-size: 11px; font-weight: 600; }
.user-details { min-width: 0; }
.user-details strong { display: block; font-size: 12px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 116px; }
.user-details span { display: block; font-size: 10px; color: var(--muted); margin-top: 2px; }
.sign-out { display: grid; place-items: center; border: 0; background: transparent; color: #6c778a; border-radius: 8px; width: 34px; height: 36px; flex: 0 0 34px; }
.sign-out:hover { color: #26374e; background: #e2e6ec; }
.sign-out .icon { width: 18px; height: 18px; }
.content { min-width: 0; display: flex; flex-direction: column; }
.topbar { height: 74px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 0 42px; border-bottom: 1px solid #e6e9ef; background: #ffffffa8; backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
.breadcrumb { display: flex; align-items: center; gap: 13px; font-size: 12px; color: #6e7b8e; }
.breadcrumb-divider { color: #c0c6d0; }
#workspace-page { color: #495468; font-weight: 500; }
.private-label { display: flex; align-items: center; gap: 7px; color: #687588; font-size: 11px; }
.private-label .icon { width: 13px; height: 13px; }
main { width: 100%; max-width: 1420px; padding: 42px 42px 56px; margin: 0 auto; flex: 1; }
.eyebrow { color: #66758c; font-size: 10px; line-height: 1.4; font-weight: 650; letter-spacing: 1.6px; text-transform: uppercase; margin: 0 0 10px; }
h1 { font-size: 36px; line-height: 1.2; font-weight: 650; letter-spacing: -1.3px; color: #1c2535; margin: 0 0 10px; overflow-wrap: anywhere; }
h2 { font-size: 17px; font-weight: 600; letter-spacing: -.35px; margin: 0 0 12px; }
h3 { font-size: 15px; font-weight: 600; letter-spacing: -.15px; margin: 0 0 8px; }
p { margin: 0 0 18px; }
.subtle { color: var(--muted); font-size: 13px; line-height: 1.65; }
.page-head { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.page-head .subtle { margin-bottom: 0; font-size: 14px; }
.page-head .button { flex: 0 0 auto; }
.button { background: #2563c5; color: #fff; border: 1px solid #205bbb; padding: 11px 17px; border-radius: 10px; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-size: 13px; line-height: 1.4; font-weight: 550; min-height: 43px; white-space: normal; text-align: center; box-shadow: 0 1px 2px #1e3a6d14, inset 0 1px #ffffff15; transition: background .16s, box-shadow .16s, transform .16s; }
.button .icon { width: 17px; height: 17px; }
.button:hover { background: #1d56b1; box-shadow: 0 3px 9px #255abd20; }
.button:active { transform: translateY(1px); }
.button.secondary { background: #fff; color: #455167; border-color: #dce1e8; box-shadow: 0 1px 3px #18284404; }
.button.secondary:hover { background: #f5f7fa; border-color: #bdc9da; }
.button.danger { background: #bd363d; border-color: #ad3037; }
.button.danger:hover { background: #a72c33; }
.button:disabled, .button:disabled:hover { background: #eef0f4; color: #78818f; border-color: #e0e4eb; box-shadow: none; transform: none; cursor: not-allowed; }
.notice { padding: 16px 18px; background: #eff5fd; border: 1px solid #dfe9f8; border-radius: 12px; font-size: 13px; margin-bottom: 24px; display: flex; gap: 12px; align-items: baseline; color: #4a5d78; }
.notice strong { font-weight: 600; color: #2c496f; }
.notice.compact { flex-direction: column; gap: 5px; }
.grid { display: grid; grid-template-columns: minmax(0,1.85fr) minmax(280px,1fr); gap: 24px; align-items: start; }
.panel { background: var(--surface); border: 1px solid var(--line); border-radius: 16px; padding: 26px; min-width: 0; box-shadow: var(--shadow); }
.panel-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; border-bottom: 1px solid #edf0f4; padding-bottom: 20px; margin-bottom: 20px; }
.panel-heading h2 { margin: 0; }
.panel-heading .subtle { margin: 5px 0 0; font-size: 12px; }
.panel-heading > .icon { color: #8a95a6; width: 19px; height: 19px; }
.pill { display: inline-flex; align-items: center; font-size: 11px; font-weight: 500; line-height: 1.5; padding: 5px 10px; border-radius: 7px; background: #eef3fa; color: #51647e; white-space: normal; text-align: center; flex-shrink: 0; }
.empty { text-align: center; padding: 54px 24px; }
.empty-icon { display: grid; place-items: center; width: 54px; height: 54px; margin: 0 auto 18px; border: 1px solid #e6eaf1; border-radius: 15px; background: #f7f9fc; color: #869ab9; font-size: 26px; }
.empty-icon .icon { width: 26px; height: 26px; }
.empty p { max-width: 320px; margin: 8px auto 22px; color: var(--muted); font-size: 13px; }
.policy-item { padding: 16px 0; border-bottom: 1px solid #edf0f4; }
.policy-item:last-child { border-bottom: none; padding-bottom: 0; }
.policy-item strong { display: block; font-size: 13px; font-weight: 600; margin-bottom: 5px; }
.policy-item p { font-size: 12px; line-height: 1.7; color: var(--muted); margin: 0; }
.small-link, .text-link { font-size: 12px; color: #285dab; font-weight: 550; text-underline-offset: 4px; }
.text-link { display: inline-flex; gap: 8px; align-items: center; text-decoration: none; }
.text-link:hover { text-decoration: underline; }
.text-link .icon { width: 15px; height: 15px; }
.workspace-overview { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border: 1px solid var(--line); border-radius: 15px; padding: 22px 0; background: #fff; box-shadow: var(--shadow); margin-bottom: 28px; }
.overview-stat { display: flex; gap: 16px; align-items: center; padding: 0 26px; border-right: 1px solid #e9ecf1; min-width: 0; }
.overview-stat:last-child { border: 0; }
.stat-icon { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; border-radius: 12px; background: #f4f6fa; color: #8292a9; }
.stat-icon .icon { width: 20px; height: 20px; }
.overview-stat div > span { display: block; font-size: 11px; color: #687588; margin-bottom: 3px; }
.overview-stat strong { display: block; font-size: 25px; line-height: 1.2; font-weight: 600; letter-spacing: -.8px; font-variant-numeric: tabular-nums; }
.library-grid { grid-template-columns: minmax(0,1fr) 300px; }
.panel.library-panel { padding: 0; overflow: hidden; }
.library-panel > .panel-heading { margin: 0; padding: 24px 26px 20px; border: 0; }
.library-toolbar { padding: 0 26px 20px; border-bottom: 1px solid var(--line); }
.search-field { position: relative; display: block; }
.search-field > .icon { position: absolute; left: 13px; top: 13px; width: 17px; height: 17px; color: #94a0b1; pointer-events: none; }
.search-field input { font-weight: 400; margin: 0; padding: 11px 12px 11px 39px; border: 1px solid #e4e8ee; border-radius: 9px; background: #f8f9fb; font-size: 12px; height: 43px; }
.report-list-item { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 16px; margin: 0 26px; border-bottom: 1px solid #edf0f4; }
.report-list-item:last-child { border-bottom: 0; }
.report-row { display: block; padding: 24px 0; min-width: 0; text-decoration: none; border-bottom: 1px solid var(--line); }
.report-row:last-child { border-bottom: 0; }
.report-list-item .report-row { display: flex; align-items: flex-start; gap: 14px; border: 0; }
.report-file-icon { display: grid; place-items: center; width: 42px; height: 50px; flex: 0 0 42px; background: #eff5fd; border: 1px solid #e0eaf9; color: #6b91cb; border-radius: 10px; }
.report-file-icon .icon { width: 22px; height: 22px; }
.report-info { min-width: 0; }
.report-title { display: block; font-size: 14px; font-weight: 600; letter-spacing: -.15px; line-height: 1.6; overflow-wrap: anywhere; }
.report-row:hover .report-title { color: #2563c5; }
.report-meta { display: block; font-size: 11px; line-height: 1.7; color: #687588; margin-top: 3px; overflow-wrap: anywhere; }
.meta-dot { display: inline-block; margin: 0 7px; color: #a5adba; }
.report-tags { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 10px; }
.report-tags > span { font-size: 10px; color: #627087; background: #f3f5f8; border-radius: 5px; padding: 3px 7px; }
.report-row-end { text-align: right; }
.report-date { display: block; font-size: 10px; color: #69758a; white-space: nowrap; }
.report-row-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; margin-top: 11px; }
.report-delete { display: inline-flex; align-items: center; gap: 6px; border: 0; color: #a0565b; background: transparent; border-radius: 7px; padding: 7px; font-size: 11px; min-height: 36px; }
.report-delete .icon { width: 14px; height: 14px; }
.report-delete:hover { color: #ae3038; background: #fff1f2; }
.open-report { display: grid; place-items: center; width: 32px; height: 32px; color: #6d7e96; border: 1px solid #e8ecf2; border-radius: 8px; background: white; }
.open-report:hover { background: #eff5fd; color: #2563c5; }
.open-report .icon { width: 15px; height: 15px; }
.library-footer { display: flex; align-items: center; gap: 7px; padding: 16px 26px; border-top: 1px solid #edf0f4; background: #fcfcfd; color: #6c788c; font-size: 10px; }
.library-footer .icon { width: 12px; height: 12px; }
.library-aside { display: grid; gap: 20px; }
.brief-guide { position: relative; background: linear-gradient(135deg,#f3f7ff,#fff 80%); }
.brief-guide .eyebrow { margin-top: 20px; font-size: 9px; }
.guide-icon { display: grid; place-items: center; width: 35px; height: 35px; color: #638cce; background: #e9f0fd; border: 1px solid #dfe9fa; border-radius: 10px; }
.guide-icon .icon { width: 18px; height: 18px; }
.brief-guide h2 { font-size: 20px; letter-spacing: -.6px; margin-bottom: 9px; }
.brief-guide p:not(.eyebrow) { font-size: 12px; color: #6c7890; line-height: 1.8; margin-bottom: 16px; }
.workflow-strip { display: flex; align-items: center; gap: 13px; font-size: 10px; color: #687991; border-top: 1px solid #e6ebf4; padding-top: 18px; margin-top: 22px; }
.workflow-strip [aria-hidden] { color: #b1becf; }
.standards-panel .panel-heading { border: 0; margin: 0 0 20px; padding: 0; }
.standards-panel h2 { font-size: 14px; }
.standard-list { display: grid; gap: 18px; }
.standard-item { display: flex; align-items: flex-start; gap: 11px; }
.standard-item > .icon { width: 15px; height: 15px; color: #8b9bb3; margin-top: 2px; }
.standard-item strong { display: block; color: #536178; font-size: 12px; font-weight: 550; }
.standard-item p { color: #68768a; font-size: 11px; line-height: 1.65; margin: 4px 0 0; }
.standards-panel > .text-link { margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--line); width: 100%; font-size: 11px; }
.confirm-dialog { width: min(470px,calc(100vw - 32px)); border: 1px solid #e3e7ef; border-radius: 22px; padding: 30px; color: var(--ink); box-shadow: 0 30px 100px #18284435; }
.confirm-dialog::backdrop { background: #19253a55; backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); }
.dialog-icon { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 13px; background: #fff0f1; color: #bb484f; margin-bottom: 20px; }
.dialog-icon .icon { width: 22px; height: 22px; }
.confirm-dialog h2 { font-size: 22px; letter-spacing: -.6px; margin-bottom: 10px; }
.confirm-dialog p { color: var(--muted); font-size: 13px; line-height: 1.75; overflow-wrap: anywhere; }
.confirm-dialog p strong { color: var(--ink); font-weight: 600; }
.confirm-dialog .actions { justify-content: flex-end; margin: 26px 0 0; }
.row-top { display: flex; justify-content: space-between; gap: 14px; align-items: start; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
label { display: block; font-size: 13px; font-weight: 550; color: #4c5769; }
input, select, textarea { display: block; width: 100%; min-width: 0; border: 1px solid #dce1e9; border-radius: 9px; background: #fff; color: var(--ink); padding: 12px 13px; margin-top: 8px; font-size: 14px; box-shadow: 0 1px 2px #18284403; transition: border-color .15s, box-shadow .15s; }
input:focus, select:focus, textarea:focus { border-color: #94b6eb; box-shadow: 0 0 0 3px #3576dd0c; }
input::placeholder, textarea::placeholder { color: #707d91; }
input[type=file] { font-size: 12px; padding: 10px; color: #7a8594; }
input::file-selector-button { border: 1px solid #dce2eb; background: #f5f7fa; color: #4d5e76; border-radius: 6px; padding: 7px 10px; margin-right: 12px; cursor: pointer; }
textarea { resize: vertical; min-height: 220px; line-height: 1.8; }
.field { margin-bottom: 24px; min-width: 0; }
.hint { font-size: 11px; color: #69758a; line-height: 1.65; margin-top: 8px; overflow-wrap: anywhere; }
.actions { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin-top: 24px; }
.error { color: #9b3d43; background: #fff5f5; border: 1px solid #f1d9dc; padding: 14px 16px; border-radius: 10px; margin-bottom: 18px; font-size: 13px; overflow-wrap: anywhere; }
.error p:last-child { margin-bottom: 0; }
.back { font-size: 12px; color: #7b8799; text-decoration: none; display: inline-block; margin-bottom: 24px; }
.back:hover { color: var(--accent); }
.tabs { display: flex; gap: 4px; border: 1px solid #e0e5ed; border-radius: 12px; background: #eceff4; padding: 5px; margin-bottom: 24px; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; }
.tabs button { border: 1px solid transparent; background: none; padding: 9px 13px; color: #63748c; border-radius: 8px; font-size: 11px; white-space: nowrap; flex: 0 0 auto; }
.tabs button:hover { background: #ffffff70; color: #3e506c; }
.tabs button[aria-selected=true] { background: #fff; color: #345f9f; font-weight: 600; border-color: #dde4ef; box-shadow: 0 1px 4px #18305207; }
.brief-text { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 14px; line-height: 1.85; color: #4c586b; }
.kv { display: flex; justify-content: space-between; gap: 16px; font-size: 12px; padding: 13px 0; border-bottom: 1px solid #edf0f4; }
.kv span { min-width: 0; overflow-wrap: anywhere; }
.kv span:last-child { color: var(--muted); text-align: right; max-width: 65%; }
.rule-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.rule-index { display: inline-flex; align-items: center; justify-content: center; min-width: 36px; height: 36px; border: 1px solid #e2eaf7; background: #f4f7fc; border-radius: 10px; font-size: 12px; font-weight: 600; color: #7d98c1; margin-bottom: 18px; }
.status-row { display: flex; gap: 20px; align-items: center; justify-content: space-between; padding: 20px 0; border-bottom: 1px solid #edf0f4; }
.status-row:last-child { border: 0; }
.status-row strong { font-size: 13px; font-weight: 550; }
.status-row p { margin: 5px 0 0; font-size: 12px; color: var(--muted); max-width: 720px; line-height: 1.7; }
footer { display: flex; justify-content: space-between; gap: 12px; margin: 0 42px; padding: 22px 0; border-top: 1px solid #e4e8ee; color: #6c788b; font-size: 10px; }
#toast { position: fixed; bottom: 26px; left: 50%; transform: translateX(-50%); width: max-content; max-width: calc(100vw - 40px); padding: 14px 22px; background: #233149f5; color: white; border: 1px solid #ffffff15; border-radius: 13px; box-shadow: 0 8px 30px #14233f26; font-size: 13px; z-index: 50; backdrop-filter: blur(12px); }
[hidden] { display: none !important; }
.is-auth { background: radial-gradient(ellipse at 20% 15%,#e7edf8 0,transparent 48%), #f5f6f8; }
.is-auth .shell { display: block; }
.is-auth .sidebar { position: absolute; left: 0; top: 0; height: auto; min-height: 0; border: 0; background: none; padding: 30px; }
.is-auth .workspace-label, .is-auth .sidebar-note, .is-auth .sidebar-foot, .is-auth .topbar { display: none; }
.is-auth .content { min-height: 100dvh; }
.is-auth main { max-width: 480px; padding: 145px 20px 70px; }
.is-auth .page-head { display: block; text-align: center; margin-bottom: 26px; }
.is-auth .page-head .eyebrow { font-size: 9px; }
.is-auth h1 { font-size: 31px; margin-bottom: 12px; }
.is-auth .page-head .subtle { font-size: 13px; max-width: 350px; margin: auto; }
.is-auth .auth-panel { padding: 30px; border-radius: 20px; box-shadow: 0 8px 40px #192b4707; }
.is-auth .auth-panel .hint { text-align: center; font-size: 10px; margin: 16px 5px 0; }
.is-auth footer { justify-content: center; border: 0; padding: 20px; }
.is-auth footer span:first-child { display: none; }
@media (min-width:1600px) { main { padding-top: 52px; } .library-grid { grid-template-columns: minmax(0,1fr) 330px; } }
@media (max-width:1200px) { .shell { grid-template-columns: 212px minmax(0,1fr); } .sidebar { padding-inline: 12px; } main { padding: 34px 28px 48px; } .topbar { padding-inline: 28px; } footer { margin-inline: 28px; } .library-grid { grid-template-columns: minmax(0,1fr) 260px; gap: 20px; } .library-panel>.panel-heading { padding-inline: 22px; } .library-toolbar { padding-inline: 22px; } .report-list-item { margin-inline: 22px; } .report-file-icon { display: none; } .user-details strong { max-width: 100px; } .overview-stat { padding-inline: 20px; } .library-aside .panel { padding: 22px; } }
@media (max-width:1050px) { .grid { grid-template-columns: 1fr; } .library-grid { grid-template-columns: 1fr; } .library-aside { grid-template-columns: 1fr 1fr; align-items: start; } .stat-icon { display: none; } .report-file-icon { display: grid; } .overview-stat strong { font-size: 23px; } .workspace-overview { padding-block: 20px; } .rule-grid { gap: 16px; } }
@media (max-width:760px) {
  .shell { display: block; }
  .sidebar { position: static; height: auto; min-height: 0; padding: 19px 20px 10px; display: grid; grid-template-columns: 1fr auto; background: #eff1f5; border-right: 0; border-bottom: 1px solid #e0e5ed; }
  .brand { margin: 0; gap: 9px; }
  .brand-mark { width: 34px; height: 34px; border-radius: 11px; }
  .brand-mark svg { width: 27px; height: 27px; }
  .brand-name { font-size: 22px; }
  .brand-small { font-size: 7px; letter-spacing: 1.4px; margin-top: 5px; }
  .workspace-label, .sidebar-note { display: none; }
  nav { grid-row: 2; grid-column: 1 / -1; display: flex; overflow-x: auto; gap: 5px; margin-top: 20px; padding: 1px 1px 7px; scrollbar-width: none; }
  nav a { flex: 0 0 auto; min-height: 44px; padding: 10px 12px; font-size: 11px; gap: 7px; }
  nav a .icon { width: 15px; height: 15px; }
  .sidebar-foot { grid-row: 1; grid-column: 2; padding: 0; border: 0; gap: 8px; }
  .user-details { display: none; }
  .user-avatar { width: 30px; height: 30px; flex-basis: 30px; font-size: 10px; }
  .topbar { height: 52px; padding-inline: 22px; }
  .breadcrumb { font-size: 10px; gap: 9px; }
  .private-label { font-size: 9px; }
  main { padding: 30px 22px 44px; }
  .page-head { gap: 15px; margin-bottom: 24px; }
  h1 { font-size: 30px; letter-spacing: -1px; }
  .page-head .eyebrow { font-size: 9px; }
  .page-head .subtle { font-size: 12px; }
  .page-head .button { font-size: 11px; padding: 10px 13px; min-height: 44px; }
  .page-head .button .icon { width: 14px; height: 14px; }
  .overview-stat { padding-inline: 18px; }
  .overview-stat div>span { font-size: 10px; }
  .overview-stat strong { font-size: 22px; }
  .panel { padding: 22px; border-radius: 14px; }
  .report-list-item { gap: 10px; }
  .report-title { font-size: 13px; }
  .report-meta { font-size: 10px; }
  .report-tags>span { font-size: 9px; }
  .report-row { padding-block: 20px; }
  .report-date { font-size: 9px; }
  .report-row-actions { gap: 4px; }
  .report-delete { font-size: 11px; min-height: 44px; }
  .open-report { width: 40px; height: 40px; }
  .form-grid, .rule-grid { grid-template-columns: 1fr; gap: 0; }
  .rule-grid { gap: 16px; }
  .notice { display: block; font-size: 12px; }
  .notice strong { display: block; margin-bottom: 5px; }
  .row-top { flex-wrap: wrap; }
  .status-row { flex-wrap: wrap; align-items: flex-start; gap: 10px; }
  input, select, textarea { font-size: 16px; }
  .search-field input { font-size: 16px; }
  .confirm-dialog { padding: 26px; }
  .tabs { margin-inline: -2px; }
  footer { margin-inline: 22px; font-size: 9px; }
  .is-auth .sidebar { padding: 25px; }
  .is-auth main { padding-top: 130px; }
}
@media (max-width:480px) {
  .page-head { align-items: flex-start; }
  .page-head .button { margin-top: 27px; }
  main { padding-inline: 16px; }
  .topbar { padding-inline: 18px; }
  .private-label>span { display: none; }
  .workspace-overview { margin-bottom: 22px; padding-block: 17px; }
  .overview-stat { padding-inline: 14px; }
  .overview-stat div>span { font-size: 9px; min-height: 28px; }
  .overview-stat strong { font-size: 22px; }
  .library-aside { grid-template-columns: 1fr; }
  .library-panel>.panel-heading { padding: 22px 18px 18px; }
  .library-toolbar { padding-inline: 18px; }
  .report-list-item { grid-template-columns: 1fr; gap: 0; margin-inline: 18px; }
  .report-list-item .report-row { padding-bottom: 10px; }
  .report-file-icon { width: 36px; height: 44px; flex-basis: 36px; border-radius: 8px; }
  .report-list-item .report-row { gap: 12px; }
  .report-row-end { display: flex; align-items: center; justify-content: space-between; margin-left: 48px; padding-bottom: 16px; }
  .report-row-actions { margin: 0; }
  .report-date { font-size: 10px; }
  .library-footer { padding-inline: 18px; }
  .confirm-dialog .actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .confirm-dialog .button { font-size: 12px; padding-inline: 10px; }
  .is-auth .page-head .button { margin-top: 0; }
  .is-auth main { padding-inline: 20px; }
  .is-auth .auth-panel { padding: 24px; }
}
@media (prefers-reduced-motion:reduce) { *, *::before, *::after { transition: none !important; scroll-behavior: auto !important; animation: none !important; } }

/* Report workflow components */
.auth-panel{max-width:540px}
.invitation-panel{margin-top:24px}
.auth-panel .button{width:100%}
#invite-link{font-size:13px}
#assign-form{margin-top:24px;border-top:1px solid var(--line);padding-top:20px}
nav[hidden]{display:none}
.session-message{margin-bottom:18px}

.upload-field{padding:18px;border:1px dashed #bccce2;border-radius:8px;background:#f8faff}
.upload-field input,.upload-grid input,.side-form input{background:white}
.upload-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin:4px 0 22px}
.upload-details summary{cursor:pointer;color:var(--accent);font-weight:600}
.optional-documents .side-form{margin-top:16px;border-top:0;padding-top:0}
.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;margin-top:20px}
.warning-pill{background:#fff1d8;color:#795311}
.notice.compact{margin:14px 0 22px}
.intake-issues strong{display:block}
.intake-issues ul,.requirement-list{margin:8px 0 0;padding-left:22px}
.intake-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:20px;margin-bottom:24px}
.file-list{display:grid;gap:14px;margin-top:20px}
.file-card{border:1px solid var(--line);border-radius:8px;padding:18px}
.file-head,.file-actions{display:flex;align-items:start;justify-content:space-between;gap:16px}
.file-head p{font-size:13px;color:var(--muted);margin:4px 0 0}
.file-card details{margin-top:14px}
.file-card summary{cursor:pointer;color:var(--accent);font-size:13px}
.file-preview{margin-top:12px;padding:14px;background:#f5f7fa;border-radius:6px;max-height:240px;overflow:auto;font-size:13px}
.file-warning{margin-top:12px;padding:10px 12px;background:#fff5e6;border:1px solid #f1d29d;border-radius:6px;font-size:13px}
.file-actions{margin-top:14px;align-items:center}
.file-actions .hint{margin:0}
.compact-empty{padding:24px}
.side-form{margin-top:24px;border-top:1px solid var(--line);padding-top:22px}
.side-form h3{margin-bottom:14px}
@media(max-width:650px){.upload-grid,.intake-grid{grid-template-columns:1fr}
.file-head,.file-actions{align-items:start;flex-direction:column;gap:8px}
}

.protection-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}
.protection-flow>div{border:1px solid var(--line);border-radius:8px;padding:16px}
.protection-flow span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#eaf1fc;color:var(--accent);font-weight:700;margin-bottom:10px}
.protection-flow strong{display:block;margin-bottom:6px}
.protection-flow p{font-size:13px;color:var(--muted);margin:0}
.protection-tags{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 22px}
.protection-tags span{padding:6px 10px;border:1px solid #dfe6f1;background:#f4f7fc;border-radius:999px;font-size:12px;color:#506987}
@media(max-width:750px){.protection-flow{grid-template-columns:1fr}
}

.system-list{margin-bottom:24px}
.ai-panel{margin-bottom:24px}
.ai-panel .panel-heading>div .eyebrow{margin-bottom:4px}
.ai-panel .panel-heading>div h2{margin:0}
.ai-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0}
.ai-summary>div{border:1px solid var(--line);border-radius:8px;padding:15px}
.ai-summary span,.ai-summary small{display:block;color:var(--muted);font-size:12px}
.ai-summary strong{display:block;font:600 21px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.5px;margin:5px 0}
.recommendation{background:#f4f7fc;border-left:3px solid #7a9bc9;padding:16px 18px;margin:20px 0}
.recommendation p{font-size:13px;margin:6px 0}
.estimate-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}
.estimate-grid>div{border:1px solid #dfe6f1;background:#f7f9fc;border-radius:8px;padding:16px}
.estimate-grid span,.estimate-grid small{display:block;color:var(--muted);font-size:12px}
.estimate-grid strong{display:block;font:600 25px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.5px;color:var(--accent);margin:4px 0}
.model-comparison{margin-top:20px}
.model-comparison summary{cursor:pointer;color:var(--accent);font-weight:600}
.table-scroll{overflow-x:auto;margin-top:15px}
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{text-align:left;padding:11px;border-bottom:1px solid var(--line);vertical-align:top}
th{color:var(--muted);font-size:11px;letter-spacing:.5px;text-transform:uppercase}
td small{display:block;max-width:330px;color:var(--muted);margin-top:3px}
.selected-model{background:#eff5fd}
code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#edf1f7;padding:2px 5px;border-radius:4px}
@media(max-width:900px){.ai-summary{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){.ai-summary,.estimate-grid{grid-template-columns:1fr}
}

.deployment-panel{margin-bottom:24px}
.deployment-panel .panel-heading{margin-bottom:8px}
.readiness-list{margin-top:20px;border-top:1px solid var(--line)}
.readiness-list .status-row{padding:11px 0}

.research-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}
.research-summary>div{border:1px solid var(--line);border-radius:12px;padding:14px;background:#f7f9fc;display:grid;gap:3px}
.research-summary span,.source-facts{color:var(--muted);font-size:12px}
.research-summary strong{font:600 27px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.5px}
.research-summary small{color:var(--muted)}
.source-list{display:grid;gap:14px}
.source-card{border:1px solid var(--line);border-radius:14px;padding:16px;background:#fff}
.source-card.source-excluded{border-color:#ddb7a7;background:#fff9f6}
.source-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.source-head h3{margin:2px 0 5px;font-size:17px}
.source-facts{display:flex;flex-wrap:wrap;gap:8px 16px;margin:10px 0}
.evidence-passage{border-left:3px solid #7a9bc9;padding:8px 12px;margin:10px 0;background:#f7f9fc}
.evidence-passage p,.reference-preview{margin:6px 0 0;line-height:1.55}
.reference-preview{font-family:Georgia,serif}
.search-record{margin:16px 0}
@media(max-width:800px){.research-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
.source-head{display:block}
.source-head .pill{display:inline-block;margin-top:8px}
}

.draft-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}
.draft-summary>div{border:1px solid var(--line);border-radius:12px;padding:14px;background:#f7f9fc;display:grid;gap:3px}
.draft-summary span,.draft-summary small{color:var(--muted);font-size:12px}
.draft-summary strong{font:600 27px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.5px}
.thesis{border-left:3px solid var(--accent);background:#f4f7fc;padding:15px 18px;margin:22px 0}
.thesis span{display:block;color:var(--muted);font-size:11px;letter-spacing:1px;text-transform:uppercase}
.thesis p{margin:5px 0 0;font-family:Georgia,serif;font-size:17px}
.draft-section{padding:24px 0;border-top:1px solid var(--line)}
.draft-heading{display:flex;justify-content:space-between;gap:20px;align-items:baseline}
.draft-heading>div{display:flex;gap:10px;align-items:baseline}
.draft-heading span{font-family:Georgia,serif;color:var(--accent);font-size:18px}
.draft-heading h3{font-family:Georgia,serif;font-size:21px}
.draft-heading small,.section-purpose{color:var(--muted);font-size:12px}
.section-purpose{font-style:italic}
.draft-paragraph>p{font-family:Georgia,serif;font-size:16px;line-height:1.75}
.citation{color:inherit;text-decoration:none;white-space:normal;font:inherit}
.draft-paragraph details{margin:-8px 0 20px}
.draft-paragraph summary,.requirement-coverage summary{cursor:pointer;color:var(--accent);font-size:12px}
.draft-paragraph dl{font-size:13px;background:#f7f9fc;padding:13px;border-radius:7px}
.draft-paragraph dt{font-weight:600}
.draft-paragraph dd{margin:2px 0 9px;color:var(--muted)}
.protected-draft{border:1px solid #dfe6f1;background:#f7f9fc;border-radius:9px;padding:20px;margin-top:24px}
.protected-draft ol{padding-left:24px}
.protected-draft li{margin:10px 0;font-family:Georgia,serif;font-size:14px}
.requirement-coverage{margin-top:22px}
.requirement-coverage ul{list-style:none;padding:0}
.requirement-coverage li{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.requirement-coverage strong,.requirement-coverage small{display:block;font-size:12px}
.requirement-coverage small{color:var(--muted);margin-top:3px}
@media(max-width:800px){.draft-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
.draft-heading{display:block}
.draft-heading small{display:block;margin:4px 0 12px}
}

.visual-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}
.visual-summary>div{border:1px solid var(--line);border-radius:12px;padding:14px;background:#f7f9fc;display:grid;gap:3px}
.visual-summary span,.visual-summary small{color:var(--muted);font-size:12px}
.visual-summary strong{font:600 27px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.5px}
.visual-list{display:grid;gap:20px}
.visual-card{border:1px solid var(--line);border-radius:12px;padding:18px}
.visual-card figure{margin:18px 0}
.visual-card img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:8px;background:white}
.visual-card figcaption{font-family:Georgia,serif;font-size:13px;margin-top:9px}
.visual-discussion,.visual-provenance{padding:14px 16px;border-radius:8px;margin-top:14px}
.visual-discussion{background:#f7f9fc;border-left:3px solid #7a9bc9}
.visual-provenance{border:1px solid #dfe6f1}
.visual-discussion p,.visual-provenance p{font-size:13px;margin:5px 0 0}
.evidence-chip{display:inline-block!important;background:#eef3fa;border-radius:999px;padding:5px 9px;margin:8px 5px 0 0!important;color:#566b88}
.visual-card>.hint{margin-top:14px}
@media(max-width:800px){.visual-summary{grid-template-columns:1fr}
.visual-card{padding:14px}
}

.export-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}
.export-summary>div{border:1px solid var(--line);border-radius:12px;padding:14px;background:#f7f9fc;display:grid;gap:3px}
.export-summary span,.export-summary small{color:var(--muted);font-size:12px}
.export-summary strong{font:600 22px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.5px}
.export-downloads{display:grid;gap:12px;margin:20px 0}
.export-card{display:flex;justify-content:space-between;align-items:center;gap:18px;border:1px solid #dfe6f1;background:#f8faff;border-radius:10px;padding:18px}
.export-card h3{overflow-wrap:anywhere}
.export-card p{font-size:12px;color:var(--muted);margin:4px 0 0}
@media(max-width:750px){.export-summary{grid-template-columns:1fr}
.export-card{align-items:flex-start;flex-direction:column}
}

.job-current{border:1px solid #dfe6f1;background:#f8faff;border-radius:10px;padding:18px;margin:18px 0}
.job-current.status-failed,.job-current.status-cancelled{border-color:#efc7c0;background:#fffaf9}
.job-current progress{display:block;width:100%;height:12px;accent-color:var(--accent);margin:14px 0 18px}
.job-current .source-head>strong{font:600 26px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.5px;color:var(--accent)}
.job-events{border-top:1px solid var(--line);margin-top:20px}
.job-events>div{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line)}
.job-events p{margin:0;font-size:13px}
.job-events strong,.job-events small{display:block}
.job-events small{color:var(--muted);margin-top:3px}

/* Live workflow: stable cards, no page refresh or flashing animation. */
.report-progress { margin:24px 0; padding:28px; }
.report-progress-head { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; }
.report-progress-head h2 { margin:0 0 7px; font-size:24px; letter-spacing:-.7px; }
.report-progress-head .subtle { margin:0; max-width:640px; font-size:13px; }
.report-progress-head .eyebrow { margin:0 0 9px; }
.report-progress-total { text-align:right; flex-shrink:0; font-variant-numeric:tabular-nums; }
.report-progress-total strong { display:block; font-size:34px; line-height:1.2; letter-spacing:-1px; color:var(--accent); }
.report-progress-total span { display:block; margin-top:7px; font-size:11px; color:var(--muted); }
.report-progress-meta { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:20px 0 10px; font-size:11px; color:var(--muted); font-variant-numeric:tabular-nums; }
.workflow-status { display:inline-flex; align-items:center; gap:7px; font-weight:600; color:var(--accent); }
.workflow-status::before { content:''; width:6px; height:6px; border-radius:50%; background:currentColor; }
.workflow-status[data-status="succeeded"] { color:#247154; }
.workflow-status[data-status="failed"],.workflow-status[data-status="retry_wait"] { color:#986221; }
.workflow-status[data-status="cancelled"],.workflow-status[data-status="queued"] { color:var(--muted); }
.report-progress progress { display:block; width:100%; height:6px; appearance:none; border:0; border-radius:4px; background:#e9eef5; accent-color:var(--accent); }
.report-progress progress::-webkit-progress-bar { border-radius:4px; background:#e9eef5; }
.report-progress progress::-webkit-progress-value { border-radius:4px; background:var(--accent); }
.report-progress progress::-moz-progress-bar { border-radius:4px; background:var(--accent); }
.workflow-checklist { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding:0; margin:23px 0 20px; list-style:none; }
.workflow-checklist li { display:flex; align-items:flex-start; gap:11px; min-width:0; padding:16px 13px; border:1px solid var(--line); border-radius:12px; background:#fafbfc; }
.workflow-step-icon { display:grid; place-items:center; flex-shrink:0; width:24px; height:24px; border:1px solid #d8dfe8; border-radius:50%; font-size:11px; font-weight:600; color:#748194; background:white; }
.workflow-step-heading strong { display:block; font-size:12px; font-weight:600; line-height:1.4; }
.workflow-step-heading [data-step-status] { display:block; font-size:10px; margin:4px 0 7px; color:var(--muted); }
.workflow-checklist p { margin:0; font-size:11px; line-height:1.6; color:var(--muted); }
.workflow-checklist [data-status="active"] { border-color:#8eafe8; background:#f0f5fe; }
.workflow-checklist [data-status="active"] .workflow-step-icon { color:white; border-color:var(--accent); background:var(--accent); }
.workflow-checklist [data-status="active"] [data-step-status] { color:var(--accent); font-weight:600; }
.workflow-checklist [data-status="complete"] { background:#f7fbf9; border-color:#dceae3; }
.workflow-checklist [data-status="complete"] .workflow-step-icon { color:#23714f; border-color:#cfe6db; background:#e7f3ed; }
.workflow-checklist [data-status="complete"] [data-step-status] { color:#23714f; }
.workflow-checklist [data-status="blocked"],.workflow-checklist [data-status="retry"] { background:#fffaf0; border-color:#e6d1a7; }
.workflow-checklist [data-status="blocked"] .workflow-step-icon,.workflow-checklist [data-status="retry"] .workflow-step-icon { color:#97611e; border-color:#e6d1a7; background:#fff1d9; }
.report-progress-foot { display:flex; justify-content:space-between; gap:16px; border-top:1px solid var(--line); padding-top:14px; font-size:10px; color:var(--muted); }
.report-progress [hidden] { display:none; }
.workflow-activity { margin:4px 0 20px; border:1px solid var(--line); border-radius:12px; background:#fbfcfe; overflow:hidden; }
.workflow-activity-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 15px; border-bottom:1px solid var(--line); }
.workflow-activity-head h3 { margin:0; font-size:12px; }
.workflow-activity-head span { font-size:10px; color:var(--muted); }
.workflow-activity ol { margin:0; padding:4px 15px; list-style:none; }
.workflow-activity li { display:flex; gap:10px; align-items:flex-start; padding:9px 0; border-bottom:1px solid #edf0f4; }
.workflow-activity li:last-child { border-bottom:0; }
.workflow-activity-dot { width:7px; height:7px; margin-top:5px; flex:0 0 auto; border-radius:50%; background:#8aa9d8; box-shadow:0 0 0 4px #edf3fc; }
.workflow-activity li>div { display:flex; justify-content:space-between; gap:16px; width:100%; min-width:0; }
.workflow-activity strong { font-size:11px; line-height:1.5; font-weight:560; }
.workflow-activity time { flex:0 0 auto; font-size:10px; color:var(--muted); font-variant-numeric:tabular-nums; }
.progress-connection { margin:12px 0; }
.workflow-activity { margin-top:24px; }
.workflow-activity>summary { font-size:13px; font-weight:600; }
.workflow-checklist { align-items:start; }
.workflow-checklist li>div { min-width:0; flex:1; }
.step-feedback { border-top:1px solid #dfe6ef; margin-top:12px; padding-top:10px; }
.step-feedback summary { font-size:11px; font-weight:600; color:var(--accent); }
.step-feedback form { margin-top:12px; }
.step-feedback label { display:block; font-size:11px; font-weight:600; margin-bottom:6px; }
.step-feedback textarea { display:block; width:100%; min-height:96px; padding:9px; resize:vertical; background:white; font-size:12px; line-height:1.5; }
.step-feedback .button { margin-top:10px; font-size:11px; padding:8px 10px; width:100%; }
.workflow-checklist .step-feedback .hint { font-size:10px; margin-top:7px; }
.feedback-submit-result { margin-top:8px !important; overflow-wrap:anywhere; }
.feedback-record { margin-top:10px; border-left:2px solid #a7bbd8; padding:0 0 0 9px; overflow-wrap:anywhere; }
.feedback-record>strong { font-size:10px; color:var(--accent); }
.feedback-record[data-status="applied"] { border-color:#54a280; }
.feedback-record[data-status="applied"]>strong { color:#23714f; }
.feedback-record[data-status="needs_review"] { border-color:#cf9e52; }
.feedback-record[data-status="needs_review"]>strong { color:#97611e; }
.feedback-record small { display:block; font-size:10px; color:var(--muted); margin-top:5px; }
.workflow-activity .job-events { margin-top:14px; }
@media(max-width:1150px) { .workflow-checklist { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) {
  .report-progress { padding:19px; }
  .report-progress-head { gap:15px; }
  .report-progress-head h2 { font-size:20px; }
  .report-progress-total strong { font-size:26px; }
  .report-progress-total span { max-width:90px; }
  .workflow-checklist { grid-template-columns:minmax(0,1fr); }
  .workflow-step-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
  .workflow-checklist li>div { width:100%; }
  .workflow-step-heading [data-step-status] { white-space:nowrap; }
  .report-progress-foot { flex-direction:column; gap:5px; }
}

.validation-section{margin-top:24px}
.validation-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:16px 0}
.validation-stat-grid.overview{grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 24px}
.validation-stat-grid>div{border:1px solid var(--line);border-radius:9px;padding:13px;background:#f7f9fc}
.validation-stat-grid span{display:block;font-size:11px;color:var(--muted)}
.validation-stat-grid strong{display:block;font:600 20px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.5px;color:var(--accent);margin-top:4px;overflow-wrap:anywhere}
.validation-checks{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.validation-checks label{display:flex;gap:7px;align-items:center;border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-size:12px}
.validation-checks input{width:auto;margin:0}
.validation-metric,.validation-case,.validation-reviewer{border:1px solid var(--line);border-radius:10px;padding:18px;margin:14px 0}
.validation-metric.approved{border-color:#84a2cd;background:#f5f8fe}
.validation-reviewer summary{cursor:pointer}
.validation-reviewer form{margin-top:18px}
.inline-form{display:flex;align-items:end;gap:12px}
.inline-form .field{flex:1;margin:0}
.criterion-field{border:0;border-top:1px solid var(--line);padding:18px 0;margin:0}
.criterion-field legend{font-weight:700;padding-top:18px}
.criterion-field textarea{min-height:110px}
.validation-workspace{grid-template-columns:minmax(0,1.6fr) minmax(360px,.8fr);align-items:start}
.validation-form-panel{position:sticky;top:20px;max-height:calc(100vh - 40px);overflow:auto}
.validation-prose{font-family:Georgia,serif;font-size:16px;line-height:1.75}
.validation-heading{border-top:1px solid var(--line);padding-top:26px;margin-top:28px}
.validation-figure{margin:22px 0}
.validation-figure img{width:100%;height:auto;border:1px solid var(--line);border-radius:8px}
.validation-figure figcaption{font:13px Georgia,serif;margin-top:7px}
@media(max-width:950px){.validation-stat-grid,.validation-stat-grid.overview{grid-template-columns:repeat(2,minmax(0,1fr))}
.validation-workspace{grid-template-columns:1fr}
.validation-form-panel{position:static;max-height:none}
}
@media(max-width:650px){.validation-stat-grid,.validation-stat-grid.overview{grid-template-columns:1fr}
.inline-form{display:block}
.inline-form .field{margin-bottom:14px}
}

/* Compact stage updates; full correction history is available on demand. */
.step-update-time { display:block; font-size:10px; color:var(--muted); margin-top:6px; font-variant-numeric:tabular-nums; }
.workflow-checklist .step-correction-summary { margin-top:10px; font-size:10px; font-weight:600; }
.step-correction-summary[data-correction-status="applied"] { color:#23714f; }
.step-correction-summary[data-correction-status="needs_review"] { color:#97611e; }
.step-correction-details { margin-top:5px; }
.step-correction-details>summary { font-size:11px; color:var(--accent); cursor:pointer; }
.step-correction-details[open] { max-height:280px; overflow:auto; overscroll-behavior:contain; padding-right:6px; }
.step-correction-details summary:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }

.brief-source-choice{border:1px solid var(--line);border-radius:12px;padding:16px;margin:16px 0;display:flex;flex-wrap:wrap;gap:16px}
.brief-source-choice legend{font-weight:600;padding:0 6px}
.brief-source-choice label{display:flex;align-items:center;gap:8px}
.brief-source-choice input{width:auto;margin:0}
.pending-files{display:grid;gap:8px;margin-top:8px}
.pending-file{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px;border:1px solid var(--line);border-radius:10px}
.pending-file span{overflow-wrap:anywhere;min-width:0}
.pending-file button{flex-shrink:0;padding:6px 12px;min-height:32px}
#pasted-brief-field[hidden],#uploaded-brief-field[hidden]{display:none}
