@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@500;600;650;700;750;800&display=swap');
:root {
  --ink:#202a33;
  --muted:#63717c;
  --line:#e2e7eb;
  --paper:#f7f9fb;
  --brand:#a72435;
  --brand-hover:#881d2b;
  --nav:#ffffff;
  --green:#25664f;
  --radius:14px;
  font-family:'DM Sans',system-ui,sans-serif;
  color:var(--ink);
  background:var(--paper);
  font-size:16px;
  color-scheme:light;
}
* {
  box-sizing:border-box;
}
body {
  margin:0;
  background:var(--paper);
}
button,input,select,textarea {
  font:inherit;
}
button,a,input,select,textarea {
  -webkit-tap-highlight-color:transparent;
}
button {
  cursor:pointer;
}
a {
  color:inherit;
  text-decoration:none;
}
button:disabled {
  cursor:not-allowed;
  opacity:.5;
}
input,select,textarea {
  width:100%;
  background:white;
  color:var(--ink);
  border:1px solid #cbd5d8;
  border-radius:8px;
  min-height:46px;
  padding:11px 13px;
  transition:border-color .15s,box-shadow .15s;
}
textarea {
  resize:vertical;
}
input:hover,select:hover,textarea:hover {
  border-color:#8e9da3;
}
input:focus,select:focus,textarea:focus {
  outline:0;
  border-color:var(--brand);
  box-shadow:0 0 0 3px #a7243515;
}
:focus-visible {
  outline:3px solid #297b99;
  outline-offset:4px;
}
input::placeholder,textarea::placeholder {
  color:#6c7c83;
}
label {
  display:flex;
  flex-direction:column;
  gap:9px;
  font-size:14px;
  font-weight:600;
}
h1,h2,h3,p {
  margin:0;
}
h1,h2,h3 {
  font-family:Manrope,system-ui,sans-serif;
}
h1 {
  font-size:clamp(26px,2.8vw,36px);
  letter-spacing:-1.2px;
  line-height:1.3;
  font-weight:800;
}
h2 {
  font-size:19px;
  letter-spacing:-.4px;
}
h3 {
  font-size:16px;
}
p {
  line-height:1.6;
}
fieldset {
  border:0;
  padding:0;
  margin:0;
  min-width:0;
}
[hidden] {
  display:none!important;
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
}
.skip {
  position:fixed;
  top:-100px;
  left:12px;
  z-index:20;
  padding:12px;
  background:#fff;
}
.skip:focus {
  top:12px;
}
.sidebar {
  width:230px;
  position:fixed;
  inset:0 auto 0 0;
  background:var(--nav);
  color:var(--ink);
  display:flex;
  flex-direction:column;
  padding:32px 16px 24px;
  border-right:1px solid var(--line);
  box-shadow:4px 0 18px #22313c08;
}
.brand {
  display:flex;
  gap:13px;
  align-items:center;
  padding:0 10px;
  margin-bottom:51px;
  font-family:Manrope,sans-serif;
  font-size:25px;
  font-weight:800;
  letter-spacing:1.1px;
}
.brand small {
  display:block;
  font-family:'DM Sans',sans-serif;
  font-size:11px;
  font-weight:450;
  letter-spacing:.3px;
  color:var(--muted);
  margin-top:3px;
}
.brand-mark {
  width:44px;
  height:44px;
  background:var(--brand);
  border-radius:12px;
  font-size:34px;
  line-height:40px;
  text-align:center;
  position:relative;
  letter-spacing:-2px;
}
.brand-mark>span {
  position:absolute;
  font-size:18px;
  top:-7px;
  right:6px;
}
.nav-label {
  color:#87939d;
  font-size:10px;
  letter-spacing:1.5px;
  margin:0 14px 15px;
}
.sidebar nav {
  display:grid;
  gap:7px;
}
.sidebar nav a {
  display:flex;
  align-items:center;
  gap:12px;
  border-radius:8px;
  padding:13px 14px;
  color:#586772;
  font-size:14px;
  font-weight:600;
}
.sidebar nav a>span {
  font-size:22px;
  width:24px;
  text-align:center;
}
.sidebar nav a:hover {
  background:#f4f6f8;
  color:var(--ink);
}
.sidebar nav a[aria-current] {
  background:#fff1f3;
  color:var(--brand);
  box-shadow:inset 3px 0 var(--brand);
}
.sidebar-note {
  margin:auto 10px 30px;
  border-top:1px solid #34464d;
  padding-top:26px;
}
.small-cross {
  display:block;
  color:#e18490;
  font-size:32px;
  margin-bottom:10px;
}
.sidebar-note strong {
  font-size:14px;
  font-weight:550;
}
.sidebar-note p {
  color:#a8bec7;
  font-size:13px;
  margin-top:10px;
}
.repository-link {
  font-size:12px;
  color:#b4c4ca;
  padding:12px;
  border-top:1px solid #34464d;
  display:flex;
  justify-content:space-between;
}
.workspace {
  margin-left:230px;
  min-width:0;
}
.topbar {
  height:66px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:0 40px;
  border-bottom:1px solid var(--line);
  background:#fff;
  font-size:13px;
  color:var(--muted);
}
.topbar strong {
  font-weight:550;
  color:var(--ink);
}
.divider {
  margin:0 13px;
  color:#9baab0;
}
.topbar-tag {
  font-size:11px;
  letter-spacing:.8px;
  color:#687c85;
}
main {
  max-width:1500px;
  margin:auto;
  padding:32px 40px 50px;
}
.page-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-bottom:24px;
}
.eyebrow {
  font-size:11px;
  font-weight:700;
  letter-spacing:1.7px;
  color:var(--brand);
  margin-bottom:10px;
}
.page-heading p:not(.eyebrow) {
  font-size:15px;
  color:var(--muted);
  margin-top:9px;
}
.heading-actions {
  display:flex;
  align-items:center;
  gap:10px;
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  background:var(--brand);
  color:#fff;
  border:1px solid transparent;
  border-radius:8px;
  min-height:46px;
  padding:11px 19px;
  font-size:14px;
  font-weight:650;
  white-space:nowrap;
}
.button:hover {
  background:var(--brand-hover);
}
.button.secondary {
  background:#fff;
  color:var(--ink);
  border-color:#cfd9dc;
}
.button.danger {background:#a63a31;border-color:#a63a31;color:#fff;}
.button.danger:hover {background:#8f2e27;border-color:#8f2e27;}
.button.secondary:hover {
  background:#edf2f3;
}
.button.compact {
  min-height:38px;
  padding:8px 13px;
}
.button>span {
  font-size:19px;
}
.text-button {
  background:none;
  border:0;
  font-size:13px;
  font-weight:650;
  color:var(--brand);
  padding:9px 0;
  text-align:left;
}
.text-button:hover {
  text-decoration:underline;
}
.card {
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:0 8px 26px #1f2f3a08;
}
.card-heading {
  display:flex;
  gap:16px;
  align-items:center;
  justify-content:space-between;
  padding:24px 28px;
  border-bottom:1px solid var(--line);
}
.card-heading p {
  color:var(--muted);
  font-size:13px;
  margin-top:6px;
}
.pill {
  display:inline-flex;
  align-items:center;
  gap:5px;
  border-radius:5px;
  padding:6px 9px;
  font-size:11px;
  font-weight:600;
  white-space:nowrap;
}
.pill.neutral {
  background:#f0f3f4;
  color:#5b717b;
}
.pill.on-dark {
  background:#ffffff13;
  color:#cbd9de;
  font-size:10px;
  letter-spacing:1px;
}
.registration-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:24px;
  align-items:start;
}
.form-section {
  padding:26px 28px;
  border-bottom:1px solid #edf0f1;
}
.section-title {
  display:flex;
  gap:13px;
  align-items:center;
  margin-bottom:23px;
}
.section-title h2 {
  font-size:15px;
}
.section-title p {
  font-size:13px;
  color:var(--muted);
  margin-top:3px;
}
.step {
  height:33px;
  width:33px;
  display:grid;
  place-items:center;
  border-radius:9px;
  color:var(--brand);
  background:#fbf0f1;
  font-size:12px;
  font-weight:700;
  flex-shrink:0;
}
.field-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:21px 18px;
}
.field-grid .wide {
  grid-column:1/-1;
}
.optional {
  display:inline;
  font-weight:400;
  color:var(--muted);
  font-size:12px;
}
.form-actions {
  padding:24px 28px;
  display:flex;
  gap:18px;
  align-items:center;
  justify-content:space-between;
}
.form-actions p {
  font-size:12px;
  color:var(--muted);
  max-width:160px;
}
.review-card {
  background:var(--nav);
  padding:27px 25px;
  border-radius:var(--radius);
  color:white;
}
.patient-symbol {
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border:1px solid #536870;
  border-radius:50%;
  font-size:27px;
  color:#cadcdf;
  margin:31px 0 18px;
}
.review-card h2 {
  font-size:21px;
  overflow-wrap:anywhere;
}
.review-card>p {
  color:#b8cbd3;
  font-size:13px;
  margin-top:8px;
}
.review-card dl {
  padding-top:23px;
  margin-top:23px;
  border-top:1px solid #3a505a;
}
.review-card dt {
  font-size:11px;
  color:#aec3cd;
  margin-bottom:6px;
}
.review-card dd {
  font-size:14px;
  margin:0 0 19px;
}
.review-bottom {
  border-top:1px solid #3a505a;
  padding-top:18px;
  font-size:10px;
  color:#c8d7dd;
  display:flex;
  align-items:center;
  gap:8px;
}
.status-dot {
  width:6px;
  height:6px;
  border-radius:50%;
  background:#9cceb9;
}
.tip-card {
  padding:27px 10px;
}
.tip-card h3 {
  font-size:14px;
}
.tip-card ol {
  padding-left:18px;
  font-size:13px;
  line-height:2.2;
  color:var(--muted);
}
.tip-card p {
  font-size:12px;
  color:var(--muted);
  border-top:1px solid var(--line);
  padding-top:16px;
}
.demo-link {
  display:grid;
  gap:10px;
  background:#fff;
  border:1px solid var(--line);
  padding:21px;
  border-radius:12px;
  font-size:13px;
}
.demo-link strong {
  display:flex;
  justify-content:space-between;
  font-weight:600;
}
.demo-link span:not(strong span) {
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
.demo-link:hover {
  border-color:var(--brand);
}
.message {
  font-size:14px;
  line-height:1.6;
  color:#873a21;
  background:#fff6ec;
  border-radius:8px;
  padding:14px 17px;
  margin:18px 0;
  overflow-wrap:anywhere;
}
.message:empty {
  display:none;
}
.message.success {
  color:#245f46;
  background:#edf8f2;
  border:1px solid #cde8d9;
}
.message.error {
  color:#873a21;
  background:#fff6ec;
  border:1px solid #f0dac8;
}
.notice {
  background:#f0f4f5;
  color:#485e68;
  font-size:13px;
  padding:15px;
  border-radius:8px;
  margin:18px 0;
}
.no-script {
  position:fixed;
  bottom:0;
  background:#fff3d3;
  padding:20px;
  width:100%;
  text-align:center;
}
footer {
  display:flex;
  justify-content:space-between;
  padding:22px 40px;
  border-top:1px solid var(--line);
  font-size:11px;
  color:var(--muted);
}
footer a {
  text-decoration:underline;
  text-underline-offset:3px;
}
.demo-banner {
  background:#fff;
  border:1px solid var(--line);
  border-radius:8px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  font-size:12px;
  color:#56656f;
  padding:10px 17px;
  margin-bottom:28px;
  line-height:1.6;
}
.demo-controls {
  display:flex;
  align-items:center;
  gap:20px;
  margin:-8px 0 22px;
}
.demo-controls label {
  flex-direction:row;
  align-items:center;
  font-size:12px;
  white-space:nowrap;
  gap:10px;
}
.demo-controls select {
  font-size:12px;
  padding:7px 30px 7px 10px;
  min-height:36px;
}
.demo-controls p {
  font-size:12px;
  color:var(--muted);
  flex:1;
}
.demo-controls .text-button {
  font-size:12px;
}
.status-section {
  margin-bottom:25px;
}
.status-heading {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:14px;
}
.status-heading h2 {
  font-size:18px;
}
.status-heading p {
  color:var(--muted);
  font-size:14px;
  margin-top:5px;
}
.status-legend {
  color:var(--muted);
  font-size:12px;
  white-space:nowrap;
}
.status-legend i {
  display:inline-block;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--brand);
  margin-right:5px;
}
.stage-overview {
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.35fr);
  gap:14px;
  padding:3px 3px 8px;
}
.filter-group {
  padding:16px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  box-shadow:0 5px 18px #1f2f3a06;
}
.filter-group-heading {margin-bottom:12px;}
.filter-group-heading h3 {font-size:14px;margin:0 0 3px;}
.filter-group-heading p {font-size:11px;color:var(--muted);margin:0;}
.filter-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(105px,1fr));
  gap:8px;
}
.metric {
  padding:22px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.metric>span {
  font-size:12px;
  font-weight:550;
}
.metric strong {
  font-family:Manrope,sans-serif;
  font-size:33px;
  line-height:1.1;
  font-weight:750;
  letter-spacing:-1px;
}
.metric small {
  font-size:11px;
  color:var(--muted);
  line-height:1.5;
}
.metric.attention {
  background:#fbf2ed;
  border-color:#ead9cd;
}
.metric.attention strong {
  color:#9c502b;
}
.metric.complete strong {
  color:var(--green);
}
.filter {
  display:grid;
  gap:6px;
  align-content:start;
  min-height:104px;
  background:white;
  border:1px solid var(--line);
  border-top:5px solid #73858b;
  border-radius:10px;
  color:var(--ink);
  font-size:14px;
  padding:14px;
  text-align:left;
  min-width:125px;
}
.filter[aria-pressed=true] {
  box-shadow:0 0 0 3px #a7243517;
  border-color:#d7b6bc;
}
.filter strong {
  font-family:Manrope,sans-serif;
  font-size:25px;
  line-height:1;
}
.filter small {
  font-size:12px;
  color:var(--muted);
  line-height:1.35;
}
.filter.status-recebido {border-top-color:#667b85;}
.filter.status-pendencia {border-top-color:#b42318;background:#fff7f5;}
.filter.status-atrasada {border-top-color:#d4552d;background:#fff8f1;}
.filter.status-hoje {border-top-color:#1673a5;background:#f5fbff;}
.filter.status-solicitado {border-top-color:#a66a16;}
.filter.status-autorizado {border-top-color:#27725b;}
.filter.status-agendado {border-top-color:#32669b;}
.filter.status-realizado {border-top-color:#4d6d8c;}
.filter.status-conferencia {border-top-color:#765395;}
.filter.status-pronto_faturamento {border-top-color:#157347;background:#f4fbf7;}
.filter.status-faturamento {border-top-color:#25704f;}
.filter.status-cancelado {border-top-color:#7b858a;background:#f7f8f8;}
.filter.status-entrada {border-top-color:#174f82;}
.filter.status-autorizacao {border-top-color:#2770b7;}
.filter.status-recepcao {border-top-color:#1193a2;}
.filter.status-procedimento {border-top-color:#4e9a58;}
.filter.status-faturamento {border-top-color:#174f82;}
.danger-outline {color:#8f2e27!important;border-color:#d8aaa5!important;background:#fff8f7!important;}
.toolbar {
  display:flex;
  align-items:end;
  gap:22px;
  padding:20px 25px;
}
.search-field {
  max-width:350px;
  flex:1;
  font-size:11px;
  color:var(--muted);
  font-weight:500;
  min-width:180px;
}
.search-field input {
  font-size:13px;
  min-height:40px;
}
.checkbox-label {
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:9px;
  font-size:12px;
  font-weight:450;
  padding-bottom:9px;
}
.checkbox-label input,.check-item input {
  min-height:0;
  width:17px;
  height:17px;
  accent-color:var(--brand);
  flex-shrink:0;
}
.result-count {
  margin-left:auto;
  white-space:nowrap;
  font-size:11px;
  color:var(--muted);
  padding-bottom:12px;
}
.table-scroll {
  overflow-x:auto;
}
table {
  width:100%;
  border-collapse:collapse;
  text-align:left;
  white-space:nowrap;
}
th {
  font-size:12px;
  font-weight:600;
  letter-spacing:.5px;
  color:#526872;
  background:#f6f8f8;
  padding:13px 20px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
th:first-child,td:first-child {
  padding-left:27px;
}
td {
  padding:18px 20px;
  font-size:14px;
  border-bottom:1px solid #edf0f1;
}
td strong {
  display:block;
  font-size:14px;
  font-weight:600;
  max-width:220px;
  overflow:hidden;
  text-overflow:ellipsis;
}
td small {
  display:block;
  color:var(--muted);
  font-size:12px;
  margin-top:6px;
}
tbody tr:hover {
  background:#fafcfc;
}
td .text-button {
  font-size:12px;
}
.pill.autorizacao {
  background:#fff1db;
  color:#865415;
}
.pill.recebido {
  background:#edf1f2;
  color:#4f626a;
}
.pill.solicitado {
  background:#fff1db;
  color:#865415;
}
.pill.autorizado {
  background:#e8f6ef;
  color:#24624f;
}
.pill.agendado {
  background:#e8f1fb;
  color:#2f5f91;
}
.pill.realizado {
  background:#edf4f4;
  color:#32616b;
}
.pill.faturamento {
  background:#e7f4ed;
  color:#286347;
}
.pill.conferencia {
  background:#f1eafa;
  color:#684487;
}
.pill.pronto_faturamento {
  background:#e2f5e9;
  color:#17633f;
}
.pill.cancelado {
  background:#f1f2f3;
  color:#5c656a;
}
.stage-row {
  box-shadow:inset 4px 0 #667b85;
}
.stage-row.solicitado {box-shadow:inset 4px 0 #a66a16;}
.stage-row.autorizado {box-shadow:inset 4px 0 #27725b;}
.stage-row.agendado {box-shadow:inset 4px 0 #32669b;}
.stage-row.realizado {box-shadow:inset 4px 0 #4d6d8c;}
.stage-row.conferencia {box-shadow:inset 4px 0 #765395;}
.stage-row.pronto_faturamento {box-shadow:inset 4px 0 #157347;}
.stage-row.faturamento {box-shadow:inset 4px 0 #25704f;}
.stage-row.cancelado {box-shadow:inset 4px 0 #7b858a;background:#fafbfb;}
.stage-row.has-pending {box-shadow:inset 5px 0 #b03636;background:#fffafa;}
.stage-row.is-stale:not(.has-pending) {box-shadow:inset 5px 0 #d4552d;background:#fffdf9;}
.pending-note {
  color:#a12727;
  font-weight:650;
  font-size:11px;
}
.stale-note {
  display:block;
  color:#a33d20;
  font-weight:700;
  margin-top:7px;
}
.attention-note {font-weight:650;white-space:normal;line-height:1.35;}
.attention-note.atrasada {color:#a33d20;}
.attention-note.pendencia {color:#a12727;}
.attention-note.hoje {color:#12658f;}
.attention-note.regular {color:#60727a;}
.check-progress {
  display:flex;
  gap:4px;
  margin-bottom:5px;
}
.check-progress i {
  width:19px;
  height:4px;
  background:#dce4e5;
  border-radius:2px;
}
.check-progress i.done {
  background:#4d8870;
}
.queue-footer {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:16px 25px;
  gap:16px;
}
.queue-footer p {
  font-size:11px;
  color:var(--muted);
}
.empty {
  text-align:center;
  padding:64px 20px;
  border-top:1px solid var(--line);
}
.empty>span {
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  margin:0 auto;
  border-radius:50%;
  background:#fff1f3;
  color:var(--brand);
  font-size:28px;
}
.empty h3 {
  margin:12px 0 8px;
}
.empty p {
  color:var(--muted);
  font-size:14px;
  margin-bottom:22px;
}
.workflow-note {
  display:flex;
  gap:15px;
  align-items:center;
  padding:24px 0;
}
.workflow-note h3 {
  font-size:13px;
  font-weight:650;
}
.workflow-note p {
  font-size:12px;
  color:var(--muted);
  margin-top:5px;
}
.note-icon {
  height:35px;
  width:35px;
  background:#e7eeea;
  color:var(--green);
  display:grid;
  place-items:center;
  border-radius:50%;
  flex-shrink:0;
}
dialog {
  border:1px solid #d6dfe2;
  border-radius:16px;
  padding:28px;
  width:min(570px,calc(100% - 28px));
  max-height:90dvh;
  color:var(--ink);
  box-shadow:0 30px 80px #10263030;
}
dialog::backdrop {
  background:#10263091;
  backdrop-filter:blur(3px);
}
.large-dialog,.case-dialog {
  width:min(860px,calc(100% - 28px));
}
.case-dialog {width:min(980px,calc(100% - 28px));}
.reports-dialog {
  width:min(780px,calc(100% - 28px));
}
.dialog-heading {
  display:flex;
  align-items:start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:22px;
}
.dialog-heading h2 {
  font-size:24px;
}
.close-button {
  height:36px;
  width:36px;
  flex-shrink:0;
  border:1px solid var(--line);
  border-radius:50%;
  background:#fff;
  font-size:23px;
  color:var(--muted);
}
.detail-grid {
  display:grid;
  grid-template-columns:minmax(120px,1fr) 2fr;
  gap:13px 20px;
  margin:24px 0;
  padding:22px 0;
  border-block:1px solid var(--line);
}
.guide-identity {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  background:var(--nav);
  color:white;
  border-radius:11px;
  padding:18px 20px;
  margin-bottom:22px;
}
.guide-identity>div {
  display:grid;
  gap:4px;
}
.guide-identity>div span {
  color:#aec1c8;
  font-size:12px;
}
.guide-identity strong {
  font-family:Manrope,sans-serif;
  font-size:21px;
}
.guide-update {
  border:1px solid var(--line);
  border-radius:11px;
  padding:20px;
  margin:0 0 24px;
  background:#f8fafa;
}
.guide-update>.field-grid {
  margin-top:18px;
}
.pending-toggle {
  flex-direction:row;
  align-items:center;
  align-self:end;
  min-height:46px;
  border:1px solid #dfc8c8;
  background:#fff7f7;
  padding:11px 13px;
  border-radius:8px;
  color:#7f3333;
}
.pending-toggle input {
  width:18px;
  height:18px;
  min-height:0;
  accent-color:#a72435;
}
.detail-grid dt {
  font-size:12px;
  color:var(--muted);
}
.detail-grid dd {
  font-size:13px;
  font-weight:550;
  margin:0;
  overflow-wrap:anywhere;
}
.dialog-actions {
  display:flex;
  gap:12px;
  justify-content:flex-end;
  padding-top:18px;
}
.stepper {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  list-style:none;
  padding:0;
  margin:0 0 20px;
  gap:8px;
}
.stepper li {
  display:grid;
  grid-template-columns:29px minmax(0,1fr);
  align-items:center;
  column-gap:8px;
  min-height:64px;
  padding:9px;
  border:1px solid #dce4e5;
  border-radius:10px;
  background:#f8fafa;
  font-size:11px;
  color:var(--muted);
  line-height:1.25;
}
.stepper li b {
  grid-row:1/3;
  height:29px;
  width:29px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#e7edef;
  color:#61747c;
  font-family:Manrope,sans-serif;
}
.stepper li span {font-weight:700;color:#53666e;}
.stepper li small {font-size:9px;color:#829197;}
.stepper li.passed {
  border-color:#bdd8ca;
  background:#f1f8f4;
}
.stepper li.passed b {background:#d9ebdf;color:#2d7053;}
.stepper li.current {
  border-color:#b62b40;
  background:#fff5f6;
  color:var(--brand);
}
.stepper li.current b {background:var(--brand);color:white;}
.stepper li.current span {color:var(--brand);}
.stepper li.cancelled {opacity:.58;}
.workflow-sections {
  display:grid;
  gap:12px;
  margin-bottom:20px;
}
.workflow-phase {
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  overflow:hidden;
}
.workflow-phase>summary {
  display:grid;
  grid-template-columns:36px minmax(0,1fr) 20px;
  align-items:center;
  gap:12px;
  padding:15px 17px;
  cursor:pointer;
  list-style:none;
  user-select:none;
}
.workflow-phase>summary::-webkit-details-marker {display:none;}
.workflow-phase>summary>span:nth-child(2) {display:grid;gap:3px;}
.workflow-phase>summary strong {font-size:14px;}
.workflow-phase>summary small {font-size:11px;color:var(--muted);}
.workflow-phase>summary i {font-size:24px;font-style:normal;color:#7b8b91;transform:rotate(90deg);transition:transform .15s ease;}
.workflow-phase[open]>summary i {transform:rotate(-90deg);}
.phase-number {
  height:34px;
  width:34px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:#edf1f2;
  color:#566b73;
  font-family:Manrope,sans-serif;
  font-weight:800;
}
.workflow-phase.passed {border-color:#c8ddd2;}
.workflow-phase.passed .phase-number {background:#dff0e6;color:#2e7355;}
.workflow-phase.current {border-color:#d4a8af;box-shadow:0 0 0 3px #a724350b;}
.workflow-phase.current>summary {background:#fff8f8;}
.workflow-phase.current .phase-number {background:var(--brand);color:#fff;}
.workflow-phase.future>summary {background:#fafbfb;}
.phase-content {
  padding:20px;
  border-top:1px solid var(--line);
  background:#fcfdfd;
}
.mini-checks {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-bottom:18px;
}
.mini-checks label,.inline-check {
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:10px;
  min-height:48px;
  padding:11px 13px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
  font-size:12px;
  font-weight:600;
}
.mini-checks input,.inline-check input {
  width:18px;
  height:18px;
  min-height:0;
  flex-shrink:0;
  accent-color:var(--brand);
}
.entry-options {margin-top:18px;}
.quick-time {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:14px;
  min-height:42px;
}
.quick-time .text-button {margin:0;}
.quick-time .button {margin-left:auto;}
.check-list {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:18px;
}
.check-item {
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:10px;
  border:1px solid var(--line);
  padding:14px;
  border-radius:8px;
  font-size:13px;
}
.check-item.locked {
  color:#718087;
  background:#f5f7f7;
}
.check-item small {
  margin-left:auto;
  color:var(--muted);
  font-size:11px;
  text-align:right;
}
.action-guidance {
  display:grid;
  gap:5px;
  margin-top:18px;
  padding:15px 17px;
  border:1px solid #d6e1e3;
  border-left:4px solid #6b8791;
  border-radius:9px;
  background:#f5f8f9;
  color:#354c55;
}
.action-guidance strong {
  font-size:14px;
}
.action-guidance span {
  font-size:13px;
  line-height:1.5;
}
.action-guidance.ready {
  border-color:#cde3d7;
  border-left-color:#39765a;
  background:#f0f8f4;
  color:#245f46;
}
.action-guidance.blocked {
  border-color:#eed9c8;
  border-left-color:#b56635;
  background:#fff8f1;
  color:#7c3f20;
}
.action-guidance[hidden] {
  display:none;
}
.helper {
  font-size:12px;
  color:var(--muted);
  margin-top:8px;
}
.patient-overview {
  margin:0 0 26px;
  border:1px solid var(--line);
  border-radius:11px;
  overflow:hidden;
}
.patient-overview>div:first-child {
  padding:18px 20px;
  background:#f7f9f9;
  display:flex;
  align-items:center;
  gap:16px;
}
.patient-overview .patient-actions {margin-left:auto;display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end;}
.patient-overview .text-button {margin-left:0;}
.patient-overview td:last-child .text-button {display:block;margin:7px 0 0;}
#profile-form,#process-form,#cancel-form {display:grid;gap:18px;}
.patient-overview h3 {
  font-size:15px;
}
.patient-overview p {
  color:var(--muted);
  font-size:13px;
  margin-top:5px;
}
.patient-overview th,.patient-overview td {
  padding:11px 16px;
}
@media (max-width:700px) {
  .patient-overview>div:first-child {align-items:flex-start;flex-direction:column;}
  .patient-overview .patient-actions {margin-left:0;width:100%;justify-content:flex-start;}
}
.report-controls {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:22px 0;
}
.report-preview {
  border:1px solid var(--line);
  border-radius:11px;
  overflow:hidden;
}
.report-summary,.report-group-row {
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:16px 18px;
}
.report-summary {
  align-items:center;
  background:var(--nav);
  color:white;
}
.report-summary strong {
  font-family:Manrope,sans-serif;
  font-size:22px;
}
.report-summary span {
  color:#c4d3d8;
  font-size:13px;
}
.report-group-row {
  align-items:flex-start;
  border-top:1px solid var(--line);
}
.report-group-row:first-of-type {
  border-top:0;
}
.report-group-row strong {
  font-size:14px;
  min-width:145px;
}
.report-group-row span {
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
  text-align:right;
}
.report-empty {
  padding:28px;
  color:var(--muted);
  font-size:14px;
  text-align:center;
}
.print-sheet {
  display:none;
}
.history {
  border-top:1px solid var(--line);
  margin-top:26px;
  padding-top:22px;
}
.history ol {
  padding:0;
  list-style:none;
  margin:20px 0 0;
}
.history li {
  border-left:2px solid #dce6e3;
  position:relative;
  padding:0 0 22px 20px;
  margin-left:5px;
  font-size:12px;
  line-height:1.6;
}
.history li:before {
  content:'';
  position:absolute;
  width:8px;
  height:8px;
  background:#65877b;
  border-radius:50%;
  left:-5px;
  top:5px;
}
.history li:last-child {
  padding-bottom:0;
}
.history small {
  display:block;
  color:var(--muted);
  font-size:10px;
  margin-top:4px;
}
.large-dialog .form-section {
  padding-inline:0;
}
.field-feedback {
  min-height:20px;
  margin:10px 0 0;
  color:var(--green);
  font-size:12px;
  font-weight:650;
}
.automatic-author {
  margin:20px 0 0;
  padding:13px 15px;
  border:1px solid #cddfd8;
  border-radius:9px;
  background:#f4faf7;
  color:var(--muted);
  font-size:12px;
}
.batch-items {
  margin:20px 0;
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden;
  max-height:330px;
  overflow-y:auto;
}
.batch-items-heading {
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:14px 16px;
  background:#f5f8f8;
  border-bottom:1px solid var(--line);
  font-size:12px;
  color:var(--muted);
}
.batch-items-heading strong {color:var(--ink);}
.batch-item {
  display:flex;
  flex-direction:row;
  align-items:flex-start;
  gap:12px;
  padding:14px 16px;
  border-bottom:1px solid #edf0f1;
  cursor:pointer;
}
.batch-item:last-child {border-bottom:0;}
.batch-item:hover {background:#fafcfc;}
.batch-item input {width:18px;min-height:18px;accent-color:var(--brand);margin-top:2px;}
.batch-item span {display:grid;gap:4px;}
.batch-item strong {font-size:13px;}
.batch-item small {color:var(--muted);font-size:11px;line-height:1.4;}
.batch-history {margin-top:26px;border-top:1px solid var(--line);padding-top:20px;}
.batch-history h3 {font-size:14px;margin-bottom:10px;}
.batch-history-row {display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid #edf0f1;font-size:11px;color:var(--muted);}
.batch-history-row div {display:grid;gap:3px;}
.batch-history-row strong {color:var(--ink);font-size:12px;}
.application-choice {
  border:0;
  padding:0;
  margin:0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.application-choice legend {
  font-size:14px;
  font-weight:700;
  margin-bottom:10px;
}
.application-choice label {
  position:relative;
}
.application-choice input {
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.application-choice span {
  min-height:58px;
  border:1px solid var(--line);
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  background:#fff;
  cursor:pointer;
  font-size:14px;
  transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;
}
.application-choice input:checked+span {
  border-color:var(--brand);
  background:#eef5f2;
  box-shadow:0 0 0 3px #2f67561f;
}
.application-choice input:focus-visible+span {
  outline:3px solid #2f675630;
  outline-offset:2px;
}
.application-choice strong {font-size:18px;}
#login-form {
  display:grid;
  gap:20px;
}
.docs-link {
  display:block;
  margin-top:24px;
  font-size:12px;
  text-decoration:underline;
  color:var(--muted);
}
@media(min-width:1550px) {
  .registration-layout {
    grid-template-columns:minmax(0,1fr) 350px;
  }
  .review-card {
    padding:32px;
  }
  .card-heading,.form-section,.form-actions {
    padding-inline:35px;
  }
}
@media(max-width:1200px) {
  .sidebar {
    width:204px;
    padding-inline:12px;
  }
  .workspace {
    margin-left:204px;
  }
  main {
    padding:30px 25px 40px;
  }
  .topbar {
    padding-inline:25px;
  }
  .registration-layout {
    grid-template-columns:minmax(0,1fr) 260px;
    gap:20px;
  }
  .metric {
    padding:18px 15px;
  }
  .toolbar {
    flex-wrap:wrap;
    gap:12px;
  }
  .result-count {
    margin-left:auto;
  }
  .demo-controls {
    flex-wrap:wrap;
  }
  .demo-controls p {
    min-width:220px;
  }
  .page-heading {
    align-items:flex-start;
  }
  .page-heading>.button {
    margin-top:10px;
  }
  .brand {
    font-size:23px;
    gap:10px;
  }
  .brand small {
    font-size:10px;
  }
}
@media(max-width:980px) {
  .sidebar {
    width:190px;
  }
  .workspace {
    margin-left:190px;
  }
  .sidebar nav a {
    font-size:12px;
    padding-inline:10px;
    gap:6px;
  }
  .registration-layout {
    grid-template-columns:1fr;
  }
  .review-column {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
  }
  .demo-link {
    grid-column:1/-1;
  }
  .stage-overview {grid-template-columns:repeat(2,390px);overflow-x:auto;}
  .page-heading {
    flex-wrap:wrap;
  }
  .page-heading>.button {
    margin-top:0;
  }
  .topbar-tag {
    display:none;
  }
  .demo-banner {
    align-items:start;
  }
  .demo-banner>span {
    max-width:65%;
  }
}
@media(max-width:720px) {
  .sidebar {
    position:relative;
    width:auto;
    padding:18px 20px 0;
    display:block;
  }
  .brand {
    margin:0 0 18px;
    padding:0;
    font-size:22px;
  }
  .brand small {
    font-size:10px;
  }
  .brand-mark {
    height:37px;
    width:37px;
    font-size:28px;
    line-height:34px;
  }
  .nav-label,.sidebar-note,.repository-link {
    display:none;
  }
  .sidebar nav {
    display:flex;
    gap:10px;
  }
  .sidebar nav a {
    flex:1;
    font-size:12px;
    justify-content:center;
    border-radius:8px 8px 0 0;
    padding:10px;
  }
  .sidebar nav a[aria-current] {
    box-shadow:inset 0 -3px #e87886;
  }
  .sidebar nav a>span {
    font-size:18px;
  }
  .workspace {
    margin:0;
  }
  .topbar {
    height:50px;
    font-size:11px;
    padding:0 20px;
  }
  main {
    padding:25px 16px 30px;
  }
  .page-heading {
    gap:17px;
    margin-bottom:25px;
  }
  .heading-actions {
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .heading-actions .button {
    white-space:normal;
  }
  h1 {
    font-size:28px;
    letter-spacing:-.8px;
  }
  .page-heading p:not(.eyebrow) {
    font-size:13px;
  }
  .eyebrow {
    font-size:10px;
  }
  .card-heading {
    padding:20px;
    align-items:flex-start;
  }
  .card-heading h2 {
    font-size:17px;
  }
  .card-heading .pill {
    display:none;
  }
  .form-section {
    padding:23px 20px;
  }
  .field-grid {
    gap:20px;
    grid-template-columns:1fr;
  }
  .form-actions {
    padding:20px;
    flex-wrap:wrap;
  }
  .form-actions .button {
    width:100%;
  }
  .form-actions p {
    max-width:none;
  }
  .review-column {
    grid-template-columns:1fr;
  }
  .review-card {
    display:none;
  }
  .tip-card {
    padding:0 8px;
  }
  .demo-link {
    grid-column:auto;
  }
  .demo-banner {
    font-size:11px;
    margin-bottom:23px;
    padding:12px;
    flex-wrap:wrap;
    gap:4px;
  }
  .demo-banner>span {
    max-width:none;
  }
  .demo-banner .text-button {
    font-size:12px;
  }
  .demo-controls {
    gap:8px 12px;
    margin-top:0;
  }
  .demo-controls p {
    width:100%;
    flex:auto;
    order:3;
    margin-top:4px;
  }
  .demo-controls>.text-button {
    margin-left:auto;
    font-size:10px;
  }
  .status-heading {align-items:flex-start;}
  .status-legend {display:none;}
  .metric {
    padding:17px 14px;
    gap:10px;
  }
  .metric>span {
    font-size:11px;
    line-height:1.5;
  }
  .metric strong {
    font-size:29px;
  }
  .metric small {
    font-size:10px;
  }
  .filter {
    font-size:13px;
    min-height:106px;
  }
  .toolbar {
    padding:18px 16px;
    gap:14px;
  }
  .search-field {
    max-width:none;
    width:100%;
    flex:auto;
  }
  .checkbox-label {
    font-size:11px;
    padding:0;
  }
  .result-count {
    font-size:10px;
    padding:0;
  }
  .queue-card .card-heading {
    gap:10px;
  }
  .queue-card .card-heading p {
    font-size:12px;
  }
  .compact {
    font-size:12px!important;
  }
  .queue-footer {
    padding:14px 16px;
  }
  .queue-footer p {
    font-size:10px;
  }
  .workflow-note {
    align-items:start;
  }
  footer {
    padding:20px;
    flex-wrap:wrap;
    gap:10px;
    font-size:10px;
  }
  dialog {
    padding:21px;
  }
  .dialog-heading h2 {
    font-size:21px;
  }
  .detail-grid {
    gap:12px;
    grid-template-columns:1fr 1.4fr;
  }
  .detail-grid dt,.detail-grid dd {
    font-size:12px;
  }
  .check-list {
    grid-template-columns:1fr;
  }
  .dialog-actions {
    flex-direction:column-reverse;
  }
  .report-controls {
    grid-template-columns:1fr;
  }
  .report-summary,.report-group-row {
    flex-direction:column;
    gap:5px;
  }
  .report-group-row span {
    text-align:left;
  }
  .stepper li {
    font-size:9px;
  }
  .stepper {
    grid-template-columns:repeat(5,150px);
    overflow-x:auto;
    padding-bottom:6px;
  }
  .mini-checks {grid-template-columns:1fr;}
  .phase-content {padding:16px;}
  .quick-time {align-items:stretch;flex-direction:column;}
  .quick-time .button {margin-left:0;}
  .history li {
    font-size:11px;
  }
}
@page {
  size:A4 landscape;
  margin:10mm;
}
@media print {
  body {
    background:#fff;
    color:#111;
  }
  body>.sidebar,.workspace,.no-script {
    display:none!important;
  }
  body>.workspace:has(.print-sheet) {
    display:block!important;
    margin:0!important;
  }
  body>.workspace>header,body>.workspace>footer,body>.workspace>main>*:not(.print-sheet) {
    display:none!important;
  }
  body>.workspace>main {
    max-width:none;
    padding:0;
    margin:0;
  }
  .print-sheet {
    display:block!important;
  }
  .print-insurer {
    break-after:page;
    font-family:Arial,sans-serif;
    color:#111;
  }
  .print-insurer:last-child {
    break-after:auto;
  }
  .print-header {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    border-bottom:2px solid #111;
    padding:0 0 5mm;
    margin-bottom:4mm;
  }
  .print-header>div:first-child {
    display:grid;
    gap:2px;
  }
  .print-header>div:first-child strong {
    font-size:20pt;
  }
  .print-header>div:first-child span,.print-header p {
    font-size:9pt;
  }
  .print-header h1 {
    font-family:Arial,sans-serif;
    font-size:16pt;
    letter-spacing:0;
    text-align:right;
  }
  .print-header p {
    text-align:right;
  }
  .print-meta {
    display:flex;
    justify-content:space-between;
    gap:8mm;
    font-size:8pt;
    margin-bottom:4mm;
  }
  .print-table {
    white-space:normal;
    table-layout:auto;
  }
  .print-table th,.print-table td {
    border:1px solid #777;
    padding:2.2mm 1.5mm;
    color:#111;
    background:#fff;
    font-size:6.8pt;
    vertical-align:top;
    overflow-wrap:anywhere;
  }
  .print-table th {
    font-weight:700;
  }
  .print-table th:first-child,.print-table td:first-child {
    width:8mm;
    padding-left:1.5mm;
    text-align:center;
  }
  .print-table th:nth-child(2),.print-table td:nth-child(2) {min-width:28mm;}
  .print-totals {
    display:flex;
    justify-content:space-between;
    gap:10mm;
    padding:3mm 0;
    font-size:8pt;
  }
  .print-signatures {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:8mm;
    margin-top:13mm;
  }
  .print-signatures>div {
    border-top:1px solid #222;
    padding-top:2mm;
    min-height:10mm;
  }
  .print-signatures span {
    font-size:8pt;
  }
  .print-reception {
    width:210mm;
    margin:0 auto;
    padding:8mm;
    border:1.5px solid #111;
    font-family:Arial,sans-serif;
    color:#111;
  }
  .slip-reference {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:3mm 8mm;
    padding:4mm;
    border:1px solid #555;
    font-size:10pt;
  }
  .slip-reference strong {font-size:12pt;}
  .slip-fields {
    display:grid;
    grid-template-columns:1.2fr 1fr 1fr;
    gap:8mm;
    margin:13mm 0 7mm;
  }
  .slip-fields>div {
    min-height:10mm;
    border-bottom:1px solid #222;
    display:flex;
    align-items:flex-end;
  }
  .slip-fields span {font-size:8pt;padding-bottom:1.5mm;}
  .slip-checklist {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:3mm 8mm;
    border-block:1px solid #777;
    padding:5mm 2mm;
    font-size:10pt;
  }
  .slip-pending {display:grid;gap:4mm;padding:6mm 2mm;font-size:9pt;}
  .slip-alert {
    margin-top:5mm;
    padding:4mm;
    border:2px solid #111;
    font-size:10pt;
    font-weight:700;
    text-align:center;
  }
  .print-insurer>footer {
    display:block;
    border:0;
    padding:5mm 0 0;
    font-size:7.5pt;
    color:#444;
  }
}
@media(prefers-reduced-motion:reduce) {
  * {
    transition:none!important;
    scroll-behavior:auto!important;
  }
}
