/* [next]/internal/font/google/ibm_plex_mono_9d88f727.module.css [app-client] (css) */
@font-face {
  font-family: IBM Plex Mono;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/e390973e931a41c5-s.0rgnxg2b64rzs.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: IBM Plex Mono;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/59b15b4bcd7b1eb5-s.2vemzm0itqzfy.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: IBM Plex Mono;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/e532fa1b9921e1cd-s.3cb5lpr2l6xud.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: IBM Plex Mono;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/2fe89d53234c61d4-s.1u30mmyq6lnsd.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: IBM Plex Mono;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/99e609270109b47d-s.p.40sczeszzbjw1.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: IBM Plex Mono;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/5e05ae5b48faa55e-s.1yd4_i3e35931.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: IBM Plex Mono;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/a7afbb44bec2bb18-s.1qc6dx89jd2qv.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: IBM Plex Mono;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/02263ebadd758ea4-s.29yke99gs9qpn.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: IBM Plex Mono;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/68757d6cddeff913-s.1i-sca43-qwng.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: IBM Plex Mono;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/effe91970fc4db64-s.p.0oace-s_gkfks.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: IBM Plex Mono Fallback;
  src: local(Arial);
  ascent-override: 76.16%;
  descent-override: 20.43%;
  line-gap-override: 0.0%;
  size-adjust: 134.59%;
}

.ibm_plex_mono_9d88f727-module__1NxLqG__className {
  font-family: IBM Plex Mono, IBM Plex Mono Fallback;
  font-style: normal;
}

.ibm_plex_mono_9d88f727-module__1NxLqG__variable {
  --font-mono: "IBM Plex Mono", "IBM Plex Mono Fallback";
}

/* [project]/apps/prodogy-rehab/app/globals.css [app-client] (css) */
@layer theme {
  :root, :host {
    --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial,
    sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New",
    monospace;
    --spacing: .25rem;
    --text-xs: .75rem;
    --text-xs--line-height: calc(1 / .75);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
  }
}

@layer base;

