/* Inter 4.1, bundled under the SIL Open Font License; see fonts/Inter-LICENSE.txt. */
@font-face {
  font-family:"AuditStudio Sans";
  src:url("/src/fonts/InterVariable.woff2") format("woff2");
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
}
/* Shared presentation layer; workflow behaviour remains in the application modules. */
:root {
  color-scheme:light;
  --bg:#f5f8ff;
  --surface:#fff;
  --ink:#101c45;
  --muted:#627393;
  --line:#e5ecf7;
  --primary:#3564ff;
  --primary-hover:#2652e6;
  --primary-soft:#edf3ff;
  --green:var(--primary);
  --green-dark:var(--primary-hover);
  --green-soft:var(--primary-soft);
  --soft:var(--primary-soft);
  --lime:#b8d9ff;
  --blue:#076de1;
  --success:#087f73;
  --success-soft:#e0f7f1;
  --amber:#a46416;
  --amber-bg:#fff7eb;
  --red:#d43b45;
  --red-bg:#fff0f0;
  --radius:12px;
  --shadow:0 3px 16px #244b8704;
  --sidebar-width:236px;
  --font-family:"AuditStudio Sans",Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --text-xs:12px;
  --text-sm:13px;
  --text-base:14px;
  --text-section:18px;
  --text-title:26px;
  --weight-regular:450;
  --weight-medium:500;
  --weight-semibold:600;
  font-family:var(--font-family);
  font-optical-sizing:auto;
  font-synthesis:style;
  -webkit-font-smoothing:antialiased;
  font-size:var(--text-base);
  font-weight:var(--weight-regular);
  line-height:1.55;
  letter-spacing:-.01em;
}
body { background:var(--bg); }
::selection { background:#dce8ff; color:var(--ink); }
h1 { font-size:var(--text-title); font-weight:var(--weight-semibold); line-height:1.3; letter-spacing:-.035em; }
h2 { font-size:var(--text-section); font-weight:var(--weight-semibold); line-height:1.4; letter-spacing:-.025em; }
h3,h4 { font-weight:var(--weight-semibold); line-height:1.45; letter-spacing:-.015em; }
strong,b { font-weight:var(--weight-semibold); }
button:focus-visible,a:focus-visible,summary:focus-visible,
.audit-dialog button:focus-visible,.audit-link:focus-visible { outline:3px solid #91b9ff; outline-offset:3px; }
button,a,input,select,textarea { touch-action:manipulation; }
.eyebrow { font-size:11px; letter-spacing:.8px; color:var(--muted); }
.btn { min-height:38px; border-radius:7px; padding:9px 14px; font-size:13px; font-weight:500; border-color:#dde7f6; box-shadow:0 2px 3px #1f3b6e02; }
.btn:hover { background:#f2f6ff; border-color:#bbd0fa; }
.btn.primary { background:linear-gradient(180deg,#4371ff,#3260fa); border-color:#3564ff; box-shadow:0 3px 8px #3564ff1a; }
.btn.primary:hover { background:var(--primary-hover); border-color:var(--primary-hover); }
.btn.small { min-height:31px; padding:6px 10px; font-size:12px; }
.btn.ghost { box-shadow:none; }
.btn.danger { color:var(--red); }
.icon-btn { border-color:var(--line); color:var(--muted); border-radius:7px; }
.icon-btn:hover { color:var(--primary); background:var(--primary-soft); }
.pill { border-radius:5px; padding:4px 8px; font-size:12px; font-weight:500; }
.pill.neutral { background:#eff3f9; color:#61718e; }
.pill.green { background:var(--success-soft); color:var(--success); }
.pill.blue { background:#e7f2ff; color:#066bdc; }
.pill.amber { background:var(--amber-bg); color:var(--amber); }
.pill.red { background:var(--red-bg); color:var(--red); }
.pill.outline { background:#fff; border-color:var(--line); color:#52658d; }
.avatar { background:linear-gradient(135deg,#edf0ff,#e2e9ff); color:#315bf3; border:0; border-radius:9px; }
.avatar.user { background:linear-gradient(135deg,#edf3ff,#dce7f8); color:#21365d; width:34px; height:34px; }
.card { border-color:var(--line); border-radius:var(--radius); box-shadow:var(--shadow); }
.card-pad { padding:20px; }
.card-head { padding:17px 20px; }
.card-head p { font-size:12px; }

/* Compact application shell. */
.sidebar { width:var(--sidebar-width); padding:0 12px 13px; border-right-color:var(--line); background:linear-gradient(180deg,#fff 75%,#fbfdff); }
.sidebar .brand { height:68px; padding:0 12px; gap:10px; border-bottom:1px solid #f0f4fa; margin-bottom:14px; flex-shrink:0; }
.brand img { width:29px; height:29px; }
.brand strong { font-size:18px; font-weight:600; letter-spacing:-.7px; color:#101d47; }
.sidebar .brand span { display:none; }
.sidebar-nav { padding-right:0; scrollbar-color:#dce6f6 transparent; }
.nav-label { font-size:9px; letter-spacing:.9px; margin:16px 12px 5px; color:#7b8ba6; }
.sidebar-nav>.nav-label { display:none; }
.nav-item { padding:10px 12px; gap:12px; margin:2px 0; min-height:42px; border-radius:8px; font-size:14px; color:#41536f; line-height:1.45; }
.nav-item svg { width:18px; height:18px; stroke-width:1.85; }
.nav-item:hover { background:#f2f6ff; color:#244ba4; }
.nav-item.active { background:linear-gradient(100deg,#e8efff,#e2edff); color:#244eb5; font-weight:600; box-shadow:inset 0 0 0 1px #d8e5ff; }
.nav-item.active svg { stroke-width:2; }
.nav-item.active:before { display:none; }
.nav-item .count { background:var(--primary); color:#fff; border-radius:5px; padding:1px 6px; font-size:10px; font-weight:600; }
.side-spacer { min-height:18px; }
.sidebar-account { padding:15px 9px 0; background:transparent; }
.sidebar .brand strong { font-size:19px; font-weight:650; letter-spacing:-.6px; }
.sidebar-account strong { font-size:13px; font-weight:600; line-height:1.5; }
.sidebar-account .avatar.user { width:36px; height:36px; font-size:12px; font-weight:600; }
.sidebar-account small { color:var(--muted); font-size:11px; text-transform:capitalize; }
.sidebar-logout { margin-top:9px; padding:7px 9px; min-height:32px; font-size:12px; border-color:transparent; background:transparent; color:var(--muted); box-shadow:none; }
.main-shell { margin-left:var(--sidebar-width); width:calc(100% - var(--sidebar-width)); background:radial-gradient(ellipse at 90% 0,#edf4ff88,transparent 45%); }
.topbar { height:62px; padding:0 26px; background:#ffffffed; border-bottom-color:var(--line); }
.topbar>.row { min-width:0; }
.breadcrumb { font-size:12px; gap:10px; }
.breadcrumb strong { max-width:350px; color:#465b80; }
.breadcrumb>span:last-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.top-right { gap:13px; flex-shrink:0; }
.top-right .avatar { width:30px; height:30px; font-size:11px; }
.saved { font-size:11px; color:#6b7f9d; }
.saved svg { color:#6f9baf; }
.top-divider { height:20px; }
.content { max-width:1600px; padding:25px 28px 44px; }
.page-header { gap:16px; margin-bottom:22px; align-items:center; }
.page-header p { margin-top:6px; font-size:13px; line-height:1.65; }
.page-header .eyebrow { font-size:9px; margin-bottom:7px; }
.page-header .actions { padding-top:0; gap:8px; }
.grid-2 { gap:18px; }

/* Company directory and illustrated welcome banner. */
.workspace-hero { position:relative; min-height:212px; margin-bottom:20px; padding:32px 36px; background:linear-gradient(115deg,#f1f7ff 0%,#e6f1ff 62%,#e1edff 100%); border:1px solid #e0ebfd; border-radius:12px; color:var(--ink); box-shadow:none; }
.workspace-hero-copy { position:relative; z-index:1; max-width:75%; }
.workspace-hero h1 { font-size:30px; font-weight:600; letter-spacing:-.035em; }
.workspace-hero p { color:#536b94; font-size:13px; margin-top:8px; max-width:550px; }
.workspace-hero .actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.workspace-hero .btn { min-height:40px; padding:10px 16px; }
.workspace-hero-art { position:absolute; width:47%; height:100%; max-width:560px; right:0; bottom:0; object-fit:cover; object-position:right bottom; pointer-events:none; }
.stats { gap:16px; margin-bottom:21px; }
.stat { padding:17px 18px 16px; }
.stat .label { color:#4d6188; font-size:12px; gap:8px; }
.stat .number { font-size:28px; font-weight:600; margin:5px 0 2px; color:var(--ink); font-variant-numeric:tabular-nums; }
.stat .foot { color:var(--muted); font-size:12px; line-height:1.6; }
.stat .stat-icon { color:#2875ff; background:#eaf3ff; padding:5px; border-radius:6px; }
.stats .stat:last-child .stat-icon { color:#df4b49; background:#fff0ee; }
[data-view="overview"]>.stats .stat:first-child .number { color:var(--primary); }
[data-view="home"] .stats .stat:first-child .stat-icon { background:#dff7f3; color:#08998c; }
.company-directory-head { align-items:center; padding:18px 20px; gap:20px; }
.company-directory-head h2 { font-size:17px; }
.company-directory-head p { font-size:12px; }
.company-search { flex:0 1 46%; min-width:240px; }
.company-row { grid-template-columns:minmax(220px,1fr) 90px 135px 100px 72px; padding:18px 20px; gap:18px; }
.company-row:hover { background:#f8fbff; }
.company-row .avatar { width:45px; height:45px; font-size:16px; }
.company-row:nth-child(3n + 2) .avatar { background:#fff0ed; color:#df625e; }
.company-row:nth-child(3n + 3) .avatar { background:#e3f5f8; color:#118b9e; }
.company-row h3 { font-size:13px; font-weight:600; }
.company-row p { font-size:11px; margin-top:3px; }
.company-period small { font-size:8px; letter-spacing:.5px; }
.company-period strong { font-size:11px; color:#465b80; }
.company-open { justify-content:center; gap:6px; padding:8px 10px; border:1px solid #cfddff; border-radius:7px; font-size:12px; background:#fff; }
.company-open svg { width:13px; }
.eng-progress .row { font-size:11px; }
.eng-progress .row>span:first-child { font-size:8px; }
.progress { height:5px; background:#edf2fa; }
.progress span { background:linear-gradient(90deg,#468dff,#3564ff); }
.company-row .progress span { background:linear-gradient(90deg,#08a5b0,#088c9b); }
.workspace-privacy { font-size:11px; color:#7485a0; }

/* Shared forms and company profile. */
.input,select,textarea { min-height:39px; padding:9px 12px; border-color:#dfe7f5; border-radius:7px; color:#243554; font-size:14px; font-weight:450; line-height:1.5; background:#fff; }
.input::placeholder,textarea::placeholder { color:#8190aa; font-size:13px; }
input:focus,select:focus,textarea:focus { border-color:#7faaff; box-shadow:0 0 0 3px #3564ff10; }
input[type="checkbox"],input[type="radio"],.audit-check input[type="checkbox"],.audit-pick-options input { accent-color:var(--primary); }
.field label,.field-label { color:#354765; font-size:13px; font-weight:500; margin-bottom:7px; }
.field .required { color:#506484; }
.help { font-size:12px; color:#6b7d99; margin-top:6px; }
.form-grid { padding:22px; gap:21px 22px; }
.form-footer { background:#fcfdff; border-radius:0 0 12px 12px; padding:17px 22px; }
.choice,.multi-option { color:#50627f; border-color:#e0e8f4; border-radius:7px; }
.choice.selected,.multi-option.selected { color:#234ba8; border-color:#b4cfff; background:#f0f6ff; }
.choice.selected .radio { border-color:var(--primary); }
.selected .tickbox { background:var(--primary); border-color:var(--primary); }
.tickbox,.choice .radio { border-color:#cbd8eb; }
.multi-option.negative { color:#6e7d97; }
.steps { border-color:#dbe8fc; border-radius:10px; padding:4px; gap:4px; margin-bottom:15px; }
.step-tab { padding:13px 12px; font-size:12px; color:#62718c; border-radius:7px; position:relative; }
.step-tab.active { color:#2055ba; background:linear-gradient(110deg,#edf6ff,#e1f0ff); }
.step-tab.active:after { content:""; position:absolute; height:2px; background:#3d92ff; bottom:-4px; left:13px; right:13px; border-radius:2px; }
.step-tab .num { width:22px; height:22px; border-color:#dce5f2; background:#fff; }
.step-tab.done .num { background:#edf4ff; color:#3976df; }
.step-tab.active .num { background:#3c98ee; border-color:#3c98ee; color:#fff; }
.profile-layout { grid-template-columns:minmax(0,1fr) 255px; gap:17px; }
.profile-main .card-head { padding:19px 22px; border-bottom-color:#f0f4fa; }
.profile-main .card-head .eyebrow { font-size:9px; margin-bottom:5px !important; }
.profile-aside { top:83px; gap:14px; }
.aside-progress { padding:18px; }
.readiness-ring { width:76px; height:76px; display:grid; place-items:center; border-radius:50%; background:conic-gradient(from -90deg,#4097ff,#5c65ff var(--readiness),#e9f0fb var(--readiness)); position:relative; }
.readiness-ring:before { content:""; position:absolute; inset:6px; border-radius:50%; background:#fff; }
.readiness-ring .big { position:relative; font-size:20px; font-weight:600; letter-spacing:-.7px; }
.readiness-ring .big span { font-size:14px; }
.aside-progress .pill { background:#eaf2ff; color:#3266ed; font-size:12px; }
.aside-progress p { font-size:11px; color:#637595; margin:13px 0; }
.aside-list { padding:17px 18px; }
.aside-item { padding:10px 0; color:#596e90; border-bottom-color:#edf2f9; }
.aside-item strong { color:#087f73; }
.aside-note { color:#6d7e99; font-size:11px; }
.optional-strip { border:1px solid #e2ebf9; background:#fafdff; padding:10px 15px; margin-bottom:17px; color:#6782a5; }
.optional-strip strong { color:#395b90; }
.kv { border-bottom-color:#eef2f9; padding:9px 0; }
.kv span { color:#617597; }
.kv strong { color:#3b5178; }

/* Financial modules, checklist, binder and workflow status. */
.audit-overview { margin:26px 0 24px; }
.audit-overview h2 { font-size:17px; }
.audit-stats { gap:12px; margin:17px 0 20px; }
.audit-stat { padding:16px 17px; }
.audit-stat .caption { color:#536a92; font-size:12px; }
.audit-stat strong { font-size:23px; font-weight:600; color:var(--ink); letter-spacing:-.65px; margin:6px 0; }
.audit-stat small { color:#6a7e9f; font-size:12px; }
.audit-overview .audit-stats { grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; }
.audit-overview .audit-stat { padding:15px 13px; background:linear-gradient(135deg,#f0f6ff,#e6efff); border-color:#e3edff; border-radius:9px; }
.audit-overview .audit-stat:nth-child(2) { background:linear-gradient(135deg,#edfaf7,#e0f6ef); border-color:#dff4ee; }
.audit-overview .audit-stat:nth-child(3) { background:linear-gradient(135deg,#eff8ff,#e2f2ff); }
.audit-overview .audit-stat:nth-child(4) { background:linear-gradient(135deg,#f6f3ff,#f3eaf8); border-color:#ede7fa; }
.audit-overview .audit-stat:nth-child(5) { background:linear-gradient(135deg,#effaff,#e3f5fb); }
.audit-overview .audit-stat:nth-child(6) { background:linear-gradient(135deg,#f2f8ff,#e9f3ff); }
.audit-overview .audit-stat strong { font-size:20px; }
.audit-overview .actions { gap:8px; }
.audit-overview .actions .btn { font-size:12px; min-height:32px; padding:7px 10px; color:#086ce0; }
.audit-table th,.workpaper-list .audit-table th { background:#f7f9fe; color:#607293; letter-spacing:.045em; padding:12px 15px; border-bottom:1px solid var(--line); }
.audit-table td { border-top-color:#edf1f8; padding:14px 15px; color:#344866; }
.audit-table tr:hover td { background:#f8fbff; }
.audit-table small { color:#6c7f9d; }
.audit-toolbar { padding:15px; gap:10px; }
.audit-pager { border-top-color:var(--line); color:#657895; }
.audit-tabs { border-bottom-color:var(--line); gap:6px; }
.audit-tabs button { color:#637493; font-size:13px; border-bottom-width:2px; }
.audit-tabs button.active { color:var(--primary); border-bottom-color:var(--primary); background:linear-gradient(0deg,#edf4ff,#ffffff00); }
.audit-link { color:#206bd5; text-decoration:none; }
.audit-link:hover { color:#1c4fa9; text-decoration:underline; }
.audit-binder-nav button.active,.audit-section.active,.workpaper-section.active,.checklist-page .area-item.active { background:#e9f1ff; color:#285ec1; }
.workpaper-section:hover,.area-item:hover { background:#f0f5ff; }
.workpaper-section-code { color:#4278d8; }
.audit-ref { background:#f1f6ff; border-color:#dce7f9; color:#3663a9; }
.audit-note,.audit-more,.audit-exception-context,.audit-inline-evidence { background:#f8faff; border-color:#e0e9f7; }
.audit-more>summary,.audit-form-intro { color:#3d567d; }
.audit-pick,.audit-preview { border-color:var(--line); }
.audit-code { background:#f6f9ff; border-color:#dce6f5; color:#425d85; }
.audit-empty,.audit-note small,.audit-exception-context small,.audit-pick summary span,.audit-pick-options small { color:var(--muted); }
.audit-saving,.checklist-run-status { color:#5c7196; }
.checklist-summary { background:#ffffff90; border:1px solid var(--line); padding:17px 20px; border-radius:10px; margin-bottom:16px; }
.checklist-summary span { font-size:12px; color:#637596; }
.checklist-summary strong { font-size:25px; font-weight:600; }
.checklist-toolbar { padding:11px; border-radius:9px; }
.checklist-page .area-item { color:#5e7192; }
.checklist-page .check-area-head { background:#f8faff; }
.checklist-page .check-row { padding:16px; }
.check-row:hover { background:#f7faff; }
.checklist-page .check-ref,.check-kind { color:#7182a0; }
.checklist-procedures .check-footer { background:#fafcff; color:#6b7e9a; }
.check-status-icon.completed { color:var(--success); }
.scope-toggle { background:#f2f6fc; border-color:var(--line); }
.scope-toggle button.active { background:#fff; color:var(--primary); box-shadow:0 1px 5px #1d3d7710; }
.journey { padding:18px 20px; gap:14px; }
.step-bubble { background:#f4f7fd; border:1px solid #e1e9f7; color:#587198; }
.step-bubble.done { color:#fff; background:#1888ef; border-color:#1888ef; }

/* Retain the three existing pathway actions in a horizontal progression. */
.pathway-card { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-content:start; overflow:hidden; }
.pathway-card .card-head { grid-column:1 / -1; border-bottom:0; padding-bottom:8px; }
.pathway-card .journey { flex-direction:column; position:relative; align-items:center; text-align:center; border:0; padding:18px 13px; gap:10px; }
.pathway-card .journey .grow { flex:0; width:100%; }
.pathway-card .journey h4 { font-size:12px; }
.pathway-card .journey p { font-size:12px; line-height:1.6; }
.pathway-card .step-bubble { position:relative; z-index:1; }
.pathway-card .journey:not(:last-child):after { content:""; position:absolute; height:1px; background:#e0e9f7; width:100%; left:50%; top:34px; }
.pathway-card .journey .icon-btn { width:28px; height:28px; border-color:#e5ecf7; color:var(--primary); margin-top:auto; }
[data-view="profile"]>.page-header { margin-bottom:16px; }
[data-view="profile"]>.page-header h1 { font-size:22px; }
.profile-main .card-head .eyebrow { display:none; }

/* Documents, activity, authentication and overlays. */
.dropzone { background:linear-gradient(110deg,#fff,#f7fbff); border:1px solid #b9d8ff; border-radius:9px; padding:20px 22px; margin-bottom:14px; }
.dropzone.drag { background:#edf5ff; border-color:var(--primary); }
.dropzone h3 { color:#22365d; font-size:14px; }
.dropzone p { color:#697e9f; font-size:12px; }
.upload-icon { background:#edf5ff; border-radius:9px; color:#2475ff; padding:13px; }
.document-row { padding:17px 20px; gap:16px; border-color:#eef2f9; }
.document-row:hover { background:#f8fbff; }
.doc-icon { padding:10px; border-radius:7px; background:#eaf3ff; color:#2c83eb; }
.document-row[data-file-type="csv"] .doc-icon,.document-row[data-file-type="xlsx"] .doc-icon { color:#0b9a88; background:#e2f8f2; }
.document-row[data-file-type="pdf"] .doc-icon,.document-row[data-file-type="txt"] .doc-icon { color:#a55f85; background:#faf0f5; }
.document-row p { color:#6c7e9d; font-size:12px; }
.alert-box { background:var(--amber-bg); color:var(--amber); border-color:#f2e5cf; font-size:12px; }
.alert-box.info { background:#f0f6ff; border-color:#e0ebff; color:#55749f; }
.alert-box.error { background:var(--red-bg); color:var(--red); border-color:#f4d5d9; }
.timeline-dot,.source-row .source-icon { color:#5183d8; background:#edf4ff; border-color:#e0eaff; }
.timeline-item p,.source-row p,.team-row p { color:#6c7f9d; }
.source-row a { color:#2c65c1; }
.overlay,.audit-overlay { background:#13254755; backdrop-filter:blur(4px); }
.modal,.audit-dialog { border:1px solid #dfe8f7; border-radius:14px; box-shadow:0 24px 100px #122d5733; }
.modal-head,.drawer-head,.audit-dialog-head { border-bottom-color:var(--line); background:#fcfdff; }
.drawer { box-shadow:-12px 0 55px #14366518; }
.drawer-footer,.modal-footer,.audit-form-footer { border-top-color:var(--line); }
.drawer-tabs button.active { color:var(--primary); border-bottom-color:var(--primary); }
.auth-left { background:radial-gradient(ellipse at 20% 30%,#e9f4ff,transparent 65%),linear-gradient(145deg,#f0f7ff,#e5edff); }
.auth-left .brand { padding-left:0; }
.auth-copy h1 { color:#132654; }
.auth-copy p,.auth-feature { color:#536e96; }
.auth-feature svg { color:#4278e2; }
.auth-preview { background:#ffffffb3; border-color:#dae7ff; box-shadow:0 12px 40px #315aa908; }
.auth-right { background:#fbfcff; }
.auth-card h2 { color:var(--ink); }
.auth-switch,.auth-footer,.divider { color:#6c7d98; }
.auth-switch button { color:var(--primary); }
.spinner { border-color:#dce8ff; border-top-color:var(--primary); }
.upload-progress { background:#edf4ff; color:#3d70c7; }
#toast { background:#203b69; box-shadow:0 8px 30px #17335a24; }
#toast.error { background:#ad3b48; }

@media (min-width:1600px) {
  .content { padding:30px 40px 50px; }
  .profile-layout { grid-template-columns:minmax(0,1fr) 285px; }
}
@media (max-width:1200px) {
  :root { --sidebar-width:222px; }
  .sidebar .brand { padding:0 7px; }
  .brand strong { font-size:17px; }
  .content { padding:23px 22px 40px; }
  .topbar { padding:0 22px; }
  .saved { display:none; }
  .company-row { grid-template-columns:minmax(190px,1fr) 80px 125px 65px; gap:12px; }
  .company-row .eng-progress { display:none; }
  .company-row .pill { font-size:9px; }
  .audit-overview .audit-stats { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .profile-layout { grid-template-columns:minmax(0,1fr) 225px; gap:14px; }
  .step-tab { padding:12px 9px; font-size:11px; gap:7px; }
  .form-grid { padding:20px; gap:20px 17px; }
}
@media (max-width:1050px) {
  .profile-layout { grid-template-columns:1fr; }
  .profile-aside { position:static; display:grid; grid-template-columns:1fr 1fr; }
  .profile-aside .aside-note { display:block; grid-column:1 / -1; }
  .company-search { min-width:210px; }
  .company-row { grid-template-columns:minmax(160px,1fr) 115px 65px; }
  .company-period { display:none; }
  .workspace-hero { padding:28px; }
  .workspace-hero-copy { max-width:85%; }
  .workspace-hero-art { opacity:.65; }
  .stats { gap:10px; }
  .stat { padding:15px; }
  .stat .label { font-size:11px; }
  .stat .foot { font-size:9px; }
  .breadcrumb strong { max-width:225px; }
}
@media (max-width:780px) {
  .sidebar { width:260px; box-shadow:12px 0 45px #183c7020; }
  .sidebar:not(.open) { visibility:hidden; }
  .sidebar.open { visibility:visible; }
  .main-shell { margin-left:0; width:100%; }
  .topbar { height:58px; padding:0 16px; gap:10px; }
  .topbar>.row { gap:10px; }
  .top-right { gap:8px; }
  .top-right>.pill { display:none; }
  .breadcrumb { gap:6px; font-size:11px; }
  .breadcrumb strong { max-width:170px; }
  .content { padding:19px 16px 36px; }
  .workspace-hero { padding:27px; min-height:200px; }
  .workspace-hero h1 { font-size:27px; }
  .workspace-hero-copy { max-width:90%; }
  .page-header h1 { font-size:24px; }
  .page-header .actions { flex-wrap:wrap; }
  .company-directory-head { flex-wrap:wrap; gap:14px; }
  .company-search { flex:1 1 100%; min-width:0; }
  .stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .stat .label { font-size:12px; }
  .stat .foot { font-size:11px; }
  .step-tab { min-height:46px; padding:11px 12px; font-size:12px; }
  .profile-aside .aside-list { display:block; }
  .audit-overview .actions .btn { min-height:36px; }
}
@media (max-width:520px) {
  .content { padding:16px 12px 30px; }
  .topbar { padding:0 12px; }
  .breadcrumb>span:first-child { display:none; }
  .breadcrumb strong { max-width:130px; }
  .breadcrumb>span:last-child { max-width:83px; }
  .top-right .avatar { width:28px; height:28px; }
  .workspace-hero { min-height:210px; padding:24px 20px; }
  .workspace-hero-copy { max-width:100%; }
  .workspace-hero h1 { font-size:25px; }
  .workspace-hero p { font-size:12px; max-width:270px; }
  .workspace-hero-art { width:55%; opacity:.2; }
  .workspace-hero .actions { gap:8px; margin-top:21px; }
  .workspace-hero .btn { font-size:12px; padding:9px 12px; }
  .company-row { grid-template-columns:minmax(0,1fr) 62px; gap:12px; padding:16px; }
  .company-row>.pill { display:none; }
  .company-row .avatar { width:36px; height:36px; font-size:14px; }
  .company-row>.row { gap:10px; }
  .company-row h3 { font-size:12px; overflow-wrap:anywhere; }
  .company-open { padding:7px 9px; }
  .company-directory-head { padding:16px; }
  .profile-aside { grid-template-columns:1fr; }
  .profile-aside .aside-note { grid-column:auto; }
  .form-grid { padding:18px; gap:18px; }
  .profile-main .card-head { padding:18px; }
  .form-footer { padding:16px 18px; gap:10px; }
  .form-footer small { max-width:42%; font-size:11px; }
  .audit-overview .audit-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .audit-overview>.row { gap:12px; align-items:flex-start; }
  .audit-overview h2 { font-size:15px; }
  .audit-overview>.row .btn { padding:7px 9px; font-size:11px; white-space:normal; }
  .document-row { padding:16px; gap:11px; }
  .document-row .grow { min-width:0; flex-basis:calc(100% - 65px); }
  .document-row>.pill { margin-left:49px; }
  .dropzone { padding:17px; }
  .dropzone .upload-icon { display:grid; padding:10px; }
  .dropzone h3 { font-size:13px; }
  .dropzone .btn { min-height:40px; }
  .audit-dialog,.modal { border-radius:12px; }
  .audit-toolbar input { min-width:0; }
  .checklist-toolbar select { min-width:0; }
  .checklist-toolbar .search-field { min-width:0; }
  .checklist-summary { padding:15px; }
}
@media (prefers-reduced-motion:reduce) {
  *,*:before,*:after { animation-duration:.01ms !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
}

/* Native file inputs and drag feedback use the same button and focus treatment. */
input[type="file"] { max-width:100%; color:var(--muted); font-size:13px; }
input[type="file"]::file-selector-button { font:inherit; font-weight:600; color:#315caa; background:#f0f5ff; border:1px solid #d7e4fa; border-radius:7px; padding:9px 12px; margin-right:10px; cursor:pointer; }
input[type="file"]::file-selector-button:hover { background:#e3edff; }
.dropzone .upload-icon { background:#edf5ff; color:#2475ff; border-radius:9px; padding:13px; }
.dropzone.dragover { background:#edf5ff; border-color:var(--primary); }
[data-view="overview"]>.stats .stat:last-child .number { color:var(--red); }
.modal { max-width:100%; }
.modal-footer { flex-wrap:wrap; }
@media (max-width:520px) {
  .modal-wrap { padding:12px; }
  .modal-head { padding:20px; align-items:flex-start; }
  .modal-head h2 { font-size:18px; }
  .modal-body { padding:20px; }
  .modal-footer { gap:8px; }
  .modal-footer>.btn { width:100%; min-height:40px; white-space:normal; }
  .drawer .drawer-footer { padding:14px 18px; flex-wrap:wrap; }
}

/* Typography across legacy views uses the same hierarchy and real variable weights. */
.nav-item { font-size:14px; font-weight:500; letter-spacing:0; }
.nav-item.active { font-weight:600; }
.breadcrumb,.breadcrumb strong { font-size:12px; font-weight:500; letter-spacing:0; }
.page-header p,.workspace-hero p { font-size:14px; font-weight:450; line-height:1.6; }
.eyebrow { font-weight:500; letter-spacing:.075em; }
.card-head p,.company-directory-head p { font-size:13px; font-weight:450; line-height:1.6; }
.company-row h3,.document-row strong { font-size:14px; font-weight:600; line-height:1.45; }
.company-row p { font-size:12px; font-weight:450; line-height:1.5; }
.company-period strong,.company-open,.btn.small { font-size:12px; font-weight:500; }
.company-period small,.eng-progress .row>span:first-child { font-size:11px; letter-spacing:0; }
.stat .label,.checklist-summary span { font-size:13px; font-weight:450; line-height:1.5; }
.stat .number,.audit-stat strong,.checklist-summary strong,.readiness-ring .big { font-weight:600; letter-spacing:-.035em; font-variant-numeric:lining-nums tabular-nums; }
.stat .foot,.audit-stat small { line-height:1.55; }
.audit-financial-stats .audit-stat strong { font-weight:600; }
.caption,small,.help,.aside-progress p,.aside-note { font-size:12px; font-weight:450; line-height:1.6; }
.field label .caption { font-size:12px; font-weight:450; }
.aside-item,.kv { font-size:13px; line-height:1.55; }
.aside-item strong,.kv strong { font-size:13px; font-weight:500; }
.aside-progress h4,.aside-list h4 { font-size:14px; font-weight:600; }
.btn,input[type="file"]::file-selector-button { font-weight:500; letter-spacing:0; }
.input::placeholder,textarea::placeholder { font-size:13px; font-weight:450; }
.choice,.multi-option,.step-tab,.audit-tabs button,.workpaper-section,.checklist-page .area-item { font-size:13px; font-weight:450; line-height:1.5; }
.choice.selected,.multi-option.selected,.step-tab.active,.audit-tabs button.active,.workpaper-section.active,.checklist-page .area-item.active { font-weight:500; }
.audit-table { font-size:13px; font-weight:450; line-height:1.6; }
.audit-table th,.workpaper-list .audit-table th { font-size:12px; font-weight:500; letter-spacing:.03em; }
.audit-table td { font-weight:450; }
.audit-table strong,.workpaper-list .audit-link { font-weight:500; }
.audit-table small,.workpaper-list .audit-block { font-size:12px; line-height:1.55; }
.audit-prose,.audit-form-intro { font-size:14px; font-weight:450; line-height:1.7; }
.checklist-page .check-title { font-size:14px; font-weight:500; line-height:1.5; }
.checklist-page .check-ref,.check-kind { font-size:12px; font-weight:450; line-height:1.55; }
.check-kind.automated { font-weight:500; }
.checklist-page .check-area-head h3,.workpaper-list-head h2 { font-size:14px; font-weight:600; }
.alert-box,.optional-strip { font-size:13px; font-weight:450; line-height:1.6; }
.alert-box strong,.optional-strip strong,.audit-pick summary,.audit-more>summary { font-weight:500; }
.modal-head h2,.drawer-head h2,.audit-dialog-head h2 { font-size:20px; font-weight:600; line-height:1.4; letter-spacing:-.025em; }
.drawer-section h4 { font-size:14px; font-weight:600; }
.drawer-section p,.modal-head p,.audit-dialog-body p { font-size:13px; line-height:1.65; }
.auth-copy h1 { font-size:40px; font-weight:600; line-height:1.18; letter-spacing:-.035em; }
.auth-card h2 { font-size:24px; font-weight:600; line-height:1.35; letter-spacing:-.025em; }
.auth-card>p,.auth-feature { font-size:14px; font-weight:450; line-height:1.65; }
.auth-footer,.workspace-privacy { font-size:12px; }
@media (max-width:1200px) {
  .company-row { grid-template-columns:minmax(170px,1fr) 80px 140px 65px; }
  .company-row .pill { font-size:11px; }
}
@media (max-width:1050px) {
  .company-row { grid-template-columns:minmax(150px,1fr) 140px 65px; }
  .stat .foot { font-size:12px; }
}
@media (max-width:780px) {
  .page-header h1 { font-size:24px; line-height:1.35; }
  .stat .label { font-size:13px; }
  .step-tab { font-size:13px; }
}
@media (max-width:520px) {
  .company-row { grid-template-columns:minmax(0,1fr) 62px; }
  .company-row h3 { font-size:13px; }
  .workspace-hero h1 { font-size:26px; }
  .workspace-hero p { font-size:13px; }
  .workspace-hero .btn,.page-header .actions .btn { font-size:13px; }
  .audit-overview h2 { font-size:16px; }
  .modal-head h2,.drawer-head h2,.audit-dialog-head h2 { font-size:18px; }
}

/* Give the account exit action a restrained, accessible red treatment. */
.sidebar .sidebar-logout {
  min-height:36px;
  padding:8px 10px;
  gap:8px;
  font-size:12px;
  font-weight:600;
  color:#b4232e;
  background:#fff5f5;
  border-color:#f3cbd0;
  transition:background-color .15s ease,border-color .15s ease,color .15s ease;
}
.sidebar .sidebar-logout:hover { color:#991b27; background:#fee8ea; border-color:#eaa4ad; }
.sidebar .sidebar-logout:active { color:#851622; background:#fddadd; border-color:#df8793; }
.sidebar .sidebar-logout:focus-visible { outline:3px solid #eaa4ad; outline-offset:3px; }

/* Readable body copy across older views follows the same subtle size/weight increase. */
.timeline-item h4,.source-row a,.team-row strong { font-size:14px; font-weight:550; line-height:1.5; }
.timeline-item p,.source-row p,.team-row p { font-size:13px; font-weight:450; line-height:1.65; }
.timeline-item small { font-size:12px; font-weight:450; }
.timeline-item { gap:18px; }
.timeline-dot { width:30px; height:30px; }
.drawer-section p,.drawer-section li,.evidence-option,.audit-check,.audit-pick-options label { font-size:13px; font-weight:450; line-height:1.65; }
.suggestion blockquote,.suggestion-values { font-size:13px; line-height:1.65; }
.empty p,.audit-empty { font-size:13px; font-weight:450; line-height:1.65; }
.audit-table select,.audit-table input:not([type="checkbox"]) { font-size:13px; }
.company-row { grid-template-columns:minmax(220px,1fr) 90px 148px 100px 72px; }
.sidebar-account small { font-weight:400; }
@media (max-width:1200px) {
  .company-row { grid-template-columns:minmax(170px,1fr) 80px 148px 65px; }
}
@media (max-width:1050px) {
  .company-row { grid-template-columns:minmax(150px,1fr) 148px 65px; }
}
@media (max-width:520px) {
  .company-row { grid-template-columns:minmax(0,1fr) 66px; }
}

/* Retain the current workflow controls and accessible mobile navigation. */
.mb-8 { margin-bottom:8px; }
.mb-12 { margin-bottom:12px; }
.mb-16 { margin-bottom:16px; }
.mb-20 { margin-bottom:20px; }
.mb-24 { margin-bottom:24px; }
.mt-12 { margin-top:12px; }
.mt-16 { margin-top:16px; }
.mt-24 { margin-top:24px; }
.gap-8 { gap:8px; }
.nav-backdrop,.sidebar-close { display:none; }
.saved.save-error { color:var(--red); }
.saved.save-dirty { color:var(--amber); }
.risk-attention { color:var(--amber); }
.audit-dialog-import,.audit-dialog-report,.audit-dialog-snapshot { width:min(1120px,100%); }
.company-switch-row { justify-content:space-between; }
.file-fingerprint { font-family:monospace; font-size:11px; word-break:break-all; }
@media (max-width:780px) {
  .sidebar-close { display:grid; margin-left:auto; border:0; }
  .nav-backdrop { display:block; position:fixed; inset:0; z-index:19; background:#122d5766; width:100%; height:100%; }
}
