/* [project]/app/globals.css [app-client] (css) */
:root {
  --lightningcss-light: initial;
  --lightningcss-dark: ;
  color-scheme: light;
  --bg: #f5f6f3;
  --surface: #fff;
  --ink: #182b25;
  --muted: #5b6962;
  --line: #d9e0db;
  --accent: #174c3e;
  --accent-soft: #e5eee8;
  --warn: #755009;
  --warn-bg: #fff6e0;
  --danger: #9a302e;
  --danger-bg: #fff0ed;
  --radius: 6px;
  font-synthesis: none;
  font-family: Arial, Helvetica, sans-serif;
}

.sidebar .new-mandate {
  width: 100%;
  color: var(--accent);
  border-color: var(--line);
  justify-content: flex-start;
  margin: 0 0 20px;
}

.setup-steps {
  border-bottom: 1px solid var(--line);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 26px 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.setup-steps button {
  white-space: normal;
  text-align: left;
  width: 100%;
  height: 100%;
  color: var(--muted);
  background: none;
  border: 0;
  border-bottom: 3px solid #0000;
  border-radius: 0;
  justify-content: flex-start;
  padding: 14px 10px;
  font-size: 13px;
}

.setup-steps button[aria-current="step"] {
  color: var(--accent);
  background: var(--accent-soft);
  border-bottom-color: var(--accent);
}

.setup-steps button > span {
  font-variant-numeric: tabular-nums;
  border: 1px solid;
  border-radius: 50%;
  flex: 0 0 27px;
  place-items: center;
  height: 27px;
  display: grid;
}

.setup-section {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  padding: 28px;
}

.setup-fields {
  border: 0;
  min-width: 0;
  margin: 0;
  padding: 0;
}

.setup-fields > label, .setup-create label, .setup-profile label {
  flex-direction: column;
  gap: 7px;
  margin-bottom: 20px;
  display: flex;
}

.setup-fields > .check {
  flex-direction: row;
  align-items: flex-start;
}

.setup-footer {
  border-top: 1px solid var(--line);
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 26px;
  padding-top: 26px;
  display: flex;
}

.setup-mode {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  margin: 0 0 26px;
  padding: 20px;
}

.setup-mode legend, .setup-tax-list legend {
  padding: 0 8px;
  font-weight: 600;
}

.setup-mode .check {
  align-items: flex-start;
  margin: 10px 0;
}

.setup-mode input[type="radio"] {
  width: 18px;
  height: 18px;
  min-height: 18px;
  accent-color: var(--accent);
  flex: 0 0 18px;
  margin: 3px 0 0;
  padding: 0;
}

.setup-mode small, .setup-observed-list small {
  color: var(--muted);
  margin-top: 4px;
  font-weight: 400;
  display: block;
}

.setup-observed, .setup-evidence {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  margin-bottom: 22px;
  padding: 18px;
}

.setup-observed summary, .setup-evidence summary {
  color: var(--accent);
  cursor: pointer;
  font-weight: 600;
}

.setup-observed[open] summary, .setup-evidence[open] summary {
  margin-bottom: 18px;
}

.setup-observed-list {
  border-top: 1px solid var(--line);
  max-height: 300px;
  margin: 16px 0;
  overflow-y: auto;
}

.setup-observed-list .check {
  border-bottom: 1px solid var(--line);
  align-items: flex-start;
  margin: 0;
  padding: 10px 0;
}

.setup-account-table {
  margin: 16px 0;
}

.setup-account-table input:not([type="checkbox"]) {
  min-width: 130px;
}

.setup-account-table select {
  min-width: 210px;
}

.setup-tax-list fieldset {
  border: 1px solid var(--line);
  min-width: 0;
  margin: 18px 0;
  padding: 18px;
}

.setup-answers > div {
  margin: 0 0 20px;
}

.setup-answers dt, .setup-facts dt {
  color: var(--muted);
  margin-bottom: 4px;
  font-size: 12px;
}

.setup-answers dd, .setup-facts dd {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  margin: 0;
}

.setup-facts {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  display: grid;
}

.setup-coverage {
  background: var(--bg);
  border-left: 3px solid var(--accent);
  margin-top: 24px;
  padding: 20px;
}

.setup-profile {
  margin-top: 30px;
}

.setup-source-text {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.setup-analysis-status {
  margin: 24px 0;
}

.setup-result-counts {
  flex-wrap: wrap;
  gap: 6px 20px;
  font-weight: 600;
  display: flex;
}

.setup-next-action {
  border-top: 1px solid var(--line);
  margin-top: 18px;
  padding-top: 18px;
}

.setup-next-action button {
  white-space: normal;
}

@media (max-width: 720px) {
  .setup-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .setup-section {
    padding: 18px 14px;
  }

  .setup-facts {
    grid-template-columns: 1fr;
  }

  .setup-footer button {
    white-space: normal;
  }

  .setup-section .section-top.spaced {
    flex-wrap: wrap;
  }

  .setup-section .section-top.spaced > button {
    white-space: normal;
    max-width: 100%;
  }
}

* {
  box-sizing: border-box;
}

body {
  color: var(--ink);
  background: var(--bg);
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
}

button, input, select, textarea {
  font: inherit;
}

a {
  color: var(--accent);
  text-underline-offset: 3px;
}

button, .button {
  border-radius: var(--radius);
  background: var(--surface);
  min-height: 42px;
  color: var(--ink);
  cursor: pointer;
  white-space: nowrap;
  border: 1px solid #b7c4bc;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 9px 15px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
  transition: background .12s, border-color .12s;
  display: inline-flex;
}

button:hover, .button:hover {
  background: #edf2ee;
  border-color: #698674;
}

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

button svg, .button svg {
  flex: none;
  width: 17px;
  height: 17px;
}

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

.primary:hover {
  color: #fff;
  background: #103b30;
  border-color: #103b30;
}

.full {
  width: 100%;
}

.text-button {
  min-height: 32px;
  color: var(--accent);
  white-space: normal;
  text-align: left;
  background: none;
  border: 0;
  padding: 6px 0;
  font-weight: 600;
}

.text-button:hover {
  background: none;
  text-decoration: underline;
}

.danger-button, .danger-text {
  color: var(--danger);
}

:focus-visible {
  outline-offset: 3px;
  outline: 3px solid #4389d0;
}

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

h1 {
  letter-spacing: -.9px;
  margin-bottom: 10px;
  font-size: 30px;
  font-weight: 650;
  line-height: 1.2;
}

h2 {
  letter-spacing: -.35px;
  margin-bottom: 12px;
  font-size: 20px;
  line-height: 1.3;
}

h3 {
  margin-bottom: 8px;
  font-size: 16px;
}

p {
  margin-bottom: 16px;
}

small, .small {
  font-size: 12px;
  line-height: 1.5;
}

small {
  display: block;
}

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

.spaced {
  margin-top: 36px;
}

hr {
  border: 0;
  border-top: 1px solid var(--line);
  margin: 32px 0;
}

.section-top {
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  margin-bottom: 22px;
  display: flex;
}

.section-top h2, .section-top h3 {
  margin-bottom: 4px;
}

.section-top p:last-child {
  margin-bottom: 0;
}

.actions {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  display: flex;
}

.narrow {
  max-width: 800px;
}

label {
  flex-direction: column;
  gap: 7px;
  margin-bottom: 18px;
  font-size: 13px;
  font-weight: 600;
  display: flex;
}

input, select, textarea {
  border-radius: var(--radius);
  width: 100%;
  min-height: 43px;
  color: var(--ink);
  background: #fff;
  border: 1px solid #acbcb1;
  padding: 10px 12px;
  font-weight: 400;
}

select {
  padding-right: 30px;
}

textarea {
  resize: vertical;
  min-height: 85px;
}

input::placeholder, textarea::placeholder {
  color: #68766d;
  opacity: 1;
}

input[type="file"] {
  max-width: 100%;
  padding: 10px;
}

input[type="checkbox"] {
  width: 18px;
  height: 18px;
  min-height: 18px;
  accent-color: var(--accent);
  flex: none;
}

.check {
  flex-direction: row;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}

.compact {
  margin: 0;
}

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

fieldset {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  margin: 18px 0;
  padding: 16px;
}

legend {
  padding: 0 7px;
  font-size: 13px;
  font-weight: 600;
}

.notice {
  border-left: 3px solid var(--accent);
  background: var(--accent-soft);
  border-radius: 0 var(--radius) var(--radius) 0;
  margin: 18px 0;
  padding: 16px 18px;
  font-size: 14px;
}

.notice p:last-child, .notice ul:last-child {
  margin-bottom: 0;
}

.notice.warning {
  background: var(--warn-bg);
  color: #624604;
  border-color: #b27b1b;
}

.notice.error {
  background: var(--danger-bg);
  border-color: var(--danger);
  color: var(--danger);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.notice.success {
  background: #e7f3e8;
}

.badge {
  color: #4b5d51;
  white-space: nowrap;
  background: #edf0ed;
  border-radius: 4px;
  align-items: center;
  padding: 4px 9px;
  font-size: 12px;
  font-weight: 600;
  display: inline-flex;
}

.badge.success {
  color: #235d39;
  background: #e1f0e6;
}

.badge.warning {
  color: #77520b;
  background: #fff1ce;
}

.empty {
  text-align: center;
  border-radius: var(--radius);
  color: var(--muted);
  background: #fafcf9;
  border: 1px dashed #c6d2c9;
  padding: 52px 24px;
}

.empty h2 {
  color: var(--ink);
  font-size: 20px;
}

.empty p {
  max-width: 450px;
  margin: 0 auto;
}

.empty > svg {
  width: 38px;
  height: 38px;
  margin-bottom: 16px;
}

.loading {
  color: var(--muted);
  padding: 40px 0;
}

.app-shell {
  grid-template-columns: 228px minmax(0, 1fr);
  min-height: 100dvh;
  display: grid;
}

.sidebar {
  border-right: 1px solid var(--line);
  background: #eef2ed;
  flex-direction: column;
  height: 100dvh;
  padding: 30px 20px;
  display: flex;
  position: sticky;
  top: 0;
}

.wordmark, .login-brand {
  color: #143d31;
  letter-spacing: -1.7px;
  font-size: 33px;
  font-weight: 750;
  line-height: 1;
  text-decoration: none;
}

.wordmark span, .login-brand span {
  color: #769380;
}

.wordmark {
  margin-bottom: 38px;
  padding-left: 10px;
}

.mandate-control label {
  color: var(--muted);
  font-size: 11px;
}

.mandate-control select {
  background: #f7f9f5;
  min-width: 0;
  padding: 8px;
  font-size: 13px;
}

.sidebar nav {
  flex-direction: column;
  gap: 5px;
  margin-top: 14px;
  display: flex;
}

.sidebar nav button {
  color: #54675b;
  background: none;
  border-color: #0000;
  justify-content: flex-start;
  width: 100%;
  min-height: 45px;
  padding: 12px;
  font-size: 14px;
  font-weight: 500;
}

.sidebar nav button.active {
  color: #164631;
  background: #dae7dc;
  font-weight: 650;
}

.sidebar nav button:hover {
  background: #e2eae1;
}

.sidebar-bottom {
  margin-top: auto;
  padding-top: 28px;
}

.sidebar-bottom > button {
  width: 100%;
  margin-top: 14px;
}

.user {
  align-items: center;
  gap: 10px;
  font-size: 12px;
  display: flex;
  overflow: hidden;
}

.user strong {
  font-size: 13px;
  font-weight: 600;
}

.user small {
  color: var(--muted);
}

.avatar {
  background: #dbe5dc;
  border-radius: 50%;
  flex: none;
  place-items: center;
  width: 33px;
  height: 33px;
  font-weight: 600;
  display: grid;
}

.content-shell {
  flex-direction: column;
  min-width: 0;
  display: flex;
}

.topbar {
  border-bottom: 1px solid var(--line);
  background: #fbfcfa;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  height: 65px;
  padding: 0 44px;
  font-size: 13px;
  display: flex;
}

.topbar > span:first-child {
  font-weight: 600;
}

.workspace-label {
  color: var(--muted);
}

main#main {
  flex: 1;
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
  padding: 38px 44px 50px;
}

.workspace-footer {
  color: var(--muted);
  border-top: 1px solid var(--line);
  padding: 20px 44px;
  font-size: 11px;
}

.capture-bar {
  border-radius: var(--radius);
  background: #f0f5ed;
  border: 1px solid #cbdbcd;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  margin: 24px 0 30px;
  padding: 24px;
  display: flex;
}

.capture-bar h2 {
  font-size: 19px;
}

.capture-bar p {
  color: var(--muted);
  max-width: 460px;
  margin: 0;
  font-size: 13px;
}

.capture-bar label {
  font-size: 11px;
}

.filters {
  align-items: flex-end;
  gap: 16px;
  margin: 20px 0 10px;
  display: flex;
}

.filters .search {
  flex: 1;
}

.filters > label:not(.search) {
  min-width: 170px;
}

.filters > .check {
  align-self: center;
  min-width: auto !important;
}

.search input {
  max-width: 550px;
}

.table-scroll {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  width: 100%;
  overflow-x: auto;
}

table {
  border-collapse: collapse;
  width: 100%;
  font-size: 13px;
}

th {
  text-align: left;
  color: #506254;
  letter-spacing: .25px;
  white-space: nowrap;
  background: #f3f6f1;
  font-size: 11px;
  font-weight: 600;
}

th, td {
  vertical-align: middle;
  padding: 16px 17px;
}

tbody tr + tr {
  border-top: 1px solid #e7ece6;
}

tbody tr:hover {
  background: #fbfcfa;
}

td.numeric, .numeric {
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.row-link {
  white-space: normal;
  text-align: left;
  background: none;
  border: 0;
  justify-content: flex-start;
  gap: 12px;
  padding: 0;
  font-size: 13px;
}

.row-link svg {
  color: #63866f;
  width: 20px;
  height: 20px;
}

.row-link small {
  color: var(--muted);
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 250px;
  margin-top: 3px;
  font-weight: 400;
  overflow: hidden;
}

.row-link:hover {
  background: none;
  text-decoration: underline;
}

tfoot {
  border-top: 2px solid var(--line);
  background: #f2f6ef;
  font-weight: 600;
}

.load-more {
  margin-top: 18px;
}

.tabs {
  border-bottom: 1px solid var(--line);
  flex-wrap: wrap;
  gap: 12px;
  margin: 25px 0 30px;
  display: flex;
}

.tabs button {
  color: var(--muted);
  background: none;
  border: 0;
  border-bottom: 2px solid #0000;
  border-radius: 0;
  padding: 14px 8px;
}

.tabs button.active {
  border-bottom-color: var(--accent);
  color: var(--accent);
}

.inspect {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fbfcfa;
  margin: 18px 0;
  overflow: hidden;
}

.inspect summary {
  cursor: pointer;
  padding: 13px 16px;
  font-size: 13px;
  font-weight: 600;
}

.inspect pre {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  border-top: 1px solid var(--line);
  max-height: 420px;
  margin: 0;
  padding: 16px;
  font-size: 12px;
  overflow: auto;
}

.code {
  font: 12px / 1.6 ui-monospace, SFMono-Regular, Consolas, monospace;
}

.operator-actions {
  border-top: 1px solid var(--line);
  margin-top: 25px;
  padding: 18px 0;
}

.operator-actions summary {
  cursor: pointer;
  margin-bottom: 16px;
  font-weight: 600;
}

.operator-actions > button {
  margin-bottom: 20px;
}

.definition-list article, .import-list article {
  border-bottom: 1px solid var(--line);
  padding: 26px 0;
}

.definition-grid {
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  display: grid;
}

.definition-purpose {
  font-size: 17px;
}

.definition-grid ul {
  color: var(--muted);
  padding-left: 20px;
}

.run {
  margin: 12px 0;
}

.preview {
  margin: 25px 0;
}

.review-grid {
  grid-template-columns: minmax(300px, 1fr) minmax(320px, 1fr);
  gap: 26px;
  margin-top: 28px;
  display: grid;
}

.source-panel, .treatment-panel {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  min-width: 0;
  padding: 22px;
}

.source-panel {
  align-self: start;
  position: sticky;
  top: 20px;
}

.source-panel .section-top {
  align-items: center;
}

.source-panel h2 {
  font-size: 18px;
}

.source-panel .button {
  min-height: 36px;
  padding: 7px 9px;
  font-size: 11px;
}

.source-image {
  object-fit: contain;
  width: 100%;
  height: auto;
  max-height: 720px;
  display: block;
}

.source-frame {
  background: #e5ebe3;
  border: 0;
  width: 100%;
  height: 700px;
}

.facts {
  grid-template-columns: 1fr 1fr;
  gap: 0 18px;
  margin: 25px 0;
  display: grid;
}

.facts div {
  border-bottom: 1px solid #e7ece6;
  padding: 13px 0;
}

.facts dt {
  color: var(--muted);
  font-size: 11px;
}

.facts dd {
  margin: 5px 0 0;
  font-size: 16px;
  font-weight: 600;
}

.allocations > div {
  border-bottom: 1px solid var(--line);
  flex-direction: column;
  gap: 6px;
  padding: 15px 0;
  font-size: 13px;
  display: flex;
}

.allocations small {
  color: var(--muted);
}

.report-summary {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  grid-template-columns: 1fr 1fr 1.1fr;
  margin: 28px 0 35px;
  display: grid;
  overflow: hidden;
}

.report-summary > div {
  padding: 26px;
}

.report-summary > div + div {
  border-left: 1px solid var(--line);
}

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

.report-summary strong {
  letter-spacing: -.8px;
  font-variant-numeric: tabular-nums;
  margin-top: 10px;
  font-size: 30px;
  font-weight: 600;
  display: block;
}

.report-summary .result {
  background: #e7eee3;
}

.report-grid {
  grid-template-columns: 1.3fr 1fr;
  gap: 30px;
  display: grid;
}

.bwa-table td, .bwa-table th {
  padding: 18px;
}

.coverage {
  border-radius: var(--radius);
  background: #eef2e9;
  border: 1px solid #d7e0d0;
  padding: 22px;
}

.coverage dl {
  margin: 0 0 20px;
}

.coverage dl > div {
  border-bottom: 1px solid #d4dece;
  padding: 9px 0;
}

.coverage dt {
  color: var(--muted);
  font-size: 11px;
  font-weight: 600;
}

.coverage dd {
  overflow-wrap: anywhere;
  margin: 4px 0 0;
  font-size: 13px;
}

.coverage .small {
  color: var(--muted);
  margin-bottom: 0;
}

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

.batch-list {
  gap: 10px;
  display: grid;
}

.batch {
  justify-content: space-between;
  font-size: 12px;
}

.batch span {
  color: var(--muted);
  text-overflow: ellipsis;
  overflow: hidden;
}

.batch.selected {
  border-color: var(--accent);
  background: var(--accent-soft);
}

.batch-detail {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  padding: 25px;
}

.intake-toolbar {
  flex-wrap: wrap;
  gap: 12px;
  margin: 24px 0;
  display: flex;
}

.intake-grid {
  grid-template-columns: 200px minmax(0, 1fr);
  align-items: start;
  gap: 24px;
  display: grid;
}

.page-list {
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.page-thumb {
  text-align: left;
  white-space: normal;
  justify-content: flex-start;
  gap: 12px;
  width: 100%;
  min-height: 96px;
  padding: 12px;
  display: flex;
}

.page-thumb img {
  object-fit: cover;
  background: #e6ece3;
  width: 46px;
  height: 70px;
}

.page-thumb span {
  min-width: 0;
  font-size: 12px;
}

.page-thumb small {
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 102px;
  color: var(--muted);
  margin-top: 3px;
  font-size: 10px;
  overflow: hidden;
}

.page-thumb.selected {
  border-color: var(--accent);
  background: var(--accent-soft);
}

.retry {
  white-space: normal;
  width: 100%;
  margin-top: 6px;
  font-size: 11px;
}

.page-review {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  min-width: 0;
  padding: 22px;
}

.page-review h2 {
  font-size: 17px;
}

.image-editor {
  touch-action: none;
  max-width: 650px;
  margin: 25px auto;
  position: relative;
}

.image-editor img {
  width: 100%;
  height: auto;
  display: block;
}

.crop-outline, .camera-outline {
  pointer-events: none;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  overflow: visible;
}

.crop-outline polygon, .camera-outline polygon {
  fill: #146e4414;
  stroke: #20a966;
  stroke-width: .55px;
  vector-effect: non-scaling-stroke;
}

.crop-outline polygon {
  stroke-width: 2px;
}

.corner {
  color: #fff;
  touch-action: none;
  background: #145941;
  border: 2px solid #fff;
  border-radius: 50%;
  width: 28px;
  height: 28px;
  min-height: 28px;
  padding: 0;
  font-size: 11px;
  position: absolute;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 0 1px #145941;
}

.file-preview {
  text-align: center;
  overflow-wrap: anywhere;
  background: #f1f4ed;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 230px;
  margin: 20px 0;
  padding: 24px;
  display: flex;
}

.file-preview > svg {
  color: #759079;
  width: 45px;
  height: 45px;
  margin-bottom: 16px;
}

.page-actions {
  border-top: 1px solid var(--line);
  margin-top: 22px;
  padding-top: 20px;
}

.submit-bar {
  border-top: 1px solid var(--line);
  justify-content: space-between;
  align-items: center;
  gap: 25px;
  margin-top: 26px;
  padding: 24px 0;
  display: flex;
}

.submit-bar p {
  max-width: 600px;
  margin: 8px 0 0;
}

.submit-bar strong {
  font-size: 14px;
}

.camera-panel {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #eef2e9;
  margin: 20px 0;
  padding: 22px;
}

.camera-viewport {
  background: #192b22;
  max-width: 900px;
  min-height: 180px;
  margin: 0 auto;
  line-height: 0;
  position: relative;
}

.camera-viewport video {
  object-fit: contain;
  width: 100%;
  height: auto;
  display: block;
}

.camera-viewport:has(video[style]) {
  height: auto;
}

.camera-hint {
  text-align: center;
  margin: 20px 0;
  font-size: 17px;
  font-weight: 600;
}

.camera-panel small {
  color: var(--muted);
  margin-top: 15px;
}

.login-wrap {
  background: #eef3ea;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 100dvh;
  padding: 45px 22px;
  display: flex;
}

.login-brand {
  margin-bottom: 45px;
  font-size: 44px;
}

.login-panel {
  background: #fff;
  border: 1px solid #d2decf;
  border-radius: 9px;
  width: 100%;
  max-width: 480px;
  padding: 36px;
}

.login-panel h1 {
  max-width: 330px;
  font-size: 31px;
  line-height: 1.22;
}

.login-panel > .muted {
  font-size: 14px;
}

.login-panel > .small {
  margin: 24px 0 0;
}

.eyebrow {
  color: #496a51;
  letter-spacing: 1.4px;
  margin-bottom: 16px;
  font-size: 10px;
  font-weight: 600;
}

.dev-login {
  border-top: 1px solid var(--line);
  margin-top: 25px;
  padding-top: 18px;
  font-size: 12px;
}

.dev-login summary {
  cursor: pointer;
  color: var(--muted);
  margin-bottom: 20px;
}

.login-footer {
  color: var(--muted);
  text-align: center;
  margin: 25px 0 0;
  font-size: 11px;
}

.visually-hidden {
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 0 !important;
  margin: -1px !important;
  padding: 0 !important;
  position: absolute !important;
  overflow: hidden !important;
}

.skip-link {
  z-index: 1000;
  background: #fff;
  padding: 12px;
  position: fixed;
  top: -100px;
  left: 12px;
}

.skip-link:focus {
  top: 12px;
}

@media (min-width: 1500px) {
  main#main {
    padding-left: 60px;
    padding-right: 60px;
  }
}

@media (max-width: 1150px) {
  main#main {
    padding: 30px 26px;
  }

  .topbar {
    padding: 0 26px;
  }

  .app-shell {
    grid-template-columns: 205px minmax(0, 1fr);
  }

  .sidebar {
    padding: 27px 15px;
  }

  .capture-bar {
    flex-direction: column;
    align-items: flex-start;
  }

  .report-summary strong {
    font-size: 25px;
  }

  .report-summary > div {
    padding: 20px;
  }

  .review-grid {
    grid-template-columns: 1fr;
  }

  .source-panel {
    position: static;
  }

  .source-frame {
    height: 480px;
  }

  .source-image {
    max-height: 500px;
  }

  .report-grid {
    grid-template-columns: 1fr;
  }

  .intake-grid {
    grid-template-columns: 155px minmax(0, 1fr);
  }

  .page-thumb {
    gap: 8px;
    padding: 9px;
  }

  .page-thumb img {
    width: 35px;
  }

  .page-thumb small {
    max-width: 82px;
  }

  .intake-grid .actions button {
    font-size: 12px;
  }
}

@media (max-width: 760px) {
  .app-shell {
    display: block;
  }

  .sidebar {
    border-right: 0;
    border-bottom: 1px solid var(--line);
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    height: auto;
    padding: 18px 18px 0;
    display: grid;
    position: static;
  }

  .wordmark {
    align-self: center;
    margin: 8px 0;
    padding: 0;
    font-size: 29px;
  }

  .mandate-control label {
    margin: 0;
  }

  .sidebar nav {
    flex-direction: row;
    grid-column: 1 / -1;
    gap: 3px;
    margin-top: 0;
    padding-bottom: 12px;
    overflow: auto;
  }

  .sidebar nav button {
    white-space: nowrap;
    gap: 6px;
    width: auto;
    min-height: 40px;
    padding: 9px 10px;
    font-size: 12px;
  }

  .sidebar nav button svg {
    width: 15px;
    height: 15px;
  }

  .sidebar-bottom {
    grid-column: 1 / -1;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 0 0 12px;
    display: flex;
  }

  .sidebar-bottom .user {
    order: -1;
    max-width: 60%;
  }

  .sidebar-bottom > button {
    width: auto;
    min-height: 33px;
    margin: 0;
    padding: 7px 10px;
    font-size: 11px;
  }

  .topbar {
    height: 43px;
    padding: 0 18px;
    font-size: 11px;
  }

  .workspace-label {
    font-size: 10px;
  }

  main#main {
    padding: 25px 18px 32px;
  }

  h1 {
    font-size: 26px;
  }

  h2 {
    font-size: 19px;
  }

  .section-top {
    gap: 14px;
    margin-bottom: 20px;
  }

  .section-top > label {
    max-width: 155px;
    font-size: 11px;
  }

  .section-top input {
    padding: 8px;
    font-size: 13px;
  }

  .capture-bar {
    margin: 24px 0;
    padding: 20px;
  }

  .capture-bar .actions {
    align-items: flex-end;
    width: 100%;
  }

  .capture-bar .compact {
    flex: 1;
    min-width: 135px;
  }

  .capture-bar .actions > .primary {
    flex: 1;
    min-width: 125px;
  }

  .filters {
    flex-wrap: wrap;
    gap: 12px;
  }

  .filters .search {
    flex-basis: 100%;
    margin-bottom: 0;
  }

  .filters > label:not(.search) {
    flex: 1;
  }

  .table-scroll th, .table-scroll td {
    padding: 12px;
  }

  .report-summary {
    grid-template-columns: 1fr 1fr;
    margin: 22px 0;
  }

  .report-summary .result {
    border-left: 0;
    border-top: 1px solid var(--line);
    grid-column: 1 / -1;
  }

  .report-summary strong {
    font-size: 25px;
  }

  .report-summary .result strong {
    font-size: 31px;
  }

  .report-summary > div {
    padding: 20px;
  }

  .form-grid {
    grid-template-columns: 1fr 1fr;
    gap: 0 12px;
  }

  .form-grid label {
    font-size: 11px;
  }

  .form-grid input, .form-grid select {
    padding: 9px;
    font-size: 13px;
  }

  .review-grid {
    gap: 18px;
  }

  .source-panel, .treatment-panel {
    padding: 16px;
  }

  .facts dd {
    font-size: 15px;
  }

  .source-panel .section-top {
    flex-wrap: wrap;
  }

  .definition-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .tabs {
    gap: 3px;
  }

  .tabs button {
    white-space: normal;
    padding: 11px 7px;
    font-size: 12px;
  }

  .intake-grid {
    flex-direction: column;
    gap: 18px;
    display: flex;
  }

  .page-list {
    width: 100%;
    padding: 2px;
    display: flex;
    overflow: auto;
  }

  .page-list > li {
    flex: 0 0 165px;
  }

  .page-thumb small {
    max-width: 94px;
  }

  .page-review {
    width: 100%;
    padding: 16px;
  }

  .image-editor {
    margin: 23px 10px;
  }

  .intake-toolbar {
    gap: 8px;
  }

  .intake-toolbar button {
    padding: 9px 11px;
    font-size: 12px;
  }

  .submit-bar {
    padding-bottom: calc(12px + env(safe-area-inset-bottom));
    flex-direction: column;
    align-items: stretch;
    display: flex;
  }

  .submit-bar > .primary {
    min-height: 49px;
  }

  .camera-panel {
    padding: 14px;
  }

  .camera-panel .section-top {
    flex-wrap: wrap;
  }

  .camera-panel h2 {
    font-size: 18px;
  }

  .camera-panel p {
    font-size: 12px;
  }

  .camera-panel .camera-hint {
    font-size: 16px;
  }

  .camera-panel .actions .primary {
    flex: 1;
    min-height: 50px;
  }

  .camera-viewport video {
    max-height: none;
  }

  .report-footer {
    flex-direction: column;
    align-items: flex-start;
  }

  .batch {
    text-align: left;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 7px 15px;
  }

  .batch span {
    flex-basis: 100%;
    order: 3;
  }

  .batch-detail {
    padding: 17px;
  }

  .batch-detail .actions > .button {
    white-space: normal;
    width: 100%;
  }

  .workspace-footer {
    padding: 18px;
    font-size: 10px;
  }

  .login-panel {
    padding: 27px;
  }

  .login-panel h1 {
    font-size: 29px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, :before, :after {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}

.setup-questions {
  border: 1px solid var(--line);
  background: var(--surface);
  border-radius: var(--radius);
  margin: 24px 0;
  padding: 24px;
}

.setup-evidence label:not(.check) {
  flex-direction: column;
  gap: 7px;
  margin: 16px 0;
  display: flex;
}

/*# sourceMappingURL=app_globals_0yg4wg8.css.map*/