:root {
  color-scheme:light;
  --ink:#192b40;
  --muted:#526174;
  --accent:#145c65;
  --line:#d5dce3;
  --paper:#fff;
  --bg:#f4f6f8;
  --nav:#182a40;
  --warn:#fff8e9;
  --danger:#fff0ed
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:auto
}
body {
  margin:0;
  color:var(--ink);
  background:var(--bg);
  font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  overflow-wrap:anywhere
}
a {
  color:var(--accent);
  text-underline-offset:4px
}
a:hover {
  text-decoration-thickness:2px
}
button,input,textarea,select {
  font:inherit
}
button,.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  max-width:100%;
  padding:10px 18px;
  border:1px solid var(--accent);
  border-radius:7px;
  background:var(--accent);
  color:#fff;
  font-weight:650;
  line-height:1.4;
  text-align:center;
  text-decoration:none;
  cursor:pointer
}
button:hover,.button:hover {
  background:#104b53;
  color:#fff
}
.secondary {
  background:#fff;
  color:var(--accent);
  border-color:#94adb2
}
.quiet {
  background:transparent;
  color:var(--muted);
  border-color:transparent
}
button:disabled {
  background:#e9edf0;
  color:#536071;
  border-color:#c8d0d8;
  cursor:not-allowed
}
:focus-visible {
  outline:3px solid #a44b00;
  outline-offset:4px
}
input:focus-visible,select:focus-visible,textarea:focus-visible {
  outline-offset:2px
}
.skip-link {
  position:fixed;
  left:16px;
  top:0;
  transform:translateY(calc(-100% - 12px));
  z-index:20;
  padding:14px;
  background:#fff;
  color:var(--ink);
  border:3px solid var(--accent)
}
.skip-link:focus {
  top:12px;
  transform:none
}
.workspace {
  display:grid;
  grid-template-columns:250px minmax(0,1fr);
  min-height:100vh
}
.sidebar {
  position:sticky;
  top:0;
  height:100vh;
  overflow-y:auto;
  background:var(--nav);
  color:#fff;
  padding:24px 18px;
  display:flex;
  flex-direction:column
}
.brand {
  display:flex;
  align-items:center;
  gap:12px;
  color:#fff;
  text-decoration:none;
  font-size:18px;
  line-height:1.25;
  margin:0 8px 24px
}
.mark {
  width:44px;
  height:44px;
  flex-shrink:0;
  display:grid;
  place-items:center;
  background:#dae9ec;
  color:var(--nav);
  border-radius:8px;
  font-weight:750
}
.desktop-menu {
  display:flex;
  flex-direction:column;
  flex:1
}
.nav-label {
  color:#bbc9d8;
  margin:18px 12px 6px;
  font-size:16px
}
.sidebar nav a {
  display:flex;
  align-items:center;
  min-height:44px;
  padding:9px 12px;
  color:#e2eaf3;
  text-decoration:none;
  border-radius:6px;
  border-left:3px solid transparent
}
.sidebar nav a:hover {
  background:#263d56
}
.sidebar nav a[aria-current=page] {
  background:#304963;
  border-left-color:#bddfe3;
  color:#fff;
  font-weight:700
}
.sidebar :focus-visible {
  outline-color:#f5ce81
}
.sidebar summary {
  color:#e2eaf3
}
.sidebar summary:focus-visible {
  outline:3px solid #f5ce81;
  outline-offset:3px
}
.account {
  margin-top:auto;
  padding:24px 10px 0
}
.account p {
  margin-bottom:12px
}
.account p span {
  color:#bbc9d8
}
.account label {
  font-weight:400
}
.account select {
  margin-top:5px
}
.account .quiet {
  color:#e2eaf3
}
.account form {
  margin:0 0 8px
}
.account button {
  width:100%
}
.mobile-menu {
  display:none
}
.workspace-body {
  min-width:0
}
main {
  width:100%;
  max-width:1600px;
  margin:auto;
  padding:36px 36px 56px
}
footer {
  margin:0 36px 24px;
  padding-top:20px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:16px
}
h1,h2,h3,h4,p {
  margin-top:0
}
h1 {
  font-size:clamp(26px,2.6vw,36px);
  line-height:1.2;
  letter-spacing:-.6px;
  margin-bottom:12px
}
h2 {
  font-size:23px;
  line-height:1.3;
  margin-bottom:16px
}
h3 {
  font-size:19px;
  line-height:1.4;
  margin-bottom:10px
}
h4 {
  font-size:17px
}
p {
  margin-bottom:14px
}
small,.small {
  font-size:16px
}
.muted,td small {
  color:var(--muted)
}
.eyebrow {
  font-size:16px;
  color:var(--muted);
  margin-bottom:8px;
  font-weight:650
}
.mono,pre {
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace
}
.mono,.break {
  overflow-wrap:anywhere
}
pre {
  white-space:pre-wrap;
  max-width:100%;
  overflow:auto;
  font-size:16px
}
.heading {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  margin-bottom:22px;
  flex-wrap:wrap
}
.heading h2 {
  margin:0
}
.heading>div {
  min-width:0
}
.card {
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:10px;
  padding:24px;
  margin-bottom:22px;
  min-width:0
}
.stats {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:12px;
  margin:24px 0
}
.stat {
  display:flex;
  flex-direction:column;
  gap:6px;
  background:var(--paper);
  padding:18px;
  border:1px solid var(--line);
  border-radius:8px;
  text-decoration:none;
  color:var(--ink)
}
.stat>span,.stat small {
  color:var(--muted)
}
.stat strong {
  font-size:32px;
  line-height:1.2;
  font-variant-numeric:tabular-nums
}
.badge {
  display:inline-block;
  padding:4px 9px;
  border-radius:5px;
  background:#eaf0f4;
  color:#344a60;
  font-size:16px;
  font-weight:600;
  max-width:100%
}
.badge.A {
  background:#e3f0e9;
  color:#24563c
}
.badge.D {
  background:#fbe8e3;
  color:#87352b
}
.decision {
  display:flex;
  gap:16px;
  align-items:center;
  margin:18px 0
}
.decision-letter {
  display:grid;
  place-items:center;
  min-width:64px;
  min-height:64px;
  background:var(--nav);
  color:#fff;
  border-radius:10px;
  font-size:32px;
  font-weight:700
}
.decision h2 {
  margin-bottom:4px
}
.decision p {
  margin:0
}
.facts {
  display:flex;
  flex-wrap:wrap;
  gap:10px 24px;
  padding:14px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  color:var(--muted)
}
.facts b {
  color:var(--ink)
}
.notice {
  padding:16px 18px;
  background:var(--warn);
  border:1px solid #daccac;
  border-radius:7px
}
.notice.danger {
  background:var(--danger);
  color:#81342a;
  border-color:#dfb6ad
}
.toolbar,.actions {
  display:flex;
  flex-wrap:wrap;
  gap:8px 16px;
  margin:16px 0
}
.toolbar a,.back {
  display:inline-flex;
  align-items:center;
  min-height:44px
}
.toolbar {
  border-bottom:1px solid var(--line);
  padding-bottom:8px
}
.toolbar a[aria-current=page] {
  font-weight:700;
  border-bottom:3px solid var(--accent)
}
.back {
  margin-bottom:12px
}
.next ol {
  padding-left:24px
}
.next li {
  padding:4px 0
}
.next .button {
  margin-top:8px
}
.checkline {
  display:flex;
  gap:12px
}
.dot {
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:var(--muted);
  margin-top:9px
}
.step {
  display:inline-grid;
  place-items:center;
  width:28px;
  height:28px;
  background:#eaf0f4;
  border-radius:50%;
  margin-right:10px
}
.pipeline {
  list-style:none;
  padding:0;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
  margin:20px 0
}
.pipeline li {
  border-top:3px solid #b5c7ce;
  background:#fff;
  padding:10px;
  min-width:0
}
.pipeline a {
  display:block;
  min-height:44px;
  font-weight:650
}
.pipeline span {
  display:block;
  color:var(--muted)
}
.split {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px
}
.worklist {
  list-style:none;
  padding:0;
  margin:0
}
.work-row {
  padding:20px 0;
  border-bottom:1px solid var(--line);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px 24px
}
.work-row:last-child {
  border-bottom:0
}
.work-row h3 {
  margin:4px 0 8px
}
.work-row .facts {
  border:0;
  padding:8px 0
}
.work-row p {
  margin-bottom:6px
}
.work-row .actions {
  align-content:center;
  align-items:center
}
.review-row {
  padding:12px 0;
  border-bottom:1px solid var(--line)
}
.review-row a {
  display:inline-flex;
  align-items:center;
  min-height:44px
}
.empty {
  padding:20px 0
}
.tablewrap {
  max-width:100%;
  overflow:auto
}
table {
  width:100%;
  border-collapse:collapse;
  text-align:left;
  font-size:16px
}
th {
  padding:12px 10px;
  color:var(--muted);
  background:#f1f4f7;
  border-bottom:1px solid var(--line);
  font-weight:650
}
td {
  padding:12px 10px;
  border-bottom:1px solid var(--line);
  vertical-align:top;
  overflow-wrap:anywhere
}
td.wide {
  min-width:180px
}
td a {
  display:inline-flex;
  align-items:center;
  min-height:44px
}
tr:last-child td {
  border-bottom:0
}
td form {
  margin-bottom:8px
}
.compact-table td {
  padding:10px
}
caption {
  text-align:left;
  padding:0 0 12px;
  font-weight:600
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}
label {
  display:block;
  font-size:16px;
  font-weight:550;
  margin-bottom:16px
}
input,select,textarea {
  display:block;
  width:100%;
  min-width:0;
  max-width:100%;
  min-height:44px;
  margin-top:7px;
  padding:10px 12px;
  border:1px solid #8e9fac;
  border-radius:6px;
  background:#fff;
  color:var(--ink)
}
textarea {
  resize:vertical;
  min-height:80px
}
input[type=file] {
  padding:8px
}
input::file-selector-button {
  font:inherit;
  min-height:44px
}
fieldset {
  min-width:0;
  border:1px solid var(--line);
  border-radius:7px;
  padding:18px;
  margin:18px 0
}
legend {
  font-weight:650
}
.checkbox {
  display:flex;
  align-items:center;
  min-height:44px;
  gap:12px;
  font-weight:400;
  margin:10px 0
}
.checkbox input {
  width:20px;
  height:20px;
  min-height:20px;
  flex:0 0 20px;
  margin:0;
  accent-color:var(--accent)
}
.formgrid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 22px
}
.inline {
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  gap:16px
}
.inline>label {
  flex:1;
  min-width:0
}
.inline>button {
  margin-bottom:16px
}
summary {
  min-height:44px;
  padding:12px 0;
  font-size:16px;
  font-weight:650;
  color:var(--accent);
  cursor:pointer
}
details {
  min-width:0
}
details[open]>summary {
  margin-bottom:12px
}
details.card>summary {
  padding:0;
  display:list-item;
  align-content:center
}
details>form {
  margin-top:12px
}
.document {
  border-bottom:1px solid var(--line);
  padding:18px 0;
  margin-bottom:12px
}
.productline {
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:18px 0;
  border-bottom:1px solid var(--line)
}
.requirementvalue,.query {
  background:#eef2f5;
  border-radius:6px;
  padding:14px
}
.mailtext {
  font:16px/1.65 system-ui,sans-serif;
  white-space:pre-wrap;
  overflow-wrap:anywhere
}
.mailbody {
  line-height:1.7
}
.narrow {
  max-width:720px;
  margin:32px auto
}
.login {
  min-height:100vh;
  display:grid;
  place-items:center
}
.loginbox {
  width:calc(100% - 32px);
  max-width:480px;
  padding:28px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  margin:24px auto
}
.loginbox .mark {
  margin-bottom:24px
}
.loginbox button {
  width:100%
}
.onboarding>ol {
  list-style:none;
  padding:0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:24px 0
}
.onboarding li {
  padding:16px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:8px
}
.onboarding b {
  display:block;
  margin-bottom:6px
}
section[id],details[id] {
  scroll-margin-top:20px
}
@media(max-width:1100px) {
  main {
    padding:28px 24px
  }
  .pipeline {
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
  .onboarding>ol {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .work-row {
    grid-template-columns:1fr
  }
  .work-row .actions {
    margin:0
  }
}
@media(max-width:900px) {
  .workspace {
    display:block
  }
  .sidebar {
    position:relative;
    height:auto;
    overflow:visible;
    padding:16px 20px;
    display:block
  }
  .brand {
    margin:0;
    min-height:44px
  }
  .desktop-menu {
    display:none
  }
  .mobile-menu {
    display:block;
    margin-top:12px
  }
  .mobile-menu>summary {
    color:#fff;
    border-top:1px solid #51647b
  }
  .account {
    margin-top:20px;
    max-width:420px
  }
  .account button {
    width:auto
  }
  main {
    padding:26px 20px 40px
  }
  .split {
    grid-template-columns:1fr;
    gap:12px
  }
  footer {
    margin:0 20px 24px
  }
  .formgrid {
    grid-template-columns:1fr
  }
  .tablewrap table {
    min-width:640px
  }
  .compact-table table {
    min-width:760px
  }
  .tablewrap:focus-visible {
    outline-offset:-3px
  }
}
@media(max-width:480px) {
  main {
    padding:24px 14px
  }
  .sidebar {
    padding:14px
  }
  .card {
    padding:16px
  }
  .stats {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px
  }
  .stat {
    padding:12px
  }
  .stat strong {
    font-size:28px
  }
  .pipeline {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .onboarding>ol {
    grid-template-columns:1fr
  }
  .heading {
    gap:12px
  }
  .inline {
    display:block
  }
  .inline>button {
    width:100%
  }
  .productline {
    flex-direction:column
  }
  .actions .button {
    flex:1
  }
  .decision {
    align-items:flex-start
  }
  .decision-letter {
    min-width:48px;
    min-height:52px
  }
  .facts {
    gap:8px 16px
  }
  .toolbar {
    gap:4px 12px
  }
  footer {
    margin:0 14px 20px
  }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    scroll-behavior:auto!important;
    animation:none!important;
    transition:none!important
  }
}
@media print {
  .workspace {
    display:block;
    background:#fff
  }
  .sidebar,.skip-link,footer,form,.actions {
    display:none!important
  }
  main {
    max-width:none;
    padding:0
  }
  .card {
    break-inside:avoid;
    box-shadow:none
  }
  .tablewrap {
    overflow:visible
  }
  table {
    min-width:0!important
  }
  a {
    color:#000
  }
  details>* {
    display:block!important
  }
  details>summary {
    display:list-item!important
  }
  h1,h2,h3 {
    break-after:avoid
  }
}
main a {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  max-width:100%
}

/* rc11: keyboard targets and bounded recovery fields */
.market-workbench{max-width:960px;overflow-wrap:anywhere}.market-actions{display:flex;flex-wrap:wrap;gap:8px}.market-actions a{min-height:44px;padding:8px 14px}.market-item{border-top:2px solid #d8e0e8;padding:18px 0}.market-lead,.market-channel{border:1px solid #d8e0e8;border-radius:8px;padding:12px;margin:12px 0}.market-workbench dl{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,2fr);gap:6px 12px}.market-workbench dd{margin:0}.market-workbench code{white-space:normal;overflow-wrap:anywhere}.market-proof{font-size:.92em}.market-workbench details>summary{min-height:44px;display:flex;align-items:center}.market-workbench li{margin-bottom:8px}@media(max-width:400px){.market-workbench dl{display:block}.market-workbench dt{font-weight:600;margin-top:8px}.market-actions a{width:100%}}@media print{.market-actions{display:none}.market-workbench{max-width:none}.market-workbench details>*{display:block!important}.market-lead,.market-channel{break-inside:avoid}}
.field-error{color:#9b1c1c;font-weight:600} textarea[aria-invalid="true"]{border:2px solid #9b1c1c} .mono{overflow-wrap:anywhere} summary{min-height:44px;cursor:pointer} input[type="checkbox"]{min-width:22px;min-height:22px} .next .button{min-height:44px} :focus-visible{outline:3px solid #175ca8;outline-offset:3px}

/* rc13: independent case sections, native controls, no scripted navigation. */
.case-context{margin-bottom:16px;border-bottom:1px solid #d8e0e8;padding-bottom:8px}
.case-context .case-back{font-size:.9rem;line-height:1.3}
.case-areas{display:flex;flex-wrap:wrap;gap:4px 12px}
.case-areas a{padding:4px 8px;min-height:44px;text-decoration:none}
.case-areas a[aria-current]{background:#e2ecf6;border-bottom:3px solid #175ca8;font-weight:700}
.case-tasks,.position-list{list-style:none;margin:12px 0;padding:0}
.case-tasks li{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #d8e0e8}
.case-tasks span{font-size:.88em}.position-list li,.position-summary{border-bottom:1px solid #d8e0e8;padding:12px 0}
.position-list h2,.position-summary h2{font-size:1.1rem;margin:4px 0}.position-list p{margin:6px 0}
.position-list a{margin-right:16px}.market-item{padding:4px 0}.market-item>summary{font-weight:600;padding:8px 0}
.package-section>summary{font-weight:700;display:flex;align-items:center}
:target{scroll-margin-top:12px}h1,summary,label,.case-back{overflow-wrap:anywhere}
@media(max-width:600px){.case-areas{gap:0 4px}.case-areas a{font-size:.9rem;padding:4px}.case-context{margin-bottom:10px}.case-tasks li{flex-wrap:wrap;padding:4px 0}.case-tasks span{margin-left:auto}.heading{gap:12px}.heading>.button{width:100%;justify-content:center}h1{font-size:1.65rem}.next{padding:14px}.market-workbench h1{font-size:1.45rem}}

/* Text-only enlargement must not reveal the hidden skip link or clip the mark. */
.brand{min-width:0}.brand>.mark{width:2.444em;height:2.444em}.brand>span:not(.mark){min-width:0;overflow-wrap:anywhere}

/* rc14: restrained operator workspace, single action before the worklist. */
@media (min-width:901px) {
  .workspace {grid-template-columns:224px minmax(0,1fr)}
  .sidebar {padding:20px 12px}
  .brand {margin:0 8px 18px;font-size:1.02rem}
  main {max-width:1330px;padding:28px 32px 54px}
}
.sidebar .nav-label {font-size:.79rem;letter-spacing:.04em;font-weight:650;margin:14px 12px 7px}
.sidebar nav > a {font-size:.96rem;font-weight:520;min-height:46px;border-left-width:3px}
.sidebar nav > a[aria-current=page] {font-weight:750}
.sidebar .extra-menu {margin-top:16px;border-top:1px solid #456078;padding-top:10px}
.sidebar .extra-menu summary {display:flex;align-items:center;min-height:44px;padding:9px 12px;color:#e9f2f5;font-weight:600}
.sidebar .extra-menu .nav-label {font-size:.75rem;color:#bdcfdb}
.sidebar .extra-menu a {min-height:42px;font-size:.9rem}
.sidebar-setup {border-top:1px solid #456078;margin:14px 8px 0;padding:16px 6px;color:#e9f2f5}
.sidebar-setup span {display:block;font-size:.83rem;color:#bbc9d8;margin-bottom:3px}
.sidebar-setup a {color:#fff;text-underline-offset:3px;font-weight:650}
.account {border-top:1px solid #456078;padding:10px 8px 0;margin-top:auto}
.account>details>summary {font-size:.86rem;line-height:1.35;padding:10px 2px;min-height:44px;color:#eef5f8}
.account form {margin:8px 0}
.account button {font-size:.89rem;min-height:44px}
.workspace-intro {margin-bottom:18px;align-items:center}
.workspace-intro h1 {font-size:clamp(1.75rem,2.5vw,2.2rem);margin-bottom:6px}
.workspace-intro p.muted {margin:0;max-width:64ch}
.workspace-intro .button {flex-shrink:0}
.home-focus {padding:24px 28px;margin-bottom:12px;border-color:#cbd6dc}
.focus-topline {display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px 20px}
.focus-topline .eyebrow {font-weight:750;color:var(--accent);margin:0;font-size:.79rem}
.focus-meta {color:var(--muted);font-size:.9rem;margin:9px 0 2px}
.home-focus h2 {margin:3px 0 5px;font-size:clamp(1.25rem,2vw,1.65rem);font-weight:750;line-height:1.35}
.focus-decision {color:var(--muted);margin:0;font-size:.93rem}
.focus-task {border-top:1px solid var(--line);margin-top:17px;padding-top:15px}
.focus-task>.eyebrow {margin:0 0 6px;font-size:.76rem;letter-spacing:.055em;color:var(--muted)}
.focus-task>p:not(.eyebrow) {margin:0 0 11px;max-width:75ch}
.focus-task .button {min-height:44px}
.home-review-summary {display:flex;align-items:center;justify-content:space-between;gap:10px 22px;
  padding:13px 20px;margin:12px 0 20px;background:#fff;border:1px solid var(--line);border-radius:8px}
.home-review-summary b {font-size:.98rem}
.home-review-summary p {font-size:.88rem;margin:2px 0 0}
.review-links {display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:5px 18px}
.review-links a {font-weight:650;min-height:44px;display:inline-flex;align-items:center}
.work-board {padding:21px 26px}
.work-board>.heading {margin-bottom:5px;align-items:center}
.work-board>.heading h2 {font-size:1.28rem}
.work-board>.heading p {margin:5px 0 0;font-size:.92rem}
.work-row {padding:17px 0;gap:12px 18px}
.work-row h3 {font-size:1.075rem;margin:3px 0 7px;line-height:1.42}
.work-row .work-meta {font-size:.82rem;color:var(--muted);font-weight:620;margin:0}
.work-row .work-facts {gap:5px 18px;padding:6px 0;margin-top:7px;font-size:.85rem}
.work-row .actions .button {min-width:108px;font-size:.9rem}
.case-filters {gap:4px 18px;margin:12px 0 18px}
.case-filters a {padding:8px 1px}
.case-next {padding:19px 22px;margin:16px 0 20px}
.case-next h2 {font-size:1.14rem;margin-bottom:8px}
.case-next p {max-width:80ch;margin-bottom:12px}
.case-steps-title {font-size:1.15rem;margin:12px 0 0}
.case-tasks {margin-top:4px;margin-bottom:20px;border-top:1px solid var(--line)}
.case-tasks li {min-height:53px;padding:4px 10px}
.case-tasks li.current-step {border-left:3px solid var(--accent);background:#edf3f5;padding-left:7px}
.case-tasks li>a {font-weight:630;min-height:43px;display:inline-flex;align-items:center}
.case-tasks .step-state {color:var(--muted);font-size:.86rem;text-align:right}
.case-tasks .current-step .step-state {color:var(--accent);font-weight:750}
.source-reference {border:1px solid var(--line);background:#f7f9fa;padding:14px 17px;border-radius:8px;margin:12px 0 18px}
.source-reference p {margin:5px 0}
.source-reference .eyebrow {font-size:.76rem;color:var(--muted);margin:0 0 7px}
.source-reference .muted {font-size:.86rem}
@media (max-width:900px) {
  .sidebar .extra-menu {margin-top:7px}
  .home-focus {padding:19px}
  .work-board {padding:17px}
  .home-review-summary {padding:14px}
  .workspace-intro {align-items:flex-start}
}
@media (max-width:520px) {
  .workspace-intro .button {width:100%;justify-content:center}
  .home-focus {padding:16px}
  .home-review-summary {align-items:flex-start;flex-direction:column}
  .work-board {padding:15px}
  .work-board>.heading {gap:6px}
  .work-row .actions .button {width:100%;justify-content:center}
  .focus-task .button {width:100%}
  .case-tasks li {flex-wrap:wrap}
  .case-tasks .step-state {margin-left:auto}
}

/* Put the mobile next-action button before its explanation. */
.focus-task .button {margin:4px 0 10px}
.focus-task .task-explanation {margin:2px 0 0}

/* rc15: make the evidence/control workflow readable without changing approvals. */
.checks-case {padding:20px 24px}
.checks-case .heading {margin-bottom:16px}
.checks-case .heading h2 {font-size:1.25rem;margin:3px 0}
.checks-case .heading p {margin:5px 0}
.check-metrics {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 18px}
.check-metrics > div {padding:12px;background:#f4f8f9;border:1px solid var(--line);border-radius:7px;min-width:0;display:flex;flex-direction:column;gap:3px}
.check-metrics span {font-size:.81rem;color:var(--muted)}
.check-metrics b {font-size:.95rem;font-weight:750;overflow-wrap:anywhere}
.check-metrics a {font-size:.82rem}
.case-overview-stats {margin:8px 0 15px}
.source-step {padding:21px 24px}
.source-step h2 {margin-bottom:6px}
.source-columns {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:16px 0}
.source-columns>div {min-width:0}
.source-columns>.source-file {margin:0}
.source-file {padding:14px;margin:7px 0;background:#f7f9fa;border:1px solid var(--line);border-radius:7px}
.source-file b {display:block}
.source-file p {margin:5px 0}
.source-compare {margin:14px 0;border-top:1px solid var(--line);padding-top:7px}
.source-compare summary {font-weight:650;color:var(--accent)}
.source-compare .tablewrap {margin:10px 0}
.source-compare th,.source-compare td {padding:8px;vertical-align:top}
.source-compare table {font-size:.89rem}
.source-final {border-top:1px solid var(--line);padding-top:14px}
.source-final>.eyebrow {font-size:.85rem;margin-bottom:4px}
.source-final p {margin:4px 0 10px}
.case-notice {font-size:.82rem;padding:8px 12px;border-left:3px solid #8caaae;background:#f2f5f7;margin-top:7px}
.case-mini-evidence {font-size:.85rem;color:var(--muted);margin:7px 0 3px}
.supplier-positions {padding:14px 18px}
.supplier-positions>summary {font-weight:700;color:var(--accent)}
.supplier-positions .position-summary {padding:10px 0}
.supplier-metrics {grid-template-columns:repeat(2,minmax(0,1fr))}
.case-back {text-decoration:none}
@media(max-width:1100px) {
  .check-metrics {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px) {
  .source-columns {grid-template-columns:1fr}
  .check-metrics {gap:7px}
  .check-metrics > div {padding:9px}
  .checks-case {padding:15px}
  .source-step {padding:16px}
}
@media(max-width:380px) {
  .check-metrics {grid-template-columns:1fr}
}

/* rc16 — legible operator journey: five evidence-backed stages; no fabricated progress. */
.mode-switch {
  border:1px solid #48687b;
  background:#223c52;
  border-radius:8px;
  padding:11px;
  margin:0 7px 10px;
  color:#fff;
  font-size:15px;
  line-height:1.35;
}
.mode-switch span {display:block;font-weight:750;margin-bottom:7px}
.mode-switch form {margin:0}
.mode-switch-button {
  width:100%;
  min-height:44px;
  border-color:#91b9c1;
  background:transparent;
  color:#fff;
  font-size:16px;
  padding:8px 6px;
  white-space:normal;
}
.mode-switch-button:hover {background:#31586b;color:#fff}
.deadline-signal {
  font-size:16px;
  line-height:1.45;
  font-weight:700;
  padding:10px 14px;
  margin:12px 0;
  border-left:4px solid #88a3ac;
  background:#edf3f5;
}
.deadline-signal.attention {border-color:#976419;background:#fff7e8}
.deadline-signal.critical {border-color:#a33b26;background:#fff1ee}
.deadline-signal.needs {border-color:#876a29;background:#fff8e9}
.operator-roadmap {
  border-top:1px solid var(--line);
  padding-top:16px;
  margin:17px 0 6px;
}
.operator-roadmap .roadmap-header h2 {
  font-size:20px;
  margin:0 0 5px;
  line-height:1.35;
}
.operator-roadmap .roadmap-header p {font-size:15px;margin:0 0 13px}
.roadmap-steps {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:9px;
  list-style:none;
  padding:0;
  margin:0;
}
.roadmap-stage {
  min-width:0;
  border:1px solid #ccd8df;
  background:#f7f9fa;
  border-radius:9px;
  padding:11px 12px;
  border-top:4px solid #8da4b2;
}
.roadmap-stage.roadmap-current {border-top-color:var(--accent);background:#eff6f7}
.roadmap-stage.roadmap-ready {border-top-color:#396e5b;background:#f1f7f3}
.roadmap-stage a {
  display:flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  color:var(--ink);
  text-decoration:none;
}
.roadmap-stage a:hover .roadmap-name {text-decoration:underline;color:var(--accent)}
.roadmap-number {
  display:inline-flex;
  flex:0 0 29px;
  width:29px;height:29px;
  justify-content:center;align-items:center;
  border-radius:50%;
  background:#e2eaed;
  font-size:15px;
  font-weight:750;
}
.roadmap-current .roadmap-number {color:#fff;background:var(--accent)}
.roadmap-ready .roadmap-number {color:#fff;background:#396e5b}
.roadmap-name {font-size:16px;font-weight:750;line-height:1.35;overflow-wrap:anywhere}
.roadmap-status {font-size:16px;line-height:1.45;margin:8px 0 11px;min-height:58px}
.roadmap-bar {
  display:block;
  width:100%;
  height:9px;
  border:0;
  appearance:none;
  -webkit-appearance:none;
  background:#dce5e9;
  border-radius:12px;
  overflow:hidden;
}
.roadmap-bar::-webkit-progress-bar {background:#dce5e9;border-radius:12px}
.roadmap-bar::-webkit-progress-value {background:#497d8b;border-radius:12px}
.roadmap-bar::-moz-progress-bar {background:#497d8b;border-radius:12px}
.roadmap-ready .roadmap-bar::-webkit-progress-value {background:#396e5b}
.roadmap-ready .roadmap-bar::-moz-progress-bar {background:#396e5b}
.compact-roadmap .roadmap-status {min-height:57px}
.simple .home-focus .focus-task {margin-top:14px}
.simple .home-focus .focus-task .button {min-height:52px;font-size:16px}
.simple .operator-roadmap h2 {font-size:19px}
.simple .roadmap-status {font-size:16px}
.simple .check-metrics span {font-size:15px}
.simple .source-step .eyebrow {font-size:16px}
.simple .case-mini-evidence {font-size:16px;font-weight:620}
.simple .source-step p.small {font-size:15px}
.simple .work-meta,.simple .focus-topline .eyebrow {font-size:15px}
.simple .extra-menu a {min-height:44px}
.extra-case-actions,.case-stats-details {margin:15px 0}
.extra-case-actions summary,.case-stats-details summary {font-weight:650;color:var(--accent)}
.product-focus {padding:21px 23px;margin:16px 0}
.product-focus h2 {font-size:21px}
.product-focus h3 {font-size:18px;margin:12px 0}
.product-focus .button {min-height:50px;margin:9px 0}
.product-list-details {padding:16px 22px}
.product-list-details>summary {font-size:17px;color:var(--accent);font-weight:750}
.operator-item-table {font-size:15px}
.operator-item-table th,.operator-item-table td {padding:10px;vertical-align:top}
.operator-item-table td:first-child {min-width:170px}
.operator-item-table td:last-child a {min-height:44px;display:inline-flex;align-items:center}
.operator-item-table p.small {margin:6px 0}
.finance-not-ready {
  margin:14px 0;
  border-left:4px solid #9d752e;
  background:#fff8e8;
  padding:15px 18px;
  border-radius:4px;
}
.finance-not-ready strong {font-size:18px}
.finance-not-ready p {margin:9px 0}
.finance-expert {margin-top:16px}
.finance-expert>summary {color:var(--accent);font-weight:750}
.package-not-submittable {
  background:#fff1ed;
  border:2px solid #b35440;
  border-radius:9px;
  padding:18px 21px;
  margin:15px 0;
}
.package-not-submittable h2 {font-size:20px;color:#8a3223;margin:0 0 7px}
.package-not-submittable p {margin:6px 0}
.package-draft {padding:17px 21px}
.package-draft .secondary {min-height:49px}
.mail-current-step {
  border-left:5px solid var(--accent);
  padding:19px 24px;
}
.mail-current-step h2 {font-size:23px}
.mail-current-step .eyebrow {font-size:15px;font-weight:750}
.mail-current-step p {max-width:76ch}
.mail-current-step .button {min-height:52px}
.mail-safety-details {margin:12px 0 17px}
.mail-safety-details summary {font-weight:650;color:var(--accent)}
.mail-full-plan {margin:15px 0}
.mail-full-plan summary {font-weight:650;color:var(--accent)}
.case-attachments {padding:18px 21px}
.case-attachments>summary {font-size:17px;color:var(--accent);font-weight:750}
.case-inner-section {margin:15px 0}
.case-inner-section .document {margin:15px 0;padding:12px 0;border-bottom:1px solid var(--line)}
@media(max-width:1190px) {
  .roadmap-steps {grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:680px) {
  .roadmap-steps {grid-template-columns:1fr;gap:7px}
  .roadmap-stage {display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:4px 12px;padding:8px 11px}
  .roadmap-stage a {grid-column:1;grid-row:1;min-height:44px}
  .roadmap-status {grid-column:1;grid-row:2;min-height:0!important;margin:0 0 6px}
  .roadmap-bar {grid-column:2;grid-row:1/span 2;align-self:center;width:100%}
  .mode-switch {margin:0 0 12px}
  .product-focus {padding:16px}
  .mail-current-step {padding:16px}
  .operator-item-table {display:block}
  .operator-item-table thead {display:none}
  .operator-item-table tbody,.operator-item-table tr,.operator-item-table td {display:block;width:100%;min-width:0}
  .operator-item-table tr {border-bottom:2px solid var(--line);padding:10px 0}
  .operator-item-table td {padding:5px 8px}
}

.checks-secondary {margin:12px 0;padding:12px 16px}
.checks-secondary>summary {font-size:16px;font-weight:650;color:var(--accent)}
.checks-secondary .checks-case {margin:12px 0;padding:16px}


/* TASK017: evidence-only portfolio view; no client script or inline styles. */
.portfolio-radar .heading {
  align-items:flex-start
}
.portfolio-signals {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:14px 0 18px
}
.portfolio-signals>div {
  border:1px solid var(--line);
  border-radius:8px;
  background:#f8fafb;
  padding:14px;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:6px
}
.portfolio-signals strong {
  font-size:30px;
  line-height:1.1;
  font-variant-numeric:tabular-nums
}
.portfolio-signals span {
  font-size:16px;
  line-height:1.35
}
.portfolio-evidence {
  border-top:1px solid var(--line);
  padding-top:16px
}
.portfolio-evidence h3 {
  font-size:18px;
  margin:0 0 12px
}
.portfolio-progress {
  display:grid;
  gap:12px
}
.portfolio-progress-row {
  display:grid;
  grid-template-columns:minmax(155px,1fr) minmax(120px,2fr) auto;
  align-items:center;
  gap:10px
}
.portfolio-progress-row progress {
  width:100%;
  height:17px;
  accent-color:var(--accent)
}
.portfolio-progress-row b {
  font-variant-numeric:tabular-nums;
  white-space:nowrap
}
.portfolio-deadlines {
  border-top:1px solid var(--line);
  padding-top:12px;
  margin-top:16px
}
.portfolio-deadlines summary {
  cursor:pointer;
  min-height:44px;
  font-size:17px;
  font-weight:650
}
.portfolio-deadlines ol {
  list-style:none;
  margin:0;
  padding:0
}
.portfolio-deadlines li {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  border-top:1px solid var(--line);
  padding:13px 0
}
.portfolio-deadlines li>div {
  display:grid;
  gap:3px;
  min-width:0
}
.portfolio-deadlines li>a {
  display:inline-flex;
  align-items:center;
  min-height:44px
}
.portfolio-deadline-caption {
  color:var(--muted);
  font-size:16px
}
@media (max-width:1050px) {
  .portfolio-signals {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}
@media (max-width:550px) {
  .portfolio-signals {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px
  }
  .portfolio-signals>div {
    padding:10px
  }
  .portfolio-progress-row {
    grid-template-columns:minmax(0,1fr) auto
  }
  .portfolio-progress-row progress {
    grid-column:1/-1;
    grid-row:2
  }
  .portfolio-deadlines li {
    align-items:flex-start;
    flex-direction:column;
    gap:4px
  }
}
