/* PRUMO — a single, independent design system. Legacy app.css is not loaded. */
:root {
  color-scheme: light;
  --navy: #0b1929; --navy-light: #142a40; --ink: #14283b;
  --green: #087a5c; --green-dark: #06634b; --mint: #bce6d2;
  --gold: #d2ac69; --red: #b73945; --amber: #94600b;
  --bg: #f3f5f5; --paper: #fff; --line: #dde4e6; --muted: #607181;
  --radius: 14px; --sidebar: 238px; --shadow: 0 4px 20px #112b3d06;
  font-family: "Segoe UI", Arial, sans-serif; color: var(--ink); background: var(--bg);
  font-synthesis: none; text-rendering: optimizeLegibility;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 24px; }
body { margin: 0; min-width: 320px; font-size: 14px; line-height: 1.6; }
h1,h2,h3,p { margin-top: 0; }
h1,h2,h3 { color: var(--ink); line-height: 1.2; letter-spacing: -.035em; font-weight: 650; overflow-wrap: break-word; }
h1 { font-size: clamp(26px, 2.6vw, 38px); margin-bottom: 14px; }
h2 { font-size: 24px; margin-bottom: 12px; }
h3 { font-size: 17px; margin-bottom: 8px; letter-spacing: -.015em; }
p { margin-bottom: 16px; }
a { color: var(--green-dark); text-underline-offset: 4px; }
a:hover { color: var(--green); }
img,svg,video { max-width: 100%; }
button,input,select,textarea { font: inherit; }
button,a,input,select,textarea,summary { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
:focus-visible { outline: 3px solid #279a7c; outline-offset: 4px; }
[hidden] { display: none !important; }
.skip-link { position: fixed; top: -100px; left: 20px; z-index: 100; padding: 12px 20px; background: white; border: 2px solid var(--green); }
.skip-link:focus { top: 10px; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.section-kicker,.eyebrow { font-size: 10px; line-height: 1.5; letter-spacing: .17em; font-weight: 750; color: var(--green); text-transform: uppercase; margin-bottom: 12px; }
.section-lead { font-size: 14px; line-height: 1.7; color: var(--muted); max-width: 70ch; }
.muted,.field-help,.profile-help { color: var(--muted); }
.button,.opportunity-link { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 44px; padding: 11px 19px; border: 1px solid transparent; border-radius: 7px; font-size: 12px; font-weight: 700; text-decoration: none; line-height: 1.5; transition: background .15s, box-shadow .15s; }
.button-primary,.opportunity-link { background: var(--green); color: white; border-color: var(--green); box-shadow: 0 3px 7px #087a5c16; }
.button-primary:hover,.opportunity-link:hover { background: var(--green-dark); color: white; }
.button-secondary { color: var(--ink); border-color: var(--line); background: white; }
.button-secondary:hover { background: #edf5f1; border-color: var(--green); color: var(--green-dark); }
.button-quiet { background: transparent; border-color: var(--line); color: var(--ink); }
.button-quiet:hover { background: #edf5f1; }
.back-link { display: inline-block; margin-bottom: 16px; font-size: 11px; font-weight: 600; text-decoration: none; }
.flash { padding: 14px 20px; margin-bottom: 20px; border: 1px solid #b8dccd; border-left: 4px solid var(--green); border-radius: 8px; background: #eff9f3; color: #14573f; }
.flash-error { background: #fff1f1; border-color: #edc4c6; color: #982833; }
.brand { display: inline-flex; flex-shrink: 0; align-items: center; gap: 12px; color: white; text-decoration: none; }
.brand:hover { color: white; }
.brand-symbol { width: 38px; height: 42px; object-fit: contain; }
.brand-name { font-family: Georgia, serif; font-size: 20px; font-weight: 700; letter-spacing: .18em; }
/* Workspace navigation */
.workspace-sidebar { position: fixed; inset: 0 auto 0 0; z-index: 40; width: var(--sidebar); padding: 31px 18px 20px; background: var(--navy); color: #d1dbe3; display: flex; flex-direction: column; overflow-y: auto; }
.sidebar-brand { padding-left: 14px; }
.sidebar-caption { margin: 21px 14px 47px; font-size: 9px; letter-spacing: .18em; line-height: 1.8; color: #8eacb6; }
.nav-label { margin: 0 16px 13px; font-size: 9px; letter-spacing: .17em; font-weight: 650; color: #8194a5; }
.primary-nav { display: grid; gap: 7px; }
.primary-nav a { display: flex; align-items: center; gap: 13px; min-height: 47px; padding: 12px 14px; border-radius: 7px; color: #b9c9d6; font-size: 12px; font-weight: 550; text-decoration: none; }
.primary-nav a svg { width: 19px; height: 19px; flex-shrink: 0; opacity: .8; }
.primary-nav a:hover { background: #ffffff0a; color: white; }
.primary-nav a.is-active { background: #1a3b40; color: #c9f3dc; box-shadow: inset 3px 0 #65c9a2; }
.primary-nav a.is-active svg { opacity: 1; color: #74d3b0; }
.sidebar-bottom { margin-top: auto; padding: 65px 10px 0; }
.sidebar-assurance { font-size: 9px; color: #96adbd; padding-bottom: 20px; border-bottom: 1px solid #ffffff14; }
.assurance-dot { display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: #61cca4; margin-right: 7px; }
.sidebar-user { display: flex; align-items: center; gap: 10px; margin: 20px 0 13px; min-width: 0; }
.user-avatar { display: grid; place-items: center; flex: 0 0 31px; height: 31px; border-radius: 50%; color: #bce6d2; background: #24433f; font-weight: 600; }
.sidebar-user div { min-width: 0; }
.sidebar-user strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #e7edf2; font-size: 11px; font-weight: 550; }
.sidebar-user small { display: block; color: #91a5b6; font-size: 10px; }
.logout-button { display: flex; align-items: center; gap: 9px; border: 0; padding: 8px 0; background: transparent; color: #a9bdcd; font-size: 11px; }
.logout-button:hover { color: white; }
.logout-button svg { width: 16px; height: 16px; }
.sidebar-footer { display: block; margin-top: 29px; color: #6f879a; font-size: 7px; letter-spacing: .1em; }
.workspace-topbar { min-height: 72px; margin-left: var(--sidebar); padding: 16px 36px; display: flex; align-items: center; justify-content: space-between; gap: 25px; background: white; border-bottom: 1px solid var(--line); }
.workspace-location { color: #7a8b97; font-size: 11px; white-space: nowrap; }
.workspace-location span { margin: 0 11px; color: #b0bac2; }
.workspace-location strong { color: #40566a; font-weight: 550; }
.header-company-context { display: flex; align-items: center; gap: 10px; min-width: 0; max-width: 40%; color: #435869; font-size: 11px; }
.header-company-context > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.company-initial { display: grid; place-items: center; background: #edf3f0; border: 1px solid #d9e6df; width: 28px; height: 28px; border-radius: 7px; color: var(--green); flex-shrink: 0; font-weight: 650; }
.mobile-header { display: none; }
.app-view .page-shell { margin-left: var(--sidebar); padding: 32px 36px 0; min-height: calc(100vh - 72px); max-width: 1800px; }
.workspace-footer { display: flex; justify-content: space-between; gap: 20px; padding: 24px 0; margin-top: 40px; border-top: 1px solid var(--line); font-size: 10px; color: #7a8994; }
.workspace-footer span:first-child { font-family: Georgia,serif; font-weight: 700; letter-spacing: .18em; color: #526578; }
.accountant-context-bar { display: flex; flex-wrap: wrap; gap: 12px; padding: 12px 16px; border: 1px solid #c5ddd1; border-radius: 9px; margin-bottom: 20px; background: #eef7f1; font-size: 11px; }
.accountant-context-bar a { margin-left: auto; }
/* Page introductions */
.report-heading,.dossier-heading,.opportunity-heading,.profile-heading,.portfolio-heading { position: relative; margin: 0 0 24px; padding: 30px 32px; background: var(--navy); color: #c5d5de; border-radius: var(--radius); border: 1px solid #1e3749; overflow: hidden; }
.report-heading::after,.portfolio-heading::after { content: ''; position: absolute; width: 290px; height: 290px; border: 1px solid #79c5a529; border-radius: 50%; right: -60px; top: -80px; box-shadow: 0 0 0 35px #79c5a508,0 0 0 70px #79c5a506; pointer-events: none; }
.report-heading h1,.dossier-heading h1,.opportunity-heading h1,.profile-heading h1,.portfolio-heading h1 { color: #f7fbfc; position: relative; max-width: 100%; margin-bottom: 14px; }
.report-heading h1 { max-width: 38ch; font-size: clamp(25px, 2.4vw, 36px); }
.report-heading .section-kicker,.dossier-heading .section-kicker,.opportunity-heading .section-kicker,.profile-heading .section-kicker,.portfolio-heading .section-kicker { color: #90d3b5; }
.report-meta,.report-subline { color: #c2d1db; font-size: 11px; }
.report-meta { margin: 12px 0 0; }
.report-subline { display: flex; flex-wrap: wrap; gap: 6px 20px; }
.report-meta .meta-divider { padding: 0 10px; color: #7e9eae; }
.dossier-heading .back-link,.opportunity-heading .back-link,.profile-heading .back-link { color: #b3c9d5; }
.dossier-heading .section-lead,.opportunity-heading .section-lead,.profile-heading .section-lead,.portfolio-heading .section-lead { color: #bdcdd8; margin-bottom: 0; }
/* Dashboard: four compact, readable regions */
.readiness-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) 240px minmax(250px, .9fr); gap: 0; background: white; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); }
.readiness-main { padding: 28px; min-width: 0; }
.readiness-topline { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 21px; }
.readiness-topline .section-kicker { margin: 0; }
.status-word { display: inline-flex; align-items: center; border-radius: 5px; padding: 4px 9px; background: #edf1f4; color: #53697a; font-size: 10px; font-weight: 700; white-space: nowrap; }
.action-required .status-word { color: #a42a39; background: #fff0f0; }
.attention .status-word { color: #875908; background: #fff5dd; }
.in-order .status-word { color: #086048; background: #e5f6ec; }
.readiness-main h2 { font-size: clamp(23px, 2vw, 31px); line-height: 1.25; max-width: 24ch; margin: 0 0 15px; }
.readiness-signals { display: flex; gap: 9px; flex-wrap: wrap; min-height: 22px; color: var(--muted); font-size: 11px; }
.readiness-main > .button { margin-top: 4px; }
.readiness-flow { display: none; }
.readiness-seal { display: grid; place-items: center; padding: 25px 17px; background: #f4f8f6; }
.seal-ring { position: relative; width: 196px; height: 196px; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 4px; border-radius: 50%; background: white; border: 6px solid #dcebe4; outline: 1px solid #b9d8ca; outline-offset: 5px; color: var(--ink); }
.seal-ring img { width: 48px; height: 52px; object-fit: contain; margin-bottom: 8px; }
.seal-label { font-size: 8px; text-transform: uppercase; letter-spacing: .11em; color: #5a7380; }
.seal-ring strong { font-size: 14px; color: #354c5e; }
.seal-ring small { font-size: 11px; color: #5a7380; }
.seal-progress { position: absolute; inset: -6px; border-radius: 50%; background: conic-gradient(var(--green) var(--readiness-score), #dcebe4 0); -webkit-mask: radial-gradient(farthest-side,transparent calc(100% - 6px),#000 0); mask: radial-gradient(farthest-side,transparent calc(100% - 6px),#000 0); }
.action-required .seal-progress { background: conic-gradient(var(--red) var(--readiness-score), #f0dfe1 0); }
.attention .seal-progress { background: conic-gradient(#bc8525 var(--readiness-score), #f2e6ca 0); }
.no-data .seal-ring { border-color: #e2e8eb; outline-color: #cbd6dc; }
.no-data .seal-progress { background: #e2e8eb; }
.seal-orbit { display: none; }
.priority-panel { padding: 28px 24px; border-left: 1px solid var(--line); background: #fafcfb; }
.priority-panel h2 { font-size: 17px; margin-bottom: 18px; }
.priority-list { list-style: none; padding: 0; margin: 0; }
.priority-list li { display: grid; grid-template-columns: 23px 1fr auto; gap: 10px; align-items: start; padding: 15px 0; border-top: 1px solid var(--line); }
.priority-number { color: var(--green); font-size: 10px; font-weight: 650; margin-top: 2px; }
.priority-copy strong { display: block; color: var(--ink); font-size: 12px; line-height: 1.5; }
.priority-copy small { display: block; color: var(--muted); font-size: 10px; margin-top: 5px; }
.priority-link { font-size: 11px; padding: 0 0 8px; }
.status-band { display: flex; align-items: center; gap: 16px; padding: 20px 26px; margin: 18px 0 26px; background: white; border: 1px solid var(--line); border-radius: 10px; }
.status-band > img { width: 27px; height: 32px; object-fit: contain; }
.status-band-label { font-size: 9px; color: var(--muted); letter-spacing: .09em; max-width: 120px; }
.status-band-metrics { display: grid; grid-template-columns: repeat(4,1fr); flex: 1; gap: 20px; }
.status-metric { display: flex; gap: 10px; align-items: baseline; border-left: 1px solid var(--line); padding-left: 20px; }
.status-metric-value { font-size: 22px; line-height: 1.2; font-weight: 650; font-variant-numeric: tabular-nums; }
.status-metric-label { font-size: 10px; color: var(--muted); }
.status-band.action-required .status-metric:nth-child(2) strong { color: var(--red); }
.status-band.attention .status-metric:nth-child(3) strong { color: var(--amber); }
.company-journey { background: transparent; padding: 0 0 26px; margin-bottom: 0; }
.journey-heading { display: flex; gap: 20px; align-items: baseline; flex-wrap: wrap; margin-bottom: 17px; }
.journey-heading .section-kicker { margin: 0; }
.journey-heading h2 { font-size: 17px; margin: 0; }
.journey-track { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.journey-line { display: none; }
.journey-stop { position: relative; display: grid; grid-template-columns: 34px 1fr; column-gap: 12px; padding: 18px; border: 1px solid var(--line); background: white; border-radius: 9px; text-decoration: none; }
.journey-stop:hover { border-color: #7db59c; }
.journey-dot { display: grid; place-items: center; grid-row: span 2; background: #ecf5f0; color: var(--green); border-radius: 8px; font-size: 10px; font-weight: 700; height: 34px; }
.journey-stop strong { color: var(--ink); font-size: 12px; }
.journey-stop small { font-size: 10px; color: var(--muted); }
.dashboard-opportunities { padding: 26px; border: 1px solid var(--line); border-radius: var(--radius); background: white; }
.dashboard-opportunities-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.dashboard-opportunities-heading h2 { font-size: 22px; }
.dashboard-opportunities-heading .back-link { white-space: nowrap; }
.opportunity-dashboard-metrics { display: grid; grid-template-columns: repeat(4,1fr); margin: 9px 0 18px; background: #f6f8f8; border: 1px solid #e5ebeb; border-radius: 9px; }
.opportunity-dashboard-metrics > span { padding: 15px 18px; border-right: 1px solid #e5ebeb; color: var(--muted); font-size: 10px; }
.opportunity-dashboard-metrics > span:last-child { border: 0; }
.opportunity-dashboard-metrics strong { display: block; color: var(--ink); font-size: 24px; font-weight: 650; line-height: 1.4; font-variant-numeric: tabular-nums; }
.opportunity-profile-note { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 12px 17px; margin-bottom: 12px; border: 1px solid #eadfbe; border-radius: 7px; background: #fffaed; color: #735618; }
.opportunity-profile-note p { margin: 0; font-size: 11px; }
.opportunity-profile-note .button { min-height: 35px; padding: 7px 12px; font-size: 10px; white-space: nowrap; }
.dashboard-opportunity-row { display: grid; grid-template-columns: 26px minmax(0,1fr) 130px auto; gap: 16px; align-items: center; padding: 22px 0; border-bottom: 1px solid var(--line); }
.dashboard-opportunity-row:last-child { border-bottom: 0; padding-bottom: 0; }
.dashboard-opportunity-index { color: #85989f; font-size: 10px; }
.opportunity-program { margin: 0 0 7px; font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #5f7d79; }
.dashboard-opportunity-row h3 { font-size: 14px; line-height: 1.5; }
.dashboard-opportunity-row h3 a,.opportunity-copy h2 a { color: var(--ink); text-decoration: none; }
.dashboard-opportunity-row h3 a:hover,.opportunity-copy h2 a:hover { color: var(--green); }
.dashboard-opportunity-reason { margin-bottom: 0; font-size: 10px; color: var(--muted); }
.dashboard-opportunity-meta { display: grid; justify-items: start; gap: 4px; font-size: 10px; }
.dashboard-opportunity-meta small { color: var(--muted); font-size: 9px; }
.dashboard-opportunity-row .opportunity-link { font-size: 10px; padding: 9px 13px; min-height: 36px; }
.dossier-strip { display: none; }
/* Documents */
.dossier-heading { display: flex; justify-content: space-between; align-items: center; gap: 32px; }
.dossier-heading > div:first-child { min-width: 0; }
.dossier-heading h1 { font-size: 29px; max-width: 45ch; }
.dossier-actions { display: flex; gap: 10px; flex-shrink: 0; flex-wrap: wrap; }
.dossier-status-bar { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; padding: 13px 17px; margin-bottom: 20px; background: #eaf4ee; border: 1px solid #cfe2d6; border-radius: 8px; font-size: 11px; color: #325b49; }
.dossier-status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px #087a5c12; }
.dossier-status-dot.is-alert { background: var(--red); }
.dossier-status-dot.is-warning { background: #b47a15; }
.ledger-summary { display: flex; gap: 7px; align-items: baseline; margin: 22px 0 14px; font-size: 11px; color: var(--muted); }
.ledger-summary strong { color: var(--ink); font-size: 23px; margin-left: 5px; font-variant-numeric: tabular-nums; }
.dossier-kpis { display: grid; grid-template-columns: repeat(4,1fr); gap: 15px; margin-bottom: 25px; }
.dossier-kpi { position: relative; padding: 20px 23px; border: 1px solid var(--line); border-radius: 10px; background: white; }
.dossier-kpi::after { content: ''; position: absolute; right: 22px; top: 25px; width: 8px; height: 8px; border-radius: 50%; background: #8497a6; }
.dossier-kpi-current::after { background: var(--green); }
.dossier-kpi-expired::after { background: var(--red); }
.dossier-kpi-expiring::after { background: #bd881e; }
.dossier-kpi strong { display: block; font-size: 28px; font-weight: 650; color: var(--ink); line-height: 1.4; font-variant-numeric: tabular-nums; }
.dossier-kpi span { font-size: 11px; color: var(--muted); }
.ledger-wrap { overflow-x: auto; background: white; border: 1px solid var(--line); border-radius: 11px; }
.document-ledger { width: 100%; border-collapse: collapse; text-align: left; font-size: 11px; }
.document-ledger th { padding: 15px 18px; background: #f8faf9; border-bottom: 1px solid var(--line); color: #617887; font-size: 9px; letter-spacing: .07em; text-transform: uppercase; }
.document-ledger td { padding: 19px 18px; border-bottom: 1px solid #e8eded; vertical-align: middle; }
.document-ledger tr:last-child td { border-bottom: 0; }
.ledger-document { max-width: 310px; overflow-wrap: anywhere; }
.ledger-document strong { display: block; font-size: 12px; }
.ledger-document small,.demo-document-note { display: block; color: var(--muted); margin-top: 5px; font-size: 10px; }
.ledger-row.expired { background: #fff7f7; }
.ledger-row.expiring { background: #fffcf3; }
.ledger-state { display: inline-flex; align-items: center; gap: 7px; color: var(--green-dark); font-weight: 650; white-space: nowrap; }
.ledger-state.expired { color: var(--red); }
.ledger-state.expiring { color: var(--amber); }
.state-symbol { display: grid; place-items: center; width: 17px; height: 17px; border: 1px solid currentColor; border-radius: 50%; font-size: 9px; }
.ledger-unavailable { color: var(--muted); }
.download-link { font-weight: 600; }
.empty-state,.dashboard-opportunity-empty { text-align: center; padding: 52px 25px; border: 1px dashed #c3d3ce; border-radius: var(--radius); background: white; }
.empty-state h2 { font-size: 22px; }
.empty-state p,.dashboard-opportunity-empty p { color: var(--muted); max-width: 60ch; margin: 0 auto 20px; }
.empty-state p:last-child { margin-bottom: 0; }
/* Profile and forms */
.profile-heading { display: grid; grid-template-columns: minmax(0,1fr) 290px; gap: 35px; align-items: center; }
.profile-heading h1 { font-size: 32px; }
.profile-company-name { font-size: 14px; font-weight: 600; color: #e0ebef; margin-bottom: 8px; }
.profile-completion { padding: 23px; background: #ffffff09; border: 1px solid #ffffff20; border-radius: 10px; color: #d2e0e8; }
.profile-completion-heading { display: flex; justify-content: space-between; gap: 20px; align-items: baseline; }
.profile-completion-heading span { font-size: 9px; letter-spacing: .07em; }
.profile-completion-heading strong { font-size: 27px; color: white; }
.profile-completion-track { height: 5px; background: #3d5262; border-radius: 5px; overflow: hidden; margin: 14px 0 12px; }
.profile-completion-track span { display: block; height: 100%; background: #70cca4; }
.profile-completion small { font-size: 10px; }
.profile-summary { display: grid; grid-template-columns: repeat(5,1fr); margin-bottom: 24px; background: white; border: 1px solid var(--line); border-radius: 10px; }
.profile-summary > div { padding: 16px 20px; border-right: 1px solid var(--line); min-width: 0; }
.profile-summary > div:last-child { border: 0; }
.profile-summary span { display: block; color: var(--muted); font-size: 9px; margin-bottom: 6px; }
.profile-summary strong { display: block; color: var(--ink); font-size: 12px; overflow-wrap: break-word; }
.profile-panel { max-width: 1060px; margin-inline: auto; }
.profile-readonly,.profile-opportunity-note { padding: 13px 18px; border: 1px solid #cfe2d6; border-radius: 7px; background: #edf7f0; color: #315943; font-size: 11px; }
.profile-section { min-width: 0; margin: 0 0 22px; padding: 22px 26px 26px; border: 1px solid var(--line); border-radius: 10px; background: white; }
.profile-section legend { float: left; width: 100%; padding: 0 0 16px; margin-bottom: 20px; border-bottom: 1px solid #e7eded; color: #405a69; font-size: 12px; font-weight: 700; letter-spacing: .01em; }
.profile-section legend::first-letter { color: var(--green); }
.profile-section legend + * { clear: both; }
.profile-grid,.invoice-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px 25px; }
.profile-field-wide { grid-column: 1/-1; }
.profile-field label,.profile-label,.form-stack > label,.field-label,.invoice-fields label { display: block; margin-bottom: 7px; color: #344d60; font-size: 12px; font-weight: 600; line-height: 1.6; }
.profile-field label span { color: var(--muted); font-weight: 400; }
input:not([type=hidden]):not([type=checkbox]):not([type=file]),select,textarea { width: 100%; min-height: 45px; padding: 11px 13px; border: 1px solid #cdd8dd; border-radius: 6px; background: #fdfefe; color: var(--ink); font-size: 13px; line-height: 1.5; }
input::placeholder,textarea::placeholder { color: #84949d; }
input:hover,select:hover,textarea:hover { border-color: #98b3a8; }
input:focus,select:focus,textarea:focus { outline: 3px solid #087a5c14; outline-offset: 0; border-color: var(--green); }
input[readonly] { background: #f3f5f5; }
input[type=checkbox] { width: 17px; height: 17px; accent-color: var(--green); flex-shrink: 0; }
textarea { min-height: 120px; resize: vertical; }
.profile-help,.field-help { font-size: 11px; line-height: 1.7; margin: 7px 0 0; font-weight: 400; }
.profile-subsection-title { display: block; color: #405c65; font-size: 10px; font-weight: 700; margin-bottom: 7px; }
.profile-size-highlight { display: grid; grid-template-columns: 1.2fr 1fr; gap: 25px; background: #f0f7f3; border: 1px solid #d4e5dc; border-radius: 8px; padding: 20px; margin-bottom: 25px; }
.profile-size-suggestion { display: block; color: var(--green-dark); font-size: 22px; font-weight: 650; }
.profile-size-result { margin: 9px 0 0; font-size: 12px; }
.profile-size-notice { align-self: center; margin: 0; color: #587367; font-size: 11px; border-left: 1px solid #d2e1d7; padding-left: 25px; }
.profile-objectives { margin-top: 22px; }
.profile-objectives-list { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.profile-objective-option { display: flex !important; align-items: center; gap: 12px; padding: 15px; border: 1px solid var(--line); border-radius: 7px; margin: 0 !important; cursor: pointer; }
.profile-objective-option:has(input:checked) { background: #edf8f0; border-color: #76b59b; }
.profile-objective-option .profile-objective__text { color: #3f5d69; font-size: 12px; }
.profile-actions { display: flex; justify-content: flex-end; margin-top: 25px; }
.form-panel,.invoice-scan-panel { max-width: 840px; margin: 0 auto; padding: 32px 38px; background: white; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.form-panel h1,.invoice-scan-panel h1 { font-size: 30px; }
.form-stack { display: grid; grid-template-columns: minmax(0,1fr); }
.form-stack > label { margin-top: 17px; }
.form-stack > .button { margin-top: 25px; }
.form-stack > .field-label { margin-top: 15px; }
.action-row { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin-top: 27px; }
.file-picker { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 14px; padding: 26px; border: 1px dashed #99b9aa; border-radius: 9px; background: #f3f8f5; }
.file-input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
.file-picker:focus-within { outline: 3px solid #279a7c; outline-offset: 3px; }
.file-name { color: var(--muted); font-size: 11px; overflow-wrap: anywhere; }
.invoice-scan-note { padding: 14px 18px; background: #f1f6f3; border-left: 3px solid #83b89e; font-size: 11px; color: #476353; margin-bottom: 23px; }
.invoice-reader { padding: 26px; border: 1px dashed #adc3b7; border-radius: 10px; text-align: center; background: #f7faf8; }
.invoice-reader-status { font-size: 12px; font-weight: 650; color: var(--green-dark); margin-bottom: 15px; }
.invoice-reader video { width: 100%; max-height: 250px; border-radius: 8px; }
.invoice-camera-unavailable { padding: 24px 16px; color: #435d67; }
.invoice-camera-unavailable p,.invoice-reader-help { color: var(--muted); font-size: 11px; }
#invoice-file { display: block; margin: 20px auto 0; max-width: 100%; color: var(--muted); font-size: 11px; }
.invoice-review { margin-top: 28px; padding-top: 25px; border-top: 1px solid var(--line); }
.invoice-fields label input { margin-top: 7px; }
.invoice-fields .field-help { display: block; }
.invoice-source-badge { display: inline-block; padding: 4px 10px; color: var(--green-dark); background: #e5f5ec; border-radius: 5px; font-size: 11px; }
.invoice-missing { font-size: 11px; color: var(--amber); }
.invoice-technical-details { padding: 18px 0; margin-top: 18px; border-block: 1px solid var(--line); }
.invoice-technical-details summary { cursor: pointer; font-size: 12px; font-weight: 600; }
.invoice-technical-details p { font-size: 11px; color: var(--muted); margin-top: 14px; }
.invoice-duplicate-warning { padding: 15px; background: #fff8e5; border: 1px solid #e8d6a9; border-radius: 8px; color: #785914; }
/* Opportunities */
.opportunity-heading h1 { font-size: 34px; }
.opportunity-overview-strip { display: grid; grid-template-columns: repeat(4,1fr); gap: 0; border-top: 1px solid #ffffff22; margin-top: 25px; padding-top: 20px; }
.opportunity-overview-item { padding: 0 23px; border-right: 1px solid #ffffff22; }
.opportunity-overview-item:first-child { padding-left: 0; }
.opportunity-overview-item:last-child { border: 0; }
.opportunity-overview-item strong { display: block; color: white; font-size: 28px; font-weight: 600; line-height: 1.4; font-variant-numeric: tabular-nums; }
.opportunity-overview-item span { color: #a7bdca; font-size: 10px; }
.opportunity-overview-open strong,.opportunity-overview-fit strong { color: #a0dbbb; }
.opportunity-overview-pending strong { color: #e6c587; }
.opportunity-filters { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)) auto; gap: 12px; align-items: end; padding: 20px; border: 1px solid var(--line); border-radius: 11px; background: white; }
.opportunity-filters label { font-size: 10px; font-weight: 600; color: #557080; }
.opportunity-filters input,.opportunity-filters select { margin-top: 7px; font-size: 11px !important; }
.opportunity-filters .button { padding-inline: 15px; }
.opportunity-summary { margin: 25px 0 14px; color: var(--muted); font-size: 11px; }
.opportunity-summary strong { color: var(--ink); }
.opportunity-ledger { display: grid; gap: 15px; }
.opportunity-row { display: grid; grid-template-columns: 26px minmax(0,1fr) 155px auto; gap: 22px; align-items: center; padding: 25px; background: white; border: 1px solid var(--line); border-radius: 11px; box-shadow: var(--shadow); }
.opportunity-index { align-self: start; color: #96a8af; font-size: 12px; padding-top: 1px; }
.opportunity-copy h2 { font-size: 20px; line-height: 1.35; margin-bottom: 10px; }
.opportunity-copy > p:not(.opportunity-program) { font-size: 12px; color: var(--muted); margin-bottom: 10px; }
.opportunity-reason { display: block; font-size: 10px; color: #536e68; line-height: 1.7; }
.opportunity-missing { color: #866018; }
.opportunity-meta { display: grid; gap: 5px; border-left: 1px solid var(--line); padding-left: 20px; font-size: 10px; color: var(--muted); justify-items: start; }
.opportunity-meta strong { color: #866018; font-size: 10px; }
.opportunity-meta small { font-size: 9px; }
.opportunity-meta > a { font-size: 10px; }
.opportunity-status { display: inline-block; padding: 3px 9px; border-radius: 4px; background: #e7f5ed; color: #116245; font-size: 9px; font-weight: 700; line-height: 1.5; }
.status-prevista { color: #825911; background: #fdf2d9; }
.status-encerrada,.status-suspensa { color: #7b4b51; background: #f7e9eb; }
.opportunity-detail-heading h1 { font-size: clamp(25px,2.7vw,38px); line-height: 1.25; max-width: 40ch; margin: 18px 0 0; }
.opportunity-detail-status { display: flex; gap: 12px; align-items: center; font-size: 11px; }
.opportunity-detail-layout { display: grid; grid-template-columns: minmax(0,1fr) 310px; gap: 23px; align-items: start; }
.opportunity-detail-main { padding: 27px; background: white; border: 1px solid var(--line); border-radius: 11px; }
.opportunity-summary-panel { padding: 20px; border-radius: 8px; background: #f2f7f4; margin-bottom: 25px; }
.opportunity-summary-panel p:last-child { margin: 0; font-size: 12px; color: #4b6659; }
.opportunity-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 26px; margin-top: 0; }
.opportunity-facts > div { padding: 15px 0; border-bottom: 1px solid var(--line); }
.opportunity-facts dt { font-size: 9px; font-weight: 650; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); margin-bottom: 6px; }
.opportunity-facts dd { margin: 0; font-size: 12px; color: #354e60; overflow-wrap: anywhere; }
.opportunity-block + .opportunity-block { margin-top: 30px; }
.opportunity-prose h2 { font-size: 16px; margin-top: 20px; }
.opportunity-prose p { font-size: 12px; color: var(--muted); }
.opportunity-detail-aside { padding: 25px; border: 1px solid #27473f; border-top: 3px solid var(--gold); border-radius: 10px; background: #102c2b; color: #d0e2da; }
.opportunity-detail-aside .section-kicker { color: #9cd7ba; }
.opportunity-fit { background: transparent; }
.opportunity-fit h2 { color: white; font-size: 22px; margin-bottom: 22px; }
.opportunity-fit h3 { color: #dfc58a; font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; margin-top: 22px; }
.opportunity-fit ul { padding-left: 16px; font-size: 11px; line-height: 1.8; color: #c2d8ce; }
.opportunity-fit li + li { margin-top: 7px; }
.opportunity-disclaimer { padding-top: 20px; border-top: 1px solid #ffffff20; font-size: 10px; color: #adc6bc; line-height: 1.9; margin: 23px 0 20px; }
.opportunity-detail-aside .button { width: 100%; font-size: 11px; }
.opportunity-verified { font-size: 9px; color: #a4bfb5; margin: 15px 0 0; }
.portfolio-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.portfolio-company { padding: 25px; border: 1px solid var(--line); border-top: 3px solid #6faa91; border-radius: 11px; background: white; }
.portfolio-company-heading { display: flex; justify-content: space-between; align-items: start; gap: 20px; }
.portfolio-company-heading h2 { font-size: 20px; }
.portfolio-company-heading p:not(.section-kicker) { color: var(--muted); font-size: 11px; }
.portfolio-metrics { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; padding-block: 18px; border-block: 1px solid var(--line); margin-block: 10px 20px; }
.portfolio-metrics strong { display: block; font-size: 23px; font-variant-numeric: tabular-nums; font-weight: 650; }
.portfolio-metrics small { color: var(--muted); font-size: 9px; line-height: 1.5; display: block; }
.portfolio-company-footer { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.portfolio-company-footer > span { font-size: 10px; color: var(--muted); }
.portfolio-company.readiness-action-required { border-top-color: var(--red); }
.portfolio-company.readiness-action-required .status-word { background: #fff0f0; color: #a42a39; }
.portfolio-company.readiness-attention { border-top-color: #c18a26; }
.portfolio-company.readiness-attention .status-word { background: #fff5dd; color: #875908; }
.portfolio-company.readiness-no-data { border-top-color: #a8b8c2; }
.accountant-context { margin: 18px 0 0; font-size: 11px; color: #a6c3ba; }
/* Public site */
.site-header { background: var(--navy); border-bottom: 1px solid #ffffff16; }
.site-header-inner { width: min(calc(100% - 80px),1240px); margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: 30px; min-height: 82px; }
.public-nav { display: flex; align-items: center; gap: 35px; }
.public-nav a { color: #d7e1e9; text-decoration: none; font-size: 12px; }
.public-nav .button-header { background: #fff; color: var(--navy); padding: 9px 22px; }

.workspace-section { background: #f1f5f2; }

.workspace-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 42px; }

.workspace-card { min-height: 360px; padding: 38px; border: 1px solid #cad8d1; border-radius: 3px; background: #fff; }

.workspace-card h3 { max-width: 15ch; margin: 18px 0 16px; color: var(--navy); font-family: Georgia,serif; font-size: clamp(27px,2.4vw,37px); font-weight: 400; line-height: 1.05; }

.workspace-card > p:not(.section-kicker) { max-width: 48ch; color: #496579; line-height: 1.7; }

.workspace-card ul { display: grid; gap: 12px; margin: 28px 0 0; padding: 22px 0 0 19px; border-top: 1px solid #d9e3de; color: #173752; line-height: 1.45; }

.workspace-card-dark { background: var(--navy); border-color: #32536c; }

.workspace-card-dark h3, .workspace-card-dark > p:not(.section-kicker), .workspace-card-dark ul { color: #fff; }

.workspace-card-dark ul { border-color: #34566d; }

.workflow-summary { background: #fff; }

.workflow-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; margin: 42px 0 0; padding: 0; list-style: none; }

.workflow-steps li { min-height: 180px; padding-top: 18px; border-top: 1px solid #b8ccc3; }

.workflow-steps h3 { margin: 25px 0 8px; color: var(--navy); font-size: 21px; }

.workflow-steps p { margin: 0; color: #496579; line-height: 1.6; }
.public-view .page-shell:not(.public-shell) { width: min(calc(100% - 64px),1160px); margin: 45px auto; }
.public-shell { width: 100%; padding: 0; }
.public-hero { position: relative; min-height: 690px; background: var(--navy); overflow: hidden; color: white; display: flex; align-items: center; }
.hero-art { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 70% center; }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg,#081522fa 0%,#081522e6 28%,#08152275 57%,#08152215 100%); }
.hero-copy { position: relative; width: min(calc(100% - 80px),1240px); margin: 0 auto; padding: 60px 0 70px; }
.hero-mark,.hero-brand { display: none; }
.hero-kicker { color: #c8b37f; font-size: 10px; font-weight: 700; letter-spacing: .19em; margin-bottom: 28px; }
.hero-copy h1 { font-family: Georgia,serif; font-size: clamp(50px,5.5vw,82px); font-weight: 400; color: white; line-height: 1.07; letter-spacing: -.05em; margin-bottom: 28px; max-width: 760px; }
.hero-description { color: #c7d4dd; font-size: 15px; max-width: 48ch; line-height: 1.8; margin-bottom: 32px; }
.hero-actions { display: flex; gap: 27px; align-items: center; flex-wrap: wrap; }
.hero-primary { padding: 15px 24px; }
.hero-secondary { color: white; text-decoration: none; font-size: 12px; }
.hero-secondary span { padding-left: 9px; color: #b6dac8; }
.hero-trust { font-size: 10px; color: #a5bec5; margin: 30px 0 0; }
.hero-caption { position: absolute; bottom: 25px; right: 40px; color: #b8cace; font-size: 8px; letter-spacing: .17em; }
.public-section { padding: 95px max(40px,calc((100% - 1240px)/2)); }
.public-section-heading h2,.public-cta h2 { font-family: Georgia,serif; font-size: clamp(32px,3.5vw,51px); font-weight: 400; }
.public-section-heading .section-lead { max-width: 64ch; }
.public-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; background: white; }
.solution-path,.process-visual { display: none; }
.editorial-list,.process-list { list-style: none; padding: 0; margin: 0; }
.editorial-list li { display: flex; gap: 25px; border-bottom: 1px solid var(--line); padding: 23px 0; }
.editorial-list li:first-child { padding-top: 0; }
.editorial-number { color: var(--green); font-size: 12px; font-weight: 650; }
.editorial-list h3 { font-size: 19px; }
.editorial-list p,.process-list p { font-size: 13px; color: var(--muted); margin-bottom: 0; }
.process-section { background: #eef3ef; }
.process-list { display: grid; grid-template-columns: repeat(3,1fr); gap: 45px; margin-top: 45px; }
.process-list li { border-top: 1px solid #bed2c7; padding-top: 24px; }
.process-list h3 { font-size: 23px; margin-top: 18px; }
.audience-section { background: var(--navy); color: #cad9e0; }
.audience-section h2 { color: white; }
.audience-section .section-kicker { color: #99d4b4; }
.audience-list { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; margin-top: 40px; }
.audience-card { padding: 35px; border: 1px solid #ffffff20; background: #ffffff04; border-radius: 10px; }
.audience-card h3 { color: #e8f0f2; font-size: 25px; line-height: 1.4; margin: 0; }
.trust-section { display: grid; grid-template-columns: 1.2fr 1fr; gap: 80px; background: white; }
.trust-list { padding: 0; list-style: none; align-self: center; }
.trust-list li { padding: 16px 0; border-bottom: 1px solid var(--line); font-size: 13px; }
.trust-list li::before { content: '✓'; color: var(--green); padding-right: 15px; }
.public-cta { padding: 75px 40px; text-align: center; background: #e6efe8; }
.public-cta h2 { color: #183d2f; }
.cta-actions { display: flex; gap: 30px; align-items: center; justify-content: center; flex-wrap: wrap; margin-top: 30px; }
.text-link { font-size: 12px; }
.intro-splash { display: none; }
/* Login */
.login-layout { display: grid; grid-template-columns: 1.1fr 1fr; background: white; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; box-shadow: 0 20px 70px #112a3b0a; }
.login-intro { padding: 50px; background: var(--navy); color: #b9ccd5; }
.login-brand { display: flex; align-items: center; gap: 14px; margin-bottom: 40px; }
.login-brand img { width: 40px; height: 45px; object-fit: contain; }
.login-brand span { font-family: Georgia,serif; letter-spacing: .2em; font-size: 19px; color: white; }
.login-intro .eyebrow { color: #9bd2b8; font-size: 9px; }
.login-intro h1 { font-family: Georgia,serif; color: white; font-size: clamp(35px,3.8vw,52px); font-weight: 400; line-height: 1.12; }
.login-intro-copy { font-size: 13px; line-height: 1.9; }
.login-route-options { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 38px; }
.login-route-card { display: grid; align-content: start; gap: 8px; text-align: left; padding: 18px; border: 1px solid #ffffff26; border-radius: 9px; background: #ffffff04; color: #b8cbd6; }
.login-route-card strong { font-size: 13px; color: #e4eef3; }
.login-route-card > span:last-child { font-size: 10px; line-height: 1.8; }
.login-route-index { color: #8bc7a9; font-size: 10px; }
.login-route-card.is-selected { background: #193e3c; border-color: #77c8a7; }
.login-form-panel { padding: 45px; align-self: center; }
.login-form-panel h2 { font-size: 28px; margin-bottom: 20px; }
.login-route-selection { margin: 15px 0 0; font-size: 10px; color: var(--muted); }
.login-demo-panel { border-top: 1px solid var(--line); padding-top: 22px; margin-top: 25px; }
.login-demo-panel h3 { font-size: 16px; }
.login-demo-panel > p:not(.section-kicker) { font-size: 10px; color: var(--muted); }
.login-demo-options { display: grid; gap: 9px; }
.login-demo-option { display: grid; gap: 3px; padding: 12px 15px; border: 1px solid var(--line); border-radius: 7px; background: #f7faf8; text-align: left; }
.login-demo-option:hover { border-color: var(--green); }
.login-demo-option strong { color: var(--ink); font-size: 11px; }
.login-demo-option span,.login-demo-option small { font-size: 10px; color: var(--muted); overflow-wrap: anywhere; }
/* Responsive compositions */
@media(min-width:1900px) { .app-view .page-shell { margin-right: auto; } }
@media(max-width:1450px) {
  .readiness-layout { grid-template-columns: minmax(0,1fr) 220px; }
  .priority-panel { grid-column: 1/-1; border-left: 0; border-top: 1px solid var(--line); padding: 20px 26px; }
  .priority-panel h2 { margin-bottom: 10px; }
  .priority-list { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 0 25px; }
  .priority-list li { padding-bottom: 0; }
  .opportunity-row { grid-template-columns: 20px minmax(0,1fr) 150px; gap: 17px; }
  .opportunity-row > .opportunity-link { grid-column: 2; justify-self: start; }
  .opportunity-meta { grid-column: 3; grid-row: 1/3; }
}
@media(max-width:1180px) {
  :root { --sidebar: 216px; }
  .workspace-sidebar { padding-inline: 12px; }
  .primary-nav a { font-size: 11px; }
  .workspace-topbar { padding-inline: 25px; }
  .app-view .page-shell { padding-inline: 25px; }
  .profile-heading { grid-template-columns: minmax(0,1fr) 235px; gap: 25px; padding: 25px; }
  .profile-completion { padding: 18px; }
  .opportunity-detail-layout { grid-template-columns: minmax(0,1fr) 270px; gap: 18px; }
  .opportunity-detail-aside { padding: 20px; }
  .opportunity-detail-main { padding: 22px; }
  .opportunity-filters { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .dashboard-opportunity-row { grid-template-columns: 20px minmax(0,1fr) 125px; }
  .dashboard-opportunity-row > .opportunity-link { grid-column: 2; justify-self: start; }
  .dashboard-opportunity-meta { grid-column: 3; grid-row: 1/3; }
  .dossier-heading { align-items: start; flex-direction: column; gap: 20px; }
  .status-band { flex-wrap: wrap; }
  .status-band-metrics { flex-basis: 100%; padding-top: 8px; }
  .status-metric:first-child { border: 0; padding-left: 0; }
  .portfolio-list { grid-template-columns: 1fr; }
  .login-intro,.login-form-panel { padding: 32px; }
}
@media(max-width:900px) {
  .workspace-sidebar { display: none; }
  .mobile-header { display: flex; min-height: 66px; justify-content: space-between; align-items: center; padding: 12px 23px; background: var(--navy); position: sticky; top: 0; z-index: 50; }
  .mobile-header .brand-symbol { width: 29px; height: 33px; }
  .mobile-header .brand-name { font-size: 17px; }
  .menu-toggle { display: flex; gap: 12px; align-items: center; color: #e0ece7; background: transparent; border: 1px solid #ffffff28; border-radius: 6px; padding: 8px 11px; font-size: 11px; }
  .menu-toggle svg { width: 17px; height: 17px; }
  .menu-open .workspace-sidebar { display: flex; position: fixed; top: 66px; width: 100%; bottom: 0; padding: 22px; }
  .menu-open .sidebar-brand,.menu-open .sidebar-caption,.menu-open .sidebar-footer { display: none; }
  .menu-open .primary-nav a { font-size: 14px; min-height: 52px; }
  .menu-open .sidebar-bottom { padding-top: 25px; }
  body.menu-open { overflow: hidden; }
  .workspace-topbar { margin-left: 0; min-height: 53px; padding: 12px 23px; }
  .app-view .page-shell { margin-left: 0; padding: 24px 23px 0; }
  .header-company-context { max-width: 43%; font-size: 10px; }
  .profile-summary > div { padding: 14px; }
  .opportunity-detail-layout { grid-template-columns: minmax(0,1fr) 280px; }
  .readiness-main { padding: 25px; }
  .public-section { padding: 65px 30px; }
  .public-intro,.trust-section { gap: 35px; }
  .public-view .page-shell:not(.public-shell) { width: calc(100% - 40px); margin: 30px auto; }
  .login-layout { grid-template-columns: 1fr 1fr; }
  .login-route-options { grid-template-columns: 1fr; gap: 9px; }
  .login-route-card { padding: 13px 16px; }
}
@media(max-width:650px) {
  body { font-size: 13px; }
  .workspace-topbar { padding-inline: 18px; }
  .workspace-location { font-size: 10px; }
  .workspace-location > span { margin-inline: 6px; }
  .header-company-context { max-width: 40%; }
  .header-company-context > .company-initial { display: none; }
  .app-view .page-shell { padding: 20px 16px 0; }
  .report-heading,.dossier-heading,.opportunity-heading,.profile-heading,.portfolio-heading { padding: 24px; margin-bottom: 18px; border-radius: 11px; }
  .report-heading h1,.dossier-heading h1 { font-size: 25px; }
  .report-heading::after { opacity: .6; right: -180px; }
  .readiness-layout { grid-template-columns: 1fr; }
  .readiness-main { padding: 24px; }
  .readiness-main h2 { font-size: 26px; max-width: 28ch; }
  .readiness-seal { padding: 25px; }
  .seal-ring { width: 175px; height: 175px; }
  .priority-panel { grid-column: auto; padding: 22px; }
  .priority-list { display: block; }
  .priority-list li { padding-bottom: 15px; }
  .status-band { padding: 18px 20px; gap: 10px; }
  .status-band-label { max-width: none; }
  .status-band-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
  .status-metric:nth-child(odd) { border: 0; padding-left: 0; }
  .status-metric { gap: 8px; padding-left: 15px; }
  .status-metric-label { font-size: 9px; }
  .journey-track { grid-template-columns: 1fr; gap: 9px; }
  .journey-stop { padding: 14px 17px; }
  .journey-heading { gap: 9px; }
  .journey-heading h2 { font-size: 16px; }
  .dashboard-opportunities { padding: 21px; }
  .dashboard-opportunities-heading { display: block; }
  .dashboard-opportunities-heading h2 { font-size: 22px; }
  .dashboard-opportunities-heading .back-link { margin-bottom: 12px; }
  .opportunity-dashboard-metrics { grid-template-columns: 1fr 1fr; }
  .opportunity-dashboard-metrics > span { padding: 13px; }
  .opportunity-dashboard-metrics > span:nth-child(2) { border-right: 0; }
  .opportunity-dashboard-metrics > span:nth-child(n+3) { border-top: 1px solid #e5ebeb; }
  .opportunity-profile-note { align-items: start; flex-direction: column; padding: 15px; gap: 12px; }
  .dashboard-opportunity-row { grid-template-columns: 18px minmax(0,1fr); gap: 10px; padding-block: 20px; }
  .dashboard-opportunity-meta { grid-column: 2; grid-row: auto; display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 2px; }
  .dashboard-opportunity-row .opportunity-link { margin-top: 8px; }
  .dossier-actions { width: 100%; }
  .dossier-actions .button { flex: 1; padding-inline: 12px; }
  .dossier-kpis { grid-template-columns: 1fr 1fr; gap: 10px; }
  .dossier-kpi { padding: 16px 18px; }
  .document-ledger thead { display: none; }
  .document-ledger,.document-ledger tbody,.document-ledger tr { display: block; }
  .document-ledger tr { padding: 18px; border-bottom: 1px solid var(--line); }
  .document-ledger td { display: flex; align-items: baseline; gap: 15px; padding: 8px 0; border: 0; }
  .document-ledger td::before { content: attr(data-label); flex: 0 0 70px; color: var(--muted); font-size: 9px; }
  .document-ledger td.ledger-document { display: block; max-width: 100%; }
  .document-ledger td.ledger-document::before { display: none; }
  .document-ledger td.ledger-number { display: none; }
  .document-ledger td[data-label=Estado] { flex-wrap: wrap; }
  .demo-document-note { flex-basis: 100%; }
  .profile-heading { grid-template-columns: 1fr; gap: 20px; }
  .profile-heading h1 { font-size: 28px; }
  .profile-completion { width: 100%; }
  .profile-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .profile-summary > div { border-bottom: 1px solid var(--line); }
  .profile-summary > div:nth-child(even) { border-right: 0; }
  .profile-summary > div:last-child { grid-column: 1/-1; }
  .profile-section { padding: 20px; }
  .profile-section legend { font-size: 12px; }
  .profile-grid,.invoice-fields { grid-template-columns: 1fr; gap: 20px; }
  .profile-field-wide { grid-column: auto; }
  .profile-size-highlight { display: block; padding: 17px; }
  .profile-size-notice { border: 0; border-top: 1px solid #d2e1d7; margin-top: 16px; padding: 15px 0 0; }
  .profile-objectives-list { grid-template-columns: 1fr; }
  .profile-objective-option { min-height: 52px; }
  .profile-actions .button { width: 100%; }
  .form-panel,.invoice-scan-panel { padding: 25px 21px; }
  .form-panel h1,.invoice-scan-panel h1 { font-size: 27px; }
  .file-picker { padding: 20px; }
  .file-name { width: 100%; }
  .invoice-reader { padding: 20px 14px; }
  .invoice-reader .button { width: 100%; margin-bottom: 9px; }
  .invoice-review .action-row { display: grid; }
  .opportunity-heading h1 { font-size: 29px; }
  .opportunity-overview-strip { grid-template-columns: 1fr 1fr; row-gap: 20px; }
  .opportunity-overview-item { padding: 0 14px; }
  .opportunity-overview-item:nth-child(odd) { padding-left: 0; }
  .opportunity-overview-item:nth-child(even) { border: 0; }
  .opportunity-overview-item span { font-size: 9px; }
  .opportunity-filters { grid-template-columns: 1fr 1fr; gap: 15px 12px; padding: 18px; }
  .opportunity-filters .button { align-self: end; font-size: 11px; }
  .opportunity-row { grid-template-columns: 18px minmax(0,1fr); padding: 20px 18px; gap: 10px; }
  .opportunity-copy h2 { font-size: 18px; }
  .opportunity-meta { grid-column: 2; grid-row: auto; padding: 13px 0 0; margin-top: 5px; border-left: 0; border-top: 1px solid var(--line); }
  .opportunity-row > .opportunity-link { grid-column: 2; margin-top: 6px; }
  .opportunity-detail-layout { grid-template-columns: 1fr; }
  .opportunity-detail-heading h1 { font-size: 27px; }
  .opportunity-detail-main { padding: 21px; }
  .opportunity-facts { grid-template-columns: 1fr; }
  .portfolio-company { padding: 20px; }
  .portfolio-company-heading { flex-direction: column; gap: 0; }
  .portfolio-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); row-gap: 18px; }
  .portfolio-company-footer { align-items: start; flex-direction: column; gap: 12px; }
  .workspace-footer { font-size: 9px; }
  .site-header-inner { width: calc(100% - 36px); min-height: 70px; gap: 15px; }
  .site-header .brand-symbol { width: 28px; height: 33px; }
  .site-header .brand-name { font-size: 16px; }
  .public-nav { gap: 15px; }
  .public-nav > a:not(.button) { font-size: 10px; }
  .public-nav .button-header { min-height: 37px; padding: 8px 13px; font-size: 11px; }
  .public-view .page-shell:not(.public-shell) { width: calc(100% - 28px); margin: 20px auto; }
  .public-hero { min-height: 590px; }
  .hero-copy { width: calc(100% - 44px); padding: 55px 0 65px; }
  .hero-art { object-position: 64% center; opacity: .65; }
  .hero-shade { background: linear-gradient(90deg,#081522e8,#08152280); }
  .hero-copy h1 { font-size: clamp(41px,9.7vw,62px); }
  .hero-kicker { font-size: 8px; letter-spacing: .13em; }
  .hero-description { font-size: 13px; max-width: 38ch; }
  .hero-actions { gap: 21px; }
  .hero-primary { padding: 13px 19px; font-size: 11px; }
  .hero-secondary { font-size: 11px; }
  .hero-trust { font-size: 9px; }
  .hero-caption { font-size: 6px; right: 22px; }
  .public-section { padding: 55px 24px; }
  .public-intro,.trust-section { grid-template-columns: 1fr; gap: 25px; }

  .workspace-grid,.workflow-steps { grid-template-columns: 1fr; }

  .workspace-card { min-height: auto; padding: 28px; }
  .public-section-heading h2,.public-cta h2 { font-size: 33px; }
  .process-list { grid-template-columns: 1fr; gap: 25px; margin-top: 30px; }
  .process-list li { display: grid; grid-template-columns: 30px 1fr; gap: 0 15px; }
  .process-list h3 { margin: 0 0 10px; font-size: 21px; }
  .process-list p { grid-column: 2; }
  .audience-list { grid-template-columns: 1fr; gap: 14px; }
  .audience-card { padding: 25px; }
  .audience-card h3 { font-size: 22px; }
  .public-cta { padding: 55px 24px; }
  .login-layout { grid-template-columns: 1fr; }
  .login-intro { padding: 30px 25px; }
  .login-brand { margin-bottom: 25px; }
  .login-intro h1 { font-size: 36px; }
  .login-route-options { grid-template-columns: 1fr 1fr; margin-top: 25px; }
  .login-route-card { padding: 13px; }
  .login-route-card strong { font-size: 11px; }
  .login-route-card > span:last-child { font-size: 9px; }
  .login-form-panel { padding: 30px 25px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } *,*::before,*::after { animation: none !important; transition: none !important; } }
.file-detection{min-height:18px;margin:5px 0 0;color:var(--muted);font-size:12px}.file-detection.is-detected{color:var(--green);font-weight:650}
.nav-context{display:block;font-size:9px;color:#98bdb0;margin-top:4px;font-weight:400}.horizon-entry{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 22px;padding:20px 24px;background:#edf6f1;border:1px solid #bddace;border-radius:11px;text-decoration:none}.horizon-entry strong,.horizon-entry small{display:block}.horizon-entry strong{font-size:16px;color:#103b31}.horizon-entry small{font-size:12px;margin-top:5px;color:#4c7265}.horizon-entry>span:last-child{font-size:25px}
.invoice-saved-details{margin-top:12px;font-size:12px;max-width:520px;white-space:normal}.invoice-saved-details summary{cursor:pointer;color:var(--green);font-weight:600}.invoice-saved-details dl{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,1.3fr);gap:7px 14px;padding:12px 0}.invoice-saved-details dt{color:var(--muted)}.invoice-saved-details dd{margin:0;overflow-wrap:anywhere}
