@font-face {
  font-family: "Newsreader";
  src: url("/assets/newsreader-variable-09c52322.ttf") format("truetype");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}

@font-face {
  font-family: "Manrope";
  src: url("/assets/manrope-variable-6f6d0ea0.ttf") format("truetype");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}

:root {
  --forest-950: #0d302d;
  --forest-900: #123f3a;
  --forest-800: #1b514a;
  --forest-700: #2c675d;
  --sage-600: #74988a;
  --sage-400: #a9c0b5;
  --sage-200: #cfdfd7;
  --sage-100: #e7efe9;
  --clay-700: #a94e31;
  --clay-600: #c55f38;
  --clay-500: #df7041;
  --clay-100: #f7ded2;
  --sky-600: #527b91;
  --sky-100: #e3edf1;
  --sun-600: #a57831;
  --sun-100: #f5e8ce;
  --canvas: #faf6ef;
  --paper: #fffdfa;
  --workspace: #f4f5f1;
  --ink: #26332f;
  --ink-muted: #69746f;
  --line: #dce2dd;
  --line-dark: #c9d2cc;
  --display: "Newsreader", "Iowan Old Style", Baskerville, serif;
  --ui: "Manrope", "Avenir Next", "Segoe UI", sans-serif;
  --shadow-sm: 0 10px 30px rgba(18, 63, 58, 0.07);
  --shadow-lg: 0 35px 90px rgba(18, 63, 58, 0.13);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  color: var(--ink);
  background: var(--canvas);
  font-family: var(--ui);
  font-size: 16px;
  line-height: 1.5;
  text-rendering: optimizeLegibility;
}

/* Identity and access */

.auth-page,
.account-page {
  min-height: 100vh;
  min-height: 100svh;
  background: var(--paper);
}

.auth-shell {
  display: grid;
  min-height: 100vh;
  min-height: 100svh;
  grid-template-columns: minmax(390px, 0.9fr) minmax(560px, 1.1fr);
}

.auth-story {
  position: relative;
  display: flex;
  min-height: 100%;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  padding: clamp(38px, 5vw, 72px);
  color: var(--forest-950);
  background:
    linear-gradient(180deg, rgba(250, 246, 239, 0.7), rgba(231, 239, 233, 0.72)),
    url("/assets/izipsi-watercolor-hero-v2-e691be83.png") center bottom / auto min(72vh, 760px) no-repeat,
    var(--canvas);
  isolation: isolate;
}

.auth-story::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: radial-gradient(circle at 48% 44%, rgba(255, 253, 250, 0.92) 0 24%, rgba(255, 253, 250, 0.18) 58%, transparent 72%);
  content: "";
}

.auth-story__copy {
  width: min(590px, 100%);
  margin: auto 0;
  padding: 72px 0 112px;
}

.auth-story__copy blockquote {
  margin: 0 0 24px;
  font-family: var(--display);
  font-size: clamp(44px, 4.3vw, 72px);
  font-weight: 570;
  letter-spacing: -0.05em;
  line-height: 0.96;
}

.auth-story__copy > p:last-child {
  width: min(460px, 100%);
  margin: 0;
  color: var(--forest-800);
  font-size: 16px;
  line-height: 1.75;
}

.auth-story__note {
  margin: 0;
  color: var(--forest-800);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.auth-panel {
  display: grid;
  min-height: 100%;
  place-items: center;
  padding: clamp(42px, 7vw, 96px);
  border-left: 1px solid var(--line);
  background: var(--paper);
}

.auth-panel__inner {
  width: min(500px, 100%);
}

.auth-back {
  display: inline-block;
  margin-bottom: clamp(46px, 7vh, 82px);
  color: var(--ink-muted);
  font-size: 13px;
  font-weight: 650;
  text-decoration: none;
}

.auth-back:hover,
.auth-secondary a,
.totp-setup a {
  color: var(--clay-600);
}

.auth-heading > p {
  margin: 0 0 10px;
  color: var(--clay-600);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.auth-heading h1 {
  margin: 0;
  color: var(--forest-950);
  font-size: clamp(35px, 3.2vw, 48px);
  font-weight: 720;
  letter-spacing: -0.05em;
  line-height: 1.05;
}

.auth-heading > span {
  display: block;
  margin-top: 15px;
  color: var(--ink-muted);
  font-size: 15px;
  line-height: 1.7;
}

.auth-message {
  margin-top: 24px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 12px;
  font-size: 13px;
  line-height: 1.55;
}

.auth-message--error {
  border-color: rgba(169, 78, 49, 0.3);
  background: rgba(247, 222, 210, 0.48);
  color: #813b28;
}

.auth-message--notice {
  border-color: var(--sage-200);
  background: rgba(231, 239, 233, 0.7);
  color: var(--forest-800);
}

.auth-form {
  display: grid;
  gap: 20px;
  margin-top: 30px;
}

.auth-field {
  display: grid;
  gap: 8px;
}

.auth-field__label {
  color: var(--forest-950);
  font-size: 13px;
  font-weight: 720;
}

.auth-field input {
  width: 100%;
  height: 54px;
  padding: 0 16px;
  border: 1px solid var(--line-dark);
  border-radius: 12px;
  outline: none;
  background: #fff;
  color: var(--ink);
  font-size: 15px;
  transition: border-color 150ms ease, box-shadow 150ms ease;
}

.auth-field input:focus {
  border-color: var(--forest-700);
  box-shadow: 0 0 0 4px rgba(116, 152, 138, 0.14);
}

.auth-field input::placeholder {
  color: #9ba49f;
}

.auth-field input.auth-field__otp {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.26em;
}

.auth-field small {
  color: var(--ink-muted);
  font-size: 11px;
}

.auth-submit {
  display: inline-flex;
  width: 100%;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  margin-top: 6px;
  padding: 0 24px;
  border: 0;
  border-radius: 12px;
  background: var(--forest-900);
  color: #fff;
  font-size: 14px;
  font-weight: 750;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: transform 150ms ease, background 150ms ease;
}

.auth-submit:hover:not(:disabled) {
  background: var(--forest-800);
  transform: translateY(-1px);
}

.auth-submit:disabled {
  cursor: wait;
  opacity: 0.65;
}

.auth-secondary {
  margin: 24px 0 0;
  color: var(--ink-muted);
  font-size: 13px;
  text-align: center;
}

/* Versioned clinical catalog */

.catalog-workspace {
  width: 100%;
  padding: 34px 40px 72px;
}

.catalog-heading {
  display: flex;
  min-height: 132px;
  align-items: flex-start;
  justify-content: space-between;
  gap: 32px;
}

.catalog-heading > div { max-width: 790px; }
.catalog-heading p,
.catalog-heading h1 { margin: 0; }
.catalog-heading .catalog-eyebrow {
  margin-bottom: 9px;
  color: var(--clay-700);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.catalog-heading h1 {
  color: var(--forest-950);
  font-family: var(--display);
  font-size: clamp(36px, 3vw, 50px);
  font-weight: 620;
  letter-spacing: -.04em;
  line-height: 1.03;
}

.catalog-heading h1 + p {
  max-width: 720px;
  margin-top: 13px;
  color: var(--ink-muted);
  font-size: 16px;
  line-height: 1.6;
}

.catalog-flash {
  display: flex;
  align-items: center;
  gap: 11px;
  margin: 5px 0 22px;
  padding: 14px 17px;
  border: 1px solid #cce4d8;
  border-radius: 13px;
  background: #eff9f3;
  color: #245e45;
  font-size: 14px;
  font-weight: 700;
}

.catalog-flash > span {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 50%;
  background: #39785a;
  color: #fff;
}

.catalog-flash--alert { border-color: #edc8c0; background: #fff2ee; color: #843c30; }
.catalog-flash--alert > span { background: #a74c3c; }

.catalog-summary {
  display: grid;
  margin: 22px 0;
  border: 1px solid #dde4df;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(35, 67, 55, .045);
  grid-template-columns: repeat(4, 1fr);
  overflow: hidden;
}

.catalog-summary article {
  display: grid;
  min-height: 122px;
  align-content: center;
  padding: 20px 25px;
  border-left: 1px solid #e8ece9;
}

.catalog-summary article:first-child { border-left: 0; background: #f2f7f3; }
.catalog-summary span { color: #6f7c76; font-size: 12px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.catalog-summary strong { margin: 5px 0 2px; color: var(--forest-950); font-size: 31px; line-height: 1; }
.catalog-summary small { color: #87928d; font-size: 12px; }

.catalog-layout {
  display: grid;
  align-items: start;
  gap: 22px;
  grid-template-columns: minmax(360px, .82fr) minmax(620px, 1.55fr);
}

.catalog-roster,
.catalog-editor {
  border: 1px solid #dfe5e1;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 38px rgba(35, 67, 55, .05);
  overflow: hidden;
}
.catalog-roster { position: sticky; top: 20px; }

.catalog-roster > header,
.catalog-editor > header,
.catalog-history > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.catalog-roster > header { padding: 23px 24px 17px; border-bottom: 1px solid #e8ece9; }
.catalog-roster h2,
.catalog-roster p,
.catalog-editor h2,
.catalog-editor p,
.catalog-editor header span,
.catalog-history h3 { margin: 0; }
.catalog-roster h2,
.catalog-editor h2 { color: var(--forest-950); font-size: 20px; letter-spacing: -.02em; }
.catalog-roster header p { margin-top: 4px; color: #7d8883; font-size: 12px; }

.catalog-filters { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.catalog-filters button {
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: #f4f6f4;
  color: #6b7771;
  font-size: 11px;
  font-weight: 750;
  cursor: pointer;
}
.catalog-filters button.is-active { border-color: #aac8b9; background: #e8f2ec; color: var(--forest-900); }

.catalog-list { display: grid; gap: 9px; padding: 12px; }
.catalog-card {
  display: grid;
  width: 100%;
  min-height: 100px;
  align-items: center;
  gap: 14px;
  padding: 14px;
  border: 1px solid transparent;
  border-radius: 14px;
  background: transparent;
  color: inherit;
  grid-template-columns: 51px 1fr 18px;
  text-align: left;
  cursor: pointer;
  transition: border-color 150ms ease, background 150ms ease, transform 150ms ease;
}
.catalog-card:hover { border-color: #d6e2db; background: #f8faf8; transform: translateY(-1px); }
.catalog-card.is-selected { border-color: #9fbfaf; background: #edf5f0; }
.catalog-card__symbol {
  display: grid;
  width: 51px;
  height: 51px;
  place-items: center;
  border-radius: 14px;
  background: #dcebe3;
  color: #315f4b;
  font-family: var(--display);
  font-size: 17px;
  font-weight: 750;
}
.catalog-card__symbol--package { background: #f6e4dc; color: #9b4c39; }
.catalog-card__symbol--document { background: #e4e8f1; color: #4f5f82; }
.catalog-card__copy { display: grid; min-width: 0; gap: 4px; }
.catalog-card__copy > span:first-child { display: flex; align-items: center; gap: 8px; }
.catalog-card__copy b { overflow: hidden; color: #173d31; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.catalog-card__copy em { padding: 3px 6px; border-radius: 5px; background: #fff; color: #6f7d77; font-size: 10px; font-style: normal; font-weight: 800; }
.catalog-card__copy > small { color: #7b8882; font-size: 12px; }
.catalog-card__copy .catalog-card__meta { display: flex; align-items: center; gap: 7px; color: #65726c; font-size: 12px; }
.catalog-card__meta strong { color: #334e43; font-size: 13px; }
.catalog-card__meta i { color: #b5beb9; }
.catalog-card__arrow { color: #97a39d; font-size: 26px; }

.catalog-empty { display: grid; min-height: 310px; place-items: center; align-content: center; padding: 36px; text-align: center; }
.catalog-empty > span { display: grid; width: 55px; height: 55px; place-items: center; border-radius: 18px; background: #e9f2ed; color: #52806b; font-size: 22px; }
.catalog-empty h3 { margin: 15px 0 5px; color: #22473a; font-size: 18px; }
.catalog-empty p { max-width: 300px; margin: 0; color: #7b8781; font-size: 13px; line-height: 1.55; }
.catalog-empty button { margin-top: 18px; border: 0; background: none; color: #356c54; font-weight: 800; cursor: pointer; }

.catalog-editor > header { padding: 25px 28px; border-bottom: 1px solid #e6ebe8; background: linear-gradient(120deg, #f5f8f5, #fff 68%); }
.catalog-editor > header p,
.catalog-history header p { margin-bottom: 5px; color: var(--clay-700); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.catalog-editor > header div > span { display: block; max-width: 650px; margin-top: 7px; color: #77837d; font-size: 13px; line-height: 1.5; }
.catalog-editor__lock { flex: 0 0 auto; padding: 7px 10px; border-radius: 8px; background: #e6f1ea; color: #3b6d57; font-size: 11px; font-weight: 800; }
.catalog-editor form { padding: 0 28px; }

.catalog-type-picker,
.catalog-form-section { margin: 0; padding: 25px 0; border: 0; border-bottom: 1px solid #e8ece9; }
.catalog-type-picker legend,
.catalog-form-section h3 { margin: 0 0 14px; color: #304b40; font-size: 13px; font-weight: 800; }
.catalog-type-picker > div { display: grid; gap: 9px; grid-template-columns: repeat(3, 1fr); }
.catalog-type-picker button {
  display: grid;
  min-height: 126px;
  align-content: start;
  gap: 5px;
  padding: 15px;
  border: 1px solid #dfe5e1;
  border-radius: 13px;
  background: #fff;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.catalog-type-picker button:hover:not(:disabled) { border-color: #9ebcab; }
.catalog-type-picker button.is-active { border-color: #739d88; background: #f0f6f2; box-shadow: inset 0 0 0 1px #739d88; }
.catalog-type-picker button > span { color: #c1654f; font-family: var(--display); font-size: 17px; font-weight: 800; }
.catalog-type-picker button b { color: #23483b; font-size: 13px; }
.catalog-type-picker button small,
.catalog-type-picker > small { color: #7b8782; font-size: 11px; line-height: 1.45; }
.catalog-type-picker > small { display: block; margin-top: 9px; }

.catalog-form-grid { display: grid; gap: 16px; grid-template-columns: 1fr 1fr; }
.catalog-field { display: grid; align-content: start; gap: 7px; }
.catalog-field--wide { grid-column: 1 / -1; }
.catalog-field > span:first-child { color: #42574e; font-size: 12px; font-weight: 750; }
.catalog-field input,
.catalog-field textarea,
.catalog-field select,
.catalog-money-input,
.catalog-unit-input {
  width: 100%;
  border: 1px solid #d7dfda;
  border-radius: 10px;
  background: #fff;
  color: #1d3d31;
  font: inherit;
  font-size: 14px;
  outline: 0;
}
.catalog-field > input,
.catalog-field > select { min-height: 46px; padding: 0 13px; }
.catalog-field textarea { min-height: 82px; padding: 12px 13px; resize: vertical; line-height: 1.5; }
.catalog-field input:focus,
.catalog-field textarea:focus,
.catalog-field select:focus,
.catalog-money-input:focus-within,
.catalog-unit-input:focus-within { border-color: #759f8a; box-shadow: 0 0 0 3px rgba(111, 151, 132, .13); }
.catalog-field > small { color: #a14939; font-size: 11px; font-weight: 700; }
.catalog-money-input,
.catalog-unit-input { display: flex; min-height: 46px; align-items: center; overflow: hidden; }
.catalog-money-input b,
.catalog-unit-input b { padding: 0 12px; color: #60716a; font-size: 13px; }
.catalog-money-input b { align-self: stretch; display: grid; place-items: center; border-right: 1px solid #e2e7e4; background: #f5f7f5; }
.catalog-money-input input,
.catalog-unit-input input { min-width: 0; height: 44px; flex: 1; padding: 0 12px; border: 0; outline: 0; }
.catalog-field--quiet { padding: 13px 14px; border-radius: 10px; background: #f4f6f4; }
.catalog-field--quiet strong { color: #597067; font-size: 13px; }

.catalog-condition-grid { display: grid; gap: 12px; grid-template-columns: 1fr 1fr; }
.catalog-toggle { position: relative; display: flex; min-height: 76px; align-items: center; justify-content: space-between; gap: 18px; padding: 13px 15px; border: 1px solid #dfe5e1; border-radius: 11px; cursor: pointer; }
.catalog-toggle > span { display: grid; gap: 4px; }
.catalog-toggle b { color: #314d42; font-size: 13px; }
.catalog-toggle small { color: #818c87; font-size: 11px; line-height: 1.4; }
.catalog-toggle input { position: absolute; opacity: 0; pointer-events: none; }
.catalog-toggle > i { position: relative; width: 40px; height: 23px; flex: 0 0 auto; border-radius: 20px; background: #cbd4cf; transition: background 150ms ease; }
.catalog-toggle > i::after { position: absolute; top: 3px; left: 3px; width: 17px; height: 17px; border-radius: 50%; background: #fff; box-shadow: 0 1px 4px rgba(0, 0, 0, .2); content: ''; transition: transform 150ms ease; }
.catalog-toggle input:checked + i { background: #4d846b; }
.catalog-toggle input:checked + i::after { transform: translateX(17px); }
.catalog-reason { background: #fffaf6; margin-inline: -28px; padding-inline: 28px; }

.catalog-policy-section { background: #f8faf8; margin-inline: -28px; padding-inline: 28px; }
.catalog-policy-section > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 15px; }
.catalog-policy-section > header h3 { margin-bottom: 4px; }
.catalog-policy-section > header p { max-width: 620px; margin: 0; color: #7a8781; font-size: 11px; line-height: 1.5; }
.catalog-policy-section > header > a { flex: 0 0 auto; color: #3f745d; font-size: 11px; font-weight: 780; text-decoration: none; }
.catalog-policy-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.catalog-policy-card { padding: 14px; border: 1px solid #dce4df; border-radius: 12px; background: #fff; }
.catalog-policy-card.is-overridden { border-color: #9fbeae; box-shadow: inset 0 3px 0 #76a089; }
.catalog-policy-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 11px; }
.catalog-policy-card > header > div { display: grid; gap: 3px; }
.catalog-policy-card > header span { color: #304d41; font-size: 13px; font-weight: 800; }
.catalog-policy-card > header small { color: #839089; font-size: 10px; }
.catalog-policy-card > header em { padding: 4px 7px; border-radius: 6px; background: #f0f3f1; color: #748078; font-size: 8px; font-style: normal; font-weight: 830; letter-spacing: .06em; text-transform: uppercase; }
.catalog-policy-card.is-overridden > header em { background: #e6f1ea; color: #3d7059; }
.catalog-policy-card__details { display: grid; gap: 8px; margin-top: 10px; }
.catalog-policy-card__details > label { display: grid; align-items: center; grid-template-columns: 1fr minmax(130px, .8fr); gap: 10px; }
.catalog-policy-card__details > label > span:first-child { color: #65766d; font-size: 10px; font-weight: 750; }
.catalog-policy-card__details > label > span:last-child { display: flex; height: 38px; align-items: center; overflow: hidden; border: 1px solid #d7e0db; border-radius: 8px; }
.catalog-policy-card__details input { min-width: 0; height: 36px; flex: 1; padding: 0 9px; border: 0; outline: 0; color: #29493c; font: inherit; font-size: 11px; }
.catalog-policy-card__details b { align-self: stretch; display: grid; place-items: center; padding: 0 9px; border-left: 1px solid #e1e7e3; background: #f5f7f5; color: #77847e; font-size: 9px; white-space: nowrap; }

.package-composition { background: #fbfcfa; margin-inline: -28px; padding-inline: 28px; }
.package-composition__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 15px; }
.package-composition__heading h3 { margin-bottom: 4px; }
.package-composition__heading p { margin: 0; color: #7b8781; font-size: 12px; line-height: 1.5; }
.package-composition__heading button {
  min-height: 36px;
  flex: 0 0 auto;
  padding: 0 12px;
  border: 1px solid #a9c5b7;
  border-radius: 9px;
  background: #eef5f1;
  color: #356650;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}
.package-composition__heading button:disabled { cursor: not-allowed; opacity: .45; }
.package-composition__empty { display: grid; gap: 4px; padding: 17px; border: 1px dashed #d2dcd6; border-radius: 11px; background: #fff; }
.package-composition__empty strong { color: #405b50; font-size: 13px; }
.package-composition__empty span { color: #7b8781; font-size: 12px; }
.package-component-list { display: grid; gap: 9px; }
.package-component {
  display: grid;
  align-items: end;
  gap: 10px;
  padding: 13px;
  border: 1px solid #dfe6e1;
  border-radius: 12px;
  background: #fff;
  grid-template-columns: 38px minmax(160px, 1.3fr) 72px minmax(132px, .8fr) 70px 28px;
}
.package-component__order { display: grid; width: 34px; height: 34px; place-items: center; align-self: center; border-radius: 10px; background: #e8f1ec; color: #416e59; font-size: 11px; font-weight: 850; }
.package-component .catalog-field { gap: 5px; }
.package-component .catalog-field > input,
.package-component .catalog-field > select,
.package-component .catalog-money-input { min-height: 42px; height: 42px; }
.package-component .catalog-unit-input input,
.package-component .catalog-money-input input { height: 40px; }
.package-component__subtotal { align-self: center; color: #36564a; font-size: 12px; text-align: right; white-space: nowrap; }
.package-component__remove { display: grid; width: 29px; height: 29px; place-items: center; align-self: center; border: 0; border-radius: 8px; background: #f5efec; color: #9c5140; font-size: 20px; line-height: 1; cursor: pointer; }
.package-component__remove:hover { background: #f1dfda; }
.package-balance { margin-top: 13px; padding: 15px 17px; border: 1px solid #ebc9bf; border-radius: 12px; background: #fff6f2; }
.package-balance.is-ready { border-color: #b9d6c7; background: #eff8f3; }
.package-balance dl { display: grid; margin: 0; grid-template-columns: repeat(4, 1fr); }
.package-balance dl > div { padding: 0 13px; border-left: 1px solid rgba(102, 119, 111, .17); }
.package-balance dl > div:first-child { padding-left: 0; border-left: 0; }
.package-balance dt { color: #7b8781; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.package-balance dd { margin: 3px 0 0; color: #354f44; font-size: 15px; font-weight: 800; }
.package-balance p { margin: 12px 0 0; padding-top: 11px; border-top: 1px solid rgba(102, 119, 111, .15); color: #8c4c3d; font-size: 11px; font-weight: 700; line-height: 1.5; }
.package-balance.is-ready p { color: #367058; }
.package-composition__error { display: block; margin-top: 9px; color: #a14939; font-size: 11px; font-weight: 750; }

.catalog-editor__footer { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 0 27px; }
.catalog-editor__footer > div { display: grid; gap: 2px; }
.catalog-editor__footer small { color: #8a9590; font-size: 10px; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.catalog-editor__footer strong { color: #24483b; font-size: 14px; }
.catalog-editor__footer span { color: #6e7b75; font-size: 12px; }

.catalog-history { border-top: 7px solid #f2f4f2; padding: 25px 28px 30px; }
.catalog-history h3 { color: #294b3f; font-size: 17px; }
.catalog-history > header > span { padding: 5px 9px; border-radius: 7px; background: #f0f3f1; color: #68766f; font-size: 11px; font-weight: 750; }
.catalog-history > div { display: grid; margin-top: 20px; }
.catalog-history article { display: grid; grid-template-columns: 22px 1fr; }
.catalog-history__rail { position: relative; display: flex; justify-content: center; }
.catalog-history__rail::after { position: absolute; top: 13px; bottom: -13px; width: 1px; background: #dbe3de; content: ''; }
.catalog-history article:last-child .catalog-history__rail::after { display: none; }
.catalog-history__rail i { position: relative; z-index: 1; width: 9px; height: 9px; margin-top: 4px; border: 2px solid #fff; border-radius: 50%; background: #668f7b; box-shadow: 0 0 0 2px #b8d0c3; }
.catalog-history article > div { display: grid; gap: 5px; padding: 0 0 22px 9px; }
.catalog-history article > div > span { display: flex; align-items: center; gap: 8px; }
.catalog-history article b { color: #304f43; font-size: 12px; }
.catalog-history article em { padding: 3px 6px; border-radius: 5px; background: #e9f3ed; color: #3b7058; font-size: 9px; font-style: normal; font-weight: 800; text-transform: uppercase; }
.catalog-history article strong { color: #4c5e56; font-size: 12px; }
.catalog-history article p { color: #718079; font-size: 12px; line-height: 1.45; }
.catalog-history article small { color: #929b97; font-size: 10px; }

.offer-tabs {
  display: inline-flex;
  gap: 4px;
  margin-bottom: 26px;
  padding: 4px;
  border: 1px solid #dce4df;
  border-radius: 11px;
  background: #fff;
}
.offer-tabs a { padding: 8px 13px; border-radius: 8px; color: #74817b; font-size: 12px; font-weight: 760; text-decoration: none; }
.offer-tabs a.is-active { background: #eaf3ee; color: #255b46; }

.policy-workspace { width: 100%; max-width: 1440px; margin: 0 auto; padding: 32px 40px 74px; }
.policy-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 25px;
}
.policy-heading p,
.policy-heading h1,
.policy-heading span { margin: 0; }
.policy-heading > div:first-child { max-width: 820px; }
.policy-heading p { margin-bottom: 8px; color: var(--clay-700); font-size: 12px; font-weight: 820; letter-spacing: .11em; text-transform: uppercase; }
.policy-heading h1 { color: var(--forest-950); font-family: var(--display); font-size: clamp(35px, 3vw, 49px); font-weight: 620; letter-spacing: -.04em; line-height: 1.04; }
.policy-heading h1 + span { display: block; max-width: 760px; margin-top: 12px; color: #718079; font-size: 15px; line-height: 1.6; }
.policy-heading__seal { display: grid; min-width: 235px; gap: 3px; padding: 15px 17px; border: 1px solid #cfe0d6; border-radius: 13px; background: #eff7f2; }
.policy-heading__seal span { color: #708078; font-size: 9px; font-weight: 820; letter-spacing: .1em; text-transform: uppercase; }
.policy-heading__seal strong { color: #315f4b; font-size: 13px; }

.policy-form { border: 1px solid #dce4df; border-radius: 18px; background: #fff; box-shadow: 0 18px 45px rgba(35, 67, 55, .055); overflow: hidden; }
.policy-section { display: grid; padding: 27px 30px; border-bottom: 1px solid #e4eae6; grid-template-columns: minmax(220px, .55fr) minmax(620px, 1.75fr); gap: 34px; }
.policy-section > header { display: flex; align-items: flex-start; gap: 13px; }
.policy-section > header > span { display: grid; width: 35px; height: 35px; flex: 0 0 auto; place-items: center; border-radius: 10px; background: #e5f0e9; color: #3d6e58; font-size: 10px; font-weight: 850; }
.policy-section h2,
.policy-section p { margin: 0; }
.policy-section h2 { color: #29483b; font-size: 17px; letter-spacing: -.01em; }
.policy-section p { margin-top: 4px; color: #7e8a84; font-size: 12px; line-height: 1.5; }
.policy-section__body { display: grid; gap: 13px; }
.policy-choice-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.policy-choice-grid--five { grid-template-columns: repeat(5, 1fr); }
.policy-choice-grid label { position: relative; display: grid; min-height: 110px; align-content: start; gap: 5px; padding: 13px; border: 1px solid #dce4df; border-radius: 11px; background: #fafbfa; cursor: pointer; }
.policy-choice-grid label:hover { border-color: #adc6b9; }
.policy-choice-grid label.is-selected { border-color: #75a089; background: #eef6f1; box-shadow: inset 0 0 0 1px #9dbdac; }
.policy-choice-grid input { position: absolute; opacity: 0; }
.policy-choice-grid i { width: 15px; height: 15px; margin-bottom: 4px; border: 1px solid #b8c7bf; border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 4px #fff; }
.policy-choice-grid label.is-selected i { border-color: #4f846b; background: #4f846b; }
.policy-choice-grid strong { color: #385247; font-size: 12px; }
.policy-choice-grid small { color: #7e8b84; font-size: 10px; line-height: 1.4; }
.policy-number-setting { display: flex; min-height: 67px; align-items: center; justify-content: space-between; gap: 20px; padding: 12px 14px; border: 1px solid #e0e6e2; border-radius: 10px; background: #f8faf8; }
.policy-number-setting > span:first-child { display: grid; gap: 3px; }
.policy-number-setting strong { color: #3a5248; font-size: 12px; }
.policy-number-setting small { color: #7e8b85; font-size: 10px; }
.policy-number-setting > span:last-child { display: flex; min-width: 165px; height: 41px; align-items: center; overflow: hidden; border: 1px solid #d5dfd9; border-radius: 9px; background: #fff; }
.policy-number-setting input { width: 80px; height: 39px; padding: 0 10px; border: 0; outline: 0; color: #234438; font: inherit; font-size: 13px; font-weight: 750; }
.policy-number-setting b { flex: 1; padding: 0 10px; border-left: 1px solid #e2e8e4; color: #6c7b74; font-size: 10px; white-space: nowrap; }
.policy-form__footer { display: flex; align-items: center; justify-content: space-between; gap: 26px; padding: 22px 30px; background: #f5f8f6; }
.policy-form__footer > div { display: grid; gap: 3px; }
.policy-form__footer small { color: #8a9690; font-size: 9px; font-weight: 820; letter-spacing: .09em; text-transform: uppercase; }
.policy-form__footer strong { color: #2c4d40; font-size: 14px; }
.policy-form__footer span { color: #76837d; font-size: 11px; }
.policy-form__footer button { min-height: 45px; padding: 0 18px; border: 0; border-radius: 10px; background: #255c47; color: #fff; font: inherit; font-size: 12px; font-weight: 780; cursor: pointer; }
.policy-form__footer button:disabled { cursor: not-allowed; opacity: .45; }

@media (max-width: 1180px) {
  .catalog-workspace { padding-inline: 28px; }
  .catalog-layout { grid-template-columns: 1fr; }
  .catalog-roster { position: static; }
  .catalog-list { grid-template-columns: repeat(2, 1fr); }
  .package-component { grid-template-columns: 38px minmax(200px, 1fr) 90px minmax(160px, .8fr) 82px 30px; }
  .policy-section { grid-template-columns: 1fr; }
  .policy-choice-grid--five { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 760px) {
  .catalog-workspace { padding: 23px 14px 45px; }
  .catalog-heading { min-height: 0; align-items: stretch; flex-direction: column; }
  .catalog-heading .locations-primary-action { width: 100%; }
  .catalog-summary { grid-template-columns: 1fr 1fr; }
  .catalog-summary article:nth-child(3) { border-left: 0; border-top: 1px solid #e8ece9; }
  .catalog-summary article:nth-child(4) { border-top: 1px solid #e8ece9; }
  .catalog-roster > header { flex-direction: column; }
  .catalog-filters { justify-content: flex-start; }
  .catalog-list { grid-template-columns: 1fr; }
  .catalog-editor > header { flex-direction: column; }
  .catalog-type-picker > div,
  .catalog-form-grid,
  .catalog-condition-grid { grid-template-columns: 1fr; }
  .catalog-field--wide { grid-column: auto; }
  .catalog-editor form { padding-inline: 18px; }
  .catalog-reason,
  .package-composition,
  .catalog-policy-section { margin-inline: -18px; padding-inline: 18px; }
  .package-composition__heading { flex-direction: column; }
  .package-component { align-items: start; grid-template-columns: 34px 1fr 30px; }
  .package-component__service { grid-column: 2; }
  .package-component__quantity,
  .package-component__refund { grid-column: 2 / -1; }
  .package-component__subtotal { grid-column: 2; text-align: left; }
  .package-component__remove { grid-column: 3; grid-row: 1; }
  .package-balance dl { gap: 13px; grid-template-columns: 1fr 1fr; }
  .package-balance dl > div,
  .package-balance dl > div:first-child { padding: 0; border-left: 0; }
  .catalog-editor__footer { align-items: stretch; flex-direction: column; }
  .catalog-editor__footer .locations-primary-action { width: 100%; }
  .catalog-policy-section > header { flex-direction: column; }
  .catalog-policy-grid { grid-template-columns: 1fr; }
  .offer-tabs { display: flex; }
  .offer-tabs a { flex: 1; text-align: center; }
  .policy-workspace { padding: 23px 14px 45px; }
  .policy-heading { flex-direction: column; gap: 18px; }
  .policy-heading__seal { width: 100%; }
  .policy-section { padding: 22px 18px; gap: 18px; }
  .policy-choice-grid,
  .policy-choice-grid--five { grid-template-columns: 1fr 1fr; }
  .policy-number-setting { align-items: flex-start; flex-direction: column; }
  .policy-number-setting > span:last-child { width: 100%; }
  .policy-form__footer { align-items: stretch; flex-direction: column; padding: 20px 18px; }
  .policy-form__footer button { width: 100%; }
}

/* Requirements attached to a published service version */
.service-requirements > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 16px; }
.service-requirements > header h3,
.service-requirements > header p { margin: 0; }
.service-requirements > header p { max-width: 610px; margin-top: 5px; color: #7d8983; font-size: 11px; line-height: 1.5; }
.service-requirements > header button { min-height: 36px; flex: 0 0 auto; padding: 0 12px; border: 1px solid #cbdcd3; border-radius: 8px; background: #f3f8f5; color: #35644f; cursor: pointer; font: inherit; font-size: 10px; font-weight: 780; }
.service-requirements__empty { display: flex; min-height: 82px; align-items: center; padding: 16px; border: 1px dashed #d3ded8; border-radius: 10px; background: #fafcfb; gap: 12px; }
.service-requirements__empty > span { display: grid; width: 36px; height: 36px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: #e4f1e9; color: #43705c; font-size: 14px; font-weight: 800; }
.service-requirements__empty strong,
.service-requirements__empty small { display: block; }
.service-requirements__empty strong { color: #3e574c; font-size: 12px; }
.service-requirements__empty small { margin-top: 3px; color: #87938d; font-size: 10px; }
.service-requirements__list { display: grid; gap: 10px; }
.service-requirements__list > article { overflow: hidden; border: 1px solid #dce5e0; border-radius: 11px; background: #fbfcfb; }
.service-requirements__list > article > header { display: grid; min-height: 42px; align-items: center; padding: 0 12px; border-bottom: 1px solid #e4ebe7; background: #f2f6f3; grid-template-columns: auto 1fr auto; gap: 9px; }
.service-requirements__list > article > header span { color: #a06446; font-size: 9px; font-weight: 840; letter-spacing: .06em; }
.service-requirements__list > article > header strong { color: #496056; font-size: 11px; }
.service-requirements__list > article > header button { width: 27px; height: 27px; padding: 0; border: 0; border-radius: 7px; background: transparent; color: #8c7063; cursor: pointer; font: inherit; font-size: 18px; }
.service-requirements__grid { display: grid; align-items: end; padding: 14px; grid-template-columns: .7fr 1.4fr .8fr 1fr; gap: 12px; }
.service-requirements__subject { grid-column: span 2; }
.service-requirements__mandatory { display: flex; min-height: 67px; align-items: center; padding: 10px 12px; border: 1px solid #dce5e0; border-radius: 8px; background: #fff; gap: 9px; }
.service-requirements__mandatory input { width: 17px; height: 17px; accent-color: #46745f; }
.service-requirements__mandatory b,
.service-requirements__mandatory small { display: block; }
.service-requirements__mandatory b { color: #435b50; font-size: 10px; }
.service-requirements__mandatory small { margin-top: 3px; color: #87938d; font-size: 8px; }
.service-requirements__inherited { margin-bottom: 12px; padding: 14px; border: 1px solid #e4dfd2; border-radius: 10px; background: #fdfbf6; }
.service-requirements__inherited > div { display: flex; align-items: baseline; gap: 8px; }
.service-requirements__inherited > div strong { color: #6d604a; font-size: 11px; }
.service-requirements__inherited > div span { color: #9b8d77; font-size: 9px; }
.service-requirements__inherited ul { display: flex; flex-wrap: wrap; margin: 10px 0 0; padding: 0; list-style: none; gap: 6px; }
.service-requirements__inherited li { display: grid; min-height: 36px; align-items: center; padding: 5px 9px; border: 1px solid #e6dfd0; border-radius: 8px; background: #fff; grid-template-columns: auto auto; column-gap: 6px; }
.service-requirements__inherited li > span { color: #a87758; font-size: 10px; }
.service-requirements__inherited li b { color: #625a4d; font-size: 9px; }
.service-requirements__inherited li small { color: #9c9180; font-size: 8px; grid-column: 2; }
.service-requirements__library { display: block; width: fit-content; margin: 12px 0 0 auto; color: #45705d; font-size: 10px; font-weight: 740; text-decoration: none; }
.service-requirements__preview { overflow: hidden; margin-top: 14px; border: 1px solid #dce5e0; border-radius: 11px; background: #fff; }
.service-requirements__preview > header { display: flex; min-height: 52px; align-items: center; justify-content: space-between; padding: 9px 13px; border-bottom: 1px solid #e4eae6; background: #f3f7f4; }
.service-requirements__preview > header strong,
.service-requirements__preview > header span { display: block; }
.service-requirements__preview > header strong { color: #3a574a; font-size: 11px; }
.service-requirements__preview > header span { margin-top: 2px; color: #8a958f; font-size: 9px; }
.service-requirements__preview > header em { padding: 5px 8px; border-radius: 999px; background: #e3eee7; color: #456b59; font-size: 9px; font-style: normal; font-weight: 780; }
.service-requirements__preview > div { display: grid; max-height: 250px; overflow: auto; }
.service-requirements__preview article { display: grid; min-height: 54px; align-items: center; padding: 8px 12px; border-bottom: 1px solid #edf1ef; grid-template-columns: 30px minmax(130px, .6fr) 1.4fr; gap: 9px; }
.service-requirements__preview article:last-child { border-bottom: 0; }
.service-requirements__preview article > span { display: grid; width: 26px; height: 26px; place-items: center; border-radius: 7px; background: #e8f1ec; color: #426a58; font-size: 9px; font-weight: 820; }
.service-requirements__preview article b,
.service-requirements__preview article small { display: block; }
.service-requirements__preview article b { color: #455c51; font-size: 10px; }
.service-requirements__preview article small { margin-top: 2px; color: #929c97; font-size: 8px; }
.service-requirements__preview ul { display: flex; flex-wrap: wrap; justify-content: flex-end; margin: 0; padding: 0; list-style: none; gap: 5px; }
.service-requirements__preview li { padding: 4px 7px; border-radius: 999px; background: #f8ede7; color: #8a5b43; font-size: 8px; font-weight: 720; }
.service-requirements__preview li.is-empty { background: #f0f3f1; color: #8b9690; font-weight: 620; }
.catalog-card__requirements { display: flex; flex-wrap: wrap; margin-top: 7px; gap: 4px; }
.catalog-card__requirements i { padding: 3px 6px; border-radius: 999px; background: #edf3ef; color: #557264; font-size: 8px; font-style: normal; font-weight: 750; }

@media (max-width: 1500px) {
  .service-requirements__grid { grid-template-columns: 1fr 1fr; }
  .service-requirements__subject { grid-column: auto; }
}

@media (max-width: 680px) {
  .service-requirements > header { align-items: stretch; flex-direction: column; }
  .service-requirements__grid { grid-template-columns: 1fr; }
  .service-requirements__preview article { grid-template-columns: 30px 1fr; }
  .service-requirements__preview ul { grid-column: 2; justify-content: flex-start; }
}

/* Agenda · package care workspace */
.packages-workspace { min-height: 100vh; padding: 34px clamp(22px, 3vw, 48px) 56px; background: #f5f7f5; }
.packages-heading { display: flex; align-items: end; justify-content: space-between; gap: 28px; }
.packages-heading p, .packages-heading h1, .packages-heading span { margin: 0; }
.packages-heading p { color: #a45d3e; font-size: 11px; font-weight: 820; letter-spacing: .09em; text-transform: uppercase; }
.packages-heading h1 { max-width: 760px; margin-top: 7px; color: #203d34; font-size: clamp(34px, 3.1vw, 49px); font-weight: 790; letter-spacing: -.052em; line-height: 1.02; }
.packages-heading h1 + span { display: block; margin-top: 10px; color: #6f7d77; font-size: 15px; }
.packages-heading > div:last-child { display: flex; align-items: center; gap: 10px; }
.packages-heading a, .packages-heading button { min-height: 45px; padding: 0 18px; border: 1px solid #cbd9d1; border-radius: 10px; background: #fff; color: #3e6354; cursor: pointer; font: inherit; font-size: 12px; font-weight: 780; text-decoration: none; }
.packages-heading button { border-color: #315f4e; background: #315f4e; color: #fff; box-shadow: 0 9px 24px rgba(49,95,78,.17); }
.packages-feedback { margin-top: 22px; padding: 12px 15px; border: 1px solid #c9dfd3; border-radius: 11px; background: #edf7f1; color: #35664f; font-size: 12px; font-weight: 700; }
.packages-feedback.is-error { border-color: #edc9b9; background: #fff2eb; color: #94492f; }
.packages-summary { display: grid; margin-top: 28px; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 13px; }
.package-summary { display: grid; min-height: 120px; align-items: center; padding: 20px; border: 1px solid #e1e7e3; border-radius: 15px; background: #fff; box-shadow: 0 7px 23px rgba(34,60,49,.045); grid-template-columns: 5px 1fr; gap: 16px; }
.package-summary > i { width: 5px; height: 62px; border-radius: 9px; background: #5d8a75; }
.package-summary.is-sage > i { background: #8cae9b; }.package-summary.is-amber > i { background: #d5a05b; }.package-summary.is-clay > i { background: #c97757; }
.package-summary span, .package-summary strong, .package-summary small { display: block; }
.package-summary span { color: #6e7c75; font-size: 11px; font-weight: 720; }.package-summary strong { margin-top: 5px; color: #243f36; font-size: 30px; line-height: 1; }.package-summary small { margin-top: 8px; color: #929c97; font-size: 10px; }
.packages-panel { margin-top: 18px; overflow: hidden; border: 1px solid #dfe6e2; border-radius: 17px; background: #fff; box-shadow: 0 10px 32px rgba(37,61,52,.05); }
.packages-toolbar { display: flex; align-items: center; justify-content: space-between; padding: 22px 24px; border-bottom: 1px solid #e8edea; }
.packages-toolbar span { color: #a05c40; font-size: 10px; font-weight: 820; letter-spacing: .08em; text-transform: uppercase; }.packages-toolbar h2 { margin: 4px 0 0; color: #2a443a; font-size: 21px; }
.packages-toolbar label { display: grid; width: min(310px,40vw); height: 43px; align-items: center; padding: 0 12px; border: 1px solid #d6e0da; border-radius: 10px; background: #fafcfb; grid-template-columns: 19px 1fr; gap: 8px; }
.packages-toolbar label svg { width: 17px; fill: none; stroke: #829088; stroke-width: 1.8; }.packages-toolbar input { border: 0; outline: 0; background: transparent; color: #354b42; font: inherit; font-size: 12px; }
.package-list { display: grid; padding: 18px; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; }
.package-card { overflow: hidden; border: 1px solid #dce5df; border-radius: 15px; background: #fff; }
.package-card--expired { border-color: #e8cbbb; }.package-card--completed { background: #f9fbfa; }
.package-card__identity { display: grid; align-items: center; padding: 19px 20px 16px; grid-template-columns: 48px minmax(0,1fr) auto; gap: 12px; }
.package-card__identity > span { display: grid; width: 47px; height: 47px; place-items: center; border-radius: 13px; background: #e6f0ea; color: #386751; font-size: 12px; font-weight: 820; }.package-card__identity small { color: #9c6147; font-size: 10px; font-weight: 770; }.package-card__identity h3 { margin: 3px 0 0; color: #2e473d; font-size: 16px; }.package-card__identity p { margin: 4px 0 0; color: #819089; font-size: 10px; }.package-card__identity > b { padding: 6px 9px; border-radius: 999px; background: #eaf4ee; color: #3d735a; font-size: 9px; text-transform: uppercase; }.package-card--expired .package-card__identity > b { background: #fff0e8; color: #a45134; }
.package-progress { display: grid; align-items: center; margin: 0 20px; padding: 14px; border-radius: 11px; background: #f5f8f6; grid-template-columns: auto minmax(90px,1fr) auto; gap: 13px; }.package-progress strong, .package-progress span { display: block; }.package-progress strong { color: #315f4e; font-size: 16px; }.package-progress span, .package-progress small { color: #829089; font-size: 9px; }.package-progress__bar { height: 7px; overflow: hidden; border-radius: 9px; background: #dfe8e3; }.package-progress__bar i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#477762,#79a08e); }
.package-session-strip { display: flex; overflow-x: auto; padding: 17px 20px 15px; gap: 8px; }.package-session-dot { min-width: 63px; text-align: center; }.package-session-dot span { display: grid; width: 30px; height: 30px; margin: auto; place-items: center; border: 1px solid #cddbd3; border-radius: 50%; background: #fff; color: #648074; font-size: 10px; font-weight: 810; }.package-session-dot small { display: block; margin-top: 5px; color: #8a9690; font-size: 8px; white-space: nowrap; }.package-session-dot.is-consumed span { border-color: #527e69; background: #527e69; color: #fff; }.package-session-dot.is-reserved span { border-color: #d18b68; background: #fff1e9; color: #9b4c31; }.package-session-dot.is-expired span,.package-session-dot.is-refunded span { border-color: #ddd; background: #f1f2f1; color: #929a96; }
.package-card__footer { display: flex; min-height: 72px; align-items: center; justify-content: space-between; padding: 14px 20px; border-top: 1px solid #e8edea; gap: 12px; }.package-card__footer small,.package-card__footer strong,.package-card__footer em { display: block; }.package-card__footer small { color: #8a9690; font-size: 9px; }.package-card__footer strong { margin-top: 2px; color: #334b42; font-size: 14px; }.package-card__footer em { margin-top: 3px; color: #a35b3e; font-size: 8px; font-style: normal; }.package-card__actions { display: flex; gap: 7px; }.package-card__actions button { min-height: 37px; padding: 0 12px; border: 1px solid #315f4e; border-radius: 9px; background: #315f4e; color: #fff; cursor: pointer; font: inherit; font-size: 10px; font-weight: 770; }.package-card__actions button.is-warm { border-color: #d8a185; background: #fff2ea; color: #94492f; }
.package-installments { display: grid; border-top: 1px solid #e9eeeb; background: #fafcfb; grid-template-columns: repeat(4,minmax(0,1fr)); }.package-installments > div { padding: 10px 12px; border-right: 1px solid #e8edea; }.package-installments > div:last-child { border-right: 0; }.package-installments span,.package-installments strong,.package-installments small { display: block; }.package-installments span { color: #7d8a84; font-size: 8px; text-transform: uppercase; }.package-installments strong { margin-top: 3px; color: #3d554b; font-size: 11px; }.package-installments small { margin-top: 3px; color: #929c97; font-size: 7px; line-height: 1.35; }.package-installments .is-paid { background: #f1f7f3; }
.packages-empty { display: grid; min-height: 360px; place-content: center; justify-items: center; padding: 30px; color: #84918b; text-align: center; }.packages-empty > span { display: grid; width: 54px; height: 54px; place-items: center; border-radius: 17px; background: #edf4ef; color: #527865; font-size: 23px; }.packages-empty h2 { margin: 14px 0 0; color: #3a5147; font-size: 18px; }.packages-empty p { margin: 7px 0 0; font-size: 11px; }
.packages-dialog { position: fixed; z-index: 90; inset: 0; display: grid; place-items: center; padding: 20px; }.packages-dialog > button { position: absolute; inset: 0; border: 0; background: rgba(24,43,36,.42); backdrop-filter: blur(4px); }.packages-dialog > section { position: relative; width: min(620px,100%); max-height: calc(100vh - 40px); overflow: auto; border-radius: 17px; background: #fff; box-shadow: 0 25px 75px rgba(26,48,39,.27); }.packages-dialog header { display: flex; align-items: start; justify-content: space-between; padding: 23px 25px 18px; border-bottom: 1px solid #e6ebe8; background: linear-gradient(145deg,#f7faf8,#fff8f3); }.packages-dialog header small { color: #a05b3e; font-size: 9px; font-weight: 820; letter-spacing: .08em; text-transform: uppercase; }.packages-dialog header h2 { margin: 5px 0 0; color: #294239; font-size: 25px; letter-spacing: -.03em; }.packages-dialog header p { margin: 6px 0 0; color: #75827c; font-size: 11px; }.packages-dialog header > button { width: 34px; height: 34px; border: 1px solid #d7e0db; border-radius: 9px; background: #fff; color: #66776f; cursor: pointer; font-size: 21px; }
.package-dialog-form { display: grid; padding: 22px 25px 25px; gap: 15px; }.package-dialog-form label > span,.package-dialog-form legend { display: block; margin-bottom: 6px; color: #53685e; font-size: 10px; font-weight: 780; }.package-dialog-form select,.package-dialog-form input,.package-dialog-form textarea { width: 100%; min-height: 45px; padding: 0 12px; border: 1px solid #d4dfd8; border-radius: 9px; outline: 0; background: #fbfcfb; color: #334a41; font: inherit; font-size: 11px; }.package-dialog-form textarea { min-height: 90px; padding-block: 11px; resize: vertical; }.package-dialog-form select:focus,.package-dialog-form input:focus,.package-dialog-form textarea:focus { border-color: #729783; box-shadow: 0 0 0 3px rgba(78,126,104,.11); }.package-dialog-form fieldset { display: flex; margin: 0; padding: 0; border: 0; gap: 7px; }.package-dialog-form fieldset button { min-height: 39px; padding: 0 13px; border: 1px solid #d4dfd8; border-radius: 9px; background: #fff; color: #687971; cursor: pointer; font: inherit; font-size: 10px; font-weight: 740; }.package-dialog-form fieldset button.is-selected { border-color: #4d7a65; background: #edf5f0; color: #315f4e; box-shadow: inset 0 0 0 1px #4d7a65; }.package-sale-preview { display: flex; align-items: center; padding: 13px 14px; border-radius: 10px; background: #f1f7f3; color: #557064; gap: 12px; }.package-sale-preview strong { color: #315f4e; font-size: 12px; }.package-sale-preview span { font-size: 10px; }.package-sale-preview b { margin-left: auto; color: #29483c; font-size: 17px; }.package-form-note { margin: -5px 0 0; color: #89958f; font-size: 9px; }.package-next-session { display: grid; align-items: center; padding: 14px; border-radius: 11px; background: #f1f7f3; grid-template-columns: 44px 1fr; gap: 11px; }.package-next-session > span { display: grid; width: 41px; height: 41px; place-items: center; border-radius: 12px; background: #3f705b; color: #fff; font-size: 16px; font-weight: 820; }.package-next-session strong,.package-next-session small { display: block; }.package-next-session strong { color: #30493f; font-size: 12px; }.package-next-session small { margin-top: 4px; color: #7c8b84; font-size: 9px; }.package-payment-warning { margin: 0; padding: 11px 13px; border: 1px solid #efcfbf; border-radius: 9px; background: #fff3ed; color: #945038; font-size: 10px; line-height: 1.45; }.package-resolution { display: grid !important; grid-template-columns: 1fr 1fr; }.package-resolution legend { grid-column: 1/-1; }.package-dialog-actions { display: grid; margin-top: 5px; grid-template-columns: .7fr 1.3fr; gap: 9px; }.package-dialog-actions button { min-height: 47px; border: 1px solid #d3ddd7; border-radius: 9px; background: #fff; color: #60756b; cursor: pointer; font: inherit; font-size: 11px; font-weight: 780; }.package-dialog-actions button:last-child { border-color: #315f4e; background: #315f4e; color: #fff; }.package-dialog-actions button:disabled { cursor: not-allowed; opacity: .45; }
@media (max-width: 1180px) { .packages-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }.package-list { grid-template-columns: 1fr; } }
@media (max-width: 720px) { .packages-workspace { padding: 24px 14px 44px; }.packages-heading { align-items: stretch; flex-direction: column; }.packages-heading > div:last-child { display: grid; grid-template-columns: 1fr 1fr; }.packages-heading h1 { font-size: 35px; }.packages-summary { grid-template-columns: 1fr; }.packages-toolbar { align-items: stretch; flex-direction: column; gap: 14px; }.packages-toolbar label { width: 100%; }.package-list { padding: 10px; }.package-card__identity { grid-template-columns: 45px minmax(0,1fr); }.package-card__identity > b { grid-column: 2; width: fit-content; }.package-progress { grid-template-columns: 1fr; }.package-card__footer { align-items: stretch; flex-direction: column; }.package-card__actions button { flex: 1; }.package-installments { grid-template-columns: repeat(2,1fr); }.package-dialog-form { padding-inline: 16px; }.package-dialog-form fieldset { flex-wrap: wrap; } }

/* Comfortable reading scale for the operational package workspace. */
.packages-heading p { font-size: 12px; }
.packages-heading h1 + span { font-size: 16px; }
.packages-heading a, .packages-heading button { min-height: 47px; font-size: 13px; }
.package-summary span { font-size: 13px; }
.package-summary strong { font-size: 32px; }
.package-summary small { font-size: 12px; }
.packages-toolbar span { font-size: 11px; }
.packages-toolbar h2 { font-size: 23px; }
.packages-toolbar input { font-size: 14px; }
.package-card__identity small, .package-card__identity p { font-size: 12px; }
.package-card__identity h3 { font-size: 18px; }
.package-card__identity > b, .package-session-dot small { font-size: 10px; }
.package-progress span, .package-progress small { font-size: 11px; }
.package-card__footer small { font-size: 11px; }
.package-card__footer strong { font-size: 16px; }
.package-card__footer em { font-size: 10px; }
.package-card__actions button { min-height: 40px; font-size: 11px; }
.package-installments span { font-size: 10px; }
.package-installments strong { font-size: 13px; }
.package-installments small { font-size: 9px; }
.package-dialog-form label > span, .package-dialog-form legend { font-size: 12px; }
.package-dialog-form select, .package-dialog-form input, .package-dialog-form textarea { min-height: 47px; font-size: 13px; }

/* Cobros y caja */
.financial-page { background: #f3f6f4; }
.finance-workspace {
  width: 100%;
  min-height: calc(100vh - 76px);
  padding: 34px clamp(24px, 3vw, 52px) 58px;
  color: #294139;
  font-family: Manrope, sans-serif;
}

.finance-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 26px;
}
.finance-heading > div:first-child { max-width: 740px; }
.finance-heading__actions { display: flex; align-items: center; gap: 10px; }
.finance-commercial-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  padding: 0 15px;
  border: 1px solid #d6dfda;
  border-radius: 10px;
  background: #fff;
  color: #315f4e;
  font-size: 11px;
  font-weight: 780;
  text-decoration: none;
}
.finance-eyebrow {
  margin: 0 0 7px;
  color: #a95c3e;
  font-size: 12px;
  font-weight: 820;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.finance-heading h1 {
  margin: 0;
  color: #183d32;
  font-size: clamp(36px, 3.25vw, 52px);
  font-weight: 780;
  letter-spacing: -.052em;
  line-height: 1.03;
}
.finance-heading h1 + span {
  display: block;
  margin-top: 9px;
  color: #6b7b74;
  font-size: 16px;
  line-height: 1.5;
}
.shift-pill {
  display: flex;
  min-width: 285px;
  align-items: center;
  padding: 14px 17px;
  border: 1px solid #dde3df;
  border-radius: 13px;
  background: rgba(255,255,255,.75);
  box-shadow: 0 5px 18px rgba(31,62,51,.04);
  gap: 11px;
}
.shift-pill > span {
  width: 10px;
  height: 10px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #abb5b0;
  box-shadow: 0 0 0 5px #edf0ee;
}
.shift-pill--open > span { background: #46a879; box-shadow: 0 0 0 5px #dff0e7; }
.shift-pill small,
.shift-pill strong { display: block; }
.shift-pill small { color: #859089; font-size: 11px; font-weight: 760; text-transform: uppercase; }
.shift-pill strong { margin-top: 3px; color: #365048; font-size: 14px; }

.finance-feedback,
.handover-banner {
  display: grid;
  align-items: center;
  margin-bottom: 19px;
  border-radius: 13px;
}
.finance-feedback {
  padding: 13px 16px;
  border: 1px solid #cce3d5;
  background: #eff8f2;
  grid-template-columns: 27px 1fr;
  gap: 11px;
}
.finance-feedback > span {
  display: grid;
  width: 25px;
  height: 25px;
  place-items: center;
  border-radius: 50%;
  background: #d3ebdc;
  color: #2c7655;
  font-size: 12px;
  font-weight: 900;
}
.finance-feedback strong { display: block; color: #315f4e; font-size: 13px; }
.finance-feedback p { margin: 3px 0 0; color: #668176; font-size: 12px; }
.finance-feedback--error { border-color: #efc9b9; background: #fff2eb; }
.finance-feedback--error > span { background: #f7d9cd; color: #9c4d32; }
.finance-feedback--error strong { color: #8e452f; }
.finance-feedback--error p { color: #936a5d; }

.handover-banner {
  padding: 17px 18px;
  border: 1px solid #bfd8e7;
  background: linear-gradient(110deg, #eef7fb, #f7fbfd);
  grid-template-columns: 45px 1fr auto;
  gap: 14px;
}
.handover-banner__icon {
  display: grid;
  width: 43px;
  height: 43px;
  place-items: center;
  border-radius: 12px;
  background: #d8ebf5;
  color: #3e6c84;
  font-size: 20px;
  font-weight: 800;
}
.handover-banner small,
.handover-banner strong { display: block; }
.handover-banner small { color: #7190a0; font-size: 9px; font-weight: 820; letter-spacing: .08em; text-transform: uppercase; }
.handover-banner strong { margin-top: 3px; color: #31586a; font-size: 14px; }
.handover-banner p { margin: 4px 0 0; color: #6c8490; font-size: 11px; }
.handover-banner button {
  min-height: 40px;
  padding: 0 17px;
  border: 0;
  border-radius: 9px;
  background: #3f6f86;
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-size: 11px;
  font-weight: 790;
}

.finance-summary {
  display: grid;
  margin-bottom: 24px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.finance-summary-card {
  display: grid;
  min-height: 126px;
  align-items: start;
  padding: 20px;
  border: 1px solid #e0e6e2;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 7px 24px rgba(35,67,56,.045);
  grid-template-columns: 9px 1fr;
  gap: 14px;
}
.finance-summary-card > span { width: 9px; height: 37px; border-radius: 99px; background: #b8c3be; }
.finance-summary-card small,
.finance-summary-card strong { display: block; }
.finance-summary-card small { color: #7e8b85; font-size: 11px; font-weight: 760; text-transform: uppercase; }
.finance-summary-card strong { margin-top: 6px; color: #28453a; font-size: 27px; font-weight: 790; letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.finance-summary-card p { margin: 4px 0 0; color: #8a958f; font-size: 11px; }
.finance-summary-card--green > span { background: #50a77c; }
.finance-summary-card--amber > span { background: #d49a42; }
.finance-summary-card--blue > span { background: #6598b2; }
.finance-summary-card--clay > span { background: #bd7456; }

.finance-tabs {
  display: flex;
  width: fit-content;
  margin-bottom: 15px;
  padding: 4px;
  border: 1px solid #e0e6e2;
  border-radius: 11px;
  background: #e9eeeb;
  gap: 4px;
}
.finance-tabs button {
  display: flex;
  min-height: 42px;
  align-items: center;
  padding: 0 17px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #65766e;
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  font-weight: 780;
  gap: 8px;
}
.finance-tabs button svg { width: 17px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.finance-tabs button.is-active { background: #fff; color: #315f4e; box-shadow: 0 3px 10px rgba(43,76,64,.1); }
.finance-tabs button b { display: grid; min-width: 20px; height: 20px; place-items: center; border-radius: 99px; background: #f1ddd3; color: #985239; font-size: 9px; }
.finance-tabs button > i { width: 7px; height: 7px; margin-left: 2px; border-radius: 50%; background: #aab4af; }
.finance-tabs button > i.is-online { background: #42a675; box-shadow: 0 0 0 3px #daf0e4; }

.collections-layout,
.cash-layout,
.cash-empty-layout { display: grid; align-items: start; gap: 15px; }
.collections-layout { grid-template-columns: minmax(620px, 1.45fr) minmax(350px, .65fr); }
.finance-side-column { display: grid; gap: 15px; }
.finance-card {
  overflow: hidden;
  border: 1px solid #e0e6e2;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 7px 28px rgba(35,67,56,.045);
}
.finance-card__heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 22px 23px 18px;
  border-bottom: 1px solid #e8ece9;
  gap: 16px;
}
.finance-card__heading > div > span {
  color: #a15b3f;
  font-size: 10px;
  font-weight: 830;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.finance-card__heading h2 { margin: 5px 0 0; color: #294139; font-size: 21px; font-weight: 780; letter-spacing: -.025em; }
.finance-card__heading p { margin: 4px 0 0; color: #87928c; font-size: 11px; }
.finance-card__heading--compact { align-items: center; padding-block: 18px 16px; }
.finance-card__heading--compact h2 { font-size: 18px; }
.finance-card__heading--compact > b { display: grid; min-width: 29px; height: 29px; place-items: center; border-radius: 9px; background: #f4e5dc; color: #9c593d; font-size: 12px; }
.finance-search {
  display: grid;
  width: min(250px, 38%);
  height: 41px;
  align-items: center;
  padding: 0 11px;
  border: 1px solid #dbe3de;
  border-radius: 9px;
  background: #f8faf9;
  grid-template-columns: 18px 1fr;
  gap: 7px;
}
.finance-search svg { width: 16px; fill: none; stroke: #85918b; stroke-width: 1.8; }
.finance-search input { min-width: 0; border: 0; outline: 0; background: transparent; color: #334a41; font: inherit; font-size: 12px; }

.collection-list { min-height: 410px; }
.collection-row {
  display: grid;
  min-height: 103px;
  align-items: center;
  padding: 15px 20px;
  border-bottom: 1px solid #edf0ee;
  grid-template-columns: 44px minmax(175px, 1.2fr) minmax(130px, .75fr) minmax(115px, .65fr) 85px;
  gap: 12px;
}
.collection-row:last-child { border-bottom: 0; }
.collection-row:hover { background: #fbfcfb; }
.finance-avatar {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 12px;
  background: #e5f0e9;
  color: #376b56;
  font-size: 11px;
  font-weight: 820;
}
.finance-avatar--small { width: 35px; height: 35px; border-radius: 10px; font-size: 9px; }
.collection-row__identity { min-width: 0; }
.collection-row__identity strong,
.collection-row__identity small { display: block; }
.collection-row__identity strong { overflow: hidden; color: #30483e; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.collection-row__identity p { overflow: hidden; margin: 4px 0 0; color: #697970; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.collection-row__identity small { margin-top: 4px; color: #929b96; font-size: 10px; text-transform: capitalize; }
.collection-row__state small { display: block; margin-top: 5px; color: #9a654d; font-size: 10px; }
.finance-status { display: inline-flex; min-height: 27px; align-items: center; padding: 0 9px; border-radius: 99px; background: #edf2ef; color: #687970; font-size: 9px; font-weight: 820; letter-spacing: .025em; text-transform: uppercase; }
.finance-status--held { background: #fff0e8; color: #a65336; }
.finance-status--review { background: #fff6dc; color: #8f681f; }
.finance-status--covered { background: #e6f3eb; color: #367557; }
.collection-row__amount { text-align: right; }
.collection-row__amount small,
.collection-row__amount strong,
.collection-row__amount span { display: block; }
.collection-row__amount small { color: #929c97; font-size: 9px; text-transform: uppercase; }
.collection-row__amount strong { margin-top: 3px; color: #29463b; font-size: 16px; font-variant-numeric: tabular-nums; }
.collection-row__amount span { margin-top: 2px; color: #9ba39f; font-size: 9px; }
.finance-primary-button {
  min-height: 37px;
  padding: 0 13px;
  border: 1px solid #315f4e;
  border-radius: 8px;
  background: #315f4e;
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-size: 11px;
  font-weight: 790;
}
.finance-primary-button:hover { background: #254f40; }
.finance-primary-button:disabled { border-color: #d9dfdc; background: #f0f2f1; color: #9da6a1; cursor: not-allowed; }

.validation-list { max-height: 484px; overflow: auto; }
.validation-item { padding: 16px 18px; border-bottom: 1px solid #edf0ee; }
.validation-item:last-child { border-bottom: 0; }
.validation-item--overdue { background: #fff9f5; }
.validation-item__top { display: grid; align-items: center; grid-template-columns: 35px 1fr auto; gap: 9px; }
.validation-item__top > div { min-width: 0; }
.validation-item__top strong,
.validation-item__top p { overflow: hidden; margin: 0; text-overflow: ellipsis; white-space: nowrap; }
.validation-item__top strong { color: #344b42; font-size: 12px; }
.validation-item__top p { margin-top: 3px; color: #86918c; font-size: 10px; }
.validation-item__top > b { color: #2f4b40; font-size: 13px; font-variant-numeric: tabular-nums; }
.validation-item__meta { display: flex; justify-content: space-between; margin-top: 10px; color: #929c97; font-size: 9px; }
.validation-item__meta .is-overdue { color: #aa5236; font-weight: 800; }
.file-processing { margin: 10px 0 0; padding: 8px 9px; border-radius: 7px; background: #f3f5f4; color: #78867f; font-size: 8px; }
.validation-item__actions { display: grid; margin-top: 11px; grid-template-columns: .7fr 1.3fr; gap: 7px; }
.validation-item__actions button { min-height: 36px; border: 1px solid #d9e1dc; border-radius: 7px; background: #fff; color: #7c5d51; cursor: pointer; font: inherit; font-size: 10px; font-weight: 780; }
.validation-item__actions button:last-child { border-color: #4b8069; background: #edf6f1; color: #32644f; }
.validation-item__actions button:disabled { cursor: not-allowed; opacity: .42; }

.recent-payment-list > div {
  display: grid;
  align-items: center;
  padding: 11px 18px;
  border-bottom: 1px solid #eef1ef;
  grid-template-columns: 8px 1fr auto;
  gap: 10px;
}
.recent-payment-list > div:last-child { border-bottom: 0; }
.activity-dot { width: 7px; height: 7px; border-radius: 50%; background: #b7c0bc; }
.activity-dot--validated { background: #4ca477; }
.activity-dot--rejected { background: #c36b4e; }
.recent-payment-list p { margin: 0; }
.recent-payment-list p strong,
.recent-payment-list p small,
.recent-payment-list > div > div strong,
.recent-payment-list > div > div small { display: block; }
.recent-payment-list p strong { color: #3a5047; font-size: 11px; }
.recent-payment-list p small { margin-top: 2px; color: #939c98; font-size: 9px; }
.recent-payment-list > div > div { text-align: right; }
.recent-payment-list > div > div strong { color: #344c42; font-size: 11px; }
.recent-payment-list > div > div small { margin-top: 2px; color: #8b9690; font-size: 9px; }
.finance-card__empty-copy { margin: 0; padding: 24px; color: #8c9792; font-size: 10px; text-align: center; }
.finance-empty { display: grid; min-height: 320px; align-content: center; justify-items: center; padding: 30px; color: #88958f; text-align: center; }
.finance-empty > span { display: grid; width: 45px; height: 45px; place-items: center; border-radius: 14px; background: #e9f2ed; color: #44735f; font-size: 18px; }
.finance-empty strong { margin-top: 12px; color: #466056; font-size: 13px; }
.finance-empty p { max-width: 280px; margin: 5px 0 0; font-size: 10px; line-height: 1.5; }
.finance-empty--compact { min-height: 165px; }
.finance-empty--compact > span { width: 36px; height: 36px; border-radius: 11px; font-size: 14px; }

/* Caja */
.cash-empty-layout { grid-template-columns: minmax(520px, .9fr) minmax(420px, 1.1fr); }
.cash-opening-card { display: grid; min-height: 470px; align-content: center; justify-items: center; padding: 50px; text-align: center; }
.cash-opening-illustration { position: relative; display: grid; width: 112px; height: 96px; place-items: center; margin-bottom: 22px; border-radius: 28px 28px 20px 20px; background: linear-gradient(145deg, #dcebe2, #f1f7f3); }
.cash-opening-illustration > span { color: #376751; font-size: 29px; font-weight: 790; }
.cash-opening-illustration > i { position: absolute; width: 70px; height: 8px; right: 20px; bottom: 16px; border-radius: 99px; background: #b8d2c3; }
.cash-opening-illustration > b { position: absolute; display: grid; width: 28px; height: 28px; right: -8px; top: -8px; place-items: center; border: 4px solid #fff; border-radius: 50%; background: #d97f5b; color: #fff; font-size: 12px; }
.cash-opening-card > p { margin: 0; color: #a15b3f; font-size: 10px; font-weight: 820; letter-spacing: .08em; text-transform: uppercase; }
.cash-opening-card h2 { max-width: 430px; margin: 8px 0 0; color: #28453a; font-size: 25px; letter-spacing: -.035em; }
.cash-opening-card > span { max-width: 430px; margin-top: 9px; color: #78877f; font-size: 12px; line-height: 1.55; }
.cash-opening-card > button { min-height: 44px; margin-top: 24px; padding: 0 22px; border: 0; border-radius: 9px; background: #315f4e; color: #fff; cursor: pointer; font: inherit; font-size: 11px; font-weight: 790; box-shadow: 0 8px 18px rgba(49,95,78,.17); }
.cash-layout { grid-template-columns: minmax(570px, 1.3fr) minmax(330px, .7fr); }
.cash-position-card { grid-column: 1 / -1; }
.cash-position-card__heading { display: flex; align-items: flex-start; justify-content: space-between; padding: 25px 27px 20px; gap: 20px; }
.cash-position-card__heading > div > span { color: #a25b3f; font-size: 9px; font-weight: 820; letter-spacing: .09em; text-transform: uppercase; }
.cash-position-card__heading h2 { margin: 5px 0 0; color: #21463a; font-size: 34px; letter-spacing: -.045em; font-variant-numeric: tabular-nums; }
.cash-position-card__heading p { margin: 4px 0 0; color: #84918b; font-size: 10px; }
.open-indicator { display: inline-flex; min-height: 30px; align-items: center; padding: 0 10px; border-radius: 99px; background: #eaf5ee; color: #3f755c; font-size: 9px; font-weight: 760; gap: 6px; }
.open-indicator i { width: 7px; height: 7px; border-radius: 50%; background: #44a676; }
.cash-equation { display: grid; align-items: center; margin: 0 27px; padding: 17px 20px; border: 1px solid #e1e8e3; border-radius: 12px; background: #f7faf8; grid-template-columns: repeat(7, auto); gap: 17px; }
.cash-equation > div { min-width: 120px; }
.cash-equation small,
.cash-equation strong { display: block; }
.cash-equation small { color: #86928c; font-size: 8px; text-transform: uppercase; }
.cash-equation strong { margin-top: 5px; color: #3b554b; font-size: 14px; font-variant-numeric: tabular-nums; }
.cash-equation > b { color: #9ba49f; font-size: 16px; }
.cash-equation .is-result { padding: 11px 14px; border-radius: 9px; background: #e6f2eb; }
.cash-equation .is-result small { color: #5c806e; }
.cash-equation .is-result strong { color: #275c46; }
.cash-actions { display: flex; justify-content: flex-end; padding: 18px 27px 24px; gap: 8px; }
.cash-actions button { min-height: 39px; padding: 0 15px; border: 1px solid #d6e0da; border-radius: 8px; background: #fff; color: #526b61; cursor: pointer; font: inherit; font-size: 10px; font-weight: 780; }
.cash-actions button.is-primary { border-color: #315f4e; background: #315f4e; color: #fff; }
.cash-actions button:disabled { cursor: not-allowed; opacity: .45; }
.method-breakdown__list > div { display: grid; align-items: center; padding: 13px 18px; border-bottom: 1px solid #edf0ee; grid-template-columns: 31px 1fr auto; gap: 10px; }
.method-breakdown__list > div:last-child { border-bottom: 0; }
.method-breakdown__list span { color: #61736a; font-size: 10px; }
.method-breakdown__list strong { color: #334d42; font-size: 11px; font-variant-numeric: tabular-nums; }
.payment-method-mark { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 9px; background: #e6f0ea; color: #3d6c58; font-size: 10px; font-weight: 840; }
.payment-method-mark--pos { background: #e7edf5; color: #4f6785; }
.payment-method-mark--yape { background: #efe7f6; color: #73558e; }
.payment-method-mark--plin { background: #e4f1f2; color: #3f7479; }
.payment-method-mark--transfer { background: #f5ebdf; color: #8b6341; }
.cash-ledger__list > div { display: grid; align-items: center; padding: 13px 20px; border-bottom: 1px solid #edf0ee; grid-template-columns: 31px 1fr 48px 95px; gap: 10px; }
.cash-ledger__list > div:last-child { border-bottom: 0; }
.movement-mark { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 9px; background: #e5f1e9; color: #347053; font-size: 15px; font-weight: 780; }
.movement-mark--out { background: #fae9e1; color: #a35236; }
.cash-ledger__list p { margin: 0; }
.cash-ledger__list p strong,
.cash-ledger__list p small { display: block; }
.cash-ledger__list p strong { color: #3a5147; font-size: 10px; }
.cash-ledger__list p small { overflow: hidden; margin-top: 2px; color: #8a9690; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.cash-ledger__list time { color: #929c97; font-size: 8px; }
.cash-ledger__list > div > strong { color: #357056; font-size: 10px; text-align: right; font-variant-numeric: tabular-nums; }
.cash-ledger__list > div > strong.is-out { color: #a65438; }
.closed-shifts { grid-column: 1 / -1; }
.closed-shift-row { display: grid; align-items: center; padding: 13px 20px; border-bottom: 1px solid #edf0ee; grid-template-columns: 1.4fr .7fr .7fr 80px; gap: 15px; }
.closed-shift-row:last-child { border-bottom: 0; }
.closed-shift-row > div strong,
.closed-shift-row > div small { display: block; }
.closed-shift-row > div strong { color: #3b5148; font-size: 10px; }
.closed-shift-row > div small { margin-bottom: 2px; color: #909b95; font-size: 8px; }
.closed-shift-row .has-difference strong { color: #a65337; }
.closed-shift-row button { min-height: 31px; border: 1px solid #d4dfd8; border-radius: 7px; background: #fff; color: #4c6a5d; cursor: pointer; font: inherit; font-size: 9px; font-weight: 780; }

/* Diálogos financieros */
.finance-dialog-layer {
  position: fixed;
  z-index: 120;
  inset: 0;
  display: grid;
  align-items: start;
  justify-items: end;
  padding: 18px;
  overflow: auto;
  background: rgba(20,42,34,.42);
  backdrop-filter: blur(3px);
}
.finance-dialog {
  width: min(545px, 100%);
  min-height: calc(100vh - 36px);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.6);
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 28px 80px rgba(20,45,35,.24);
  animation: finance-dialog-in .18s ease-out;
}
.finance-dialog--narrow { width: min(465px, 100%); min-height: 0; margin-top: 8vh; }
@keyframes finance-dialog-in { from { opacity: 0; transform: translateX(18px); } to { opacity: 1; transform: translateX(0); } }
.finance-dialog > header { display: flex; align-items: flex-start; justify-content: space-between; padding: 24px 25px 20px; border-bottom: 1px solid #e7ece9; background: linear-gradient(145deg, #f5faf7, #fff8f4); }
.finance-dialog > header span { color: #a45b3e; font-size: 9px; font-weight: 830; letter-spacing: .09em; text-transform: uppercase; }
.finance-dialog > header h2 { margin: 6px 0 0; color: #27443a; font-size: 23px; font-weight: 780; letter-spacing: -.035em; }
.finance-dialog > header > button { display: grid; width: 32px; height: 32px; place-items: center; border: 1px solid #dbe3de; border-radius: 9px; background: rgba(255,255,255,.8); color: #66766e; cursor: pointer; font: inherit; font-size: 19px; }
.payment-form,
.cash-dialog-form { padding: 22px 25px 25px; }
.payment-patient { display: grid; align-items: center; padding: 15px; border: 1px solid #dce6e0; border-radius: 12px; background: #f7faf8; grid-template-columns: 43px 1fr auto; gap: 11px; }
.payment-patient > span { display: grid; width: 41px; height: 41px; place-items: center; border-radius: 11px; background: #e1eee6; color: #356650; font-size: 10px; font-weight: 820; }
.payment-patient > div:nth-child(2) { min-width: 0; }
.payment-patient > div:nth-child(2) strong,
.payment-patient > div:nth-child(2) p,
.payment-patient > div:nth-child(2) small { overflow: hidden; display: block; margin: 0; text-overflow: ellipsis; white-space: nowrap; }
.payment-patient > div:nth-child(2) strong { color: #30483e; font-size: 12px; }
.payment-patient > div:nth-child(2) p { margin-top: 3px; color: #6f7f77; font-size: 10px; }
.payment-patient > div:nth-child(2) small { margin-top: 3px; color: #929c97; font-size: 8px; }
.payment-patient > div:last-child { text-align: right; }
.payment-patient > div:last-child small,
.payment-patient > div:last-child strong { display: block; }
.payment-patient > div:last-child small { color: #89958f; font-size: 8px; text-transform: uppercase; }
.payment-patient > div:last-child strong { margin-top: 4px; color: #2d5a47; font-size: 14px; font-variant-numeric: tabular-nums; }
.finance-field { display: block; margin-top: 17px; }
.finance-field > span { display: block; margin-bottom: 7px; color: #435b51; font-size: 10px; font-weight: 790; }
.finance-field > input,
.finance-field > select,
.finance-field > textarea { width: 100%; border: 1px solid #d5dfd9; border-radius: 9px; outline: none; background: #fbfcfb; color: #334a41; font: inherit; font-size: 11px; }
.finance-field > input,
.finance-field > select { height: 43px; padding: 0 11px; }
.finance-field > textarea { min-height: 88px; padding: 11px; resize: vertical; line-height: 1.5; }
.finance-field > input:focus,
.finance-field > select:focus,
.finance-field > textarea:focus,
.finance-field--amount > div:focus-within { border-color: #6e9785; box-shadow: 0 0 0 3px rgba(79,133,107,.12); }
.finance-field > small { display: block; margin-top: 6px; color: #89958f; font-size: 8px; line-height: 1.45; }
.finance-field--amount > div { display: grid; height: 55px; align-items: center; border: 1px solid #d5dfd9; border-radius: 10px; background: #fbfcfb; grid-template-columns: 42px 1fr; }
.finance-field--amount > div b { color: #668075; font-size: 15px; text-align: center; }
.finance-field--amount > div input { width: 100%; min-width: 0; border: 0; outline: none; background: transparent; color: #28483b; font: inherit; font-size: 24px; font-weight: 760; font-variant-numeric: tabular-nums; }
.payment-methods { margin: 19px 0 0; padding: 0; border: 0; }
.payment-methods legend { margin-bottom: 8px; color: #435b51; font-size: 10px; font-weight: 790; }
.payment-methods > div { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.payment-methods button { display: grid; min-height: 60px; align-items: center; padding: 9px 10px; border: 1px solid #dce4df; border-radius: 10px; background: #fff; color: inherit; cursor: pointer; font: inherit; grid-template-columns: 29px 1fr 12px; gap: 8px; text-align: left; }
.payment-methods button:hover { background: #f8faf9; }
.payment-methods button.is-selected { border-color: #67927f; background: #f0f7f3; box-shadow: 0 0 0 2px rgba(91,139,117,.1); }
.payment-methods button span strong,
.payment-methods button span small { display: block; }
.payment-methods button span strong { color: #3b5248; font-size: 10px; }
.payment-methods button span small { margin-top: 3px; color: #89958f; font-size: 8px; }
.payment-methods button > i { width: 12px; height: 12px; border: 1px solid #bac5bf; border-radius: 50%; }
.payment-methods button.is-selected > i { border: 3px solid #5d8a75; }
.payment-blocker { display: grid; align-items: center; margin-top: 14px; padding: 12px; border: 1px solid #eac5b5; border-radius: 10px; background: #fff2eb; grid-template-columns: 25px 1fr auto; gap: 9px; }
.payment-blocker > span { display: grid; width: 23px; height: 23px; place-items: center; border-radius: 50%; background: #f5d7ca; color: #9c4c31; font-size: 10px; font-weight: 850; }
.payment-blocker strong { display: block; color: #8d492f; font-size: 10px; }
.payment-blocker p { margin: 3px 0 0; color: #9a6a58; font-size: 8px; }
.payment-blocker button { min-height: 32px; padding: 0 10px; border: 0; border-radius: 7px; background: #a8593b; color: #fff; cursor: pointer; font: inherit; font-size: 8px; font-weight: 790; }
.voucher-uploader { display: grid; align-items: center; margin-top: 15px; padding: 13px; border: 1px dashed #b9cbc1; border-radius: 10px; background: #f8fbf9; grid-template-columns: 31px 1fr auto; gap: 10px; }
.voucher-uploader > span { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 9px; background: #e4efe8; color: #3d7159; font-size: 14px; font-weight: 820; }
.voucher-uploader strong { display: block; color: #3d554b; font-size: 10px; }
.voucher-uploader p { margin: 3px 0 0; color: #89958f; font-size: 8px; }
.voucher-uploader > button { min-height: 32px; padding: 0 10px; border: 1px solid #d0dcd5; border-radius: 7px; background: #fff; color: #4d6c5e; cursor: pointer; font: inherit; font-size: 8px; font-weight: 780; }
.voucher-uploader--error { border-color: #e6b9a7; background: #fff5ef; }
.voucher-uploader--error p { color: #a1583d; }
.voucher-uploader--uploading { opacity: .68; }
.payment-form__result { display: grid; align-items: start; margin-top: 17px; padding: 12px 13px; border-radius: 10px; background: #f1f4f2; grid-template-columns: 8px 1fr; gap: 10px; }
.payment-form__result > span { width: 8px; height: 8px; margin-top: 4px; border-radius: 50%; background: #d39a44; }
.payment-form__result > span.is-automatic { background: #45a576; }
.payment-form__result p { margin: 0; }
.payment-form__result strong,
.payment-form__result small { display: block; }
.payment-form__result strong { color: #496057; font-size: 9px; }
.payment-form__result small { margin-top: 3px; color: #7c8983; font-size: 8px; line-height: 1.4; }
.dialog-actions { display: grid; margin-top: 20px; grid-template-columns: .7fr 1.3fr; gap: 8px; }
.dialog-actions button { min-height: 45px; border: 1px solid #d5dfd9; border-radius: 9px; background: #fff; color: #5f736a; cursor: pointer; font: inherit; font-size: 10px; font-weight: 790; }
.dialog-actions button:last-child { border-color: #315f4e; background: #315f4e; color: #fff; }
.dialog-actions button.is-danger { border-color: #a9593d; background: #a9593d; }
.dialog-actions button:disabled { cursor: not-allowed; opacity: .42; }
.dialog-intro { margin: 0 0 13px; padding: 11px 12px; border-radius: 8px; background: #f4f7f5; color: #62756c; font-size: 10px; }
.dialog-warning { margin: 14px 0 0; padding: 11px; border: 1px solid #ead0c3; border-radius: 9px; background: #fff5ef; color: #8d5a46; font-size: 9px; line-height: 1.45; }
.cash-movement-switch { display: grid; padding: 4px; border-radius: 10px; background: #edf2ef; grid-template-columns: 1fr 1fr; gap: 4px; }
.cash-movement-switch button { min-height: 40px; border: 0; border-radius: 8px; background: transparent; color: #61756b; cursor: pointer; font: inherit; font-size: 10px; font-weight: 780; }
.cash-movement-switch button.is-active { background: #fff; color: #347155; box-shadow: 0 3px 9px rgba(45,76,64,.08); }
.cash-movement-switch button.is-active.is-expense { color: #a05237; }

@media (max-width: 1320px) {
  .finance-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .collections-layout { grid-template-columns: 1fr; }
  .finance-side-column { grid-template-columns: 1fr 1fr; }
  .validation-list { max-height: 500px; }
}

@media (max-width: 1080px) {
  .collection-row { grid-template-columns: 42px minmax(160px, 1fr) minmax(120px, .7fr) 105px 80px; padding-inline: 15px; }
  .cash-layout,
  .cash-empty-layout { grid-template-columns: 1fr; }
  .cash-position-card,
  .closed-shifts { grid-column: auto; }
  .cash-equation { grid-template-columns: 1fr auto 1fr; }
  .cash-equation > b:nth-of-type(3),
  .cash-equation .is-result { grid-column: span 1; }
}

@media (max-width: 820px) {
  .finance-workspace { padding: 25px 16px 45px; }
  .finance-heading { align-items: stretch; flex-direction: column; }
  .finance-heading__actions { align-items: stretch; flex-direction: column; }
  .finance-commercial-link { justify-content: center; }
  .shift-pill { width: 100%; min-width: 0; }
  .finance-side-column { grid-template-columns: 1fr; }
  .finance-card__heading { flex-direction: column; }
  .finance-search { width: 100%; }
  .collection-row { grid-template-columns: 42px 1fr auto; }
  .collection-row__state { grid-column: 2; }
  .collection-row__amount { grid-column: 3; grid-row: 1 / span 2; }
  .collection-row .finance-primary-button { grid-column: 2 / -1; width: 100%; }
  .cash-equation { grid-template-columns: 1fr; }
  .cash-equation > b { display: none; }
  .cash-actions { align-items: stretch; flex-direction: column; }
  .closed-shift-row { grid-template-columns: 1fr 1fr; }
  .closed-shift-row button { min-height: 36px; grid-column: 1 / -1; }
}

@media (max-width: 560px) {
  .finance-summary { grid-template-columns: 1fr; }
  .finance-summary-card { min-height: 110px; }
  .finance-tabs { width: 100%; }
  .finance-tabs button { flex: 1; justify-content: center; }
  .handover-banner { grid-template-columns: 38px 1fr; }
  .handover-banner button { grid-column: 1 / -1; }
  .collection-row { grid-template-columns: 38px 1fr; }
  .collection-row__amount { grid-column: 2; grid-row: auto; text-align: left; }
  .collection-row .finance-primary-button { grid-column: 1 / -1; }
  .finance-dialog-layer { padding: 0; }
  .finance-dialog,
  .finance-dialog--narrow { width: 100%; min-height: 100vh; margin: 0; border: 0; border-radius: 0; }
  .payment-form,
  .cash-dialog-form { padding-inline: 17px; }
  .payment-methods > div { grid-template-columns: 1fr; }
  .payment-patient { grid-template-columns: 41px 1fr; }
  .payment-patient > div:last-child { grid-column: 2; text-align: left; }
  .voucher-uploader { grid-template-columns: 30px 1fr; }
  .voucher-uploader > button { grid-column: 1 / -1; }
}

/* Operaciones comerciales */
.commercial-page { background: #f3f6f4; }
.commercial-workspace {
  width: 100%;
  min-height: calc(100vh - 76px);
  padding: 34px clamp(24px, 3vw, 52px) 58px;
  color: #294139;
  font-family: Manrope, sans-serif;
}
.commercial-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 26px;
  gap: 24px;
}
.commercial-heading p {
  margin: 0 0 7px;
  color: #a95c3e;
  font-size: 12px;
  font-weight: 820;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.commercial-heading h1 {
  margin: 0;
  color: #183d32;
  font-size: clamp(36px, 3.2vw, 50px);
  font-weight: 780;
  letter-spacing: -.052em;
  line-height: 1.04;
}
.commercial-heading h1 + span {
  display: block;
  margin-top: 9px;
  color: #6b7b74;
  font-size: 16px;
}
.commercial-heading > a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  padding: 0 16px;
  border: 1px solid #d6dfda;
  border-radius: 10px;
  background: #fff;
  color: #315f4e;
  font-size: 12px;
  font-weight: 780;
  gap: 8px;
  text-decoration: none;
}
.commercial-heading > a svg { width: 18px; fill: none; stroke: currentColor; }
.commercial-feedback {
  display: flex;
  align-items: center;
  margin-bottom: 19px;
  padding: 14px 16px;
  border: 1px solid #cce3d5;
  border-radius: 12px;
  background: #eff8f2;
  color: #315f4e;
  font-size: 13px;
  gap: 10px;
}
.commercial-feedback b {
  display: grid;
  width: 25px;
  height: 25px;
  place-items: center;
  border-radius: 50%;
  background: #d3ebdc;
}
.commercial-feedback.is-error { border-color: #efc9b9; background: #fff2eb; color: #8e452f; }
.commercial-feedback.is-error b { background: #f7d9cd; }
.commercial-summary {
  display: grid;
  margin-bottom: 24px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.commercial-summary-card {
  display: grid;
  min-height: 126px;
  align-items: start;
  padding: 20px;
  border: 1px solid #e0e6e2;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 7px 24px rgba(35,67,56,.045);
  grid-template-columns: 9px 1fr;
  gap: 14px;
}
.commercial-summary-card > i { width: 9px; height: 37px; border-radius: 99px; background: #55a77e; }
.commercial-summary-card.is-blue > i { background: #6598b2; }
.commercial-summary-card.is-clay > i { background: #bd7456; }
.commercial-summary-card.is-amber > i { background: #d49a42; }
.commercial-summary-card small,
.commercial-summary-card strong { display: block; }
.commercial-summary-card small { color: #7e8b85; font-size: 11px; font-weight: 760; text-transform: uppercase; }
.commercial-summary-card strong { margin-top: 7px; color: #28453a; font-size: 27px; letter-spacing: -.035em; }
.commercial-summary-card p { margin: 4px 0 0; color: #8a958f; font-size: 11px; }
.commercial-layout { display: grid; align-items: start; grid-template-columns: minmax(650px, 1.45fr) minmax(360px, .65fr); gap: 16px; }
.commercial-card {
  overflow: hidden;
  border: 1px solid #e0e6e2;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 7px 28px rgba(35,67,56,.045);
}
.commercial-sales > header,
.commercial-queue > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 21px 23px 18px;
  border-bottom: 1px solid #e8ece9;
  gap: 16px;
}
.commercial-card header small { color: #a15b3f; font-size: 10px; font-weight: 830; letter-spacing: .08em; }
.commercial-card header h2 { margin: 5px 0 0; color: #294139; font-size: 20px; letter-spacing: -.025em; }
.commercial-card header p { margin: 4px 0 0; color: #87928c; font-size: 11px; }
.commercial-search {
  display: grid;
  width: min(250px, 38%);
  height: 42px;
  align-items: center;
  padding: 0 11px;
  border: 1px solid #dbe3de;
  border-radius: 9px;
  background: #f8faf9;
  grid-template-columns: 18px 1fr;
  gap: 7px;
}
.commercial-search svg { width: 16px; fill: none; stroke: #85918b; }
.commercial-search input { min-width: 0; border: 0; outline: 0; background: transparent; color: #334a41; font: inherit; font-size: 12px; }
.commercial-sale {
  display: grid;
  min-height: 122px;
  align-items: center;
  padding: 17px 20px;
  border-bottom: 1px solid #edf0ee;
  grid-template-columns: 44px minmax(165px, 1fr) minmax(110px, .7fr) 95px;
  gap: 12px;
}
.commercial-sale:last-child { border-bottom: 0; }
.commercial-sale:hover { background: #fbfcfb; }
.commercial-avatar {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 12px;
  background: #e5f0e9;
  color: #376b56;
  font-size: 11px;
  font-weight: 820;
}
.commercial-sale__identity strong,
.commercial-sale__identity span,
.commercial-sale__identity small { overflow: hidden; display: block; text-overflow: ellipsis; white-space: nowrap; }
.commercial-sale__identity strong { color: #30483e; font-size: 14px; }
.commercial-sale__identity span { margin-top: 4px; color: #697970; font-size: 12px; }
.commercial-sale__identity small { margin-top: 4px; color: #929b96; font-size: 10px; }
.commercial-sale__status small { display: block; margin-top: 5px; color: #839089; font-size: 9px; }
.commercial-badge { display: inline-flex; min-height: 27px; align-items: center; padding: 0 9px; border-radius: 99px; background: #edf2ef; color: #65766e; font-size: 9px; font-weight: 820; text-transform: uppercase; }
.commercial-badge.is-courtesy { background: #f5e8df; color: #98563c; }
.commercial-sale__money { text-align: right; }
.commercial-sale__money small,
.commercial-sale__money strong,
.commercial-sale__money span { display: block; }
.commercial-sale__money small { color: #929c97; font-size: 9px; text-transform: uppercase; }
.commercial-sale__money strong { margin-top: 3px; color: #29463b; font-size: 16px; }
.commercial-sale__money span { margin-top: 3px; color: #a15a3e; font-size: 9px; }
.commercial-sale__actions { display: flex; min-width: 100%; align-items: center; justify-content: flex-end; grid-column: 2 / -1; gap: 7px; }
.commercial-sale__actions button,
.commercial-task button,
.commercial-execute {
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid #d8e0dc;
  border-radius: 8px;
  background: #fff;
  color: #526b61;
  cursor: pointer;
  font: inherit;
  font-size: 10px;
  font-weight: 780;
}
.commercial-sale__actions button.is-primary,
.commercial-task button.is-primary,
.commercial-execute { border-color: #315f4e; background: #315f4e; color: #fff; }
.commercial-sale__actions em { color: #939d98; font-size: 10px; font-style: normal; }
.commercial-side { display: grid; gap: 15px; }
.commercial-queue > header { padding-block: 18px 16px; }
.commercial-queue > header h2 { font-size: 17px; }
.commercial-queue > header > b { display: grid; min-width: 29px; height: 29px; place-items: center; border-radius: 9px; background: #f4e5dc; color: #9c593d; font-size: 12px; }
.commercial-task { display: grid; padding: 16px 18px; border-bottom: 1px solid #edf0ee; grid-template-columns: 1fr auto; gap: 7px 12px; }
.commercial-task:last-child { border-bottom: 0; }
.commercial-task strong,
.commercial-task small { display: block; }
.commercial-task strong { color: #344b42; font-size: 12px; }
.commercial-task small { margin-top: 3px; color: #86918c; font-size: 9px; }
.commercial-task > b { color: #2f4b40; font-size: 13px; }
.commercial-task > p { margin: 2px 0 0; color: #75847d; font-size: 10px; grid-column: 1 / -1; }
.commercial-task > div:last-child { display: grid; margin-top: 4px; grid-column: 1 / -1; grid-template-columns: 1fr 1fr; gap: 7px; }
.commercial-task > .commercial-execute { width: 100%; margin-top: 5px; grid-column: 1 / -1; }
.commercial-empty-queue { margin: 0; padding: 22px; color: #8c9792; font-size: 11px; text-align: center; }
.balance-activity { display: grid; align-items: center; padding: 13px 18px; border-bottom: 1px solid #edf0ee; grid-template-columns: 29px 1fr auto; gap: 10px; }
.balance-activity:last-child { border-bottom: 0; }
.balance-activity > i { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 9px; background: #e5f1e9; color: #347053; font-size: 15px; font-style: normal; font-weight: 800; }
.balance-activity > i.is-out { background: #fae9e1; color: #a35236; }
.balance-activity strong,
.balance-activity small { display: block; }
.balance-activity strong { color: #3a5147; font-size: 11px; }
.balance-activity small { margin-top: 2px; color: #8a9690; font-size: 9px; }
.balance-activity > b { color: #3c6e58; font-size: 11px; }
.commercial-empty { display: grid; min-height: 240px; align-content: center; justify-items: center; padding: 30px; color: #88958f; text-align: center; }
.commercial-empty > span { display: grid; width: 45px; height: 45px; place-items: center; border-radius: 14px; background: #e9f2ed; color: #44735f; }
.commercial-empty strong { margin-top: 12px; color: #466056; font-size: 14px; }
.commercial-empty p { margin: 5px 0 0; font-size: 11px; }
.commercial-dialog-layer { position: fixed; z-index: 120; inset: 0; display: grid; justify-items: end; padding: 18px; overflow: auto; background: rgba(20,42,34,.42); backdrop-filter: blur(3px); }
.commercial-dialog { width: min(520px, 100%); min-height: calc(100vh - 36px); border-radius: 17px; background: #fff; box-shadow: 0 28px 80px rgba(20,45,35,.24); }
.commercial-dialog > header { display: flex; align-items: flex-start; justify-content: space-between; padding: 24px 25px 20px; border-bottom: 1px solid #e7ece9; background: linear-gradient(145deg, #f5faf7, #fff8f4); }
.commercial-dialog > header small { color: #a45b3e; font-size: 10px; font-weight: 830; letter-spacing: .08em; text-transform: uppercase; }
.commercial-dialog > header h2 { margin: 6px 0 0; color: #27443a; font-size: 24px; letter-spacing: -.035em; }
.commercial-dialog > header > button { display: grid; width: 32px; height: 32px; place-items: center; border: 1px solid #dbe3de; border-radius: 9px; background: #fff; color: #66766e; cursor: pointer; font-size: 19px; }
.commercial-dialog > form { padding: 22px 25px 25px; }
.commercial-dialog-sale { display: grid; align-items: center; padding: 14px; border: 1px solid #dce6e0; border-radius: 12px; background: #f7faf8; grid-template-columns: 41px 1fr auto; gap: 11px; }
.commercial-dialog-sale > span { display: grid; width: 41px; height: 41px; place-items: center; border-radius: 11px; background: #e1eee6; color: #356650; font-size: 10px; font-weight: 820; }
.commercial-dialog-sale strong,
.commercial-dialog-sale small { display: block; }
.commercial-dialog-sale strong { color: #30483e; font-size: 13px; }
.commercial-dialog-sale small { margin-top: 3px; color: #78877f; font-size: 10px; }
.commercial-dialog-sale > div:last-child { text-align: right; }
.commercial-dialog-note,
.commercial-warning { margin: 16px 0 0; padding: 12px; border-radius: 9px; background: #f2f6f3; color: #60746a; font-size: 11px; line-height: 1.5; }
.commercial-warning { border: 1px solid #ead0c3; background: #fff5ef; color: #8d5a46; }
.commercial-warning b { display: block; font-size: 11px; }
.commercial-warning p { margin: 3px 0 0; }
.commercial-field { display: block; margin-top: 17px; }
.commercial-field > span { display: block; margin-bottom: 7px; color: #435b51; font-size: 11px; font-weight: 790; }
.commercial-field input,
.commercial-field select,
.commercial-field textarea { width: 100%; border: 1px solid #d5dfd9; border-radius: 9px; outline: none; background: #fbfcfb; color: #334a41; font: inherit; font-size: 12px; }
.commercial-field input,
.commercial-field select { height: 44px; padding: 0 11px; }
.commercial-field textarea { min-height: 90px; padding: 11px; resize: vertical; }
.commercial-field input:focus,
.commercial-field select:focus,
.commercial-field textarea:focus { border-color: #6e9785; box-shadow: 0 0 0 3px rgba(79,133,107,.12); }
.commercial-field > small { display: block; margin-top: 6px; color: #89958f; font-size: 9px; }
.commercial-field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.commercial-amount > div { display: grid; height: 55px; align-items: center; border: 1px solid #d5dfd9; border-radius: 10px; background: #fbfcfb; grid-template-columns: 42px 1fr; }
.commercial-amount > div b { color: #668075; text-align: center; }
.commercial-amount > div input { height: auto; border: 0; background: transparent; font-size: 23px; font-weight: 760; }
.commercial-dialog-actions { display: grid; margin-top: 22px; grid-template-columns: .7fr 1.3fr; gap: 8px; }
.commercial-dialog-actions button { min-height: 45px; border: 1px solid #d5dfd9; border-radius: 9px; background: #fff; color: #5f736a; cursor: pointer; font: inherit; font-size: 11px; font-weight: 790; }
.commercial-dialog-actions button:last-child { border-color: #315f4e; background: #315f4e; color: #fff; }
.commercial-dialog-actions button:disabled { cursor: not-allowed; opacity: .45; }

@media (max-width: 1320px) {
  .commercial-summary { grid-template-columns: repeat(2, 1fr); }
  .commercial-layout { grid-template-columns: 1fr; }
  .commercial-side { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 820px) {
  .commercial-workspace { padding: 25px 16px 45px; }
  .commercial-heading { align-items: stretch; flex-direction: column; }
  .commercial-heading > a { justify-content: center; }
  .commercial-sales > header { align-items: stretch; flex-direction: column; }
  .commercial-search { width: 100%; }
  .commercial-side { grid-template-columns: 1fr; }
  .commercial-sale { grid-template-columns: 42px 1fr auto; }
  .commercial-sale__status { grid-column: 2; }
  .commercial-sale__money { grid-column: 3; grid-row: 1 / span 2; }
  .commercial-sale__actions { grid-column: 1 / -1; flex-wrap: wrap; }
}
@media (max-width: 560px) {
  .commercial-summary { grid-template-columns: 1fr; }
  .commercial-summary-card { min-height: 108px; }
  .commercial-sale { grid-template-columns: 40px 1fr; }
  .commercial-sale__money { grid-column: 2; grid-row: auto; text-align: left; }
  .commercial-sale__actions button { flex: 1; }
  .commercial-dialog-layer { padding: 0; }
  .commercial-dialog { width: 100%; min-height: 100vh; border-radius: 0; }
  .commercial-dialog > form { padding-inline: 17px; }
  .commercial-field-grid { grid-template-columns: 1fr; }
}

.auth-secondary a,
.totp-setup a {
  color: var(--forest-800);
  font-weight: 750;
  text-decoration: none;
}

.totp-setup {
  margin-top: 28px;
  padding: 20px;
  border: 1px solid var(--sage-200);
  border-radius: 16px;
  background: rgba(231, 239, 233, 0.52);
}

.totp-setup__step {
  color: var(--clay-600);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.totp-setup h2 {
  margin: 7px 0 6px;
  color: var(--forest-950);
  font-size: 17px;
}

.totp-setup p {
  margin: 0 0 14px;
  color: var(--ink-muted);
  font-size: 12px;
  line-height: 1.55;
}

.totp-setup__qr {
  display: grid;
  width: fit-content;
  margin: 18px auto;
  overflow: hidden;
  border: 1px solid rgba(30, 62, 48, 0.12);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(30, 62, 48, 0.08);
}

.totp-setup__qr svg {
  display: block;
  width: min(192px, 58vw);
  height: auto;
}

.totp-setup__options {
  display: grid;
  gap: 12px;
}

.totp-setup__options details {
  color: var(--ink-muted);
  font-size: 12px;
}

.totp-setup__options summary {
  width: fit-content;
  cursor: pointer;
  color: var(--forest-800);
  font-weight: 750;
}

.totp-setup code {
  display: block;
  overflow-wrap: anywhere;
  margin-top: 10px;
  padding: 12px 14px;
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.8);
  color: var(--forest-950);
  font-size: 14px;
  font-weight: 750;
  letter-spacing: 0.12em;
}

.totp-setup a {
  display: inline-block;
  margin-top: 12px;
  font-size: 12px;
}

.account-shell {
  min-height: 100vh;
  min-height: 100svh;
  padding: 0 clamp(28px, 6vw, 92px) 80px;
  background:
    radial-gradient(circle at 88% 12%, rgba(227, 237, 241, 0.72), transparent 30%),
    var(--workspace);
}

.account-header {
  display: flex;
  min-height: 92px;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
}

.account-logout {
  padding: 11px 17px;
  border: 1px solid var(--line-dark);
  border-radius: 10px;
  background: var(--paper);
  color: var(--forest-900);
  font-size: 12px;
  font-weight: 750;
  cursor: pointer;
}

.account-content {
  width: min(1040px, 100%);
  margin: clamp(70px, 11vh, 130px) auto 0;
}

.account-content h1 {
  margin: 0;
  color: var(--forest-950);
  font-family: var(--display);
  font-size: clamp(50px, 7vw, 84px);
  font-weight: 590;
  letter-spacing: -0.055em;
  line-height: 0.96;
}

.account-intro {
  width: min(690px, 100%);
  margin: 24px 0 42px;
  color: var(--ink-muted);
  font-size: 17px;
  line-height: 1.7;
}

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

.account-grid article {
  padding: 30px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--paper);
  box-shadow: var(--shadow-sm);
}

.account-status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--sage-100);
  color: var(--forest-800);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.account-status i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #4f927b;
}

.account-status--quiet {
  background: var(--sky-100);
  color: var(--sky-600);
}

.account-grid h2 {
  margin: 24px 0 12px;
  color: var(--forest-950);
  font-size: 21px;
}

.account-grid dl,
.account-grid dd {
  margin: 0;
}

.account-grid dl > div {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 18px;
  padding: 13px 0;
  border-top: 1px solid var(--line);
}

.account-grid dt,
.account-grid dd,
.account-grid article > p {
  font-size: 12px;
}

.account-grid dt,
.account-grid article > p {
  color: var(--ink-muted);
}

.account-grid dd {
  color: var(--ink);
  font-weight: 650;
  text-align: right;
}

@media (max-width: 980px) {
  .auth-shell {
    grid-template-columns: 1fr;
  }

  .auth-story {
    min-height: 330px;
    padding: 34px;
    background-position: center 60%;
    background-size: auto 520px;
  }

  .auth-story__copy {
    padding: 52px 0 20px;
  }

  .auth-story__copy blockquote {
    width: min(600px, 90%);
    font-size: clamp(39px, 8vw, 62px);
  }

  .auth-story__copy > p:last-child,
  .auth-story__note {
    display: none;
  }

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

  .auth-back {
    margin-bottom: 44px;
  }
}

@media (max-width: 680px) {
  .auth-story {
    min-height: 240px;
    padding: 24px;
  }

  .auth-story__copy {
    padding: 38px 0 0;
  }

  .auth-story__copy .eyebrow {
    display: none;
  }

  .auth-story__copy blockquote {
    margin: 0;
    font-size: 38px;
  }

  .auth-panel {
    align-items: start;
    padding: 38px 24px 58px;
  }

  .auth-back {
    margin-bottom: 34px;
  }

  .account-shell {
    padding-inline: 20px;
  }

  .account-content {
    margin-top: 58px;
  }

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

  .account-grid article {
    padding: 24px;
  }

  .account-grid dl > div {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .account-grid dd {
    text-align: left;
  }
}

/* Clinical standards library */
.clinical-library-page .workspace-main { background: #f5f7f5; }
.clinical-library { width: min(100%, 1720px); margin: 0 auto; padding: 28px 38px 60px; }
.clinical-library__heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 36px; margin: 30px 0 24px; }
.clinical-library__heading > div { max-width: 820px; }
.clinical-library__heading h1,
.clinical-library__heading p { margin: 0; }
.clinical-library__heading h1 { color: #183e33; font-size: clamp(29px, 2.35vw, 42px); font-weight: 790; letter-spacing: -.045em; line-height: 1.08; }
.clinical-library__heading > div > p:last-child { max-width: 760px; margin-top: 11px; color: #697a72; font-size: 14px; line-height: 1.65; }
.clinical-library__summary { display: grid; align-items: stretch; margin-bottom: 18px; padding: 8px; border: 1px solid #dce5e0; border-radius: 15px; background: #fff; grid-template-columns: minmax(320px, .72fr) 1.3fr; box-shadow: 0 8px 30px rgba(42, 70, 58, .045); }
.clinical-library__switcher { display: grid; padding: 4px; border-radius: 11px; background: #eef3f0; grid-template-columns: 1fr 1fr; gap: 5px; }
.clinical-library__switcher button { display: flex; min-height: 58px; align-items: center; justify-content: space-between; padding: 0 16px; border: 0; border-radius: 9px; background: transparent; color: #66776f; cursor: pointer; font: inherit; font-size: 13px; font-weight: 740; }
.clinical-library__switcher button strong { display: grid; min-width: 28px; height: 28px; place-items: center; border-radius: 8px; background: rgba(255,255,255,.72); color: #62736a; }
.clinical-library__switcher button.is-active { background: #fff; color: #265947; box-shadow: 0 3px 12px rgba(42, 70, 58, .09); }
.clinical-library__summary dl { display: grid; margin: 0; grid-template-columns: repeat(3, 1fr); }
.clinical-library__summary dl div { display: flex; align-items: center; justify-content: space-between; padding: 0 22px; border-left: 1px solid #e6ece8; }
.clinical-library__summary dt { color: #7c8983; font-size: 11px; font-weight: 690; }
.clinical-library__summary dd { margin: 0; color: #315f4e; font-size: 23px; font-weight: 790; }
.clinical-library__layout { display: grid; align-items: start; grid-template-columns: minmax(300px, .58fr) minmax(600px, 1.42fr); gap: 18px; }
.clinical-library__roster,
.clinical-library__editor { overflow: hidden; border: 1px solid #dce5e0; border-radius: 15px; background: #fff; box-shadow: 0 12px 40px rgba(39, 67, 55, .055); }
.clinical-library__roster > header { padding: 22px 22px 17px; border-bottom: 1px solid #e7ece9; }
.clinical-library__roster h2,
.clinical-library__roster p { margin: 0; }
.clinical-library__roster h2 { color: #24473b; font-size: 17px; letter-spacing: -.02em; }
.clinical-library__roster p { margin-top: 5px; color: #84908a; font-size: 11px; line-height: 1.45; }
.clinical-library__list { max-height: 730px; overflow: auto; padding: 10px; }
.clinical-library__list > button { display: grid; width: 100%; min-height: 74px; align-items: center; padding: 10px 11px; border: 1px solid transparent; border-radius: 11px; background: transparent; color: inherit; cursor: pointer; font: inherit; text-align: left; grid-template-columns: auto 1fr auto; gap: 12px; }
.clinical-library__list > button:hover { background: #f6f9f7; }
.clinical-library__list > button.is-selected { border-color: #cfe0d7; background: #edf5f0; box-shadow: inset 3px 0 #4f826b; }
.clinical-library__list > button > span:nth-child(2) { min-width: 0; }
.clinical-library__list > button b,
.clinical-library__list > button small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.clinical-library__list > button b { color: #314d42; font-size: 13px; }
.clinical-library__list > button small { margin-top: 4px; color: #84918b; font-size: 10px; }
.clinical-library__list > button > i { color: #829289; font-size: 21px; font-style: normal; }
.clinical-library__mark { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 11px; background: #e7f0eb; color: #396753; font-size: 13px; font-weight: 830; }
.clinical-library__mark--document { background: #fff0e8; color: #9a5b3e; }
.clinical-library__mark--instrument { background: #eeebf7; color: #665b86; font-family: Georgia, serif; font-size: 20px; }
.clinical-library__editor > form > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 25px; padding: 25px 28px; border-bottom: 1px solid #e5ebe7; background: linear-gradient(115deg, #f2f7f4, #fff 72%); }
.clinical-library__editor > form > header p,
.clinical-library__editor > form > header h2 { margin: 0; }
.clinical-library__editor > form > header p { color: #a06548; font-size: 10px; font-weight: 820; letter-spacing: .08em; text-transform: uppercase; }
.clinical-library__editor > form > header h2 { margin-top: 5px; color: #23473a; font-size: 22px; letter-spacing: -.025em; }
.clinical-library__editor > form > header > span { padding: 7px 10px; border-radius: 8px; background: #e4f0e9; color: #3c7059; font-size: 10px; font-weight: 780; }
.clinical-library__editor fieldset { display: grid; margin: 0; padding: 25px 28px 28px; border: 0; gap: 20px; }
.clinical-library__editor fieldset:disabled { opacity: .75; }
.clinical-form-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 15px; }
.clinical-form-grid--scores { grid-template-columns: .55fr .55fr 1.5fr; }
.clinical-template-body textarea { min-height: 220px; line-height: 1.6; resize: vertical; }
.clinical-check { display: flex; min-height: 73px; align-items: center; padding: 13px 14px; border: 1px solid #dce5e0; border-radius: 9px; background: #fafcfb; gap: 11px; }
.clinical-check input { width: 18px; height: 18px; accent-color: #47745f; }
.clinical-check b,
.clinical-check small { display: block; }
.clinical-check b { color: #3c5449; font-size: 12px; }
.clinical-check small { margin-top: 3px; color: #839089; font-size: 9px; line-height: 1.4; }
.clinical-tags__input { display: flex; gap: 8px; }
.clinical-tags__input input { flex: 1; }
.clinical-tags__input button { min-width: 88px; border: 1px solid #cedbd4; border-radius: 8px; background: #f4f8f5; color: #3b6855; cursor: pointer; font: inherit; font-size: 11px; font-weight: 760; }
.clinical-tags__list { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 9px; }
.clinical-tags__list > span { display: inline-flex; align-items: center; padding: 6px 7px 6px 10px; border-radius: 999px; background: #eaf2ed; color: #426554; font-size: 10px; font-weight: 690; gap: 6px; }
.clinical-tags__list button { display: grid; width: 17px; height: 17px; padding: 0; place-items: center; border: 0; border-radius: 50%; background: rgba(47, 93, 72, .12); color: #416351; cursor: pointer; line-height: 1; }
.clinical-library__editor > form > footer { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 21px 28px 25px; border-top: 1px solid #e4ebe7; background: #fbfcfb; }
.clinical-library__editor > form > footer > div { display: grid; gap: 2px; }
.clinical-library__editor > form > footer small { color: #9a674f; font-size: 9px; font-weight: 820; letter-spacing: .08em; }
.clinical-library__editor > form > footer strong { color: #2f4f42; font-size: 14px; }
.clinical-library__editor > form > footer span { color: #84908a; font-size: 10px; }

@media (max-width: 1120px) {
  .clinical-library { padding-inline: 24px; }
  .clinical-library__layout { grid-template-columns: 1fr; }
  .clinical-library__list { display: grid; max-height: none; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .clinical-library { padding: 20px 12px 40px; }
  .clinical-library__heading { align-items: stretch; flex-direction: column; }
  .clinical-library__summary { grid-template-columns: 1fr; }
  .clinical-library__summary dl { min-height: 68px; }
  .clinical-library__summary dl div:first-child { border-left: 0; }
  .clinical-library__summary dl div { padding: 0 10px; }
  .clinical-library__summary dt { font-size: 9px; }
  .clinical-library__list { grid-template-columns: 1fr; }
  .clinical-form-grid,
  .clinical-form-grid--scores { grid-template-columns: 1fr; }
  .clinical-library__editor > form > header,
  .clinical-library__editor > form > footer { align-items: stretch; flex-direction: column; padding-inline: 18px; }
  .clinical-library__editor fieldset { padding-inline: 18px; }
}

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

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

a {
  color: inherit;
}

img,
svg {
  display: block;
  max-width: 100%;
}

:focus-visible {
  outline: 3px solid rgba(223, 112, 65, 0.5);
  outline-offset: 3px;
}

.container {
  width: min(1200px, calc(100% - 56px));
  margin-inline: auto;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--forest-900);
  font-family: var(--display);
  font-size: 27px;
  font-weight: 700;
  letter-spacing: -0.04em;
  text-decoration: none;
}

.brand__mark {
  position: relative;
  display: grid;
  width: 31px;
  height: 31px;
  place-items: center;
  border-radius: 50% 50% 46% 54%;
  background: var(--forest-900);
  transform: rotate(-8deg);
}

.brand__mark::before,
.brand__mark::after {
  position: absolute;
  bottom: 7px;
  width: 9px;
  height: 15px;
  border-radius: 100% 0 100% 0;
  background: var(--canvas);
  content: "";
}

.brand__mark::before { left: 8px; transform: rotate(-18deg); }
.brand__mark::after { right: 7px; transform: scaleX(-1) rotate(-18deg); }

.brand__mark span {
  position: absolute;
  bottom: 6px;
  left: 15px;
  z-index: 1;
  width: 2px;
  height: 15px;
  border-radius: 2px;
  background: var(--canvas);
  transform: rotate(8deg);
}

.button {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 24px;
  border: 1px solid var(--forest-900);
  border-radius: 999px;
  background: var(--forest-900);
  color: #fff;
  font-size: 14px;
  font-weight: 750;
  line-height: 1;
  text-decoration: none;
  transition: transform 160ms ease, background-color 160ms ease, border-color 160ms ease;
}

.button:hover {
  transform: translateY(-2px);
}

.button--small {
  min-height: 42px;
  padding-inline: 19px;
  font-size: 12px;
}

.button--clay {
  border-color: var(--clay-500);
  background: var(--clay-500);
}

.button--clay:hover {
  border-color: var(--clay-600);
  background: var(--clay-600);
}

.eyebrow {
  display: flex;
  align-items: center;
  gap: 11px;
  margin: 0 0 19px;
  color: var(--clay-600);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.eyebrow > span {
  width: 30px;
  height: 1px;
  background: currentColor;
}

.eyebrow--center {
  justify-content: center;
}

/* Editorial landing */

.marketing-page--editorial {
  overflow-x: hidden;
  background: var(--canvas);
}

.site-header {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 20;
  border-bottom: 1px solid rgba(18, 63, 58, 0.09);
  background: rgba(250, 246, 239, 0.92);
  backdrop-filter: blur(16px);
}

.site-header__inner {
  display: flex;
  min-height: 78px;
  align-items: center;
  justify-content: space-between;
}

.site-nav,
.site-header__actions {
  display: flex;
  align-items: center;
  gap: 28px;
}

.site-nav a,
.text-link {
  color: var(--forest-950);
  font-size: 12px;
  font-weight: 750;
  text-decoration: none;
}

.site-nav a:hover,
.text-link:hover {
  color: var(--clay-600);
}

.editorial-hero {
  position: relative;
  display: grid;
  min-height: 100vh;
  min-height: 100svh;
  place-items: center;
  overflow: hidden;
  isolation: isolate;
  padding: clamp(96px, 13vh, 132px) 28px;
  background: var(--canvas);
}

.editorial-hero__wash {
  position: absolute;
  bottom: 38px;
  left: 50%;
  z-index: -2;
  width: min(1040px, 72vw);
  height: 400px;
  border-radius: 50% 50% 10% 10% / 72% 72% 10% 10%;
  background: radial-gradient(ellipse at center, rgba(214, 231, 229, 0.8) 0, rgba(231, 238, 231, 0.5) 54%, transparent 73%);
  filter: blur(2px);
  transform: translateX(-50%);
}

.editorial-hero__scene {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
}

.editorial-hero__layer {
  position: absolute;
  bottom: -3px;
  left: 50%;
  width: max(100vw, 1180px);
  max-width: none;
  height: auto;
  transform: translateX(-50%);
}

.editorial-hero__layer--left {
  clip-path: inset(0 61% 0 0);
  transform: translateX(-50%) translate(-3px, 3px) rotate(-0.08deg);
}

.editorial-hero__layer--right {
  clip-path: inset(0 0 0 61%);
  transform: translateX(-50%) translate(3px, 1px) rotate(0.08deg);
}

.editorial-hero__layer--base {
  clip-path: inset(64% 28% 0 28%);
}

.editorial-hero__content {
  position: relative;
  z-index: 2;
  width: min(980px, 100%);
  text-align: center;
}

.editorial-hero h1 {
  margin: 0;
  color: var(--forest-950);
  font-family: var(--display);
  font-size: clamp(60px, 6.3vw, 94px);
  font-weight: 650;
  letter-spacing: -0.045em;
  line-height: 0.94;
}

.editorial-hero h1 em {
  color: var(--clay-600);
  font-style: normal;
}

.editorial-hero__content > p:not(.eyebrow) {
  max-width: 690px;
  margin: 31px auto 0;
  color: #445b54;
  font-family: var(--display);
  font-size: 22px;
  font-weight: 480;
  line-height: 1.45;
}

.editorial-hero__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 27px;
  margin-top: 32px;
}

.editorial-link {
  color: var(--forest-900);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.editorial-link span {
  display: inline-block;
  margin-left: 6px;
  color: var(--clay-600);
}

.editorial-hero__note {
  position: absolute;
  bottom: 25px;
  z-index: 3;
  margin: 0;
  color: rgba(18, 63, 58, 0.7);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.17em;
  text-transform: uppercase;
}

.manifesto {
  position: relative;
  padding: 125px 0 100px;
  background: var(--paper);
}

.manifesto__grid {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 70px;
}

.chapter-label {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  padding-top: 9px;
  color: var(--clay-600);
}

.chapter-label span {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-family: var(--display);
  font-size: 13px;
  font-weight: 650;
}

.chapter-label p {
  margin: 7px 0 0;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.manifesto__statement h2,
.spaces__intro h2,
.field-notes h2,
.price-story h2,
.trust-letter h2,
.closing-cta h2 {
  margin: 0;
  font-family: var(--display);
  font-weight: 580;
  letter-spacing: -0.04em;
  line-height: 1;
}

.manifesto__statement h2 {
  max-width: 920px;
  color: var(--forest-950);
  font-size: clamp(50px, 5vw, 74px);
}

.manifesto__statement > p {
  max-width: 780px;
  margin: 32px 0 0;
  color: #5d6965;
  font-size: 17px;
  line-height: 1.8;
}

.care-journey {
  position: relative;
  display: grid;
  width: min(1400px, calc(100% - 80px));
  margin: 105px auto 0;
  grid-template-columns: repeat(3, 1fr);
}

.care-journey__track {
  position: absolute;
  top: 38px;
  right: 0;
  left: 0;
  height: 1px;
  background: var(--line-dark);
}

.journey-stop {
  position: relative;
  padding: 70px 55px 0 0;
}

.journey-stop::before {
  position: absolute;
  top: 30px;
  left: 0;
  z-index: 1;
  width: 17px;
  height: 17px;
  border: 5px solid var(--paper);
  border-radius: 50%;
  background: var(--sage-600);
  box-shadow: 0 0 0 1px var(--sage-600);
  content: "";
}

.journey-stop--two::before { background: var(--clay-500); box-shadow: 0 0 0 1px var(--clay-500); }
.journey-stop--three::before { background: var(--sky-600); box-shadow: 0 0 0 1px var(--sky-600); }

.journey-stop__time {
  color: var(--ink-muted);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.journey-stop strong {
  display: block;
  max-width: 310px;
  margin-top: 10px;
  color: var(--forest-900);
  font-family: var(--display);
  font-size: 28px;
  font-weight: 600;
  line-height: 1.15;
}

.journey-stop p {
  max-width: 310px;
  margin: 14px 0 0;
  color: var(--ink-muted);
  font-size: 13px;
  line-height: 1.7;
}

.spaces {
  padding: 125px 0 135px;
  background: var(--forest-950);
  color: #edf5f0;
}

.spaces__intro {
  display: grid;
  grid-template-columns: 290px minmax(0, 1fr);
  gap: 60px;
}

.chapter-label--light {
  color: #ef9c78;
}

.spaces__intro h2 {
  color: #fffaf2;
  font-size: clamp(52px, 5.3vw, 76px);
}

.spaces__intro > div:last-child > p {
  max-width: 690px;
  margin: 25px 0 0;
  color: #a9beb6;
  font-size: 15px;
  line-height: 1.7;
}

.context-map {
  display: grid;
  align-items: stretch;
  margin-top: 76px;
  grid-template-columns: 1fr 120px 1fr;
}

.context-panel {
  min-width: 0;
  padding: 40px;
  border-radius: 3px;
}

.context-panel--operations {
  background: #f5efe4;
  color: var(--ink);
  transform: rotate(-0.6deg);
}

.context-panel--clinical {
  background: #e3ece7;
  color: var(--ink);
  transform: rotate(0.6deg);
}

.context-panel__kicker {
  margin: 0;
  color: var(--clay-600);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.context-panel h3 {
  margin: 10px 0 28px;
  color: var(--forest-950);
  font-family: var(--display);
  font-size: 38px;
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.05;
}

.context-panel ul {
  margin: 0;
  padding: 0;
  border-top: 1px solid rgba(18, 63, 58, 0.15);
  list-style: none;
}

.context-panel li {
  display: grid;
  min-height: 82px;
  align-items: center;
  border-bottom: 1px solid rgba(18, 63, 58, 0.12);
  grid-template-columns: 48px 1fr auto;
  gap: 12px;
}

.context-panel li > span {
  color: var(--forest-900);
  font-size: 12px;
  font-weight: 800;
}

.context-panel li strong,
.context-panel li small {
  display: block;
}

.context-panel li strong { font-size: 11px; }
.context-panel li small { margin-top: 4px; color: var(--ink-muted); font-size: 9px; }

.context-panel li b {
  padding: 7px 9px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.55);
  color: var(--forest-700);
  font-size: 8px;
}

.context-panel__boundary {
  margin: 23px 0 0;
  color: var(--ink-muted);
  font-size: 9px;
  font-weight: 700;
}

.context-bridge {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  color: #a5b9b1;
}

.context-bridge span {
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-align: center;
  text-transform: uppercase;
}

.context-bridge i {
  position: relative;
  display: block;
  width: 1px;
  height: 90px;
  margin: 14px 0;
  background: #54736a;
}

.context-bridge i::before,
.context-bridge i::after {
  position: absolute;
  left: -4px;
  width: 9px;
  height: 9px;
  border: 1px solid #7c9b90;
  border-radius: 50%;
  background: var(--forest-950);
  content: "";
}

.context-bridge i::before { top: 0; }
.context-bridge i::after { bottom: 0; }

.clinical-sheet {
  padding: 24px;
  border: 1px solid rgba(18, 63, 58, 0.13);
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.65);
}

.clinical-sheet__status {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 24px;
  color: var(--forest-700);
  font-size: 9px;
  font-weight: 800;
}

.clinical-sheet__status span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #4b9073;
  box-shadow: 0 0 0 4px #dcece4;
}

.clinical-sheet > strong {
  color: var(--forest-950);
  font-family: var(--display);
  font-size: 20px;
  font-weight: 600;
}

.clinical-sheet__lines {
  display: grid;
  gap: 15px;
  margin-top: 23px;
}

.clinical-sheet__lines i {
  width: 100%;
  height: 1px;
  background: #cbd8d1;
}

.clinical-sheet__lines i:nth-child(2) { width: 87%; }
.clinical-sheet__lines i:nth-child(3) { width: 93%; }
.clinical-sheet__lines i:nth-child(4) { width: 61%; }

.clinical-sheet__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 32px;
  color: var(--ink-muted);
  font-size: 8px;
}

.clinical-sheet__footer b {
  padding: 8px 10px;
  border-radius: 3px;
  background: var(--forest-900);
  color: #fff;
}

.field-notes {
  padding: 125px 0;
  background: var(--canvas);
}

.field-notes__grid {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 100px;
}

.field-notes__title {
  position: sticky;
  top: 120px;
  align-self: start;
}

.field-notes h2 {
  margin-top: 35px;
  color: var(--forest-950);
  font-size: clamp(48px, 4.5vw, 67px);
}

.field-notes__list {
  border-top: 1px solid var(--line-dark);
}

.field-notes__list article {
  display: grid;
  padding: 35px 0 40px;
  border-bottom: 1px solid var(--line-dark);
  grid-template-columns: 50px minmax(230px, 0.7fr) 1fr;
  gap: 25px;
}

.field-notes__list article > span {
  color: var(--clay-600);
  font-family: var(--display);
  font-size: 14px;
  font-weight: 650;
}

.field-notes__list h3 {
  margin: 0;
  color: var(--forest-900);
  font-family: var(--display);
  font-size: 27px;
  font-weight: 600;
  line-height: 1.12;
}

.field-notes__list p {
  margin: 0;
  color: var(--ink-muted);
  font-size: 13px;
  line-height: 1.75;
}

.price-story {
  padding: 125px 0;
  background: #e4ece6;
}

.price-story__grid {
  display: grid;
  align-items: center;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 110px;
}

.price-story h2 {
  margin-top: 35px;
  color: var(--forest-950);
  font-size: clamp(50px, 5vw, 72px);
}

.price-story__copy > p:not(.price-story__aside) {
  margin: 27px 0 0;
  color: #5f6d67;
  font-size: 15px;
  line-height: 1.75;
}

.price-story__aside {
  margin: 28px 0 0;
  padding: 14px 0 14px 18px;
  border-left: 2px solid var(--clay-500);
  color: #69766f;
  font-size: 10px;
  line-height: 1.6;
}

.price-sheet {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(18, 63, 58, 0.15);
  border-radius: 4px;
  background: var(--paper);
  box-shadow: var(--shadow-lg);
  transform: rotate(0.7deg);
}

.price-sheet::before {
  position: absolute;
  top: -65px;
  right: -40px;
  width: 190px;
  height: 190px;
  border: 1px solid rgba(197, 95, 56, 0.22);
  border-radius: 48% 52% 64% 36%;
  content: "";
}

.price-sheet header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  padding: 34px 38px 29px;
  border-bottom: 1px solid var(--line);
}

.price-sheet header span,
.price-sheet header strong { display: block; }
.price-sheet header span { color: var(--clay-600); font-size: 9px; font-weight: 800; letter-spacing: 0.13em; text-transform: uppercase; }
.price-sheet header strong { margin-top: 7px; color: var(--forest-900); font-family: var(--display); font-size: 23px; font-weight: 600; }

.price-sheet header > p {
  margin: 0;
  color: var(--forest-950);
  font-family: var(--display);
  font-size: 68px;
  font-weight: 650;
  letter-spacing: -0.05em;
  line-height: 0.8;
}

.price-sheet sup { top: -1.2em; margin-right: 5px; font-family: var(--ui); font-size: 13px; }
.price-sheet small { margin-left: 5px; color: var(--ink-muted); font-family: var(--ui); font-size: 11px; font-weight: 650; letter-spacing: 0; }
.price-sheet__body { padding: 29px 38px 34px; }
.price-sheet__body > p { margin: 0; color: var(--ink-muted); font-size: 12px; line-height: 1.65; }
.price-sheet ul { display: grid; gap: 12px; margin: 24px 0 29px; padding: 0; list-style: none; }
.price-sheet li { position: relative; padding-left: 24px; color: var(--forest-900); font-size: 12px; font-weight: 700; }
.price-sheet li::before { position: absolute; left: 0; color: var(--clay-600); content: "✓"; font-weight: 900; }
.price-sheet__body .button { width: 100%; }
.price-sheet footer { padding: 15px 38px; border-top: 1px solid var(--line); background: #f8f4ec; color: var(--ink-muted); font-size: 9px; font-weight: 700; text-align: center; }

.trust-letter {
  padding: 125px 0;
  background: var(--paper);
}

.trust-letter__inner {
  display: grid;
  align-items: center;
  grid-template-columns: 130px 1fr 0.8fr;
  gap: 60px;
}

.trust-letter__seal {
  display: grid;
  width: 120px;
  height: 135px;
  place-items: center;
  border: 1px solid var(--forest-900);
  border-radius: 60px 60px 68px 68px / 45px 45px 82px 82px;
  color: var(--forest-900);
  font-family: var(--display);
  font-size: 48px;
  font-style: italic;
}

.trust-letter h2 {
  color: var(--forest-950);
  font-size: clamp(45px, 4.4vw, 64px);
}

.trust-letter__inner > div:nth-child(2) > p:last-child {
  max-width: 650px;
  margin: 27px 0 0;
  color: var(--ink-muted);
  font-size: 14px;
  line-height: 1.8;
}

.trust-letter ul { margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.trust-letter li { padding: 20px 0; border-bottom: 1px solid var(--line); }
.trust-letter li strong,
.trust-letter li span { display: block; }
.trust-letter li strong { color: var(--forest-900); font-family: var(--display); font-size: 18px; font-weight: 600; }
.trust-letter li span { margin-top: 5px; color: var(--ink-muted); font-size: 10px; }

.closing-cta {
  position: relative;
  overflow: hidden;
  padding: 115px 0;
  background: var(--clay-600);
}

.closing-cta::before,
.closing-cta::after {
  position: absolute;
  width: 360px;
  height: 360px;
  border: 1px solid rgba(255, 255, 255, 0.17);
  border-radius: 50%;
  content: "";
}

.closing-cta::before { top: -250px; left: -120px; }
.closing-cta::after { right: -100px; bottom: -260px; }
.closing-cta__inner { position: relative; z-index: 1; text-align: center; }
.eyebrow--light { justify-content: center; color: #ffe7dc; }
.closing-cta h2 { color: #fffaf4; font-size: clamp(58px, 6vw, 83px); }
.closing-cta__inner > p:not(.eyebrow) { margin: 25px 0 32px; color: #f6d2c1; font-size: 15px; }
.button--light { border-color: #fffaf4; background: #fffaf4; color: var(--clay-700); }

.site-footer {
  padding: 46px 0;
  background: var(--forest-950);
  color: #d7e4de;
}

.site-footer__inner {
  display: grid;
  align-items: center;
  grid-template-columns: 1fr auto auto;
  gap: 50px;
}

.brand--footer { color: #fffaf2; }
.brand--footer .brand__mark { background: var(--clay-500); }
.site-footer p { margin: 7px 0 0; color: #86a198; font-size: 10px; }
.site-footer__links { display: flex; gap: 25px; }
.site-footer__links a { font-size: 10px; font-weight: 700; text-decoration: none; }
.site-footer__legal { margin: 0 !important; }

/* Operational workspace */

.app-page--workspace {
  min-width: 320px;
  background: var(--workspace);
  color: var(--ink);
}

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

.app-sidebar {
  position: sticky;
  top: 0;
  display: flex;
  height: 100vh;
  flex-direction: column;
  padding: 23px 16px 17px;
  background: var(--forest-950);
  color: #e9f1ed;
}

.app-sidebar__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 9px 29px;
}

.brand--app { color: #fff; font-size: 24px; }
.brand--app .brand__mark { width: 29px; height: 29px; background: var(--clay-500); }

.sidebar-collapse,
.mobile-menu,
.icon-button,
.user-menu,
.clinic-switcher,
.search-trigger,
.quiet-action,
.primary-action,
.date-switcher button,
.workbench__tools button,
.view-switch button,
.empty-slot,
.queue-tabs button,
.queue-item button,
.work-queue header button {
  border: 0;
  cursor: pointer;
}

.sidebar-collapse {
  display: grid;
  width: 27px;
  height: 27px;
  place-items: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  color: #b9cec6;
  font-size: 18px;
}

.app-nav { display: grid; gap: 4px; }

.app-nav__label {
  margin: 0 10px 10px;
  color: #76968b;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.app-nav__item {
  position: relative;
  display: grid;
  min-height: 47px;
  align-items: center;
  padding: 0 11px;
  border-radius: 8px;
  color: #aec3bb;
  font-size: 12px;
  font-weight: 700;
  grid-template-columns: 21px minmax(0, 1fr) auto;
  gap: 10px;
  text-decoration: none;
}

.app-nav__item svg {
  width: 18px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7px;
}

.app-nav__item:hover { background: rgba(255, 255, 255, 0.05); color: #fff; }
.app-nav__item--active { background: #244f49; color: #fff; }
.app-nav__item--active::before { position: absolute; left: -16px; width: 3px; height: 25px; border-radius: 0 4px 4px 0; background: var(--clay-500); content: ""; }

.nav-count {
  display: grid;
  min-width: 19px;
  height: 19px;
  place-items: center;
  padding-inline: 5px;
  border-radius: 999px;
  background: var(--clay-500);
  color: #fff;
  font-size: 8px;
}

.app-sidebar__bottom { display: grid; gap: 9px; margin-top: auto; }

.sidebar-shift {
  margin: 0 5px 4px;
  padding: 15px 13px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.04);
}

.sidebar-shift span { display: flex; align-items: center; gap: 7px; color: #9fb8ae; font-size: 9px; font-weight: 750; text-transform: uppercase; }
.sidebar-shift span i { width: 6px; height: 6px; border-radius: 50%; background: #79ad8e; }
.sidebar-shift strong { display: block; margin-top: 8px; color: #fff; font-family: var(--display); font-size: 22px; font-weight: 600; }
.sidebar-shift small { color: #729187; font-size: 9px; }

.clinic-switcher {
  display: grid;
  width: 100%;
  align-items: center;
  padding: 12px 9px 2px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  background: transparent;
  color: #d9e5e0;
  grid-template-columns: 33px 1fr auto;
  gap: 9px;
  text-align: left;
}

.clinic-switcher__logo {
  display: grid;
  height: 33px;
  place-items: center;
  border-radius: 7px;
  background: var(--sage-100);
  color: var(--forest-900);
  font-family: var(--display);
  font-size: 11px;
  font-weight: 750;
}

.clinic-switcher strong,
.clinic-switcher small { display: block; }
.clinic-switcher strong { font-size: 11px; }
.clinic-switcher small { margin-top: 2px; color: #78968b; font-size: 9px; }
.app-main { min-width: 0; }

.app-topbar {
  display: flex;
  min-height: 74px;
  align-items: center;
  justify-content: space-between;
  padding: 0 30px;
  border-bottom: 1px solid var(--line);
  background: rgba(255, 253, 250, 0.94);
}

.workspace-breadcrumb { display: flex; align-items: center; gap: 9px; color: #8b9490; font-size: 13px; }
.workspace-breadcrumb b { color: #c2c9c5; font-weight: 400; }
.workspace-breadcrumb strong { color: var(--forest-900); }
.app-topbar__actions,
.user-menu { display: flex; align-items: center; }
.app-topbar__actions { gap: 6px; }

.search-trigger {
  display: flex;
  min-width: 180px;
  height: 38px;
  align-items: center;
  gap: 8px;
  margin-right: 5px;
  padding: 0 9px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #f8f8f5;
  color: #8a938f;
  font-size: 12px;
  text-align: left;
}

.search-trigger svg { width: 15px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-width: 1.7px; }
.search-trigger span { flex: 1; }
.search-trigger kbd { padding: 2px 5px; border: 1px solid #d9dedb; border-radius: 4px; background: #fff; color: #87908c; font-family: var(--ui); font-size: 10px; }

.icon-button {
  position: relative;
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 7px;
  background: transparent;
  color: #62706a;
}

.icon-button:hover { background: var(--workspace); }
.icon-button svg { width: 17px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7px; }
.icon-button--notice > span { position: absolute; top: 7px; right: 8px; width: 5px; height: 5px; border-radius: 50%; background: var(--clay-500); }

.user-menu {
  gap: 8px;
  margin-left: 6px;
  padding: 2px 5px 2px 11px;
  border-left: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
  text-align: left;
}

.avatar {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 50%;
  background: var(--clay-100);
  color: var(--clay-700);
  font-size: 9px;
  font-weight: 800;
}

.user-menu__name strong,
.user-menu__name small { display: block; }
.user-menu__name strong { font-size: 12px; }
.user-menu__name small { color: var(--ink-muted); font-size: 10px; }
.mobile-menu { display: none; }

.workspace {
  width: min(1440px, 100%);
  margin: 0 auto;
  padding: 27px 30px 45px;
}

.workspace-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 25px;
}

.workspace-heading p { margin: 0 0 6px; color: var(--ink-muted); font-size: 12px; font-weight: 650; }
.workspace-heading h1 { margin: 0; color: var(--forest-950); font-family: var(--display); font-size: 48px; font-weight: 620; letter-spacing: -0.035em; line-height: 1; }
.workspace-heading__actions { display: flex; gap: 8px; }

.quiet-action,
.primary-action {
  display: inline-flex;
  min-height: 44px;
  padding: 0 18px;
  align-items: center;
  justify-content: center;
  border-radius: 7px;
  font-size: 12px;
  font-weight: 750;
  gap: 4px;
  text-decoration: none;
}

.quiet-action { border: 1px solid var(--line-dark); background: var(--paper); color: var(--forest-900); }
.primary-action { background: var(--forest-900); color: #fff; }

.operations-strip {
  display: grid;
  min-height: 82px;
  align-items: center;
  margin-top: 24px;
  border: 1px solid var(--line);
  border-radius: 8px 8px 0 0;
  background: var(--paper);
  grid-template-columns: 210px 1fr;
}

.operations-strip__lead {
  padding: 0 20px;
}

.operations-strip__lead strong,
.operations-strip__lead small { display: block; }
.operations-strip__lead strong { display: inline; margin-left: 7px; color: var(--forest-900); font-size: 13px; }
.operations-strip__lead small { margin: 5px 0 0 16px; color: #8a948f; font-size: 11px; }

.live-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #4e9875;
  box-shadow: 0 0 0 3px #e0eee7;
}

.operations-strip dl {
  display: grid;
  height: 100%;
  margin: 0;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.operations-strip dl > div {
  display: flex;
  justify-content: center;
  flex-direction: column;
  padding: 0 17px;
  border-left: 1px solid var(--line);
}

.operations-strip dt { color: #7a8580; font-size: 12px; font-weight: 650; }
.operations-strip dd { margin: 3px 0 0; color: var(--forest-950); font-family: var(--display); font-size: 27px; font-weight: 650; font-variant-numeric: tabular-nums; }
.operations-strip__attention { background: #fff8f4; }
.operations-strip__attention dd { color: var(--clay-700); }

.workbench {
  overflow: hidden;
  border: 1px solid var(--line);
  border-top: 0;
  border-radius: 0 0 8px 8px;
  background: var(--paper);
}

.workbench__toolbar {
  display: grid;
  min-height: 76px;
  align-items: center;
  padding: 0 16px;
  border-bottom: 1px solid var(--line);
  grid-template-columns: auto 1fr auto;
  gap: 17px;
}

.date-switcher {
  display: flex;
  align-items: center;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 6px;
}

.date-switcher button { width: 34px; height: 34px; border-right: 1px solid var(--line); background: #fff; color: #69746f; font-size: 15px; }
.date-switcher button:last-child { border-right: 0; }
.date-switcher .date-switcher__today { width: auto; padding-inline: 11px; color: var(--forest-900); font-size: 11px; font-weight: 800; }
.workbench__title { display: flex; align-items: baseline; gap: 9px; }
.workbench__title h2 { margin: 0; color: var(--forest-950); font-family: var(--display); font-size: 25px; font-weight: 650; }
.workbench__title > span { color: #939c98; font-size: 11px; }
.workbench__tools { display: flex; align-items: center; gap: 8px; }

.workbench__tools > button {
  display: flex;
  height: 34px;
  align-items: center;
  gap: 6px;
  padding: 0 9px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  color: #5d6964;
  font-size: 11px;
  font-weight: 700;
}

.workbench__tools svg { width: 13px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-width: 1.6px; }
.filter-count { display: grid; width: 15px; height: 15px; place-items: center; border-radius: 50%; background: var(--clay-100); color: var(--clay-700); font-size: 7px; }

.view-switch { display: flex; padding: 3px; border: 1px solid var(--line); border-radius: 6px; background: #f4f5f2; }
.view-switch button { min-height: 30px; padding: 0 11px; border-radius: 4px; background: transparent; color: #828c87; font-size: 11px; font-weight: 700; }
.view-switch .view-switch__active { background: #fff; color: var(--forest-900); box-shadow: 0 1px 4px rgba(18, 63, 58, 0.1); }

.workbench__body {
  display: grid;
  grid-template-columns: minmax(650px, 1fr) 310px;
}

.schedule-board {
  display: grid;
  min-width: 650px;
  overflow: auto;
  grid-template-columns: 62px repeat(3, minmax(178px, 1fr));
}

.schedule-board__corner,
.professional-head {
  min-height: 70px;
  border-bottom: 1px solid var(--line);
}

.schedule-board__corner {
  display: grid;
  place-items: center;
  color: #9aa29f;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.professional-head {
  position: relative;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 0 13px;
  border-left: 1px solid var(--line);
}

.professional-avatar {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 50%;
  font-size: 8px;
  font-weight: 800;
}

.professional-avatar--sage { background: var(--sage-100); color: var(--forest-700); }
.professional-avatar--blue { background: var(--sky-100); color: var(--sky-600); }
.professional-avatar--gold { background: var(--sun-100); color: var(--sun-600); }
.professional-head strong,
.professional-head small { display: block; }
.professional-head strong { color: var(--ink); font-size: 14px; }
.professional-head small { margin-top: 3px; color: #939c98; font-size: 11px; }
.professional-head i { position: absolute; right: 10px; width: 5px; height: 5px; border-radius: 50%; background: #6ea087; }

.time-slot,
.slot-card,
.empty-slot {
  min-height: 98px;
  border-bottom: 1px solid #e6eae7;
}

.time-slot {
  padding-top: 13px;
  color: #7b8681;
  font-size: 11px;
  font-style: normal;
  font-weight: 750;
  text-align: center;
}

.slot-card,
.empty-slot {
  position: relative;
  margin: 6px;
  padding: 13px;
  border: 1px solid #dfe5e1;
  border-radius: 6px;
  background: #f9faf8;
  text-align: left;
}

.slot-card > span,
.slot-card strong,
.slot-card small { display: block; }
.slot-card > span { color: #8b9591; font-size: 11px; font-weight: 700; }
.slot-card strong { overflow: hidden; margin-top: 7px; color: var(--ink); font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.slot-card small { overflow: hidden; margin-top: 3px; color: #7f8a85; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.slot-card b { position: absolute; top: 11px; right: 9px; color: #74817b; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.slot-card--ready { border-left: 3px solid #6d9c84; background: #f2f7f3; }
.slot-card--ready b { color: #4e8067; }
.slot-card--active { border-left: 3px solid var(--sky-600); background: #f1f6f8; }
.slot-card--active b { color: var(--sky-600); }
.slot-card--attention { border-left: 3px solid var(--clay-500); background: #fff6f1; }
.slot-card--attention b { color: var(--clay-700); }
.slot-card--blocked { border-style: dashed; background: #f2f2ef; }
.slot-card--blocked strong { color: #77817d; }

.empty-slot {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border-style: dashed;
  background: transparent;
  color: #9ba5a0;
  font-size: 9px;
  font-weight: 700;
  text-align: center;
}

.empty-slot:hover { border-color: var(--sage-600); background: #f6f9f6; color: var(--forest-700); }

.work-queue {
  border-left: 1px solid var(--line);
  background: #fcfbf8;
}

.work-queue > header {
  display: flex;
  min-height: 70px;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
  border-bottom: 1px solid var(--line);
}

.work-queue h2 { margin: 0; color: var(--forest-950); font-family: var(--display); font-size: 23px; font-weight: 650; }
.work-queue header p { margin: 3px 0 0; color: #939c98; font-size: 10px; }
.work-queue header button { background: transparent; color: #929b97; font-size: 10px; letter-spacing: 1px; }

.queue-tabs { display: grid; padding: 0 15px; border-bottom: 1px solid var(--line); grid-template-columns: 1fr 1fr; }
.queue-tabs button { position: relative; min-height: 46px; background: transparent; color: #8a938f; font-size: 10px; font-weight: 750; }
.queue-tabs button span { margin-left: 4px; }
.queue-tabs__active { color: var(--forest-900) !important; }
.queue-tabs__active::after { position: absolute; right: 8px; bottom: -1px; left: 8px; height: 2px; background: var(--forest-900); content: ""; }

.queue-list { padding: 0 20px; }
.queue-item { padding: 20px 0; border-bottom: 1px solid var(--line); }
.queue-item__meta { display: flex; align-items: center; justify-content: space-between; }
.queue-item__meta span { color: var(--forest-700); font-size: 10px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.queue-item__meta time { color: #9ca4a0; font-size: 10px; }
.queue-item > strong { display: block; margin-top: 9px; color: var(--ink); font-size: 14px; line-height: 1.4; }
.queue-item > p { margin: 6px 0 11px; color: #7a8580; font-size: 12px; line-height: 1.5; }
.queue-item > button { display: flex; align-items: center; gap: 6px; padding: 0; background: transparent; color: var(--forest-700); font-size: 11px; font-weight: 800; }
.queue-item--urgent { position: relative; }
.queue-item--urgent::before { position: absolute; top: 18px; left: -17px; width: 2px; height: 42px; background: var(--clay-500); content: ""; }
.queue-item--urgent .queue-item__meta span { color: var(--clay-700); }

.work-queue > footer {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 15px 20px;
  color: #8c9691;
  font-size: 10px;
}

.work-queue > footer .live-dot { width: 5px; height: 5px; box-shadow: none; }

/* Guided admission flow */

.flow-workspace { max-width: 1380px; padding-bottom: 70px; }

.flow-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
}

.flow-heading__back {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 20px;
  color: var(--forest-700);
  font-size: 10px;
  font-weight: 750;
  text-decoration: none;
}

.flow-heading__back:hover { color: var(--clay-600); }
.flow-heading > div:first-child > p { margin: 0 0 6px; color: var(--clay-700); font-size: 11px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.flow-heading h1 { margin: 0; color: var(--forest-950); font-family: var(--display); font-size: clamp(36px, 3.4vw, 49px); font-weight: 620; letter-spacing: -0.035em; line-height: 1; }
.flow-heading > div:first-child > span { display: block; max-width: 720px; margin-top: 14px; color: var(--ink-muted); font-size: 13px; line-height: 1.6; }

.flow-heading__context {
  display: flex;
  min-width: 230px;
  align-items: center;
  gap: 11px;
  padding: 13px 15px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.62);
}

.flow-heading__context strong,
.flow-heading__context small { display: block; }
.flow-heading__context strong { color: var(--forest-900); font-size: 12px; }
.flow-heading__context small { margin-top: 3px; color: var(--ink-muted); font-size: 10px; }

.flow-progress {
  display: grid;
  align-items: center;
  margin: 30px 0 18px;
  padding: 15px 20px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--paper);
  grid-template-columns: auto 1fr auto 1fr auto;
  gap: 16px;
}

.flow-progress > i { height: 1px; background: #dce2de; }

.flow-progress__step {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #8b9590;
  cursor: pointer;
  text-align: left;
}

.flow-progress__step > span:first-child {
  display: grid;
  width: 33px;
  height: 33px;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid #d8dfda;
  border-radius: 50%;
  background: #fafaf7;
  font-family: var(--display);
  font-size: 12px;
}

.flow-progress__step strong,
.flow-progress__step small { display: block; }
.flow-progress__step strong { color: inherit; font-size: 12px; }
.flow-progress__step small { margin-top: 2px; font-size: 10px; }
.flow-progress__step.is-active { color: var(--forest-900); }
.flow-progress__step.is-active > span:first-child { border-color: var(--forest-900); background: var(--forest-900); color: #fff; }
.flow-progress__step.is-complete { color: #4f8068; }
.flow-progress__step.is-complete > span:first-child { border-color: #8db09e; background: #edf5f0; color: #3f725a; }

.flow-layout {
  display: grid;
  align-items: start;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 18px;
}

.flow-card,
.preparation-summary {
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--paper);
}

.flow-card { overflow: hidden; }
.flow-step { min-height: 590px; padding: 32px 36px 28px; }
.flow-step[hidden],
.patient-form[hidden],
.search-feedback[hidden],
.guardian-panel[hidden],
.completion-banner[hidden] { display: none; }

.flow-step__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 25px;
  padding-bottom: 25px;
  border-bottom: 1px solid var(--line);
}

.flow-step__header span:first-child { color: var(--clay-700); font-size: 10px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.flow-step__header h2 { margin: 7px 0 0; color: var(--forest-950); font-family: var(--display); font-size: 31px; font-weight: 620; letter-spacing: -0.025em; }
.flow-step__header p { max-width: 650px; margin: 8px 0 0; color: var(--ink-muted); font-size: 12px; line-height: 1.65; }
.flow-step__header .flow-reference { flex: 0 0 auto; padding: 5px 8px; border-radius: 999px; background: var(--sage-100); color: var(--forest-700); font-size: 10px; font-weight: 800; letter-spacing: 0.05em; }

.identity-search {
  display: grid;
  align-items: end;
  margin-top: 27px;
  padding: 20px;
  border: 1px solid #dce4df;
  border-radius: 8px;
  background: #f7faf7;
  grid-template-columns: 180px minmax(220px, 1fr) auto;
  gap: 12px;
}

.field-group { display: grid; gap: 7px; }
.field-group > span { color: #61706a; font-size: 11px; font-weight: 750; }
.field-group input,
.field-group select {
  width: 100%;
  height: 42px;
  padding: 0 12px;
  border: 1px solid #d8dfdb;
  border-radius: 6px;
  outline: 0;
  background: #fff;
  color: var(--ink);
  font-family: var(--ui);
  font-size: 13px;
}

.field-group input:focus,
.field-group select:focus { border-color: #6d9584; box-shadow: 0 0 0 3px rgba(72, 125, 102, 0.1); }
.field-group input[aria-invalid="true"] { border-color: var(--clay-600); box-shadow: 0 0 0 3px rgba(219, 105, 65, 0.12); }

.field-search-button {
  height: 42px;
  padding: 0 17px;
  border: 0;
  border-radius: 6px;
  background: var(--forest-900);
  color: #fff;
  cursor: pointer;
  font-size: 11px;
  font-weight: 800;
}

.search-feedback {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 16px;
  padding: 15px 17px;
  border: 1px solid #cfe1d7;
  border-radius: 7px;
  background: #f0f7f3;
}

.search-feedback > span { display: grid; width: 21px; height: 21px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: #5f9278; color: #fff; font-size: 10px; }
.search-feedback strong { color: var(--forest-900); font-size: 12px; }
.search-feedback p { margin: 4px 0 0; color: #6f7e77; font-size: 10px; line-height: 1.5; }

.patient-form { margin-top: 30px; }
.form-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.form-section-heading span { color: var(--clay-700); font-size: 10px; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase; }
.form-section-heading h3 { margin: 5px 0 0; color: var(--forest-950); font-family: var(--display); font-size: 24px; font-weight: 620; }
.form-section-heading small { color: #8b9590; font-size: 10px; }

.segmented-control { display: inline-flex; margin-top: 20px; padding: 3px; border: 1px solid var(--line); border-radius: 7px; background: #f3f5f2; }
.segmented-control button { min-height: 34px; padding: 0 13px; border: 0; border-radius: 5px; background: transparent; color: #7a8580; cursor: pointer; font-size: 11px; font-weight: 750; }
.segmented-control button.is-selected { background: #fff; color: var(--forest-900); box-shadow: 0 1px 5px rgba(18, 63, 58, 0.1); }

.form-grid { display: grid; margin-top: 21px; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px 15px; }

.guardian-panel { margin-top: 22px; padding: 18px; border: 1px solid #efd9ca; border-radius: 8px; background: #fff9f5; }
.guardian-panel__notice { display: flex; align-items: flex-start; gap: 10px; }
.guardian-panel__notice > span { display: grid; width: 20px; height: 20px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: var(--clay-100); color: var(--clay-700); font-size: 10px; font-weight: 800; }
.guardian-panel__notice p { margin: 0; color: #735f55; font-size: 11px; line-height: 1.6; }

.consent-check { display: flex; align-items: flex-start; gap: 10px; margin-top: 22px; color: var(--ink); cursor: pointer; }
.consent-check input { margin-top: 2px; accent-color: var(--forest-900); }
.consent-check strong,
.consent-check small { display: block; }
.consent-check strong { font-size: 12px; }
.consent-check small { margin-top: 3px; color: var(--ink-muted); font-size: 10px; line-height: 1.4; }

.patient-context-strip {
  display: grid;
  align-items: center;
  margin-top: 24px;
  padding: 13px 15px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fafaf7;
  grid-template-columns: 38px 1fr auto;
  gap: 10px;
}

.avatar--patient { width: 38px; height: 38px; background: var(--sage-100); color: var(--forest-700); }
.patient-context-strip strong,
.patient-context-strip small { display: block; }
.patient-context-strip strong { font-size: 12px; }
.patient-context-strip small { margin-top: 3px; color: var(--ink-muted); font-size: 10px; }
.patient-context-strip button { border: 0; background: transparent; color: var(--forest-700); cursor: pointer; font-size: 11px; font-weight: 800; }

.choice-section { min-width: 0; margin: 28px 0 0; padding: 0; border: 0; }
.choice-section legend { padding: 0; color: var(--forest-950); font-family: var(--display); font-size: 18px; font-weight: 620; }
.service-options { display: grid; margin-top: 13px; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }

.selection-card {
  display: grid;
  min-height: 105px;
  align-content: start;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fff;
  cursor: pointer;
  grid-template-columns: auto 1fr;
  gap: 9px;
}

.selection-card input,
.coverage-option input,
.slot-options input { accent-color: var(--forest-900); }
.selection-card strong,
.selection-card small { display: block; }
.selection-card strong { color: var(--ink); font-size: 12px; line-height: 1.35; }
.selection-card small { margin-top: 5px; color: var(--ink-muted); font-size: 10px; line-height: 1.4; }
.selection-card b { grid-column: 2; color: var(--forest-900); font-family: var(--display); font-size: 18px; font-weight: 650; }
.selection-card.is-selected,
.selection-card:has(input:checked) { border-color: #6f9886; background: #f3f8f4; box-shadow: 0 0 0 2px rgba(86, 135, 111, 0.08); }

.appointment-filters { display: grid; margin-top: 23px; grid-template-columns: 1.2fr 0.8fr 0.8fr; gap: 12px; }
.choice-section--slots { margin-top: 25px; }
.slot-options { display: grid; margin-top: 12px; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.slot-options label { display: flex; align-items: center; gap: 8px; padding: 12px; border: 1px solid var(--line); border-radius: 7px; cursor: pointer; }
.slot-options label.is-selected,
.slot-options label:has(input:checked) { border-color: #6f9886; background: #f3f8f4; }
.slot-options strong,
.slot-options small { display: block; }
.slot-options strong { color: var(--forest-950); font-family: var(--display); font-size: 16px; }
.slot-options small { margin-top: 3px; color: var(--ink-muted); font-size: 10px; }

.policy-note { display: flex; align-items: flex-start; gap: 11px; margin-top: 24px; padding: 15px 17px; border-left: 3px solid var(--sky-600); background: var(--sky-100); }
.policy-note > span { color: var(--sky-600); font-size: 17px; }
.policy-note strong { color: #315b6a; font-size: 12px; }
.policy-note p { margin: 4px 0 0; color: #63777d; font-size: 10px; line-height: 1.5; }

.coverage-summary { display: grid; margin-top: 24px; border: 1px solid var(--line); border-radius: 7px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.coverage-summary > div { min-width: 0; padding: 14px; border-left: 1px solid var(--line); }
.coverage-summary > div:first-child { border-left: 0; }
.coverage-summary span,
.coverage-summary strong,
.coverage-summary small { display: block; }
.coverage-summary span { color: #87918d; font-size: 10px; font-weight: 750; text-transform: uppercase; }
.coverage-summary strong { overflow: hidden; margin-top: 6px; color: var(--ink); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.coverage-summary small { margin-top: 4px; color: var(--ink-muted); font-size: 10px; }

.coverage-options { display: grid; margin-top: 13px; gap: 9px; }
.coverage-option { display: grid; align-items: center; padding: 14px; border: 1px solid var(--line); border-radius: 7px; cursor: pointer; grid-template-columns: auto 34px 1fr auto; gap: 11px; }
.coverage-option.is-selected,
.coverage-option:has(input:checked) { border-color: #6f9886; background: #f3f8f4; }
.coverage-option__icon { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; background: var(--sage-100); color: var(--forest-700); font-size: 10px; font-weight: 800; }
.coverage-option strong,
.coverage-option small { display: block; }
.coverage-option strong { font-size: 12px; }
.coverage-option small { margin-top: 4px; color: var(--ink-muted); font-size: 10px; }
.coverage-option > b { padding: 4px 7px; border-radius: 999px; background: #e3efe8; color: #4d7b64; font-size: 9px; text-transform: uppercase; }

.voucher-dropzone { display: grid; align-items: center; margin-top: 20px; padding: 16px; border: 1px dashed #bfcac4; border-radius: 7px; background: #fafaf8; grid-template-columns: 30px 1fr auto; gap: 11px; }
.voucher-dropzone > span { color: var(--forest-700); font-size: 21px; }
.voucher-dropzone strong { font-size: 12px; }
.voucher-dropzone p { margin: 4px 0 0; color: var(--ink-muted); font-size: 10px; }
.voucher-dropzone button { min-height: 35px; padding: 0 12px; border: 1px solid var(--line-dark); border-radius: 6px; background: #fff; color: var(--forest-900); cursor: pointer; font-size: 10px; font-weight: 800; }

.completion-banner { display: flex; align-items: flex-start; gap: 12px; margin-top: 22px; padding: 17px; border: 1px solid #bdd8c9; border-radius: 7px; background: #edf6f1; }
.completion-banner > span { display: grid; width: 25px; height: 25px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: #4d876a; color: #fff; }
.completion-banner strong { color: var(--forest-900); font-size: 12px; }
.completion-banner p { margin: 4px 0 0; color: #61756b; font-size: 10px; line-height: 1.55; }

.flow-actions { display: grid; min-height: 68px; align-items: center; padding: 0 24px; border-top: 1px solid var(--line); background: #fbfaf7; grid-template-columns: 1fr auto 1fr; gap: 15px; }
.flow-actions > span { color: #89938e; font-size: 10px; font-weight: 750; text-transform: uppercase; }
.flow-actions button { min-height: 40px; border-radius: 6px; cursor: pointer; font-size: 11px; font-weight: 800; }
.flow-actions__secondary { justify-self: start; padding: 0 13px; border: 1px solid var(--line); background: #fff; color: var(--forest-900); }
.flow-actions__secondary:disabled { opacity: 0.4; cursor: default; }
.flow-actions__primary { display: flex; align-items: center; justify-self: end; gap: 10px; padding: 0 15px; border: 0; background: var(--forest-900); color: #fff; }
.flow-actions__primary b { font-size: 13px; }

.preparation-summary { position: sticky; top: 88px; overflow: hidden; }
.preparation-summary header { padding: 24px 22px 19px; border-bottom: 1px solid var(--line); }
.preparation-summary header > span { color: var(--clay-700); font-size: 10px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.preparation-summary h2 { margin: 7px 0 0; color: var(--forest-950); font-family: var(--display); font-size: 25px; font-weight: 620; }
.preparation-summary header p { margin: 7px 0 0; color: var(--ink-muted); font-size: 11px; line-height: 1.5; }
.preparation-summary ol { margin: 0; padding: 9px 22px; list-style: none; }
.preparation-summary li { display: grid; align-items: center; padding: 13px 0; border-bottom: 1px solid #edf0ed; color: #9aa39f; grid-template-columns: 27px 1fr; gap: 10px; }
.preparation-summary li > span { display: grid; width: 25px; height: 25px; place-items: center; border: 1px solid #dce1de; border-radius: 50%; font-family: var(--display); font-size: 10px; }
.preparation-summary li strong,
.preparation-summary li small { display: block; }
.preparation-summary li strong { color: inherit; font-size: 11px; }
.preparation-summary li small { margin-top: 3px; font-size: 10px; }
.preparation-summary li.is-current { color: var(--forest-900); }
.preparation-summary li.is-current > span { border-color: var(--forest-900); background: var(--forest-900); color: #fff; }
.preparation-summary li.is-complete { color: #528069; }
.preparation-summary li.is-complete > span { border-color: #a6c3b4; background: #e9f3ed; color: #47735c; }

.readiness-card { display: flex; align-items: flex-start; gap: 11px; margin: 10px 16px 16px; padding: 16px; border-radius: 7px; background: #fff5ef; }
.readiness-card__mark { display: grid; width: 24px; height: 24px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: var(--clay-100); color: var(--clay-700); font-size: 11px; font-weight: 800; }
.readiness-card small,
.readiness-card strong { display: block; }
.readiness-card small { color: #9a7565; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.readiness-card strong { margin-top: 5px; color: var(--clay-700); font-size: 12px; }
.readiness-card p { margin: 5px 0 0; color: #806e65; font-size: 10px; line-height: 1.5; }
.readiness-card--waiting { background: #f0f6f2; }
.readiness-card--waiting .readiness-card__mark { background: #dcece3; color: #4d8065; }

.privacy-note { display: flex; align-items: flex-start; gap: 9px; padding: 17px 22px 21px; border-top: 1px solid var(--line); color: #79847e; }
.privacy-note > span { color: var(--forest-700); font-size: 10px; }
.privacy-note p { margin: 0; font-size: 10px; line-height: 1.55; }
.privacy-note strong { color: var(--forest-900); }

/* Clinical workspace */

.nav-count--quiet { background: rgba(255, 255, 255, 0.1); color: #b9cec6; }
.sidebar-shift--clinical strong { font-size: 28px; }

.clinical-day__heading > div:first-child > span {
  display: block;
  max-width: 680px;
  margin-top: 12px;
  color: var(--ink-muted);
  font-size: 13px;
  line-height: 1.55;
}

.clinical-presence {
  display: flex;
  min-width: 190px;
  align-items: center;
  gap: 11px;
  padding: 13px 15px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--paper);
}

.clinical-presence strong,
.clinical-presence small { display: block; }
.clinical-presence strong { color: var(--forest-900); font-size: 12px; }
.clinical-presence small { margin-top: 3px; color: var(--ink-muted); font-size: 10px; }

.clinical-status-strip {
  display: grid;
  margin-top: 27px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--paper);
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.clinical-status-strip > div { min-height: 96px; padding: 18px 20px; border-left: 1px solid var(--line); }
.clinical-status-strip > div:first-child { border-left: 0; }
.clinical-status-strip span,
.clinical-status-strip strong,
.clinical-status-strip small { display: block; }
.clinical-status-strip span { color: #7b8781; font-size: 11px; font-weight: 750; }
.clinical-status-strip strong { margin-top: 5px; color: var(--forest-950); font-family: var(--display); font-size: 27px; font-weight: 650; }
.clinical-status-strip small { margin-top: 3px; color: #89938e; font-size: 10px; }
.clinical-status-strip__attention { background: #fff8f4; }
.clinical-status-strip__attention strong { color: var(--clay-700); }

.clinical-day__layout { display: grid; align-items: start; margin-top: 18px; grid-template-columns: minmax(0, 1fr) 330px; gap: 18px; }
.clinical-agenda,
.clinical-task-panel,
.clinical-boundary-note { border: 1px solid var(--line); border-radius: 9px; background: var(--paper); }
.clinical-agenda { overflow: hidden; }
.clinical-agenda > header { display: flex; min-height: 82px; align-items: center; justify-content: space-between; padding: 0 24px; border-bottom: 1px solid var(--line); }
.clinical-agenda > header span,
.clinical-task-panel header span,
.clinical-boundary-note > span { color: var(--clay-700); font-size: 10px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.clinical-agenda h2,
.clinical-task-panel h2 { margin: 5px 0 0; color: var(--forest-950); font-family: var(--display); font-size: 25px; font-weight: 630; }

.clinical-timeline { padding: 7px 24px 20px; }
.clinical-appointment { display: grid; min-height: 118px; grid-template-columns: 62px 22px 1fr; }
.clinical-appointment > time { padding-top: 24px; color: #79857f; font-size: 12px; font-style: normal; font-weight: 800; }
.clinical-appointment__rail { position: relative; }
.clinical-appointment__rail::before { position: absolute; top: 0; bottom: 0; left: 50%; width: 1px; background: #dfe5e1; content: ""; }
.clinical-appointment__rail span { position: absolute; top: 27px; left: 50%; z-index: 1; width: 9px; height: 9px; border: 2px solid #fff; border-radius: 50%; background: #aab6b0; box-shadow: 0 0 0 1px #cdd6d1; transform: translateX(-50%); }
.clinical-appointment__body { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 8px 0; padding: 18px 20px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.clinical-appointment__body h3 { margin: 5px 0 0; color: var(--ink); font-family: var(--display); font-size: 20px; font-weight: 630; }
.clinical-appointment__body p { margin: 5px 0 0; color: var(--ink-muted); font-size: 11px; }
.appointment-state { color: #6f7c76; font-size: 10px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.clinical-appointment__action { min-width: 155px; text-align: right; }
.clinical-appointment__action small { display: block; margin-bottom: 10px; color: #89938e; font-size: 10px; line-height: 1.35; }
.clinical-appointment__action button,
.clinical-primary-link { display: inline-flex; min-height: 36px; align-items: center; justify-content: center; padding: 0 13px; border: 1px solid var(--line-dark); border-radius: 6px; background: #fff; color: var(--forest-900); font-size: 11px; font-weight: 800; text-decoration: none; }
.clinical-appointment__action button:disabled { opacity: 0.48; }
.clinical-primary-link { border-color: var(--forest-900); background: var(--forest-900); color: #fff; }
.clinical-appointment--complete .clinical-appointment__rail span { background: #77a08c; }
.clinical-appointment--complete .clinical-appointment__body { background: #f8faf8; }
.clinical-appointment--ready .clinical-appointment__rail span { width: 12px; height: 12px; background: var(--clay-500); box-shadow: 0 0 0 4px var(--clay-100); }
.clinical-appointment--ready .clinical-appointment__body { border-color: #9bbbab; background: #f3f8f4; box-shadow: 0 7px 22px rgba(28, 78, 65, 0.07); }
.clinical-appointment--ready .appointment-state { color: #44775f; }
.clinical-appointment--waiting .clinical-appointment__body { border-style: dashed; background: #faf8f5; }
.clinical-appointment--waiting .appointment-state { color: var(--clay-700); }
.clinical-requirements { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.clinical-requirements span { padding: 4px 7px; border-radius: 999px; background: #e1eee7; color: #4e7b64; font-size: 9px; font-weight: 750; }

.clinical-day__aside { display: grid; gap: 18px; }
.clinical-task-panel { overflow: hidden; }
.clinical-task-panel header { padding: 22px; border-bottom: 1px solid var(--line); }
.clinical-task-panel article { display: grid; padding: 20px 22px; border-bottom: 1px solid var(--line); grid-template-columns: 28px 1fr; gap: 10px; }
.clinical-task-panel article:last-child { border-bottom: 0; }
.task-number { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 50%; background: var(--sage-100); color: var(--forest-700); font-family: var(--display); font-size: 10px; }
.clinical-task-panel article strong { color: var(--ink); font-size: 13px; line-height: 1.4; }
.clinical-task-panel article p { margin: 6px 0 11px; color: var(--ink-muted); font-size: 11px; line-height: 1.5; }
.clinical-task-panel article button { padding: 0; border: 0; background: transparent; color: var(--forest-700); cursor: pointer; font-size: 11px; font-weight: 800; }
.clinical-boundary-note { padding: 24px 22px; background: var(--forest-900); }
.clinical-boundary-note > span { color: #9ec0b1; }
.clinical-boundary-note h3 { margin: 12px 0 0; color: #fff; font-family: var(--display); font-size: 24px; font-weight: 590; line-height: 1.12; }
.clinical-boundary-note p { margin: 13px 0 0; color: #aec4bb; font-size: 11px; line-height: 1.65; }

.clinical-session { width: min(1480px, 100%); margin: 0 auto; padding: 22px 28px 70px; }
.session-commandbar { display: grid; min-height: 88px; align-items: center; padding-bottom: 18px; border-bottom: 1px solid var(--line); grid-template-columns: 1fr auto auto; gap: 24px; }
.session-commandbar__identity { display: grid; align-items: center; grid-template-columns: 34px 42px 1fr; gap: 10px; }
.session-commandbar__identity > a { display: grid; width: 32px; height: 32px; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: var(--paper); color: var(--forest-900); font-size: 15px; text-decoration: none; }
.avatar--clinical { width: 42px; height: 42px; background: var(--sage-100); color: var(--forest-700); font-size: 11px; }
.session-commandbar__identity div > span { color: var(--clay-700); font-size: 10px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.session-commandbar h1 { margin: 3px 0 0; color: var(--forest-950); font-family: var(--display); font-size: 28px; font-weight: 630; line-height: 1; }
.session-commandbar__identity p { margin: 4px 0 0; color: var(--ink-muted); font-size: 12px; }
.session-commandbar__state { display: grid; justify-items: end; gap: 4px; }
.connection-badge { display: flex; align-items: center; gap: 7px; color: #4d7963; font-size: 11px; font-weight: 800; }
.connection-badge i { width: 7px; height: 7px; border-radius: 50%; background: #5b9676; box-shadow: 0 0 0 3px #deece4; }
.connection-badge--offline { color: var(--clay-700); }
.connection-badge--offline i { background: var(--clay-500); box-shadow: 0 0 0 3px var(--clay-100); }
.save-state { color: #828e88; font-size: 11px; }
.session-commandbar__actions { display: flex; gap: 8px; }
.session-commandbar__actions button { min-height: 42px; padding: 0 16px; border-radius: 6px; cursor: pointer; font-size: 12px; font-weight: 800; }
.session-quiet-button { border: 1px solid var(--line-dark); background: var(--paper); color: var(--forest-900); }
.session-primary-button { border: 0; background: var(--forest-900); color: #fff; }
.session-primary-button:disabled { opacity: 0.45; cursor: not-allowed; }

.offline-banner,
.recovery-banner,
.version-conflict,
.signed-note-banner,
.adenda-panel { margin-top: 15px; }
.offline-banner[hidden],
.recovery-banner[hidden],
.version-conflict[hidden],
.signed-note-banner[hidden],
.adenda-panel[hidden],
.sign-panel[hidden] { display: none; }
.offline-banner { display: flex; align-items: center; gap: 13px; padding: 13px 17px; border: 1px solid #e9c4af; border-radius: 7px; background: #fff5ef; }
.offline-banner span { flex: 0 0 auto; padding: 5px 8px; border-radius: 999px; background: var(--clay-100); color: var(--clay-700); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.offline-banner p { margin: 0; color: #755f53; font-size: 11px; }
.recovery-banner { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 15px 17px; border: 1px solid #c4d9cf; border-radius: 7px; background: #f0f7f3; }
.recovery-banner > div { display: flex; align-items: center; gap: 10px; }
.recovery-banner p { margin: 0; color: #5f7469; font-size: 11px; }
.recovery-banner p strong { color: var(--forest-900); }
.recovery-banner button { min-height: 32px; padding: 0 11px; border: 1px solid #aac4b6; border-radius: 5px; background: #fff; color: var(--forest-800); cursor: pointer; font-size: 10px; font-weight: 750; }

.session-readiness { display: grid; margin-top: 16px; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); grid-template-columns: repeat(3, 1fr) auto; }
.session-readiness > div { display: flex; min-height: 72px; align-items: center; gap: 11px; padding: 0 17px; border-right: 1px solid var(--line); }
.readiness-icon { display: grid; min-width: 31px; height: 31px; place-items: center; padding: 0 5px; border-radius: 50%; background: var(--sky-100); color: var(--sky-600); font-size: 9px; font-weight: 800; }
.readiness-icon--ok { background: #e0eee7; color: #4a7b61; font-size: 12px; }
.session-readiness p { margin: 0; }
.session-readiness strong,
.session-readiness small { display: block; }
.session-readiness strong { color: var(--ink); font-size: 12px; }
.session-readiness small { margin-top: 3px; color: var(--ink-muted); font-size: 10px; }
.session-readiness > button { padding: 0 16px; border: 0; background: #f7f7f4; color: #6d7973; cursor: pointer; font-size: 11px; font-weight: 750; }

.version-conflict { overflow: hidden; border: 1px solid #e5c0aa; border-radius: 8px; background: #fffaf7; }
.version-conflict > header { display: flex; align-items: flex-start; justify-content: space-between; padding: 18px 20px; border-bottom: 1px solid #eed7ca; }
.version-conflict header span { color: var(--clay-700); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.version-conflict h2 { margin: 5px 0 0; color: #6e4637; font-family: var(--display); font-size: 22px; }
.version-conflict header p { margin: 5px 0 0; color: #806a61; font-size: 10px; }
.version-conflict header button { border: 0; background: transparent; color: #9f7867; cursor: pointer; font-size: 20px; }
.version-conflict__comparison { display: grid; padding: 16px 20px; grid-template-columns: 1fr 1fr; gap: 12px; }
.version-conflict__comparison article { padding: 14px; border: 1px solid #ecd5c8; border-radius: 6px; background: #fff; }
.version-conflict__comparison span { color: #a17664; font-size: 9px; font-weight: 800; }
.version-conflict__comparison p { margin: 8px 0 0; color: #5f5753; font-size: 11px; line-height: 1.55; }
.version-conflict > footer { display: flex; justify-content: flex-end; gap: 8px; padding: 13px 20px; border-top: 1px solid #eed7ca; }
.version-conflict footer button { min-height: 34px; padding: 0 12px; border: 1px solid #d7b6a5; border-radius: 5px; background: #fff; color: #774e3e; cursor: pointer; font-size: 10px; font-weight: 750; }
.version-conflict footer button:last-child { border-color: var(--clay-700); background: var(--clay-700); color: #fff; }

.session-layout { display: grid; align-items: start; margin-top: 16px; grid-template-columns: minmax(0, 1fr) 330px; gap: 16px; }
.clinical-note,
.context-card,
.session-output { border: 1px solid var(--line); border-radius: 8px; background: var(--paper); }
.clinical-note { overflow: hidden; }
.clinical-note__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 23px 26px; border-bottom: 1px solid var(--line); }
.clinical-note__header span,
.session-output > header span,
.adenda-panel header span { color: var(--clay-700); font-size: 10px; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase; }
.clinical-note h2,
.session-output h2,
.adenda-panel h2 { margin: 5px 0 0; color: var(--forest-950); font-family: var(--display); font-size: 25px; font-weight: 630; }
.clinical-note__header p,
.session-output > header p { margin: 6px 0 0; color: var(--ink-muted); font-size: 11px; }
.clinical-note__header button { min-height: 36px; padding: 0 12px; border: 1px solid var(--line); border-radius: 5px; background: #fff; color: var(--forest-800); cursor: pointer; font-size: 11px; font-weight: 750; }
.note-section { display: grid; padding: 22px 26px; border-bottom: 1px solid var(--line); grid-template-columns: 160px minmax(0, 1fr); gap: 20px; }
.note-section:last-child { border-bottom: 0; }
.note-section__label { display: flex; align-items: flex-start; gap: 10px; padding-top: 5px; }
.note-section__label > span { display: grid; width: 29px; height: 29px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: var(--sage-100); color: var(--forest-700); font-family: var(--display); font-size: 13px; font-weight: 700; }
.note-section__label strong,
.note-section__label small { display: block; }
.note-section__label strong { color: var(--forest-950); font-size: 12px; }
.note-section__label small { margin-top: 3px; color: var(--ink-muted); font-size: 10px; }
.note-section textarea,
.session-output textarea,
.adenda-panel textarea { width: 100%; resize: vertical; border: 1px solid #d7dfda; border-radius: 6px; outline: 0; background: #fdfdfb; color: var(--ink); font-family: var(--ui); font-size: 13px; line-height: 1.65; padding: 13px 14px; }
.note-section textarea:focus,
.session-output textarea:focus,
.adenda-panel textarea:focus { border-color: #6d9584; background: #fff; box-shadow: 0 0 0 3px rgba(72, 125, 102, 0.09); }
.note-section textarea:disabled,
.session-output textarea:disabled { background: #f2f4f1; color: #5f6c66; }

.session-context { display: grid; gap: 13px; }
.context-card { overflow: hidden; }
.context-card > header { display: flex; min-height: 48px; align-items: center; justify-content: space-between; padding: 0 16px; border-bottom: 1px solid var(--line); }
.context-card header > span { color: var(--forest-950); font-family: var(--display); font-size: 17px; font-weight: 630; }
.context-card header button { padding: 0; border: 0; background: transparent; color: var(--forest-700); cursor: pointer; font-size: 10px; font-weight: 750; }
.context-patient { display: flex; align-items: center; gap: 10px; padding: 16px; }
.context-patient strong,
.context-patient small { display: block; }
.context-patient strong { font-size: 13px; }
.context-patient small { margin-top: 3px; color: var(--ink-muted); font-size: 10px; }
.context-card dl { margin: 0; padding: 0 16px 14px; }
.context-card dl > div { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-top: 1px solid #eef1ee; }
.context-card dt { color: var(--ink-muted); font-size: 10px; }
.context-card dd { margin: 0; color: var(--ink); font-size: 10px; font-weight: 700; text-align: right; }
.context-card article { display: grid; padding: 14px 16px; border-bottom: 1px solid var(--line); grid-template-columns: 45px 1fr; gap: 9px; }
.context-card article:last-child { border-bottom: 0; }
.context-card article time { color: var(--clay-700); font-size: 10px; font-weight: 800; }
.context-card article strong { font-size: 11px; }
.context-card article p { margin: 4px 0 0; color: var(--ink-muted); font-size: 10px; line-height: 1.45; }
.context-document { display: grid; align-items: center; padding: 12px 16px; border-bottom: 1px solid var(--line); grid-template-columns: 34px 1fr; gap: 9px; }
.context-document:last-child { border-bottom: 0; }
.context-document > span { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 5px; background: var(--sky-100); color: var(--sky-600); font-size: 7px; font-weight: 850; }
.context-document strong,
.context-document small { display: block; }
.context-document strong { font-size: 11px; }
.context-document small { margin-top: 3px; color: var(--ink-muted); font-size: 10px; }

.session-output { margin-top: 16px; overflow: hidden; }
.session-output > header { padding: 22px 26px 18px; border-bottom: 1px solid var(--line); }
.session-output__grid { display: grid; padding: 22px 26px 26px; grid-template-columns: 1.25fr 0.75fr; gap: 24px; }
.session-output__grid > label > span,
.adenda-panel > label > span { display: block; margin-bottom: 7px; color: #61706a; font-size: 10px; font-weight: 750; }
.session-output__grid > label > small { display: block; margin-top: 6px; color: var(--ink-muted); font-size: 10px; }
.session-output__grid > div { display: grid; gap: 12px; }

.signed-note-banner { display: grid; align-items: center; padding: 17px 19px; border: 1px solid #bdd8c9; border-radius: 8px; background: #edf6f1; grid-template-columns: 30px 1fr auto; gap: 13px; }
.signed-note-banner > span { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; background: #4d876a; color: #fff; }
.signed-note-banner strong { color: var(--forest-900); font-size: 12px; }
.signed-note-banner p { margin: 4px 0 0; color: #61756b; font-size: 10px; line-height: 1.5; }
.signed-note-banner button { min-height: 34px; padding: 0 12px; border: 1px solid #9abaaa; border-radius: 5px; background: #fff; color: var(--forest-800); cursor: pointer; font-size: 10px; font-weight: 800; }

.adenda-panel { padding: 22px 24px; border: 1px solid #c8d8d0; border-radius: 8px; background: #f6faf7; }
.adenda-panel > header { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 18px; }
.adenda-panel header button { border: 0; background: transparent; color: var(--forest-700); cursor: pointer; font-size: 10px; font-weight: 750; }
.adenda-panel > label { display: block; margin-top: 15px; }
.adenda-panel > footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 15px; }
.adenda-panel footer span { color: var(--ink-muted); font-size: 9px; }
.adenda-panel footer button { min-height: 36px; padding: 0 14px; border: 0; border-radius: 5px; background: var(--forest-900); color: #fff; cursor: pointer; font-size: 10px; font-weight: 800; }

.sign-panel { position: fixed; inset: 0; z-index: 80; display: grid; place-items: center; padding: 20px; }
.sign-panel__backdrop { position: absolute; inset: 0; background: rgba(8, 33, 30, 0.55); backdrop-filter: blur(4px); }
.sign-panel__dialog { position: relative; z-index: 1; width: min(510px, 100%); overflow: hidden; border-radius: 10px; background: #fffdf9; box-shadow: 0 30px 90px rgba(6, 34, 30, 0.26); }
.sign-panel__dialog > header { display: flex; align-items: flex-start; justify-content: space-between; padding: 23px 25px; border-bottom: 1px solid var(--line); }
.sign-panel__dialog header span { color: var(--clay-700); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.sign-panel__dialog h2 { margin: 6px 0 0; color: var(--forest-950); font-family: var(--display); font-size: 27px; font-weight: 630; }
.sign-panel__dialog header button { border: 0; background: transparent; color: #83908a; cursor: pointer; font-size: 22px; }
.sign-panel__dialog ul { margin: 0; padding: 19px 25px 8px; list-style: none; }
.sign-panel__dialog li { display: flex; align-items: center; gap: 9px; margin-bottom: 11px; color: #4d5c55; font-size: 12px; }
.sign-panel__dialog li span { display: grid; width: 20px; height: 20px; place-items: center; border-radius: 50%; background: #e1eee7; color: #4c7b62; font-size: 9px; }
.sign-consequence { margin: 10px 25px 18px; padding: 14px 15px; border-left: 3px solid var(--clay-500); background: #fff6f1; }
.sign-consequence strong { color: #754d3d; font-size: 11px; }
.sign-consequence p { margin: 5px 0 0; color: #806c63; font-size: 10px; line-height: 1.5; }
.sign-panel__dialog > label { display: block; padding: 0 25px 23px; }
.sign-panel__dialog label > span { display: block; margin-bottom: 7px; color: #5e6d66; font-size: 10px; font-weight: 750; }
.sign-panel__dialog input { width: 150px; height: 44px; padding: 0 13px; border: 1px solid #cbd5d0; border-radius: 6px; outline: 0; font-size: 18px; letter-spacing: 0.25em; }
.sign-panel__dialog input:focus { border-color: #6d9584; box-shadow: 0 0 0 3px rgba(72, 125, 102, 0.1); }
.sign-panel__dialog label small { display: block; margin-top: 6px; color: var(--clay-700); font-size: 9px; }
.sign-panel__dialog > footer { display: flex; justify-content: flex-end; gap: 8px; padding: 15px 25px; border-top: 1px solid var(--line); background: #faf9f5; }
.sign-panel__dialog footer button { min-height: 40px; padding: 0 15px; border: 1px solid var(--line-dark); border-radius: 6px; background: #fff; color: var(--forest-900); cursor: pointer; font-size: 11px; font-weight: 800; }
.sign-panel__dialog footer button:last-child { border-color: var(--forest-900); background: var(--forest-900); color: #fff; }

@media (max-width: 1120px) {
  .site-nav { gap: 18px; }
  .manifesto__grid { grid-template-columns: 150px 1fr; gap: 40px; }
  .spaces__intro { grid-template-columns: 220px 1fr; }
  .context-map { grid-template-columns: 1fr 70px 1fr; }
  .context-panel { padding: 30px; }
  .context-panel h3 { font-size: 31px; }
  .field-notes__grid { gap: 60px; }
  .field-notes__list article { grid-template-columns: 40px 0.8fr 1fr; }
  .price-story__grid { gap: 65px; }
  .trust-letter__inner { grid-template-columns: 100px 1fr 0.75fr; gap: 40px; }
  .trust-letter__seal { width: 95px; height: 110px; }
  .workbench__body { overflow-x: auto; }
}

@media (max-width: 900px) {
  .site-nav { display: none; }
  .editorial-hero { min-height: 100vh; min-height: 100svh; }
  .editorial-hero__layer { width: 1180px; }
  .manifesto__grid,
  .spaces__intro,
  .field-notes__grid,
  .price-story__grid,
  .trust-letter__inner { grid-template-columns: 1fr; }
  .manifesto__statement h2 { margin-top: 20px; }
  .care-journey { width: calc(100% - 56px); }
  .spaces__intro > div:last-child { margin-top: 20px; }
  .context-map { grid-template-columns: 1fr; gap: 25px; }
  .context-bridge { min-height: 85px; flex-direction: row; gap: 14px; }
  .context-bridge i { width: 90px; height: 1px; margin: 0; }
  .context-bridge i::before { top: -4px; left: 0; }
  .context-bridge i::after { right: 0; bottom: auto; left: auto; top: -4px; }
  .field-notes__title { position: static; }
  .price-sheet { margin-top: 20px; }
  .trust-letter__seal { display: none; }
  .site-footer__inner { grid-template-columns: 1fr; gap: 24px; }
  .app-shell { grid-template-columns: 1fr; }
  .app-sidebar { display: none; }
  .mobile-menu { display: grid; width: 34px; height: 34px; place-content: center; gap: 4px; border-radius: 6px; background: var(--workspace); }
  .mobile-menu span { width: 16px; height: 1px; background: var(--forest-900); }
  .workspace-breadcrumb { display: none; }
  .app-topbar { padding-inline: 18px; }
}

@media (max-width: 680px) {
  .container { width: min(100% - 32px, 1200px); }
  .site-header__inner { min-height: 69px; }
  .site-header__actions .text-link { display: none; }
  .editorial-hero { min-height: 100vh; min-height: 100svh; padding: 86px 18px; }
  .editorial-hero h1 { font-size: 52px; line-height: 0.97; }
  .editorial-hero__content > p:not(.eyebrow) { margin-top: 25px; font-size: 18px; }
  .editorial-hero__actions { flex-direction: column; gap: 18px; }
  .editorial-hero__actions .button { width: 100%; max-width: 330px; }
  .editorial-hero__layer { width: max(100vw, 520px); min-width: 0; bottom: 0; }
  .editorial-hero__wash { bottom: 20px; width: 650px; height: 250px; }
  .editorial-hero__note { display: none; }
  .manifesto,
  .spaces,
  .field-notes,
  .price-story,
  .trust-letter { padding: 82px 0; }
  .manifesto__statement h2,
  .spaces__intro h2,
  .field-notes h2,
  .price-story h2,
  .trust-letter h2 { font-size: 45px; }
  .care-journey { width: calc(100% - 32px); margin-top: 65px; grid-template-columns: 1fr; }
  .care-journey__track { top: 0; bottom: 0; left: 8px; width: 1px; height: auto; }
  .journey-stop { padding: 0 0 45px 45px; }
  .journey-stop::before { top: 0; left: 0; }
  .context-panel { padding: 27px 21px; }
  .context-panel h3 { font-size: 32px; }
  .context-panel li { grid-template-columns: 42px 1fr; }
  .context-panel li b { display: none; }
  .field-notes__list { margin-top: 45px; }
  .field-notes__list article { grid-template-columns: 35px 1fr; gap: 13px; }
  .field-notes__list p { grid-column: 2; }
  .price-sheet header { align-items: flex-start; flex-direction: column; gap: 28px; padding: 27px 25px; }
  .price-sheet header > p { font-size: 62px; }
  .price-sheet__body { padding: 26px 25px 30px; }
  .price-sheet footer { padding-inline: 25px; }
  .trust-letter ul { margin-top: 25px; }
  .closing-cta { padding: 85px 0; }
  .closing-cta h2 { font-size: 51px; }
  .site-footer__links { flex-wrap: wrap; }
  .search-trigger { min-width: 35px; width: 35px; padding: 0; justify-content: center; }
  .search-trigger span,
  .search-trigger kbd,
  .app-topbar__actions .icon-button:first-of-type,
  .user-menu__name,
  .user-menu > span:last-child { display: none; }
  .workspace { padding: 22px 14px 35px; }
  .workspace-heading { align-items: stretch; flex-direction: column; }
  .workspace-heading__actions { display: grid; grid-template-columns: 1fr 1fr; }
  .operations-strip { grid-template-columns: 1fr; }
  .operations-strip__lead { padding: 15px 17px; border-bottom: 1px solid var(--line); }
  .operations-strip dl { overflow: hidden; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .operations-strip dl > div { min-height: 61px; border-top: 1px solid var(--line); }
  .operations-strip dl > div:nth-child(odd) { border-left: 0; }
  .operations-strip dl > div:last-child { grid-column: 1 / -1; }
  .workbench__toolbar { grid-template-columns: auto 1fr; }
  .workbench__title { display: block; }
  .workbench__tools { grid-column: 1 / -1; padding-bottom: 12px; }
  .operations-strip,
  .workbench { min-width: 0; overflow: hidden; }
  .workbench__body { display: block; overflow: visible; }
  .schedule-board { display: block; min-width: 0; padding-bottom: 8px; }
  .schedule-board__corner,
  .professional-head,
  .empty-slot { display: none; }
  .time-slot {
    display: block;
    min-height: auto;
    padding: 13px 14px 7px;
    border: 0;
    color: var(--forest-700);
    font-size: 10px;
    text-align: left;
  }
  .slot-card {
    min-height: 82px;
    margin: 0 10px 8px;
    padding: 14px 13px;
  }
  .slot-card > span { font-size: 10px; }
  .slot-card strong { font-size: 14px; }
  .slot-card small { font-size: 11px; }
  .slot-card b { font-size: 9px; }
  .work-queue { border-top: 1px solid var(--line); border-left: 0; }
}

@media (max-width: 1100px) {
  .flow-layout { grid-template-columns: 1fr; }
  .preparation-summary { position: static; }
  .preparation-summary ol { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
  .preparation-summary li { border-bottom: 0; }
  .clinical-day__layout,
  .session-layout { grid-template-columns: 1fr; }
  .clinical-day__aside { grid-template-columns: 1fr 1fr; }
  .session-context { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .flow-heading { align-items: stretch; flex-direction: column; gap: 18px; }
  .flow-heading__context { min-width: 0; }
  .flow-progress { padding: 13px; gap: 8px; }
  .flow-progress__step { gap: 7px; }
  .flow-progress__step small { display: none; }
  .flow-progress__step > span:first-child { width: 29px; height: 29px; }
  .flow-step { min-height: 0; padding: 25px 20px; }
  .identity-search { grid-template-columns: 1fr 1fr; }
  .identity-search .field-search-button { grid-column: 1 / -1; }
  .service-options { grid-template-columns: 1fr; }
  .selection-card { min-height: auto; }
  .appointment-filters { grid-template-columns: 1fr 1fr; }
  .appointment-filters .field-group:first-child { grid-column: 1 / -1; }
  .slot-options { grid-template-columns: repeat(2, 1fr); }
  .coverage-summary { grid-template-columns: repeat(2, 1fr); }
  .coverage-summary > div:nth-child(3) { border-top: 1px solid var(--line); border-left: 0; }
  .coverage-summary > div:nth-child(4) { border-top: 1px solid var(--line); }
  .clinical-status-strip { grid-template-columns: repeat(2, 1fr); }
  .clinical-status-strip > div:nth-child(3) { border-top: 1px solid var(--line); border-left: 0; }
  .clinical-status-strip > div:nth-child(4) { border-top: 1px solid var(--line); }
  .clinical-day__aside,
  .session-context { grid-template-columns: 1fr; }
  .session-commandbar { grid-template-columns: 1fr auto; }
  .session-commandbar__state { grid-row: 2; justify-items: start; }
  .session-commandbar__actions { grid-row: 2; }
  .session-readiness { grid-template-columns: 1fr 1fr; }
  .session-readiness > div:nth-child(2) { border-right: 0; }
  .session-readiness > div:nth-child(3) { border-top: 1px solid var(--line); }
  .session-readiness > button { min-height: 58px; border-top: 1px solid var(--line); }
  .note-section { grid-template-columns: 1fr; gap: 12px; }
  .session-output__grid { grid-template-columns: 1fr; }
  .version-conflict__comparison { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .flow-workspace { padding-inline: 12px; }
  .flow-heading h1 { font-size: 37px; }
  .flow-heading__back { margin-bottom: 14px; }
  .flow-progress { grid-template-columns: 1fr auto 1fr auto 1fr; }
  .flow-progress__step { justify-content: center; }
  .flow-progress__step > span:last-child { display: none; }
  .flow-progress > i { width: 18px; }
  .flow-step__header { gap: 12px; }
  .flow-step__header h2 { font-size: 25px; }
  .identity-search,
  .form-grid,
  .appointment-filters { grid-template-columns: 1fr; }
  .appointment-filters .field-group:first-child { grid-column: auto; }
  .identity-search .field-search-button { grid-column: auto; }
  .form-section-heading { align-items: flex-start; flex-direction: column; gap: 8px; }
  .segmented-control { display: grid; grid-template-columns: 1fr 1fr; }
  .patient-context-strip { grid-template-columns: 34px 1fr auto; }
  .coverage-summary { grid-template-columns: 1fr; }
  .coverage-summary > div { border-top: 1px solid var(--line); border-left: 0; }
  .coverage-summary > div:first-child { border-top: 0; }
  .coverage-option { grid-template-columns: auto 30px 1fr; }
  .coverage-option > b { display: none; }
  .voucher-dropzone { grid-template-columns: 27px 1fr; }
  .voucher-dropzone button { grid-column: 1 / -1; }
  .flow-actions { padding: 10px 14px; grid-template-columns: auto 1fr; }
  .flow-actions > span { display: none; }
  .flow-actions__primary { width: 100%; justify-content: center; }
  .preparation-summary ol { display: block; }
  .preparation-summary li { border-bottom: 1px solid #edf0ed; }
  .clinical-day__heading { align-items: stretch; flex-direction: column; }
  .clinical-status-strip { grid-template-columns: 1fr; }
  .clinical-status-strip > div { border-top: 1px solid var(--line); border-left: 0; }
  .clinical-status-strip > div:first-child { border-top: 0; }
  .clinical-timeline { padding-inline: 14px; }
  .clinical-appointment { grid-template-columns: 52px 18px 1fr; }
  .clinical-appointment__body { align-items: stretch; flex-direction: column; }
  .clinical-appointment__action { min-width: 0; text-align: left; }
  .clinical-appointment__action small { margin-bottom: 8px; }
  .clinical-session { padding: 15px 12px 45px; }
  .session-commandbar { display: flex; align-items: stretch; flex-direction: column; gap: 13px; }
  .session-commandbar__state { justify-items: start; }
  .session-commandbar__actions { display: grid; grid-template-columns: 1fr 1fr; }
  .session-readiness { grid-template-columns: 1fr; }
  .session-readiness > div { border-top: 1px solid var(--line); border-right: 0; }
  .session-readiness > div:first-child { border-top: 0; }
  .recovery-banner { align-items: stretch; flex-direction: column; }
  .clinical-note__header { flex-direction: column; }
  .note-section,
  .session-output__grid { padding-inline: 18px; }
  .signed-note-banner { grid-template-columns: 30px 1fr; }
  .signed-note-banner button { grid-column: 1 / -1; }
  .adenda-panel > footer { align-items: stretch; flex-direction: column; }
  .version-conflict > footer { flex-direction: column; }
  .sign-panel__dialog > footer { display: grid; grid-template-columns: 1fr; }
}

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

/* Productive clinical attention */
.clinical-production-page { background: #f4f7f5; font-family: var(--ui); }
.clinical-production-page .production-workspace { grid-template-columns: 252px minmax(0, 1fr); }
.clinical-production-page .app-main { min-width: 0; }
.clinical-workspace { width: 100%; max-width: 1580px; margin: 0 auto; padding: 30px 34px 60px; }
.product-flash { margin-bottom: 18px; padding: 14px 17px; border: 1px solid #b9d8c8; border-radius: 10px; background: #edf7f1; color: #315e49; font-size: 14px; font-weight: 700; }
.product-flash--error { border-color: #e5b5aa; background: #fff2ee; color: #984e3f; }
.clinical-page-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.clinical-eyebrow, .clinical-section-heading span, .clinical-editor-section-heading span, .clinical-output-card > header > span { color: #577b69; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.clinical-page-heading h1 { margin: 5px 0 0; color: #173e34; font-family: var(--ui); font-size: 38px; font-weight: 760; letter-spacing: -.035em; }
.clinical-page-heading p { margin: 7px 0 0; color: #6f7d76; font-size: 15px; text-transform: capitalize; }
.clinical-date-control { display: flex; overflow: hidden; min-height: 46px; border: 1px solid #dce5df; border-radius: 10px; background: #fff; box-shadow: 0 3px 12px rgba(25, 58, 48, .035); }
.clinical-date-control button { width: 44px; border: 0; background: transparent; color: #315e4e; cursor: pointer; font-size: 18px; }
.clinical-date-control input { min-width: 148px; border: 0; border-inline: 1px solid #e4eae6; padding: 0 13px; color: #284b40; font: 700 13px var(--ui); }
.clinical-overdue { display: grid; align-items: center; margin-bottom: 18px; padding: 15px 17px; border: 1px solid #e3c79b; border-radius: 10px; background: #fff9eb; color: #654d27; grid-template-columns: 34px 1fr auto; gap: 13px; }
.clinical-overdue__icon { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: #d69037; color: #fff; font-weight: 900; }
.clinical-overdue strong { font-size: 14px; }
.clinical-overdue p { margin: 3px 0 0; font-size: 12px; }
.clinical-overdue a { padding: 9px 12px; border-radius: 7px; background: #fff; color: #72531f; font-size: 12px; font-weight: 800; text-decoration: none; }
.clinical-summary-grid { display: grid; overflow: hidden; margin-bottom: 20px; border: 1px solid #dfe7e2; border-radius: 13px; background: #fff; box-shadow: 0 7px 24px rgba(30, 66, 54, .045); grid-template-columns: 1.35fr repeat(4, 1fr); }
.clinical-summary-card { min-width: 0; padding: 19px 21px; border-left: 1px solid #e7ece9; }
.clinical-summary-card:first-child { border-left: 0; }
.clinical-summary-card > span, .clinical-summary-card > small, .clinical-summary-card > strong { display: block; }
.clinical-summary-card > span { color: #7a8982; font-size: 12px; font-weight: 650; }
.clinical-summary-card > strong { margin-top: 5px; color: #173e34; font-size: 27px; line-height: 1; }
.clinical-summary-card > small { overflow: hidden; margin-top: 7px; color: #84918b; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.clinical-summary-card--lead { background: #244f43; }
.clinical-summary-card--lead > span, .clinical-summary-card--lead > small { color: #c9dbd3; }
.clinical-summary-card--lead > strong { color: #fff; font-size: 31px; }
.clinical-day-grid { display: grid; align-items: start; grid-template-columns: minmax(0, 1fr) 360px; gap: 20px; }
.clinical-day-list, .clinical-pending-panel, .clinical-soap-card, .clinical-context-card, .clinical-output-card { border: 1px solid #dfe7e2; border-radius: 13px; background: #fff; box-shadow: 0 7px 24px rgba(30, 66, 54, .04); }
.clinical-section-heading { display: flex; min-height: 76px; align-items: center; justify-content: space-between; padding: 16px 21px; border-bottom: 1px solid #e5ebe7; }
.clinical-section-heading h2 { margin: 4px 0 0; color: #173e34; font-size: 20px; letter-spacing: -.02em; }
.clinical-section-heading > small { color: #85918c; font-size: 12px; }
.clinical-section-heading > b { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: #e8f1ec; color: #376451; font-size: 12px; }
.clinical-rows { padding: 5px 0; }
.clinical-row { display: grid; min-height: 122px; align-items: center; margin: 0 8px; padding: 15px 13px; border-bottom: 1px solid #edf1ee; grid-template-columns: 66px 44px minmax(0, 1fr) auto; gap: 14px; }
.clinical-row:last-child { border-bottom: 0; }
.clinical-row__time strong, .clinical-row__time span { display: block; }
.clinical-row__time strong { color: #173e34; font-size: 17px; }
.clinical-row__time span { margin-top: 4px; color: #99a39e; font-size: 11px; }
.clinical-row__avatar, .clinical-patient-avatar { display: grid; place-items: center; border-radius: 50%; background: #e8f1ec; color: #315f4d; font-weight: 800; }
.clinical-row__avatar { width: 42px; height: 42px; font-size: 12px; }
.clinical-row__patient { min-width: 0; }
.clinical-row__state { display: flex; align-items: center; gap: 6px; color: #55766a; font-size: 10px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.clinical-row__state i { width: 7px; height: 7px; border-radius: 50%; background: #63a17f; }
.clinical-row--confirmed .clinical-row__state, .clinical-row--held .clinical-row__state { color: #8b8f8c; }
.clinical-row--confirmed .clinical-row__state i, .clinical-row--held .clinical-row__state i { background: #b8bfbb; }
.clinical-row--pending_note .clinical-row__state { color: #a56b25; }
.clinical-row--pending_note .clinical-row__state i { background: #dc9d4d; }
.clinical-row__patient h3 { margin: 5px 0 0; color: #1d3f35; font-size: 16px; }
.clinical-row__patient > p { margin: 4px 0 0; color: #6f7f77; font-size: 13px; }
.clinical-row__meta { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 9px; }
.clinical-row__meta span { padding: 4px 7px; border-radius: 5px; background: #f1f4f2; color: #66766e; font-size: 10px; font-weight: 700; }
.clinical-row__meta .clinical-row__arrived { background: #e5f2eb; color: #3d7459; }
.clinical-row__action { display: grid; min-width: 140px; justify-items: stretch; gap: 7px; }
.clinical-action { min-height: 39px; padding: 0 14px; border: 1px solid #d8e1db; border-radius: 8px; background: #fff; color: #315e4e; cursor: pointer; font: 800 12px var(--ui); line-height: 37px; text-align: center; text-decoration: none; }
.clinical-action:disabled { cursor: not-allowed; opacity: .55; }
.clinical-action--primary { border-color: #244f43; background: #244f43; color: #fff; }
.clinical-action--pending { border-color: #e0bd85; background: #fff7e9; color: #825719; }
.clinical-notify { border: 0; background: transparent; color: #687970; cursor: pointer; font: 750 11px var(--ui); text-decoration: none; }
.clinical-pending-panel { overflow: hidden; }
.clinical-pending-note { display: grid; align-items: center; padding: 16px 18px; border-bottom: 1px solid #e9eeeb; color: inherit; grid-template-columns: 1fr auto 18px; gap: 10px; text-decoration: none; }
.clinical-pending-note:hover { background: #f8faf8; }
.clinical-pending-note strong, .clinical-pending-note span { display: block; }
.clinical-pending-note strong { color: #234a3e; font-size: 13px; }
.clinical-pending-note span, .clinical-pending-note small { margin-top: 4px; color: #7c8983; font-size: 10px; line-height: 1.5; }
.clinical-pending-note.is-overdue { box-shadow: inset 3px 0 #d89440; }
.clinical-pending-note > b { color: #5f776b; }
.clinical-pending-empty { display: grid; padding: 30px 20px; place-items: center; text-align: center; }
.clinical-pending-empty > span { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; background: #e5f2eb; color: #47785e; font-weight: 900; }
.clinical-pending-empty strong { margin-top: 10px; color: #315e4e; font-size: 13px; }
.clinical-pending-empty p { margin: 4px 0 0; color: #87928d; font-size: 11px; }
.clinical-privacy-card { display: flex; align-items: flex-start; gap: 11px; margin: 14px; padding: 15px; border-radius: 9px; background: #f0f5f2; }
.clinical-privacy-card svg { width: 21px; color: #497461; fill: none; stroke: currentColor; stroke-width: 1.6; }
.clinical-privacy-card strong { color: #315e4e; font-size: 12px; }
.clinical-privacy-card p { margin: 4px 0 0; color: #6e7e76; font-size: 11px; line-height: 1.5; }
.clinical-empty { display: grid; min-height: 330px; padding: 30px; place-items: center; align-content: center; text-align: center; }
.clinical-empty svg { width: 36px; fill: none; stroke: #709181; stroke-width: 1.5; }
.clinical-empty h3 { margin: 14px 0 0; color: #244f43; }
.clinical-empty p { margin: 6px 0 0; color: #839089; }

.clinical-session-product { padding-top: 18px; }
.clinical-session-header { position: sticky; z-index: 12; top: 69px; display: grid; min-height: 88px; align-items: center; margin: 0 -4px 18px; padding: 13px 17px; border: 1px solid #dce5df; border-radius: 12px; background: rgba(255,255,255,.96); box-shadow: 0 8px 25px rgba(24, 60, 48, .06); backdrop-filter: blur(12px); grid-template-columns: minmax(0,1fr) auto auto; gap: 20px; }
.clinical-session-header__identity { display: grid; min-width: 0; align-items: center; grid-template-columns: 36px 48px minmax(0,1fr); gap: 11px; }
.clinical-session-header__identity > a { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid #dae3dd; border-radius: 50%; color: #315e4e; text-decoration: none; }
.clinical-patient-avatar { width: 46px; height: 46px; font-size: 13px; }
.clinical-session-header__identity div { min-width: 0; }
.clinical-session-header__identity div > span { color: #5d7f6e; font-size: 10px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.clinical-session-header h1 { overflow: hidden; margin: 3px 0 0; color: #173e34; font-size: 22px; text-overflow: ellipsis; white-space: nowrap; }
.clinical-session-header p { overflow: hidden; margin: 4px 0 0; color: #74827b; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.clinical-session-header__status { display: grid; justify-items: end; }
.clinical-session-header__status > strong { margin-top: 5px; color: #244f43; font-size: 15px; }
.clinical-session-header__status > small { margin-top: 3px; color: #7b8982; font-size: 10px; }
.clinical-online { display: flex; align-items: center; gap: 6px; color: #47785f; font-size: 10px; font-weight: 800; }
.clinical-online i { width: 7px; height: 7px; border-radius: 50%; background: #63a17f; }
.clinical-online.is-offline { color: #a36531; }
.clinical-online.is-offline i { background: #d28a43; }
.clinical-finish-button { min-height: 43px; padding: 0 17px; border: 0; border-radius: 8px; background: #244f43; color: #fff; cursor: pointer; font: 800 12px var(--ui); }
.clinical-finish-button:disabled { opacity: .5; cursor: not-allowed; }
.clinical-offline-banner, .clinical-recovery-banner, .clinical-action-error, .clinical-revision-banner { margin-bottom: 15px; border-radius: 10px; font-size: 13px; }
.clinical-offline-banner { padding: 13px 16px; border: 1px solid #e2c28e; background: #fff8e8; color: #785726; }
.clinical-recovery-banner, .clinical-revision-banner { display: flex; align-items: center; gap: 10px; padding: 14px 16px; border: 1px solid #b9d6c7; background: #eef7f2; color: #345f4d; }
.clinical-recovery-banner > div, .clinical-revision-banner > div { flex: 1; }
.clinical-recovery-banner p, .clinical-revision-banner p { margin: 3px 0 0; font-size: 11px; }
.clinical-recovery-banner button, .clinical-revision-banner button { min-height: 36px; padding: 0 12px; border: 1px solid #9abbaa; border-radius: 7px; background: #fff; color: #315e4e; cursor: pointer; font-weight: 750; }
.clinical-action-error { padding: 13px 16px; border: 1px solid #e4b4aa; background: #fff1ed; color: #984b3e; font-weight: 700; }
.clinical-editor-grid { display: grid; align-items: start; grid-template-columns: minmax(0, 1fr) 350px; gap: 19px; }
.clinical-soap-card { overflow: hidden; }
.clinical-editor-section-heading { display: flex; align-items: flex-start; justify-content: space-between; padding: 22px 25px; border-bottom: 1px solid #e5ebe7; }
.clinical-editor-section-heading h2, .clinical-output-card h2 { margin: 5px 0 0; color: #173e34; font-size: 22px; letter-spacing: -.025em; }
.clinical-editor-section-heading p, .clinical-output-card header p { margin: 6px 0 0; color: #74827b; font-size: 12px; }
.clinical-template-chip { padding: 6px 9px; border-radius: 6px; background: #edf4f0; color: #4d7562 !important; letter-spacing: 0 !important; text-transform: none !important; }
.clinical-soap-field { display: grid; padding: 24px 25px; border-bottom: 1px solid #e7ece9; grid-template-columns: 165px minmax(0,1fr); gap: 22px; }
.clinical-soap-label { display: flex; align-items: flex-start; gap: 10px; }
.clinical-soap-label > span { display: grid; width: 34px; height: 34px; flex: 0 0 auto; place-items: center; border-radius: 9px; background: #e7f0eb; color: #315e4e; font-size: 14px; font-weight: 850; }
.clinical-soap-label strong, .clinical-soap-label small { display: block; }
.clinical-soap-label strong { color: #254c40; font-size: 14px; }
.clinical-soap-label small { margin-top: 5px; color: #87928d; font-size: 10px; line-height: 1.4; }
.clinical-soap-field textarea, .clinical-output-card textarea, .clinical-output-card input, .clinical-output-card select, .clinical-analysis-body input, .clinical-analysis-body select, .clinical-modal input, .clinical-modal select, .clinical-modal textarea { width: 100%; border: 1px solid #d8e2dc; border-radius: 8px; background: #fbfcfb; color: #263b34; font: 14px/1.6 var(--ui); outline: none; }
.clinical-soap-field textarea, .clinical-output-card textarea, .clinical-modal textarea { resize: vertical; padding: 13px 14px; }
.clinical-soap-field textarea:focus, .clinical-output-card textarea:focus, .clinical-analysis-body input:focus, .clinical-modal input:focus, .clinical-modal textarea:focus { border-color: #6e9a83; box-shadow: 0 0 0 3px rgba(80, 130, 104, .10); background: #fff; }
.clinical-soap-field textarea:disabled, .clinical-output-card :disabled, .clinical-analysis-body :disabled { color: #40534b; background: #f5f7f5; opacity: 1; }
.clinical-analysis-body { display: grid; gap: 14px; }
.clinical-diagnosis-box { overflow: hidden; border: 1px solid #dbe4de; border-radius: 9px; }
.clinical-diagnosis-box > header { display: flex; align-items: center; justify-content: space-between; padding: 12px 14px; background: #f2f6f3; }
.clinical-diagnosis-box > header strong, .clinical-diagnosis-box > header small { display: block; }
.clinical-diagnosis-box > header strong { color: #315e4e; font-size: 12px; }
.clinical-diagnosis-box > header small { margin-top: 2px; color: #829089; font-size: 9px; }
.clinical-diagnosis-box > header button { border: 0; background: transparent; color: #507664; cursor: pointer; font-size: 10px; font-weight: 800; }
.clinical-diagnosis-row { display: grid; align-items: center; padding: 11px 13px; border-top: 1px solid #e7ece9; grid-template-columns: auto minmax(0,1fr) auto 24px; gap: 9px; }
.clinical-diagnosis-row b { color: #315e4e; font-size: 11px; }
.clinical-diagnosis-row span { color: #41564e; font-size: 12px; }
.clinical-diagnosis-row em { padding: 4px 6px; border-radius: 4px; background: #edf3ef; color: #587466; font-size: 9px; font-style: normal; }
.clinical-diagnosis-row button { border: 0; background: transparent; color: #9a6b63; cursor: pointer; font-size: 18px; }
.clinical-diagnosis-add { display: grid; padding: 11px; border-top: 1px solid #e7ece9; grid-template-columns: 120px minmax(0,1fr) auto; gap: 8px; }
.clinical-diagnosis-add input { min-height: 39px; padding: 0 10px; font-size: 12px; }
.clinical-diagnosis-add button { padding: 0 13px; border: 0; border-radius: 7px; background: #315e4e; color: #fff; cursor: pointer; font-weight: 800; }
.clinical-risk-field, .clinical-safety-plan { display: grid; gap: 7px; }
.clinical-risk-field > span, .clinical-safety-plan > span, .clinical-output-grid label > span, .clinical-close-summary label > span { color: #46665a; font-size: 11px; font-weight: 800; }
.clinical-risk-field select, .clinical-output-card select, .clinical-output-card input, .clinical-modal input, .clinical-modal select { min-height: 42px; padding: 0 11px; }
.clinical-context-column { display: grid; gap: 14px; }
.clinical-context-card { overflow: hidden; padding: 18px; }
.clinical-context-card > span, .clinical-context-card > header > span { color: #5e7c6d; font-size: 10px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.clinical-context-card > header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 11px; }
.clinical-context-card > header small { color: #819088; }
.clinical-context-patient { display: flex; align-items: center; gap: 10px; margin-top: 13px; }
.clinical-context-patient > span { display: grid; width: 43px; height: 43px; place-items: center; border-radius: 50%; background: #e8f1ec; color: #315e4e; font-size: 11px; font-weight: 850; }
.clinical-context-patient strong, .clinical-context-patient small { display: block; }
.clinical-context-patient strong { color: #244f43; font-size: 13px; }
.clinical-context-patient small { margin-top: 4px; color: #849089; font-size: 10px; }
.clinical-context-card dl { margin: 15px 0 0; }
.clinical-context-card dl > div { display: flex; justify-content: space-between; padding: 9px 0; border-top: 1px solid #e9eeeb; gap: 12px; }
.clinical-context-card dt { color: #829088; font-size: 10px; }
.clinical-context-card dd { margin: 0; color: #385b4e; font-size: 10px; font-weight: 750; text-align: right; }
.clinical-context-card article { display: grid; padding: 12px 0; border-top: 1px solid #e9eeeb; grid-template-columns: 48px 1fr; gap: 9px; }
.clinical-context-card article time { color: #698276; font-size: 10px; font-weight: 800; }
.clinical-context-card article strong { color: #36594c; font-size: 11px; }
.clinical-context-card article p, .clinical-context-empty { margin: 4px 0 0; color: #7d8a84; font-size: 10px; line-height: 1.45; }
.clinical-requirement { display: flex; align-items: center; gap: 9px; padding: 10px 0; border-top: 1px solid #e9eeeb; }
.clinical-requirement i { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 50%; background: #e7f2eb; color: #47765d; font-size: 10px; font-style: normal; font-weight: 850; }
.clinical-requirement i.is-pending { background: #fff1dc; color: #a36b26; }
.clinical-requirement strong, .clinical-requirement small { display: block; }
.clinical-requirement strong { color: #385b4e; font-size: 11px; }
.clinical-requirement small { margin-top: 2px; color: #849089; font-size: 9px; }
.clinical-files-card__add{width:100%;min-height:38px;margin-top:10px;border:1px dashed #afc8bb;border-radius:8px;background:#f4f8f6;color:#3f6e5a;cursor:pointer;font:inherit;font-size:11px;font-weight:780}.clinical-files-card__form{display:grid;margin-top:10px;padding:10px;border-radius:9px;background:#f3f7f5;gap:7px}.clinical-files-card__form select,.clinical-files-card__form input{width:100%;min-height:36px;padding:0 8px;border:1px solid #cedbd4;border-radius:7px;background:#fff;color:#3b554a;font:inherit;font-size:10px}.clinical-files-card__form label{display:block;padding:9px;border:1px dashed #aec7ba;border-radius:7px;background:#fff;color:#49705e;font-size:10px;font-weight:750;cursor:pointer}.clinical-files-card__form label input{margin-top:7px;padding:0;border:0}.clinical-files-card__form p{margin:0;color:#a25136;font-size:9px}
.clinical-output-card { overflow: hidden; margin-top: 19px; }
.clinical-output-card > header { padding: 21px 25px; border-bottom: 1px solid #e5ebe7; }
.clinical-output-grid { display: grid; padding: 21px 25px 25px; grid-template-columns: 1.35fr .75fr .9fr; gap: 16px; }
.clinical-output-grid label { display: grid; align-content: start; gap: 8px; }
.clinical-output-grid label > span small { color: #8a9690; font-weight: 500; }
.clinical-signed-banner { display: grid; align-items: center; margin-top: 18px; padding: 17px 19px; border: 1px solid #b8d6c7; border-radius: 11px; background: #edf7f1; grid-template-columns: 34px 1fr auto auto; gap: 12px; }
.clinical-signed-banner > span { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 50%; background: #4d8066; color: #fff; font-weight: 900; }
.clinical-signed-banner strong { color: #315e4e; font-size: 13px; }
.clinical-signed-banner p { margin: 4px 0 0; color: #6a7d73; font-size: 11px; }
.clinical-signed-banner button { min-height: 38px; padding: 0 12px; border: 1px solid #a8c7b7; border-radius: 7px; background: #fff; color: #315e4e; cursor: pointer; font-weight: 800; }
.clinical-modal { position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; padding: 20px; }
.clinical-modal__backdrop { position: absolute; border: 0; background: rgba(17, 38, 32, .48); cursor: default; inset: 0; }
.clinical-modal > section { position: relative; overflow: hidden; width: min(590px, 100%); max-height: calc(100vh - 40px); overflow-y: auto; border-radius: 13px; background: #fff; box-shadow: 0 25px 80px rgba(15, 39, 31, .25); }
.clinical-modal > section > header { display: flex; align-items: flex-start; justify-content: space-between; padding: 21px 23px; border-bottom: 1px solid #e3eae6; }
.clinical-modal > section > header span { color: #5d7c6d; font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.clinical-modal h2 { margin: 5px 0 0; color: #173e34; font-size: 23px; }
.clinical-modal > section > header button { border: 0; background: transparent; color: #6f7d76; cursor: pointer; font-size: 24px; }
.clinical-close-summary, .clinical-conflict { display: grid; padding: 22px 23px; gap: 16px; }
.clinical-close-summary > p, .clinical-conflict > p { margin: 0; color: #66766e; font-size: 13px; line-height: 1.55; }
.clinical-close-summary > div { padding: 12px; border-radius: 8px; background: #fff6e7; color: #765523; font-size: 12px; }
.clinical-close-summary label { display: grid; gap: 7px; }
.clinical-modal-error { margin: 0; color: #a34f42; font-size: 12px; font-weight: 700; }
.clinical-close-summary footer, .clinical-conflict footer { display: flex; justify-content: flex-end; gap: 9px; padding-top: 4px; }
.clinical-close-summary footer button, .clinical-conflict footer button { min-height: 42px; padding: 0 15px; border: 1px solid #d7e1db; border-radius: 8px; background: #fff; color: #315e4e; cursor: pointer; font-weight: 800; }
.clinical-close-summary footer button.is-primary, .clinical-conflict footer button.is-primary { border-color: #244f43; background: #244f43; color: #fff; }
.clinical-close-summary footer button:disabled { opacity: .5; cursor: not-allowed; }
.clinical-conflict > div { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.clinical-conflict article { padding: 13px; border: 1px solid #dfe6e2; border-radius: 8px; background: #f8faf8; }
.clinical-conflict article span { color: #57776a; font-size: 10px; font-weight: 850; text-transform: uppercase; }
.clinical-conflict article p { margin: 8px 0 0; color: #40554d; font-size: 12px; line-height: 1.5; }
.clinical-exit-notice { display: grid; max-width: 430px; margin-top: 10px; padding: 11px 13px; border: 1px solid #bdd8c9; border-radius: 8px; background: #edf7f1; gap: 3px; }
.clinical-exit-notice > span { color: #4d7863; font-size: 9px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.clinical-exit-notice strong { color: #315e4e; font-size: 12px; }
.clinical-exit-notice small { color: #667a70; font-size: 10px; }
.clinical-exit-notice em { margin-top: 3px; color: #537462; font-size: 9px; font-style: normal; font-weight: 750; }

@media (max-width: 1180px) {
  .clinical-summary-grid { grid-template-columns: repeat(3, 1fr); }
  .clinical-summary-card:nth-child(4) { border-left: 0; border-top: 1px solid #e7ece9; }
  .clinical-summary-card:nth-child(n+4) { border-top: 1px solid #e7ece9; }
  .clinical-day-grid, .clinical-editor-grid { grid-template-columns: 1fr; }
  .clinical-context-column { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 900px) {
  .clinical-production-page .production-workspace { grid-template-columns: 1fr; }
  .clinical-workspace { padding: 22px 18px 45px; }
  .clinical-session-header { top: 68px; }
}

@media (max-width: 720px) {
  .clinical-page-heading { align-items: stretch; flex-direction: column; }
  .clinical-summary-grid { grid-template-columns: 1fr 1fr; }
  .clinical-summary-card:nth-child(odd) { border-left: 0; }
  .clinical-summary-card:nth-child(n+3) { border-top: 1px solid #e7ece9; }
  .clinical-row { grid-template-columns: 56px 40px minmax(0,1fr); }
  .clinical-row__action { grid-column: 2 / -1; grid-template-columns: 1fr auto; }
  .clinical-session-header { position: static; grid-template-columns: 1fr auto; }
  .clinical-session-header__status { justify-items: end; }
  .clinical-finish-button { grid-column: 1 / -1; }
  .clinical-soap-field { grid-template-columns: 1fr; }
  .clinical-context-column, .clinical-output-grid { grid-template-columns: 1fr; }
  .clinical-diagnosis-add { grid-template-columns: 1fr; }
  .clinical-signed-banner { grid-template-columns: 34px 1fr; }
  .clinical-signed-banner button { grid-column: 1 / -1; }
}

@media (max-width: 480px) {
  .clinical-workspace { padding-inline: 12px; }
  .clinical-summary-grid { grid-template-columns: 1fr; }
  .clinical-summary-card { border-top: 1px solid #e7ece9; border-left: 0; }
  .clinical-summary-card:first-child { border-top: 0; }
  .clinical-row { margin: 0; padding-inline: 10px; grid-template-columns: 51px minmax(0,1fr); }
  .clinical-row__avatar { display: none; }
  .clinical-row__action { grid-column: 1 / -1; }
  .clinical-overdue { grid-template-columns: 30px 1fr; }
  .clinical-overdue a { grid-column: 2; }
  .clinical-session-header__identity { grid-template-columns: 34px 40px minmax(0,1fr); }
  .clinical-session-header__status { grid-column: 1 / -1; justify-items: start; }
  .clinical-recovery-banner, .clinical-revision-banner { align-items: stretch; flex-direction: column; }
  .clinical-soap-field, .clinical-output-grid, .clinical-editor-section-heading, .clinical-output-card > header { padding-inline: 17px; }
  .clinical-conflict > div { grid-template-columns: 1fr; }
  .clinical-close-summary footer, .clinical-conflict footer { flex-direction: column; }
}

/* Dashboard direction 2026 — calm, professional and operational */

.app-page--dashboard {
  background: #f5f7f5;
  font-family: var(--ui);
}

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

.app-page--dashboard .app-sidebar {
  padding: 20px 18px 18px;
  border-right: 1px solid #e2e8e3;
  background: #fff;
  color: var(--ink);
}

.app-page--dashboard .app-sidebar__top {
  min-height: 54px;
  padding: 0 8px 28px;
}

.app-page--dashboard .brand--app {
  color: var(--forest-950);
  font-family: var(--ui);
  font-size: 23px;
  font-weight: 800;
  letter-spacing: -0.045em;
}

.app-page--dashboard .brand--app .brand__mark {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: var(--forest-900);
}

.app-page--dashboard .brand--app .brand__mark::before,
.app-page--dashboard .brand--app .brand__mark::after,
.app-page--dashboard .brand--app .brand__mark span {
  background: #fff;
}

.app-page--dashboard .sidebar-collapse {
  background: #f1f4f1;
  color: var(--forest-700);
}

.app-page--dashboard .app-nav {
  gap: 7px;
}

.app-page--dashboard .app-nav__label {
  margin: 0 12px 8px;
  color: #8a9690;
  font-size: 11px;
  letter-spacing: 0.08em;
}

.app-page--dashboard .app-nav__item {
  min-height: 48px;
  padding: 0 14px;
  border-radius: 11px;
  color: #52605a;
  font-size: 14px;
  font-weight: 620;
  grid-template-columns: 22px minmax(0, 1fr) auto;
  gap: 12px;
}

.app-page--dashboard .app-nav__item svg {
  width: 19px;
  height: 19px;
  stroke-width: 1.8px;
}

.app-page--dashboard .app-nav__item:hover {
  background: #f2f6f3;
  color: var(--forest-900);
}

.app-page--dashboard .app-nav__item--active {
  background: var(--forest-900);
  color: #fff;
  box-shadow: 0 8px 20px rgba(18, 63, 58, 0.16);
}

.app-page--dashboard .app-nav__item--active::before {
  display: none;
}

.app-page--dashboard .nav-count {
  min-width: 22px;
  height: 22px;
  background: var(--clay-100);
  color: var(--clay-700);
  font-size: 10px;
}

.app-page--dashboard .sidebar-shift {
  margin-inline: 0;
  padding: 16px;
  border-color: #dce6df;
  border-radius: 11px;
  background: #f2f7f3;
}

.app-page--dashboard .sidebar-shift span {
  color: #648075;
  font-size: 10px;
}

.app-page--dashboard .sidebar-shift strong {
  margin-top: 6px;
  color: var(--forest-950);
  font-family: var(--ui);
  font-size: 21px;
  font-weight: 750;
}

.app-page--dashboard .sidebar-shift small {
  color: #718079;
  font-size: 11px;
}

.app-page--dashboard .app-sidebar__bottom > .app-nav__item {
  color: #63716a;
}

.app-page--dashboard .clinic-switcher {
  min-height: 61px;
  padding: 12px 7px 0;
  border-top-color: #e2e8e3;
  color: var(--ink);
  grid-template-columns: 38px 1fr auto;
}

.app-page--dashboard .clinic-switcher__logo {
  height: 38px;
  border-radius: 9px;
  background: var(--sage-100);
  color: var(--forest-900);
  font-family: var(--ui);
  font-size: 11px;
}

.app-page--dashboard .clinic-switcher strong { font-size: 12px; }
.app-page--dashboard .clinic-switcher small { color: #7a8781; font-size: 10px; }

.app-page--dashboard .app-main {
  min-height: 100vh;
  background: #f5f7f5;
}

.app-page--dashboard .app-topbar {
  min-height: 76px;
  padding-inline: 30px;
  border-bottom-color: #e3e8e4;
  background: rgba(255, 255, 255, 0.96);
}

.app-page--dashboard .workspace-breadcrumb span,
.app-page--dashboard .workspace-breadcrumb b {
  display: none;
}

.app-page--dashboard .workspace-breadcrumb strong {
  color: #17322e;
  font-size: 19px;
  font-weight: 750;
  letter-spacing: -0.02em;
}

.app-page--dashboard .app-topbar__actions {
  gap: 8px;
}

.app-page--dashboard .search-trigger {
  width: min(260px, 24vw);
  min-width: 210px;
  height: 42px;
  margin-right: 2px;
  padding-inline: 13px;
  border-color: #dde5df;
  border-radius: 9px;
  background: #fafcfb;
  color: #82908a;
  font-size: 12px;
}

.app-page--dashboard .search-trigger svg { width: 18px; height: 18px; }

.app-page--dashboard .icon-button {
  width: 42px;
  height: 42px;
  color: #50605a;
}

.app-page--dashboard .icon-button:hover { background: #f1f5f2; }
.app-page--dashboard .icon-button svg { width: 19px; height: 19px; }

.app-page--dashboard .user-menu {
  min-height: 46px;
  gap: 10px;
  margin-left: 4px;
  padding-left: 16px;
}

.app-page--dashboard .avatar--small {
  width: 38px;
  height: 38px;
  font-size: 11px;
}

.app-page--dashboard .user-menu__name strong { font-size: 12px; }
.app-page--dashboard .user-menu__name small { font-size: 10px; }

.dashboard-workspace {
  width: 100%;
  padding: 28px 30px 52px;
}

.dashboard-welcome {
  display: flex;
  min-height: 82px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.dashboard-welcome p {
  margin: 0 0 7px;
  color: #78857f;
  font-size: 13px;
  font-weight: 600;
}

.dashboard-welcome h1 {
  margin: 0;
  color: var(--forest-950);
  font-family: var(--ui);
  font-size: clamp(30px, 2.45vw, 38px);
  font-weight: 760;
  letter-spacing: -0.045em;
  line-height: 1.12;
}

.dashboard-welcome > div:first-child > span {
  display: block;
  margin-top: 7px;
  color: #65736d;
  font-size: 14px;
}

.dashboard-welcome__actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.dashboard-button {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding-inline: 18px;
  border: 1px solid #d9e2dc;
  border-radius: 9px;
  font-size: 13px;
  font-weight: 750;
  text-decoration: none;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.dashboard-button:hover { transform: translateY(-1px); }
.dashboard-button--quiet { background: #fff; color: var(--forest-900); }
.dashboard-button--primary { border-color: var(--forest-900); background: var(--forest-900); color: #fff; box-shadow: 0 8px 18px rgba(18, 63, 58, 0.14); }
.dashboard-button--primary > span { font-size: 18px; line-height: 1; }

.dashboard-metrics {
  display: grid;
  margin-top: 24px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.dashboard-metric {
  display: flex;
  min-height: 136px;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 21px 20px;
  border: 1px solid #e2e8e3;
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(24, 57, 49, 0.035);
}

.dashboard-metric p {
  margin: 0;
  color: #74817b;
  font-size: 13px;
  font-weight: 620;
}

.dashboard-metric strong {
  display: block;
  margin-top: 6px;
  color: var(--forest-950);
  font-size: 31px;
  font-weight: 760;
  letter-spacing: -0.04em;
  line-height: 1.05;
  font-variant-numeric: tabular-nums;
}

.dashboard-metric > div > span {
  display: flex;
  align-items: center;
  gap: 3px;
  margin-top: 8px;
  color: #68756f;
  font-size: 11px;
  font-weight: 630;
}

.dashboard-metric > div > .dashboard-metric__positive { color: #34745b; }
.dashboard-metric > div > span svg { width: 13px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7px; }

.dashboard-metric__icon {
  display: grid;
  width: 47px;
  height: 47px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 11px;
}

.dashboard-metric__icon svg {
  width: 22px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.75px;
}

.dashboard-metric__icon--sage { background: #e7f2eb; color: #3f7d64; }
.dashboard-metric__icon--sky { background: #e8f0f4; color: #527b91; }
.dashboard-metric__icon--sun { background: #faf0dc; color: #a57831; }
.dashboard-metric__icon--clay { background: #fbe7dd; color: #b45232; }

.dashboard-primary-grid,
.dashboard-secondary-grid {
  display: grid;
  margin-top: 16px;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 16px;
}

.dashboard-panel {
  overflow: hidden;
  border: 1px solid #e0e7e2;
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(24, 57, 49, 0.03);
}

.dashboard-panel--appointments { grid-column: span 6; }
.dashboard-panel--patients { grid-column: span 3; }
.dashboard-panel--continuity { grid-column: span 3; }
.dashboard-panel--activity { grid-column: span 7; }
.dashboard-panel--priorities { grid-column: span 5; }

.dashboard-panel__header {
  display: flex;
  min-height: 61px;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 0 18px;
  border-bottom: 1px solid #e6ebe7;
}

.dashboard-panel__header h2 {
  margin: 0;
  color: #203b35;
  font-family: var(--ui);
  font-size: 15px;
  font-weight: 750;
  letter-spacing: -0.015em;
}

.dashboard-panel__header button,
.dashboard-panel__footer button {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  gap: 4px;
  padding-inline: 10px;
  border: 0;
  border-radius: 7px;
  background: #f1f6f2;
  color: var(--forest-700);
  cursor: pointer;
  font-size: 10px;
  font-weight: 750;
}

.dashboard-panel__header button:hover,
.dashboard-panel__footer button:hover { background: var(--sage-100); }
.dashboard-panel__header button svg { width: 12px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8px; }

.appointment-list { padding: 8px 12px 6px; }

.appointment-row {
  display: grid;
  width: 100%;
  min-height: 75px;
  align-items: center;
  padding: 9px 8px;
  border: 0;
  border-bottom: 1px solid #edf0ed;
  background: #fff;
  color: var(--ink);
  cursor: pointer;
  grid-template-columns: 42px minmax(135px, 1fr) minmax(88px, auto) auto 15px;
  gap: 10px;
  text-align: left;
}

.appointment-row:last-child { border-bottom: 0; }
.appointment-row:hover { border-radius: 9px; background: #f8faf8; }
.appointment-row > svg { width: 14px; fill: none; stroke: #9ba69f; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8px; }

.dashboard-avatar {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 50%;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.dashboard-avatar--sage { background: #dfeee6; color: #376d58; }
.dashboard-avatar--sky { background: #e1ecf1; color: #496f82; }
.dashboard-avatar--clay { background: #f8dfd4; color: #a84c30; }
.dashboard-avatar--sun { background: #f5e8cb; color: #916825; }
.dashboard-avatar--petal { background: #f5e1df; color: #945a54; }

.appointment-row__patient strong,
.appointment-row__patient small,
.appointment-row__place strong,
.appointment-row__place small,
.recent-patients strong,
.recent-patients small {
  display: block;
}

.appointment-row__patient strong { color: #263b36; font-size: 13px; font-weight: 720; }
.appointment-row__patient small { margin-top: 3px; color: #7a8781; font-size: 10px; }
.appointment-row__place { text-align: right; }
.appointment-row__place strong { color: #31443f; font-size: 12px; font-weight: 750; font-variant-numeric: tabular-nums; }
.appointment-row__place small { margin-top: 3px; color: #8a958f; font-size: 9px; }

.dashboard-status {
  display: inline-flex;
  min-height: 25px;
  align-items: center;
  justify-content: center;
  padding-inline: 8px;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 760;
  line-height: 1;
  white-space: nowrap;
}

.dashboard-status--sage { background: #e4f1e9; color: #3b755c; }
.dashboard-status--sky { background: #e7f0f4; color: #496f82; }
.dashboard-status--clay { background: #fbe5db; color: #a74d31; }
.dashboard-status--sun { background: #f8ecd3; color: #8c6426; }

.dashboard-panel__footer {
  display: flex;
  min-height: 52px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 18px;
  border-top: 1px solid #e6ebe7;
  background: #fbfcfb;
}

.dashboard-panel__footer > span {
  display: flex;
  align-items: center;
  gap: 7px;
  color: #74817b;
  font-size: 10px;
  font-weight: 650;
}

.dashboard-panel__footer > span i { width: 7px; height: 7px; border-radius: 50%; background: #5b9778; box-shadow: 0 0 0 3px #e7f2eb; }

.recent-patients { padding: 8px 14px; }

.recent-patients button {
  display: grid;
  width: 100%;
  min-height: 62px;
  align-items: center;
  padding: 7px 3px;
  border: 0;
  border-bottom: 1px solid #edf0ed;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  gap: 9px;
  text-align: left;
}

.recent-patients button:last-child { border-bottom: 0; }
.recent-patients button:hover { background: #f8faf8; }
.recent-patients strong { overflow: hidden; color: #2d413b; font-size: 12px; font-weight: 720; text-overflow: ellipsis; white-space: nowrap; }
.recent-patients small { margin-top: 2px; color: #84908a; font-size: 9px; }
.recent-patients time { color: #89958f; font-size: 8px; font-variant-numeric: tabular-nums; white-space: nowrap; }

.dashboard-panel--continuity { position: relative; }

.continuity-summary {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 20px 18px 0;
}

.continuity-summary > strong {
  color: #203c36;
  font-size: 35px;
  font-weight: 760;
  letter-spacing: -0.05em;
}

.continuity-summary > span {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 5px 8px;
  border-radius: 999px;
  background: #e8f3ed;
  color: #34745b;
  font-size: 9px;
  font-weight: 750;
}

.continuity-summary svg { width: 12px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8px; }

.continuity-chart {
  width: calc(100% - 30px);
  height: 124px;
  margin: 3px 15px 0;
  overflow: visible;
}

.continuity-grid { fill: none; stroke: #e8ede9; stroke-dasharray: 3 5; stroke-width: 1px; }
.continuity-area { fill: url(#continuityFill); }
.continuity-line { fill: none; stroke: var(--forest-700); stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.2px; }
.continuity-chart circle { fill: #fff; stroke: var(--forest-700); stroke-width: 2.2px; }

.continuity-labels {
  display: grid;
  margin: -1px 14px 0;
  color: #89958f;
  font-size: 8px;
  grid-template-columns: repeat(7, 1fr);
  text-align: center;
}

.dashboard-panel--continuity > p {
  margin: 15px 18px 18px;
  color: #74817b;
  font-size: 9px;
  line-height: 1.45;
}

.activity-legend {
  display: flex;
  justify-content: flex-end;
  gap: 18px;
  padding: 15px 22px 0;
}

.activity-legend span { display: flex; align-items: center; gap: 6px; color: #73807a; font-size: 10px; }
.activity-legend i { width: 9px; height: 9px; border-radius: 3px; }
.activity-legend__scheduled { background: #c9ded4; }
.activity-legend__attended { background: var(--forest-700); }

.activity-chart {
  position: relative;
  display: grid;
  height: 220px;
  align-items: end;
  padding: 21px 24px 24px 52px;
  background-image: repeating-linear-gradient(to bottom, transparent 0, transparent 48px, #edf1ee 49px, transparent 50px);
  grid-template-columns: repeat(6, 1fr);
  gap: 18px;
}

.activity-chart__scale {
  position: absolute;
  top: 18px;
  bottom: 28px;
  left: 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  color: #8b9690;
  font-size: 9px;
}

.activity-chart__day { display: grid; height: 100%; align-items: end; grid-template-rows: 1fr auto; gap: 8px; }
.activity-chart__day > div { display: flex; height: 100%; align-items: end; justify-content: center; gap: 5px; }
.activity-chart__day i,
.activity-chart__day b { width: min(14px, 35%); min-height: 4px; border-radius: 5px 5px 2px 2px; }
.activity-chart__day i { background: #c9ded4; }
.activity-chart__day b { background: var(--forest-700); }
.activity-chart__day > span { color: #74817b; font-size: 10px; text-align: center; }

.priority-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.priority-table caption {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.priority-table th {
  height: 38px;
  padding: 0 10px;
  border-bottom: 1px solid #e9edea;
  background: #fbfcfb;
  color: #8a958f;
  font-size: 9px;
  font-weight: 760;
  letter-spacing: 0.04em;
  text-align: left;
  text-transform: uppercase;
}

.priority-table th:first-child,
.priority-table td:first-child { width: auto; padding-left: 18px; }
.priority-table th:nth-child(2),
.priority-table td:nth-child(2) { width: 92px; }
.priority-table th:last-child,
.priority-table td:last-child { width: 110px; padding-right: 18px; }

.priority-table td {
  height: 58px;
  padding: 7px 10px;
  border-bottom: 1px solid #edf0ed;
  color: #56645e;
  font-size: 10px;
}

.priority-table tbody tr:last-child td { border-bottom: 0; }
.priority-table tbody tr:hover { background: #f8faf8; }
.priority-table td button { width: 100%; padding: 0; border: 0; background: transparent; cursor: pointer; text-align: left; }
.priority-table td button strong,
.priority-table td button small { display: block; }
.priority-table td button strong { overflow: hidden; color: #2b403a; font-size: 11px; font-weight: 720; text-overflow: ellipsis; white-space: nowrap; }
.priority-table td button small { margin-top: 3px; color: #89958f; font-size: 9px; }

@media (max-width: 1280px) {
  .dashboard-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-panel--appointments { grid-column: span 7; }
  .dashboard-panel--patients { grid-column: span 5; }
  .dashboard-panel--continuity { grid-column: 1 / -1; }
  .dashboard-panel--activity,
  .dashboard-panel--priorities { grid-column: 1 / -1; }
  .dashboard-panel--continuity > p { margin-top: 8px; }
}

@media (max-width: 980px) {
  .app-page--dashboard .search-trigger { min-width: 42px; width: 42px; justify-content: center; padding: 0; }
  .app-page--dashboard .search-trigger span,
  .app-page--dashboard .search-trigger kbd { display: none; }
  .dashboard-panel--appointments,
  .dashboard-panel--patients { grid-column: 1 / -1; }
}

@media (max-width: 900px) {
  .app-page--dashboard .app-shell { grid-template-columns: 1fr; }
  .dashboard-workspace { padding-inline: 22px; }
}

@media (max-width: 680px) {
  .app-page--dashboard .app-topbar { padding-inline: 14px; }
  .app-page--dashboard .workspace-breadcrumb { display: block; }
  .app-page--dashboard .workspace-breadcrumb strong { font-size: 17px; }
  .dashboard-workspace { padding: 21px 14px 38px; }
  .dashboard-welcome { align-items: stretch; flex-direction: column; }
  .dashboard-welcome h1 { font-size: 29px; }
  .dashboard-welcome__actions { display: grid; grid-template-columns: 1fr 1fr; }
  .dashboard-metrics { grid-template-columns: 1fr; }
  .dashboard-metric { min-height: 126px; }
  .dashboard-primary-grid,
  .dashboard-secondary-grid { display: block; }
  .dashboard-panel { margin-top: 14px; }
  .appointment-row { grid-template-columns: 42px minmax(0, 1fr) auto; }
  .appointment-row__place { text-align: right; }
  .appointment-row .dashboard-status,
  .appointment-row > svg { display: none; }
  .dashboard-panel__footer { align-items: flex-start; flex-direction: column; padding-block: 12px; }
  .recent-patients time { display: none; }
  .priority-table th { display: none; }
  .priority-table th:nth-child(2),
  .priority-table td:nth-child(2) { display: none; }
  .priority-table td { height: 70px; }
  .priority-table th:last-child,
  .priority-table td:last-child { width: 98px; padding-right: 14px; }
  .priority-table th:first-child,
  .priority-table td:first-child { padding-left: 14px; }
  .activity-chart { height: 190px; padding-right: 14px; gap: 8px; }
}

@media (max-width: 420px) {
  .dashboard-welcome__actions { grid-template-columns: 1fr; }
  .dashboard-panel__header { padding-inline: 14px; }
  .dashboard-panel__header button { padding-inline: 7px; }
  .appointment-row__place small { display: none; }
}

/* Productive workspace context */

.context-page {
  min-height: 100vh;
  min-height: 100svh;
  background:
    radial-gradient(circle at 8% 12%, rgba(207, 223, 215, 0.55), transparent 26rem),
    radial-gradient(circle at 92% 88%, rgba(247, 222, 210, 0.55), transparent 28rem),
    #f8f7f2;
}

.context-shell {
  width: min(1240px, calc(100% - 48px));
  min-height: 100vh;
  min-height: 100svh;
  margin: 0 auto;
  padding: 28px 0 32px;
}

.context-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.context-header > div,
.account-header__actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.context-header > div a,
.context-header > div button,
.account-header__actions > a {
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid transparent;
  border-radius: 9px;
  background: transparent;
  color: var(--forest-800);
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  font-weight: 720;
  line-height: 38px;
  text-decoration: none;
}

.context-header > div button {
  border-color: #d9e1db;
  background: rgba(255, 255, 255, 0.72);
}

.context-intro {
  max-width: 760px;
  margin: clamp(64px, 9vh, 106px) auto 42px;
  text-align: center;
}

.context-intro .eyebrow {
  justify-content: center;
}

.context-intro h1 {
  margin: 17px 0 14px;
  color: var(--forest-950);
  font-family: var(--ui);
  font-size: clamp(38px, 5vw, 62px);
  font-weight: 760;
  letter-spacing: -0.06em;
  line-height: 1.02;
}

.context-intro > p:last-child {
  max-width: 650px;
  margin: 0 auto;
  color: #65736d;
  font-size: 16px;
  line-height: 1.75;
}

.context-message {
  max-width: 820px;
  margin: -16px auto 26px;
  padding: 13px 16px;
  border: 1px solid #e8c4b6;
  border-radius: 10px;
  background: #fff5f0;
  color: #8d3f29;
  font-size: 13px;
  font-weight: 650;
  text-align: center;
}

.context-groups {
  display: grid;
  gap: 20px;
}

.context-group {
  padding: 24px;
  border: 1px solid #dde5df;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 14px 40px rgba(20, 57, 49, 0.055);
}

.context-group > header {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 20px;
}

.context-group__mark {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 11px;
  background: var(--forest-900);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.03em;
}

.context-group > header p,
.context-group > header h2 {
  margin: 0;
}

.context-group > header p {
  color: #829089;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.context-group > header h2 {
  margin-top: 2px;
  color: #1b3933;
  font-size: 18px;
  font-weight: 760;
  letter-spacing: -0.025em;
}

.context-choices {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.context-choice {
  display: flex;
  min-height: 188px;
  align-items: flex-start;
  flex-direction: column;
  padding: 20px;
  border: 1px solid #dfe6e1;
  border-radius: 12px;
  background: #fbfcfa;
  color: var(--ink);
  cursor: pointer;
  font-family: var(--ui);
  text-align: left;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.context-choice:hover,
.context-choice:focus-visible {
  border-color: var(--sage-600);
  box-shadow: 0 12px 30px rgba(18, 63, 58, 0.09);
  outline: none;
  transform: translateY(-2px);
}

.context-choice--current {
  border-color: #8eb0a2;
  background: #f3f8f4;
}

.context-choice__role {
  display: inline-flex;
  min-height: 26px;
  align-items: center;
  padding: 0 9px;
  border-radius: 999px;
  background: var(--sage-100);
  color: var(--forest-700);
  font-size: 10px;
  font-weight: 780;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.context-choice > strong {
  margin-top: 14px;
  color: var(--forest-950);
  font-size: 19px;
  font-weight: 760;
  letter-spacing: -0.025em;
}

.context-choice > small {
  margin-top: 6px;
  color: #6f7c76;
  font-size: 12px;
  line-height: 1.55;
}

.context-choice__footer {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: auto;
  padding-top: 18px;
  color: #7f8c86;
  font-size: 9px;
  font-weight: 650;
}

.context-choice__footer b {
  color: var(--forest-700);
  font-size: 10px;
  white-space: nowrap;
}

.context-empty {
  max-width: 660px;
  margin: 0 auto;
  padding: 50px 32px;
  border: 1px solid #dfe6e1;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.88);
  text-align: center;
}

.context-empty > span {
  display: grid;
  width: 50px;
  height: 50px;
  margin: 0 auto 18px;
  place-items: center;
  border-radius: 50%;
  background: var(--sage-100);
  color: var(--forest-700);
  font-size: 27px;
}

.context-empty h2 { margin: 0; color: var(--forest-950); font-size: 23px; }
.context-empty p { margin: 10px auto 20px; color: #69766f; font-size: 14px; }
.context-empty a { color: var(--forest-700); font-size: 13px; font-weight: 750; }

.context-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 26px 4px 0;
  color: #75817b;
  font-size: 11px;
}

.context-footer strong { color: #596861; font-weight: 680; }

.production-workspace-page .production-workspace {
  min-height: 100vh;
  min-height: 100svh;
}

.production-workspace-page .production-sidebar .app-sidebar__top {
  justify-content: flex-start;
}

.production-workspace-page .production-sidebar .app-nav__item--planned {
  cursor: default;
  opacity: 0.7;
}

.production-workspace-page .production-sidebar .app-nav__item--planned:hover {
  background: transparent;
  color: #52605a;
}

.production-workspace-page .production-sidebar .app-nav__item--planned small {
  color: #8b9791;
  font-size: 8px;
  font-weight: 720;
  text-transform: uppercase;
}

.production-context-switcher {
  text-decoration: none;
}

.production-topbar__actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.production-topbar__switch,
.production-logout {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  padding: 0 12px;
  border: 1px solid #dce4de;
  border-radius: 8px;
  background: #fff;
  color: var(--forest-700);
  cursor: pointer;
  font: inherit;
  font-size: 10px;
  font-weight: 730;
  text-decoration: none;
}

.production-logout {
  border-color: transparent;
  color: #79847f;
}

.production-user-menu {
  color: inherit;
  text-decoration: none;
}

.production-workspace__content {
  width: 100%;
  padding: 30px 32px 56px;
}

.production-welcome {
  display: flex;
  min-height: 100px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.production-welcome p,
.production-welcome h1 {
  margin: 0;
}

.production-welcome p {
  color: #76837d;
  font-size: 13px;
  font-weight: 630;
}

.production-welcome h1 {
  margin-top: 6px;
  color: var(--forest-950);
  font-size: clamp(31px, 3vw, 43px);
  font-weight: 760;
  letter-spacing: -0.05em;
  line-height: 1.08;
}

.production-welcome > div > span {
  display: block;
  margin-top: 8px;
  color: #65736d;
  font-size: 14px;
}

.production-context-status {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  border-radius: 999px;
  background: #e7f2eb;
  color: #3d735c;
  font-size: 10px;
  font-weight: 760;
  white-space: nowrap;
}

.production-context-status i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #4e8b6e;
  box-shadow: 0 0 0 3px rgba(78, 139, 110, 0.15);
}

.production-context-strip {
  display: grid;
  min-height: 112px;
  align-items: center;
  margin-top: 20px;
  padding: 20px 22px;
  border: 1px solid #dfe7e1;
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(24, 57, 49, 0.03);
  grid-template-columns: repeat(3, minmax(140px, 0.8fr)) minmax(250px, 1.4fr);
  gap: 18px;
}

.production-context-strip > div {
  padding-right: 18px;
  border-right: 1px solid #e5ebe7;
}

.production-context-strip small,
.production-context-strip strong {
  display: block;
}

.production-context-strip small {
  color: #89958f;
  font-size: 9px;
  font-weight: 750;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.production-context-strip strong {
  overflow: hidden;
  margin-top: 5px;
  color: #29413a;
  font-size: 13px;
  font-weight: 740;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.production-context-strip > p {
  margin: 0;
  color: #6d7a74;
  font-size: 11px;
  line-height: 1.6;
}

.production-workspace__grid {
  display: grid;
  margin-top: 16px;
  grid-template-columns: minmax(0, 1.7fr) minmax(300px, 0.72fr);
  gap: 16px;
}

.production-module-panel,
.production-boundary-panel {
  border: 1px solid #dfe7e1;
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(24, 57, 49, 0.03);
}

.production-module-panel > header {
  display: flex;
  min-height: 86px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 22px;
  border-bottom: 1px solid #e6ebe7;
}

.production-module-panel > header p,
.production-module-panel > header h2 {
  margin: 0;
}

.production-module-panel > header p,
.production-boundary-panel > p:first-of-type {
  color: #829089;
  font-size: 9px;
  font-weight: 760;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.production-module-panel > header h2 {
  margin-top: 4px;
  color: #29413a;
  font-size: 15px;
  font-weight: 730;
}

.production-module-panel > header > span {
  padding: 5px 9px;
  border-radius: 999px;
  background: #f0f5f1;
  color: #658076;
  font-size: 9px;
  font-weight: 740;
}

.production-module-panel ol {
  margin: 0;
  padding: 8px 16px;
  list-style: none;
}

.production-module-panel li {
  display: grid;
  min-height: 68px;
  align-items: center;
  padding: 8px 7px;
  border-bottom: 1px solid #edf1ee;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  gap: 12px;
}

.production-module-panel li:last-child { border-bottom: 0; }
.production-module-panel li > span { color: #9aa59f; font-size: 10px; font-weight: 760; }
.production-module-panel li strong,
.production-module-panel li small { display: block; }
.production-module-panel li strong { color: #344842; font-size: 12px; font-weight: 730; }
.production-module-panel li small { margin-top: 2px; color: #89958f; font-size: 9px; }
.production-module-panel li > b { color: #909b95; font-size: 9px; font-weight: 720; }
.production-module-panel .production-module--active { margin: 4px 0; border: 0; border-radius: 9px; background: #f0f6f2; }
.production-module-panel .production-module--active > span,
.production-module-panel .production-module--active > b { color: #3f765f; }

.production-boundary-panel {
  padding: 26px 24px;
  background: var(--forest-950);
  color: #fff;
}

.production-boundary-panel__seal {
  display: grid;
  width: 42px;
  height: 42px;
  margin-bottom: 24px;
  place-items: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  color: #cce0d6;
}

.production-boundary-panel > p:first-of-type { color: #91b1a4; }
.production-boundary-panel h2 { margin: 8px 0 12px; font-size: 22px; font-weight: 710; letter-spacing: -0.035em; line-height: 1.2; }
.production-boundary-panel h2 + p { margin: 0; color: #c3d3cc; font-size: 12px; line-height: 1.7; }
.production-boundary-panel dl { margin: 26px 0 0; }
.production-boundary-panel dl > div { padding: 13px 0; border-top: 1px solid rgba(255, 255, 255, 0.12); }
.production-boundary-panel dt { color: #91b1a4; font-size: 9px; font-weight: 740; letter-spacing: 0.06em; text-transform: uppercase; }
.production-boundary-panel dd { margin: 4px 0 0; color: #edf5f1; font-size: 11px; }

@media (max-width: 1040px) {
  .context-choices { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .production-context-strip { grid-template-columns: repeat(3, 1fr); }
  .production-context-strip > p { grid-column: 1 / -1; }
  .production-workspace__grid { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .production-sidebar { display: none; }
  .production-topbar .workspace-breadcrumb { display: flex; }
  .production-workspace__content { padding-inline: 22px; }
}

@media (max-width: 680px) {
  .context-shell { width: min(100% - 28px, 1240px); padding-top: 18px; }
  .context-header > div a { display: none; }
  .context-intro { margin-top: 58px; text-align: left; }
  .context-intro .eyebrow { justify-content: flex-start; }
  .context-intro h1 { font-size: 39px; }
  .context-intro > p:last-child { font-size: 14px; }
  .context-group { padding: 18px; }
  .context-choices { grid-template-columns: 1fr; }
  .context-choice { min-height: 172px; }
  .context-footer { align-items: flex-start; flex-direction: column; }
  .production-topbar { padding-inline: 14px; }
  .production-topbar__switch,
  .production-user-menu .user-menu__name { display: none; }
  .production-workspace__content { padding: 22px 14px 40px; }
  .production-welcome { align-items: flex-start; flex-direction: column; }
  .production-welcome h1 { font-size: 32px; }
  .production-context-strip { grid-template-columns: 1fr; }
  .production-context-strip > div { padding: 0 0 12px; border-right: 0; border-bottom: 1px solid #e5ebe7; }
  .production-context-strip > p { grid-column: auto; }
  .production-module-panel > header { align-items: flex-start; flex-direction: column; }
  .production-boundary-panel { padding: 24px 20px; }
}

/* Location management — spacious operational directory */

.locations-workspace {
  width: 100%;
  padding: 38px 42px 64px;
}

.locations-heading {
  display: flex;
  min-height: 120px;
  align-items: flex-start;
  justify-content: space-between;
  gap: 32px;
}

.locations-heading p,
.locations-heading h1 {
  margin: 0;
}

.locations-eyebrow {
  color: var(--clay-600);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.locations-heading h1 {
  margin-top: 7px;
  color: var(--forest-950);
  font-size: clamp(35px, 3.2vw, 48px);
  font-weight: 770;
  letter-spacing: -0.05em;
  line-height: 1.05;
}

.locations-heading .locations-heading__description {
  max-width: 690px;
  margin-top: 10px;
  color: #64716c;
  font-size: 15px;
  line-height: 1.65;
}

.locations-primary-action,
.location-secondary-action,
.location-text-action,
.location-state-action {
  border: 0;
  font: inherit;
}

.locations-primary-action {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0 19px;
  border-radius: 10px;
  background: var(--forest-900);
  box-shadow: 0 9px 20px rgba(18, 63, 58, 0.15);
  color: #fff;
  cursor: pointer;
  font-size: 13px;
  font-weight: 760;
  white-space: nowrap;
  transition: background 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.locations-primary-action:hover {
  background: var(--forest-800);
  box-shadow: 0 12px 26px rgba(18, 63, 58, 0.2);
  transform: translateY(-1px);
}

.locations-primary-action:disabled {
  cursor: wait;
  opacity: 0.65;
  transform: none;
}

.locations-primary-action > span {
  font-size: 19px;
  font-weight: 430;
  line-height: 1;
}

.locations-flash {
  display: flex;
  min-height: 48px;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
  padding: 10px 15px;
  border: 1px solid #cfe0d6;
  border-radius: 10px;
  background: #eef6f1;
  color: #285d49;
  font-size: 13px;
  font-weight: 680;
}

.locations-flash > span {
  display: grid;
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  background: #d7eadf;
  font-size: 11px;
  font-weight: 850;
}

.locations-flash--alert {
  border-color: #efcfbe;
  background: #fff4ed;
  color: #8a422d;
}

.locations-flash--alert > span {
  background: #f6dacc;
}

.locations-capacity {
  display: grid;
  min-height: 88px;
  align-items: center;
  padding: 16px 20px;
  border: 1px solid #dde6df;
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 6px 20px rgba(24, 57, 49, 0.035);
  grid-template-columns: minmax(245px, 0.75fr) minmax(180px, 1fr) minmax(230px, 0.7fr);
  gap: 24px;
}

.locations-capacity__copy {
  display: flex;
  align-items: center;
  gap: 13px;
}

.locations-capacity__icon {
  display: grid;
  width: 46px;
  height: 46px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 11px;
  background: var(--sage-100);
  color: var(--forest-700);
}

.locations-capacity__icon svg,
.locations-empty svg {
  width: 23px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.6;
}

.locations-capacity__copy small,
.locations-capacity__copy strong {
  display: block;
}

.locations-capacity__copy small {
  color: #7a8781;
  font-size: 10px;
  font-weight: 760;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.locations-capacity__copy strong {
  margin-top: 4px;
  color: #263d36;
  font-size: 15px;
  font-weight: 760;
}

.locations-capacity__track {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #e8ede9;
}

.locations-capacity__track > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--forest-700), #78a28f);
}

.locations-capacity > p {
  margin: 0;
  color: #68766f;
  font-size: 12px;
  line-height: 1.55;
  text-align: right;
}

.sharing-matrix {
  overflow: hidden;
  margin-top: 18px;
  border: 1px solid #dbe5df;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 7px 22px rgba(24, 57, 49, 0.04);
}

.sharing-matrix > header {
  display: flex;
  min-height: 112px;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 22px 25px;
  border-bottom: 1px solid #e3eae6;
  background: linear-gradient(120deg, #edf6f0, #fbfdfb 58%, #fff8f2);
}

.sharing-matrix > header p,
.sharing-matrix > header h2,
.sharing-matrix > header span { margin: 0; }
.sharing-matrix > header p { color: #a36648; font-size: 11px; font-weight: 820; letter-spacing: 0.08em; text-transform: uppercase; }
.sharing-matrix > header h2 { margin-top: 5px; color: #263f36; font-size: 23px; font-weight: 780; letter-spacing: -0.03em; }
.sharing-matrix > header > div:first-child > span { display: block; margin-top: 6px; color: #718079; font-size: 13px; }
.sharing-matrix__legend { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.sharing-matrix__legend span { display: flex; align-items: center; gap: 6px; padding: 7px 9px; border: 1px solid #dce5df; border-radius: 999px; background: rgba(255, 255, 255, 0.82); color: #64746c; font-size: 10px; font-weight: 750; }
.sharing-matrix__legend i { width: 7px; height: 7px; border-radius: 50%; }
.sharing-matrix__legend .is-global { background: #4c876c; }
.sharing-matrix__legend .is-local { background: #c07a54; }

.sharing-fixed-rules { display: grid; padding: 14px 18px 0; grid-template-columns: 1fr 1fr; gap: 11px; }
.sharing-fixed-rules article { display: flex; min-height: 70px; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid #e1e7e3; border-radius: 10px; background: #fafcfb; }
.sharing-rule-icon { display: grid; width: 34px; height: 34px; flex: 0 0 auto; place-items: center; border-radius: 9px; font-size: 14px; font-weight: 800; }
.sharing-rule-icon.is-global { background: #dfeee5; color: #3f735b; }
.sharing-rule-icon.is-local { background: #f8e8de; color: #9c6044; }
.sharing-fixed-rules strong,
.sharing-fixed-rules p { display: block; margin: 0; }
.sharing-fixed-rules strong { color: #374f45; font-size: 13px; }
.sharing-fixed-rules p { margin-top: 4px; color: #829089; font-size: 11px; line-height: 1.45; }

.sharing-configurable-rules { display: grid; padding: 12px 18px 18px; grid-template-columns: repeat(3, 1fr); gap: 11px; }
.sharing-scope-card { min-width: 0; padding: 17px; border: 1px solid #dee6e1; border-radius: 11px; background: #fff; }
.sharing-scope-card > header { display: flex; min-height: 62px; align-items: flex-start; gap: 10px; }
.sharing-scope-card > header > span { display: grid; width: 29px; height: 29px; flex: 0 0 auto; place-items: center; border-radius: 8px; background: #e6f0ea; color: #47745f; font-size: 9px; font-weight: 830; }
.sharing-scope-card > header strong,
.sharing-scope-card > header p { display: block; margin: 0; }
.sharing-scope-card > header strong { color: #30483e; font-size: 14px; }
.sharing-scope-card > header p { margin-top: 4px; color: #819088; font-size: 11px; line-height: 1.45; }
.sharing-scope-options { display: grid; margin-top: 11px; grid-template-columns: 1fr 1fr; gap: 7px; }
.sharing-scope-options label { position: relative; min-height: 69px; padding: 11px; border: 1px solid #dee5e1; border-radius: 9px; background: #fafcfb; color: #718078; cursor: pointer; }
.sharing-scope-options label.is-selected { border-color: #91b5a3; background: #edf6f0; box-shadow: inset 0 0 0 1px #b9d1c4; }
.sharing-scope-options input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.sharing-scope-options strong,
.sharing-scope-options small { display: block; }
.sharing-scope-options strong { color: #40574d; font-size: 11px; }
.sharing-scope-options label.is-selected strong { color: #2f624d; }
.sharing-scope-options small { margin-top: 4px; font-size: 10px; line-height: 1.35; }
.sharing-impact { margin-top: 10px; padding: 11px; border: 1px solid #edc9b6; border-radius: 9px; background: #fff5ef; }
.sharing-impact > strong { color: #8b4f3a; font-size: 10px; }
.sharing-impact > p { margin: 4px 0 8px; color: #9a705f; font-size: 9px; line-height: 1.4; }
.sharing-impact > a { display: flex; justify-content: space-between; gap: 10px; padding: 7px 0; border-top: 1px solid #f0d8cc; color: #775246; text-decoration: none; }
.sharing-impact > a span { font-size: 9px; font-weight: 750; }
.sharing-impact > a small { color: #9b796b; font-size: 8px; text-align: right; }
.sharing-matrix > form > footer { display: grid; align-items: end; padding: 17px 20px 20px; border-top: 1px solid #e3e9e5; background: #f9fbfa; grid-template-columns: 1fr auto; gap: 18px; }
.sharing-matrix > form > footer label > span { display: block; margin-bottom: 6px; color: #3b5148; font-size: 11px; font-weight: 750; }
.sharing-matrix > form > footer input { width: 100%; min-height: 43px; padding: 0 12px; border: 1px solid #d6e0da; border-radius: 9px; outline: 0; background: #fff; color: #2d433a; font: inherit; font-size: 12px; }
.sharing-matrix > form > footer input:focus { border-color: #79a18f; box-shadow: 0 0 0 3px rgba(73, 126, 103, 0.1); }
.sharing-matrix > form > footer > div { display: flex; align-items: center; gap: 12px; }
.sharing-matrix > form > footer small { max-width: 250px; color: #9d5d43; font-size: 9px; line-height: 1.4; }
.sharing-matrix > form > footer button { min-height: 43px; padding: 0 16px; border: 0; border-radius: 9px; background: #315f4e; color: #fff; cursor: pointer; font: inherit; font-size: 11px; font-weight: 760; white-space: nowrap; }
.sharing-matrix > form > footer button:disabled { cursor: not-allowed; opacity: 0.45; }

.locations-layout {
  display: grid;
  align-items: start;
  margin-top: 18px;
  grid-template-columns: minmax(0, 1.55fr) minmax(340px, 0.72fr);
  gap: 18px;
}

.locations-roster,
.location-editor {
  overflow: hidden;
  border: 1px solid #dde6df;
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 6px 20px rgba(24, 57, 49, 0.035);
}

.locations-roster > header {
  display: flex;
  min-height: 84px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 22px;
  border-bottom: 1px solid #e6ece8;
}

.locations-roster > header h2,
.locations-roster > header p {
  margin: 0;
}

.locations-roster > header h2 {
  color: #243b34;
  font-size: 18px;
  font-weight: 760;
  letter-spacing: -0.025em;
}

.locations-roster > header p {
  margin-top: 4px;
  color: #7b8781;
  font-size: 12px;
}

.locations-roster > header > span {
  padding: 6px 10px;
  border-radius: 999px;
  background: #f0f4f1;
  color: #62766e;
  font-size: 10px;
  font-weight: 750;
  white-space: nowrap;
}

.locations-list {
  padding: 8px 14px 14px;
}

.location-row {
  display: grid;
  min-height: 116px;
  align-items: center;
  padding: 16px 8px;
  border-bottom: 1px solid #e9eeeb;
  grid-template-columns: minmax(260px, 1.3fr) minmax(190px, 0.72fr) auto;
  gap: 20px;
  transition: background 140ms ease;
}

.location-row:last-child {
  border-bottom: 0;
}

.location-row--selected {
  margin-inline: -4px;
  padding-inline: 12px;
  border-bottom-color: transparent;
  border-radius: 10px;
  background: #f2f7f3;
}

.location-row__identity {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 14px;
}

.location-row__monogram {
  display: grid;
  width: 47px;
  height: 47px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 11px;
  background: #e8f0eb;
  color: var(--forest-800);
  font-size: 12px;
  font-weight: 820;
  letter-spacing: 0.04em;
}

.location-row__identity > div {
  min-width: 0;
}

.location-row__name-line {
  display: flex;
  align-items: center;
  gap: 9px;
}

.location-row__name-line h3 {
  overflow: hidden;
  margin: 0;
  color: #253a34;
  font-size: 15px;
  font-weight: 760;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.location-status {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #3d775e;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.location-status::before {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #4e9874;
  content: "";
}

.location-status--inactive {
  color: #8a817b;
}

.location-status--inactive::before {
  background: #aea7a1;
}

.location-row__identity p {
  overflow: hidden;
  margin: 5px 0 0;
  color: #6f7c76;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.location-row__identity small {
  display: block;
  margin-top: 4px;
  color: #9aa39f;
  font-size: 9px;
  font-weight: 720;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.location-row__facts {
  display: grid;
  margin: 0;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.location-row__facts > div {
  padding-left: 15px;
  border-left: 1px solid #e5ebe7;
}

.location-row__facts dt {
  color: #8a9690;
  font-size: 9px;
  font-weight: 740;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.location-row__facts dd {
  margin: 3px 0 0;
  color: #2c413a;
  font-size: 18px;
  font-weight: 760;
}

.location-row__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
}

.location-text-action,
.location-state-action,
.location-secondary-action {
  min-height: 37px;
  padding: 0 11px;
  border-radius: 8px;
  background: transparent;
  color: var(--forest-700);
  cursor: pointer;
  font-size: 10px;
  font-weight: 760;
}

.location-text-action:hover {
  background: #edf4ef;
}

.location-state-action {
  border: 1px solid #d9e2dc;
  background: #fff;
}

.location-state-action:hover {
  border-color: #bdd2c5;
  background: #f3f8f4;
}

.location-state-action--deactivate {
  color: #8c5946;
}

.location-state-action:disabled {
  cursor: not-allowed;
  opacity: 0.44;
}

.locations-empty {
  padding: 70px 24px;
  text-align: center;
}

.locations-empty > span {
  display: grid;
  width: 52px;
  height: 52px;
  margin: 0 auto 16px;
  place-items: center;
  border-radius: 14px;
  background: var(--sage-100);
  color: var(--forest-700);
}

.locations-empty h3 {
  margin: 0;
  color: var(--forest-950);
  font-size: 18px;
}

.locations-empty p {
  margin: 7px 0 0;
  color: #74817b;
  font-size: 13px;
}

.location-editor {
  position: sticky;
  top: 94px;
}

.location-editor > header {
  padding: 24px 24px 20px;
  border-bottom: 1px solid #e6ece8;
  background: linear-gradient(145deg, #f2f7f3, #fbfcfb);
}

.location-editor > header span {
  color: var(--clay-600);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.location-editor > header h2 {
  margin: 7px 0 0;
  color: #1f3932;
  font-size: 22px;
  font-weight: 760;
  letter-spacing: -0.035em;
  line-height: 1.18;
}

.location-editor > header p {
  margin: 8px 0 0;
  color: #6c7a74;
  font-size: 12px;
  line-height: 1.65;
}

.location-editor form {
  padding: 22px 24px 24px;
}

.location-field {
  display: block;
  margin-bottom: 18px;
}

.location-field > span {
  display: block;
  margin-bottom: 7px;
  color: #344b44;
  font-size: 11px;
  font-weight: 760;
}

.location-field input,
.location-field textarea {
  width: 100%;
  border: 1px solid #d7e0da;
  border-radius: 9px;
  outline: 0;
  background: #fdfefd;
  color: #283b35;
  font: inherit;
  font-size: 14px;
  transition: border 140ms ease, box-shadow 140ms ease;
}

.location-field input {
  height: 47px;
  padding: 0 13px;
}

.location-field textarea {
  min-height: 90px;
  padding: 12px 13px;
  resize: vertical;
  line-height: 1.5;
}

.location-field input:focus,
.location-field textarea:focus {
  border-color: #76a08e;
  box-shadow: 0 0 0 3px rgba(73, 126, 103, 0.12);
}

.location-field input[aria-invalid="true"],
.location-field textarea[aria-invalid="true"] {
  border-color: #c97d60;
}

.location-field em,
.location-field small {
  display: block;
  margin-top: 5px;
  font-size: 9px;
  font-style: normal;
  line-height: 1.45;
}

.location-field em {
  color: #929c97;
}

.location-field small {
  color: #a34e34;
  font-weight: 700;
}

.location-editor__note {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px;
  border-radius: 9px;
  background: #f4f7f5;
}

.location-editor__note > span {
  display: grid;
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid #bed1c6;
  border-radius: 50%;
  color: #537565;
  font-size: 9px;
  font-weight: 800;
}

.location-editor__note p {
  margin: 1px 0 0;
  color: #69766f;
  font-size: 10px;
  line-height: 1.55;
}

.location-editor footer {
  display: flex;
  justify-content: flex-end;
  gap: 9px;
  margin-top: 22px;
}

.location-secondary-action {
  border: 1px solid #d9e1dc;
  background: #fff;
  color: #68766f;
}

.location-editor footer .locations-primary-action {
  min-height: 43px;
}

@media (max-width: 1180px) {
  .locations-workspace { padding-inline: 28px; }
  .locations-layout { grid-template-columns: 1fr; }
  .location-editor { position: static; }
  .sharing-configurable-rules { grid-template-columns: 1fr 1fr; }
  .sharing-scope-card:last-child { grid-column: 1 / -1; }
}

@media (max-width: 860px) {
  .locations-capacity { grid-template-columns: minmax(210px, 1fr) 1fr; }
  .locations-capacity > p { grid-column: 1 / -1; text-align: left; }
  .location-row { grid-template-columns: minmax(0, 1fr) auto; }
  .location-row__facts { grid-column: 1; }
  .location-row__actions { grid-column: 2; grid-row: 1 / span 2; flex-direction: column; }
}

@media (max-width: 680px) {
  .locations-workspace { padding: 26px 14px 44px; }
  .locations-heading { min-height: 0; align-items: stretch; flex-direction: column; }
  .locations-heading .locations-primary-action { width: 100%; }
  .locations-capacity { grid-template-columns: 1fr; margin-top: 28px; }
  .locations-capacity > p { grid-column: auto; }
  .location-row { grid-template-columns: 1fr; padding: 18px 4px; }
  .location-row__facts,
  .location-row__actions { grid-column: auto; grid-row: auto; }
  .location-row__actions { align-items: stretch; flex-direction: row; justify-content: flex-start; }
  .location-row__identity p { white-space: normal; }
  .locations-roster > header { align-items: flex-start; flex-direction: column; }
  .sharing-matrix > header { align-items: flex-start; flex-direction: column; }
  .sharing-matrix__legend { justify-content: flex-start; }
  .sharing-fixed-rules,
  .sharing-configurable-rules { grid-template-columns: 1fr; padding-inline: 10px; }
  .sharing-scope-card:last-child { grid-column: auto; }
  .sharing-scope-options { grid-template-columns: 1fr; }
  .sharing-matrix > form > footer { grid-template-columns: 1fr; }
  .sharing-matrix > form > footer > div { align-items: stretch; flex-direction: column; }
  .sharing-matrix > form > footer small { max-width: none; }
}

/* Clinic configuration navigation and professional team directory */

.configuration-tabs {
  display: flex;
  width: fit-content;
  gap: 5px;
  margin-bottom: 28px;
  padding: 5px;
  border: 1px solid #dce5df;
  border-radius: 11px;
  background: #f2f6f3;
}

.configuration-tabs a {
  min-width: 120px;
  padding: 9px 17px;
  border-radius: 7px;
  color: #65736d;
  font-size: 13px;
  font-weight: 720;
  text-align: center;
  text-decoration: none;
}

.configuration-tabs a:hover { color: var(--forest-900); }

.configuration-tabs .configuration-tabs__active {
  background: #fff;
  box-shadow: 0 3px 10px rgba(27, 59, 50, 0.08);
  color: var(--forest-900);
}

.team-workspace {
  width: 100%;
  padding: 32px 42px 64px;
}

.team-heading {
  display: flex;
  min-height: 112px;
  align-items: flex-start;
  justify-content: space-between;
  gap: 32px;
}

.team-heading p,
.team-heading h1 { margin: 0; }

.team-heading .team-eyebrow {
  margin-bottom: 7px;
  color: var(--clay-600);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.team-heading h1 {
  color: var(--forest-950);
  font-size: clamp(36px, 3.2vw, 49px);
  font-weight: 780;
  letter-spacing: -0.052em;
  line-height: 1.04;
}

.team-heading h1 + p {
  max-width: 720px;
  margin-top: 11px;
  color: #66736e;
  font-size: 15px;
  line-height: 1.65;
}

.team-summary {
  display: grid;
  min-height: 92px;
  overflow: hidden;
  margin-top: 10px;
  border: 1px solid #dce5df;
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 7px 22px rgba(24, 57, 49, 0.04);
  grid-template-columns: repeat(3, minmax(120px, 0.42fr)) minmax(310px, 1.55fr);
}

.team-metric {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding: 17px 22px;
  border-right: 1px solid #e5ece7;
}

.team-metric::before {
  position: absolute;
  top: 22px;
  left: 0;
  width: 3px;
  height: 48px;
  border-radius: 0 5px 5px 0;
  background: #5c8c75;
  content: "";
}

.team-metric--sand::before { background: #c8945d; }
.team-metric--gray::before { background: #98a09c; }

.team-metric span {
  color: #7b8882;
  font-size: 10px;
  font-weight: 760;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.team-metric strong {
  margin-top: 3px;
  color: #263d36;
  font-size: 29px;
  font-weight: 760;
  letter-spacing: -0.04em;
}

.team-search {
  display: flex;
  align-items: center;
  gap: 11px;
  margin: 19px 20px;
  padding: 0 15px;
  border: 1px solid #d9e2dc;
  border-radius: 10px;
  background: #fafcfb;
}

.team-search > span {
  color: #769086;
  font-size: 24px;
  line-height: 1;
}

.team-search input {
  width: 100%;
  height: 50px;
  border: 0;
  outline: 0;
  background: transparent;
  color: #2b4039;
  font: inherit;
  font-size: 14px;
}

.team-search input::placeholder { color: #9aa49f; }

.team-layout {
  display: grid;
  align-items: start;
  margin-top: 18px;
  grid-template-columns: minmax(0, 1.55fr) minmax(390px, 0.72fr);
  gap: 18px;
}

.team-layout--clinical { grid-template-columns: minmax(0, 1.8fr) minmax(340px, 0.58fr); }

.team-roster,
.team-editor {
  overflow: hidden;
  border: 1px solid #dce5df;
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 7px 22px rgba(24, 57, 49, 0.04);
}

.team-roster > header {
  display: flex;
  min-height: 86px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 18px 22px;
  border-bottom: 1px solid #e5ece7;
}

.team-roster > header h2,
.team-roster > header p { margin: 0; }

.team-roster > header h2 {
  color: #243b34;
  font-size: 19px;
  font-weight: 770;
  letter-spacing: -0.025em;
}

.team-roster > header p {
  margin-top: 4px;
  color: #82908a;
  font-size: 12px;
}

.team-roster > header > span {
  max-width: 260px;
  color: #87938e;
  font-size: 11px;
  line-height: 1.45;
  text-align: right;
}

.team-list { padding: 8px 14px 14px; }

.professional-row {
  display: grid;
  min-height: 126px;
  align-items: center;
  padding: 17px 8px;
  border-bottom: 1px solid #e9eeeb;
  grid-template-columns: minmax(245px, 1.25fr) minmax(150px, 0.7fr) minmax(120px, 0.5fr) auto;
  gap: 17px;
}

.professional-row:last-child { border-bottom: 0; }

.professional-row--selected {
  margin-inline: -4px;
  padding-inline: 12px;
  border-bottom-color: transparent;
  border-radius: 10px;
  background: #f2f7f3;
}

.professional-row__profile {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 14px;
}

.professional-avatar {
  display: grid;
  width: 50px;
  height: 50px;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--professional-color) 28%, white);
  border-radius: 12px;
  background: color-mix(in srgb, var(--professional-color) 13%, white);
  color: var(--professional-color);
  font-size: 13px;
  font-weight: 820;
  letter-spacing: 0.035em;
}

.professional-row__profile > div { min-width: 0; }

.professional-row__title {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
}

.professional-row__title h3 {
  overflow: hidden;
  margin: 0;
  color: #263d36;
  font-size: 15px;
  font-weight: 770;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.professional-status {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #3f765e;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.045em;
  text-transform: uppercase;
  white-space: nowrap;
}

.professional-status::before {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #4e9874;
  content: "";
}

.professional-status--pending { color: #9a6e3e; }
.professional-status--pending::before { background: #cf985d; }
.professional-status--inactive { color: #88817d; }
.professional-status--inactive::before { background: #aaa49f; }

.professional-row__profile p {
  overflow: hidden;
  margin: 5px 0 0;
  color: #65736d;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.professional-row__profile small {
  display: block;
  margin-top: 4px;
  color: #939e99;
  font-size: 10px;
  font-weight: 720;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.professional-row__locations > span {
  color: #8a9690;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.professional-row__locations > div {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 7px;
}

.professional-row__locations em {
  padding: 4px 7px;
  border-radius: 999px;
  background: #edf3ef;
  color: #577065;
  font-size: 10px;
  font-style: normal;
  font-weight: 690;
}

.professional-row__continuity {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.professional-row__continuity span {
  color: #87928d;
  font-size: 11px;
  white-space: nowrap;
}

.professional-row__continuity .has-impact {
  color: #995b42;
  font-weight: 730;
}

.professional-row__actions {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.professional-row__actions button {
  min-height: 34px;
  padding: 0 10px;
  border: 1px solid #dce4df;
  border-radius: 8px;
  background: #fff;
  color: var(--forest-700);
  cursor: pointer;
  font: inherit;
  font-size: 11px;
  font-weight: 750;
}

.professional-row__actions button:hover { background: #f1f6f2; }

.professional-row__actions a {
  display: inline-grid;
  min-height: 34px;
  place-items: center;
  padding: 0 10px;
  border: 1px solid #b7cfc2;
  border-radius: 8px;
  background: #eef6f1;
  color: var(--forest-700);
  font-size: 11px;
  font-weight: 760;
  text-decoration: none;
}

.professional-row__actions a:hover { background: #e4f0e9; }

.team-empty {
  padding: 76px 24px;
  color: #75827c;
  text-align: center;
}

.team-empty strong { color: #30473f; font-size: 17px; }
.team-empty p { margin: 7px 0 0; font-size: 13px; }

.team-editor {
  position: sticky;
  top: 94px;
}

.team-editor > header {
  padding: 24px 25px 20px;
  border-bottom: 1px solid #e5ece7;
  background: linear-gradient(145deg, #f1f7f3, #fbfcfb);
}

.team-editor > header > span {
  color: var(--clay-600);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.team-editor > header h2 {
  margin: 7px 0 0;
  color: #203a32;
  font-size: 23px;
  font-weight: 770;
  letter-spacing: -0.035em;
  line-height: 1.18;
}

.team-editor > header p {
  margin: 8px 0 0;
  color: #697771;
  font-size: 12px;
  line-height: 1.62;
}

.team-editor > form { padding: 22px 24px 24px; }

.team-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px 12px;
}

.team-field { display: block; }
.team-field--wide { grid-column: 1 / -1; }

.team-field > span,
.team-color-field > span,
.team-choice-group legend {
  display: block;
  margin-bottom: 7px;
  color: #344b44;
  font-size: 12px;
  font-weight: 760;
}

.team-field input,
.team-field select,
.team-field textarea {
  width: 100%;
  min-height: 45px;
  padding: 0 12px;
  border: 1px solid #d7e0da;
  border-radius: 9px;
  outline: 0;
  background: #fdfefd;
  color: #283b35;
  font: inherit;
  font-size: 14px;
}

.team-field textarea {
  padding-block: 10px;
  resize: vertical;
  line-height: 1.5;
}

.team-field input:focus,
.team-field select:focus,
.team-field textarea:focus {
  border-color: #76a08e;
  box-shadow: 0 0 0 3px rgba(73, 126, 103, 0.12);
}

.team-field input:disabled {
  background: #f1f3f2;
  color: #7d8883;
}

.team-field small,
.team-choice-group > small {
  display: block;
  margin-top: 5px;
  color: #a34e34;
  font-size: 9px;
  font-weight: 700;
}

.team-choice-group {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 19px 0 0;
  padding: 0;
  border: 0;
}

.team-choice-group legend { width: 100%; }

.team-choice-group label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 10px;
  border: 1px solid #dce4df;
  border-radius: 8px;
  color: #5e6f67;
  cursor: pointer;
  font-size: 11px;
  font-weight: 690;
}

.team-choice-group label:has(input:checked) {
  border-color: #a9c5b6;
  background: #edf5f0;
  color: #315d4a;
}

.team-choice-group input { accent-color: var(--forest-700); }

.team-color-field {
  display: grid;
  align-items: center;
  margin-top: 19px;
  grid-template-columns: 1fr auto auto;
  gap: 9px;
}

.team-color-field > span { margin: 0; }
.team-color-field input { width: 34px; height: 30px; padding: 2px; border: 1px solid #d7e0da; border-radius: 7px; background: #fff; }
.team-color-field em { color: #85918b; font-size: 9px; font-style: normal; }
.team-color-field + .team-field { margin-top: 18px; }

.team-editor form > footer,
.team-impact-panel footer {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 22px;
}

.team-editor__risk-header { background: linear-gradient(145deg, #fff4ed, #fffaf7) !important; }

.team-impact-panel { padding: 22px 24px 24px; }

.team-impact {
  display: grid;
  align-items: center;
  margin-bottom: 9px;
  padding: 12px 14px;
  border: 1px solid #dee6e1;
  border-radius: 9px;
  background: #f8faf9;
  grid-template-columns: 36px 1fr;
  gap: 10px;
}

.team-impact strong { color: #365146; font-size: 21px; }
.team-impact span { color: #68766f; font-size: 11px; }

.team-impact--blocking {
  border-color: #edcdbd;
  background: #fff5ef;
}

.team-impact--blocking strong,
.team-impact--blocking span { color: #955a42; }

.team-impact-panel > p {
  margin: 10px 0 16px;
  color: #825b4b;
  font-size: 11px;
  line-height: 1.55;
}

.team-danger-action {
  min-height: 43px;
  padding: 0 15px;
  border: 0;
  border-radius: 9px;
  background: #99573e;
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-size: 11px;
  font-weight: 760;
}

.team-danger-action:disabled { cursor: not-allowed; opacity: 0.45; }

.clinical-guidance {
  margin: 22px;
  padding: 17px;
  border-radius: 10px;
  background: #f2f6f3;
}

.clinical-guidance strong { color: #355248; font-size: 12px; }
.clinical-guidance p { margin: 7px 0 0; color: #68766f; font-size: 11px; line-height: 1.6; }

@media (max-width: 1260px) {
  .team-workspace { padding-inline: 28px; }
  .team-layout,
  .team-layout--clinical { grid-template-columns: 1fr; }
  .team-editor { position: static; }
}

@media (max-width: 920px) {
  .team-summary { grid-template-columns: repeat(3, 1fr); }
  .team-search { grid-column: 1 / -1; }
  .professional-row { grid-template-columns: minmax(250px, 1.3fr) minmax(160px, 0.8fr) auto; }
  .professional-row__continuity { grid-column: 2; }
  .professional-row__actions { grid-column: 3; grid-row: 1 / span 2; }
}

@media (max-width: 680px) {
  .team-workspace { padding: 24px 14px 44px; }
  .configuration-tabs { width: 100%; }
  .configuration-tabs a { min-width: 0; flex: 1; }
  .team-heading { min-height: 0; flex-direction: column; }
  .team-heading .locations-primary-action { width: 100%; }
  .team-summary { margin-top: 28px; grid-template-columns: 1fr 1fr 1fr; }
  .team-metric { padding-inline: 13px; }
  .team-metric span { font-size: 8px; }
  .team-metric strong { font-size: 24px; }
  .professional-row { grid-template-columns: 1fr; padding: 20px 4px; }
  .professional-row__continuity,
  .professional-row__actions { grid-column: auto; grid-row: auto; flex-direction: row; }
  .team-roster > header { align-items: flex-start; flex-direction: column; }
  .team-roster > header > span { text-align: left; }
  .team-form-grid { grid-template-columns: 1fr; }
  .team-field--wide { grid-column: auto; }
}

/* Professional availability */
.schedule-workspace { width: 100%; padding: 30px 40px 64px; }
.schedule-heading { display: flex; min-height: 96px; align-items: center; justify-content: space-between; gap: 28px; }
.schedule-heading__identity { display: flex; min-width: 0; align-items: center; gap: 15px; }
.schedule-back {
  display: grid;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid #d8e2dc;
  border-radius: 11px;
  background: #fff;
  color: #48685b;
  font-size: 20px;
  text-decoration: none;
}
.schedule-avatar {
  display: grid;
  width: 58px;
  height: 58px;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--professional-color) 28%, white);
  border-radius: 15px;
  background: color-mix(in srgb, var(--professional-color) 13%, white);
  color: var(--professional-color);
  font-size: 15px;
  font-weight: 830;
}
.schedule-heading p,
.schedule-heading h1,
.schedule-heading span { margin: 0; }
.schedule-heading p {
  margin-bottom: 4px;
  color: var(--clay-600);
  font-size: 12px;
  font-weight: 820;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}
.schedule-heading h1 {
  overflow: hidden;
  color: #213b33;
  font-size: clamp(27px, 2.6vw, 39px);
  font-weight: 780;
  letter-spacing: -0.045em;
  line-height: 1.06;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.schedule-heading h1 + span { display: block; margin-top: 6px; color: #75817c; font-size: 13px; }
.schedule-save { min-width: 166px; }
.schedule-location-tabs {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  margin-top: 18px;
  padding: 13px 15px 13px 20px;
  border: 1px solid #dce5df;
  border-radius: 12px;
  background: #fff;
}
.schedule-location-tabs > span { color: #5f7068; font-size: 13px; font-weight: 770; }
.schedule-location-tabs > div { display: flex; flex-wrap: wrap; gap: 6px; }
.schedule-location-tabs a { padding: 9px 14px; border-radius: 8px; color: #68776f; font-size: 13px; font-weight: 710; text-decoration: none; }
.schedule-location-tabs a.is-active { background: #eaf3ed; color: #315d4a; }
.schedule-summary {
  display: grid;
  overflow: hidden;
  margin-top: 14px;
  border: 1px solid #dce5df;
  border-radius: 12px;
  background: #fff;
  grid-template-columns: repeat(4, 1fr);
}
.schedule-summary > div { display: flex; min-height: 82px; flex-direction: column; justify-content: center; padding: 15px 22px; border-right: 1px solid #e5ece7; }
.schedule-summary > div:last-child { border-right: 0; }
.schedule-summary strong { color: #29453b; font-size: 24px; font-weight: 780; letter-spacing: -0.035em; }
.schedule-summary span { margin-top: 4px; color: #7f8c86; font-size: 12px; font-weight: 650; }
.schedule-layout { display: grid; align-items: start; margin-top: 18px; grid-template-columns: minmax(620px, 1.55fr) minmax(365px, 0.72fr); gap: 18px; }
.weekly-schedule,
.schedule-exceptions {
  overflow: hidden;
  border: 1px solid #dce5df;
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 7px 22px rgba(24, 57, 49, 0.035);
}
.weekly-schedule > header,
.schedule-exceptions > header {
  display: flex;
  min-height: 100px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 23px;
  border-bottom: 1px solid #e5ece7;
  background: #fbfcfb;
}
.weekly-schedule header p,
.weekly-schedule header h2,
.weekly-schedule header span,
.schedule-exceptions header p,
.schedule-exceptions header h2,
.schedule-exceptions header span { margin: 0; }
.weekly-schedule header p,
.schedule-exceptions header p { color: #a36b4b; font-size: 11px; font-weight: 820; letter-spacing: 0.075em; text-transform: uppercase; }
.weekly-schedule header h2,
.schedule-exceptions header h2 { margin-top: 5px; color: #263f36; font-size: 20px; font-weight: 780; letter-spacing: -0.025em; }
.weekly-schedule header span,
.schedule-exceptions header span { display: block; margin-top: 5px; color: #7c8882; font-size: 12px; line-height: 1.5; }
.weekly-schedule header button,
.schedule-exceptions header button {
  min-height: 37px;
  padding: 0 12px;
  border: 1px solid #cbdad2;
  border-radius: 8px;
  background: #fff;
  color: #3c6754;
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  font-weight: 750;
  white-space: nowrap;
}
.weekly-schedule header button:disabled { cursor: not-allowed; opacity: 0.45; }
.weekly-schedule__days { padding: 8px 17px 17px; }
.schedule-day { display: grid; min-height: 84px; align-items: center; padding: 12px 7px; border-bottom: 1px solid #e8eeea; grid-template-columns: 128px minmax(280px, 1fr) 116px; gap: 12px; }
.schedule-day:last-child { border-bottom: 0; }
.schedule-day__name { display: grid; grid-template-columns: 34px 1fr; align-items: center; gap: 2px 8px; }
.schedule-day__name > span {
  display: grid;
  width: 34px;
  height: 34px;
  grid-row: 1 / span 2;
  place-items: center;
  border-radius: 9px;
  background: #f0f3f1;
  color: #7f8b85;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}
.schedule-day--active .schedule-day__name > span { background: #e4f1e9; color: #39705a; }
.schedule-day__name strong { color: #354b43; font-size: 14px; font-weight: 760; }
.schedule-day__name em { color: #929c97; font-size: 10px; font-style: normal; }
.schedule-day__blocks { display: flex; min-width: 0; flex-wrap: wrap; gap: 7px; }
.schedule-time-block { display: flex; align-items: flex-end; gap: 6px; padding: 7px 8px; border: 1px solid #dbe5df; border-radius: 9px; background: #f8faf9; }
.schedule-time-block label > span { display: block; margin-bottom: 3px; color: #8a9690; font-size: 10px; font-weight: 750; text-transform: uppercase; }
.schedule-time-block input { width: 100px; border: 0; outline: 0; background: transparent; color: #2d493f; font: inherit; font-size: 13px; font-weight: 730; }
.schedule-time-block i { padding-bottom: 3px; color: #a7afab; font-size: 10px; font-style: normal; }
.schedule-time-block button { width: 25px; height: 25px; margin-left: 2px; border: 0; border-radius: 6px; background: #eef1ef; color: #829088; cursor: pointer; font-size: 17px; }
.schedule-day__empty { align-self: center; color: #a0aaa5; font-size: 12px; font-style: italic; }
.schedule-add-block { min-height: 36px; padding: 0 10px; border: 1px dashed #bfcfc7; border-radius: 8px; background: transparent; color: #4c7161; cursor: pointer; font: inherit; font-size: 11px; font-weight: 740; }
.schedule-exceptions { position: sticky; top: 94px; }
.schedule-exceptions > header { align-items: flex-end; background: linear-gradient(145deg, #f4f8f5, #fbfcfb); }
.schedule-exceptions__list { max-height: 655px; overflow-y: auto; padding: 14px; }
.schedule-exception { display: grid; margin-bottom: 10px; padding: 14px; border: 1px solid #dce5df; border-radius: 10px; background: #fff; grid-template-columns: 30px 1fr 1fr; gap: 10px; }
.schedule-exception__number { color: #b37b5a; font-size: 12px; font-weight: 800; }
.schedule-exception label > span { display: block; margin-bottom: 5px; color: #687971; font-size: 10px; font-weight: 760; text-transform: uppercase; }
.schedule-exception input { width: 100%; min-height: 41px; padding: 0 9px; border: 1px solid #dce4df; border-radius: 7px; outline: 0; color: #324b42; font: inherit; font-size: 12px; }
.schedule-exception input:focus { border-color: #79a18f; box-shadow: 0 0 0 3px rgba(73, 126, 103, 0.1); }
.schedule-exception__reason { grid-column: 2 / -1; }
.schedule-exception > button { grid-column: 2 / -1; justify-self: end; padding: 0; border: 0; background: none; color: #a06449; cursor: pointer; font: inherit; font-size: 11px; font-weight: 740; }
.schedule-exceptions__empty { padding: 68px 24px; color: #85918b; text-align: center; }
.schedule-exceptions__empty > span { display: block; margin-bottom: 10px; color: #86a494; font-size: 28px; }
.schedule-exceptions__empty strong { color: #405b50; font-size: 14px; }
.schedule-exceptions__empty p { max-width: 250px; margin: 7px auto 0; font-size: 12px; line-height: 1.55; }
.schedule-exceptions > footer { padding: 17px 20px 19px; border-top: 1px solid #e5ece7; background: #fafcfb; }
.schedule-exceptions > footer span { color: #8b9691; font-size: 9px; font-weight: 760; text-transform: uppercase; }
.schedule-exceptions > footer strong { display: block; margin-top: 3px; color: #3b584c; font-size: 12px; }
.schedule-exceptions > footer p { margin: 9px 0 0; color: #84908a; font-size: 11px; line-height: 1.5; }
.schedule-conflicts { margin-top: 13px; padding: 17px 19px; border: 1px solid #e6bca8; border-radius: 11px; background: #fff7f2; }
.schedule-conflicts > header { display: flex; align-items: flex-start; gap: 10px; }
.schedule-conflicts > header > span { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 50%; background: #b46647; color: #fff; font-size: 11px; font-weight: 800; }
.schedule-conflicts h2 { margin: 0; color: #824b38; font-size: 14px; }
.schedule-conflicts p { margin: 4px 0 0; color: #986955; font-size: 11px; }
.schedule-conflicts > div { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 13px; }
.schedule-conflicts article { min-width: 215px; padding: 10px 12px; border-radius: 8px; background: #fff; }
.schedule-conflicts article > * { display: block; }
.schedule-conflicts time { color: #a06449; font-size: 9px; font-weight: 780; text-transform: uppercase; }
.schedule-conflicts strong { margin-top: 3px; color: #4e514d; font-size: 11px; }
.schedule-conflicts article span { margin-top: 2px; color: #8c8b85; font-size: 9px; }

@media (max-width: 1260px) {
  .schedule-workspace { padding-inline: 28px; }
  .schedule-layout { grid-template-columns: 1fr; }
  .schedule-exceptions { position: static; }
}

@media (max-width: 920px) {
  .schedule-summary { grid-template-columns: 1fr 1fr; }
  .schedule-summary > div:nth-child(2) { border-right: 0; }
  .schedule-summary > div:nth-child(-n+2) { border-bottom: 1px solid #e5ece7; }
  .schedule-day { grid-template-columns: 112px 1fr; }
  .schedule-add-block { grid-column: 2; justify-self: start; }
}

@media (max-width: 680px) {
  .schedule-workspace { padding: 22px 14px 44px; }
  .schedule-heading { align-items: flex-start; flex-direction: column; }
  .schedule-heading__identity { align-items: flex-start; }
  .schedule-avatar { display: none; }
  .schedule-heading h1 { white-space: normal; }
  .schedule-save { width: 100%; }
  .schedule-location-tabs { align-items: flex-start; flex-direction: column; }
  .schedule-location-tabs > div { width: 100%; }
  .schedule-location-tabs a { flex: 1; text-align: center; }
  .schedule-summary > div { min-height: 72px; padding-inline: 14px; }
  .weekly-schedule > header,
  .schedule-exceptions > header { align-items: flex-start; flex-direction: column; }
  .schedule-day { grid-template-columns: 1fr; padding-block: 18px; }
  .schedule-day__name { max-width: 140px; }
  .schedule-add-block { grid-column: auto; }
  .schedule-time-block { width: 100%; }
  .schedule-time-block label { flex: 1; }
  .schedule-time-block input { width: 100%; }
  .schedule-exception { grid-template-columns: 28px 1fr; }
  .schedule-exception label,
  .schedule-exception__reason,
  .schedule-exception > button { grid-column: 2; }
}

/* Patient identity directory */
.patients-workspace { width: 100%; padding: 30px 40px 64px; }
.patients-heading { display: flex; min-height: 110px; align-items: flex-start; justify-content: space-between; gap: 30px; }
.patients-heading p,
.patients-heading h1,
.patients-heading span { margin: 0; }
.patients-heading p { margin-bottom: 7px; color: var(--clay-600); font-size: 12px; font-weight: 820; letter-spacing: 0.08em; text-transform: uppercase; }
.patients-heading h1 { color: var(--forest-950); font-size: clamp(38px, 3.2vw, 50px); font-weight: 780; letter-spacing: -0.052em; line-height: 1.03; }
.patients-heading h1 + span { display: block; max-width: 720px; margin-top: 11px; color: #66736e; font-size: 15px; line-height: 1.6; }
.patients-summary {
  display: grid;
  overflow: hidden;
  margin-top: 10px;
  border: 1px solid #dce5df;
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 7px 22px rgba(24, 57, 49, 0.04);
  grid-template-columns: repeat(3, minmax(145px, 0.42fr)) minmax(370px, 1.55fr);
}
.patients-summary > div { display: flex; min-height: 96px; flex-direction: column; justify-content: center; padding: 17px 22px; border-right: 1px solid #e5ece7; }
.patients-summary > div strong { color: #263f36; font-size: 29px; font-weight: 780; letter-spacing: -0.04em; }
.patients-summary > div span { margin-top: 3px; color: #7d8984; font-size: 12px; font-weight: 680; }
.patients-search { display: flex; align-items: center; gap: 10px; margin: 18px; padding: 0 9px 0 15px; border: 1px solid #d7e1db; border-radius: 10px; background: #fafcfb; }
.patients-search > span { color: #6f8c7e; font-size: 25px; }
.patients-search input { width: 100%; height: 54px; border: 0; outline: 0; background: transparent; color: #2d423a; font: inherit; font-size: 14px; }
.patients-search button { min-height: 39px; padding: 0 16px; border: 0; border-radius: 8px; background: #315f4e; color: #fff; cursor: pointer; font: inherit; font-size: 12px; font-weight: 760; }
.patients-layout { display: grid; align-items: start; margin-top: 18px; grid-template-columns: minmax(0, 1.5fr) minmax(430px, 0.75fr); gap: 18px; }
.patients-directory,
.patient-editor { overflow: hidden; border: 1px solid #dce5df; border-radius: 13px; background: #fff; box-shadow: 0 7px 22px rgba(24, 57, 49, 0.04); }
.patients-directory > header { display: flex; min-height: 88px; align-items: center; justify-content: space-between; gap: 22px; padding: 18px 23px; border-bottom: 1px solid #e5ece7; }
.patients-directory > header h2,
.patients-directory > header p { margin: 0; }
.patients-directory > header h2 { color: #263f36; font-size: 20px; font-weight: 780; letter-spacing: -0.025em; }
.patients-directory > header p { margin-top: 5px; color: #7f8b85; font-size: 12px; }
.patients-directory > header > span { color: #8b9691; font-size: 11px; font-weight: 710; }
.patients-list { padding: 8px 14px 14px; }
.patient-row { display: grid; min-height: 124px; align-items: center; padding: 16px 8px; border-bottom: 1px solid #e8eeea; grid-template-columns: minmax(250px, 1.35fr) minmax(180px, 0.85fr) minmax(110px, 0.48fr) auto; gap: 17px; }
.patient-row:last-child { border-bottom: 0; }
.patient-row--selected { margin-inline: -4px; padding-inline: 12px; border-bottom-color: transparent; border-radius: 10px; background: #f0f6f2; }
.patient-row__identity { display: flex; min-width: 0; align-items: center; gap: 13px; }
.patient-avatar { display: grid; width: 50px; height: 50px; flex: 0 0 auto; place-items: center; border-radius: 14px; background: #e5f0e9; color: #3e765e; font-size: 13px; font-weight: 820; letter-spacing: 0.03em; }
.patient-row__identity > div { min-width: 0; }
.patient-row__name { display: flex; min-width: 0; align-items: center; gap: 7px; }
.patient-row__name h3 { overflow: hidden; margin: 0; color: #294239; font-size: 15px; font-weight: 770; text-overflow: ellipsis; white-space: nowrap; }
.patient-row__name em { padding: 3px 6px; border-radius: 999px; background: #fff0e6; color: #9b6245; font-size: 9px; font-style: normal; font-weight: 800; text-transform: uppercase; }
.patient-row__identity p { overflow: hidden; margin: 4px 0 0; color: #718079; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.patient-row__identity small { display: block; margin-top: 5px; color: #8c9892; font-size: 10px; font-weight: 720; letter-spacing: 0.04em; text-transform: uppercase; }
.patient-row__contact,
.patient-row__age { min-width: 0; }
.patient-row__contact > span,
.patient-row__age > span { display: block; margin-bottom: 6px; color: #8c9792; font-size: 10px; font-weight: 760; letter-spacing: 0.045em; text-transform: uppercase; }
.patient-row__contact strong,
.patient-row__age strong { display: block; overflow: hidden; color: #40564d; font-size: 13px; font-weight: 720; text-overflow: ellipsis; white-space: nowrap; }
.patient-row__contact small,
.patient-row__age small { display: block; overflow: hidden; margin-top: 4px; color: #8d9893; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.patient-row > button { min-height: 38px; padding: 0 12px; border: 1px solid #bed1c7; border-radius: 8px; background: #f1f7f3; color: #386651; cursor: pointer; font: inherit; font-size: 11px; font-weight: 760; }
.patients-empty { padding: 92px 28px; color: #819089; text-align: center; }
.patients-empty > span { display: block; color: #88a394; font-size: 33px; }
.patients-empty strong { display: block; margin-top: 9px; color: #354f45; font-size: 17px; }
.patients-empty p { max-width: 350px; margin: 7px auto 17px; font-size: 12px; line-height: 1.55; }
.patients-empty button { min-height: 38px; padding: 0 15px; border: 1px solid #bdd0c6; border-radius: 8px; background: #fff; color: #37634f; cursor: pointer; font: inherit; font-size: 12px; font-weight: 750; }
.patient-editor { position: sticky; top: 94px; }
.patient-editor > header { padding: 24px 25px 21px; border-bottom: 1px solid #e5ece7; background: linear-gradient(145deg, #f0f6f2, #fbfcfb); }
.patient-editor > header > span { color: var(--clay-600); font-size: 11px; font-weight: 820; letter-spacing: 0.08em; text-transform: uppercase; }
.patient-editor > header h2 { margin: 7px 0 0; color: #223d34; font-size: 24px; font-weight: 780; letter-spacing: -0.035em; line-height: 1.15; }
.patient-editor > header p { margin: 8px 0 0; color: #697770; font-size: 12px; line-height: 1.6; }
.patient-editor > form { max-height: calc(100vh - 245px); overflow-y: auto; padding: 20px 23px 23px; }
.patient-form-section { margin-bottom: 21px; padding-bottom: 20px; border-bottom: 1px solid #e5ece7; }
.patient-form-section__heading { display: flex; align-items: center; gap: 10px; margin-bottom: 15px; }
.patient-form-section__heading > span { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 8px; background: #e7f1eb; color: #47725f; font-size: 9px; font-weight: 820; }
.patient-form-section__heading strong,
.patient-form-section__heading small { display: block; }
.patient-form-section__heading strong { color: #314a40; font-size: 13px; font-weight: 780; }
.patient-form-section__heading small { margin-top: 2px; color: #8a9690; font-size: 10px; }
.patient-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 11px; }
.patient-field { display: block; }
.patient-field--wide { grid-column: 1 / -1; }
.patient-field > span { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 6px; color: #344b43; font-size: 12px; font-weight: 750; }
.patient-field > span em { color: #98a29d; font-size: 9px; font-style: normal; font-weight: 650; }
.patient-field input,
.patient-field select,
.patient-field textarea { width: 100%; min-height: 45px; padding: 0 11px; border: 1px solid #d7e0da; border-radius: 9px; outline: 0; background: #fdfefd; color: #293f37; font: inherit; font-size: 13px; }
.patient-field textarea { padding-block: 10px; resize: vertical; line-height: 1.5; }
.patient-field input:focus,
.patient-field select:focus,
.patient-field textarea:focus { border-color: #75a08d; box-shadow: 0 0 0 3px rgba(73, 126, 103, 0.11); }
.patient-field > small { display: block; margin-top: 5px; color: #a14e34; font-size: 10px; font-weight: 700; }
.patient-minor-notice { margin-top: 13px; padding: 11px 13px; border: 1px solid #ebcfb8; border-radius: 8px; background: #fff8f1; }
.patient-minor-notice strong,
.patient-minor-notice span { display: block; }
.patient-minor-notice strong { color: #8d5b40; font-size: 11px; }
.patient-minor-notice span { margin-top: 4px; color: #9a7764; font-size: 10px; line-height: 1.45; }
.patient-emergency { margin: -3px 0 19px; padding: 0 13px 14px; border: 1px solid #dfe6e2; border-radius: 9px; background: #fafcfb; }
.patient-emergency summary { padding: 13px 0; color: #40574e; cursor: pointer; font-size: 12px; font-weight: 760; }
.patient-emergency summary span { float: right; color: #98a29d; font-size: 9px; font-weight: 650; text-transform: uppercase; }
.patient-editor form > footer { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding-top: 3px; }
.patient-editor form > footer > span { max-width: 220px; color: #84908a; font-size: 10px; line-height: 1.5; }
.patient-editor form > footer .locations-primary-action { flex: 0 0 auto; }

@media (max-width: 1500px) {
  .patient-row { grid-template-columns: minmax(225px, 1.25fr) minmax(155px, 0.75fr) auto; }
  .patient-row__age { grid-column: 2; }
  .patient-row > button { grid-column: 3; grid-row: 1 / span 2; }
}

@media (max-width: 1280px) {
  .patients-workspace { padding-inline: 28px; }
  .patients-layout { grid-template-columns: 1fr; }
  .patient-editor { position: static; }
  .patient-editor > form { max-height: none; }
}

@media (max-width: 920px) {
  .patients-summary { grid-template-columns: repeat(3, 1fr); }
  .patients-search { grid-column: 1 / -1; }
  .patient-row { grid-template-columns: minmax(240px, 1.3fr) minmax(170px, 0.8fr) auto; }
  .patient-row__age { grid-column: 2; }
  .patient-row > button { grid-column: 3; grid-row: 1 / span 2; }
}

@media (max-width: 680px) {
  .patients-workspace { padding: 22px 14px 44px; }
  .patients-heading { min-height: 0; flex-direction: column; }
  .patients-heading .locations-primary-action { width: 100%; }
  .patients-summary { margin-top: 27px; grid-template-columns: 1fr 1fr 1fr; }
  .patients-summary > div { min-height: 82px; padding-inline: 11px; }
  .patients-summary > div strong { font-size: 24px; }
  .patients-summary > div span { font-size: 9px; }
  .patients-search { margin: 11px; }
  .patient-row { grid-template-columns: 1fr; padding: 20px 4px; }
  .patient-row__age,
  .patient-row > button { grid-column: auto; grid-row: auto; }
  .patient-row > button { width: 100%; }
  .patient-form-grid { grid-template-columns: 1fr; }
  .patient-field--wide { grid-column: auto; }
  .patient-editor form > footer { align-items: stretch; flex-direction: column; }
  .patient-editor form > footer > span { max-width: none; }
  .patient-editor form > footer .locations-primary-action { width: 100%; }
}

/* Minor guardian and consent requirements */
.consent-template-configuration {
  margin-top: 12px;
  border: 1px solid #dedfd3;
  border-radius: 11px;
  background: #fffdf7;
}
.consent-template-configuration > summary {
  display: flex;
  min-height: 52px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 0 17px;
  color: #69746d;
  cursor: pointer;
  font-size: 12px;
  list-style: none;
}
.consent-template-configuration > summary::-webkit-details-marker { display: none; }
.consent-template-configuration > summary strong { margin-left: 6px; color: #3c5c4e; font-size: 13px; }
.consent-template-configuration > summary em { color: #a36a4b; font-size: 11px; font-style: normal; font-weight: 760; }
.consent-template-configuration > form {
  display: grid;
  align-items: end;
  padding: 17px;
  border-top: 1px solid #e9e6da;
  grid-template-columns: minmax(290px, 1fr) 160px minmax(260px, 0.7fr) auto;
  gap: 14px;
}
.consent-template-configuration form > div > strong { color: #334d42; font-size: 14px; }
.consent-template-configuration form > div > p { max-width: 560px; margin: 5px 0 0; color: #78837d; font-size: 11px; line-height: 1.5; }
.consent-template-configuration form > button,
.guardian-card footer button,
.consent-submit {
  min-height: 43px;
  padding: 0 15px;
  border: 0;
  border-radius: 9px;
  background: #315f4e;
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  font-weight: 760;
  white-space: nowrap;
}
.consent-template-configuration form > button:disabled,
.guardian-card footer button:disabled,
.consent-submit:disabled { cursor: not-allowed; opacity: 0.45; }

.patient-requirements {
  overflow: hidden;
  margin-top: 20px;
  border: 1px solid #d9e3dd;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 26px rgba(24, 57, 49, 0.045);
}
.patient-requirements > header {
  display: flex;
  min-height: 98px;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 20px 24px;
  border-bottom: 1px solid #e2e9e5;
  background: linear-gradient(120deg, #fff7f0 0%, #fffdf9 48%, #f5f9f6 100%);
}
.patient-requirements__status { display: flex; align-items: center; gap: 13px; }
.patient-requirements__status > span {
  display: grid;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 12px;
  background: #f3d9c8;
  color: #9a5b3c;
  font-size: 17px;
  font-weight: 830;
}
.patient-requirements__status.is-ready > span { background: #dcece3; color: #3d735a; }
.patient-requirements__status p,
.patient-requirements__status h2 { margin: 0; }
.patient-requirements__status p { color: #a16446; font-size: 10px; font-weight: 820; letter-spacing: 0.08em; text-transform: uppercase; }
.patient-requirements__status h2 { margin-top: 5px; color: #29433a; font-size: 21px; font-weight: 780; letter-spacing: -0.025em; }
.patient-requirements__summary { max-width: 480px; text-align: right; }
.patient-requirements__summary > * { display: block; }
.patient-requirements__summary span { color: #596a62; font-size: 13px; font-weight: 720; }
.patient-requirements__summary strong { margin-top: 4px; color: #354f44; font-size: 12px; }
.patient-requirements__summary small { margin-top: 5px; color: #a36347; font-size: 11px; line-height: 1.4; }
.patient-requirements__grid {
  display: grid;
  align-items: start;
  padding: 18px;
  grid-template-columns: minmax(380px, 1fr) minmax(390px, 1fr) minmax(255px, 0.65fr);
  gap: 15px;
}
.guardian-card,
.consent-card,
.consent-history {
  min-height: 100%;
  padding: 20px;
  border: 1px solid #e0e7e3;
  border-radius: 11px;
  background: #fcfdfc;
}
.requirement-card-heading { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; }
.requirement-card-heading > span { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 8px; background: #e5f0e9; color: #47735f; font-size: 9px; font-weight: 830; }
.requirement-card-heading strong,
.requirement-card-heading small { display: block; }
.requirement-card-heading strong { color: #304a3f; font-size: 14px; font-weight: 780; }
.requirement-card-heading small { margin-top: 2px; color: #8a9690; font-size: 10px; }
.guardian-card footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 18px; padding-top: 17px; border-top: 1px solid #e3e9e6; }
.guardian-card footer span { max-width: 220px; color: #85918b; font-size: 10px; line-height: 1.45; }
.consent-card__blocked { padding: 58px 25px; border: 1px dashed #dfd2c7; border-radius: 10px; background: #fffaf6; text-align: center; }
.consent-card__blocked > span { display: grid; width: 32px; height: 32px; margin: 0 auto 10px; place-items: center; border-radius: 50%; background: #f1dfd1; color: #966047; font-size: 11px; font-weight: 800; }
.consent-card__blocked strong { color: #5d514a; font-size: 14px; }
.consent-card__blocked p { max-width: 300px; margin: 6px auto 0; color: #887a71; font-size: 11px; line-height: 1.55; }
.consent-current { display: grid; align-items: center; margin-bottom: 16px; padding: 13px; border: 1px solid #e0e6e2; border-radius: 9px; background: #fff; grid-template-columns: auto 1fr auto; gap: 11px; }
.consent-current > span { padding: 5px 8px; border-radius: 999px; background: #fff0e7; color: #9c6044; font-size: 9px; font-weight: 820; text-transform: uppercase; }
.consent-current > span.is-ready { background: #e1f0e7; color: #3d735a; }
.consent-current strong,
.consent-current small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.consent-current strong { color: #3d5148; font-size: 11px; }
.consent-current small { margin-top: 3px; color: #89948f; font-size: 9px; }
.consent-current a { color: #3d6c58; font-size: 10px; font-weight: 770; text-decoration: none; }
.consent-dates { display: grid; margin-bottom: 13px; grid-template-columns: 1fr 1fr; gap: 10px; }
.consent-dropzone { display: flex; min-height: 86px; align-items: center; gap: 13px; padding: 14px; border: 1px dashed #bfcfc7; border-radius: 10px; background: #f8fbf9; cursor: pointer; }
.consent-dropzone.has-file { border-style: solid; border-color: #9ebdab; background: #f2f8f4; }
.consent-dropzone input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
.consent-dropzone > span { display: grid; width: 36px; height: 36px; flex: 0 0 auto; place-items: center; border-radius: 9px; background: #e3efe8; color: #47745f; font-size: 18px; }
.consent-dropzone strong,
.consent-dropzone small { display: block; }
.consent-dropzone strong { overflow: hidden; max-width: 290px; color: #3a5147; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.consent-dropzone small { margin-top: 4px; color: #8a9690; font-size: 9px; }
.consent-upload-error { margin: 7px 0 0; color: #a34e34; font-size: 10px; font-weight: 720; }
.consent-submit { width: 100%; margin-top: 12px; }
.consent-refresh { width: 100%; margin-top: 7px; padding: 8px; border: 0; background: none; color: #47725f; cursor: pointer; font: inherit; font-size: 10px; font-weight: 740; }
.consent-revoke { margin-top: 13px; padding-top: 12px; border-top: 1px solid #e3e9e6; text-align: right; }
.consent-revoke > button { border: 0; background: none; color: #9e6248; cursor: pointer; font: inherit; font-size: 10px; font-weight: 740; }
.consent-revoke > div { display: grid; align-items: end; grid-template-columns: 1fr auto; gap: 9px; text-align: left; }
.consent-revoke > div > button { min-height: 43px; padding: 0 11px; border: 0; border-radius: 8px; background: #98573f; color: #fff; cursor: pointer; font: inherit; font-size: 10px; font-weight: 740; }
.consent-revoke > div > button:disabled { cursor: not-allowed; opacity: 0.45; }
.consent-history { background: #f8faf9; }
.consent-history article { position: relative; margin-bottom: 9px; padding: 12px; border: 1px solid #e0e6e2; border-radius: 8px; background: #fff; }
.consent-history article > * { display: block; }
.consent-history article strong { margin-top: 8px; color: #3c5148; font-size: 12px; }
.consent-history article small { margin-top: 3px; color: #89948f; font-size: 9px; }
.consent-history article p { margin: 7px 0 0; color: #876d60; font-size: 9px; line-height: 1.45; }
.consent-history__state { width: fit-content; padding: 4px 6px; border-radius: 999px; background: #e5f0e9; color: #44745e; font-size: 8px; font-weight: 820; text-transform: uppercase; }
.consent-history__state--superseded { background: #edf0ee; color: #708079; }
.consent-history__state--revoked { background: #f7e7df; color: #9b6046; }
.consent-history__empty { padding: 48px 15px; text-align: center; }
.consent-history__empty > * { display: block; }
.consent-history__empty > span { color: #8ba294; font-size: 27px; }
.consent-history__empty strong { margin-top: 8px; color: #41564d; font-size: 13px; }
.consent-history__empty p { margin: 6px 0 0; color: #89948f; font-size: 10px; line-height: 1.55; }

@media (max-width: 1440px) {
  .patient-requirements__grid { grid-template-columns: 1fr 1fr; }
  .consent-history { grid-column: 1 / -1; }
  .consent-history > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
  .consent-history article { margin-bottom: 0; }
}

@media (max-width: 1080px) {
  .consent-template-configuration > form { grid-template-columns: 1fr 1fr; }
  .consent-template-configuration form > div { grid-column: 1 / -1; }
  .patient-requirements__grid { grid-template-columns: 1fr; }
  .consent-history { grid-column: auto; }
  .consent-history > div { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 680px) {
  .consent-template-configuration > summary { align-items: flex-start; flex-direction: column; justify-content: center; padding-block: 12px; }
  .consent-template-configuration > form { grid-template-columns: 1fr; }
  .consent-template-configuration form > div { grid-column: auto; }
  .patient-requirements > header { align-items: flex-start; flex-direction: column; }
  .patient-requirements__summary { text-align: left; }
  .patient-requirements__grid { padding: 10px; }
  .guardian-card,
  .consent-card,
  .consent-history { padding: 16px; }
  .guardian-card footer { align-items: stretch; flex-direction: column; }
  .consent-dates { grid-template-columns: 1fr; }
  .consent-current { grid-template-columns: auto 1fr; }
  .consent-current a { grid-column: 2; }
  .consent-revoke > div { grid-template-columns: 1fr; }
  .consent-history > div { grid-template-columns: 1fr; }
}

/* Patient payer and dependent management */
.patient-payers {
  overflow: hidden;
  margin-top: 22px;
  border: 1px solid #d8e2dc;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 26px rgba(24, 57, 49, 0.045);
}
.patient-payers > header {
  display: flex;
  min-height: 118px;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 24px 27px;
  border-bottom: 1px solid #e2e9e5;
  background: linear-gradient(115deg, #eef6f1 0%, #fbfdfb 58%, #fff7f0 100%);
}
.patient-payers > header p,
.patient-payers > header h2,
.patient-payers > header span { margin: 0; }
.patient-payers > header p { color: #a06446; font-size: 11px; font-weight: 820; letter-spacing: 0.08em; text-transform: uppercase; }
.patient-payers > header h2 { margin-top: 5px; color: #274239; font-size: 24px; font-weight: 790; letter-spacing: -0.03em; }
.patient-payers > header > div:first-child > span { display: block; max-width: 720px; margin-top: 7px; color: #6e7e76; font-size: 13px; line-height: 1.55; }
.patient-payers__count { display: grid; width: 86px; height: 70px; flex: 0 0 auto; place-items: center; border: 1px solid #ccdcd3; border-radius: 12px; background: rgba(255, 255, 255, 0.8); }
.patient-payers__count strong { align-self: end; color: #335f4e; font-size: 25px; line-height: 1; }
.patient-payers__count span { align-self: start; color: #809087; font-size: 10px; font-weight: 720; text-transform: uppercase; }
.patient-payers__layout { display: grid; align-items: start; padding: 19px; grid-template-columns: minmax(420px, 1fr) minmax(390px, 0.9fr) minmax(270px, 0.62fr); gap: 16px; }
.payer-form,
.payer-roster,
.payer-history { min-height: 100%; padding: 21px; border: 1px solid #dfe7e2; border-radius: 12px; background: #fcfdfc; }
.payer-mode { display: grid; margin-bottom: 19px; padding: 4px; border-radius: 10px; background: #eef3f0; grid-template-columns: 1fr 1fr; gap: 4px; }
.payer-mode button { min-height: 42px; border: 0; border-radius: 8px; background: transparent; color: #708078; cursor: pointer; font: inherit; font-size: 12px; font-weight: 730; }
.payer-mode button.is-active { background: #fff; color: #315e4c; box-shadow: 0 2px 8px rgba(34, 70, 56, 0.1); }
.payer-self-preview { display: grid; min-height: 92px; align-items: center; padding: 16px; border: 1px solid #d9e5de; border-radius: 11px; background: #f5faf7; grid-template-columns: auto 1fr auto; gap: 13px; }
.payer-self-preview strong,
.payer-self-preview small { display: block; }
.payer-self-preview strong { color: #314b40; font-size: 14px; }
.payer-self-preview small { margin-top: 4px; color: #829087; font-size: 10px; font-weight: 710; text-transform: uppercase; }
.payer-self-preview em { padding: 6px 8px; border-radius: 999px; background: #dcece3; color: #3f745c; font-size: 9px; font-style: normal; font-weight: 810; text-transform: uppercase; }
.payer-form__error { margin: 12px 0 0; padding: 10px; border-radius: 8px; background: #fff0e8; color: #9d4f35; font-size: 11px; font-weight: 720; }
.payer-form > footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 19px; padding-top: 17px; border-top: 1px solid #e2e9e5; }
.payer-form > footer span { max-width: 260px; color: #819087; font-size: 10px; line-height: 1.5; }
.payer-form > footer button { min-height: 44px; padding: 0 17px; border: 0; border-radius: 9px; background: #315f4e; color: #fff; cursor: pointer; font: inherit; font-size: 12px; font-weight: 760; }
.payer-form > footer button:disabled { cursor: not-allowed; opacity: 0.48; }
.payer-card { margin-bottom: 10px; padding: 14px; border: 1px solid #dce5e0; border-radius: 10px; background: #fff; }
.payer-card__identity { display: flex; align-items: center; gap: 11px; }
.payer-card__identity > span { display: grid; width: 39px; height: 39px; flex: 0 0 auto; place-items: center; border-radius: 10px; background: #e5f0e9; color: #44715e; font-size: 13px; font-weight: 820; }
.payer-card__identity strong,
.payer-card__identity small { display: block; }
.payer-card__identity strong { color: #30483e; font-size: 13px; }
.payer-card__identity small { margin-top: 3px; color: #88958f; font-size: 9px; font-weight: 700; text-transform: uppercase; }
.payer-card__relation { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 13px; padding-top: 11px; border-top: 1px solid #edf1ef; }
.payer-card__relation span { color: #9b6449; font-size: 11px; font-weight: 780; }
.payer-card__relation small { color: #87948e; font-size: 9px; }
.payer-card > button { display: block; margin: 10px 0 0 auto; border: 0; background: none; color: #986148; cursor: pointer; font: inherit; font-size: 10px; font-weight: 740; }
.payer-end-form { margin-top: 12px; padding-top: 12px; border-top: 1px solid #e7ece9; }
.payer-end-form > div { display: flex; justify-content: flex-end; gap: 7px; margin-top: 8px; }
.payer-end-form > div button { min-height: 34px; padding: 0 11px; border: 1px solid #cedbd4; border-radius: 7px; background: #fff; color: #53675e; cursor: pointer; font: inherit; font-size: 10px; font-weight: 740; }
.payer-end-form > div button:last-child { border-color: #985b42; background: #985b42; color: #fff; }
.payer-empty { padding: 60px 18px; color: #86938d; text-align: center; }
.payer-empty > * { display: block; }
.payer-empty > span { color: #8aa092; font-size: 27px; }
.payer-empty strong { margin-top: 8px; color: #41584e; font-size: 14px; }
.payer-empty p { max-width: 285px; margin: 6px auto 0; font-size: 10px; line-height: 1.55; }
.payer-history { background: #f8faf9; }
.payer-history article { margin-bottom: 9px; padding: 13px; border: 1px solid #e0e6e2; border-radius: 9px; background: #fff; }
.payer-history article > * { display: block; }
.payer-history article > span { width: fit-content; padding: 4px 7px; border-radius: 999px; background: #edf0ee; color: #687a71; font-size: 8px; font-weight: 810; text-transform: uppercase; }
.payer-history article strong { margin-top: 9px; color: #3b5147; font-size: 12px; }
.payer-history article small { margin-top: 3px; color: #8a9690; font-size: 9px; }
.payer-history article p { margin: 7px 0 0; color: #876d60; font-size: 9px; line-height: 1.45; }
.payer-history__empty { padding: 58px 12px; color: #8a9690; font-size: 10px; text-align: center; }

@media (max-width: 1440px) {
  .patient-payers__layout { grid-template-columns: 1fr 1fr; }
  .payer-history { grid-column: 1 / -1; }
}

@media (max-width: 1080px) {
  .patient-payers__layout { grid-template-columns: 1fr; }
  .payer-history { grid-column: auto; }
}

@media (max-width: 680px) {
  .patient-payers > header { align-items: flex-start; flex-direction: column; }
  .patient-payers__layout { padding: 10px; }
  .payer-form,
  .payer-roster,
  .payer-history { padding: 16px; }
  .payer-mode { grid-template-columns: 1fr; }
  .payer-self-preview { grid-template-columns: auto 1fr; }
  .payer-self-preview em { grid-column: 2; width: fit-content; }
  .payer-form > footer { align-items: stretch; flex-direction: column; }
  .payer-form > footer span { max-width: none; }
}

/* Appointment holds — operational agenda */

.agenda-workspace {
  width: 100%;
  padding: 34px 38px 72px;
}

.agenda-heading {
  display: flex;
  min-height: 120px;
  align-items: flex-start;
  justify-content: space-between;
  gap: 32px;
}

.agenda-heading p,
.agenda-heading h1,
.agenda-heading span { margin: 0; }

.agenda-heading .agenda-eyebrow {
  color: var(--clay-700);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.agenda-heading h1 {
  margin-top: 7px;
  color: var(--forest-950);
  font-size: clamp(35px, 3vw, 48px);
  font-weight: 780;
  letter-spacing: -0.055em;
  line-height: 1.04;
}

.agenda-heading h1 + span {
  display: block;
  max-width: 700px;
  margin-top: 12px;
  color: #68776f;
  font-size: 16px;
  line-height: 1.55;
}

.agenda-date-switcher {
  display: grid;
  min-width: 330px;
  min-height: 72px;
  align-items: center;
  border: 1px solid #dce5df;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(24, 57, 49, 0.05);
  grid-template-columns: 50px 1fr 50px;
}

.agenda-date-switcher button {
  width: 35px;
  height: 35px;
  margin: auto;
  border: 1px solid #dce4df;
  border-radius: 9px;
  background: #f8faf8;
  color: #466459;
  cursor: pointer;
  font: inherit;
  font-size: 24px;
  line-height: 1;
}

.agenda-date-switcher div { text-align: center; }
.agenda-date-switcher small,
.agenda-date-switcher strong { display: block; }
.agenda-date-switcher small { color: #89968f; font-size: 10px; font-weight: 760; text-transform: uppercase; }
.agenda-date-switcher strong { margin-top: 3px; color: #29433a; font-size: 14px; text-transform: capitalize; }

.agenda-flash {
  display: flex;
  align-items: center;
  gap: 13px;
  margin: 4px 0 19px;
  padding: 14px 17px;
  border: 1px solid #cfe3d7;
  border-radius: 12px;
  background: #eff8f2;
  color: #315f4d;
}

.agenda-flash > span {
  display: grid;
  width: 30px;
  height: 30px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  background: #d7eadf;
  font-weight: 850;
}

.agenda-flash strong,
.agenda-flash p { margin: 0; }
.agenda-flash strong { display: block; font-size: 13px; }
.agenda-flash p { margin-top: 2px; font-size: 12px; }
.agenda-flash--alert { border-color: #edcdbc; background: #fff3ec; color: #984b31; }
.agenda-flash--alert > span { background: #f8ddcf; }

.agenda-summary {
  display: grid;
  margin-top: 5px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.agenda-summary__card {
  display: flex;
  min-height: 126px;
  align-items: center;
  justify-content: space-between;
  padding: 22px 23px;
  border: 1px solid #dfe6e1;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 7px 22px rgba(24, 57, 49, 0.04);
}

.agenda-summary__card > div > * { display: block; }
.agenda-summary__card span { color: #74817b; font-size: 12px; font-weight: 670; }
.agenda-summary__card strong { margin-top: 5px; color: #243e35; font-size: 30px; font-weight: 790; letter-spacing: -0.04em; line-height: 1; }
.agenda-summary__card small { margin-top: 9px; color: #87938d; font-size: 11px; }
.agenda-summary__card i {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 13px;
  background: #e9f3ed;
  color: #39705a;
}
.agenda-summary__card i svg { width: 22px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8px; }
.agenda-summary__card--warm i { background: #f9e7dc; color: #a65234; }

.agenda-filters {
  display: grid;
  align-items: end;
  margin-top: 15px;
  padding: 17px 18px;
  border: 1px solid #dfe6e1;
  border-radius: 14px;
  background: #fff;
  grid-template-columns: minmax(150px, 0.6fr) minmax(240px, 1fr) minmax(240px, 1fr) auto;
  gap: 13px;
}

.agenda-filters label { display: grid; gap: 6px; }
.agenda-filters label > span { color: #75837c; font-size: 10px; font-weight: 760; letter-spacing: 0.05em; text-transform: uppercase; }
.agenda-filters input,
.agenda-filters select {
  width: 100%;
  height: 46px;
  padding: 0 13px;
  border: 1px solid #d4dfd8;
  border-radius: 10px;
  outline: none;
  background: #fbfcfb;
  color: #30473e;
  font: inherit;
  font-size: 13px;
}
.agenda-filters input:focus,
.agenda-filters select:focus { border-color: #749a89; box-shadow: 0 0 0 3px rgba(116, 154, 137, 0.12); }
.agenda-filters > button {
  min-height: 46px;
  padding: 0 18px;
  border: 0;
  border-radius: 10px;
  background: #315f4e;
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  font-weight: 760;
}

.agenda-layout {
  display: grid;
  align-items: start;
  margin-top: 15px;
  grid-template-columns: minmax(620px, 1.65fr) minmax(390px, 0.75fr);
  gap: 15px;
}

.agenda-board,
.hold-composer {
  border: 1px solid #dfe6e1;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 8px 26px rgba(24, 57, 49, 0.045);
}

.agenda-board__header {
  display: flex;
  min-height: 91px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 19px 23px;
  border-bottom: 1px solid #e4eae6;
}

.agenda-board__header p,
.agenda-board__header h2 { margin: 0; }
.agenda-board__header p { color: #9c6347; font-size: 10px; font-weight: 810; letter-spacing: 0.08em; text-transform: uppercase; }
.agenda-board__header h2 { margin-top: 4px; color: #284139; font-size: 20px; font-weight: 770; letter-spacing: -0.025em; }
.agenda-professional { display: flex; align-items: center; gap: 11px; }
.agenda-professional > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 11px; color: #fff; font-size: 12px; font-weight: 820; }
.agenda-professional strong,
.agenda-professional small { display: block; }
.agenda-professional strong { color: #30483f; font-size: 14px; }
.agenda-professional small { margin-top: 2px; color: #829088; font-size: 11px; }

.agenda-board__body {
  display: grid;
  min-height: 570px;
  grid-template-columns: minmax(0, 1.35fr) minmax(230px, 0.65fr);
}

.day-timeline { padding: 22px 22px 28px; border-right: 1px solid #e7ece9; }
.day-appointment {
  display: grid;
  min-height: 112px;
  align-items: start;
  padding: 12px 0;
  grid-template-columns: 50px 2px 40px minmax(0, 1fr);
  gap: 12px;
}
.day-appointment > time { padding-top: 3px; color: #6e7d75; font-size: 12px; font-weight: 790; font-variant-numeric: tabular-nums; }
.day-appointment__line { align-self: stretch; border-radius: 9px; background: #b7d0c3; }
.day-appointment--held .day-appointment__line { background: #df916d; }
.day-appointment--expired { opacity: 0.58; }
.day-appointment--expired .day-appointment__line { background: #c8cfcb; }
.day-appointment__avatar { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 12px; background: #e7f0eb; color: #426f5d; font-size: 11px; font-weight: 820; }
.day-appointment__copy { min-width: 0; padding-bottom: 15px; border-bottom: 1px solid #edf1ee; }
.day-appointment:last-child .day-appointment__copy { border-bottom: 0; }
.day-appointment__copy > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.day-appointment__copy strong { color: #2f473e; font-size: 14px; }
.day-appointment__copy p { overflow: hidden; margin: 5px 0 0; color: #62736b; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.day-appointment__copy small { display: block; margin-top: 4px; color: #8a9690; font-size: 11px; }
.agenda-state { flex: 0 0 auto; padding: 5px 8px; border-radius: 999px; background: #e6f2eb; color: #3a745a; font-size: 9px; font-weight: 820; text-transform: uppercase; }
.agenda-state--held { background: #fae7dc; color: #a85134; }
.agenda-state--expired,
.agenda-state--cancelled { background: #eef0ef; color: #717d77; }
.agenda-state--no_show { background: #f8e6de; color: #995039; }
.hold-notice { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 10px; padding: 9px 11px; border-radius: 9px; background: #fff4ed; color: #985038; font-size: 10px; }
.hold-notice strong { color: #943f26; font-size: 13px; font-variant-numeric: tabular-nums; }
.pending-admission-notice { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 10px; padding: 9px 11px; border-radius: 9px; background: #eef5f1; color: #46685b; font-size: 10px; }
.pending-admission-notice strong { color: #315f4e; font-size: 10px; }
.arrival-notice { display: flex; width: fit-content; align-items: center; gap: 7px; margin-top: 10px; padding: 8px 11px; border-radius: 9px; background: #eaf5ee; color: #2f6e51; }
.arrival-notice > span { display: grid; width: 18px; height: 18px; place-items: center; border-radius: 50%; background: #cde6d6; font-size: 10px; font-weight: 900; }
.arrival-notice strong { font-size: 10px; }
.attendance-result { width: fit-content; margin-top: 8px; padding: 6px 9px; border-radius: 8px; background: #f0f3f1; color: #66756e; font-size: 9px; font-weight: 760; }
.attendance-result--pending { background: #fff1e9; color: #9c5439; }
.appointment-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.appointment-action { min-height: 31px; padding: 6px 11px; border: 1px solid #cbdcd3; border-radius: 8px; background: #fff; color: #376453; cursor: pointer; font: inherit; font-size: 10px; font-weight: 780; }
.appointment-action:hover { border-color: #739888; background: #f2f7f4; }
.appointment-action--primary { border-color: #315f4e; background: #315f4e; color: #fff; }
.appointment-action--primary:hover { border-color: #284f41; background: #284f41; }
.appointment-action--danger { border-color: #e3bcae; color: #984d34; }
.appointment-action--danger:hover { border-color: #ce8c74; background: #fff4ee; }
.appointment-action--warm { border-color: #d9aa8f; background: #fff4ed; color: #8b462f; }

.agenda-empty { display: grid; min-height: 500px; align-content: center; justify-items: center; padding: 40px; color: #819088; text-align: center; }
.agenda-empty > span { display: grid; width: 55px; height: 55px; place-items: center; border-radius: 17px; background: #edf4ef; color: #4f7968; }
.agenda-empty svg { width: 25px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7px; }
.agenda-empty strong { margin-top: 14px; color: #3d554b; font-size: 15px; }
.agenda-empty p { max-width: 300px; margin: 7px 0 0; font-size: 11px; }

.available-slots { padding: 22px 18px; background: #fafcfb; border-radius: 0 0 15px; }
.available-slots > div:first-child p,
.available-slots > div:first-child strong { margin: 0; }
.available-slots > div:first-child p { color: #8a9690; font-size: 10px; font-weight: 790; text-transform: uppercase; }
.available-slots > div:first-child strong { display: block; margin-top: 4px; color: #3a5147; font-size: 14px; }
.slot-grid { display: grid; margin-top: 17px; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.slot-grid button { min-height: 61px; padding: 9px; border: 1px solid #d8e3dc; border-radius: 10px; background: #fff; color: #456359; cursor: pointer; font: inherit; text-align: center; }
.slot-grid button:hover { border-color: #89aa9a; background: #f4f9f6; }
.slot-grid button.is-selected { border-color: #315f4e; background: #315f4e; color: #fff; box-shadow: 0 7px 16px rgba(49, 95, 78, 0.18); }
.slot-grid strong,
.slot-grid small { display: block; }
.slot-grid strong { font-size: 13px; }
.slot-grid small { margin-top: 2px; color: #8a9690; font-size: 9px; }
.slot-grid button.is-selected small { color: #d7e8df; }
.available-slots__empty { margin: 22px 0 0; color: #87958e; font-size: 11px; line-height: 1.55; }

.hold-composer { position: sticky; top: 91px; overflow: hidden; }
.hold-composer__heading { padding: 22px 23px 18px; border-bottom: 1px solid #e4eae6; }
.hold-composer__heading span { color: #a15e40; font-size: 10px; font-weight: 820; letter-spacing: 0.08em; text-transform: uppercase; }
.hold-composer__heading h2 { margin: 5px 0 0; color: #294139; font-size: 22px; font-weight: 780; letter-spacing: -0.035em; }
.hold-composer__heading p { margin: 7px 0 0; color: #74817b; font-size: 12px; }
.hold-composer > form { padding: 5px 22px 22px; }
.composer-step { display: grid; padding: 18px 0; border-bottom: 1px solid #e9eeeb; grid-template-columns: 29px minmax(0, 1fr); gap: 12px; }
.composer-step__number { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 8px; background: #e8f1ec; color: #386953; font-size: 10px; font-weight: 830; }
.composer-step__content { min-width: 0; }
.composer-step__content > label,
.composer-label { display: block; margin: 4px 0 9px; color: #41564d; font-size: 12px; font-weight: 790; }
.patient-search { display: grid; height: 44px; align-items: center; padding: 0 11px; border: 1px solid #d8e1db; border-radius: 9px; background: #fbfcfb; grid-template-columns: 18px 1fr; gap: 7px; }
.patient-search svg { width: 17px; fill: none; stroke: #819087; stroke-width: 1.8px; }
.patient-search input { min-width: 0; border: 0; outline: none; background: transparent; color: #344b42; font: inherit; font-size: 11px; }
.patient-options { max-height: 192px; margin-top: 6px; overflow: auto; }
.patient-options button,
.selected-patient { display: grid; width: 100%; align-items: center; padding: 9px; border: 0; border-radius: 9px; background: transparent; color: inherit; cursor: pointer; font: inherit; grid-template-columns: 36px 1fr; gap: 9px; text-align: left; }
.patient-options button:hover { background: #f0f6f2; }
.patient-options button > span,
.selected-patient > span { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 10px; background: #e4efe8; color: #416f5b; font-size: 10px; font-weight: 820; }
.patient-options strong,
.patient-options small,
.selected-patient strong,
.selected-patient small { display: block; }
.patient-options strong,
.selected-patient strong { color: #344a41; font-size: 12px; }
.patient-options small,
.selected-patient small { margin-top: 2px; color: #8b9791; font-size: 10px; }
.selected-patient { border: 1px solid #cfe0d6; background: #f1f7f3; }
.composer-selection { padding: 12px 13px; border: 1px solid #dbe5df; border-radius: 10px; background: #fafcfb; }
.composer-selection strong,
.composer-selection small { display: block; }
.composer-selection strong { color: #30483e; font-size: 13px; }
.composer-selection p { margin: 4px 0 0; color: #6c7c74; font-size: 11px; }
.composer-selection small { margin-top: 7px; color: #9b6044; font-size: 11px; font-weight: 750; }
.composer-placeholder { margin: 0; color: #87948e; font-size: 11px; line-height: 1.55; }
.modality-switch { display: grid; margin-top: 9px; padding: 3px; border-radius: 9px; background: #edf2ef; grid-template-columns: 1fr 1fr; gap: 3px; }
.modality-switch button { min-height: 36px; border: 0; border-radius: 7px; background: transparent; color: #6f7e77; cursor: pointer; font: inherit; font-size: 10px; font-weight: 730; }
.modality-switch button.is-active { background: #fff; color: #315f4e; box-shadow: 0 2px 7px rgba(32, 71, 56, 0.09); }
.chosen-slot { display: flex; min-height: 63px; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid #d2e1d8; border-radius: 10px; background: #f2f8f4; }
.chosen-slot > span { color: #315f4e; font-size: 22px; font-weight: 810; font-variant-numeric: tabular-nums; }
.chosen-slot strong,
.chosen-slot small { display: block; }
.chosen-slot strong { color: #3d554b; font-size: 10px; text-transform: capitalize; }
.chosen-slot small { margin-top: 3px; color: #819087; font-size: 9px; }
.reservation-rule { display: grid; margin-top: 16px; padding: 12px; border: 1px solid #efd5c6; border-radius: 10px; background: #fff5ef; color: #9b5035; grid-template-columns: 26px 1fr; gap: 8px; }
.reservation-rule > span { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 50%; background: #f8dfd1; font-size: 12px; font-weight: 820; }
.reservation-rule strong { font-size: 11px; }
.reservation-rule p { margin: 3px 0 0; font-size: 10px; line-height: 1.5; }
.reservation-rule--disabled { border-color: #dde4e0; background: #f5f7f6; color: #6f7e77; }
.hold-submit { width: 100%; min-height: 48px; margin-top: 14px; border: 0; border-radius: 10px; background: #315f4e; color: #fff; cursor: pointer; font: inherit; font-size: 13px; font-weight: 790; box-shadow: 0 8px 18px rgba(49, 95, 78, 0.16); }
.hold-submit:disabled { cursor: not-allowed; box-shadow: none; opacity: 0.42; }
.hold-submit__note { margin: 8px 0 0; color: #8a9690; font-size: 9px; text-align: center; }

.reschedule-composer__heading { background: #f7faf8; }
.financial-lock { display: grid; margin: 15px 0 2px; padding: 13px; border: 1px solid #dce4df; border-radius: 10px; background: #f6f8f7; grid-template-columns: 28px 1fr; gap: 9px; }
.financial-lock > span { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 8px; background: #e5ebe7; color: #60736a; font-size: 15px; font-weight: 800; }
.financial-lock strong { display: block; color: #344b42; font-size: 12px; }
.financial-lock p { margin: 3px 0 0; color: #6f7d76; font-size: 10px; }
.financial-lock small { display: block; margin-top: 7px; color: #8b7468; font-size: 9px; line-height: 1.45; }
.reschedule-current strong,
.reschedule-current small { display: block; }
.reschedule-current strong { color: #334a41; font-size: 13px; text-transform: capitalize; }
.reschedule-current small { margin-top: 4px; color: #7c8a83; font-size: 10px; }
.reschedule-filters { display: grid; grid-template-columns: 1fr; gap: 8px; }
.reschedule-filters label { display: grid; gap: 4px; }
.reschedule-filters label > span { color: #7b8982; font-size: 9px; font-weight: 780; text-transform: uppercase; }
.reschedule-filters input,
.reschedule-filters select { width: 100%; height: 41px; padding: 0 10px; border: 1px solid #d5e0d9; border-radius: 8px; outline: none; background: #fbfcfb; color: #344b42; font: inherit; font-size: 11px; }
.reschedule-filters > button { min-height: 38px; border: 1px solid #cddbd3; border-radius: 8px; background: #edf4f0; color: #3a6856; cursor: pointer; font: inherit; font-size: 10px; font-weight: 780; }
.reschedule-slots { display: grid; margin-top: 10px; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.reschedule-slots button { min-height: 37px; border: 1px solid #d6e0da; border-radius: 8px; background: #fff; color: #48645a; cursor: pointer; font: inherit; font-size: 10px; font-weight: 760; }
.reschedule-slots button.is-selected { border-color: #315f4e; background: #315f4e; color: #fff; }
.reschedule-composer textarea { width: 100%; min-height: 70px; margin-top: 10px; padding: 10px; resize: vertical; border: 1px solid #d5e0d9; border-radius: 9px; outline: none; background: #fbfcfb; color: #344b42; font: inherit; font-size: 11px; line-height: 1.5; }
.reschedule-composer textarea:focus,
.reschedule-filters input:focus,
.reschedule-filters select:focus { border-color: #749a89; box-shadow: 0 0 0 3px rgba(116, 154, 137, 0.12); }
.late-change-warning { display: grid; align-items: start; margin-top: 15px; padding: 12px; border: 1px solid #efcdbb; border-radius: 10px; background: #fff4ed; color: #915039; cursor: pointer; grid-template-columns: 17px 1fr; gap: 9px; font-size: 10px; line-height: 1.45; }
.late-change-warning input { margin-top: 2px; accent-color: #a75437; }
.late-change-warning strong { display: block; margin-bottom: 2px; font-size: 11px; }
.reschedule-actions { display: grid; margin-top: 14px; grid-template-columns: 0.65fr 1.35fr; gap: 8px; }
.reschedule-actions button { min-height: 46px; border: 1px solid #d3ded7; border-radius: 9px; background: #fff; color: #597068; cursor: pointer; font: inherit; font-size: 11px; font-weight: 780; }
.reschedule-actions button:last-child { border-color: #315f4e; background: #315f4e; color: #fff; }
.reschedule-actions button:disabled { cursor: not-allowed; opacity: 0.42; }

.attendance-composer__heading { background: linear-gradient(145deg, #f7faf8, #fff8f3); }
.attendance-patient { display: grid; align-items: center; margin: 15px 0 4px; padding: 14px; border: 1px solid #dce5df; border-radius: 11px; background: #fafcfb; grid-template-columns: 53px 1fr; gap: 12px; }
.attendance-patient > span { display: grid; min-height: 43px; place-items: center; border-radius: 10px; background: #e6f0ea; color: #315f4e; font-size: 14px; font-weight: 820; font-variant-numeric: tabular-nums; }
.attendance-patient strong,
.attendance-patient small { display: block; }
.attendance-patient strong { color: #30483e; font-size: 13px; }
.attendance-patient p { margin: 3px 0 0; color: #75837c; font-size: 10px; }
.attendance-patient small { margin-top: 6px; color: #9a5a3e; font-size: 9px; font-weight: 760; }
.attendance-decision { padding: 17px 0; border-bottom: 1px solid #e9eeeb; }
.attendance-decision > span,
.attendance-decision label > span { display: block; margin-bottom: 8px; color: #41564d; font-size: 11px; font-weight: 790; }
.attendance-origin { display: grid; padding: 3px; border-radius: 9px; background: #edf2ef; grid-template-columns: 1fr 1fr; gap: 3px; }
.attendance-origin button { min-height: 38px; border: 0; border-radius: 7px; background: transparent; color: #6f7e77; cursor: pointer; font: inherit; font-size: 11px; font-weight: 750; }
.attendance-origin button.is-active { background: #fff; color: #315f4e; box-shadow: 0 2px 7px rgba(32, 71, 56, 0.09); }
.attendance-decision label { display: block; margin-top: 13px; }
.attendance-decision textarea { width: 100%; min-height: 82px; padding: 11px; resize: vertical; border: 1px solid #d5e0d9; border-radius: 9px; outline: none; background: #fbfcfb; color: #344b42; font: inherit; font-size: 11px; line-height: 1.5; }
.attendance-decision textarea:focus { border-color: #749a89; box-shadow: 0 0 0 3px rgba(116, 154, 137, 0.12); }
.policy-preview { margin: 16px 0 4px; padding: 15px; border: 1px solid #d7e3dc; border-radius: 11px; background: #f1f7f3; color: #3a604f; }
.policy-preview small,
.policy-preview strong { display: block; }
.policy-preview small { font-size: 9px; font-weight: 820; letter-spacing: 0.07em; text-transform: uppercase; }
.policy-preview strong { margin-top: 5px; font-size: 13px; }
.policy-preview p { margin: 6px 0 0; font-size: 10px; line-height: 1.5; }
.policy-preview em { display: block; margin-top: 8px; font-size: 9px; font-style: normal; font-weight: 750; }
.policy-preview--consumed { border-color: #edc7b6; background: #fff2eb; color: #91472f; }
.policy-preview--admin_review { border-color: #ead4ae; background: #fff8e9; color: #88612d; }
.policy-preview--exception { border-color: #cadceb; background: #f1f7fb; color: #41647c; }
.attendance-choice { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.attendance-choice button { min-height: 78px; padding: 11px; border: 1px solid #d8e2dc; border-radius: 10px; background: #fff; color: #566a61; cursor: pointer; font: inherit; text-align: left; }
.attendance-choice button strong,
.attendance-choice button small { display: block; }
.attendance-choice button strong { font-size: 11px; }
.attendance-choice button small { margin-top: 5px; color: #85918b; font-size: 9px; line-height: 1.4; }
.attendance-choice button.is-active { border-color: #5f8d78; background: #eef6f1; color: #315f4e; box-shadow: 0 0 0 2px rgba(95, 141, 120, 0.1); }
.attendance-choice button.is-active.is-warm { border-color: #c78161; background: #fff2eb; color: #8f442c; box-shadow: 0 0 0 2px rgba(199, 129, 97, 0.1); }
.attendance-form-error { margin: 12px 0 0; padding: 10px 11px; border-radius: 8px; background: #fff0e9; color: #994b32; font-size: 10px; line-height: 1.45; }
.attendance-actions { margin-top: 16px; }

@media (max-width: 1320px) {
  .agenda-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .agenda-layout { grid-template-columns: minmax(560px, 1.35fr) minmax(360px, 0.75fr); }
  .agenda-board__body { grid-template-columns: 1fr; }
  .day-timeline { border-right: 0; border-bottom: 1px solid #e7ece9; }
  .available-slots { border-radius: 0 0 15px 15px; }
  .slot-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 1080px) {
  .agenda-layout { grid-template-columns: 1fr; }
  .hold-composer { position: static; }
}

@media (max-width: 900px) {
  .agenda-workspace { padding-inline: 22px; }
  .agenda-heading { align-items: stretch; flex-direction: column; }
  .agenda-date-switcher { width: 100%; min-width: 0; }
  .agenda-summary { grid-template-columns: 1fr; }
  .agenda-filters { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 680px) {
  .agenda-workspace { padding: 23px 14px 42px; }
  .agenda-heading h1 { font-size: 34px; }
  .agenda-heading h1 + span { font-size: 14px; }
  .agenda-filters { grid-template-columns: 1fr; }
  .agenda-board__header { align-items: flex-start; flex-direction: column; }
  .day-timeline { padding-inline: 13px; }
  .day-appointment { grid-template-columns: 44px 2px minmax(0, 1fr); }
  .day-appointment__avatar { display: none; }
  .day-appointment__copy > div:first-child { align-items: flex-start; flex-direction: column; }
  .hold-notice { align-items: flex-start; flex-direction: column; }
  .slot-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hold-composer > form { padding-inline: 16px; }
}

.agenda-heading-tools { display: grid; justify-items: end; gap: 10px; }
.agenda-quick-actions { display: flex; gap: 7px; }
.agenda-quick-actions a,
.agenda-quick-actions button { min-height: 35px; padding: 0 12px; border: 1px solid #cbdad2; border-radius: 9px; background: #fff; color: #3d6856; cursor: pointer; font: inherit; font-size: 10px; font-weight: 780; text-decoration: none; }
.agenda-quick-actions button { border-color: #315f4e; background: #315f4e; color: #fff; }
.walk-in-dialog { position: fixed; z-index: 95; inset: 0; display: grid; place-items: center; padding: 20px; }
.walk-in-dialog > button { position: absolute; inset: 0; border: 0; background: rgba(24,43,36,.43); backdrop-filter: blur(4px); }
.walk-in-dialog > section { position: relative; width: min(570px,100%); overflow: hidden; border-radius: 17px; background: #fff; box-shadow: 0 25px 75px rgba(26,48,39,.28); }
.walk-in-dialog header { display: flex; align-items: start; justify-content: space-between; padding: 23px 25px 18px; border-bottom: 1px solid #e5ebe7; background: linear-gradient(145deg,#f3f8f5,#fff6ef); }
.walk-in-dialog header small { color: #a05b3e; font-size: 9px; font-weight: 820; letter-spacing: .08em; text-transform: uppercase; }
.walk-in-dialog header h2 { margin: 5px 0 0; color: #294239; font-size: 26px; letter-spacing: -.03em; }.walk-in-dialog header p { margin: 6px 0 0; color: #75827c; font-size: 11px; }.walk-in-dialog header > button { width: 34px; height: 34px; border: 1px solid #d5dfd9; border-radius: 9px; background: #fff; color: #66776f; cursor: pointer; font-size: 21px; }
.walk-in-dialog form { display: grid; padding: 22px 25px 25px; gap: 15px; }.walk-in-dialog label > span,.walk-in-dialog legend { display: block; margin-bottom: 6px; color: #53685e; font-size: 10px; font-weight: 780; }.walk-in-dialog select { width: 100%; height: 45px; padding: 0 12px; border: 1px solid #d4dfd8; border-radius: 9px; outline: 0; background: #fbfcfb; color: #334a41; font: inherit; font-size: 11px; }.walk-in-dialog select:focus { border-color: #729783; box-shadow: 0 0 0 3px rgba(78,126,104,.11); }.walk-in-dialog fieldset { display: flex; margin: 0; padding: 0; border: 0; gap: 7px; }.walk-in-dialog fieldset button { min-height: 39px; padding: 0 14px; border: 1px solid #d4dfd8; border-radius: 9px; background: #fff; color: #687971; cursor: pointer; font: inherit; font-size: 10px; font-weight: 740; }.walk-in-dialog fieldset button.is-selected { border-color: #4d7a65; background: #edf5f0; color: #315f4e; box-shadow: inset 0 0 0 1px #4d7a65; }
.walk-in-rule { display: grid; align-items: center; padding: 12px; border: 1px solid #efd0c0; border-radius: 10px; background: #fff4ee; color: #935038; grid-template-columns: 27px 1fr; gap: 9px; }.walk-in-rule > span { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 50%; background: #f8ddcf; font-size: 11px; font-weight: 850; }.walk-in-rule p { margin: 0; }.walk-in-rule strong,.walk-in-rule small { display: block; }.walk-in-rule strong { font-size: 10px; }.walk-in-rule small { margin-top: 3px; font-size: 9px; line-height: 1.4; }.walk-in-actions { display: grid; margin-top: 2px; grid-template-columns: .65fr 1.35fr; gap: 9px; }.walk-in-actions button { min-height: 46px; border: 1px solid #d3ddd7; border-radius: 9px; background: #fff; color: #60756b; cursor: pointer; font: inherit; font-size: 11px; font-weight: 780; }.walk-in-actions button:last-child { border-color: #315f4e; background: #315f4e; color: #fff; }.walk-in-actions button:disabled { cursor: not-allowed; opacity: .45; }
@media (max-width: 900px) { .agenda-heading-tools { justify-items: stretch; }.agenda-quick-actions { justify-content: flex-end; } }
@media (max-width: 560px) { .agenda-quick-actions { display: grid; grid-template-columns: 1fr 1fr; }.walk-in-dialog form { padding-inline: 16px; }.walk-in-dialog fieldset { flex-wrap: wrap; } }

/* Clinical collaboration: risk alerts and interconsultations */
.care-workspace,.history-workspace{min-height:calc(100vh - 76px);padding:34px 38px 56px;background:#f5f7f5;color:#2f443c;font-size:14px}.care-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px}.care-heading>div:first-child>span,.care-panel header span,.care-config>p+label>span,.consultation-form>p+label>span{color:#a25c40;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.care-heading h1{margin:5px 0 3px;color:#223d33;font-family:Newsreader,Georgia,serif;font-size:43px;line-height:1;letter-spacing:-.035em}.care-heading p{max-width:670px;margin:8px 0 0;color:#728079;font-size:14px;line-height:1.55}.care-heading__pulse{display:flex;align-items:center;min-width:225px;padding:15px 18px;border:1px solid #ead2c6;border-radius:14px;background:#fff8f3;gap:12px}.care-heading__pulse>i{width:11px;height:11px;border-radius:50%;background:#cc6845;box-shadow:0 0 0 6px rgba(204,104,69,.12)}.care-heading__pulse span,.care-heading__pulse strong{display:block}.care-heading__pulse span{color:#85675a;font-size:11px}.care-heading__pulse strong{margin-bottom:2px;color:#9b4e34;font-size:22px;line-height:1}.care-summary{display:grid;margin-bottom:22px;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.care-metric{display:grid;align-items:center;min-height:92px;padding:17px 19px;border:1px solid #dfe6e1;border-radius:15px;background:#fff;box-shadow:0 7px 20px rgba(39,67,56,.04);grid-template-columns:7px 1fr;gap:14px}.care-metric>span{width:7px;height:48px;border-radius:6px;background:#6e9a85}.care-metric--coral>span{background:#c86948}.care-metric--amber>span{background:#d4a44f}.care-metric strong,.care-metric small{display:block}.care-metric strong{color:#29463b;font-size:25px;line-height:1.1}.care-metric small{margin-top:5px;color:#7a8881;font-size:11px}.care-tabs{display:flex;margin-bottom:18px;border-bottom:1px solid #dce4df;gap:7px}.care-tabs button{display:flex;align-items:center;min-height:48px;padding:0 17px;border:0;border-bottom:3px solid transparent;background:transparent;color:#738078;cursor:pointer;font:inherit;font-size:13px;font-weight:750;gap:9px}.care-tabs button b{display:grid;min-width:23px;height:23px;place-items:center;border-radius:12px;background:#e9efeb;color:#607169;font-size:10px}.care-tabs button.is-active{border-bottom-color:#41705d;color:#315d4d}.care-tabs button.is-active b{background:#dcebe3;color:#315d4d}.care-grid{display:grid;align-items:start;grid-template-columns:minmax(0,1.55fr)minmax(300px,.45fr);gap:17px}.care-panel{overflow:hidden;border:1px solid #dce4df;border-radius:16px;background:#fff;box-shadow:0 8px 25px rgba(37,65,54,.045)}.care-panel>header{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid #e6ebe8}.care-panel>header span{display:block}.care-panel>header h2{margin:4px 0 0;color:#29433a;font-size:18px;letter-spacing:-.02em}.care-panel>header>small{padding:6px 9px;border-radius:8px;background:#edf3ef;color:#61746a;font-size:10px;font-weight:750}.risk-list{display:grid;padding:15px;gap:12px}.risk-card{display:grid;padding:17px;border:1px solid #e1e7e3;border-left:4px solid #b8c9c0;border-radius:13px;background:#fff;grid-template-columns:minmax(220px,1fr)minmax(180px,.55fr);gap:15px}.risk-card--assigned,.risk-card--pending{border-left-color:#cb6746;background:linear-gradient(100deg,#fffaf7,#fff 42%)}.risk-card--received{border-left-color:#d6a448}.risk-card--attended{border-left-color:#5f927b}.risk-card__identity{display:grid;align-items:center;grid-template-columns:48px 1fr auto;gap:11px}.risk-card__identity>span{display:grid;width:46px;height:46px;place-items:center;border-radius:12px;background:#e5efe9;color:#315e4d;font-weight:820}.risk-card__identity small{color:#a25b40;font-size:9px;font-weight:760;text-transform:uppercase}.risk-card__identity h3{margin:3px 0;color:#2e473e;font-size:15px}.risk-card__identity p{margin:0;color:#7b8882;font-size:10px}.risk-card__identity>b{align-self:start;padding:4px 7px;border-radius:6px;background:#fff0e8;color:#a55034;font-size:8px;text-transform:uppercase}.risk-card__assignment{padding:10px 12px;border-radius:10px;background:#f4f7f5}.risk-card__assignment span,.risk-card__assignment strong,.risk-card__assignment small{display:block}.risk-card__assignment span,.risk-card__plan span,.risk-card__action span{color:#839089;font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.risk-card__assignment strong{margin-top:3px;color:#40584e;font-size:11px}.risk-card__assignment small{margin-top:3px;color:#8b7268;font-size:9px}.risk-card__plan,.risk-card__action{grid-column:1/-1;padding:12px 13px;border-radius:10px;background:#eef5f1}.risk-card__plan p,.risk-card__action p{margin:5px 0 0;color:#496157;font-size:11px;line-height:1.55}.risk-card__action{background:#f7f5ed}.risk-card__composer{grid-column:1/-1}.risk-card__composer>span{display:block;margin-bottom:6px;color:#53685e;font-size:10px;font-weight:780}.risk-card__composer textarea{width:100%;min-height:82px;padding:11px;border:1px solid #cfdcd5;border-radius:9px;outline:0;resize:vertical;color:#344c42;font:inherit;font-size:11px}.risk-card footer{display:flex;align-items:center;justify-content:flex-end;grid-column:1/-1;gap:8px}.risk-card footer a,.risk-card footer button{min-height:37px;padding:0 12px;border:1px solid #cfdad4;border-radius:9px;background:#fff;color:#47695a;cursor:pointer;font:inherit;font-size:10px;font-weight:770;text-decoration:none}.risk-card footer button{border-color:#3f715d;background:#3f715d;color:#fff}.risk-card footer button:disabled{opacity:.45}.care-panel--guide{padding-bottom:18px}.care-panel--guide>span{display:block;padding:22px 22px 0;color:#a15d42;font-size:10px;font-weight:820;letter-spacing:.08em;text-transform:uppercase}.care-panel--guide>h2{margin:5px 22px 18px;color:#29443a;font-family:Newsreader,Georgia,serif;font-size:27px}.care-panel--guide ol{display:grid;margin:0;padding:0 22px;list-style:none;gap:9px}.care-panel--guide li{display:grid;align-items:center;padding:12px;border-radius:11px;background:#f5f8f6;grid-template-columns:29px 1fr;gap:10px}.care-panel--guide li>b{display:grid;width:27px;height:27px;place-items:center;border-radius:50%;background:#dfece5;color:#3b6a57;font-size:10px}.care-panel--guide li strong,.care-panel--guide li small{display:block}.care-panel--guide li strong{color:#41594f;font-size:11px}.care-panel--guide li small{margin-top:2px;color:#7e8a84;font-size:9px}.care-panel--guide>p{margin:15px 22px 0;padding-top:15px;border-top:1px solid #e6ebe8;color:#77867f;font-size:10px}.care-empty{display:grid;justify-items:center;padding:34px 20px;text-align:center}.care-empty>span{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:#e7f0eb;color:#49745f;font-weight:850}.care-empty strong{margin-top:10px;color:#425b50;font-size:13px}.care-empty p{max-width:350px;margin:5px 0 0;color:#849089;font-size:10px;line-height:1.5}.care-admin-grid{display:grid;align-items:start;grid-template-columns:minmax(330px,.5fr)minmax(0,1.2fr);gap:17px}.care-config{padding-bottom:21px}.care-config>p{margin:18px 22px;color:#78867f;font-size:11px;line-height:1.55}.care-config>label,.care-config>fieldset{display:block;margin:15px 22px}.care-config>label>span,.care-config legend,.consultation-form label>span{display:block;margin-bottom:7px;color:#52665d;font-size:10px;font-weight:790}.care-config select,.care-config input,.consultation-form select,.consultation-form textarea{width:100%;min-height:43px;padding:0 11px;border:1px solid #d2ddd7;border-radius:9px;outline:0;background:#fbfcfb;color:#344c42;font:inherit;font-size:11px}.care-config fieldset{padding:0;border:0}.care-config fieldset label{display:grid;align-items:center;margin-bottom:6px;padding:9px;border:1px solid #e0e7e3;border-radius:9px;cursor:pointer;grid-template-columns:22px 1fr;gap:8px}.care-config fieldset input{width:16px;min-height:16px;accent-color:#477561}.care-config fieldset strong,.care-config fieldset small{display:block}.care-config fieldset strong{font-size:10px}.care-config fieldset small{margin-top:2px;color:#859088;font-size:8px}.care-config__minutes{display:grid;align-items:center;grid-template-columns:1fr 85px}.care-config__minutes input{border-radius:9px 0 0 9px}.care-config__minutes small{display:grid;height:43px;place-items:center;border:1px solid #d2ddd7;border-left:0;border-radius:0 9px 9px 0;background:#f0f4f1;color:#687970;font-size:10px}.care-config>button,.consultation-form>button{width:calc(100% - 44px);min-height:45px;margin:5px 22px 0;border:0;border-radius:9px;background:#3c6b58;color:#fff;cursor:pointer;font:inherit;font-size:11px;font-weight:790}.care-config>button:disabled,.consultation-form>button:disabled{opacity:.45}.operations-list{display:grid;padding:13px;gap:7px}.operations-list article{display:grid;align-items:center;padding:12px;border:1px solid #e3e8e5;border-radius:10px;grid-template-columns:8px minmax(130px,.7fr)minmax(160px,1fr)auto minmax(120px,.5fr);gap:12px}.operations-list article>i{width:7px;height:38px;border-radius:5px;background:#89aa9a}.operations-list article>i.is-assigned,.operations-list article>i.is-pending{background:#cd6d4c}.operations-list article>div strong,.operations-list article>div small,.operations-list article>div span{display:block}.operations-list article>div strong{color:#425b50;font-size:10px}.operations-list article>div small,.operations-list article>div span{margin-top:2px;color:#859089;font-size:8px}.operations-list article>b{padding:4px 6px;border-radius:6px;background:#fff0e8;color:#a45135;font-size:8px}.operations-list select{height:35px;padding:0 8px;border:1px solid #d5dfd9;border-radius:8px;background:#fff;color:#53685e;font:inherit;font-size:9px}.consultation-grid{display:grid;align-items:start;grid-template-columns:minmax(0,1.2fr)minmax(330px,.55fr);gap:17px}.consultation-outbox{grid-column:1/-1}.consultation-inbox>div,.consultation-outbox>div{display:grid;padding:14px;gap:8px}.consultation-inbox article{display:grid;align-items:center;padding:14px;border:1px solid #e0e7e3;border-radius:11px;grid-template-columns:45px 1fr auto;gap:12px}.consultation-inbox article>span{display:grid;width:43px;height:43px;place-items:center;border-radius:11px;background:#e5efe9;color:#3c6856;font-weight:820}.consultation-inbox article small{color:#8a958f;font-size:9px}.consultation-inbox article h3{margin:3px 0;color:#334e43;font-size:13px}.consultation-inbox article p{margin:0;color:#697a72;font-size:10px}.consultation-inbox article b{display:block;margin-top:5px;color:#a16045;font-size:8px}.consultation-inbox article a{padding:9px 11px;border-radius:8px;background:#3f6e5b;color:#fff;font-size:9px;font-weight:760;text-decoration:none}.consultation-form{padding-bottom:21px}.consultation-form>p{margin:18px 22px;color:#7c8882;font-size:10px;line-height:1.5}.consultation-form label{display:block;margin:13px 22px}.consultation-form textarea{min-height:85px;padding:10px;resize:vertical}.consultation-outbox article{display:grid;align-items:center;padding:13px;border-bottom:1px solid #e8ecea;grid-template-columns:1fr auto auto;gap:12px}.consultation-outbox article:last-child{border-bottom:0}.consultation-outbox article strong,.consultation-outbox article small{display:block}.consultation-outbox article strong{color:#405a4f;font-size:11px}.consultation-outbox article small{margin-top:3px;color:#849089;font-size:9px}.consultation-outbox article p{margin:5px 0 0;color:#667970;font-size:10px}.grant-state{padding:5px 8px;border-radius:7px;background:#e7f1eb;color:#3e6d59;font-size:8px;font-weight:800;text-transform:uppercase}.grant-state--revoked,.grant-state--expired{background:#f1efec;color:#817972}.consultation-outbox button{border:0;background:transparent;color:#a15438;cursor:pointer;font:inherit;font-size:9px;font-weight:770}.history-workspace{max-width:1400px;margin:0 auto}.history-heading{display:grid;align-items:end;padding:24px;border:1px solid #dbe4df;border-radius:17px;background:linear-gradient(120deg,#fff,#f1f7f3);grid-template-columns:auto 1fr minmax(280px,.5fr);gap:22px}.history-heading>a{align-self:start;color:#4d715f;font-size:10px;font-weight:770;text-decoration:none}.history-heading>div>span{color:#a35b3f;font-size:9px;font-weight:820;letter-spacing:.08em;text-transform:uppercase}.history-heading h1{margin:5px 0 1px;color:#29443a;font-family:Newsreader,Georgia,serif;font-size:38px}.history-heading p{margin:0;color:#7b8781;font-size:11px}.history-heading aside{padding:14px;border-radius:11px;background:#fff;box-shadow:0 5px 16px rgba(37,66,54,.06)}.history-heading aside small,.history-heading aside strong,.history-heading aside span{display:block}.history-heading aside small{color:#89948e;font-size:8px;text-transform:uppercase}.history-heading aside strong{margin-top:5px;color:#455d53;font-size:11px;line-height:1.45}.history-heading aside span{margin-top:7px;color:#9d5c40;font-size:8px;font-weight:750}.history-safety-note{display:flex;align-items:center;margin:14px 0;padding:10px 13px;border:1px solid #d6e2db;border-radius:10px;background:#eef5f1;color:#567066;gap:9px}.history-safety-note>span{display:grid;width:22px;height:22px;place-items:center;border-radius:50%;background:#d7e8df;font-size:9px;font-weight:850}.history-safety-note p{margin:0;font-size:10px}.history-timeline{display:grid;gap:14px}.history-note{overflow:hidden;border:1px solid #dce4df;border-radius:15px;background:#fff}.history-note>header{display:flex;align-items:center;justify-content:space-between;padding:18px 21px;border-bottom:1px solid #e7ece9}.history-note>header span{color:#9b5b40;font-size:9px;font-weight:790;text-transform:uppercase}.history-note>header h2{margin:3px 0;color:#334d42;font-size:15px}.history-note>header p{margin:0;color:#829089;font-size:9px}.history-note>header>b{padding:5px 8px;border-radius:7px;background:#fff1e9;color:#a05438;font-size:8px}.history-soap{display:grid;padding:18px 21px;grid-template-columns:1fr 1fr;gap:12px}.history-soap>section{display:grid;align-items:start;padding:13px;border-radius:11px;background:#f5f8f6;grid-template-columns:29px 1fr;gap:9px}.history-soap>section>b{display:grid;width:27px;height:27px;place-items:center;border-radius:8px;background:#dcebe3;color:#3c6956;font-size:10px}.history-soap span{color:#73827a;font-size:8px;font-weight:800;text-transform:uppercase}.history-soap p{margin:4px 0 0;color:#435c51;font-size:10px;line-height:1.55}.history-clinical-meta{display:grid;margin:0 21px 18px;padding:14px;border:1px solid #e1e7e3;border-radius:11px;grid-template-columns:1fr 1fr;gap:16px}.history-clinical-meta>div>span{color:#7e8a84;font-size:8px;font-weight:800;text-transform:uppercase}.history-clinical-meta p{margin:6px 0 0;color:#465e54;font-size:10px}.history-clinical-meta p b{margin-right:6px;color:#315f4e}.history-clinical-meta small{display:block;margin-top:6px;color:#6b7d74;font-size:9px;line-height:1.45}.history-risk{display:inline-block;padding:4px 7px;border-radius:6px;background:#e8f1ec}.history-risk--high{background:#fff0e8!important;color:#a04c30!important;font-weight:800}.history-addendum{margin:0 21px 18px;padding:12px 14px;border-left:3px solid #d1a04b;background:#fffaf0}.history-addendum span{color:#956f30;font-size:8px;font-weight:800;text-transform:uppercase}.history-addendum p{margin:5px 0;color:#52665d;font-size:10px}.history-addendum small{color:#88938e;font-size:8px}
@media(max-width:1150px){.care-grid,.care-admin-grid,.consultation-grid{grid-template-columns:1fr}.consultation-outbox{grid-column:auto}.care-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.care-workspace,.history-workspace{padding:23px 14px 45px}.care-heading{align-items:stretch;flex-direction:column;gap:15px}.care-heading h1{font-size:36px}.care-heading__pulse{min-width:0}.care-summary{grid-template-columns:1fr 1fr}.risk-card{grid-template-columns:1fr}.risk-card__identity,.risk-card__assignment,.risk-card__plan,.risk-card__action,.risk-card__composer,.risk-card footer{grid-column:1}.operations-list article{grid-template-columns:7px 1fr}.operations-list article>select{grid-column:2}.consultation-inbox article{grid-template-columns:43px 1fr}.consultation-inbox article>a{grid-column:2}.history-heading{grid-template-columns:1fr}.history-heading>a{order:-1}.history-soap,.history-clinical-meta{grid-template-columns:1fr}}
.care-tabs button{font-size:14px}.care-metric small{font-size:12px}.care-panel>header h2{font-size:20px}.care-panel>header>small{font-size:11px}.risk-card__identity small{font-size:10px}.risk-card__identity h3{font-size:16px}.risk-card__identity p{font-size:12px}.risk-card__assignment span,.risk-card__plan span,.risk-card__action span{font-size:10px}.risk-card__assignment strong{font-size:13px}.risk-card__assignment small{font-size:10px}.risk-card__plan p,.risk-card__action p{font-size:12px}.risk-card footer a,.risk-card footer button{font-size:11px}.care-panel--guide li strong{font-size:12px}.care-panel--guide li small{font-size:10px}.consultation-inbox article h3{font-size:14px}.consultation-inbox article p,.consultation-outbox article p{font-size:11px}.consultation-form>p,.care-config>p{font-size:12px}.care-config select,.care-config input,.consultation-form select,.consultation-form textarea{font-size:12px}.history-soap p,.history-clinical-meta p,.history-addendum p{font-size:12px}

/* Clinical documents */
.document-workspace{min-height:calc(100vh - 76px);padding:34px 38px 60px;background:#f5f7f5;color:#30463d;font-size:14px}.document-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px;gap:24px}.document-heading>div>span,.document-request-panel header span,.document-queue>header span,.attachment-list-panel>header span,.document-privacy-card>span{color:#a25c40;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.document-heading h1{margin:5px 0 4px;color:#223d33;font-family:Newsreader,Georgia,serif;font-size:44px;line-height:1;letter-spacing:-.035em}.document-heading p{max-width:700px;margin:8px 0 0;color:#718078;font-size:15px}.document-heading>button,.attachment-list-panel>header>button{min-height:46px;padding:0 18px;border:0;border-radius:10px;background:#3f715d;color:#fff;cursor:pointer;font:inherit;font-size:13px;font-weight:780}.document-summary{display:grid;margin-bottom:22px;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.document-metric{display:grid;align-items:center;min-height:96px;padding:18px 20px;border:1px solid #dfe6e1;border-radius:15px;background:#fff;box-shadow:0 7px 20px rgba(39,67,56,.04);grid-template-columns:8px auto 1fr;gap:14px}.document-metric i{width:7px;height:52px;border-radius:6px;background:#80a390}.document-metric--amber i{background:#d1a04b}.document-metric--green i{background:#4e8a70}.document-metric--clay i{background:#c96c4b}.document-metric strong{color:#29463b;font-size:27px;line-height:1}.document-metric span{color:#74827a;font-size:13px;font-weight:680}.document-tabs{display:flex;margin-bottom:18px;border-bottom:1px solid #dce4df;gap:7px}.document-tabs button{display:flex;align-items:center;min-height:50px;padding:0 18px;border:0;border-bottom:3px solid transparent;background:transparent;color:#738078;cursor:pointer;font:inherit;font-size:14px;font-weight:750;gap:9px}.document-tabs button b{display:grid;min-width:24px;height:24px;place-items:center;border-radius:12px;background:#e7eeea;color:#607169;font-size:10px}.document-tabs button.is-active{border-bottom-color:#41705d;color:#315d4d}.document-request-panel,.document-queue,.document-detail,.attachment-list-panel,.document-privacy-card{overflow:hidden;border:1px solid #dce4df;border-radius:16px;background:#fff;box-shadow:0 8px 25px rgba(37,65,54,.045)}.document-request-panel{margin-bottom:22px}.document-request-panel>header,.document-queue>header,.attachment-list-panel>header{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid #e6ebe8}.document-request-panel h2,.document-queue h2,.attachment-list-panel h2{margin:4px 0 0;font-size:20px}.document-request-panel>header>button{border:0;background:transparent;color:#7e8984;cursor:pointer;font-size:25px}.document-request-panel form,.attachment-form{display:grid;padding:20px 22px 22px;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.document-request-panel label>span,.attachment-form label>span{display:block;margin-bottom:7px;color:#52685e;font-size:11px;font-weight:780}.document-request-panel input,.document-request-panel select,.attachment-form input,.attachment-form select{width:100%;min-height:45px;padding:0 12px;border:1px solid #d2ddd7;border-radius:9px;outline:0;background:#fbfcfb;color:#344c42;font:inherit;font-size:13px}.document-request-panel label>small{display:block;margin-top:5px;color:#87918c;font-size:10px}.document-request-panel .document-check{display:flex;align-items:center;align-self:end;min-height:45px;padding:0 12px;border:1px solid #dce4df;border-radius:9px;gap:9px}.document-request-panel .document-check input{width:16px;min-height:16px}.document-request-panel .document-check span{margin:0}.document-request-panel footer{display:flex;justify-content:flex-end;grid-column:1/-1;gap:9px}.document-request-panel footer button{min-height:43px;padding:0 16px;border:1px solid #cfdad4;border-radius:9px;background:#fff;color:#4b6a5d;cursor:pointer;font:inherit;font-size:12px;font-weight:760}.document-request-panel footer button:last-child{border-color:#3f715d;background:#3f715d;color:#fff}.document-grid{display:grid;align-items:start;grid-template-columns:minmax(380px,.72fr)minmax(0,1.28fr);gap:18px}.document-queue>div{display:grid;padding:10px;gap:6px}.document-queue>div>button{display:grid;align-items:center;width:100%;padding:13px 11px;border:1px solid transparent;border-radius:11px;background:transparent;color:inherit;cursor:pointer;text-align:left;grid-template-columns:7px 43px minmax(0,1fr)auto;gap:11px}.document-queue>div>button:hover,.document-queue>div>button.is-active{border-color:#d9e4de;background:#f2f7f4}.document-state-dot{width:7px;height:38px;border-radius:5px;background:#aab8b1}.document-state-dot--pending_payment{background:#d0a34e}.document-state-dot--pending_evaluation{background:#c66b4c}.document-state-dot--pending_preparation,.document-state-dot--pending_signature{background:#729b87}.document-state-dot--emitted{background:#3f7b63}.document-state-dot--cancelled{background:#a9a4a0}.document-patient-avatar{display:grid;width:42px;height:42px;place-items:center;border-radius:11px;background:#e3eee8;color:#35614f;font-size:12px;font-weight:820}.document-queue button strong,.document-queue button small{display:block}.document-queue button strong{font-size:13px}.document-queue button small{overflow:hidden;margin-top:3px;color:#7c8982;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.document-queue button>b{padding:5px 7px;border-radius:7px;background:#eaf1ed;color:#4f6e60;font-size:9px;white-space:nowrap}.document-detail{padding-bottom:20px}.document-detail>header{display:flex;align-items:flex-start;justify-content:space-between;padding:22px 24px;border-bottom:1px solid #e5ebe7}.document-detail>header span{color:#a25a3e;font-size:10px;font-weight:800;letter-spacing:.08em}.document-detail>header h2{margin:5px 0 3px;color:#2a453a;font-family:Newsreader,Georgia,serif;font-size:29px;line-height:1}.document-detail>header p{margin:0;color:#7a8781;font-size:11px}.document-detail>header>b{padding:7px 10px;border-radius:8px;background:#e7f1eb;color:#3e6d59;font-size:10px}.document-detail__facts{display:grid;margin:17px 23px;padding:14px;border-radius:12px;background:#f4f7f5;grid-template-columns:repeat(4,1fr);gap:12px}.document-detail__facts span{padding-left:11px;border-left:2px solid #d7e3dc}.document-detail__facts small,.document-detail__facts strong{display:block}.document-detail__facts small{color:#829088;font-size:9px;font-weight:780;text-transform:uppercase}.document-detail__facts strong{margin-top:4px;color:#3d574c;font-size:12px}.document-brief{margin:0 23px 16px;padding:12px 14px;border-left:3px solid #ca7858;background:#fff8f4}.document-brief span{color:#9f5d43;font-size:9px;font-weight:800;text-transform:uppercase}.document-brief p{margin:5px 0 0;color:#53675e;font-size:12px}.document-editor{margin:0 23px 17px;padding:17px;border:1px solid #dce5e0;border-radius:12px}.document-editor>span{display:block;margin-bottom:9px;color:#52685e;font-size:10px;font-weight:800;text-transform:uppercase}.document-editor>p{color:#697a71;font-size:12px;line-height:1.55}.document-editor textarea{width:100%;min-height:180px;padding:13px;border:1px solid #cedbd4;border-radius:9px;outline:0;resize:vertical;color:#344d42;font:inherit;font-size:13px;line-height:1.6}.document-editor label{display:flex;align-items:center;margin-top:10px;color:#50675d;font-size:11px;gap:8px}.document-editor>button,.document-primary-action{min-height:43px;margin-top:13px;padding:0 15px;border:0;border-radius:9px;background:#3f715d;color:#fff;cursor:pointer;font:inherit;font-size:12px;font-weight:780}.document-actions-row{display:flex;margin:0 23px 16px;gap:9px}.document-actions-row a{padding:10px 13px;border:1px solid #ccd9d2;border-radius:9px;color:#416957;font-size:11px;font-weight:760;text-decoration:none}.document-upload-action{display:block;margin:0 23px 16px;padding:15px;border:1px dashed #b9cec3;border-radius:11px;background:#f5faf7;cursor:pointer}.document-upload-action>span,.document-upload-action>small{display:block}.document-upload-action>span{color:#3d6253;font-size:12px;font-weight:780}.document-upload-action>small{margin:3px 0 9px;color:#7d8b84;font-size:10px}.document-upload-action input{width:100%;font-size:11px}.document-upload-action--delivery{border-style:solid;border-color:#d3b887;background:#fffaf0}.document-primary-action{margin:0 23px 15px}.document-cancel-action{margin:0 23px;border:0;background:transparent;color:#a1573d;cursor:pointer;font:inherit;font-size:10px;font-weight:750}.document-status-notice{display:grid;align-items:center;margin:0 23px 16px;padding:13px 14px;border:1px solid #d9e5de;border-radius:11px;background:#eff6f2;grid-template-columns:9px 1fr auto;gap:11px}.document-status-notice>i{width:8px;height:38px;border-radius:6px;background:#6f9c86}.document-status-notice strong,.document-status-notice small{display:block}.document-status-notice strong{font-size:12px}.document-status-notice small{margin-top:3px;color:#718078;font-size:10px}.document-status-notice a{padding:8px 10px;border-radius:8px;background:#fff;color:#47705f;font-size:10px;font-weight:750;text-decoration:none}.document-status-notice--amber{border-color:#eadcbf;background:#fffaf0}.document-status-notice--amber>i{background:#d0a24d}.document-status-notice--clay{border-color:#ecd4c9;background:#fff7f3}.document-status-notice--clay>i{background:#c86b49}.document-local-error,.attachment-form>p{color:#a14e34;font-size:11px}.attachment-layout{display:grid;align-items:start;grid-template-columns:minmax(0,1.55fr)minmax(300px,.45fr);gap:18px}.attachment-list-panel>header>button{min-height:39px;font-size:11px}.attachment-form{grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid #e2e9e5;background:#f9fbfa}.attachment-form .attachment-file{grid-column:span 2}.attachment-form>button{align-self:end;min-height:45px;border:0;border-radius:9px;background:#3e705c;color:#fff;cursor:pointer;font:inherit;font-size:11px;font-weight:780}.attachment-list{display:grid;padding:12px;gap:8px}.attachment-row{display:grid;align-items:center;padding:13px;border:1px solid #e0e7e3;border-radius:11px;grid-template-columns:43px minmax(0,1fr)auto auto;gap:12px}.attachment-row>div small,.attachment-row>div strong{display:block}.attachment-row>div small{color:#9c6149;font-size:9px;font-weight:760;text-transform:uppercase}.attachment-row>div strong{margin-top:3px;font-size:13px}.attachment-row>div p{margin:2px 0 0;color:#7c8982;font-size:10px}.file-state{padding:5px 8px;border-radius:7px;background:#f5e8ce;color:#8c682d;font-size:8px;font-weight:800;text-transform:uppercase}.file-state--available{background:#e4f0e9;color:#3e6f5b}.file-state--rejected{background:#f7ded2;color:#9b4f35}.attachment-row footer{display:flex;gap:6px}.attachment-row footer a,.attachment-row footer button{padding:8px 10px;border:1px solid #ccd8d2;border-radius:8px;background:#fff;color:#456958;cursor:pointer;font:inherit;font-size:9px;font-weight:760;text-decoration:none}.attachment-score{display:grid;margin-top:9px;grid-template-columns:1fr 1fr auto;gap:6px}.attachment-score input{min-width:0;height:35px;padding:0 8px;border:1px solid #d2ddd7;border-radius:7px;font:inherit;font-size:10px}.attachment-score button{border:0;border-radius:7px;background:#477561;color:#fff;font:inherit;font-size:9px}.document-privacy-card{padding:24px;background:linear-gradient(145deg,#183f37,#254f45);color:#eef5f1}.document-privacy-card>span{color:#9bc0af}.document-privacy-card h2{margin:7px 0 12px;font-family:Newsreader,Georgia,serif;font-size:29px;line-height:1.05}.document-privacy-card>p{margin:0;color:#c7d7d0;font-size:12px;line-height:1.65}.document-privacy-card ol{display:grid;margin:23px 0 0;padding:0;list-style:none;gap:9px}.document-privacy-card li{display:grid;align-items:center;padding:11px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(255,255,255,.04);grid-template-columns:28px 1fr;gap:9px}.document-privacy-card li b{display:grid;width:27px;height:27px;place-items:center;border-radius:50%;background:#416b60;font-size:10px}.document-privacy-card li span{font-size:11px}.document-empty{display:grid;justify-items:center;padding:40px 22px;text-align:center}.document-empty>span{display:grid;width:40px;height:40px;place-items:center;border-radius:50%;background:#e6f0ea;color:#44725e;font-weight:850}.document-empty strong{margin-top:11px;font-size:14px}.document-empty p{max-width:400px;margin:5px 0 0;color:#7d8983;font-size:11px}
@media(max-width:1100px){.document-summary{grid-template-columns:1fr 1fr}.document-grid,.attachment-layout{grid-template-columns:1fr}.document-request-panel form{grid-template-columns:1fr 1fr}.attachment-form{grid-template-columns:1fr 1fr}.document-privacy-card{order:-1}}@media(max-width:700px){.document-workspace{padding:24px 16px 45px}.document-heading{align-items:flex-start;flex-direction:column}.document-heading h1{font-size:38px}.document-summary,.document-request-panel form,.attachment-form{grid-template-columns:1fr}.document-grid{grid-template-columns:minmax(0,1fr)}.document-detail__facts{grid-template-columns:1fr 1fr}.attachment-row{grid-template-columns:42px 1fr}.attachment-row>.file-state,.attachment-row>footer{grid-column:2}.document-tabs{overflow-x:auto}.document-tabs button{white-space:nowrap}}

/* Role dashboards, audit workspace and platform control */
.role-dashboard,.audit-workspace{min-height:calc(100vh - 76px);padding:34px 38px 58px;background:#f5f7f5;color:#2d433a;font-size:15px}.role-dashboard__heading,.audit-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:25px;gap:24px}.role-dashboard__heading>div:first-child>span,.audit-heading>div:first-child>span,.role-panel>header span,.audit-events-panel>header span,.audit-export-panel>span{color:#9d593e;font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.role-dashboard__heading h1,.audit-heading h1{margin:5px 0 5px;color:#173c32;font-family:Newsreader,Georgia,serif;font-size:44px;line-height:1.04;letter-spacing:-.035em}.role-dashboard__heading p,.audit-heading p{max-width:720px;margin:0;color:#73817a;font-size:16px;line-height:1.55}.role-dashboard__scope{display:flex;align-items:center;min-width:225px;padding:14px 16px;border:1px solid #dce5e0;border-radius:13px;background:#fff;box-shadow:0 6px 18px rgba(33,64,51,.05);gap:11px}.role-dashboard__scope>i{width:11px;height:11px;border-radius:50%;background:#4a8b70;box-shadow:0 0 0 6px rgba(74,139,112,.12)}.role-dashboard__scope small,.role-dashboard__scope strong{display:block}.role-dashboard__scope small{color:#89948e;font-size:10px}.role-dashboard__scope strong{margin-top:2px;font-size:14px}.role-dashboard__metrics,.audit-metrics{display:grid;margin-bottom:20px;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.role-metric{display:flex;align-items:center;justify-content:space-between;min-height:116px;padding:20px 21px;border:1px solid #dfe6e2;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(32,64,51,.045)}.role-metric span,.role-metric strong,.role-metric small{display:block}.role-metric span{color:#7b8781;font-size:12px;font-weight:700}.role-metric strong{margin:6px 0 4px;color:#1d3f34;font-size:30px;line-height:1}.role-metric small{color:#70907f;font-size:11px}.role-metric>b{display:grid;width:46px;height:46px;place-items:center;border-radius:12px;background:#ebf2f8;color:#47708a;font-size:19px}.role-metric--green>b{background:#e8f4ee;color:#3b7a5f}.role-metric--amber>b{background:#fff5df;color:#9b722c}.role-metric--clay>b{background:#fff0e9;color:#a25236}.role-dashboard__primary-grid,.role-dashboard__secondary-grid,.audit-grid{display:grid;align-items:start;grid-template-columns:minmax(0,1.55fr)minmax(330px,.65fr);gap:17px}.role-dashboard__secondary-grid{margin-top:17px;grid-template-columns:minmax(0,1.35fr)minmax(330px,.65fr)}.role-panel,.audit-events-panel,.audit-export-panel{overflow:hidden;border:1px solid #dce4df;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(34,63,52,.045)}.role-panel>header,.audit-events-panel>header{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid #e5ebe7}.role-panel>header span,.role-panel>header h2,.audit-events-panel>header span,.audit-events-panel>header h2{display:block}.role-panel>header h2,.audit-events-panel>header h2{margin:4px 0 0;color:#29453a;font-size:20px;letter-spacing:-.02em}.role-panel>header>a{padding:8px 10px;border-radius:8px;background:#edf4f0;color:#416957;font-size:11px;font-weight:760;text-decoration:none}.role-schedule-list{display:grid;padding:11px;gap:6px}.role-schedule-list>article{display:grid;align-items:center;padding:12px 13px;border:1px solid transparent;border-radius:11px;background:#f8faf9;grid-template-columns:62px 44px minmax(0,1fr)auto;gap:12px}.role-schedule-list>article:hover{border-color:#d9e4de;background:#f1f6f3}.role-schedule-time strong,.role-schedule-time small,.role-schedule-person strong,.role-schedule-person small{display:block}.role-schedule-time strong{color:#29463a;font-size:14px}.role-schedule-time small{margin-top:3px;color:#87928c;font-size:10px}.role-avatar{display:grid;width:43px;height:43px;place-items:center;border-radius:12px;background:#dfece5;color:#35624f;font-size:12px;font-weight:820}.role-schedule-person strong{font-size:14px}.role-schedule-person small{margin-top:3px;color:#7c8982;font-size:11px}.role-state{padding:6px 9px;border-radius:8px;background:#e9f2ed;color:#47705e;font-size:10px}.role-state--confirmed,.role-state--held{background:#f1f1ef;color:#6f7974}.role-state--pending_note{background:#fff4df;color:#906a2d}.role-state--in_progress{background:#e9f1f8;color:#406b86}.role-empty{display:grid;min-height:265px;place-content:center;justify-items:center;padding:35px;text-align:center}.role-empty>span{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;background:#e6f1eb;color:#46725f;font-weight:850}.role-empty strong{margin-top:12px;font-size:14px}.role-empty p{margin:5px 0 0;color:#849089;font-size:11px}.role-priority-list{display:grid;padding:12px;gap:8px}.role-priority-list article{display:grid;padding:13px;border:1px solid #e1e7e3;border-radius:11px;grid-template-columns:34px 1fr;gap:10px}.role-priority-list article>b{display:grid;width:32px;height:32px;place-items:center;border-radius:9px;background:#e7f0eb;color:#47705e;font-size:10px}.role-priority-list article>div>span{display:flex;align-items:center;justify-content:space-between}.role-priority-list strong{font-size:13px}.role-priority-list em{display:grid;min-width:26px;height:24px;place-items:center;border-radius:12px;background:#fff0e8;color:#a45337;font-size:10px;font-style:normal}.role-priority-list p{margin:4px 0 7px;color:#7d8983;font-size:11px;line-height:1.4}.role-priority-list a{color:#3f6d59;font-size:10px;font-weight:780;text-decoration:none}.role-panel--activity>header>small{color:#89938e;font-size:10px}.role-week-bars{display:grid;align-items:end;height:235px;padding:28px 28px 20px;grid-template-columns:repeat(7,1fr);gap:18px}.role-week-bars>div{display:grid;align-items:end;height:100%;justify-items:center;grid-template-rows:20px 1fr 20px;gap:6px}.role-week-bars span{color:#60736a;font-size:10px;font-weight:760}.role-week-bars i{align-self:end;width:min(42px,70%);min-height:4px;border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,#5c9b7f,#82b39c);box-shadow:0 6px 12px rgba(66,126,100,.14)}.role-week-bars small{color:#819087;font-size:10px;text-transform:capitalize}.role-context-card{min-height:100%;padding:25px;border-radius:16px;background:linear-gradient(145deg,#173d34,#28584a);color:#edf5f1;box-shadow:0 12px 28px rgba(23,61,52,.16)}.role-context-card>span{color:#a5c9b8;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.role-context-card h2{margin:7px 0 12px;font-family:Newsreader,Georgia,serif;font-size:29px;line-height:1.08}.role-context-card>p{margin:0;color:#c7d8d0;font-size:12px;line-height:1.6}.role-context-card dl{display:grid;margin:21px 0 0;gap:8px}.role-context-card dl>div{display:flex;justify-content:space-between;padding:10px 0;border-top:1px solid rgba(255,255,255,.11)}.role-context-card dt{color:#a9c1b6;font-size:10px}.role-context-card dd{margin:0;font-size:11px;font-weight:760;text-align:right}
.audit-heading__seal{display:grid;justify-items:end;gap:5px}.audit-heading__seal b{padding:7px 11px;border-radius:8px;background:#e7f1eb;color:#3f705b;font-size:10px;text-transform:uppercase}.audit-heading__seal small{color:#7d8983;font-size:11px}.audit-metric{display:grid;align-items:center;min-height:102px;padding:17px 19px;border:1px solid #dfe6e2;border-radius:15px;background:#fff;grid-template-columns:7px 1fr;gap:13px}.audit-metric>i{width:7px;height:52px;border-radius:5px;background:#6e94ac}.audit-metric--green>i{background:#579076}.audit-metric--clay>i{background:#c76a49}.audit-metric small,.audit-metric strong,.audit-metric em{display:block}.audit-metric small{color:#7e8a84;font-size:10px}.audit-metric strong{margin:4px 0;color:#29443a;font-size:23px}.audit-metric em{color:#87928c;font-size:9px;font-style:normal}.audit-filters{display:grid;align-items:end;margin-bottom:18px;padding:16px;border:1px solid #dce4df;border-radius:14px;background:#fff;grid-template-columns:150px 150px minmax(250px,1fr)auto;gap:12px}.audit-filters label>span{display:block;margin-bottom:6px;color:#586d63;font-size:10px;font-weight:780}.audit-filters input{width:100%;height:42px;padding:0 11px;border:1px solid #d0dbd5;border-radius:9px;outline:0;color:#334b41;font:inherit;font-size:11px}.audit-filters button{height:42px;padding:0 16px;border:0;border-radius:9px;background:#3e6e5a;color:#fff;cursor:pointer;font:inherit;font-size:11px;font-weight:780}.audit-table-wrap{overflow-x:auto}.audit-events-panel table{width:100%;border-collapse:collapse}.audit-events-panel th,.audit-events-panel td{padding:13px 16px;border-bottom:1px solid #e7ece9;text-align:left}.audit-events-panel th{color:#7b8781;font-size:9px;letter-spacing:.06em;text-transform:uppercase}.audit-events-panel td{color:#5c7066;font-size:10px}.audit-events-panel td strong,.audit-events-panel td small{display:block}.audit-events-panel td strong{color:#344f43;font-size:11px}.audit-events-panel td small{margin-top:3px;color:#8a958f;font-size:8px}.audit-outcome{padding:5px 7px;border-radius:7px;background:#e8f2ec;color:#46715e;font-size:8px;text-transform:uppercase}.audit-outcome--failure{background:#fff0e9;color:#a14f34}.audit-empty{padding:35px;color:#819087;font-size:11px;text-align:center}.audit-export-panel{padding:24px;background:#fff}.audit-export-panel>h2{margin:6px 0 9px;color:#29453a;font-family:Newsreader,Georgia,serif;font-size:28px}.audit-export-panel>p{margin:0;color:#78867f;font-size:11px;line-height:1.55}.audit-export-panel>div{display:grid;margin-top:19px;gap:8px}.audit-export-panel article{padding:13px;border:1px solid #e0e7e3;border-radius:10px;background:#f8faf9}.audit-export-panel article b,.audit-export-panel article small,.audit-export-panel article a{display:block}.audit-export-panel article b{font-size:12px}.audit-export-panel article small{margin:4px 0 9px;color:#849089;font-size:9px}.audit-export-panel article a{color:#3f6e5a;font-size:10px;font-weight:780;text-decoration:none}
.platform-page{margin:0;background:#f3f6f4;color:#2e443b}.platform-shell{display:grid;min-height:100vh;grid-template-columns:250px minmax(0,1fr)}.platform-sidebar{position:sticky;top:0;display:flex;height:100vh;padding:23px 18px 18px;border-right:1px solid #dce4df;background:#fff;flex-direction:column}.platform-sidebar>nav{display:grid;margin-top:38px;gap:6px}.platform-sidebar>nav a,.platform-sidebar>nav span{padding:12px 14px;border-radius:9px;color:#66766e;font-size:12px;font-weight:700;text-decoration:none}.platform-sidebar>nav .is-active{background:#245e4b;color:#fff}.platform-profile{display:flex;align-items:center;margin-top:auto;padding:11px;border:1px solid #e0e6e2;border-radius:11px;color:#42584f;text-decoration:none;gap:9px}.platform-profile>b{display:grid;width:36px;height:36px;place-items:center;border-radius:10px;background:#e0ede6;color:#35624f;font-size:11px}.platform-profile span,.platform-profile strong,.platform-profile small{display:block}.platform-profile strong{font-size:11px}.platform-profile small{margin-top:2px;color:#849089;font-size:9px}.platform-main{min-width:0}.platform-topbar{display:flex;align-items:center;justify-content:space-between;height:72px;padding:0 34px;border-bottom:1px solid #dce4df;background:#fff}.platform-topbar>span{color:#607269;font-size:12px;font-weight:750}.platform-topbar button{border:0;background:transparent;color:#8b5b49;cursor:pointer;font:inherit;font-size:11px;font-weight:750}.platform-content{padding:34px 38px 58px}.platform-flash{margin-bottom:15px;padding:12px 14px;border-radius:9px;font-size:11px}.platform-flash--notice{background:#e8f3ed;color:#3c6d58}.platform-flash--alert{background:#fff0e9;color:#9d4c33}.platform-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px;gap:20px}.platform-heading>div>span,.platform-clinics-panel>header>span,.support-heading>div>span,.support-queue>header span,.support-reason>span{color:#a05a3f;font-size:11px;font-weight:820;letter-spacing:.08em;text-transform:uppercase}.platform-heading h1,.support-heading h1{margin:5px 0 4px;color:#1b4035;font-family:Newsreader,Georgia,serif;font-size:43px;letter-spacing:-.035em}.platform-heading p,.support-heading p{margin:0;color:#75837c;font-size:13px}.platform-heading>label{min-width:280px}.platform-heading>label>span{display:block;margin-bottom:6px;color:#65776e;font-size:10px;font-weight:760}.platform-heading input{width:100%;height:43px;padding:0 12px;border:1px solid #d1dcd6;border-radius:9px;outline:0;background:#fff;font:inherit;font-size:11px}.platform-summary,.support-counters{display:grid;margin-bottom:20px;grid-template-columns:repeat(4,1fr);gap:11px}.platform-metric{display:grid;align-items:center;min-height:88px;padding:16px 18px;border:1px solid #dfe6e2;border-radius:14px;background:#fff;grid-template-columns:7px 1fr;gap:13px}.platform-metric>i{width:7px;height:45px;border-radius:5px;background:#668fa8}.platform-metric--green>i{background:#559075}.platform-metric--clay>i{background:#c76c4b}.platform-metric--amber>i{background:#d0a24f}.platform-metric small,.platform-metric strong{display:block}.platform-metric small{color:#7f8b85;font-size:10px}.platform-metric strong{margin-top:4px;font-size:25px}.platform-clinics-panel,.support-queue,.support-reason{overflow:hidden;border:1px solid #dce4df;border-radius:15px;background:#fff}.platform-clinics-panel>header,.support-queue>header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #e6ebe8}.platform-clinics-panel>header>b,.support-queue>header>small{color:#7d8983;font-size:10px}.platform-clinic-list{display:grid;padding:10px;gap:7px}.platform-clinic-list>article{display:grid;align-items:center;padding:14px;border:1px solid #e2e8e4;border-radius:11px;grid-template-columns:48px minmax(220px,1.1fr)minmax(180px,.7fr)auto;gap:13px}.platform-clinic-mark{display:grid;width:46px;height:46px;place-items:center;border-radius:12px;background:#e4efe9;color:#35624f;font-size:12px;font-weight:820}.platform-clinic-identity>span{display:flex;align-items:center;gap:8px}.platform-clinic-identity strong{font-size:13px}.platform-clinic-identity small{display:block;margin-top:4px;color:#7f8b85;font-size:9px}.platform-clinic-identity p{margin:5px 0 0;color:#9b6048;font-size:9px}.platform-status{padding:4px 7px;border-radius:7px;background:#e5f1ea;color:#3f745d;font-size:8px;text-transform:uppercase}.platform-status--suspended{background:#fff0e9;color:#9d4e34}.platform-clinic-support b,.platform-clinic-support small,.platform-clinic-support a{display:block}.platform-clinic-support b{font-size:10px}.platform-clinic-support small{margin-top:3px;color:#849089;font-size:8px}.platform-clinic-support a{margin-top:6px;color:#3d6d59;font-size:9px;font-weight:760;text-decoration:none}.platform-clinic-actions{display:flex;gap:7px}.platform-clinic-actions button{min-height:37px;padding:0 11px;border:1px solid #ccd9d2;border-radius:8px;background:#fff;color:#46695a;cursor:pointer;font:inherit;font-size:9px;font-weight:760}.platform-clinic-actions button.is-danger{border-color:#eccfc2;color:#a04f34}.platform-clinic-actions button.is-success{border-color:#bcd6c8;color:#3b7259}.platform-clinic-actions button:disabled{cursor:not-allowed;opacity:.45}.platform-modal-backdrop{position:fixed;z-index:120;inset:0;display:grid;place-items:center;padding:20px;background:rgba(24,43,36,.48);backdrop-filter:blur(4px)}.platform-modal{width:min(520px,100%);padding:25px;border-radius:16px;background:#fff;box-shadow:0 25px 70px rgba(20,43,34,.27)}.platform-modal>span{color:#a05b40;font-size:10px;font-weight:820;letter-spacing:.08em;text-transform:uppercase}.platform-modal h2{margin:6px 0 8px;color:#29443a;font-size:25px}.platform-modal>p{margin:0 0 17px;color:#77857e;font-size:11px;line-height:1.55}.platform-modal label{display:block;margin-top:13px}.platform-modal label>span{display:block;margin-bottom:6px;color:#53685e;font-size:10px;font-weight:780}.platform-modal select,.platform-modal textarea{width:100%;padding:10px;border:1px solid #d1dcd6;border-radius:9px;outline:0;background:#fbfcfb;color:#344c42;font:inherit;font-size:11px}.platform-modal textarea{min-height:95px;resize:vertical}.platform-modal footer{display:flex;justify-content:flex-end;margin-top:18px;gap:8px}.platform-modal footer button{min-height:40px;padding:0 14px;border:1px solid #cfdad4;border-radius:9px;background:#fff;color:#536c61;cursor:pointer;font:inherit;font-size:10px;font-weight:770}.platform-modal footer button:last-child{border-color:#376953;background:#376953;color:#fff}
.support-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:18px}.support-heading>div>a{display:block;margin-bottom:14px;color:#4b705f;font-size:10px;font-weight:760;text-decoration:none}.support-clock{display:grid;min-width:190px;padding:15px;border:1px solid #ead4b1;border-radius:13px;background:#fff9ec}.support-clock small{color:#8c7852;font-size:9px}.support-clock strong{margin:3px 0 9px;color:#795b24;font-size:25px}.support-clock button{border:0;background:transparent;color:#a04e34;cursor:pointer;font:inherit;font-size:9px;font-weight:780;text-align:left}.support-scope-notice{display:flex;align-items:center;margin-bottom:18px;padding:13px 15px;border:1px solid #d4e2da;border-radius:11px;background:#edf5f1;color:#506c5f;gap:10px}.support-scope-notice>i{display:grid;min-width:28px;height:28px;place-items:center;border-radius:50%;background:#d8e9e0;font-size:11px;font-style:normal;font-weight:850}.support-scope-notice p{margin:0;font-size:10px;line-height:1.5}.support-counters{grid-template-columns:repeat(6,1fr)}.support-counters article{padding:15px;border:1px solid #dfe6e2;border-radius:12px;background:#fff}.support-counters small,.support-counters strong{display:block}.support-counters small{min-height:24px;color:#7d8983;font-size:9px}.support-counters strong{margin-top:5px;color:#29463a;font-size:24px}.support-queue{margin-bottom:17px}.support-queue h2{margin:4px 0 0;font-size:19px}.support-queue>article{display:grid;align-items:center;padding:13px 18px;border-bottom:1px solid #e8ecea;grid-template-columns:minmax(230px,1fr)110px 80px 110px;gap:12px}.support-queue>article span strong,.support-queue>article span small{display:block}.support-queue>article span strong{font-size:11px}.support-queue>article span small{margin-top:3px;color:#88938e;font-size:8px}.support-queue>article>b{padding:5px 7px;border-radius:7px;background:#e8f1ec;color:#4a725f;font-size:8px;text-align:center}.support-queue>article>em,.support-queue>article>code{color:#718078;font-size:9px;font-style:normal}.support-empty{padding:30px;color:#819087;text-align:center}.support-reason{padding:19px}.support-reason p{margin:7px 0;color:#425b50;font-size:11px}.support-reason small{color:#86918b;font-size:9px}.support-unavailable{padding:28px;border:1px solid #ead5ca;border-radius:13px;background:#fff7f3}.support-unavailable strong{color:#8e4933}.support-unavailable p{margin:6px 0 0;color:#836c63;font-size:11px}
@media(max-width:1180px){.role-dashboard__metrics,.audit-metrics{grid-template-columns:1fr 1fr}.role-dashboard__primary-grid,.role-dashboard__secondary-grid,.audit-grid{grid-template-columns:1fr}.support-counters{grid-template-columns:repeat(3,1fr)}.platform-clinic-list>article{grid-template-columns:48px 1fr auto}.platform-clinic-support{grid-column:2}.platform-clinic-actions{grid-column:3;grid-row:1/3}}@media(max-width:850px){.role-dashboard,.audit-workspace,.platform-content{padding:25px 17px 45px}.role-dashboard__heading,.audit-heading,.platform-heading,.support-heading{align-items:flex-start;flex-direction:column}.role-dashboard__heading h1,.audit-heading h1,.platform-heading h1,.support-heading h1{font-size:36px}.role-dashboard__scope,.platform-heading>label,.support-clock{width:100%;min-width:0}.audit-filters{grid-template-columns:1fr 1fr}.audit-filters__action,.audit-filters button{grid-column:1/-1}.platform-shell{grid-template-columns:1fr}.platform-sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid #dce4df}.platform-sidebar>nav{display:none}.platform-profile{margin-top:20px}.platform-topbar{padding-inline:18px}.platform-summary{grid-template-columns:1fr 1fr}}@media(max-width:620px){.role-dashboard__metrics,.audit-metrics,.platform-summary,.support-counters{grid-template-columns:1fr}.role-dashboard__heading p,.audit-heading p{font-size:14px}.role-schedule-list>article{grid-template-columns:55px 40px 1fr}.role-state{grid-column:3}.role-week-bars{padding-inline:15px;gap:8px}.audit-filters{grid-template-columns:1fr}.audit-filters__action,.audit-filters button{grid-column:auto}.platform-clinic-list>article{grid-template-columns:43px 1fr}.platform-clinic-support,.platform-clinic-actions{grid-column:2;grid-row:auto}.platform-clinic-actions{flex-wrap:wrap}.support-queue>article{grid-template-columns:1fr 90px}.support-queue>article>em,.support-queue>article>code{grid-column:auto}.platform-topbar>span{display:none}}