@layer components {
  :root {
    --ink: #0f0f0f;
    --muted: #6a6a68;
    --paper: #f4f4f2;
    --surface: #fff;
    --line: #dcdcd8;
    --line-dark: #dcdcd8;
    --divider: #dcdcd8;
    --well: #f4f4f2;
    --subtle: #f4f4f2;
    --provenance: #9a9a97;
    --discrepancy: #be2e1b;
    --sheet: #fff;
    --teal: #be2e1b;
    --teal-dark: #8f2417;
    --teal-soft: #fdeeec;
    --red: var(--teal);
    --red-soft: var(--teal-soft);
    --lime: var(--ink);
    --blue: var(--muted);
    --blue-soft: var(--well);
    --amber: var(--teal-dark);
    --amber-soft: var(--teal-soft);
    --pink: var(--teal-dark);
    --green: var(--ink);
    --green-soft: var(--subtle);
    --status-green: #18794e;
    --status-orange: #c65d00;
    --shadow: none;
    --page-max-width: 85rem;
    --font-sans: Helvetica, "Helvetica Neue", Arial, sans-serif;
    --font-display: var(--font-sans);
    --font-mono: "IBM Plex Mono", ui-monospace, monospace;
  }

  * {
    box-sizing: border-box;
  }

  html {
    background: var(--paper);
    color: var(--ink);
  }

  body {
    background: var(--paper);
    min-height: 100vh;
    font-family: var(--font-sans), Arial, sans-serif;
    margin: 0;
  }

  h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-display), Georgia, serif;
    font-optical-sizing: auto;
    font-weight: 600;
  }

  button, input {
    font: inherit;
  }

  button, a {
    -webkit-tap-highlight-color: transparent;
  }

  a {
    color: inherit;
  }

  .site-header {
    background: var(--surface);
    border: 1px solid var(--line-dark);
    max-width: var(--page-max-width);
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin: 32px auto 0;
    padding: 22px 40px;
    display: flex;
  }

  .brand {
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px;
    text-decoration: none;
    display: flex;
  }

  .brand-logo {
    object-fit: contain;
    width: auto;
    height: 66px;
  }

  .brand-copy strong, .brand-copy small {
    display: block;
  }

  .brand-copy strong {
    font-family: var(--font-display);
    letter-spacing: -.02em;
    font-size: 16px;
  }

  .brand-copy small {
    color: var(--teal);
    letter-spacing: .14em;
    text-transform: uppercase;
    margin-bottom: 3px;
    font-size: 12px;
    font-weight: 700;
  }

  .header-actions {
    align-items: center;
    gap: 12px;
    display: flex;
  }

  .environment-badge {
    color: var(--muted);
    font: 400 12px var(--font-mono);
    letter-spacing: .06em;
    text-align: right;
    text-transform: uppercase;
  }

  .environment-badge span {
    background: var(--lime);
    box-shadow: var(--shadow);
    border-radius: 0;
    width: 7px;
    height: 7px;
  }

  .dashboard-shell {
    background: var(--surface);
    border: 1px solid var(--line-dark);
    box-shadow: var(--shadow);
    max-width: var(--page-max-width);
    border-top: 0;
    margin: 0 auto 64px;
  }

  .hero-grid {
    background: var(--surface);
    border-bottom: 1px solid var(--line-dark);
    grid-template-columns: minmax(0, 1fr) 300px;
    align-items: stretch;
    padding: 0 40px 0 0;
    display: grid;
  }

  .hero-copy {
    padding: 40px;
  }

  .eyebrow {
    color: var(--teal);
    font: 400 12px var(--font-mono);
    letter-spacing: .14em;
    text-transform: uppercase;
    margin: 0 0 14px;
  }

  .hero-intro {
    max-width: 640px;
    margin: 0;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.6;
  }

  .hero-lede {
    color: var(--muted);
    max-width: 560px;
    margin: 22px 0 0;
    font-size: 14px;
    line-height: 1.7;
  }

  .metric-strip {
    border-top: 2px solid var(--teal);
    gap: 10px;
    max-width: 560px;
    padding-top: 20px;
    display: flex;
  }

  .metric-strip div {
    background: var(--ink);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .metric-strip div {
      background: color-mix(in srgb, var(--ink) 16%, transparent);
    }
  }

  .metric-strip div {
    border: 1px solid var(--line);
    border-radius: 0;
    flex-direction: column;
    flex: 1;
    padding: 12px 14px;
    display: flex;
  }

  .metric-strip strong {
    font: 500 30px var(--font-mono);
    letter-spacing: -.04em;
    line-height: 1;
  }

  .metric-strip span {
    color: var(--muted);
    margin-top: 6px;
    font-size: 12px;
  }

  .upload-card {
    background: var(--sheet);
    border: 1px solid var(--ink);
    text-align: center;
    flex-direction: column;
    justify-content: center;
    align-self: center;
    align-items: center;
    margin: 32px 0 32px 32px;
    padding: 24px;
    display: flex;
    position: relative;
  }

  .upload-card.is-dragging {
    border-color: var(--teal);
    outline: 1px solid var(--teal);
    background: var(--teal-soft);
  }

  .upload-icon {
    border: 1px solid var(--ink);
    align-items: center;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .upload-icon {
      border: 1px solid color-mix(in srgb, var(--ink) 16%, transparent);
    }
  }

  .upload-icon {
    color: var(--teal);
    font: 500 27px var(--font-mono);
    border-radius: 0;
    justify-content: center;
    width: 62px;
    height: 62px;
    margin-bottom: 26px;
    display: flex;
  }

  .upload-card h2 {
    margin: 0;
    font-size: 22px;
    font-weight: 400;
    line-height: 1.2;
  }

  .upload-card p {
    color: var(--muted);
    margin: 12px 0 20px;
    font-size: 12px;
    line-height: 1.6;
  }

  .upload-card small {
    color: var(--muted);
    font: 400 12px/1.6 var(--font-mono);
    margin-top: 18px;
  }

  .primary-button, .secondary-button, .approve-button {
    border: 1px solid var(--ink);
    cursor: pointer;
    font: 500 12px/1.4 var(--font-mono);
    letter-spacing: .08em;
    text-align: center;
    text-transform: uppercase;
    border-radius: 0;
    padding: 10px 15px;
    text-decoration: none;
  }

  .primary-button {
    background: var(--ink);
    color: var(--surface);
  }

  .primary-button:disabled, .approve-button:disabled {
    cursor: not-allowed;
    opacity: .48;
  }

  .secondary-button {
    border: 1px solid var(--ink);
    color: var(--ink);
    background: none;
  }

  .secondary-button:hover {
    border-color: var(--teal);
    color: var(--teal);
  }

  .text-button {
    color: var(--teal);
    cursor: pointer;
    font: 500 12px var(--font-mono);
    text-transform: uppercase;
    background: none;
    border: 0;
    padding: 8px;
  }

  .history-section {
    margin: 0;
    padding: 26px 40px 40px;
  }

  .section-heading, .panel-heading {
    justify-content: space-between;
    align-items: flex-end;
    display: flex;
  }

  .section-heading {
    border-bottom: 1px solid var(--ink);
    align-items: baseline;
    gap: 16px;
    margin-bottom: 0;
    padding-bottom: 10px;
  }

  .section-heading h2, .panel-heading h2 {
    letter-spacing: 0;
    margin: 0;
    font-size: 20px;
    font-weight: 600;
  }

  .history-table-wrap {
    box-shadow: none;
    background: none;
    border: 0;
    overflow: visible;
  }

  .history-register-header, .history-record-row {
    grid-template-columns: 190px minmax(190px, 1fr) 180px 110px 150px 80px;
  }

  .history-register-header {
    border-bottom: 1px solid var(--line);
    color: var(--muted);
    font: 600 11px/1.4 var(--font-sans);
    text-transform: uppercase;
    gap: 16px;
    padding: 11px 0;
    display: grid;
  }

  .history-table {
    border-collapse: collapse;
    width: 100%;
    min-width: 950px;
  }

  .history-table th {
    color: var(--muted);
    font: 500 12px var(--font-mono);
    letter-spacing: .08em;
    text-align: left;
    text-transform: uppercase;
    padding: 15px 20px;
  }

  .history-table td {
    border-top: 1px solid var(--line);
    color: var(--ink);
    padding: 18px 20px;
    font-size: 13px;
  }

  .history-table tbody tr {
    transition: background .15s;
  }

  .history-table tbody tr:hover {
    background: var(--subtle);
  }

  .history-record-row {
    border-bottom: 1px solid var(--line);
    font: 400 13px/1.4 var(--font-sans);
    align-items: baseline;
    gap: 16px;
    padding: 16px 0;
    display: grid;
  }

  .history-record-row > [data-label] {
    white-space: nowrap;
    min-width: 0;
  }

  .history-record-row:focus-visible {
    outline: 2px solid var(--teal);
    outline-offset: -3px;
  }

  .history-record-row.is-cancelable {
    cursor: default;
  }

  .history-record-row.is-locked {
    cursor: wait;
  }

  .history-record-row.is-locked:hover {
    background: none;
  }

  .history-record-row.is-locked .row-arrow {
    color: var(--muted);
  }

  .invoice-link {
    flex-direction: column;
    gap: 5px;
    min-width: 0;
    text-decoration: none;
    display: flex;
  }

  .invoice-link strong {
    color: var(--ink);
    font: inherit;
    text-overflow: ellipsis;
    overflow: hidden;
  }

  .history-service-period {
    color: var(--muted);
  }

  .history-invoice-number {
    font-weight: 500;
  }

  .row-arrow {
    color: var(--teal);
    font: 500 19px var(--font-mono);
    text-decoration: none;
  }

  .history-actions {
    justify-content: flex-start;
    align-items: center;
    gap: 13px;
    display: flex;
  }

  .cancel-upload-button {
    color: var(--red);
    cursor: pointer;
    font: 500 12px var(--font-mono);
    text-transform: uppercase;
    background: none;
    border: 0;
    padding: 8px;
  }

  .cancel-upload-button:hover {
    color: var(--teal-dark);
    text-underline-offset: 3px;
    text-decoration: underline;
  }

  .cancel-upload-button:focus-visible {
    outline: 2px solid var(--ink);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .cancel-upload-button:focus-visible {
      outline: 2px solid color-mix(in srgb, var(--ink) 16%, transparent);
    }
  }

  .cancel-upload-button:focus-visible {
    outline-offset: 2px;
  }

  .empty-cell {
    text-align: center;
    padding: 42px !important;
  }

  .dialog-backdrop {
    background: var(--ink);
    align-items: center;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dialog-backdrop {
      background: color-mix(in srgb, var(--ink) 16%, transparent);
    }
  }

  .dialog-backdrop {
    z-index: 100;
    justify-content: center;
    padding: 20px;
    display: flex;
    position: fixed;
    inset: 0;
  }

  .confirm-dialog {
    background: var(--surface);
    border: 1px solid var(--line-dark);
    box-shadow: var(--shadow);
    border-radius: 0;
    width: 100%;
    max-width: 490px;
    padding: 27px;
  }

  .confirm-dialog h2 {
    letter-spacing: -.035em;
    margin: 0;
    font-size: 25px;
  }

  .confirm-dialog > p:not(.eyebrow) {
    color: var(--muted);
    margin: 12px 0 0;
    font-size: 13px;
    line-height: 1.6;
  }

  .confirm-dialog > p strong {
    color: var(--ink);
  }

  .dialog-close-button {
    color: var(--muted);
    cursor: pointer;
    z-index: 1;
    background: none;
    border: 0;
    padding: 5px;
    font-size: 25px;
    line-height: 1;
    position: absolute;
    top: 16px;
    right: 17px;
  }

  .dialog-close-button:hover {
    color: var(--ink);
  }

  .dialog-close-button:focus-visible {
    outline: 2px solid var(--ink);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dialog-close-button:focus-visible {
      outline: 2px solid color-mix(in srgb, var(--ink) 16%, transparent);
    }
  }

  .dialog-close-button:focus-visible {
    outline-offset: 2px;
  }

  .dialog-actions {
    justify-content: flex-end;
    gap: 9px;
    margin-top: 24px;
    display: flex;
  }

  .danger-button {
    background: var(--red);
    color: var(--sheet);
    cursor: pointer;
    border: 0;
    border-radius: 0;
    padding: 12px 20px;
    font-size: 13px;
    font-weight: 700;
  }

  .danger-button:hover:not(:disabled) {
    background: var(--teal-dark);
  }

  .danger-button:disabled {
    cursor: not-allowed;
    opacity: .55;
  }

  .status-pill {
    font: 400 13px var(--font-sans);
    display: inline;
  }

  .status-queued {
    color: var(--muted);
  }

  .status-processing {
    color: var(--status-orange);
    font-weight: 700;
    animation: 1.2s step-end infinite status-blink;
  }

  .status-needs_review, .status-ready {
    color: var(--status-green);
    font-weight: 700;
  }

  .status-approved {
    color: var(--ink);
  }

  .status-failed {
    color: var(--teal);
  }

  @keyframes status-blink {
    50% {
      opacity: .2;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .status-processing {
      animation: none;
    }
  }

  .alert {
    border-radius: 0;
    margin: 18px 0;
    padding: 13px 16px;
    font-size: 13px;
  }

  .errors-addressed-lightbox {
    background: var(--green-soft);
    border: 1px solid var(--line-dark);
    box-shadow: var(--shadow);
    color: var(--ink);
    z-index: 80;
    border-radius: 0;
    align-items: center;
    gap: 9px;
    padding: 12px 15px;
    animation: .2s ease-out success-lightbox-in;
    display: flex;
    position: fixed;
    top: 110px;
    right: 28px;
  }

  .errors-addressed-lightbox span {
    background: var(--lime);
    color: var(--sheet);
    border-radius: 0;
    justify-content: center;
    align-items: center;
    width: 22px;
    height: 22px;
    font-size: 12px;
    display: flex;
  }

  .errors-addressed-lightbox strong {
    font-size: 12px;
  }

  @keyframes success-lightbox-in {
    from {
      opacity: 0;
      transform: translateY(-8px);
    }

    to {
      opacity: 1;
      transform: none;
    }
  }

  .alert-error {
    background: var(--red-soft);
    border: 1px solid var(--discrepancy);
    color: var(--teal-dark);
  }

  .invoice-shell {
    background: var(--surface);
    border: 1px solid var(--line-dark);
    box-shadow: var(--shadow);
    max-width: var(--page-max-width);
    border-top: 0;
    margin: 0 auto 64px;
    padding: 0;
  }

  .workspace-topbar {
    border-bottom: 1px solid var(--ink);
    justify-content: space-between;
    align-items: flex-end;
    gap: 24px;
    margin: 0;
    padding: 20px 32px;
    display: flex;
  }

  .back-link {
    color: var(--teal);
    font: 500 12px var(--font-mono);
    text-transform: uppercase;
    margin-bottom: 13px;
    text-decoration: none;
    display: inline-block;
  }

  .invoice-title-row {
    flex-wrap: wrap;
    align-items: baseline;
    gap: 12px;
    display: flex;
  }

  .invoice-title-row h1 {
    letter-spacing: 0;
    margin: 0;
    font-size: 28px;
    font-weight: 600;
    line-height: 1.2;
  }

  .workspace-topbar p {
    color: var(--muted);
    font: 400 12px/1.7 var(--font-mono);
    margin: 8px 0 0;
  }

  .version-line {
    color: var(--muted);
    font: 400 12px var(--font-mono);
  }

  .workflow-tabs {
    background: var(--subtle);
    border-bottom: 1px solid var(--line-dark);
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0;
    scroll-margin-top: 12px;
    display: grid;
  }

  .workflow-tabs button {
    border: 0;
    border-right: 1px solid var(--line-dark);
    color: var(--muted);
    cursor: pointer;
    text-align: left;
    background: none;
    align-items: baseline;
    gap: 10px;
    min-width: 0;
    padding: 14px 20px;
    display: flex;
  }

  .workflow-tabs button:last-child {
    border-right: 0;
  }

  .workflow-tabs .workflow-step-number {
    color: var(--muted);
    font: 400 12px var(--font-mono);
  }

  .workflow-tab-copy {
    min-width: 0;
  }

  .workflow-tabs button strong {
    color: var(--ink);
    font: 600 15px var(--font-display), Georgia, serif;
  }

  .workflow-tabs button.is-pending {
    box-shadow: none;
    background: none;
  }

  .workflow-tabs button.is-pending .workflow-step-number, .workflow-tabs button.is-pending.is-active .workflow-step-number {
    color: var(--muted);
    background: none;
  }

  .workflow-tabs button.is-approved {
    box-shadow: none;
    background: none;
  }

  .workflow-tabs button.is-approved .workflow-step-number {
    color: var(--muted);
    background: none;
  }

  .workflow-tabs button.is-active {
    background: var(--surface);
    box-shadow: inset 0 -2px 0 var(--teal);
    outline: 0;
  }

  .workflow-tabs button:disabled {
    cursor: not-allowed;
    color: var(--muted);
  }

  .workflow-tabs button:focus-visible {
    outline: 2px solid var(--teal);
    outline-offset: -2px;
  }

  .workflow-tab-panel {
    animation: .18s ease-out workflow-panel-in;
  }

  @keyframes workflow-panel-in {
    from {
      opacity: .45;
      transform: translateY(4px);
    }

    to {
      opacity: 1;
      transform: none;
    }
  }

  .processing-banner {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 0;
    align-items: center;
    gap: 18px;
    margin: 25px 0;
    padding: 23px;
    display: flex;
  }

  .processing-banner p {
    color: var(--muted);
    margin: 5px 0 0;
    font-size: 13px;
  }

  .processing-progress {
    flex: 1;
    min-width: 0;
  }

  .processing-progress-head {
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
    display: flex;
  }

  .processing-elapsed {
    color: var(--muted);
    font: 500 16px var(--font-mono);
    font-variant-numeric: tabular-nums;
  }

  .progress-track {
    background: var(--line);
    border-radius: 0;
    height: 6px;
    margin: 12px 0 8px;
    position: relative;
    overflow: hidden;
  }

  .progress-fill {
    background: var(--teal);
    border-radius: 0;
    height: 100%;
    transition: width .9s linear;
  }

  .progress-track.is-indeterminate .progress-fill {
    width: 40%;
    animation: 1.4s ease-in-out infinite progress-sweep;
  }

  @keyframes progress-sweep {
    0% {
      transform: translateX(-100%);
    }

    100% {
      transform: translateX(250%);
    }
  }

  .processing-progress small {
    color: var(--muted);
    font: 400 12px var(--font-mono);
  }

  @media (prefers-reduced-motion: reduce) {
    .progress-track.is-indeterminate .progress-fill {
      opacity: .45;
      width: 100%;
      animation: none;
    }

    .progress-fill {
      transition: none;
    }
  }

  .spinner {
    border: 2px solid var(--line-dark);
    border-top-color: var(--teal);
    border-radius: 0;
    width: 25px;
    height: 25px;
    animation: 1s linear infinite spin;
  }

  @keyframes spin {
    to {
      transform: rotate(360deg);
    }
  }

  .loading-page {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 16px;
    min-height: 65vh;
    display: flex;
  }

  .loading-page p {
    color: var(--muted);
  }

  .panel {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 0;
  }

  .validation-panel {
    margin-bottom: 16px;
    padding: 16px 18px;
  }

  .validation-passed-details summary {
    cursor: pointer;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 10px;
    list-style: none;
    display: grid;
  }

  .validation-passed-details summary::-webkit-details-marker {
    display: none;
  }

  .validation-passed-details summary:after {
    content: "▾";
    font-size: 14px;
    line-height: 1;
  }

  .validation-passed-details[open] summary:after {
    transform: rotate(180deg);
  }

  .validation-passed-details summary .eyebrow, .validation-passed-details summary strong {
    display: block;
  }

  .validation-passed-details summary strong {
    margin-top: 3px;
    font-size: 16px;
    line-height: 1.3;
  }

  .validation-passed-details .check-list {
    margin-top: 16px;
  }

  .panel-heading {
    margin-bottom: 18px;
  }

  .panel-heading.compact {
    align-items: center;
    margin-bottom: 12px;
  }

  .panel-heading h3 {
    margin: 0;
    font-size: 16px;
  }

  .panel-heading small {
    color: var(--muted);
    font: 400 12px var(--font-mono);
  }

  .review-count, .pass-count {
    font: 500 12px var(--font-mono);
    text-transform: uppercase;
    border-radius: 0;
    padding: 6px 10px;
  }

  .review-count {
    background: var(--amber-soft);
    color: var(--amber);
  }

  .pass-count {
    background: var(--green-soft);
    color: var(--ink);
  }

  .validation-actions {
    align-items: center;
    gap: 8px;
    display: flex;
  }

  .check-list {
    grid-template-columns: repeat(auto-fit, minmax(265px, 1fr));
    gap: 6px;
    display: grid;
  }

  .check-item {
    border-radius: 0;
    align-items: flex-start;
    gap: 8px;
    padding: 8px 10px;
    display: flex;
  }

  .check-item-action {
    cursor: pointer;
    transition: box-shadow .16s, transform .16s;
  }

  .check-item-action:hover {
    box-shadow: var(--shadow);
  }

  .check-item-action:focus-visible {
    box-shadow: var(--shadow);
    outline: none;
  }

  .check-warning {
    background: var(--amber-soft);
    color: var(--line-dark);
  }

  .check-error {
    background: var(--red-soft);
    color: var(--line-dark);
  }

  .check-pass {
    background: var(--subtle);
    color: var(--ink);
  }

  .check-icon {
    font: 600 12px var(--font-mono);
    border: 1px solid;
    border-radius: 0;
    flex: none;
    justify-content: center;
    align-items: center;
    width: 20px;
    height: 20px;
    display: flex;
  }

  .check-item > div {
    flex: 1;
    min-width: 0;
  }

  .check-item strong {
    font-size: 12px;
    font-weight: 600;
    line-height: 1.35;
    display: block;
  }

  .check-item small {
    font: 400 12px var(--font-mono);
    opacity: .74;
    margin-top: 4px;
    display: block;
  }

  .check-comparison span {
    display: block;
  }

  .check-undo-button {
    color: inherit;
    cursor: pointer;
    font: 600 12px var(--font-mono);
    text-underline-offset: 2px;
    background: none;
    border: 0;
    margin-top: 7px;
    padding: 0;
    text-decoration: underline;
  }

  .check-undo-button:hover {
    opacity: .72;
  }

  .check-undo-button:focus-visible {
    outline-offset: 3px;
    border-radius: 0;
    outline: 2px solid;
  }

  .review-layout {
    background: var(--well);
    grid-template-columns: 320px minmax(0, 1fr);
    align-items: start;
    display: grid;
  }

  .review-control-rail, .extraction-panel {
    min-width: 0;
  }

  .review-control-rail {
    padding: 24px;
    position: sticky;
    top: 16px;
  }

  .review-rail-actions {
    margin-top: 16px;
    display: grid;
  }

  .review-rail-actions .source-document-link, .review-rail-case-actions button {
    box-sizing: border-box;
    font: 700 12px/1.4 var(--font-sans);
    letter-spacing: .04em;
    text-align: center;
    text-transform: uppercase;
    justify-content: center;
    align-items: center;
    width: 100%;
    min-height: 42px;
    padding: 10px 15px;
    display: flex;
  }

  .review-rail-actions .source-document-link {
    border: 1px solid var(--ink);
    color: var(--ink);
    background: none;
  }

  .review-rail-actions .source-document-link:hover {
    background: var(--subtle);
  }

  .review-rail-case-actions {
    gap: 8px;
    margin-top: 8px;
    display: grid;
  }

  .review-rail-case-actions .review-reset-button {
    background: var(--teal-soft);
    border-color: var(--teal);
    color: var(--teal-dark);
  }

  .review-rail-case-actions .review-reset-button:hover:not(:disabled) {
    background: var(--red-soft);
    border-color: var(--teal-dark);
  }

  .extraction-panel {
    background: var(--surface);
    border: 0;
    border-left: 1px solid var(--line-dark);
    height: auto;
    min-height: 0;
    padding: 24px 28px;
    position: relative;
  }

  .extraction-heading-actions {
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    display: flex;
  }

  .source-document-link {
    background: var(--teal);
    color: var(--sheet);
    font: 650 12px var(--font-mono);
    text-transform: uppercase;
    border-radius: 0;
    padding: 8px 11px;
    text-decoration: none;
  }

  .source-document-link:hover {
    background: var(--teal-dark);
  }

  .confidence-key {
    color: var(--muted);
    font: 400 12px var(--font-mono);
    align-items: center;
    gap: 6px;
    display: flex;
  }

  .confidence-key i {
    background: var(--red);
    border-radius: 0;
    width: 7px;
    height: 7px;
  }

  .metadata-grid {
    border: 0;
    border-left: 2px solid var(--teal);
    background: none;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px 12px;
    margin: 24px 0;
    padding: 0 0 0 18px;
    display: grid;
  }

  .metadata-grid label > span {
    color: var(--muted);
    font: 500 12px var(--font-mono);
    text-transform: uppercase;
    margin-bottom: 5px;
    display: block;
  }

  .field-input {
    position: relative;
  }

  .field-display {
    background: var(--sheet);
    border: 1px solid var(--line-dark);
    color: var(--ink);
    font: 400 15px/1.4 var(--font-display), Georgia, serif;
    text-align: left;
    width: 100%;
    min-height: 28px;
    padding: 6px 8px;
    display: block;
  }

  .field-display:hover {
    border-color: var(--ink);
  }

  .field-display:focus-visible {
    border-color: var(--teal);
    box-shadow: none;
    outline: 2px solid var(--teal-soft);
    outline-offset: 1px;
  }

  .field-input input.field-display {
    cursor: text;
  }

  .discipline-select {
    cursor: pointer;
  }

  .field-display.is-number {
    font-family: var(--font-mono);
    text-align: right;
  }

  .field-input.needs-review .field-display {
    background: var(--red-soft);
    border: 2px solid var(--red);
    padding-right: 24px;
  }

  .review-edit-instruction {
    border-left: 3px solid var(--ink);
    color: var(--muted);
    margin: 18px 0 20px;
    padding: 6px 0 6px 12px;
    font-size: 12px;
  }

  .field-input.check-focus-highlight {
    box-shadow: var(--shadow);
    border-radius: 0;
    animation: .55s ease-in-out 2 alternate check-target-pulse;
  }

  @keyframes check-target-pulse {
    from {
      box-shadow: var(--shadow);
    }

    to {
      box-shadow: var(--shadow);
    }
  }

  .field-input > span {
    background: var(--red);
    color: var(--sheet);
    font: 600 12px var(--font-mono);
    border-radius: 0;
    justify-content: center;
    align-items: center;
    width: 18px;
    height: 18px;
    display: flex;
    position: absolute;
    top: 7px;
    right: 5px;
  }

  .field-review-popover {
    background: var(--sheet);
    border: 1px solid var(--line-dark);
    box-shadow: var(--shadow);
    color: var(--ink);
    z-index: 1000;
    border-radius: 0;
    width: min(320px, 100vw - 24px);
    max-height: calc(100vh - 24px);
    padding: 12px;
    position: fixed;
    overflow: auto;
  }

  .field-review-popover.is-above {
    transform: translateY(-100%);
  }

  .field-review-popover > strong {
    color: var(--ink);
    font-size: 12px;
    line-height: 1.35;
    display: block;
  }

  .field-review-popover ul {
    gap: 7px;
    margin: 8px 0;
    padding: 0;
    list-style: none;
    display: grid;
  }

  .field-review-popover li {
    border-left: 2px solid var(--red);
    padding-left: 7px;
  }

  .field-review-popover li span {
    color: var(--ink);
    font-size: 12px;
    line-height: 1.4;
    display: block;
  }

  .field-review-popover li small, .field-review-source {
    color: var(--muted);
    font: 400 12px/1.45 var(--font-mono);
    overflow-wrap: anywhere;
    margin-top: 3px;
    display: block;
  }

  .field-review-popover button {
    border: 1px solid var(--line-dark);
    color: var(--red);
    cursor: pointer;
    font: 600 12px var(--font-mono);
    background: none;
    border-radius: 0;
    margin-top: 9px;
    padding: 6px 8px;
  }

  .field-review-popover button:hover:not(:disabled), .field-review-popover button:focus-visible {
    background: var(--red-soft);
    outline: none;
  }

  .field-review-popover button:disabled {
    cursor: default;
    opacity: .45;
  }

  .field-popover-actions {
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: 7px;
    margin-top: 10px;
    display: flex;
  }

  .field-popover-actions a {
    color: var(--teal);
    font: 600 12px var(--font-mono);
    text-transform: uppercase;
    flex: 1 0 100%;
    text-decoration: none;
  }

  .page-group {
    border: 0;
    margin: 24px 0;
    padding: 0;
  }

  .page-tone-0, .page-tone-1, .page-tone-2, .page-tone-3 {
    --page-accent: var(--ink);
    --page-soft: var(--subtle);
  }

  .page-group-heading {
    border-bottom: 1px solid var(--ink);
    background: none;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
    margin-bottom: 12px;
    padding: 0 0 10px;
    display: flex;
  }

  .page-group-heading span {
    color: var(--muted);
    font: 600 12px var(--font-mono);
    text-transform: uppercase;
    display: block;
  }

  .page-group-heading strong {
    color: var(--ink);
    font: 600 18px var(--font-display), Georgia, serif;
  }

  .section-block {
    border: 0;
    margin-bottom: 24px;
    position: relative;
  }

  .section-block-heading {
    background: var(--subtle);
    align-items: center;
    padding: 10px 12px;
    display: flex;
  }

  .section-block-heading strong, .section-block-heading span {
    display: block;
  }

  .section-block-heading strong {
    font-size: 12px;
  }

  .section-block-heading span {
    color: var(--muted);
    font: 400 12px var(--font-mono);
    margin-top: 2px;
  }

  .section-name-fields {
    flex: 1;
    grid-template-columns: minmax(180px, 1fr) minmax(150px, .8fr);
    gap: 8px;
    margin-right: 12px;
    display: grid;
  }

  .section-name-fields label > span {
    color: var(--muted);
    font: 500 12px var(--font-mono);
    text-transform: uppercase;
    margin-bottom: 3px;
    display: block;
  }

  .section-name-fields .field-display {
    background: none;
    min-height: 27px;
    padding: 5px 7px;
    font-size: 12px;
  }

  .extract-table-wrap {
    overflow-x: auto;
  }

  .extract-table {
    border-collapse: collapse;
    table-layout: fixed;
    width: 100%;
    min-width: 610px;
  }

  .extract-table th {
    color: var(--muted);
    font: 400 12px var(--font-mono);
    text-align: left;
    text-transform: uppercase;
    padding: 10px 3px;
  }

  .extract-table th:first-child {
    width: 25%;
  }

  .extract-table th:nth-child(2) {
    width: 9%;
  }

  .extract-table th:nth-child(n+3):nth-child(-n+7) {
    text-align: right;
    width: 12.5%;
  }

  .extract-table th:nth-child(8) {
    width: 3.5%;
  }

  .extract-table th:nth-child(n+3):nth-child(-n+7) {
    text-align: right;
  }

  .extract-table td {
    border-top: 1px solid var(--line);
    vertical-align: baseline;
    padding: 10px 3px;
    font-size: 12px;
  }

  .extract-table .field-input {
    width: 100%;
    min-width: 0;
  }

  .extract-table td:nth-child(n+3):nth-child(-n+7) .field-input {
    margin-left: auto;
  }

  .extract-table .field-display {
    font: 400 12px var(--font-mono);
    min-height: 25px;
    padding: 3px 0;
  }

  .extract-table .description-cell .field-input {
    width: 100%;
    min-width: 0;
  }

  .icon-button {
    color: var(--muted);
    cursor: pointer;
    background: none;
    border: 0;
    font-size: 17px;
    line-height: 1;
  }

  .computed-totals-row {
    border-top: 1px solid var(--ink);
    background: none;
  }

  .computed-totals-row td:first-child small {
    color: var(--muted);
    font: 500 12px var(--font-mono);
    text-transform: uppercase;
    margin-top: 2px;
    display: block;
  }

  .computed-total-cell {
    text-align: right;
  }

  .computed-total-cell strong {
    font: 650 12px var(--font-mono);
    display: block;
  }

  .checksum-row {
    background: var(--subtle);
  }

  .checksum-row > td:first-child {
    color: var(--muted);
    font: 600 12px var(--font-mono);
    text-transform: uppercase;
  }

  .checksum-cell {
    text-align: right;
  }

  .checksum-cell span {
    font: 600 12px var(--font-mono);
    text-transform: uppercase;
    display: block;
  }

  .checksum-cell.checksum-pass span {
    color: var(--ink);
  }

  .checksum-cell.checksum-fail {
    box-shadow: var(--shadow);
    color: var(--red);
    background: none;
  }

  .ocr-totals-row {
    background: var(--subtle);
  }

  .section-footer {
    border-top: 1px solid var(--line);
    padding: 7px 10px;
  }

  .text-button {
    color: var(--teal);
    cursor: pointer;
    font: 600 12px var(--font-mono);
    background: none;
    border: 0;
    padding: 3px;
  }

  .add-section-button {
    margin-top: 2px;
  }

  .generic-review-banner {
    background: var(--subtle);
    border: 1px solid var(--subtle);
    border-radius: 0;
    justify-content: space-between;
    align-items: center;
    gap: 25px;
    margin-bottom: 18px;
    padding: 15px 18px;
    display: flex;
  }

  .generic-review-banner strong {
    font-size: 13px;
    display: block;
  }

  .generic-review-banner p, .results-unavailable p {
    color: var(--muted);
    margin: 4px 0 0;
    font-size: 12px;
    line-height: 1.5;
  }

  .generic-review-banner > span {
    background: var(--subtle);
    font: 600 12px var(--font-mono);
    text-transform: uppercase;
    border-radius: 0;
    flex: none;
    padding: 5px 8px;
  }

  .results-unavailable {
    margin-top: 30px;
    padding: 24px;
  }

  .results-unavailable h2 {
    margin: 2px 0 0;
  }

  .row-low-confidence {
    background: var(--subtle);
  }

  .discipline-tag, .page-tag {
    font: 500 12px var(--font-mono);
    border-radius: 0;
    padding: 3px 5px;
    display: inline-flex;
  }

  .discipline-tag {
    background: var(--teal-soft);
    color: var(--teal-dark);
  }

  .page-tag {
    background: var(--subtle);
    color: var(--muted);
  }

  .utilization-section {
    border: 0;
    margin: 0;
    padding: 0;
  }

  .utilization-intro {
    color: var(--muted);
    max-width: 820px;
    margin: 8px 0 0;
    font-size: 13px;
    line-height: 1.55;
  }

  .utilization-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    display: grid;
  }

  .utilization-category {
    padding: 18px;
    overflow: hidden;
  }

  .utilization-category-heading {
    background: var(--subtle);
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 12px 16px;
    padding: 14px 16px;
    display: flex;
  }

  .utilization-category-heading h3 {
    margin: 0;
    font-size: 16px;
  }

  .utilization-category-summary {
    align-items: center;
    gap: 18px;
    margin-left: auto;
    display: flex;
  }

  .utilization-category-summary div {
    align-items: baseline;
    gap: 8px;
    display: flex;
  }

  .utilization-category-heading span {
    color: var(--muted);
    font: 500 12px var(--font-mono);
    text-transform: uppercase;
  }

  .utilization-category-heading strong {
    font: 650 18px var(--font-mono);
  }

  .utilization-table {
    table-layout: fixed;
  }

  .utilization-table th:first-child {
    width: 22%;
  }

  .utilization-table th:not(:first-child), .utilization-table td:not(:first-child) {
    text-align: right;
  }

  .utilization-total-panel {
    margin-top: 12px;
    padding: 18px;
  }

  .utilization-total-table {
    table-layout: fixed;
  }

  .utilization-total-table th:not(:first-child), .utilization-total-table td:not(:first-child) {
    text-align: right;
  }

  .utilization-note {
    color: var(--muted);
    margin: 12px 0 0;
    font-size: 12px;
    line-height: 1.5;
  }

  .staffing-formula-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    display: grid;
  }

  .staffing-formula-grid > div {
    background: var(--subtle);
    border-left: 3px solid var(--teal);
    border-radius: 0;
    padding: 13px 14px;
  }

  .staffing-formula-grid span {
    color: var(--teal-dark);
    font: 650 12px var(--font-mono);
    text-transform: uppercase;
    display: block;
  }

  .staffing-formula-grid strong {
    font: 650 13px/1.4 var(--font-mono);
    margin-top: 7px;
    display: block;
  }

  .staffing-formula-grid small {
    color: var(--muted);
    margin-top: 5px;
    font-size: 12px;
    line-height: 1.45;
    display: block;
  }

  .staffing-method-dialog {
    max-width: 850px;
    padding: 28px;
  }

  .staffing-method-heading {
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 22px;
    display: flex;
  }

  .staffing-method-heading h2 {
    margin: 0;
  }

  .staffing-method-heading button {
    border: 1px solid var(--line-dark);
    color: var(--muted);
    cursor: pointer;
    background: none;
    border-radius: 0;
    justify-content: center;
    align-items: center;
    width: 32px;
    height: 32px;
    font-size: 20px;
    line-height: 1;
    display: flex;
  }

  .staffing-method-heading button:hover, .staffing-method-heading button:focus-visible {
    border-color: var(--teal);
    color: var(--teal);
    outline: none;
  }

  .staffing-allocation-rules {
    margin-top: 22px;
  }

  .staffing-allocation-rules h3 {
    margin: 0 0 9px;
    font-size: 16px;
  }

  .staffing-allocation-rules ul {
    gap: 7px;
    margin: 0;
    padding-left: 20px;
    display: grid;
  }

  .staffing-allocation-rules li {
    color: var(--muted);
    font-size: 12px;
    line-height: 1.5;
  }

  .staffing-allocation-rules li strong {
    color: var(--ink);
  }

  .results-section {
    border-top: 1px solid var(--line-dark);
    margin-top: 38px;
    padding-top: 38px;
  }

  .result-grid {
    grid-template-columns: repeat(7, 1fr);
    gap: 10px;
    display: grid;
  }

  .result-card {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 0;
    min-height: 118px;
    padding: 15px;
  }

  .result-card span {
    color: var(--muted);
    font-size: 12px;
    line-height: 1.3;
    display: block;
  }

  .result-card strong {
    font: 500 clamp(17px, 1.6vw, 25px) var(--font-mono);
    letter-spacing: -.04em;
    margin-top: 25px;
    display: block;
  }

  .result-accent {
    background: var(--surface);
    border-color: var(--ink);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .result-accent {
      border-color: color-mix(in srgb, var(--ink) 16%, transparent);
    }
  }

  .result-accent {
    color: var(--ink);
  }

  .result-accent span {
    color: var(--muted);
  }

  .result-accent strong {
    color: var(--teal);
  }

  .result-detail-grid {
    grid-template-columns: 1.1fr .9fr;
    gap: 12px;
    margin-top: 12px;
    display: grid;
  }

  .result-detail-grid > .panel {
    padding: 18px;
  }

  .compact-table {
    border-collapse: collapse;
    width: 100%;
  }

  .compact-table th {
    color: var(--muted);
    font: 500 12px var(--font-mono);
    text-align: right;
    text-transform: uppercase;
    padding: 7px 5px;
  }

  .compact-table th:first-child, .compact-table td:first-child {
    text-align: left;
  }

  .compact-table td {
    border-top: 1px solid var(--line);
    font: 400 12px var(--font-mono);
    text-align: right;
    padding: 9px 5px;
  }

  .variance-numbers {
    grid-template-columns: repeat(3, 1fr);
    gap: 7px;
    display: grid;
  }

  .variance-numbers div {
    background: var(--subtle);
    border-radius: 0;
    padding: 10px;
  }

  .variance-numbers span {
    color: var(--muted);
    font-size: 12px;
    display: block;
  }

  .variance-numbers strong {
    font: 500 17px var(--font-mono);
    margin-top: 7px;
    display: block;
  }

  .variance-numbers .variance-alert {
    background: var(--amber-soft);
    color: var(--amber);
  }

  .variance-panel p {
    color: var(--muted);
    margin: 12px 0 0;
    font-size: 12px;
    line-height: 1.5;
  }

  .version-line {
    margin: 12px 2px 0;
  }

  .final-analysis-section {
    border: 0;
    margin: 0;
    padding: 0;
  }

  .final-analysis-intro {
    color: var(--muted);
    margin: 8px 0 0;
    font-size: 13px;
    line-height: 1.5;
  }

  .final-metric-grid {
    border-bottom: 1px solid var(--line);
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0 0 28px;
    display: grid;
  }

  .final-metric-card {
    border: 0;
    border-right: 1px dotted var(--divider);
    background: none;
    flex-direction: column;
    padding: 20px;
    display: flex;
  }

  .final-metric-card span {
    color: var(--muted);
    font-size: 12px;
    line-height: 1.35;
  }

  .final-metric-card strong {
    font: 500 26px var(--font-mono);
    letter-spacing: -.03em;
    margin-top: 12px;
  }

  .analysis-chart-grid {
    grid-template-columns: 1.15fr .85fr;
    gap: 36px;
    margin-top: 24px;
    display: grid;
  }

  .analysis-chart-card {
    border: 0;
    padding: 0;
  }

  .analysis-chart-card .panel-heading {
    align-items: flex-start;
  }

  .analysis-chart-card h3 {
    margin: 0;
  }

  .analysis-chart-card small {
    color: var(--muted);
    margin-top: 4px;
    font-size: 12px;
    display: block;
  }

  .comparison-bars {
    gap: 20px;
    margin-top: 24px;
    display: grid;
  }

  .comparison-bar-row > div:first-child {
    justify-content: space-between;
    align-items: baseline;
    display: flex;
  }

  .comparison-bar-row span {
    color: var(--muted);
    font-size: 12px;
  }

  .comparison-bar-row strong {
    font: 600 13px var(--font-mono);
  }

  .comparison-bar-track, .fte-bar-track {
    background: var(--well);
    overflow: hidden;
  }

  .comparison-bar-track {
    height: 14px;
    margin-top: 8px;
    display: flex;
  }

  .comparison-bar {
    border-radius: 0;
    min-width: 2px;
    height: 100%;
    display: block;
  }

  .comparison-bar-invoice {
    background: var(--ink);
  }

  .comparison-bar-labor {
    background: var(--red);
  }

  .comparison-bar-savings {
    border: 1px solid var(--green);
    background: repeating-linear-gradient(45deg, #c9e3d5 0 4px, #edf6f1 4px 8px);
  }

  .comparison-meter {
    padding-top: 22px;
    position: relative;
  }

  .comparison-meter.has-savings {
    padding-bottom: 22px;
  }

  .comparison-meter .comparison-bar-track {
    margin-top: 0;
  }

  .comparison-in-house-amount, .comparison-savings-amount {
    text-align: right;
    white-space: nowrap;
    position: absolute;
    transform: translateX(-100%);
  }

  .comparison-in-house-amount {
    color: var(--ink);
    font: 600 12px var(--font-mono);
    top: 0;
  }

  .comparison-bar-row .comparison-savings-amount {
    color: var(--green);
    font: 600 12px var(--font-mono);
    bottom: 0;
  }

  .analysis-positive, .analysis-negative {
    border-top: 1px solid var(--line);
    margin: 22px 0 0;
    padding-top: 14px;
    font-size: 12px;
  }

  .analysis-positive {
    color: var(--teal);
  }

  .analysis-negative {
    color: var(--red);
  }

  .fte-bars {
    gap: 12px;
    margin-top: 22px;
    display: grid;
  }

  .fte-bar-row {
    grid-template-columns: 48px minmax(0, 1fr) 42px;
    align-items: center;
    gap: 10px;
    display: grid;
  }

  .fte-bar-row strong {
    font: 600 12px var(--font-mono);
    text-align: right;
  }

  .fte-bar-track {
    height: 9px;
  }

  .fte-bar-track i {
    background: var(--ink);
    min-width: 2px;
    height: 100%;
    display: block;
  }

  .final-detail-grid {
    grid-template-columns: 1.35fr .65fr;
  }

  .final-staffing-panel {
    overflow-x: auto;
  }

  .final-staffing-table tfoot th, .final-staffing-table tfoot td {
    background: var(--subtle);
    border-top: 1px solid var(--ink);
    font-weight: 700;
  }

  .review-reconciliation-panel {
    margin-top: 30px;
    padding: 24px;
  }

  .review-reconciliation-panel .panel-heading {
    align-items: flex-start;
  }

  .review-reconciliation-panel h3 {
    margin: 0;
    font-size: 21px;
  }

  .review-reconciliation-panel .eyebrow {
    margin-bottom: 7px;
  }

  .final-report-actions {
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    display: flex;
  }

  .final-report-actions .secondary-button {
    justify-content: center;
    align-items: center;
    display: inline-flex;
  }

  .report-download-actions {
    border-top: 1px solid var(--line-dark);
    margin-top: 24px;
    padding-top: 20px;
  }

  .approval-panel {
    border: 0;
    border-top: 1px solid var(--line-dark);
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    margin-top: 28px;
    padding: 24px 0;
    display: flex;
  }

  .approval-panel h2 {
    letter-spacing: -.03em;
    margin: 0;
    font-size: 21px;
  }

  .approval-panel p {
    color: var(--muted);
    max-width: 760px;
    margin: 8px 0 0;
    font-size: 12px;
    line-height: 1.6;
  }

  .approval-controls {
    flex: 0 320px;
    grid-template-columns: 1fr;
    gap: 8px;
    display: grid;
  }

  .review-accept-button {
    width: auto;
    padding-left: 12px;
    padding-right: 12px;
  }

  .review-accept-button:disabled {
    background: var(--subtle);
    border-color: var(--line-dark);
    color: var(--muted);
    opacity: 1;
  }

  .approval-controls small {
    color: var(--amber);
    grid-column: 1 / -1;
    font-size: 12px;
  }

  .approve-button {
    background: var(--ink);
    color: var(--surface);
    white-space: nowrap;
  }

  .approve-button:hover:not(:disabled) {
    background: var(--teal-dark);
  }

  .staffing-cost-worksheet {
    border: 0;
    margin: 0;
    padding: 0;
  }

  .staffing-cost-heading {
    align-items: flex-end;
    gap: 24px;
  }

  .staffing-cost-heading > div {
    max-width: 930px;
  }

  .staffing-cost-heading p:not(.eyebrow) {
    color: var(--muted);
    margin: 8px 0 0;
    font-size: 12px;
    line-height: 1.6;
  }

  .staffing-cost-heading .secondary-button {
    flex: none;
  }

  .staffing-undo-area {
    margin-top: 10px;
  }

  .staffing-undo-button {
    background: var(--surface);
    border: 1px solid var(--line-dark);
    color: var(--ink);
    cursor: pointer;
    font: 600 11px/1.3 var(--font-mono);
    text-align: left;
    padding: 8px 10px;
  }

  .staffing-undo-button > span {
    color: var(--green);
    font-size: 15px;
  }

  .staffing-undo-button small {
    color: var(--muted);
    font: 400 10px/1.3 var(--font-mono);
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 150px;
    margin-top: 2px;
    display: block;
    overflow: hidden;
  }

  .staffing-undo-button:hover, .staffing-undo-button:focus-visible {
    border-color: var(--green);
    outline: 2px solid var(--green);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .staffing-undo-button:hover, .staffing-undo-button:focus-visible {
      outline: 2px solid color-mix(in srgb, var(--green) 20%, transparent);
    }
  }

  .staffing-undo-button:hover, .staffing-undo-button:focus-visible {
    outline-offset: 2px;
  }

  .current-cost-metrics {
    margin-bottom: 28px;
  }

  .utilization-summary-block {
    margin-bottom: 34px;
  }

  .utilization-summary-note {
    color: var(--muted);
    margin: 10px 2px 0;
    font-size: 12px;
    line-height: 1.5;
  }

  .utilization-percentage {
    color: var(--provenance);
    font: 400 10px/1.2 var(--font-mono);
    margin-top: 3px;
    display: block;
  }

  .utilization-report-heading {
    justify-content: space-between;
    align-items: flex-end;
    gap: 32px;
    margin-bottom: 18px;
    display: flex;
  }

  .utilization-report-heading h2 {
    margin: 3px 0 0;
    font-size: 21px;
  }

  .utilization-report-metadata {
    flex: 0 420px;
    margin: 0;
  }

  .utilization-report-metadata > div {
    grid-template-columns: 110px minmax(0, 1fr);
    gap: 16px;
    display: grid;
  }

  .utilization-report-metadata dt, .utilization-report-metadata dd {
    font: 500 12px/1.6 var(--font-mono);
    margin: 0;
  }

  .utilization-report-metadata dt {
    text-align: right;
  }

  .utilization-report-metadata dd {
    font-weight: 400;
  }

  .utilization-detail-stack {
    gap: 8px;
    display: grid;
  }

  .utilization-detail-table-wrap {
    overflow-x: auto;
  }

  .utilization-detail-table {
    border-collapse: collapse;
    table-layout: fixed;
    width: 100%;
    min-width: 780px;
  }

  .utilization-detail-table th, .utilization-detail-table td {
    border: 1px solid var(--line-dark);
    font: 400 12px/1.25 var(--font-mono);
    text-align: right;
    vertical-align: middle;
    padding: 4px 7px;
  }

  .utilization-detail-table thead th {
    color: var(--ink);
    background: #cfcdce;
    font-weight: 500;
  }

  .utilization-detail-table th:first-child {
    text-align: left;
    width: 30%;
  }

  .utilization-detail-table thead th:nth-child(2) {
    width: 14%;
  }

  .utilization-detail-table thead th:nth-child(3) {
    width: 20%;
  }

  .utilization-detail-table thead th:nth-child(4) {
    width: 15%;
  }

  .utilization-detail-table thead th:nth-child(5) {
    width: 10%;
  }

  .utilization-detail-table thead th:nth-child(6) {
    width: 11%;
  }

  .utilization-detail-total th, .utilization-detail-total td {
    border-bottom-width: 2px;
    font-weight: 700;
  }

  .utilization-all-payers {
    max-width: 680px;
    margin-top: 18px;
    overflow-x: auto;
  }

  .utilization-all-payers-table {
    min-width: 560px;
  }

  .utilization-all-payers-table th:first-child {
    width: 20%;
  }

  .utilization-all-payers-table thead th:nth-child(2) {
    width: 30%;
  }

  .utilization-all-payers-table thead th:nth-child(3) {
    width: 28%;
  }

  .utilization-all-payers-table thead th:nth-child(4) {
    width: 22%;
  }

  .utilization-report-notes {
    color: var(--muted);
    text-align: center;
    max-width: 820px;
    margin: 22px auto 0;
    font-size: 11px;
    line-height: 1.45;
  }

  .utilization-report-notes p {
    margin: 2px 0;
  }

  .staffing-variance-content {
    max-width: 1000px;
  }

  .staffing-variance-panel {
    border-color: var(--line-dark);
    box-shadow: var(--shadow);
    margin-top: 12px;
    padding: 26px;
  }

  .staffing-summary-strip {
    border-bottom: 1px solid var(--line-dark);
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding-bottom: 22px;
    display: grid;
  }

  .staffing-summary-metric {
    border-left: 1px dotted var(--divider);
    padding: 0 14px;
  }

  .staffing-summary-metric:first-child {
    border-left: 0;
    padding-left: 0;
  }

  .staffing-summary-metric:last-child {
    padding-right: 0;
  }

  .staffing-summary-metric small {
    color: var(--muted);
    font: 400 11px/normal var(--font-mono);
    letter-spacing: .1em;
    text-transform: uppercase;
    display: block;
  }

  .staffing-summary-metric strong {
    font: 500 22px/1.1 var(--font-mono);
    letter-spacing: -.03em;
    text-align: left;
    white-space: nowrap;
    margin-top: 10px;
    display: block;
  }

  .staffing-summary-metric.is-over strong {
    color: var(--red);
  }

  .staffing-summary-metric strong.is-source {
    color: var(--ink);
  }

  .staffing-summary-metric strong.is-saving, .staffing-summary-metric.is-saving strong {
    color: var(--green);
  }

  .staffing-summary-metric .staffing-inline-rate {
    letter-spacing: -.02em;
    font-size: 15px;
  }

  .staffing-fte-warning {
    background: var(--teal-soft);
    border-left: 3px solid var(--teal);
    color: var(--teal-dark);
    margin-top: 16px;
    padding: 11px 13px;
  }

  .staffing-fte-warning > strong {
    font: 600 12px/1.4 var(--font-sans);
    display: block;
  }

  .staffing-fte-warning > div {
    flex-wrap: wrap;
    gap: 4px 18px;
    margin-top: 4px;
    display: flex;
  }

  .staffing-fte-warning span {
    font: 400 11px/1.5 var(--font-mono);
  }

  .staffing-column-chips {
    border-bottom: 1px solid var(--line);
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding: 16px 0;
    display: flex;
  }

  .staffing-column-chips > span {
    color: var(--muted);
    font: 400 11px var(--font-mono);
    letter-spacing: .1em;
    text-transform: uppercase;
  }

  .staffing-column-chips button {
    border: 1px solid var(--line-dark);
    color: var(--muted);
    cursor: pointer;
    font: 400 11px var(--font-mono);
    letter-spacing: .06em;
    text-transform: uppercase;
    background: none;
    border-radius: 0;
    padding: 5px 8px;
  }

  .staffing-column-chips button.is-visible {
    background: var(--ink);
    color: var(--surface);
  }

  .staffing-column-chips button:focus-visible {
    border-color: var(--teal);
    outline: 2px solid var(--teal);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .staffing-column-chips button:focus-visible {
      outline: 2px solid color-mix(in srgb, var(--teal) 20%, transparent);
    }
  }

  .staffing-column-chips button:focus-visible {
    outline-offset: 2px;
  }

  .staffing-discipline-block {
    border-bottom: 1px solid var(--line);
    padding: 22px 0;
  }

  .staffing-discipline-heading {
    justify-content: space-between;
    align-items: baseline;
    gap: 20px;
    display: flex;
  }

  .staffing-discipline-heading > div {
    flex: 1;
    grid-template-columns: 88px minmax(0, 1fr);
    align-items: baseline;
    gap: 12px;
    min-width: 0;
    display: grid;
  }

  .staffing-discipline-heading > div > strong {
    color: var(--ink);
    font: 600 16px var(--font-mono);
    letter-spacing: .06em;
  }

  .staffing-discipline-heading span {
    color: var(--ink);
    font: 600 12px var(--font-mono);
  }

  .staffing-discipline-heading > strong {
    color: var(--teal-dark);
    font: 500 15px var(--font-mono);
    white-space: nowrap;
  }

  .staffing-discipline-heading > strong.is-saving {
    color: var(--green);
  }

  .staffing-discipline-heading > strong.is-over {
    color: var(--red);
  }

  .staffing-variance-meter {
    grid-template-columns: 88px minmax(0, 1fr) 120px;
    align-items: center;
    gap: 12px;
    width: 100%;
    margin-top: 14px;
    display: grid;
  }

  .staffing-variance-meter > span:nth-of-type(odd) {
    color: var(--muted);
    font: 400 11px var(--font-mono);
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .staffing-variance-meter > span:nth-of-type(2n) {
    font: 400 13px var(--font-mono);
    text-align: right;
  }

  .staffing-variance-meter > span:last-child {
    font-weight: 500;
  }

  .staffing-variance-meter > span.is-over {
    color: var(--red);
  }

  .staffing-variance-meter > span.is-source {
    color: var(--ink);
  }

  .staffing-variance-meter > span.is-saving {
    color: var(--green);
  }

  .staffing-meter-track {
    background: var(--well);
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    height: 16px;
  }

  .staffing-meter-track i {
    height: 100%;
    display: block;
  }

  .staffing-meter-track i.is-billed {
    background: var(--ink);
  }

  .staffing-meter-track i.is-modeled {
    background: var(--red);
  }

  .staffing-meter-track i.is-modeled.is-saving {
    background: var(--green);
  }

  .staffing-line-items-wrap {
    overflow-x: auto;
  }

  .staffing-line-items {
    border-collapse: collapse;
    table-layout: fixed;
    width: 100%;
    min-width: 720px;
    margin-top: 16px;
  }

  .staffing-line-items .staffing-gutter-column {
    width: 26px;
  }

  .staffing-line-items .staffing-service-column-width {
    width: 150px;
  }

  .staffing-line-items .staffing-fte-column {
    width: 70px;
  }

  .staffing-line-items .staffing-hours-column {
    width: 82px;
  }

  .staffing-line-items .staffing-rate-column {
    width: 90px;
  }

  .staffing-line-items .staffing-money-column {
    width: 126px;
  }

  .staffing-line-items .staffing-benefit-column {
    width: 88px;
  }

  .staffing-line-items .staffing-loaded-column {
    width: 136px;
  }

  .staffing-line-items th {
    color: var(--muted);
    font: 400 11px/1.25 var(--font-mono);
    letter-spacing: .08em;
    text-align: right;
    text-transform: uppercase;
    white-space: nowrap;
    padding: 8px;
  }

  .staffing-line-items th.staffing-service-column {
    text-align: left;
    padding-left: 0;
  }

  .staffing-line-items td {
    border-top: 1px solid var(--line);
    font: 400 13px var(--font-mono);
    text-align: right;
    white-space: nowrap;
    padding: 8px;
  }

  .staffing-line-items .staffing-service-cell {
    text-align: left;
    padding-left: 0;
  }

  .staffing-service-cell label {
    display: block;
  }

  .staffing-service-cell input {
    background: var(--sheet);
    border: 1px solid var(--teal);
    box-sizing: border-box;
    color: var(--ink);
    font: 400 13px var(--font-mono);
    outline: none;
    width: 100%;
    padding: 4px 6px;
  }

  .staffing-cell-input {
    appearance: textfield;
    background: var(--sheet);
    border: 1px solid var(--teal);
    box-sizing: border-box;
    color: var(--ink);
    font: 400 13px var(--font-mono);
    text-align: right;
    outline: none;
    width: 100%;
    min-width: 0;
    padding: 4px 6px;
  }

  .staffing-cell-input::-webkit-inner-spin-button {
    appearance: none;
    margin: 0;
  }

  .staffing-cell-input::-webkit-outer-spin-button {
    appearance: none;
    margin: 0;
  }

  .staffing-service-cell input:focus, .staffing-cell-input:focus {
    border-color: var(--teal);
    box-shadow: 0 0 0 2px var(--teal-soft);
  }

  .staffing-cell-input[aria-invalid="true"] {
    background: var(--red-soft);
    border-color: var(--red);
  }

  .staffing-affixed-input {
    justify-content: flex-end;
    align-items: baseline;
    gap: 5px;
    display: flex;
  }

  .staffing-affixed-input .staffing-cell-input {
    flex: 1;
    width: 0;
  }

  .staffing-affixed-input.is-rate .staffing-cell-input {
    flex: 0 0 calc(6ch + 14px);
    width: calc(6ch + 14px);
  }

  .staffing-affixed-input.is-benefit .staffing-cell-input {
    flex: 0 0 calc(2ch + 14px);
    width: calc(2ch + 14px);
  }

  .staffing-affixed-input span {
    color: var(--muted);
    font: 400 13px var(--font-mono);
  }

  .staffing-row-gutter {
    text-align: center !important;
    padding: 0 !important;
  }

  .staffing-gutter-button {
    border: 1px solid var(--line-dark);
    cursor: pointer;
    font: 400 12px/1 var(--font-mono);
    background: none;
    border-radius: 0;
    width: 22px;
    height: 22px;
    padding: 0;
  }

  .staffing-gutter-button.is-delete {
    color: var(--teal);
  }

  .staffing-gutter-button.is-delete:hover, .staffing-gutter-button.is-delete:focus-visible {
    border-color: var(--teal);
  }

  .staffing-loaded-cell {
    font-weight: 500 !important;
  }

  .staffing-line-item-subtotal td {
    border-top: 1px solid var(--ink);
    padding: 10px 8px;
    font-weight: 500;
  }

  .staffing-line-item-subtotal td:first-child {
    color: var(--ink);
    font: 500 11px var(--font-mono);
    letter-spacing: .08em;
    text-align: left;
    text-transform: uppercase;
    padding-left: 8px;
  }

  .staffing-add-service {
    background: var(--green);
    border: 1px solid var(--green);
    color: var(--surface);
    cursor: pointer;
    font: 500 11px var(--font-mono);
    letter-spacing: .08em;
    text-transform: uppercase;
    border-radius: 0;
    margin-top: 12px;
    padding: 7px 11px;
  }

  .staffing-add-service:hover, .staffing-add-service:focus-visible {
    background: var(--green);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .staffing-add-service:hover, .staffing-add-service:focus-visible {
      background: color-mix(in srgb, var(--green) 88%, var(--ink));
    }
  }

  .staffing-add-service:hover, .staffing-add-service:focus-visible {
    border-color: var(--green);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .staffing-add-service:hover, .staffing-add-service:focus-visible {
      border-color: color-mix(in srgb, var(--green) 88%, var(--ink));
    }
  }

  .staffing-add-service:hover, .staffing-add-service:focus-visible {
    color: var(--surface);
  }

  .staffing-add-service:focus-visible {
    outline: 2px solid var(--green);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .staffing-add-service:focus-visible {
      outline: 2px solid color-mix(in srgb, var(--green) 28%, transparent);
    }
  }

  .staffing-add-service:focus-visible {
    outline-offset: 2px;
  }

  .staffing-gutter-button:focus-visible {
    outline: 2px solid var(--teal);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .staffing-gutter-button:focus-visible {
      outline: 2px solid color-mix(in srgb, var(--teal) 20%, transparent);
    }
  }

  .staffing-gutter-button:focus-visible {
    outline-offset: 2px;
  }

  @media (max-width: 760px) {
    .staffing-variance-panel {
      padding: 18px;
    }

    .staffing-summary-strip {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      row-gap: 20px;
    }

    .staffing-summary-metric:nth-child(3) {
      border-left: 0;
      padding-left: 0;
    }

    .staffing-summary-metric strong {
      font-size: 21px;
    }

    .staffing-discipline-heading, .staffing-discipline-heading > div {
      flex-direction: column;
      align-items: flex-start;
      gap: 6px;
    }

    .staffing-discipline-heading > div {
      grid-template-columns: 70px minmax(0, 1fr);
      width: 100%;
    }

    .staffing-variance-meter {
      grid-template-columns: 70px minmax(0, 1fr) 92px;
      gap: 8px;
    }
  }

  @media (max-width: 480px) {
    .staffing-summary-strip {
      grid-template-columns: 1fr;
    }

    .staffing-summary-metric, .staffing-summary-metric:nth-child(3) {
      border-left: 0;
      border-top: 1px dotted var(--divider);
      padding: 16px 0 0;
    }

    .staffing-summary-metric:first-child {
      border-top: 0;
      padding-top: 0;
    }
  }

  @media print {
    @page {
      margin: .55in;
      size: letter portrait;
    }

    html, body {
      background: var(--sheet) !important;
    }

    .site-header, .workspace-topbar, .workflow-tabs, .final-report-actions {
      display: none !important;
    }

    .invoice-shell {
      max-width: none;
      margin: 0;
      padding: 0;
    }

    .final-analysis-section {
      margin: 0;
    }

    .final-metric-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .analysis-chart-grid {
      break-inside: avoid;
    }

    .final-detail-grid {
      break-before: page;
      grid-template-columns: 1fr;
    }

    .panel, .final-metric-card {
      box-shadow: var(--shadow);
    }

    .version-line {
      break-before: avoid;
    }

    .staffing-cost-worksheet {
      break-before: page;
    }

    .staffing-cost-heading .secondary-button {
      display: none;
    }
  }

  .auth-shell, .admin-shell {
    max-width: var(--page-max-width);
    margin: 0 auto;
    padding: 72px 32px;
  }

  .auth-card {
    background: var(--surface);
    border: 1px solid var(--line-dark);
    box-shadow: var(--shadow);
    max-width: 520px;
    margin: 0 auto;
    padding: 44px;
  }

  .auth-card h1, .admin-shell h1 {
    letter-spacing: -.04em;
    margin: 8px 0 16px;
    font-size: clamp(32px, 5vw, 52px);
    line-height: 1.05;
  }

  .auth-card > p:not(.eyebrow), .admin-grid section > p:not(.eyebrow) {
    color: var(--muted);
    line-height: 1.7;
  }

  .auth-card form, .user-form {
    gap: 18px;
    margin-top: 30px;
    display: grid;
  }

  .auth-card label, .user-form label {
    color: var(--muted);
    font: 500 12px var(--font-mono);
    letter-spacing: .06em;
    text-transform: uppercase;
    gap: 6px;
    display: grid;
  }

  .auth-card input, .user-form input {
    background: var(--sheet);
    border: 1px solid var(--line-dark);
    color: var(--ink);
    font: 400 15px var(--font-sans);
    text-transform: none;
    padding: 12px 14px;
  }

  .auth-card input:focus, .user-form input:focus {
    border-color: var(--teal);
    outline: 2px solid var(--teal-soft);
  }

  .auth-error {
    background: var(--red-soft);
    border-left: 3px solid var(--red);
    color: var(--teal-dark);
    margin: 0;
    padding: 10px 12px;
  }

  .profile-menu {
    color: var(--ink);
    font: 600 13px var(--font-sans);
    position: relative;
  }

  .profile-menu summary {
    cursor: pointer;
    align-items: center;
    gap: 9px;
    padding: 4px 0;
    list-style: none;
    display: flex;
  }

  .profile-menu summary::-webkit-details-marker {
    display: none;
  }

  .profile-menu summary:focus-visible {
    outline: 2px solid var(--teal);
    outline-offset: 4px;
  }

  .profile-avatar {
    background: var(--ink);
    color: var(--surface);
    letter-spacing: .02em;
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    width: 30px;
    height: 30px;
    font-size: 11px;
    display: inline-flex;
  }

  .profile-menu-chevron {
    color: var(--muted);
    font-size: 11px;
    transition: transform .12s;
  }

  .profile-menu[open] .profile-menu-chevron {
    transform: rotate(180deg);
  }

  .profile-menu nav {
    background: var(--surface);
    border: 1px solid var(--line-dark);
    z-index: 100;
    min-width: 190px;
    padding: 6px;
    display: grid;
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    box-shadow: 0 12px 30px #14191f1f;
  }

  .profile-menu nav a, .profile-menu nav button {
    color: var(--ink);
    cursor: pointer;
    font: 600 13px/1.4 var(--font-sans);
    text-align: left;
    background: none;
    border: 0;
    padding: 10px 12px;
    text-decoration: none;
  }

  .profile-menu nav a:hover, .profile-menu nav button:hover {
    background: var(--subtle);
  }

  .profile-menu nav button {
    border-top: 1px solid var(--line);
  }

  .profile-grid {
    grid-template-columns: minmax(0, 1fr) minmax(320px, .8fr);
    align-items: start;
    gap: 64px;
    display: grid;
  }

  .profile-account-details {
    border-top: 1px solid var(--line-dark);
    max-width: 420px;
    margin-top: 28px;
  }

  .profile-account-details div {
    border-bottom: 1px solid var(--line);
    grid-template-columns: 120px 1fr;
    gap: 20px;
    padding: 12px 0;
    display: grid;
  }

  .profile-account-details dt {
    color: var(--muted);
    font-size: 12px;
  }

  .profile-account-details dd {
    margin: 0;
    font-weight: 600;
  }

  .profile-saved {
    background: var(--green-soft);
    border-left: 3px solid var(--status-green);
    color: var(--status-green);
    margin: 0;
    padding: 10px 12px;
  }

  .admin-shell .back-link {
    margin-bottom: 32px;
    display: inline-block;
  }

  .admin-grid {
    grid-template-columns: minmax(0, 1fr) minmax(320px, .8fr);
    align-items: start;
    gap: 64px;
    display: grid;
  }

  .user-form {
    background: var(--surface);
    border: 1px solid var(--line-dark);
    box-shadow: var(--shadow);
    margin-top: 0;
    padding: 28px;
  }

  .user-form h2 {
    margin: 0;
    font-size: 22px;
  }

  .user-list {
    background: var(--surface);
    border: 1px solid var(--line-dark);
    margin-top: 48px;
    padding: 0 28px;
  }

  .user-list article {
    border-bottom: 1px solid var(--line);
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 20px;
    padding: 20px 0;
    display: grid;
  }

  .user-list article:last-child {
    border-bottom: 0;
  }

  .user-list strong, .user-list article > div > span {
    display: block;
  }

  .user-list article > div > span, .user-active, .user-disabled {
    color: var(--muted);
    font: 400 12px var(--font-mono);
  }

  .user-disabled {
    color: var(--teal);
  }

  .user-actions {
    gap: 12px;
    display: flex;
  }

  @media (max-width: 760px) {
    .auth-shell, .admin-shell {
      padding: 32px 12px;
    }

    .auth-card {
      padding: 28px 24px;
    }

    .admin-grid {
      grid-template-columns: 1fr;
      gap: 32px;
    }

    .user-list article {
      grid-template-columns: 1fr;
      align-items: start;
    }
  }

  @media (pointer: coarse) {
    .primary-button, .secondary-button, .approve-button, .danger-button, .text-button, .cancel-upload-button, .back-link, .workflow-tabs button {
      min-height: 44px;
    }

    .icon-button, .dialog-close-button {
      min-width: 44px;
      min-height: 44px;
    }
  }

  body {
    font-size: 14px;
    line-height: 1.7;
  }

  button:focus-visible, a:focus-visible, summary:focus-visible {
    outline: 2px solid var(--teal);
    outline-offset: 3px;
  }

  button:disabled {
    cursor: not-allowed;
    opacity: .5;
  }

  .site-header [aria-label="Preview width"], .site-header [aria-label="Preview width"] button {
    box-shadow: none;
    border-radius: 0;
  }

  .hero-copy {
    border-right: 1px dashed var(--divider);
  }

  .history-record-row.is-openable {
    cursor: pointer;
  }

  .history-record-row.is-openable:hover {
    background: var(--subtle);
  }

  .history-record-row time {
    text-align: left;
  }

  .history-uploaded {
    white-space: nowrap;
  }

  .history-actions {
    flex-wrap: wrap;
    gap: 8px;
  }

  .workflow-step-state {
    color: var(--teal);
    font: 400 12px var(--font-mono);
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-left: auto;
  }

  .field-provenance {
    color: var(--provenance);
    font: 400 12px/1.5 var(--font-mono);
    overflow-wrap: anywhere;
    margin-top: 4px;
    display: block;
  }

  .field-provenance.is-acknowledged {
    color: var(--teal-dark);
  }

  .field-input.needs-review .field-display {
    border-bottom-color: var(--teal);
    color: var(--teal);
    background: none;
  }

  .field-display:focus-visible {
    border-bottom: 1px solid var(--teal);
  }

  .extract-table .description-cell .field-display {
    font-family: var(--font-display), Georgia, serif;
    font-size: 14px;
  }

  .extract-table td:not(:first-child) .field-provenance {
    display: none;
  }

  .extraction-panel .panel-heading {
    flex-wrap: wrap;
    align-items: baseline;
    gap: 12px;
  }

  .review-control-rail .validation-panel {
    background: var(--teal-soft);
    border: 1px solid var(--discrepancy);
    margin: 0;
    padding: 14px 16px;
  }

  .review-control-rail .validation-panel:has(.pass-count) {
    background: var(--subtle);
    border-color: var(--line-dark);
  }

  .review-control-rail .panel-heading {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .review-control-rail .validation-actions {
    flex-direction: column-reverse;
    align-items: flex-start;
  }

  .review-control-rail .check-list {
    grid-template-columns: 1fr;
  }

  .review-control-rail .check-error, .review-control-rail .check-warning {
    color: var(--ink);
    background: none;
  }

  .review-control-rail .check-error small {
    color: var(--ink);
  }

  .review-footer {
    background: var(--surface);
    padding: 0 32px 24px;
  }

  .review-footer .review-reconciliation-panel {
    margin-top: 24px;
  }

  .ledger-section {
    grid-template-columns: 200px minmax(0, 1fr);
    gap: 40px;
    padding: 36px 44px;
    display: grid;
  }

  .ledger-rail h2 {
    margin: 0 0 16px;
    font-size: 22px;
    line-height: 1.2;
  }

  .ledger-rail p {
    color: var(--muted);
    font-size: 12px;
    line-height: 1.7;
  }

  .staffing-productivity-rates {
    border-bottom: 1px solid var(--line-dark);
    border-top: 1px solid var(--line-dark);
    margin: 20px 0;
    padding: 14px 0;
  }

  .staffing-productivity-rates > span {
    color: var(--muted);
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: 8px;
    font-size: 11px;
    font-weight: 700;
    display: block;
  }

  .staffing-productivity-rates dl {
    gap: 5px;
    margin: 0;
    display: grid;
  }

  .staffing-productivity-rates dl > div {
    justify-content: space-between;
    align-items: baseline;
    display: flex;
  }

  .staffing-productivity-rates dt {
    color: var(--ink);
    font-size: 14px;
    font-weight: 700;
  }

  .staffing-productivity-rates dd {
    color: var(--ink);
    font: 700 17px/1.4 var(--font-mono);
    margin: 0;
  }

  .ledger-rail .eyebrow {
    color: var(--teal);
  }

  .ledger-rail .version-line {
    color: var(--provenance);
    overflow-wrap: anywhere;
    margin-top: 24px;
    line-height: 1.9;
  }

  .ledger-rail > .secondary-button, .ledger-rail > .primary-button {
    width: 100%;
    min-height: 40px;
    margin-top: 8px;
    display: block;
  }

  .report-rail-downloads {
    gap: 8px;
    margin-top: 24px;
    display: grid;
  }

  .report-rail-downloads .secondary-button {
    text-align: center;
    justify-content: center;
    align-items: center;
    width: 100%;
    min-height: 40px;
    display: flex;
  }

  .ledger-rail .text-button {
    margin-top: 8px;
    padding-left: 0;
    display: block;
  }

  .ledger-content {
    min-width: 0;
  }

  .ledger-content .section-heading h2 {
    font-size: 20px;
  }

  .ledger-footnote {
    border-left: 2px solid var(--discrepancy);
    color: var(--muted);
    font: 400 13px/1.7 var(--font-display), Georgia, serif;
    margin: 24px 0;
    padding-left: 14px;
  }

  .ledger-matrix {
    border-collapse: collapse;
    width: 100%;
  }

  .ledger-matrix th {
    color: var(--muted);
    font: 400 12px var(--font-mono);
    letter-spacing: .08em;
    text-align: right;
    text-transform: uppercase;
    padding: 14px 8px;
  }

  .ledger-matrix th:first-child {
    text-align: left;
  }

  .ledger-matrix td {
    border-top: 1px solid var(--line);
    font: 400 12px var(--font-mono);
    text-align: right;
    padding: 14px 8px;
  }

  .ledger-matrix tbody th {
    border-top: 1px solid var(--line);
    color: var(--ink);
    font: 400 14px var(--font-display), Georgia, serif;
    letter-spacing: 0;
    text-transform: none;
  }

  .ledger-matrix tfoot th, .ledger-matrix tfoot td {
    border-top: 1px solid var(--ink);
    color: var(--ink);
    font-weight: 600;
  }

  .final-metric-card:first-child {
    padding-left: 0;
  }

  .final-metric-card:last-child {
    border-right: 0;
  }

  .final-metric-card.result-accent, .final-metric-card.result-accent span, .final-metric-card.result-accent strong {
    color: var(--green);
  }

  .analysis-chart-card h3 {
    font: 600 16px var(--font-display), Georgia, serif;
  }

  .per-hour-table {
    border-collapse: collapse;
    width: 100%;
    margin-top: 22px;
  }

  .per-hour-table caption {
    color: var(--muted);
    font: 400 12px var(--font-mono);
    text-align: left;
    text-transform: uppercase;
    padding-bottom: 6px;
  }

  .per-hour-table th, .per-hour-table td {
    border-top: 1px solid var(--line);
    padding: 10px 0;
  }

  .per-hour-table th {
    font: 400 13px var(--font-display), Georgia, serif;
    text-align: left;
  }

  .per-hour-table thead th {
    color: var(--muted);
    font: 400 12px var(--font-mono);
    text-transform: uppercase;
  }

  .per-hour-table thead th:not(:first-child), .per-hour-table td {
    text-align: right;
  }

  .per-hour-table td {
    font: 400 12px var(--font-mono);
  }

  .per-hour-table td:last-child {
    font-weight: 500;
  }

  .per-hour-table.has-savings td:last-child {
    color: var(--green);
  }

  .per-hour-table.has-overage td:last-child {
    color: var(--red);
  }

  .findings-pullquote {
    margin-top: 22px;
  }

  .result-detail-grid {
    grid-template-columns: 1fr;
    margin-top: 32px;
  }

  .compact-table td:first-child {
    font-family: var(--font-display), Georgia, serif;
    font-size: 14px;
  }

  .final-metric-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .final-metric-card:nth-child(3n) {
    border-right: 0;
  }

  .final-metric-card:nth-child(n+4) {
    border-top: 1px dotted var(--divider);
  }

  .final-metric-card:nth-child(4) {
    padding-left: 0;
  }

  .report-detail-section {
    border-top: 1px solid var(--line-dark);
    margin-top: 38px;
    padding-top: 24px;
  }

  .report-section-heading {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 420px);
    align-items: end;
    gap: 32px;
    margin-bottom: 18px;
    display: grid;
  }

  .report-section-heading .eyebrow {
    margin-bottom: 7px;
  }

  .report-section-heading h3, .report-assumptions-panel h3 {
    font: 600 18px var(--font-display), Georgia, serif;
    margin: 0;
  }

  .report-section-heading > p {
    color: var(--muted);
    margin: 0;
    font-size: 12px;
    line-height: 1.55;
  }

  .report-table-wrap {
    overflow-x: auto;
  }

  .report-comparison-table {
    min-width: 920px;
  }

  .report-utilization-table {
    min-width: 700px;
  }

  .report-comparison-table tbody th, .report-utilization-table tbody th, .final-staffing-table tbody th {
    border-top: 1px solid var(--line);
    color: var(--ink);
    font: 600 14px var(--font-display), Georgia, serif;
    text-align: left;
    padding: 10px 5px;
  }

  .report-comparison-table td small {
    margin-top: 3px;
    font-size: 10px;
    display: block;
  }

  .report-comparison-table .is-saving {
    color: var(--green);
  }

  .report-comparison-table .is-over {
    color: var(--red);
  }

  .report-comparison-table .report-adjustment-row th, .report-comparison-table .report-adjustment-row td {
    background: var(--subtle);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .report-comparison-table .report-adjustment-row th, .report-comparison-table .report-adjustment-row td {
      background: color-mix(in srgb, var(--subtle) 65%, transparent);
    }
  }

  .report-comparison-table .report-adjustment-row th, .report-comparison-table .report-adjustment-row td {
    color: var(--muted);
    font-size: 11px;
  }

  .report-comparison-table tfoot th, .report-comparison-table tfoot td, .report-utilization-table tfoot th, .report-utilization-table tfoot td {
    background: var(--subtle);
    border-top: 1px solid var(--ink);
    font-weight: 700;
  }

  .report-detail-section .final-staffing-panel {
    border: 0;
    padding: 0;
  }

  .final-staffing-table {
    min-width: 1020px;
  }

  .report-supporting-grid {
    grid-template-columns: 1.15fr .85fr;
    gap: 24px;
  }

  .report-assumptions-panel dl {
    margin: 4px 0 0;
  }

  .report-assumptions-panel dl > div {
    border-top: 1px solid var(--line);
    grid-template-columns: 125px minmax(0, 1fr);
    gap: 18px;
    padding: 11px 0;
    display: grid;
  }

  .report-assumptions-panel dt {
    color: var(--ink);
    font: 600 12px var(--font-mono);
  }

  .report-assumptions-panel dd {
    color: var(--muted);
    margin: 0;
    font-size: 12px;
    line-height: 1.5;
  }

  .fte-bar-row {
    grid-template-columns: 1fr auto;
    gap: 7px;
  }

  .fte-bar-row span {
    font: 400 13px var(--font-display), Georgia, serif;
  }

  .fte-bar-row strong {
    grid-area: 1 / 2;
  }

  .fte-bar-row .fte-bar-track {
    grid-column: 1 / -1;
  }

  @media (max-width: 1150px) {
    .site-header {
      margin: 20px 20px 0;
      padding: 20px 24px;
    }

    .dashboard-shell, .invoice-shell {
      margin: 0 20px 40px;
    }

    .history-register-header, .history-record-row {
      grid-template-columns: 180px minmax(160px, 1fr) 165px 90px 135px 70px;
    }

    .history-record-row {
      gap: 12px;
    }

    .history-section {
      padding: 24px;
    }

    .review-layout, .ledger-section {
      grid-template-columns: 1fr;
    }

    .review-control-rail {
      position: relative;
      top: auto;
    }

    .ledger-section {
      gap: 24px;
      padding: 28px;
    }

    .ledger-rail {
      border-bottom: 1px solid var(--line-dark);
      padding-bottom: 20px;
    }

    .ledger-rail .version-line {
      margin-top: 12px;
    }

    .staffing-formula-grid {
      grid-template-columns: 1fr;
    }

    .extraction-panel {
      border-left: 0;
      border-top: 1px solid var(--line-dark);
    }
  }

  @media (max-width: 760px) {
    .site-header {
      flex-direction: column;
      align-items: flex-start;
      gap: 10px;
      margin: 12px 12px 0;
      padding: 18px;
    }

    .header-actions {
      flex-wrap: wrap;
      width: 100%;
    }

    .profile-menu {
      width: 100%;
    }

    .profile-menu nav {
      left: 0;
      right: auto;
    }

    .environment-badge {
      text-align: left;
      font-size: 12px;
    }

    .dashboard-shell, .invoice-shell {
      margin: 0 12px 32px;
    }

    .hero-grid {
      grid-template-columns: 1fr;
      padding: 0;
    }

    .profile-grid {
      grid-template-columns: 1fr;
      gap: 28px;
    }

    .hero-copy {
      border-right: 0;
      padding: 28px 24px;
    }

    .upload-card {
      margin: 0 24px 28px;
      padding: 24px;
    }

    .history-section {
      padding: 24px;
    }

    .section-heading {
      flex-direction: column;
      align-items: flex-start;
      gap: 8px;
    }

    .history-record-row {
      grid-template-columns: 1fr;
      gap: 10px;
      padding: 20px 0;
    }

    .history-register-header {
      display: none;
    }

    .history-record-row > [data-label] {
      text-align: left;
      grid-template-columns: 90px minmax(0, 1fr);
      gap: 12px;
      display: grid;
    }

    .history-record-row > [data-label]:before {
      content: attr(data-label);
      color: var(--muted);
      font: 400 12px var(--font-mono);
    }

    .history-actions {
      justify-content: flex-start;
    }

    .workspace-topbar {
      flex-direction: column;
      align-items: flex-start;
      padding: 24px;
    }

    .invoice-title-row h1 {
      font-size: 25px;
    }

    .workflow-tabs {
      grid-template-columns: 1fr;
    }

    .workflow-tabs button {
      border-bottom: 1px solid var(--line-dark);
      border-right: 0;
    }

    .workflow-tabs button:last-child {
      border-bottom: 0;
    }

    .review-control-rail {
      padding: 18px;
    }

    .extraction-panel {
      padding: 24px 18px;
    }

    .metadata-grid, .section-name-fields, .check-list, .analysis-chart-grid, .staffing-formula-grid, .report-section-heading, .report-supporting-grid {
      grid-template-columns: 1fr;
    }

    .ledger-section {
      padding: 24px;
    }

    .final-metric-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .final-metric-card:nth-child(3n) {
      border-right: 1px dotted var(--divider);
    }

    .final-metric-card:nth-child(2n) {
      border-right: 0;
    }

    .final-metric-card:nth-child(4) {
      padding-left: 10px;
    }

    .final-metric-card {
      padding: 14px 10px;
    }

    .final-metric-card strong {
      font-size: 20px;
    }

    .approval-controls {
      grid-template-columns: 1fr;
      width: 100%;
    }

    .review-footer {
      padding: 0 18px 24px;
    }

    .dialog-actions {
      flex-wrap: wrap;
    }
  }

  @media print {
    .ledger-section {
      padding: 0;
      display: block;
    }

    .ledger-rail {
      margin-bottom: 24px;
    }

    .ledger-rail a, .ledger-rail button {
      display: none;
    }

    .report-detail-section, .report-supporting-grid {
      break-before: page;
    }

    .report-table-wrap {
      overflow: visible;
    }

    .report-comparison-table, .report-utilization-table, .final-staffing-table {
      min-width: 0;
    }
  }

  body {
    font-family: var(--font-sans);
    font-size: 13px;
    line-height: 1.6;
  }

  h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-sans);
    letter-spacing: -.035em;
    font-weight: 700;
  }

  h1 {
    letter-spacing: -.045em;
  }

  .site-header {
    padding-block: 18px;
  }

  .brand {
    flex-wrap: nowrap;
    align-items: center;
    gap: 18px;
  }

  .brand-logo {
    width: auto;
    height: 74px;
    display: block;
  }

  .brand-copy {
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
    display: flex;
  }

  .brand-copy small {
    font: 500 11px var(--font-mono);
    letter-spacing: .18em;
    margin: 0;
  }

  .brand-copy strong {
    font: 700 28px/1 var(--font-sans);
    letter-spacing: -.045em;
  }

  .auth-logo {
    width: 112px;
    height: auto;
    margin-bottom: 24px;
    display: block;
  }

  .section-heading, .page-group-heading {
    border-bottom-color: var(--ink);
    border-bottom-style: solid;
    border-bottom-width: 2px;
  }

  .metric-strip, .final-metric-grid {
    border-bottom: 0;
    border-top: 3px solid var(--ink);
  }

  .metric-strip div, .final-metric-grid > .final-metric-card {
    background: none;
    border: 0;
  }

  table thead tr {
    border-bottom: 2px solid var(--ink);
  }

  .primary-button, .secondary-button, .approve-button, .danger-button {
    font-family: var(--font-sans);
    letter-spacing: .04em;
    text-transform: uppercase;
    border-radius: 0;
    font-weight: 700;
  }

  .primary-button:hover:not(:disabled) {
    background: var(--teal);
    border-color: var(--teal);
  }

  .alert-error, .check-error {
    background: var(--teal);
    color: var(--surface);
    border: 0;
  }

  .alert-error small, .check-error small {
    color: var(--surface);
    opacity: 1;
  }

  .workflow-tabs button.is-active {
    border-bottom: 2px solid var(--teal);
    box-shadow: none;
  }

  .staffing-cell-input:focus, .staffing-service-cell input:focus {
    box-shadow: none;
    outline: 2px solid var(--teal-soft);
    outline-offset: 1px;
  }

  .comparison-bar-savings {
    background: var(--teal);
    border: 0;
  }

  .comparison-meter.has-savings .comparison-bar-labor {
    background: var(--ink);
  }

  .comparison-bar-row .comparison-savings-amount, .final-metric-card.result-accent strong, .staffing-summary-metric strong.is-saving, .staffing-summary-metric.is-saving strong, .staffing-discipline-heading > strong.is-saving, .report-comparison-table .is-saving strong, .report-comparison-table .is-saving small {
    color: var(--teal);
  }

  .final-metric-card.result-accent {
    color: var(--ink);
  }

  .final-metric-card.result-accent span {
    color: var(--muted);
  }

  @media (max-width: 760px) {
    .brand-logo {
      height: 58px;
    }

    .brand-copy strong {
      font-size: 24px;
    }
  }
}

