    :root {
      color-scheme: light;
      --page: #fcfcfb;
      --surface: #ffffff;
      --ink: #151716;
      --muted: #737873;
      --soft-muted: #9aa09b;
      --line: #e8eae8;
      --line-strong: #dfe2df;
      --green: #176b4d;
      --green-dark: #10533b;
      --green-soft: #edf5f1;
      --focus: #185abc;
      --danger: #9d3939;
      --shadow: 0 24px 70px rgba(28, 34, 30, .10);
      font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    }

    * { box-sizing: border-box; }

    html { background: var(--page); }

    body {
      min-width: 320px;
      min-height: 100vh;
      margin: 0;
      background: var(--page);
      color: var(--ink);
      font-size: 16px;
      line-height: 1.5;
      letter-spacing: -.008em;
    }

    button, input, select { font: inherit; }
    button { color: inherit; }
    [hidden] { display: none !important; }

    :focus-visible {
      outline: 3px solid var(--focus);
      outline-offset: 3px;
    }

    .icon {
      width: 20px;
      height: 20px;
      flex: 0 0 auto;
      fill: none;
      stroke: currentColor;
      stroke-width: 1.6;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .prototype-bar {
      position: sticky;
      z-index: 100;
      top: 0;
      min-height: 52px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      border-bottom: 1px solid #e5e7e5;
      background: rgba(246, 247, 246, .94);
      padding: 7px max(18px, calc((100vw - 1240px) / 2));
      backdrop-filter: blur(14px);
    }

    .prototype-label {
      display: flex;
      align-items: center;
      gap: 8px;
      color: #5f6560;
      font-size: 12px;
      font-weight: 500;
      letter-spacing: .01em;
      white-space: nowrap;
    }

    .prototype-label::before {
      content: "";
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--green);
    }

    .view-switcher {
      display: inline-flex;
      align-items: center;
      gap: 2px;
      border: 1px solid #dfe2df;
      border-radius: 8px;
      background: #fff;
      padding: 3px;
    }

    .view-switcher button {
      min-height: 32px;
      border: 0;
      border-radius: 5px;
      background: transparent;
      padding: 5px 11px;
      color: #747a75;
      font-size: 12px;
      font-weight: 500;
      cursor: pointer;
    }

    .view-switcher button[aria-selected="true"] {
      background: #f0f2f0;
      color: var(--ink);
    }

    .prototype-actions {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 10px;
    }

    .scenario-control {
      display: flex;
      align-items: center;
      gap: 8px;
      color: #747a75;
      font-size: 11px;
      white-space: nowrap;
    }

    .scenario-control select {
      min-height: 38px;
      max-width: 220px;
      border: 1px solid #dfe2df;
      border-radius: 8px;
      background: #fff;
      padding: 6px 30px 6px 10px;
      color: var(--ink);
      font-size: 12px;
      cursor: pointer;
    }

    .product-header {
      min-height: 64px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      border-bottom: 1px solid var(--line);
      padding: 0 max(24px, calc((100vw - 1120px) / 2));
    }

    .brand {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 13px;
      font-weight: 600;
      letter-spacing: -.025em;
    }

    .brand::before {
      content: "";
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: var(--green);
    }

    .help-link {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      border: 0;
      border-radius: 8px;
      background: transparent;
      padding: 8px;
      color: var(--muted);
      font-size: 12px;
      cursor: pointer;
    }

    .help-link:hover { background: #f1f3f1; color: var(--ink); }
    .help-link .icon { width: 16px; height: 16px; }

    .flow-progress {
      height: 2px;
      background: #eef0ee;
    }

    .flow-progress span {
      width: 25%;
      height: 100%;
      display: block;
      background: var(--green);
      transition: width 280ms ease;
    }

    .proposed-view {
      min-height: calc(100vh - 118px);
    }

    .step-shell {
      width: min(calc(100% - 48px), 760px);
      margin: 0 auto;
      padding: 74px 0 100px;
    }

    .step-meta {
      margin: 0 0 22px;
      color: var(--muted);
      font-size: 11px;
      font-weight: 500;
      letter-spacing: .055em;
      text-transform: uppercase;
    }

    h1, h2, p { margin-top: 0; }

    .step h1 {
      max-width: 660px;
      margin-bottom: 20px;
      font-size: clamp(34px, 5vw, 52px);
      font-weight: 500;
      line-height: 1.08;
      letter-spacing: -.052em;
    }

    .step-lede {
      max-width: 590px;
      margin-bottom: 0;
      color: var(--muted);
      font-size: 16px;
      line-height: 1.65;
    }

    .step-actions {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-top: 42px;
    }

    .button {
      min-height: 44px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      border: 1px solid var(--line-strong);
      border-radius: 8px;
      background: var(--surface);
      padding: 10px 16px;
      color: var(--ink);
      font-size: 13px;
      font-weight: 500;
      cursor: pointer;
      transition: background 150ms ease, border-color 150ms ease, transform 150ms ease;
    }

    .button:hover { border-color: #c9ceca; background: #f8f9f8; }
    .button:active { transform: translateY(1px); }

    .button.primary {
      border-color: var(--green);
      background: var(--green);
      color: #fff;
    }

    .button.primary:hover { border-color: var(--green-dark); background: var(--green-dark); }

    .button.quiet {
      border-color: transparent;
      background: transparent;
      color: var(--muted);
    }

    .button.quiet:hover { background: #f1f3f1; color: var(--ink); }
    .button .icon { width: 16px; height: 16px; }

    .welcome-mark {
      width: 48px;
      height: 48px;
      display: grid;
      place-items: center;
      margin-bottom: 34px;
      border-radius: 50%;
      background: var(--green-soft);
      color: var(--green);
    }

    .welcome-mark .icon { width: 22px; height: 22px; }

    .privacy-note {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-top: 64px;
      color: #8b908c;
      font-size: 11px;
    }

    .privacy-note .icon { width: 15px; height: 15px; }

    .access-list {
      margin-top: 48px;
      border-top: 1px solid var(--line);
    }

    .access-row {
      display: grid;
      grid-template-columns: 36px minmax(0, 1fr) auto;
      align-items: center;
      gap: 15px;
      min-height: 82px;
      border-bottom: 1px solid var(--line);
      padding: 15px 2px;
    }

    .entity-icon {
      width: 36px;
      height: 36px;
      display: grid;
      place-items: center;
      border-radius: 9px;
      background: #f2f4f2;
      color: #606761;
    }

    .entity-icon.business { background: var(--green-soft); color: var(--green); }
    .entity-icon .icon { width: 17px; height: 17px; }

    .entity-copy { min-width: 0; }

    .entity-name {
      display: block;
      font-size: 14px;
      font-weight: 600;
      letter-spacing: -.02em;
    }

    .entity-detail {
      display: block;
      margin-top: 3px;
      overflow: hidden;
      color: var(--muted);
      font-size: 11px;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .verified {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      color: #7c827d;
      font-size: 11px;
      white-space: nowrap;
    }

    .verified .icon { width: 15px; height: 15px; color: var(--green); }

    .access-note {
      margin-top: 18px;
      color: var(--muted);
      font-size: 12px;
    }

    .inline-link {
      border: 0;
      border-bottom: 1px solid #b8c0ba;
      background: transparent;
      padding: 0 0 1px;
      color: var(--ink);
      cursor: pointer;
    }

    .service-review {
      display: grid;
      grid-template-columns: 220px minmax(0, 1fr);
      gap: 46px;
      margin-top: 48px;
      padding-top: 34px;
      border-top: 1px solid var(--line);
    }

    .entity-tabs {
      display: flex;
      flex-direction: column;
      gap: 3px;
    }

    .entity-tab {
      width: 100%;
      min-height: 44px;
      border: 0;
      border-radius: 8px;
      background: transparent;
      padding: 9px 11px;
      color: var(--muted);
      font-size: 12px;
      text-align: left;
      cursor: pointer;
    }

    .entity-tab[aria-selected="true"] {
      background: #f1f3f1;
      color: var(--ink);
      font-weight: 500;
    }

    .service-panel h2 {
      margin-bottom: 7px;
      font-size: 18px;
      font-weight: 600;
      letter-spacing: -.035em;
    }

    .service-panel > p {
      margin-bottom: 26px;
      color: var(--muted);
      font-size: 12px;
    }

    .service-list { border-top: 1px solid var(--line); }

    .service-row {
      min-height: 54px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      border-bottom: 1px solid var(--line);
      font-size: 13px;
    }

    .service-row span:first-child {
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .service-row .icon { width: 17px; height: 17px; color: #737b75; }

    .service-state {
      color: var(--green);
      font-size: 11px;
      font-weight: 500;
    }

    .service-footnote {
      margin-top: 20px !important;
      line-height: 1.6;
    }

    .home-recommendation {
      margin-top: 48px;
      border-top: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
      padding: 30px 0;
    }

    .recommendation-label {
      display: block;
      margin-bottom: 14px;
      color: var(--green);
      font-size: 10px;
      font-weight: 600;
      letter-spacing: .06em;
      text-transform: uppercase;
    }

    .recommendation-destination {
      display: grid;
      grid-template-columns: 42px minmax(0, 1fr) auto;
      align-items: center;
      gap: 15px;
    }

    .recommendation-icon {
      width: 42px;
      height: 42px;
      display: grid;
      place-items: center;
      border-radius: 10px;
      background: var(--green-soft);
      color: var(--green);
    }

    .recommendation-icon .icon { width: 19px; height: 19px; }

    .recommendation-destination strong {
      display: block;
      font-size: 16px;
      font-weight: 600;
      letter-spacing: -.025em;
    }

    .recommendation-destination span span {
      display: block;
      margin-top: 3px;
      color: var(--muted);
      font-size: 12px;
    }

    .recommendation-badge {
      border-radius: 999px;
      background: #f1f3f1;
      padding: 6px 9px;
      color: #68706a;
      font-size: 10px;
      white-space: nowrap;
    }

    .reason-list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px 24px;
      margin: 28px 0 0;
      padding: 0;
      list-style: none;
    }

    .reason-list li {
      display: grid;
      grid-template-columns: 18px minmax(0, 1fr);
      gap: 8px;
      color: var(--muted);
      font-size: 11px;
      line-height: 1.55;
    }

    .reason-list .icon {
      width: 15px;
      height: 15px;
      margin-top: 1px;
      color: var(--green);
    }

    .home-explainer {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      margin-top: 22px;
      color: var(--muted);
      font-size: 11px;
    }

    .home-explainer button {
      flex: 0 0 auto;
    }

    .home-options {
      display: grid;
      gap: 8px;
      margin-top: 22px;
      padding-top: 22px;
      border-top: 1px solid var(--line);
    }

    .home-option {
      width: 100%;
      min-height: 62px;
      display: grid;
      grid-template-columns: minmax(0, 1fr) 20px;
      align-items: center;
      gap: 14px;
      border: 1px solid var(--line);
      border-radius: 9px;
      background: #fff;
      padding: 11px 13px;
      text-align: left;
      cursor: pointer;
    }

    .home-option:hover { border-color: var(--line-strong); background: #fafbfa; }
    .home-option[aria-checked="true"] { border-color: #b8d2c4; background: var(--green-soft); }

    .home-option strong {
      display: block;
      font-size: 12px;
      font-weight: 600;
    }

    .home-option span span {
      display: block;
      margin-top: 3px;
      color: var(--muted);
      font-size: 10px;
    }

    .home-option .icon { width: 16px; height: 16px; color: var(--green); opacity: 0; }
    .home-option[aria-checked="true"] .icon { opacity: 1; }

    .complete-card {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1px;
      margin-top: 50px;
      border: 1px solid var(--line);
      border-radius: 10px;
      overflow: hidden;
      background: var(--line);
    }

    .complete-stat {
      min-height: 108px;
      background: var(--surface);
      padding: 21px;
    }

    .complete-stat strong {
      display: block;
      font-size: 22px;
      font-weight: 500;
      letter-spacing: -.04em;
    }

    .complete-stat span {
      display: block;
      margin-top: 5px;
      color: var(--muted);
      font-size: 11px;
    }

    .ready-home {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-top: 34px;
      padding: 14px 0;
      border-top: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
    }

    .ready-home .entity-icon { width: 34px; height: 34px; }

    .ready-home strong {
      display: block;
      font-size: 12px;
      font-weight: 600;
    }

    .ready-home span span {
      display: block;
      margin-top: 2px;
      color: var(--muted);
      font-size: 10px;
    }

    .landing-shell {
      width: min(calc(100% - 48px), 1120px);
      margin: 0 auto;
      padding: 28px 0 110px;
    }

    .landing-context-bar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      margin-bottom: 28px;
    }

    .landing-entity {
      min-width: 250px;
      display: grid;
      grid-template-columns: minmax(0, 1fr) 16px;
      align-items: center;
      gap: 10px;
      border: 1px solid transparent;
      border-radius: 8px;
      background: #f3f4f3;
      padding: 7px 11px;
      text-align: left;
      cursor: pointer;
    }

    .landing-entity small {
      display: block;
      color: var(--muted);
      font-size: 9px;
    }

    .landing-entity strong {
      display: block;
      margin-top: 2px;
      font-size: 12px;
      font-weight: 600;
    }

    .landing-reset {
      border: 0;
      background: transparent;
      padding: 7px;
      color: var(--muted);
      font-size: 11px;
      cursor: pointer;
    }

    .landing-tabs {
      display: flex;
      gap: 28px;
      overflow-x: auto;
      border-bottom: 1px solid var(--line);
    }

    .landing-tab {
      min-width: max-content;
      min-height: 44px;
      border: 0;
      border-bottom: 2px solid transparent;
      background: transparent;
      padding: 0 2px;
      color: var(--muted);
      font-size: 12px;
      cursor: pointer;
    }

    .landing-tab[aria-selected="true"] {
      border-bottom-color: var(--green);
      color: var(--ink);
      font-weight: 600;
    }

    .landing-hero {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 30px;
      padding: 58px 0 38px;
    }

    .landing-hero h1 {
      margin-bottom: 10px;
      font-size: clamp(32px, 5vw, 48px);
      font-weight: 500;
      line-height: 1.08;
      letter-spacing: -.05em;
    }

    .landing-hero p {
      max-width: 620px;
      margin: 0;
      color: var(--muted);
      font-size: 13px;
    }

    .landing-directory { border-top: 1px solid var(--line); }

    .directory-head,
    .directory-row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 130px 90px;
      align-items: center;
      gap: 20px;
      border-bottom: 1px solid var(--line);
    }

    .directory-head {
      min-height: 42px;
      color: var(--soft-muted);
      font-size: 9px;
      font-weight: 600;
      letter-spacing: .055em;
      text-transform: uppercase;
    }

    .directory-row {
      min-height: 66px;
      color: var(--muted);
      font-size: 11px;
    }

    .directory-name {
      display: flex;
      align-items: center;
      gap: 11px;
      color: var(--ink);
      font-size: 12px;
      font-weight: 500;
    }

    .directory-name .icon { width: 17px; height: 17px; color: var(--green); }

    .empty-directory {
      min-height: 240px;
      display: grid;
      place-items: center;
      border-top: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
      text-align: center;
    }

    .empty-directory strong { display: block; font-size: 13px; font-weight: 600; }
    .empty-directory span { display: block; margin-top: 5px; color: var(--muted); font-size: 11px; }

    .policy-list {
      margin: 26px 0 0;
      padding: 0;
      list-style: none;
      counter-reset: policy;
    }

    .policy-list li {
      counter-increment: policy;
      display: grid;
      grid-template-columns: 28px minmax(0, 1fr);
      gap: 12px;
      padding: 14px 0;
      border-top: 1px solid var(--line);
      color: var(--muted);
      font-size: 11px;
      line-height: 1.55;
    }

    .policy-list li::before {
      content: counter(policy, decimal-leading-zero);
      color: var(--green);
      font-size: 10px;
      font-weight: 600;
    }

    .policy-list strong { display: block; margin-bottom: 3px; color: var(--ink); font-size: 12px; }

    .architecture-note {
      margin-top: 22px;
      border-radius: 9px;
      background: #f3f5f3;
      padding: 14px;
      color: #626963;
      font-size: 10px;
      line-height: 1.6;
    }

    .add-overlay {
      position: fixed;
      z-index: 150;
      inset: 0;
      display: grid;
      place-items: center;
      background: rgba(25, 29, 27, .28);
      padding: 24px;
      backdrop-filter: blur(4px);
    }

    .add-dialog {
      width: min(100%, 530px);
      border: 1px solid var(--line);
      border-radius: 12px;
      background: var(--surface);
      padding: 28px;
      box-shadow: var(--shadow);
    }

    .dialog-head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 20px;
    }

    .dialog-head h2 {
      margin-bottom: 6px;
      font-size: 20px;
      font-weight: 600;
      letter-spacing: -.035em;
    }

    .dialog-head p {
      margin-bottom: 0;
      color: var(--muted);
      font-size: 12px;
    }

    .close-button {
      width: 34px;
      height: 34px;
      display: grid;
      place-items: center;
      border: 0;
      border-radius: 7px;
      background: transparent;
      color: var(--muted);
      cursor: pointer;
    }

    .close-button:hover { background: #f2f4f2; color: var(--ink); }
    .close-button .icon { width: 17px; height: 17px; }

    .type-switcher {
      display: inline-flex;
      gap: 2px;
      margin-top: 27px;
      border-radius: 8px;
      background: #f1f3f1;
      padding: 3px;
    }

    .type-switcher button {
      min-height: 34px;
      border: 0;
      border-radius: 6px;
      background: transparent;
      padding: 6px 13px;
      color: var(--muted);
      font-size: 12px;
      cursor: pointer;
    }

    .type-switcher button[aria-selected="true"] {
      background: #fff;
      color: var(--ink);
      box-shadow: 0 1px 3px rgba(28, 34, 30, .08);
    }

    .form-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
      margin-top: 24px;
    }

    .field.full { grid-column: 1 / -1; }

    .field label {
      display: block;
      margin-bottom: 7px;
      color: #5e655f;
      font-size: 11px;
      font-weight: 500;
    }

    .field input, .field select {
      width: 100%;
      min-height: 42px;
      border: 1px solid var(--line-strong);
      border-radius: 8px;
      background: #fff;
      padding: 9px 11px;
      color: var(--ink);
      font-size: 13px;
    }

    .field input::placeholder { color: #afb4b0; }
    .field input:focus, .field select:focus { border-color: var(--green); outline: 2px solid rgba(23, 107, 77, .13); }

    .dialog-actions {
      display: flex;
      justify-content: flex-end;
      gap: 10px;
      margin-top: 28px;
      padding-top: 20px;
      border-top: 1px solid var(--line);
    }

    .toast {
      position: fixed;
      z-index: 180;
      right: 22px;
      bottom: 22px;
      display: flex;
      align-items: center;
      gap: 9px;
      border: 1px solid var(--line);
      border-radius: 9px;
      background: #fff;
      padding: 12px 15px;
      box-shadow: 0 12px 32px rgba(28, 34, 30, .12);
      font-size: 12px;
    }

    .toast .icon { width: 16px; height: 16px; color: var(--green); }

    /* Current-state audit */
    .current-view {
      width: min(calc(100% - 48px), 1120px);
      margin: 0 auto;
      padding: 62px 0 110px;
    }

    .audit-eyebrow {
      margin-bottom: 16px;
      color: var(--muted);
      font-size: 11px;
      font-weight: 500;
      letter-spacing: .055em;
      text-transform: uppercase;
    }

    .audit-title {
      max-width: 770px;
      margin-bottom: 16px;
      font-size: clamp(32px, 4vw, 46px);
      font-weight: 500;
      line-height: 1.12;
      letter-spacing: -.05em;
    }

    .audit-lede {
      max-width: 680px;
      color: var(--muted);
      font-size: 15px;
      line-height: 1.65;
    }

    .flow-map {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 0;
      margin-top: 45px;
      border-top: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
    }

    .flow-node {
      position: relative;
      min-height: 126px;
      padding: 23px 28px 21px 0;
    }

    .flow-node:not(:last-child)::after {
      content: "→";
      position: absolute;
      top: 29px;
      right: 14px;
      color: #b0b5b1;
    }

    .flow-number {
      display: block;
      margin-bottom: 9px;
      color: var(--green);
      font-size: 11px;
      font-weight: 600;
    }

    .flow-node strong {
      display: block;
      margin-bottom: 5px;
      font-size: 13px;
      font-weight: 600;
    }

    .flow-node p {
      max-width: 210px;
      margin: 0;
      color: var(--muted);
      font-size: 11px;
      line-height: 1.55;
    }

    .audit-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
      gap: 54px;
      margin-top: 62px;
      align-items: start;
    }

    .current-window {
      border: 1px solid var(--line);
      border-radius: 12px;
      background: #f5f6f5;
      padding: 24px;
    }

    .window-bar {
      display: flex;
      align-items: center;
      gap: 5px;
      margin-bottom: 21px;
    }

    .window-bar span {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: #d6dad7;
    }

    .legacy-card {
      max-width: 560px;
      margin: 0 auto;
      border: 1px solid #e5e7e5;
      border-radius: 14px;
      background: #fff;
      padding: 28px;
      box-shadow: 0 6px 22px rgba(28, 34, 30, .06);
    }

    .legacy-card h2 {
      margin-bottom: 8px;
      font-size: 20px;
      font-weight: 700;
      letter-spacing: -.02em;
    }

    .legacy-card > p {
      color: #747a75;
      font-size: 13px;
      line-height: 1.55;
    }

    .legacy-self {
      display: flex;
      align-items: center;
      gap: 11px;
      margin-top: 21px;
      border: 1px solid #cfe2d7;
      border-radius: 8px;
      background: #f1f8f4;
      padding: 12px;
    }

    .legacy-check {
      width: 30px;
      height: 30px;
      display: grid;
      place-items: center;
      border-radius: 50%;
      background: #dfeee5;
      color: var(--green);
    }

    .legacy-check .icon { width: 15px; height: 15px; }

    .legacy-self strong { display: block; font-size: 13px; }
    .legacy-self span { display: block; margin-top: 2px; color: var(--muted); font-size: 11px; }

    .legacy-label {
      margin: 21px 0 11px;
      color: #949995;
      font-size: 10px;
      font-weight: 600;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .legacy-add {
      display: flex;
      align-items: center;
      gap: 7px;
      border: 0;
      background: transparent;
      padding: 7px 0;
      color: #277052;
      font-size: 12px;
      font-weight: 500;
      cursor: pointer;
    }

    .legacy-add .icon { width: 15px; height: 15px; }

    .legacy-primary {
      width: 100%;
      min-height: 43px;
      margin-top: 23px;
      border: 0;
      border-radius: 8px;
      background: #276749;
      color: #fff;
      font-size: 13px;
      font-weight: 600;
    }

    .legacy-skip {
      width: 100%;
      margin-top: 12px;
      border: 0;
      background: transparent;
      color: #969b97;
      font-size: 11px;
    }

    .audit-notes {
      position: sticky;
      top: 92px;
    }

    .audit-notes h2 {
      margin-bottom: 20px;
      font-size: 17px;
      font-weight: 600;
      letter-spacing: -.03em;
    }

    .finding {
      display: grid;
      grid-template-columns: 22px minmax(0, 1fr);
      gap: 12px;
      padding: 16px 0;
      border-top: 1px solid var(--line);
    }

    .finding:last-child { border-bottom: 1px solid var(--line); }

    .finding-index {
      color: var(--green);
      font-size: 11px;
      font-weight: 600;
    }

    .finding strong {
      display: block;
      margin-bottom: 4px;
      font-size: 12px;
      font-weight: 600;
    }

    .finding p {
      margin: 0;
      color: var(--muted);
      font-size: 11px;
      line-height: 1.6;
    }

    @media (max-width: 760px) {
      .prototype-bar { align-items: flex-start; flex-direction: column; gap: 7px; padding: 8px 16px; }
      .prototype-actions { width: 100%; align-items: stretch; flex-direction: column; }
      .view-switcher { width: 100%; }
      .view-switcher button { flex: 1; }
      .scenario-control { width: 100%; justify-content: space-between; }
      .scenario-control select { max-width: none; flex: 1; }
      .product-header { min-height: 58px; padding-inline: 18px; }
      .help-link span { display: none; }
      .step-shell { width: min(calc(100% - 36px), 760px); padding: 52px 0 80px; }
      .step h1 { font-size: 36px; }
      .step-actions { align-items: stretch; flex-direction: column; }
      .button { width: 100%; }
      .access-row { grid-template-columns: 36px minmax(0, 1fr); }
      .verified { grid-column: 2; }
      .service-review { grid-template-columns: 1fr; gap: 24px; }
      .entity-tabs { flex-direction: row; overflow-x: auto; }
      .entity-tab { width: auto; min-width: max-content; }
      .recommendation-destination { grid-template-columns: 42px minmax(0, 1fr); }
      .recommendation-badge { grid-column: 2; justify-self: start; }
      .reason-list { grid-template-columns: 1fr; }
      .home-explainer { align-items: flex-start; flex-direction: column; }
      .complete-card { grid-template-columns: 1fr; }
      .landing-shell { width: min(calc(100% - 36px), 1120px); }
      .landing-context-bar { align-items: stretch; flex-direction: column; }
      .landing-entity { width: 100%; min-width: 0; }
      .landing-hero { align-items: stretch; flex-direction: column; padding-top: 42px; }
      .landing-hero .button { width: 100%; }
      .directory-head { display: none; }
      .directory-row { grid-template-columns: minmax(0, 1fr) auto; gap: 10px; padding: 12px 0; }
      .directory-row span:last-child { display: none; }
      .form-grid { grid-template-columns: 1fr; }
      .field.full { grid-column: auto; }
      .add-dialog { padding: 22px; }
      .current-view { width: min(calc(100% - 36px), 1120px); padding-top: 48px; }
      .flow-map { grid-template-columns: 1fr; }
      .flow-node { min-height: 90px; padding: 19px 0; }
      .flow-node:not(:last-child)::after { content: "↓"; top: auto; right: auto; bottom: -10px; left: 4px; }
      .audit-grid { grid-template-columns: 1fr; gap: 38px; }
      .audit-notes { position: static; }
      .current-window { padding: 12px; }
      .legacy-card { padding: 21px; }
    }

    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
    }