@layer utilities {
  .visible {
    visibility: visible;
  }

  .sr-only {
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    position: absolute;
    overflow: hidden;
  }

  .fixed {
    position: fixed;
  }

  .container {
    width: 100%;
  }

  @media (min-width: 40rem) {
    .container {
      max-width: 40rem;
    }
  }

  @media (min-width: 48rem) {
    .container {
      max-width: 48rem;
    }
  }

  @media (min-width: 64rem) {
    .container {
      max-width: 64rem;
    }
  }

  @media (min-width: 80rem) {
    .container {
      max-width: 80rem;
    }
  }

  @media (min-width: 96rem) {
    .container {
      max-width: 96rem;
    }
  }

  .block {
    display: block;
  }

  .flex {
    display: flex;
  }

  .hidden {
    display: none;
  }

  .inline {
    display: inline;
  }

  .table {
    display: table;
  }

  .resize {
    resize: both;
  }

  .items-center {
    align-items: center;
  }

  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }

  .overflow-x-auto {
    overflow-x: auto;
  }

  .rounded {
    border-radius: .25rem;
  }

  .border-line {
    border-color: var(--line);
  }

  .bg-brand {
    background-color: var(--teal);
  }

  .bg-danger-soft {
    background-color: var(--red-soft);
  }

  .bg-surface {
    background-color: var(--surface);
  }

  .p-8 {
    padding: calc(var(--spacing) * 8);
  }

  .font-mono {
    font-family: var(--font-mono);
  }

  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }

  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }

  .text-muted {
    color: var(--muted);
  }
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

/*# sourceMappingURL=%5Broot-of-the-server%5D__1-giy90._.css.map*/