/* Doctor Green — direção visual editorial-tech */
:root {
  --deep-green: #071710;
  --brand-green: #12a766;
  --surface-green: #1fbd73;
  --cream: #f5f0e7;
  --lime: #c9f45b;
  --graphite: #111713;
  --background: #f1f2ed;
  --surface: #fcfcf9;
  --text: #101a14;
  --muted: #69756d;
  --border: #d8dfd8;
  --soft-green: #e5f4e9;
  --soft-cream: #f9f5ed;
  --shadow: 0 18px 60px rgba(7,23,16,.08);
}

body { font-family: "Instrument Sans", system-ui, sans-serif; font-size: 15px; letter-spacing: -.01em; background: radial-gradient(circle at 92% 3%, rgba(201,244,91,.13), transparent 22%), linear-gradient(145deg, #f4f4ef, #ecefea); }
h1, h2, h3, .metric-value, .chart-total, .workspace-avatar, .user-avatar, .portal-symbol { font-family: "Bricolage Grotesque", sans-serif; }
button, input, select, textarea { font-family: "Instrument Sans", system-ui, sans-serif; }

.app-shell { grid-template-columns: 292px minmax(0, 1fr); }
.sidebar { padding: 27px 20px 20px; background: radial-gradient(circle at 20% 4%, rgba(18,167,102,.2), transparent 20%), linear-gradient(180deg, #071710 0%, #0b2016 58%, #071710 100%); border-right: 1px solid rgba(255,255,255,.05); }
.brand { height: 54px; margin: 0 9px 22px; }
.brand img { width: 202px; height: 48px; object-position: left; }
.workspace-picker { min-height: 72px; padding: 12px; border-color: rgba(255,255,255,.1); border-radius: 18px; background: rgba(255,255,255,.055); backdrop-filter: blur(12px); }
.workspace-avatar { width: 42px; height: 42px; border-radius: 13px; background: linear-gradient(145deg, var(--lime), #96d642); box-shadow: 0 8px 20px rgba(201,244,91,.14); font-size: 13px; }
.workspace-copy strong, .user-card strong, .sidebar-support strong { font-size: 13px; font-weight: 650; }
.workspace-copy small, .user-card small, .sidebar-support small { color: rgba(245,240,231,.48); font-size: 10px; }
.nav-list { margin-top: 18px; gap: 5px; padding-right: 4px; }
.nav-item { min-height: 48px; padding: 0 13px; gap: 12px; border-radius: 13px; color: rgba(245,240,231,.58); font-size: 12px; font-weight: 550; }
.nav-item:hover { color: #fff; background: rgba(255,255,255,.065); }
.nav-item.active { color: var(--deep-green); background: linear-gradient(110deg, #f7f1e8, #eff4e8); box-shadow: 0 10px 26px rgba(0,0,0,.18); }
.nav-icon { width: 22px; height: 22px; display: grid; place-items: center; }
.nav-icon svg { width: 19px; height: 19px; }
.nav-badge { min-width: 23px; padding: 4px 6px; color: #173019; background: var(--lime); font-size: 9px; }
.sidebar-support { padding: 13px; border: 1px solid rgba(201,244,91,.08); border-radius: 16px; background: linear-gradient(135deg, rgba(18,167,102,.2), rgba(255,255,255,.035)); }
.support-icon { color: var(--deep-green); background: var(--lime); font-weight: 800; }
.user-card { margin-top: 10px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.08); }
.user-card button svg { width: 17px; height: 17px; }

.main-content { background: transparent; }
.topbar { min-height: 78px; padding: 0 42px; border-bottom-color: rgba(7,23,16,.08); background: rgba(246,247,242,.78); backdrop-filter: blur(22px) saturate(150%); }
.session-lock { width: 9px; height: 9px; overflow: hidden; border-radius: 50%; color: transparent; background: var(--brand-green); box-shadow: 0 0 0 5px rgba(18,167,102,.12); }
.session-context strong { font-size: 13px; }
.session-context small { margin-top: 3px; font-size: 10px; }
.icon-button { width: 42px; height: 42px; display: grid; place-items: center; border-color: rgba(7,23,16,.1); border-radius: 13px; background: rgba(255,255,255,.72); box-shadow: 0 7px 20px rgba(7,23,16,.04); }
.icon-button svg { width: 19px; height: 19px; }
.store-button, .primary-button { min-height: 44px; padding: 0 19px; border-radius: 13px; }
.store-button { border: 1px solid rgba(7,23,16,.07); background: var(--cream); }
.primary-button { background: linear-gradient(135deg, #071710, #123523); box-shadow: 0 12px 26px rgba(7,23,16,.18); }
.primary-button:hover { transform: translateY(-1px); background: #123523; }

.page { max-width: 1580px; padding: 45px 42px 64px; }
.page-heading { align-items: flex-start; }
.eyebrow, .section-label { margin-bottom: 11px; color: #0e995d; font-size: 10px; font-weight: 750; letter-spacing: .17em; }
.page-heading .eyebrow { display: inline-flex; padding: 6px 9px; border: 1px solid rgba(18,167,102,.12); border-radius: 7px; background: rgba(18,167,102,.065); }
h1 { max-width: 820px; font-size: clamp(34px, 3.25vw, 52px); line-height: .98; letter-spacing: -.055em; font-weight: 700; }
h2 { font-size: 19px; letter-spacing: -.035em; }
.page-heading p:last-child { max-width: 720px; margin-top: 14px; font-size: 15px; line-height: 1.55; }
.heading-actions { padding-top: 22px; }
.live-status { font-size: 11px; }

.metrics { margin-top: 34px; gap: 18px; }
.metric { min-height: 154px; padding: 22px; border: 1px solid rgba(7,23,16,.085); border-radius: 24px; background: rgba(252,252,249,.9); box-shadow: 0 18px 50px rgba(7,23,16,.065); }
.metric:first-child { color: var(--cream); border-color: transparent; background: radial-gradient(circle at 90% 8%, rgba(201,244,91,.23), transparent 27%), linear-gradient(140deg, #071710, #123d27); }
.metric:first-child .metric-top, .metric:first-child .metric-detail { color: rgba(245,240,231,.62); }
.metric:first-child .metric-value { color: #fff; }
.metric:first-child .metric-icon { color: var(--deep-green); background: var(--lime); }
.metric:nth-child(4) { background: linear-gradient(150deg, #f7f2e8, #edf4e9); }
.metric-top { font-size: 11px; }
.metric-icon { width: 38px; height: 38px; border-radius: 12px; }
.metric-value { margin-top: 20px; font-size: 31px; letter-spacing: -.055em; }
.metric-detail { margin-top: 7px; font-size: 10px; }

.dashboard-grid, .bottom-grid { margin-top: 18px; gap: 18px; }
.dashboard-grid { grid-template-columns: minmax(0, 1.72fr) minmax(330px, .72fr); }
.panel { padding: 25px; border: 1px solid rgba(7,23,16,.085); border-radius: 25px; background: rgba(252,252,249,.92); box-shadow: 0 20px 60px rgba(7,23,16,.065); }
.panel-heading { align-items: center; }
.period { padding: 7px 10px; border-radius: 10px; font-size: 10px; }
.table-wrap { margin-top: 22px; }
th { padding: 12px 13px; color: #818c84; font-size: 9px; letter-spacing: .12em; }
td { padding: 17px 13px; color: #3a493f; font-size: 12px; }
tbody tr { transition: background .15s ease; }
tbody tr:hover { background: rgba(18,167,102,.035); }
.status { padding: 6px 9px; font-size: 9px; }
.row-action.strong { padding: 9px 12px; border-radius: 10px; }

.journey-number { width: 34px; height: 34px; color: #fff; background: var(--deep-green); }
.journey li { min-height: 55px; }
.journey-copy strong { font-size: 13px; }
.quick-actions { gap: 12px; }
.quick-action { min-height: 74px; padding: 14px; border-color: rgba(7,23,16,.09); border-radius: 16px; font-size: 12px; }
.quick-action:hover { transform: translateY(-2px); border-color: rgba(18,167,102,.38); box-shadow: 0 12px 28px rgba(7,23,16,.07); }
.quick-action b { margin-left: auto; color: #8a968e; font-size: 15px; font-weight: 500; transition: transform .18s ease, color .18s ease; }
.quick-action:hover b { color: var(--brand-green); transform: translate(2px,-2px); }
.quick-icon { width: 38px; height: 38px; border-radius: 12px; color: var(--deep-green); background: var(--lime); }
.quick-icon svg { width: 19px; height: 19px; }

/* Camada de interação: gráficos, busca global e painéis contextuais */
.chart-controls { display: flex; justify-content: flex-end; gap: 5px; margin: -47px 0 20px; }
.chart-controls button { min-height: 30px; padding: 0 11px; border: 1px solid transparent; border-radius: 9px; color: #7a877f; background: transparent; font-size: 10px; font-weight: 700; cursor: pointer; }
.chart-controls button:hover { color: var(--deep-green); background: #eef2ec; }
.chart-controls button.active { color: #fff; background: var(--deep-green); box-shadow: 0 7px 18px rgba(7,23,16,.15); }
.interactive-chart .bar-wrap { position: relative; height: 100%; padding: 0; border: 0; background: transparent; cursor: crosshair; }
.interactive-chart .bar-wrap:focus-visible { outline: 2px solid var(--brand-green); outline-offset: 5px; border-radius: 8px; }
.interactive-chart .bar { width: 100%; transition: height .35s cubic-bezier(.2,.8,.2,1), filter .18s ease, transform .18s ease; transform-origin: bottom; }
.interactive-chart .bar-wrap:hover .bar, .interactive-chart .bar-wrap:focus .bar { filter: saturate(1.35); transform: scaleX(1.08); }
.bar-tooltip { position: absolute; z-index: 4; left: 50%; bottom: calc(100% + 10px); padding: 7px 9px; border-radius: 9px; color: #fff; background: var(--deep-green); box-shadow: 0 8px 22px rgba(7,23,16,.2); font-size: 10px; font-weight: 700; white-space: nowrap; opacity: 0; pointer-events: none; transform: translate(-50%,6px); transition: opacity .16s ease, transform .16s ease; }
.bar-tooltip::after { content: ""; position: absolute; top: 100%; left: 50%; border: 5px solid transparent; border-top-color: var(--deep-green); transform: translateX(-50%); }
.bar-wrap:hover .bar-tooltip, .bar-wrap:focus .bar-tooltip { opacity: 1; transform: translate(-50%,0); }

.command-palette { width: min(660px, calc(100vw - 32px)); overflow: hidden; border: 1px solid rgba(255,255,255,.14); border-radius: 24px; background: rgba(250,251,247,.98); box-shadow: 0 34px 100px rgba(3,16,9,.28); }
.command-search { display: grid; grid-template-columns: 24px minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 18px 20px; border-bottom: 1px solid rgba(7,23,16,.09); }
.command-search > span { color: var(--brand-green); }
.command-search svg { width: 20px; height: 20px; }
.command-search input { width: 100%; border: 0; outline: 0; color: var(--deep-green); background: transparent; font-size: 16px; }
.command-search input::placeholder { color: #89938d; }
.command-palette kbd { display: inline-grid; min-width: 25px; height: 25px; place-items: center; padding: 0 6px; border: 1px solid #dbe1da; border-bottom-width: 2px; border-radius: 7px; color: #6f7a73; background: #f2f4ef; font: 650 9px/1 "Instrument Sans", sans-serif; }
.command-hint, .command-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; color: #778179; }
.command-hint { padding: 14px 20px 7px; }
.command-hint span { color: #526058; font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.command-hint small, .command-footer { font-size: 10px; }
.command-results { max-height: min(410px, 52vh); overflow: auto; padding: 7px 10px 12px; }
.command-results button { width: 100%; display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 13px; padding: 11px 12px; border: 0; border-radius: 13px; color: var(--deep-green); background: transparent; text-align: left; cursor: pointer; }
.command-results button:hover, .command-results button:focus-visible { outline: 0; background: #eaf3e9; }
.command-results button > span:nth-child(2) { display: grid; gap: 2px; }
.command-results strong { font-size: 13px; }
.command-results small { color: #7a867e; font-size: 10px; }
.command-icon { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 11px; color: var(--deep-green); background: var(--lime); }
.command-icon svg { width: 18px; height: 18px; }
.command-footer { padding: 12px 20px; border-top: 1px solid rgba(7,23,16,.08); background: #f3f5f0; }
.command-footer span:first-child { display: flex; align-items: center; gap: 4px; }

.notification-sheet { width: min(620px, calc(100vw - 32px)); overflow: hidden; border-radius: 26px; background: #fafbf7; box-shadow: 0 34px 100px rgba(3,16,9,.28); }
.sheet-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 25px 26px 18px; }
.sheet-heading h2 { font-size: 28px; }
.sheet-heading p:last-child { margin-top: 5px; color: var(--muted); font-size: 12px; }
.notification-list { display: grid; gap: 8px; max-height: min(510px, 58vh); overflow: auto; padding: 4px 16px 16px; }
.notification-item { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 13px; padding: 14px; border: 1px solid rgba(7,23,16,.08); border-radius: 16px; background: #fff; }
.notification-item > span { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; color: var(--deep-green); background: var(--lime); }
.notification-item > span svg { width: 18px; height: 18px; }
.notification-item > div { min-width: 0; }
.notification-item strong { font-size: 12px; }
.notification-item p { margin-top: 3px; overflow: hidden; color: #657169; font-size: 10px; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; }
.notification-item small { display: block; margin-top: 5px; color: #96a098; font-size: 9px; }
.notification-item button { padding: 8px 10px; border: 0; border-radius: 9px; color: #fff; background: var(--deep-green); font-size: 9px; font-weight: 750; cursor: pointer; }
.notification-item.treated { opacity: .65; }
.notification-item > i { color: var(--brand-green); font-style: normal; font-weight: 800; }
.notification-empty { min-height: 260px; display: grid; place-items: center; align-content: center; gap: 9px; color: #758178; }
.notification-empty svg { width: 30px; height: 30px; color: var(--brand-green); }
.notification-empty strong { color: var(--deep-green); }
.sheet-footer { display: flex; justify-content: flex-end; gap: 9px; padding: 15px 20px 20px; border-top: 1px solid rgba(7,23,16,.07); }

.association-detail { width: min(720px, calc(100vw - 32px)); overflow: hidden; border-radius: 28px; background: #f9faf6; box-shadow: 0 34px 100px rgba(3,16,9,.3); }
.association-cover { min-height: 210px; display: flex; align-items: flex-start; justify-content: space-between; padding: 30px; color: #fff; background: radial-gradient(circle at 86% 22%, rgba(201,244,91,.25), transparent 25%), linear-gradient(140deg,#071710,#105b38); }
.association-cover > div > span { width: 47px; height: 47px; display: grid; place-items: center; margin-bottom: 28px; border-radius: 14px; color: var(--deep-green); background: var(--lime); font-weight: 800; }
.association-cover p { color: rgba(255,255,255,.57); font-size: 9px; font-weight: 750; letter-spacing: .15em; }
.association-cover h2 { margin-top: 7px; font-size: 34px; line-height: 1; }
.association-cover small { display: block; margin-top: 9px; color: rgba(255,255,255,.7); }
.dialog-close.inverse { color: #fff; border-color: rgba(255,255,255,.16); background: rgba(255,255,255,.08); }
.association-body { padding: 24px 28px 26px; }
.association-stat-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
.association-stat-grid article { padding: 15px; border: 1px solid rgba(7,23,16,.075); border-radius: 14px; background: #fff; }
.association-stat-grid span { color: var(--muted); font-size: 9px; }
.association-stat-grid strong { display: block; margin-top: 6px; font: 700 17px/1 "Bricolage Grotesque", sans-serif; }
.association-info { display: grid; grid-template-columns: 1.35fr 1fr; gap: 28px; padding: 24px 3px; }
.association-info h3 { font-size: 18px; }
.association-info p:last-child, .association-info span { display: block; margin-top: 6px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.association-actions { display: flex; justify-content: flex-end; gap: 9px; }
.association-warning { margin-top: 14px; color: #8b958e; font-size: 9px; text-align: right; }

#app-dialog:has(.command-palette), #app-dialog:has(.notification-sheet), #app-dialog:has(.association-detail) { padding: 0; border: 0; border-radius: 28px; background: transparent; }
#app-dialog:has(.command-palette) { width: min(660px, calc(100vw - 32px)); }
#app-dialog:has(.notification-sheet) { width: min(620px, calc(100vw - 32px)); }
#app-dialog:has(.association-detail) { width: min(720px, calc(100vw - 32px)); }
.command-palette, .notification-sheet, .association-detail { width: 100%; }
#app-dialog::backdrop { background: rgba(3,13,8,.52); backdrop-filter: blur(8px); }

/* Cadastro público e central de identidade do paciente */
.patient-signup { display: flex; align-items: center; justify-content: center; gap: 7px; padding: 14px 0 2px; color: #738078; font-size: 11px; }
.patient-signup button { padding: 0; border: 0; color: var(--brand-green); background: transparent; font: 750 11px/1.3 "Instrument Sans",sans-serif; cursor: pointer; }
.patient-signup button:hover { color: var(--deep-green); text-decoration: underline; text-underline-offset: 3px; }
#app-dialog:has(.registration-form) { width: min(940px,calc(100vw - 28px)); max-width: 940px; }
.registration-form { width: 100%; max-height: min(880px,calc(100vh - 30px)); overflow: auto; padding: 30px; }
.registration-progress { display: grid; grid-template-columns: auto 1fr auto 1fr auto; align-items: center; gap: 10px; margin: 20px 0; }
.registration-progress span { display: inline-flex; align-items: center; gap: 7px; color: #7b877e; font-size: 9px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.registration-progress b { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 9px; color: #6e7971; background: #edf0eb; font-size: 9px; }
.registration-progress span.active { color: var(--deep-green); }
.registration-progress span.active b { color: var(--deep-green); background: var(--lime); }
.registration-progress i { height: 1px; background: #dce2dc; }
.google-login-button.compact { justify-content: flex-start; gap: 12px; min-height: 62px; margin-bottom: 18px; padding: 8px 18px; text-align: left; }
.google-login-button.compact > span:last-child { display: grid; gap: 2px; }
.google-login-button.compact strong { font-size: 12px; }
.google-login-button.compact small { color: var(--muted); font-size: 9px; font-weight: 500; }
.google-login-button.compact.selected { border-color: var(--brand-green); background: #edf8ef; box-shadow: 0 0 0 3px rgba(18,167,102,.08); }
.registration-fields { padding-top: 18px; border-top: 1px solid rgba(7,23,16,.08); }
.registration-section { margin-top: 18px; padding: 22px; border: 1px solid #dce5de; border-radius: 22px; background: #fbfcfa; }
.registration-section-heading { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.registration-section-heading > span { width: 36px; height: 36px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 12px; color: #fff; background: var(--deep-green); font: 800 10px/1 "Instrument Sans",sans-serif; }
.registration-section-heading > div { display: grid; gap: 3px; }
.registration-section-heading strong { color: var(--deep-green); font-size: 13px; }
.registration-section-heading small { color: var(--muted); font-size: 9px; line-height: 1.45; }
.identity-upload-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.identity-upload { position: relative; min-height: 132px; display: flex!important; align-items: center!important; justify-content: center; flex-direction: column; gap: 6px!important; padding: 20px; overflow: hidden; border: 1px dashed #afc3b5; border-radius: 18px; background: #f4f8f4; text-align: center; cursor: pointer; }
.identity-upload:hover { border-color: var(--brand-green); background: #edf8ef; }
.identity-upload > span { width: 34px; height: 34px; display: grid; place-items: center; color: var(--brand-green); }
.identity-upload svg { width: 24px; height: 24px; }
.identity-upload strong { color: var(--deep-green); font-size: 11px; }
.identity-upload small { color: var(--muted); font-size: 8px; }
.identity-upload input[type=file] { width: auto; max-width: 100%; min-height: 32px; margin-top: 5px; padding: 5px; border: 0; background: transparent; font-size: 8px; }
.selfie-capture { grid-column: 1/-1; margin-top: 2px; padding: 18px; border-radius: 20px; color: #fff; background: linear-gradient(145deg,#06170e,#0b3824); }
.selfie-copy { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.selfie-copy > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; color: var(--lime); background: rgba(255,255,255,.08); }
.selfie-copy svg { width: 21px; height: 21px; }
.selfie-copy div { display: grid; gap: 3px; }
.selfie-copy strong { font-size: 12px; }.selfie-copy small { color: #b9cbc0; font-size: 8px; line-height: 1.45; }
.selfie-stage { min-height: 250px; display: grid; place-items: center; overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 18px; background: #020a06; }
.selfie-stage video,.selfie-stage canvas { width: min(100%,420px); max-height: 330px; object-fit: cover; }
.selfie-placeholder { display: grid; justify-items: center; gap: 10px; color: #9cb0a3; font-size: 9px; }.selfie-placeholder svg { width: 34px; height: 34px; color: var(--lime); }
.selfie-actions { display: flex; align-items: center; gap: 10px; margin-top: 14px; }.selfie-actions .secondary-button { color: #fff; border-color: rgba(255,255,255,.22); background: transparent; }.selfie-actions .text-button { color: var(--lime); }
.private-upload-note { display: flex; align-items: flex-start; gap: 12px; margin-top: 16px; padding: 16px 18px; border-left: 3px solid var(--brand-green); background: #eef6f0; }
.private-upload-note > svg { width: 24px; height: 24px; flex: 0 0 auto; color: var(--brand-green); }.private-upload-note strong { color: var(--deep-green); font-size: 10px; }.private-upload-note p { margin: 4px 0 0; color: var(--muted); font-size: 8px; line-height: 1.55; }
.guardian-fields { margin: 4px 0; padding: 16px; border: 1px solid #dce2dc; border-radius: 16px; background: #f6f8f4; }
.guardian-fields legend { padding: 0 7px; color: var(--deep-green); font-size: 11px; font-weight: 800; }
.guardian-fields > p { margin-bottom: 12px; color: var(--muted); font-size: 9px; }
.guardian-fields > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.consent-card { display: grid; gap: 9px; margin-top: 17px; padding: 16px; border-radius: 17px; background: #f1f5ef; }
.consent-card label { display: grid; grid-template-columns: 18px minmax(0,1fr); align-items: flex-start; gap: 10px; cursor: pointer; }
.consent-card input { width: 17px; height: 17px; margin-top: 1px; accent-color: var(--brand-green); }
.consent-card span, .consent-card strong, .consent-card small { display: block; }
.consent-card strong { color: var(--deep-green); font-size: 10px; }
.consent-card small { margin-top: 3px; color: var(--muted); font-size: 8px; line-height: 1.45; }
.registration-feedback { margin-top: 12px; padding: 11px 13px; border-radius: 11px; font-size: 10px; font-weight: 700; }
.registration-feedback.error { color: #8f2f2f; border: 1px solid #f0cccc; background: #fff0f0; }
.form-grid.one-column { grid-template-columns: 1fr; }
.account-hero { min-height: 190px; display: flex; align-items: center; justify-content: space-between; gap: 28px; margin: 28px 0 18px; padding: 30px 34px; overflow: hidden; border-radius: 28px; color: #fff; background: radial-gradient(circle at 88% 12%,rgba(201,244,91,.18),transparent 27%),linear-gradient(135deg,#06150d,#0b3924 70%,#116b41); box-shadow: 0 26px 76px rgba(7,23,16,.17); }
.account-identity { display: flex; align-items: center; gap: 18px; }
.account-avatar { width: 72px; height: 72px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid rgba(255,255,255,.17); border-radius: 22px; color: var(--deep-green); background: var(--lime); font: 750 22px/1 "Bricolage Grotesque",sans-serif; }
.account-hero .section-label { color: rgba(255,255,255,.5); }
.account-hero h2 { margin-top: 5px; color: #fff; font-size: 30px; }
.account-status { display: inline-flex; align-items: center; gap: 6px; margin-top: 9px; color: rgba(255,255,255,.72); font-size: 10px; }
.account-status i { width: 7px; height: 7px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 4px rgba(201,244,91,.11); }
.profile-completion { width: min(330px,38%); }
.profile-completion > div:first-child { display: flex; align-items: baseline; justify-content: space-between; }
.profile-completion strong { color: var(--lime); font: 700 30px/1 "Bricolage Grotesque",sans-serif; }
.profile-completion span, .profile-completion small { color: rgba(255,255,255,.64); font-size: 9px; }
.completion-track { height: 7px; margin: 12px 0 9px; overflow: hidden; border-radius: 9px; background: rgba(255,255,255,.12); }
.completion-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--brand-green),var(--lime)); }
.account-grid { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(330px,.7fr); gap: 18px; margin-bottom: 18px; }
.account-grid.lower { grid-template-columns: minmax(0,1.2fr) minmax(330px,.8fr); }
.account-details { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; margin-top: 18px; border: 1px solid rgba(7,23,16,.075); border-radius: 16px; overflow: hidden; }
.account-details div { min-height: 70px; padding: 14px 16px; border-right: 1px solid rgba(7,23,16,.07); border-bottom: 1px solid rgba(7,23,16,.07); background: #fafbf8; }
.account-details div:nth-child(even) { border-right: 0; }
.account-details .wide { grid-column: 1/-1; }
.account-details dt { color: var(--muted); font-size: 8px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.account-details dd { margin: 7px 0 0; color: var(--deep-green); font-size: 12px; font-weight: 700; }
.verification-list { display: grid; gap: 8px; margin-top: 17px; }
.verification-list > span { display: grid; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 11px; border: 1px solid rgba(7,23,16,.075); border-radius: 14px; background: #fafbf8; }
.verification-list > span > i { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 10px; font-style: normal; font-weight: 850; }
.verification-list .verified > i { color: #08744a; background: #ddf4e5; }
.verification-list .pending > i { color: #98640e; background: #fff0d2; }
.verification-list strong,.verification-list small { display: block; }
.verification-list strong { font-size: 11px; }
.verification-list small { max-width: 150px; margin-top: 2px; overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.verification-list b { color: #16845a; font-size: 8px; text-transform: uppercase; }
.verification-list button { padding: 7px 9px; border: 0; border-radius: 8px; color: #fff; background: var(--deep-green); font-size: 8px; font-weight: 750; cursor: pointer; }
.security-note { display: flex; align-items: center; gap: 10px; margin-top: 14px; padding: 12px; border-radius: 13px; color: #39604b; background: #eaf3e9; }
.security-note svg { width: 20px; height: 20px; flex: 0 0 auto; }
.security-note strong,.security-note small { display: block; }
.security-note strong { font-size: 9px; }
.security-note small { margin-top: 2px; color: #687b6e; font-size: 8px; }
.address-list { display: grid; gap: 9px; margin-top: 17px; }
.address-list > div { display: flex; align-items: center; gap: 13px; padding: 14px; border: 1px solid rgba(7,23,16,.075); border-radius: 14px; background: #fafbf8; }
.address-list > div > span { width: 39px; height: 39px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 11px; color: var(--deep-green); background: var(--lime); }
.address-list svg { width: 18px; height: 18px; }
.address-list strong,.address-list p,.address-list small { display: block; }
.address-list strong { font-size: 11px; }
.address-list p { margin-top: 3px; color: #4e5e54; font-size: 9px; }
.address-list small { margin-top: 2px; color: var(--muted); font-size: 8px; }
.consent-lines { display: grid; gap: 11px; margin: 17px 0; }
.consent-lines > span { display: flex; align-items: center; gap: 10px; }
.consent-lines i { width: 29px; height: 29px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 9px; color: #08744a; background: #ddf4e5; font-style: normal; font-size: 10px; font-weight: 850; }
.consent-lines strong,.consent-lines small { display: block; }
.consent-lines strong { font-size: 10px; }.consent-lines small { margin-top: 2px; color: var(--muted); font-size: 8px; }
.consent-switch { display: flex; align-items: center; gap: 10px; margin-top: 17px; padding: 13px; border-radius: 13px; background: #f2f5f0; font-size: 10px; font-weight: 650; }
.consent-switch input { accent-color: var(--brand-green); }
.patient-status-button { padding: 7px 10px; border: 1px solid #cfe5d5; border-radius: 9px; color: #08744a; background: #e8f6ec; font-size: 8px; font-weight: 800; cursor: pointer; }
.patient-status-button.blocked { color: #8c3636; border-color: #efcece; background: #fff0f0; }
.account-action-summary { display: flex; align-items: center; gap: 12px; margin: 18px 0; padding: 14px; border-radius: 15px; background: #f2f5f0; }
.account-action-summary > span { width: 43px; height: 43px; display: grid; place-items: center; border-radius: 12px; color: var(--deep-green); background: var(--lime); font-weight: 800; }
.account-action-summary strong,.account-action-summary small { display: block; }.account-action-summary small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.full-dialog-field { display: grid; gap: 6px; color: var(--deep-green); font-size: 10px; font-weight: 750; }
.full-dialog-field input { min-height: 49px; padding: 0 13px; border: 1px solid #d8dfd8; border-radius: 12px; background: #fff; }
.primary-button.danger-action { background: #8c3434; }
.account-connected-flow,.patient-360-flow { display:grid; grid-template-columns:minmax(150px,1fr) 28px minmax(150px,1fr) 28px minmax(150px,1fr) 28px minmax(150px,1fr); align-items:center; gap:8px; margin:0 0 18px; padding:16px; border:1px solid rgba(7,23,16,.08); border-radius:20px; background:rgba(252,252,249,.9); box-shadow:0 15px 45px rgba(7,23,16,.05); }
.account-connected-flow article,.patient-360-flow article { display:flex; align-items:center; gap:10px; min-width:0; padding:10px; border-radius:13px; background:#f0f2ee; }
.account-connected-flow article.complete,.patient-360-flow article.complete { background:#e7f5e9; }
.account-connected-flow b,.patient-360-flow b { width:30px; height:30px; display:grid; place-items:center; flex:0 0 auto; border-radius:10px; color:#6d786f; background:#fff; font-size:9px; }
.account-connected-flow .complete b,.patient-360-flow .complete b { color:var(--deep-green); background:var(--lime); }
.account-connected-flow strong,.account-connected-flow small,.patient-360-flow strong,.patient-360-flow small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.account-connected-flow strong,.patient-360-flow strong { font-size:10px; }.account-connected-flow small,.patient-360-flow small { margin-top:2px; color:var(--muted); font-size:8px; }
.account-connected-flow > i,.patient-360-flow > i { height:1px; background:#cad3cb; }
.full-account-button { width:100%; margin-top:10px; }
.account-close-zone { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:16px; padding:14px; border:1px solid #edd1d1; border-radius:14px; background:#fff8f7; }
.account-close-zone span,.account-close-zone strong,.account-close-zone small { display:block; }.account-close-zone strong { color:#702d2d; font-size:9px; }.account-close-zone small { max-width:290px; margin-top:3px; color:#866; font-size:8px; line-height:1.4; }
.account-close-zone button,.address-actions button { padding:7px 9px; border:0; border-radius:8px; background:transparent; font-size:8px; font-weight:800; cursor:pointer; }
.account-close-zone button { flex:0 0 auto; color:#8c3434; background:#f8dddd; }
.address-list > div > div { min-width:0; flex:1; }.address-actions { display:flex; gap:6px; margin-top:8px; }.address-actions button { color:#12653f; background:#e8f3e9; }.address-actions button:last-child { color:#8c3434; background:#fae7e7; }
.patient-360-link { display:block; margin-top:7px; padding:0; border:0; color:#0b8b55; background:transparent; font-size:8px; font-weight:800; cursor:pointer; }
.patient-360-action { display:block; min-width:76px; margin-top:7px; padding:7px 9px; border:1px solid rgba(7,23,16,.1); border-radius:9px; color:var(--deep-green); background:#fff; font-size:8px; font-weight:800; cursor:pointer; }
#app-dialog:has(.patient-360) { width:min(980px,calc(100vw - 28px)); max-width:980px; }
.patient-360 { max-height:calc(100vh - 30px); overflow:auto; background:#f6f7f2; }
.patient-360-head { display:grid; grid-template-columns:60px minmax(0,1fr) auto; align-items:center; gap:16px; padding:25px 28px; color:#fff; background:radial-gradient(circle at 85% 15%,rgba(201,244,91,.18),transparent 27%),linear-gradient(135deg,#06150d,#0c422a); }
.patient-360-avatar { width:58px; height:58px; display:grid; place-items:center; border-radius:18px; color:var(--deep-green); background:var(--lime); font:800 17px/1 "Bricolage Grotesque",sans-serif; }
.patient-360-head .section-label { margin:0 0 5px; color:rgba(255,255,255,.5); }.patient-360-head h2 { color:#fff; font-size:27px; }.patient-360-head span { color:rgba(255,255,255,.6); font-size:9px; }
.dialog-close.inverse { color:#fff; background:rgba(255,255,255,.1); }
.patient-360-flow { margin:20px 24px 0; box-shadow:none; }
.patient-360-grid,.patient-360-columns { display:grid; gap:14px; margin:14px 24px; }.patient-360-grid { grid-template-columns:1fr 1fr; }.patient-360-columns { grid-template-columns:repeat(3,1fr); }
.patient-360-grid > section,.patient-360-columns > article,.patient-360-audit { padding:18px; border:1px solid rgba(7,23,16,.08); border-radius:17px; background:#fff; }
.patient-360-grid dl { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.patient-360-grid dl div { padding:9px; border-radius:10px; background:#f5f7f3; }.patient-360-grid dt { color:var(--muted); font-size:7px; font-weight:800; text-transform:uppercase; }.patient-360-grid dd { margin:4px 0 0; font-size:9px; font-weight:700; }
.patient-360-columns article > span { display:block; padding:9px 0; border-bottom:1px solid #edf0eb; }.patient-360-columns strong,.patient-360-columns small { display:block; font-size:9px; }.patient-360-columns small { margin-top:3px; color:var(--muted); font-size:8px; }
.patient-360-audit { margin:14px 24px; }.patient-360-audit > span { display:grid; grid-template-columns:120px 170px 1fr; gap:10px; padding:8px 0; border-bottom:1px solid #edf0eb; font-size:8px; }.patient-360-audit time,.patient-360-audit small { color:var(--muted); }
.patient-360 footer { display:flex; justify-content:flex-end; padding:0 24px 24px; }
.password-rules,.recovery-safety { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; padding:12px; border-radius:13px; color:#355e47; background:#eaf3e9; font-size:8px; font-weight:700; }
.cancellation-impact { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:17px 0; }.cancellation-impact span { display:grid; gap:7px; padding:12px; border-radius:12px; background:#fff2f0; }.cancellation-impact b { color:#8c3434; }.cancellation-impact small { color:#795353; font-size:8px; line-height:1.4; }.cancellation-impact.compact { grid-template-columns:1fr; }
.danger-consent { color:#762f2f; background:#fff0ef; }.recovery-countdown { color:#7a5441; font-size:9px; font-weight:700; }

.doctor-billing-hero { display:grid; grid-template-columns:1.4fr .8fr; gap:18px; margin-bottom:22px; }
.doctor-billing-hero > div,.doctor-billing-hero > aside { border-radius:28px; padding:28px; color:#fff; background:linear-gradient(135deg,#062f20,#0c5234); box-shadow:0 24px 60px rgba(8,48,31,.16); }
.doctor-billing-hero h2 { margin:7px 0 4px; font-size:clamp(28px,4vw,44px); letter-spacing:-.04em; }
.doctor-billing-hero > div > span { color:#c5dfcf; }
.doctor-billing-hero > div > div { display:flex; gap:8px; flex-wrap:wrap; margin-top:22px; }
.doctor-billing-hero em { padding:8px 11px; border:1px solid #ffffff26; border-radius:999px; font-style:normal; font-size:12px; color:#e9f7ee; }
.doctor-billing-hero aside { display:flex; align-items:center; gap:18px; background:linear-gradient(135deg,#f4fbf5,#dff1e5); color:#0b3522; }
.asaas-brand { display:grid; place-items:center; width:58px; height:58px; border-radius:18px; background:#1c64f2; color:#fff; font-size:28px; font-weight:900; }
.doctor-billing-hero aside small,.doctor-billing-hero aside p { color:#65766b; }
.doctor-billing-grid { display:grid; grid-template-columns:1.35fr .65fr; gap:18px; }
.doctor-price-form { display:grid; gap:16px; }
.doctor-price-form > label { display:grid; gap:6px; font-weight:800; }
.doctor-price-form > label > span { font-size:12px; color:#738078; font-weight:500; }
.currency-input { display:flex; align-items:center; border:1px solid #d9e3db; border-radius:15px; overflow:hidden; background:#fbfdfb; }
.currency-input b { padding:0 14px; color:#1d6d43; }
.currency-input input { flex:1; border:0!important; background:transparent!important; }
.billing-live { padding:7px 10px; border-radius:999px; background:#e4f5e9; color:#177043; font-size:11px; font-weight:900; }
.form-footnote { margin:0; font-size:12px; color:#6e7b72; }
.billing-summary { display:flex; flex-direction:column; gap:15px; }
.billing-summary > strong { font-size:38px; letter-spacing:-.05em; color:#0b3a25; }
.billing-summary > span { color:#68766d; }
.billing-summary > div { display:grid; gap:4px; padding:14px; border-radius:14px; background:#f2f7f3; }
.billing-summary small { color:#77847b; }
.consultation-doctor-choice { display:flex; align-items:center; gap:14px; padding:16px; border-radius:18px; background:linear-gradient(135deg,#edf8f0,#f8fbf7); border:1px solid #dceade; margin:18px 0; }
.consultation-doctor-choice > span { display:grid; place-items:center; width:48px; height:48px; border-radius:15px; background:#0e5a37; color:#fff; font-weight:900; }
.consultation-doctor-choice div { flex:1; display:grid; }
.consultation-doctor-choice small { color:#248052; font-weight:900; letter-spacing:.08em; }
.consultation-doctor-choice p { margin:2px 0 0; color:#69776e; }
.consultation-doctor-choice em { font-style:normal; color:#1c7548; font-weight:800; }
.consultation-price-preview { display:flex; justify-content:space-between; align-items:center; gap:20px; margin:18px 0; padding:18px; border-radius:18px; background:#0b3422; color:#fff; }
.consultation-price-preview span { display:grid; gap:3px; }
.consultation-price-preview small { color:#b7d3c1; letter-spacing:.08em; }
.consultation-price-preview strong { font-size:28px; }
.consultation-price-preview p { max-width:260px; margin:0; color:#d8e8dd; text-align:right; }
.consultation-payment-status { display:flex; align-items:center; gap:12px; margin:0 0 16px; padding:13px 16px; border-radius:16px; }
.consultation-payment-status > span { display:grid; place-items:center; width:38px; height:38px; border-radius:12px; font-weight:900; }
.consultation-payment-status div { display:grid; }
.consultation-payment-status small { color:#69776e; }
.consultation-payment-status.paid { background:#e8f6ed; border:1px solid #cde8d5; }
.consultation-payment-status.paid > span { background:#1b8a52; color:#fff; }
.consultation-payment-status.pending { background:#fff7e4; border:1px solid #f0dfae; }
.consultation-payment-status.pending > span { background:#d79722; color:#fff; }

@media (max-width: 1000px) {
  .doctor-billing-hero,.doctor-billing-grid { grid-template-columns:1fr; }
}

@media (max-width: 820px) {
  .guardian-fields > div,.account-grid,.account-grid.lower,.identity-upload-grid { grid-template-columns: 1fr; }
  .account-hero { align-items: flex-start; flex-direction: column; }
  .profile-completion { width: 100%; }
  .account-connected-flow,.patient-360-flow { grid-template-columns:repeat(2,1fr); }.account-connected-flow > i,.patient-360-flow > i { display:none; }
  .patient-360-grid,.patient-360-columns { grid-template-columns:1fr; }.cancellation-impact { grid-template-columns:1fr 1fr; }
}
@media (max-width: 560px) {
  .registration-form { padding: 21px; }
  .registration-section { padding: 16px; border-radius: 18px; }.selfie-stage { min-height: 220px; }.selfie-actions { align-items: stretch; flex-direction: column; }.selfie-actions button { width: 100%; }
  .registration-progress span { font-size: 0; }.registration-progress span b { font-size: 9px; }
  .account-details { grid-template-columns: 1fr; }.account-details div { border-right: 0; }
  .account-hero { padding: 24px; }.account-avatar { width: 58px; height: 58px; border-radius: 18px; }
  .account-connected-flow,.patient-360-flow { grid-template-columns:1fr; }.patient-360-grid dl { grid-template-columns:1fr; }.patient-360-audit > span { grid-template-columns:1fr; gap:3px; }.account-close-zone { align-items:flex-start; flex-direction:column; }.cancellation-impact { grid-template-columns:1fr; }
}

.product-card, .company-card { border-radius: 24px; box-shadow: 0 18px 50px rgba(7,23,16,.07); }
.product-body { padding: 21px; }
.product-body h2 { font-size: 20px; }
.product-price { font-family: "Bricolage Grotesque", sans-serif; font-size: 22px; }
.product-card.membership-locked { border-color: rgba(7,23,16,.08); }
.product-card.membership-locked .product-art { filter: saturate(.72); }
.locked-price { color: #68736c; font-size: 15px; }
.membership-button { min-height: 43px; padding: 0 15px; border: 1px solid var(--deep-green); border-radius: 12px; color: var(--deep-green); background: #fff; font-size: 11px; font-weight: 750; cursor: pointer; }
.membership-button:hover { color: #fff; background: var(--deep-green); }
.membership-button.pending { color: #778279; border-color: #d7ddd7; background: #f0f2ee; cursor: not-allowed; }
.catalog-access-flow { display: grid; grid-template-columns: minmax(0,1fr) 42px minmax(0,1fr) 42px minmax(0,1fr); align-items: center; gap: 10px; margin-top: 31px; padding: 18px; border: 1px solid rgba(7,23,16,.08); border-radius: 22px; background: rgba(255,255,255,.72); box-shadow: 0 16px 46px rgba(7,23,16,.05); }
.catalog-access-flow article { display: flex; align-items: center; gap: 11px; }
.catalog-access-flow article > span { width: 36px; height: 36px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 12px; color: #77847b; background: #e8ece7; font-size: 11px; font-weight: 800; }
.catalog-access-flow article.complete > span { color: var(--deep-green); background: var(--lime); }
.catalog-access-flow strong, .catalog-access-flow small { display: block; }
.catalog-access-flow strong { font-size: 12px; }
.catalog-access-flow small { margin-top: 2px; color: var(--muted); font-size: 9px; }
.catalog-access-flow > i { height: 1px; background: linear-gradient(90deg,#b9c4bb,#dfe4de); }
.access-gate { min-height: 260px; display: flex; align-items: center; gap: 24px; margin-top: 32px; }
.access-gate > span { width: 72px; height: 72px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 22px; color: var(--deep-green); background: var(--lime); }
.access-gate svg { width: 30px; height: 30px; }
.access-gate h2 { font-size: 24px; }
.access-gate p:last-child { max-width: 620px; margin-top: 8px; color: var(--muted); line-height: 1.55; }
.search-field, .partner-search { border-radius: 14px; background: rgba(255,255,255,.82); }
.dialog-form { border-radius: 26px; }
.dialog-heading h2 { font-size: 26px; }
.form-grid input, .form-grid select, .form-grid textarea { min-height: 49px; border-radius: 12px; font-size: 13px; }
.validation-choice { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-bottom: 18px; }
.validation-choice label { cursor: pointer; }
.validation-choice input { position: absolute; opacity: 0; pointer-events: none; }
.validation-choice label > span { min-height: 112px; display: grid; grid-template-columns: 28px 1fr; align-content: center; column-gap: 10px; padding: 15px; border: 1px solid #d8dfd8; border-radius: 16px; background: #f8faf6; }
.validation-choice svg { width: 22px; height: 22px; color: var(--brand-green); }
.validation-choice strong, .validation-choice small { grid-column: 2; display: block; }
.validation-choice strong { font-size: 12px; }
.validation-choice small { margin-top: 4px; color: var(--muted); font-size: 9px; }
.validation-choice input:checked + span { border-color: var(--brand-green); background: #eaf6ec; box-shadow: 0 0 0 3px rgba(18,167,102,.08); }
.validation-stamp { width: fit-content; margin: 10px 0 16px; padding: 7px 10px; border-radius: 9px; font-size: 9px; font-weight: 750; }
.validation-stamp.verified { color: #0a7145; background: #e1f5e8; }
.validation-stamp.manual { color: #8a651b; background: #fff1d6; }
.validation-hero { position: relative; min-height: 390px; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(380px,.95fr); align-items: center; gap: 40px; margin-top: 34px; padding: 48px; overflow: hidden; border-radius: 32px; color: #fff; background: radial-gradient(circle at 83% 17%, rgba(201,244,91,.2), transparent 24%), linear-gradient(135deg,#06140d 0%,#0a2d1c 56%,#0d5b37 100%); box-shadow: 0 32px 90px rgba(7,23,16,.2); }
.validation-hero::before { content: ""; position: absolute; width: 310px; height: 310px; left: -130px; bottom: -210px; border: 1px solid rgba(201,244,91,.16); border-radius: 50%; box-shadow: 0 0 0 54px rgba(201,244,91,.035),0 0 0 108px rgba(201,244,91,.02); }
.validation-hero-copy { position: relative; z-index: 2; }
.validation-kicker { display: inline-flex; padding: 7px 10px; border: 1px solid rgba(201,244,91,.22); border-radius: 8px; color: var(--lime); background: rgba(201,244,91,.07); font-size: 9px; font-weight: 800; letter-spacing: .14em; }
.validation-hero h2 { max-width: 560px; margin-top: 22px; color: #fff; font-size: clamp(36px,4vw,58px); line-height: .97; letter-spacing: -.06em; }
.validation-hero-copy > p { max-width: 570px; margin-top: 19px; color: rgba(255,255,255,.68); font-size: 14px; line-height: 1.65; }
.validation-hero-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 27px; }
.primary-button.bright { color: var(--deep-green); background: var(--lime); box-shadow: 0 13px 30px rgba(201,244,91,.15); }
.ghost-button { min-height: 44px; padding: 0 18px; border: 1px solid rgba(255,255,255,.2); border-radius: 13px; color: #fff; background: rgba(255,255,255,.06); font-size: 11px; font-weight: 700; cursor: pointer; }
.ghost-button:hover { background: rgba(255,255,255,.12); }
.document-scanner { position: relative; min-height: 300px; display: grid; place-items: center; }
.scanner-glow { position: absolute; width: 320px; height: 320px; border-radius: 50%; background: radial-gradient(circle,rgba(201,244,91,.21),transparent 68%); filter: blur(3px); }
.document-scanner article { position: relative; width: 230px; min-height: 285px; padding: 25px; overflow: hidden; border-radius: 18px; color: var(--deep-green); background: linear-gradient(145deg,#fff,#ecf2e8); box-shadow: 0 28px 70px rgba(0,0,0,.28); transform: rotate(4deg); }
.document-scanner article::before { content: ""; position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.7); border-radius: inherit; pointer-events: none; }
.paper-brand { color: #0c8e57; font-size: 9px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.paper-lines { display: block; height: 74px; margin: 25px 0 20px; background: repeating-linear-gradient(180deg,#d8e0d8 0 2px,transparent 2px 14px); }
.document-scanner article > strong, .document-scanner article > small { display: block; }
.document-scanner article > strong { font-size: 13px; }
.document-scanner article > small { margin-top: 6px; color: #657269; font-size: 9px; }
.fake-qr { position: absolute; right: 23px; bottom: 24px; width: 52px; height: 52px; display: grid; grid-template-columns: repeat(2,1fr); gap: 4px; padding: 5px; background: var(--deep-green); }
.fake-qr b { background: #fff; }
.fake-qr b:nth-child(2), .fake-qr b:nth-child(3) { background: var(--lime); }
.document-scanner article > em { position: absolute; left: 24px; bottom: 28px; color: #168959; font-size: 8px; font-style: normal; font-weight: 750; }
.scan-line { position: absolute; z-index: 3; width: 260px; height: 2px; top: 28%; border-radius: 50%; background: var(--lime); box-shadow: 0 0 16px var(--lime),0 0 35px rgba(201,244,91,.45); animation: validation-scan 3.2s ease-in-out infinite; }
@keyframes validation-scan { 0%,100% { transform: translateY(0); opacity:.4 } 50% { transform: translateY(190px); opacity:1 } }
.security-seal { position: absolute; z-index: 4; right: 4%; bottom: 8%; width: 76px; height: 76px; display: grid; place-items: center; align-content: center; border: 1px solid rgba(201,244,91,.35); border-radius: 50%; color: var(--deep-green); background: var(--lime); box-shadow: 0 14px 38px rgba(0,0,0,.25); font: 800 22px/1 "Bricolage Grotesque",sans-serif; transform: rotate(-8deg); }
.security-seal small { margin-top: 4px; font: 750 8px/1 "Instrument Sans",sans-serif; text-transform: uppercase; }
.validation-stagebar { display: grid; grid-template-columns: minmax(0,1fr) 38px minmax(0,1fr) 38px minmax(0,1fr) 38px minmax(0,1fr); align-items: center; gap: 8px; margin: 18px 0; padding: 18px 22px; border: 1px solid rgba(7,23,16,.08); border-radius: 22px; background: rgba(255,255,255,.84); box-shadow: 0 16px 46px rgba(7,23,16,.05); }
.validation-stagebar article { display: flex; align-items: center; gap: 10px; opacity: .5; }
.validation-stagebar article > span { width: 35px; height: 35px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 11px; color: #69756d; background: #e7ebe6; font-size: 9px; font-weight: 800; }
.validation-stagebar article.complete, .validation-stagebar article.current { opacity: 1; }
.validation-stagebar article.complete > span { color: var(--deep-green); background: var(--lime); }
.validation-stagebar article.current > span { color: #fff; background: var(--brand-green); }
.validation-stagebar strong, .validation-stagebar small { display: block; }
.validation-stagebar strong { font-size: 11px; }
.validation-stagebar small { margin-top: 2px; color: var(--muted); font-size: 8px; }
.validation-stagebar > i { height: 1px; background: #d9dfd9; }
.validation-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 18px; }
.validation-document-meta { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; margin-top: 22px; }
.validation-document-meta > span { padding: 13px; border: 1px solid rgba(7,23,16,.07); border-radius: 13px; background: #f8faf6; }
.validation-document-meta small, .validation-document-meta strong { display: block; }
.validation-document-meta small { color: var(--muted); font-size: 8px; text-transform: uppercase; }
.validation-document-meta strong { margin-top: 5px; font-size: 11px; }
.document-fingerprint { display: flex; align-items: center; gap: 11px; margin-top: 12px; padding: 13px; border-radius: 13px; color: #416455; background: #e9f4eb; }
.document-fingerprint > span { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 10px; color: var(--deep-green); background: var(--lime); }
.document-fingerprint svg { width: 17px; height: 17px; }
.document-fingerprint small, .document-fingerprint strong { display: block; }
.document-fingerprint small { font-size: 8px; }
.document-fingerprint strong { margin-top: 3px; font-size: 9px; }
.validation-checklist > div { display: grid; gap: 8px; margin-top: 19px; }
.validation-checklist > div > span { display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 10px; align-items: center; padding: 10px; border-radius: 12px; background: #f6f8f4; }
.validation-checklist i { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 9px; font-size: 10px; font-style: normal; font-weight: 800; }
.validation-checklist .passed i { color: #086b42; background: #daf2e2; }
.validation-checklist .waiting i { color: #8b6316; background: #fff0cf; }
.validation-checklist b, .validation-checklist small { display: block; }
.validation-checklist b { font-size: 10px; }
.validation-checklist small { margin-top: 3px; color: var(--muted); font-size: 8px; font-weight: 500; }
.validation-explainer { display: grid; grid-template-columns: .72fr 1.28fr; gap: 56px; margin-top: 18px; padding: 42px; border-radius: 28px; color: #fff; background: linear-gradient(140deg,#0b2116,#071710); box-shadow: 0 24px 70px rgba(7,23,16,.13); }
.explainer-heading { align-self: start; position: sticky; top: 100px; }
.explainer-heading h2 { max-width: 340px; font-size: 34px; line-height: 1.02; }
.explainer-heading > p:last-child { margin-top: 14px; color: rgba(255,255,255,.56); font-size: 11px; line-height: 1.6; }
.validation-timeline { display: grid; gap: 0; }
.validation-timeline article { position: relative; display: grid; grid-template-columns: 48px minmax(0,1fr); gap: 15px; padding: 0 0 24px; }
.validation-timeline article:not(:last-child)::after { content:""; position:absolute; top:39px; bottom:5px; left:19px; width:1px; background:rgba(201,244,91,.2); }
.validation-timeline article > span { width: 39px; height: 39px; display: grid; place-items: center; border: 1px solid rgba(201,244,91,.26); border-radius: 12px; color: var(--lime); background: rgba(201,244,91,.06); font-size: 9px; font-weight: 800; }
.validation-timeline h3 { color: #fff; font-size: 14px; }
.validation-timeline p { margin-top: 5px; color: rgba(255,255,255,.55); font-size: 10px; line-height: 1.5; }
.validation-safety { display: grid; grid-template-columns: 47px minmax(0,1fr) auto; align-items: center; gap: 15px; margin-top: 18px; padding: 18px 21px; border: 1px solid rgba(18,167,102,.15); border-radius: 18px; background: #e9f5eb; }
.validation-safety > span { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 13px; color: var(--deep-green); background: var(--lime); }
.validation-safety svg { width: 20px; height: 20px; }
.validation-safety strong { font-size: 12px; }
.validation-safety p { margin-top: 3px; color: #5f7167; font-size: 10px; }
.validation-safety em { color: #6c7a71; font-size: 9px; font-style: normal; }
.prescription-zero { min-height: 390px; display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: 54px; margin-top: 34px; padding: 44px; overflow: hidden; border-radius: 30px; background: linear-gradient(145deg,#edf6ed,#fbfaf5); box-shadow: 0 24px 70px rgba(7,23,16,.08); }
.zero-visual { position: relative; min-height: 260px; display: grid; place-items: center; border-radius: 26px; color: var(--deep-green); background: radial-gradient(circle,var(--lime) 0 28%,transparent 29%),linear-gradient(145deg,#0b2e1d,#071710); }
.zero-visual > span { width: 86px; height: 86px; display: grid; place-items: center; border-radius: 25px; background: var(--lime); box-shadow: 0 20px 48px rgba(0,0,0,.2); }
.zero-visual svg { width: 34px; height: 34px; }
.prescription-zero h2 { font-size: 34px; }
.prescription-zero p:last-of-type { max-width: 560px; margin: 12px 0 22px; color: var(--muted); line-height: 1.6; }
.upload-wizard { display: grid; grid-template-columns: auto 1fr auto 1fr auto 1fr auto; align-items: center; gap: 7px; margin: -3px 0 20px; }
.upload-wizard span { display: flex; align-items: center; gap: 6px; color: #89948d; font-size: 8px; font-weight: 750; text-transform: uppercase; }
.upload-wizard b { width: 23px; height: 23px; display: grid; place-items: center; border-radius: 8px; background: #ebefea; }
.upload-wizard span.active { color: var(--deep-green); }
.upload-wizard span.active b { background: var(--lime); }
.upload-wizard i { height: 1px; background: #dce2dc; }
.upload-dropzone { min-height: 132px; display: grid; place-items: center; align-content: center; gap: 5px; margin-bottom: 18px; border: 1px dashed #a9b8ad; border-radius: 17px; color: var(--deep-green); background: linear-gradient(145deg,#f4f8f2,#fbfcf8); text-align: center; cursor: pointer; transition: border .18s ease,background .18s ease,transform .18s ease; }
.upload-dropzone:hover { border-color: var(--brand-green); background: #eef8ef; transform: translateY(-1px); }
.upload-dropzone.has-file { border-style: solid; border-color: var(--brand-green); background: #e9f7ec; }
.upload-dropzone input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.upload-dropzone > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; color: var(--deep-green); background: var(--lime); }
.upload-dropzone svg { width: 20px; height: 20px; }
.upload-dropzone strong { margin-top: 5px; font-size: 12px; }
.upload-dropzone small { color: var(--muted); font-size: 9px; }
.method-label { margin: 2px 0 9px; color: #55635a; font-size: 10px; font-weight: 750; }
.qr-code-field small { display: block; margin-top: 5px; color: var(--muted); font-size: 8px; font-weight: 500; }
.upload-security-note { display: flex; align-items: center; gap: 10px; margin-top: 15px; padding: 12px; border-radius: 13px; color: #426153; background: #edf6ed; }
.upload-security-note > svg { width: 20px; height: 20px; flex: 0 0 auto; color: var(--brand-green); }
.upload-security-note strong, .upload-security-note small { display: block; }
.upload-security-note strong { font-size: 9px; }
.upload-security-note small { margin-top: 2px; font-size: 8px; }
.validation-report { width: min(720px,calc(100vw - 32px)); overflow: hidden; border-radius: 28px; background: #f8faf6; box-shadow: 0 34px 100px rgba(3,16,9,.3); }
.validation-report > header { display: flex; align-items: flex-start; justify-content: space-between; padding: 27px 29px; color: #fff; background: radial-gradient(circle at 80% 20%,rgba(201,244,91,.2),transparent 25%),linear-gradient(140deg,#071710,#124b31); }
.validation-report header p { color: var(--lime); font-size: 8px; font-weight: 800; letter-spacing: .14em; }
.validation-report header h2 { margin-top: 7px; color:#fff; font-size: 31px; }
.validation-report header span { display:block; margin-top:5px; color:rgba(255,255,255,.65); font-size:10px; }
.report-verdict { display:flex; align-items:center; gap:14px; margin:18px; padding:16px; border-radius:16px; }
.report-verdict.approved { color:#155b3b; background:#e2f5e8; }
.report-verdict.pending { color:#7b5b1b; background:#fff0d1; }
.report-verdict > span { width:42px; height:42px; display:grid; place-items:center; flex:0 0 auto; border-radius:13px; color:#fff; font-weight:800; }
.report-verdict.approved > span { background:#148b57; }
.report-verdict.pending > span { background:#a77a20; }
.report-verdict small, .report-verdict strong, .report-verdict p { display:block; }
.report-verdict small { font-size:8px; letter-spacing:.12em; }
.report-verdict strong { margin-top:3px; font-size:15px; }
.report-verdict p { margin-top:3px; font-size:9px; opacity:.75; }
.report-checks { display:grid; gap:7px; max-height:390px; overflow:auto; padding:0 18px 18px; }
.report-checks article { display:grid; grid-template-columns:34px minmax(0,1fr) 28px; align-items:center; gap:11px; padding:12px; border:1px solid rgba(7,23,16,.075); border-radius:13px; background:#fff; }
.report-checks article > span { color:#89938c; font-size:9px; font-weight:800; }
.report-checks strong { font-size:11px; }
.report-checks p { margin-top:3px; color:var(--muted); font-size:8px; line-height:1.45; }
.report-checks i { width:27px; height:27px; display:grid; place-items:center; border-radius:9px; font-size:9px; font-style:normal; font-weight:800; }
.report-checks .passed i { color:#087145; background:#dff3e6; }
.report-checks .manual i,.report-checks .waiting i { color:#8a631a; background:#fff0ce; }
.report-checks .blocked i { color:#a13d37; background:#fde5e2; }
.validation-report > footer { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px 19px 20px; border-top:1px solid rgba(7,23,16,.08); }
.validation-report footer p { max-width:500px; color:var(--muted); font-size:8px; line-height:1.5; }
#app-dialog:has(.validation-report) { width:min(720px,calc(100vw - 32px)); padding:0; border:0; border-radius:28px; background:transparent; }
.stock-snapshot { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-bottom: 18px; }
.stock-snapshot span { padding: 12px; border: 1px solid #dce3dc; border-radius: 13px; background: #f6f8f3; }
.stock-snapshot strong, .stock-snapshot small { display: block; }
.stock-snapshot strong { font-size: 11px; }
.stock-snapshot small { margin-top: 4px; color: var(--muted); font-size: 9px; }
.medical-stock-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin: 32px 0 18px; }
.medical-stock-summary article { display: flex; align-items: flex-start; gap: 13px; padding: 18px; border: 1px solid rgba(7,23,16,.08); border-radius: 19px; background: #fff; box-shadow: 0 14px 38px rgba(7,23,16,.045); }
.medical-stock-summary article > span { width: 39px; height: 39px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 12px; color: var(--deep-green); background: var(--lime); }
.medical-stock-summary svg { width: 19px; height: 19px; }
.medical-stock-summary p { min-height: 28px; color: var(--muted); font-size: 10px; }
.medical-stock-summary strong { display: block; margin-top: 7px; font: 700 22px/1 "Bricolage Grotesque", sans-serif; }
.medical-stock-summary strong small { color: var(--muted); font: 500 10px/1 "Instrument Sans", sans-serif; }
.medical-stock-summary em { display: block; margin-top: 7px; color: #0c8b56; font-size: 9px; font-style: normal; }
.clinical-boundary { display: flex; align-items: center; gap: 12px; margin-top: 14px; padding: 14px 17px; border: 1px solid rgba(18,167,102,.13); border-radius: 15px; color: #587067; background: #edf7ef; font-size: 10px; }
.clinical-boundary > span { width: 26px; height: 26px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 50%; color: #fff; background: var(--brand-green); font-weight: 800; }
.stock-availability { display: inline-flex; padding: 6px 9px; border-radius: 9px; font-size: 9px; font-weight: 750; }
.stock-availability.available { color: #087245; background: #e1f5e8; }
.stock-availability.unavailable { color: #a03b35; background: #fde7e4; }

.network-metrics { margin-top: 34px; gap: 18px; }
.network-metrics article { min-height: 136px; padding: 22px; border-radius: 24px; box-shadow: 0 18px 50px rgba(7,23,16,.06); }
.network-metrics strong { margin-top: 18px; font-size: 31px; }
.network-metrics .network-highlight strong { font-size: 21px; }
.network-toolbar { margin-top: 20px; }
.region-filter { padding: 5px; border-radius: 15px; }
.region-filter button { min-height: 38px; padding: 0 15px; border-radius: 11px; font-size: 11px; }
.network-layout { margin-top: 18px; gap: 18px; }
.map-panel, .partner-directory { border-radius: 28px; box-shadow: 0 24px 70px rgba(7,23,16,.085); }
.map-panel { padding: 27px; }
.map-panel-heading h2, .directory-heading h2 { font-size: 25px; }
.map-viewport { border-radius: 23px; }
.partner-directory { padding: 24px; }
.partner-card { padding: 16px; border-radius: 17px; }
.partner-card h3 { font-size: 12px; }

.login-brand-panel { background: radial-gradient(circle at 20% 16%, rgba(18,167,102,.36), transparent 27%), radial-gradient(circle at 87% 84%, rgba(201,244,91,.14), transparent 26%), linear-gradient(145deg, #04110b, #0a2819); }
.login-brand-panel h1 { font-family: "Bricolage Grotesque", sans-serif; font-size: clamp(48px, 5.2vw, 76px); font-weight: 650; letter-spacing: -.065em; }
.login-form h2 { font-family: "Bricolage Grotesque", sans-serif; font-size: clamp(36px, 3.4vw, 48px); }
.google-login-button { min-height: 58px; border-radius: 15px; }
.email-access-fields { border-radius: 18px; }

.asaas-checkout-brand { display:flex; gap:10px; align-items:center; margin:-4px 0 18px; padding:12px; border:1px solid #dce9e0; border-radius:14px; background:linear-gradient(120deg,#f6fbf8,#fff); }
.asaas-checkout-brand > span,.payment-launch-summary > span,.payment-pending-card > span { display:grid; width:38px; height:38px; flex:0 0 38px; place-items:center; border-radius:11px; background:#0f6fff; color:white; font-weight:900; }
.asaas-checkout-brand strong,.asaas-checkout-brand small { display:block; }.asaas-checkout-brand small { margin-top:2px; color:#748078; font-size:9px; }
.payment-launch-summary { display:flex; gap:14px; align-items:center; margin:23px 0; padding:18px; border-radius:18px; background:#f1f7f3; }
.payment-launch-summary > span { width:52px; height:52px; flex-basis:52px; border-radius:15px; font-size:20px; }
.payment-launch-summary small,.payment-launch-summary strong,.payment-launch-summary em { display:block; }
.payment-launch-summary strong { margin:3px 0; font-size:25px; }.payment-launch-summary em { color:#577065; font-size:10px; font-style:normal; }
.payment-safety-list { display:grid; gap:8px; margin-bottom:20px; }
.payment-safety-list span { padding:10px 12px; border:1px solid #e1ebe4; border-radius:11px; color:#2a513a; font-size:11px; }
.payment-external-link { display:inline-grid; place-items:center; text-decoration:none; }
.payment-pending-card { display:grid; grid-template-columns:50px minmax(0,1fr) auto auto; gap:16px; align-items:center; margin:22px 0 14px; padding:20px; border:1px solid #d7e6db; border-radius:21px; background:linear-gradient(120deg,#eff8f2,#fff); box-shadow:0 18px 45px rgba(12,52,31,.07); }
.payment-pending-card > span { width:48px; height:48px; flex-basis:48px; border-radius:14px; font-size:18px; }
.payment-pending-card h2 { margin:3px 0; font-size:19px; }.payment-pending-card p { margin:0; color:#6e7d74; font-size:11px; }
.payment-pending-card button,.payment-pending-card a { padding:11px 14px; border:0; border-radius:11px; font-size:10px; font-weight:800; cursor:pointer; text-decoration:none; }
.payment-pending-card button { color:#155f38; background:#def2e5; }.payment-pending-card a { color:white; background:#0b3521; }

/* Checkout e-commerce */
.checkout-progress { display:grid; grid-template-columns:auto 1fr auto 1fr auto 1fr auto; align-items:center; max-width:740px; margin:26px auto 20px; }
.checkout-progress > span { display:grid; justify-items:center; gap:6px; color:#96a29a; }
.checkout-progress b { display:grid; width:31px; height:31px; place-items:center; border:1px solid #d5dfd8; border-radius:50%; background:#fff; font-size:11px; }
.checkout-progress small { font-size:9px; font-weight:750; }
.checkout-progress > i { height:1px; margin:0 9px 19px; background:#d9e2dc; }
.checkout-progress .complete { color:#17884f; }.checkout-progress .complete b { color:white; border-color:#1aa25c; background:#1aa25c; }
.checkout-progress .complete + i { background:#39ad6e; }
.checkout-progress .current { color:#0b2e1c; }.checkout-progress .current b { color:#0b2e1c; border:2px solid #0f6a3b; box-shadow:0 0 0 5px #e3f4e8; }
.commerce-checkout { display:grid; grid-template-columns:minmax(0,1fr) minmax(310px,370px); gap:18px; align-items:start; }
.checkout-main { display:grid; gap:14px; }
.commerce-card { padding:0; overflow:hidden; border-radius:24px; box-shadow:0 17px 48px rgba(7,35,20,.055); }
.commerce-card-heading { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:13px; align-items:center; padding:20px 22px; border-bottom:1px solid #e6ede8; background:linear-gradient(180deg,#fff,#fbfdfb); }
.commerce-card-heading > span { display:grid; width:35px; height:35px; place-items:center; border-radius:11px; color:#fff; background:#0d3d26; font:750 12px "Instrument Sans",sans-serif; }
.commerce-card-heading h2 { margin:2px 0 0; font-size:18px; }
.commerce-card-heading > button { padding:8px 11px; border:0; border-radius:9px; color:#18794a; background:#e9f7ed; font-size:9px; font-weight:800; cursor:pointer; }
.commerce-card .seller-cart-group { margin:0; padding:0 22px; border:0; }
.commerce-card .seller-cart-group + .seller-cart-group { border-top:8px solid #f5f7f5; }
.commerce-card .seller-cart-title { padding:15px 2px 10px; }
.commerce-card .seller-cart-title > div { flex:1; }
.seller-cart-title em { padding:5px 8px; border-radius:999px; color:#0c7543; background:#e5f6ea; font-size:8px; font-style:normal; font-weight:800; }
.commerce-card .cart-line { padding:15px 2px 18px; }
.commerce-card .mini-product { width:54px; height:61px; border-radius:14px; }
.commerce-card .mini-product span { width:21px; height:38px; }
.delivery-card { min-height:142px; }
.delivery-option { display:grid; grid-template-columns:auto auto minmax(0,1fr) auto; gap:13px; align-items:center; margin:18px 22px 21px; padding:16px; border:1px solid #a8d7b8; border-radius:16px; background:#f4fbf6; cursor:pointer; }
.delivery-option input { accent-color:#138149; }.delivery-pin { display:grid; width:38px; height:38px; place-items:center; border-radius:12px; background:#ddf2e3; color:#137644; font-size:18px; }
.delivery-option > span:nth-of-type(2) { display:flex; flex-direction:column; }.delivery-option small { margin-top:4px; color:#6f7e74; font-size:10px; }
.delivery-option em { padding:5px 8px; border-radius:999px; color:#166f43; background:#dbf0e2; font-size:8px; font-style:normal; font-weight:800; }
.checkout-warning { margin:18px 22px; padding:15px; border-radius:13px; color:#884d16; background:#fff3db; font-size:11px; }
.asaas-mini { display:flex; gap:7px; align-items:center; }.asaas-mini b { display:grid; width:31px; height:31px; place-items:center; border-radius:9px; color:#fff; background:#0f6fff; }.asaas-mini small { color:#77827a; font-size:7px; line-height:1.25; }.asaas-mini strong { color:#183426; }
.payment-method-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:19px 22px 13px; padding:0; border:0; }
.payment-method-grid label { position:relative; display:flex; gap:11px; align-items:center; min-height:74px; padding:13px; border:1px solid #dbe4dd; border-radius:15px; background:#fff; cursor:pointer; transition:.18s ease; }
.payment-method-grid label:hover { border-color:#9ecab0; transform:translateY(-1px); }.payment-method-grid label.selected { border:2px solid #148149; background:#f2faf4; box-shadow:0 9px 25px rgba(19,129,73,.09); }
.payment-method-grid input { position:absolute; opacity:0; pointer-events:none; }.payment-method-grid label > span:nth-of-type(2) { display:flex; flex-direction:column; }
.payment-method-grid strong { font-size:11px; }.payment-method-grid small { margin-top:3px; color:#748078; font-size:8px; }
.method-glyph { display:grid; width:36px; height:36px; flex:0 0 36px; place-items:center; border-radius:11px; font-size:14px; }.method-glyph.pix { color:#087b69; background:#dcf5ef; }.method-glyph.card { color:#3157a6; background:#e6ecfa; }.method-glyph.boleto { color:#915b15; background:#fbedd5; }
.payment-method-grid i { position:absolute; top:-8px; right:8px; padding:3px 6px; border-radius:999px; color:white; background:#159554; font-size:6px; font-style:normal; font-weight:850; letter-spacing:.06em; }
.payment-detail { display:grid; grid-template-columns:auto minmax(0,1fr); gap:13px; margin:0 22px 22px; padding:16px; border:1px solid #deebe2; border-radius:16px; background:linear-gradient(120deg,#f3faf5,#fff); }
.payment-detail-icon { display:grid; width:38px; height:38px; place-items:center; border-radius:12px; color:#0e7742; background:#dff3e5; font-size:18px; }
.payment-detail strong { font-size:12px; }.payment-detail p { margin:4px 0 0; max-width:610px; color:#718078; font-size:10px; line-height:1.55; }
.payment-detail label { display:flex; gap:9px; align-items:center; margin-top:10px; color:#294f3a; font-size:9px; font-weight:800; }.payment-detail select { min-height:34px; padding:0 30px 0 9px; border:1px solid #cfe0d4; border-radius:9px; color:#183b28; background:#fff; font-size:9px; }
.commerce-summary { top:84px; overflow:hidden; padding:22px; border-radius:24px; box-shadow:0 22px 58px rgba(8,38,23,.1); }
.summary-product-preview { display:flex; gap:12px; align-items:center; padding-bottom:17px; border-bottom:1px solid #e4ebe6; }.summary-product-preview > span { display:grid; width:45px; height:45px; place-items:center; border-radius:14px; color:#0e6138; background:#e4f5e9; font-size:16px; font-weight:850; }.summary-product-preview small,.summary-product-preview strong { display:block; }.summary-product-preview small { color:#7b887f; font-size:8px; letter-spacing:.08em; }.summary-product-preview strong { margin-top:3px; font-size:13px; }
.commerce-summary .summary-lines { margin-top:17px; }.commerce-summary .summary-lines > span { font-size:10px; }.commerce-summary .summary-total { margin-top:7px; padding-top:18px; color:#143623; font-size:14px!important; }.commerce-summary .summary-total strong { font-size:24px; letter-spacing:-.035em; }
.summary-method { display:flex; justify-content:space-between; align-items:center; margin:16px 0 0; padding:11px 12px; border-radius:11px; background:#f1f5f2; }.summary-method span { font-size:10px; font-weight:800; }.summary-method small { color:#68776e; font-size:9px; }
.commerce-summary .checkout-button { display:flex; justify-content:space-between; align-items:center; min-height:55px; margin-top:13px; padding:0 17px; border-radius:14px; background:linear-gradient(135deg,#0a3b24,#0c5130); box-shadow:0 12px 25px rgba(7,54,30,.18); cursor:pointer; }.commerce-summary .checkout-button span { color:#c9f591; font-size:11px; }
.checkout-trust { margin-top:17px; padding-top:16px; border-top:1px solid #e4ebe6; }.checkout-trust > span { display:block; color:#1d4e32; font-size:10px; }.checkout-trust p { margin:6px 0 10px; color:#748078; font-size:8px; line-height:1.55; }.checkout-trust > div { display:flex; gap:6px; }.checkout-trust > div span { padding:5px 7px; border:1px solid #dce5df; border-radius:7px; color:#738078; font-size:7px; font-weight:800; }
.sandbox-ribbon { margin:16px -22px -22px; padding:9px; color:#735013; background:#fff1cc; text-align:center; font-size:7px; font-weight:850; letter-spacing:.08em; }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; }

@media (max-width: 1060px) {
  .commerce-checkout { grid-template-columns:1fr; }
  .commerce-summary { position:static; }
}
@media (max-width: 720px) {
  .checkout-progress small { display:none; }.checkout-progress > i { margin-bottom:0; }
  .commerce-card-heading { padding:17px; }.commerce-card .seller-cart-group { padding:0 17px; }
  .payment-method-grid { grid-template-columns:1fr; margin-inline:17px; }.payment-method-grid label { min-height:62px; }
  .payment-detail { margin-inline:17px; }
  .commerce-card .cart-line { grid-template-columns:46px 1fr auto; }.commerce-card .cart-line > strong { grid-column:2; }.commerce-card .quantity-control { grid-column:3; grid-row:1 / span 2; }
  .seller-cart-title em { display:none; }.delivery-option { margin-inline:17px; grid-template-columns:auto auto 1fr; }.delivery-option em { display:none; }
}

/* Teleatendimento */
.consultation-hero { position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(0,1fr) 220px; min-height:310px; margin:26px 0 18px; padding:44px 48px; color:#f8fff9; border-radius:34px; background:radial-gradient(circle at 80% 40%,rgba(82,232,142,.22),transparent 27%),linear-gradient(135deg,#061b12,#0a3522 70%,#0c4930); box-shadow:0 30px 70px rgba(5,40,25,.2); }
.consultation-hero::after { content:""; position:absolute; width:380px; height:380px; right:-110px; top:-120px; border:1px solid rgba(255,255,255,.1); border-radius:50%; box-shadow:0 0 0 50px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.02); }
.consultation-hero > div:first-child { z-index:1; align-self:center; }
.consultation-live-pill { display:inline-flex; padding:8px 12px; color:#bafa86; border:1px solid rgba(186,250,134,.28); border-radius:999px; background:rgba(4,17,11,.35); font-size:10px; font-weight:800; letter-spacing:.14em; }
.consultation-hero h2 { max-width:680px; margin:15px 0 10px; color:white; font-family:"Bricolage Grotesque",sans-serif; font-size:clamp(34px,4vw,55px); line-height:.98; letter-spacing:-.045em; }
.consultation-hero p { color:#b9cfc3; font-size:15px; }
.consultation-hero > div:first-child > div { display:flex; gap:18px; align-items:center; margin-top:28px; }
.consultation-hero .bright { background:#bff778; color:#0a2718; }
.consultation-hero > div:first-child > div span { display:flex; gap:7px; align-items:center; color:#bdd0c5; font-size:12px; }
.consultation-hero > div:first-child > div svg { width:17px; }
.consultation-orbit { position:relative; z-index:1; display:grid; place-items:center; }
.consultation-orbit > span { display:grid; width:120px; height:120px; place-items:center; border:1px solid rgba(255,255,255,.2); border-radius:34px; background:linear-gradient(145deg,#5cdb8b,#20a961); box-shadow:0 20px 48px rgba(0,0,0,.24); color:white; font:700 34px "Bricolage Grotesque",sans-serif; transform:rotate(-4deg); }
.consultation-orbit > i { position:absolute; width:178px; height:178px; border:1px dashed rgba(194,255,144,.36); border-radius:50%; }
.consultation-orbit > b { position:absolute; right:15px; bottom:46px; display:grid; width:54px; height:54px; place-items:center; border:5px solid #0a3522; border-radius:50%; background:#efffdc; color:#12572f; }
.consultation-orbit svg { width:23px; }
.consultation-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:18px; }
.consultation-metrics article { display:flex; gap:13px; align-items:center; padding:17px 19px; border:1px solid #dfebe3; border-radius:18px; background:rgba(255,255,255,.72); }
.consultation-metrics article > span { display:grid; width:41px; height:41px; place-items:center; color:#16804a; border-radius:13px; background:#e8f7ed; }
.consultation-metrics svg { width:19px; }
.consultation-metrics small,.consultation-metrics strong { display:block; }
.consultation-metrics small { color:#728077; font-size:11px; }
.consultation-metrics strong { margin-top:2px; color:#10291b; font-size:22px; }
.consultation-list { display:grid; gap:12px; }
.consultation-card { display:grid; grid-template-columns:72px minmax(260px,1fr) minmax(220px,.7fr) auto; gap:20px; align-items:center; padding:18px 20px; }
.consultation-date { display:grid; justify-items:center; padding:8px; border-right:1px solid #e4ebe6; text-transform:uppercase; }
.consultation-date strong { color:#123522; font:700 25px "Bricolage Grotesque",sans-serif; }
.consultation-date small { color:#1fa55c; font-size:10px; font-weight:800; }
.consultation-date time { margin-top:4px; color:#78867d; font-size:11px; }
.consultation-person { display:flex; gap:13px; align-items:center; }
.consultation-person > span { display:grid; flex:0 0 48px; height:48px; place-items:center; border-radius:15px; background:linear-gradient(140deg,#dff5e6,#c8edcf); color:#16683e; font-weight:800; }
.consultation-person h2 { margin:2px 0; font-size:18px; }
.consultation-person small { color:#748078; }
.consultation-readiness { display:flex; flex-wrap:wrap; gap:6px; }
.consultation-readiness > span:not(.status-badge) { padding:6px 8px; border-radius:8px; background:#f1f4f2; color:#78827b; font-size:10px; }
.consultation-readiness > span.ready { color:#137442; background:#e4f6e9; }
.file-action.completed { cursor:default; color:#69786f; background:#edf1ee; }
.consultation-open { white-space:nowrap; }
.telehealth-boundary { display:grid; grid-template-columns:46px minmax(0,1fr) auto; gap:15px; align-items:center; margin:18px 0; padding:18px 20px; border:1px solid #d6e8da; border-radius:19px; background:linear-gradient(90deg,#f0faf3,#fbfdfb); }
.telehealth-boundary > span { display:grid; width:44px; height:44px; place-items:center; color:#16814b; border-radius:14px; background:#dff3e5; }
.telehealth-boundary svg { width:21px; }
.telehealth-boundary strong,.telehealth-boundary p { display:block; margin:0; }
.telehealth-boundary p { margin-top:4px; color:#728078; font-size:12px; }
.telehealth-boundary em { color:#326044; font-size:11px; font-style:normal; font-weight:700; }
.consultation-room-status { display:grid; grid-template-columns:auto 1fr auto 1fr auto 1fr auto; align-items:center; margin:23px 0 15px; padding:15px 20px; border:1px solid #dfeae2; border-radius:18px; background:#fff; }
.consultation-room-status span { display:flex; gap:7px; align-items:center; color:#7c8980; font-size:11px; font-weight:700; }
.consultation-room-status span b { display:grid; width:26px; height:26px; place-items:center; border-radius:50%; background:#edf1ee; }
.consultation-room-status span.current { color:#173b27; }
.consultation-room-status span.current b { color:#0c6538; background:#dff4e6; }
.consultation-room-status span.complete { color:#0d7440; }
.consultation-room-status span.complete b { color:white; background:#18a158; }
.consultation-room-status > i { height:1px; margin:0 13px; background:#e0e7e2; }
.teleconsultation-layout { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(330px,.72fr); gap:16px; }
.video-room { overflow:hidden; min-height:650px; border-radius:28px; background:#07110c; box-shadow:0 25px 60px rgba(0,0,0,.16); }
.video-room > header { display:flex; justify-content:space-between; align-items:center; padding:18px 21px; color:#dff1e6; background:rgba(255,255,255,.035); }
.video-room > header > div { display:grid; grid-template-columns:auto 1fr; column-gap:9px; align-items:center; }
.video-room > header strong { font-size:13px; }
.video-room > header small { grid-column:2; color:#789288; font-size:10px; }
.video-room > header > span { padding:6px 9px; border-radius:999px; background:#153426; color:#9be1b3; font-size:9px; font-weight:800; text-transform:uppercase; }
.encrypted-dot { width:9px; height:9px; border-radius:50%; background:#37d478; box-shadow:0 0 0 5px rgba(55,212,120,.1); }
.video-stage { position:relative; display:grid; min-height:525px; place-items:center; overflow:hidden; background:radial-gradient(circle at 50% 30%,#173928,#09160f 55%,#050a07); }
.video-stage::before { content:""; position:absolute; inset:0; opacity:.16; background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size:46px 46px; mask-image:linear-gradient(to bottom,black,transparent 80%); }
.remote-video { position:relative; z-index:1; display:grid; justify-items:center; text-align:center; }
.remote-video > span { display:grid; width:132px; height:132px; place-items:center; border-radius:42px; background:linear-gradient(145deg,#2a704a,#145334); box-shadow:0 28px 65px rgba(0,0,0,.35); color:#e9ffed; font:700 38px "Bricolage Grotesque",sans-serif; }
.remote-video strong,.remote-video small { display:block; color:#f3fff6; }
.remote-video strong { margin-top:16px; font-size:18px; }
.remote-video small { margin-top:3px; color:#8fa69a; font-size:11px; }
.signal-bars { display:flex; gap:2px; align-items:flex-end; height:12px; margin-top:10px; }
.signal-bars b { width:3px; height:5px; border-radius:2px; background:#38cb77; }
.signal-bars b:nth-child(2){height:8px}.signal-bars b:nth-child(3){height:12px}
.self-video { position:absolute; z-index:2; right:18px; top:18px; display:grid; width:136px; height:105px; place-items:center; border:1px solid rgba(255,255,255,.12); border-radius:17px; background:linear-gradient(145deg,#264a38,#12261c); box-shadow:0 12px 30px rgba(0,0,0,.25); }
.self-video video { position:absolute; inset:0; width:100%; height:100%; border-radius:inherit; object-fit:cover; opacity:0; transform:scaleX(-1); transition:opacity .2s ease; }
.self-video.camera-on video { opacity:1; }
.self-video.camera-on > span { opacity:0; }
.self-video span { color:white; font-weight:800; }
.self-video small { position:absolute; z-index:2; left:9px; bottom:7px; padding:3px 5px; border-radius:5px; color:#e9f7ee; background:rgba(3,12,7,.62); font-size:8px; }
.call-overlay { position:absolute; z-index:2; bottom:18px; left:50%; display:flex; gap:8px; align-items:center; padding:8px 13px; border:1px solid rgba(255,255,255,.1); border-radius:999px; background:rgba(2,8,5,.64); backdrop-filter:blur(10px); transform:translateX(-50%); }
.call-overlay span { color:#4fd286; }
.call-overlay svg { width:16px; }
.call-overlay p { margin:0; color:#bed0c5; font-size:10px; white-space:nowrap; }
.video-room > footer { display:flex; justify-content:center; gap:10px; padding:17px; }
.video-room > footer button { display:grid; min-width:54px; min-height:44px; place-items:center; padding:7px 11px; border:0; border-radius:13px; background:#15251d; color:#d3e5d9; cursor:pointer; }
.video-room > footer button small { font-size:8px; }
.video-room > footer button.active { background:#e5f7eb; color:#13492d; }
.video-room > footer .join-call { min-width:152px; color:white; background:#1eac60; font-size:11px; font-weight:800; }
.video-room > footer .join-call:disabled { opacity:.45; cursor:not-allowed; }
.consultation-workspace { display:flex; flex-direction:column; gap:12px; }
.consultation-workspace > section { padding:18px; border:1px solid #dfe9e2; border-radius:20px; background:#fff; }
.consultation-patient-head { display:flex; gap:12px; align-items:center; }
.consultation-patient-head > span { display:grid; width:50px; height:50px; place-items:center; border-radius:15px; background:#dff2e5; color:#15653b; font-weight:800; }
.consultation-patient-head h2 { margin:2px 0; font-size:19px; }
.consultation-patient-head small { color:#728078; }
.consultation-patient-card dl { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:15px 0 0; }
.consultation-patient-card dl div { padding:10px; border-radius:12px; background:#f5f8f6; }
.consultation-patient-card dt { color:#879188; font-size:9px; text-transform:uppercase; }
.consultation-patient-card dd { margin:4px 0 0; color:#1b3525; font-size:11px; font-weight:700; }
.consultation-consent { display:grid; grid-template-columns:35px 1fr auto; gap:10px; align-items:center; background:#fffaf0!important; border-color:#f2e0bc!important; }
.consultation-consent.accepted { background:#eef9f1!important; border-color:#ccebd5!important; }
.consultation-consent > span { display:grid; width:34px; height:34px; place-items:center; border-radius:11px; color:#8d6418; background:#f8e8c8; font-weight:800; }
.consultation-consent.accepted > span { color:#fff; background:#1daa5f; }
.consultation-consent strong,.consultation-consent small { display:block; }
.consultation-consent strong { font-size:11px; }.consultation-consent small { margin-top:3px; color:#7b837d; font-size:9px; }
.consultation-consent button,.meet-integration button { border:0; background:transparent; color:#18864c; font-size:10px; font-weight:800; cursor:pointer; }
.consultation-files .panel-heading { margin-bottom:11px; }
.file-action { position:relative; padding:8px 11px; border-radius:10px; background:#e4f6e9; color:#147441; font-size:10px; font-weight:800; cursor:pointer; }
.file-action input { position:absolute; width:1px; height:1px; opacity:0; }
.consultation-files > div:last-child { display:grid; gap:7px; }
.consultation-files > div:last-child > span { display:grid; grid-template-columns:30px 1fr auto; gap:8px; align-items:center; padding:8px; border-radius:11px; background:#f4f7f5; }
.consultation-files > div:last-child i { color:#178249; }.consultation-files > div:last-child svg { width:16px; }
.consultation-files > div:last-child b,.consultation-files > div:last-child small { display:block; font-size:10px; }
.consultation-files > div:last-child small { margin-top:2px; color:#849087; font-size:8px; font-weight:500; }
.consultation-files > div:last-child em { color:#1ba359; font-style:normal; }
.consultation-empty-file { margin:0; padding:13px; border:1px dashed #d8e3db; border-radius:12px; color:#7e8981; font-size:10px; }
.meet-integration { display:grid; grid-template-columns:38px 1fr auto; gap:10px; align-items:center; }
.meet-mark { display:grid; width:38px; height:38px; place-items:center; border-radius:12px; background:conic-gradient(#4385f4 0 25%,#34a853 0 50%,#fbbc05 0 75%,#ea4335 0); color:white; font-weight:900; }
.meet-integration strong,.meet-integration small { display:block; }.meet-integration small { margin-top:3px; color:#7d8880; font-size:9px; }
.clinical-record { display:grid; grid-template-columns:minmax(210px,.5fr) minmax(320px,1fr) auto; gap:18px; align-items:center; margin-top:16px; }
.clinical-record h2 { margin:3px 0; font-size:21px; }.clinical-record p { margin:0; color:#78847b; font-size:11px; }
.clinical-record textarea { min-height:104px; padding:14px; border:1px solid #dce6df; border-radius:15px; resize:vertical; font:500 12px "Instrument Sans",sans-serif; }
.clinical-record > div:last-child { display:grid; gap:8px; }
.post-consultation-card { display:flex; gap:13px; align-items:center; margin-top:16px; padding:20px; border:1px solid #dce9df; border-radius:20px; background:linear-gradient(90deg,#f0faf3,#fff); }
.post-consultation-card > span { color:#189852; }.post-consultation-card svg { width:26px; }.post-consultation-card p { margin:4px 0 0; color:#718077; font-size:11px; }
.meet-dialog-flow { display:grid; gap:10px; margin:22px 0; }
.meet-dialog-flow > span { display:flex; gap:12px; align-items:center; padding:13px; border-radius:14px; background:#f4f8f5; }
.meet-dialog-flow b { display:grid; width:31px; height:31px; place-items:center; border-radius:10px; background:#dff3e5; color:#16804a; }
.meet-dialog-flow strong,.meet-dialog-flow small { display:block; }.meet-dialog-flow small { margin-top:3px; color:#78847c; font-size:10px; font-weight:500; }
.agenda-consultation { border:1px solid #d8e9dc; background:linear-gradient(135deg,#effaf2,#fff); }
.agenda-command { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:24px 0 16px; }
.agenda-command article { display:flex; gap:14px; align-items:center; padding:19px 20px; border:1px solid #dce8df; border-radius:20px; background:rgba(255,255,255,.78); box-shadow:0 13px 35px rgba(7,35,20,.05); }
.agenda-command article > span { display:grid; width:43px; height:43px; flex:0 0 43px; place-items:center; border-radius:13px; color:#147746; background:#e3f4e8; }
.agenda-command svg { width:20px; }.agenda-command small,.agenda-command strong,.agenda-command em { display:block; }.agenda-command small { color:#7a887f; font-size:8px; font-weight:800; letter-spacing:.07em; }.agenda-command strong { margin-top:3px; font:700 20px/1.1 "Bricolage Grotesque",sans-serif; }.agenda-command em { margin-top:4px; color:#77837b; font-size:9px; font-style:normal; }
.doctor-agenda-layout { display:grid; grid-template-columns:minmax(0,1fr) 315px; gap:16px; align-items:start; }
.doctor-schedule { padding:22px; border-radius:25px; }.agenda-view-switch { display:flex; gap:4px; padding:4px; border-radius:12px; background:#f0f4f1; }.agenda-view-switch button { padding:7px 11px; border:0; border-radius:9px; color:#748078; background:transparent; font-size:9px; font-weight:800; }.agenda-view-switch button.active { color:#17462d; background:#fff; box-shadow:0 3px 12px rgba(8,40,23,.07); }
.doctor-appointment-list { display:grid; gap:9px; margin-top:17px; }
.doctor-appointment { display:grid; grid-template-columns:62px 44px minmax(180px,1fr) minmax(150px,.65fr) auto auto; gap:13px; align-items:center; padding:14px; border:1px solid #e0e8e2; border-radius:17px; background:#fff; }
.doctor-appointment.next { border-color:#86c99f; background:linear-gradient(100deg,#effaf2,#fff 65%); box-shadow:0 12px 28px rgba(16,111,61,.07); }
.appointment-time { display:grid; justify-items:center; padding-right:10px; border-right:1px solid #e5ebe7; }.appointment-time time { color:#133b26; font-size:16px; font-weight:800; }.appointment-time small { margin-top:4px; color:#16864d; font-size:7px; font-weight:850; letter-spacing:.07em; }
.appointment-avatar { display:grid; width:42px; height:42px; place-items:center; border-radius:13px; color:#11683c; background:#dff2e5; font-size:11px; font-weight:850; }.appointment-person h3 { margin:2px 0; font-size:14px; }.appointment-person small { color:#718078; font-size:9px; }
.appointment-readiness { display:flex; flex-direction:column; gap:5px; }.appointment-readiness span { color:#758078; font-size:8px; }.appointment-readiness span.ready { color:#0f7842; font-weight:800; }.appointment-readiness span.pending { color:#9a671a; }
.doctor-appointment > button { padding:9px 11px; border:0; border-radius:10px; color:#fff; background:#103b25; font-size:8px; font-weight:850; white-space:nowrap; cursor:pointer; }
.agenda-side { display:grid; gap:12px; }.agenda-side > section { padding:21px; border-radius:22px; }
.camera-check { color:#effff4; background:radial-gradient(circle at 85% 10%,rgba(163,245,113,.18),transparent 30%),linear-gradient(145deg,#071a10,#0b3923); }.camera-check > span { display:grid; width:45px; height:45px; place-items:center; border-radius:14px; color:#0d492b; background:#bdf77b; }.camera-check svg { width:21px; }.camera-check .section-label { margin-top:20px; color:#93c7a8; }.camera-check h2 { margin:4px 0 7px; color:#fff; font-size:22px; }.camera-check > p:not(.section-label) { color:#a9c0b1; font-size:10px; line-height:1.55; }.camera-check > div { display:grid; gap:7px; margin:16px 0; }.camera-check > div span { color:#c4d6ca; font-size:9px; }.camera-check > button { width:100%; min-height:42px; border:0; border-radius:11px; color:#0b311e; background:#bff67d; font-size:9px; font-weight:850; cursor:pointer; }
.day-summary h2 { margin:4px 0 14px; font-size:19px; }.day-summary > div { display:grid; gap:9px; }.day-summary > div span { display:flex; justify-content:space-between; padding:10px 0; border-bottom:1px solid #e5ebe7; color:#718078; font-size:10px; }.day-summary strong { color:#173c28; font-size:14px; }

@media (max-width: 1100px) {
  .app-shell { grid-template-columns: 88px minmax(0,1fr); }
  .sidebar { padding-inline: 13px; }
  .brand img { width: 32px; height: 44px; }
  .nav-item { min-height: 48px; }
  .page { padding-inline: 30px; }
  .consultation-card { grid-template-columns:70px 1fr auto; }
  .consultation-readiness { grid-column:2; }
  .teleconsultation-layout { grid-template-columns:1fr; }
  .video-room { min-height:590px; }
}
@media (max-width: 1000px) {
  .doctor-agenda-layout { grid-template-columns:1fr; }
  .agenda-command { grid-template-columns:1fr; }
  .doctor-appointment { grid-template-columns:58px 42px 1fr auto; }
  .appointment-readiness { grid-column:3; }.doctor-appointment > .status { grid-column:4; grid-row:1; }.doctor-appointment > button { grid-column:4; grid-row:2; }
}

@media (max-width: 820px) {
  .topbar { padding-inline: 22px; }
  .page { padding: 32px 20px 48px; }
  h1 { font-size: 36px; }
  .metrics, .network-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .medical-stock-summary { grid-template-columns: 1fr; }
  .catalog-access-flow { grid-template-columns: 1fr; }
  .catalog-access-flow > i { display: none; }
  .validation-hero { grid-template-columns: 1fr; padding: 34px; }
  .document-scanner { min-height: 310px; }
  .validation-stagebar { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .validation-stagebar > i { display: none; }
  .validation-grid, .validation-explainer { grid-template-columns: 1fr; }
  .explainer-heading { position: static; }
  .validation-safety { grid-template-columns: 47px minmax(0,1fr); }
  .validation-safety em { grid-column: 2; }
  .payment-pending-card { grid-template-columns:50px 1fr; }.payment-pending-card button,.payment-pending-card a { grid-column:2; }
  .consultation-hero { grid-template-columns:1fr; padding:35px; }
  .consultation-orbit { display:none; }
  .consultation-metrics { grid-template-columns:repeat(2,1fr); }
  .consultation-room-status { grid-template-columns:1fr 1fr; gap:8px; }
  .consultation-room-status > i { display:none; }
  .clinical-record { grid-template-columns:1fr; }
}

@media (max-width: 560px) {
  .sidebar { padding: 8px 12px; }
  .page { padding: 27px 14px 98px; }
  h1 { font-size: 31px; }
  .page-heading p:last-child { font-size: 13px; }
  .metric, .network-metrics article { min-height: 122px; padding: 16px; border-radius: 19px; }
  .metric-value, .network-metrics strong { font-size: 24px; }
  .panel { padding: 18px; border-radius: 20px; }
  .chart-controls { justify-content: flex-start; margin: 12px 0 16px; }
  .command-footer span:last-child { display: none; }
  .notification-item { grid-template-columns: 38px minmax(0,1fr); }
  .notification-item button, .notification-item > i { grid-column: 2; justify-self: start; }
  .association-cover { min-height: 190px; padding: 22px; }
  .association-cover h2 { font-size: 27px; }
  .association-body { padding: 18px; }
  .association-stat-grid { grid-template-columns: 1fr; }
  .association-info { grid-template-columns: 1fr; gap: 18px; }
  .validation-choice, .stock-snapshot { grid-template-columns: 1fr; }
  .validation-hero { min-height: auto; padding: 26px 20px; border-radius: 24px; }
  .validation-hero h2 { font-size: 36px; }
  .document-scanner { transform: scale(.88); margin: -10px 0; }
  .validation-stagebar { grid-template-columns: 1fr; }
  .validation-stagebar article { opacity: 1; }
  .validation-grid { grid-template-columns: 1fr; }
  .validation-explainer { padding: 28px 20px; gap: 30px; border-radius: 23px; }
  .explainer-heading h2 { font-size: 28px; }
  .validation-document-meta { grid-template-columns: 1fr; }
  .validation-safety { grid-template-columns: 1fr; }
  .validation-safety em { grid-column: 1; }
  .prescription-zero { grid-template-columns: 1fr; padding: 24px; }
  .upload-wizard { grid-template-columns: repeat(4,1fr); }
  .upload-wizard i { display: none; }
  .upload-wizard span { display:grid; justify-items:center; text-align:center; }
  .validation-report > footer { align-items:flex-start; flex-direction:column; }
  .payment-pending-card { grid-template-columns:1fr; }.payment-pending-card button,.payment-pending-card a { grid-column:1; }.payment-pending-card > span { display:none; }
  .consultation-hero { padding:27px 21px; border-radius:24px; }
  .consultation-hero h2 { font-size:33px; }
  .consultation-hero > div:first-child > div { align-items:flex-start; flex-direction:column; }
  .consultation-metrics { grid-template-columns:1fr 1fr; }
  .consultation-card { grid-template-columns:55px 1fr; gap:12px; }
  .consultation-readiness,.consultation-open { grid-column:2; }
  .telehealth-boundary { grid-template-columns:42px 1fr; }.telehealth-boundary em { grid-column:2; }
  .video-room { min-height:520px; border-radius:22px; }
  .video-stage { min-height:410px; }
  .video-room > footer { gap:5px; }.video-room > footer button { min-width:43px; padding:6px; }.video-room > footer .join-call { min-width:112px; }
  .self-video { width:105px; height:82px; }
  .call-overlay { width:80%; justify-content:center; }.call-overlay p { white-space:normal; }
  .consultation-patient-card dl { grid-template-columns:1fr; }
}

/* Ecommerce product media and operational lifecycle */
.catalog-product-image { width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 20px 24px rgba(7,35,22,.16)); transition:transform .28s ease; }
.product-card:hover .catalog-product-image { transform:translateY(-5px) scale(1.035); }
.product-art { position:relative; min-height:255px; display:grid; place-items:center; padding:28px 34px 18px; overflow:hidden; background:radial-gradient(circle at 50% 28%,#fff,#e1f1e5 58%,#c3e1c9); }
.product-art.cream { background:radial-gradient(circle at 50% 28%,#fff,#f6f2e7 58%,#e8e2d2); }
.product-art.lime { background:radial-gradient(circle at 50% 28%,#fff,#e8f7dc 58%,#cfe8bb); }
.product-art.dark { background:radial-gradient(circle at 50% 28%,#f7fbf8,#d9eadf 54%,#aac9b4); }
.stock-chip { position:absolute; right:14px; bottom:14px; z-index:2; padding:7px 10px; border:1px solid rgba(7,35,22,.09); border-radius:999px; color:var(--deep-green); background:rgba(255,255,255,.84); backdrop-filter:blur(10px); font-size:9px; font-weight:800; }
.catalog-admin-metrics,.membership-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:24px 0; }
.catalog-admin-metrics article,.membership-metrics article { padding:20px 22px; border:1px solid rgba(7,23,16,.08); border-radius:20px; background:linear-gradient(145deg,#fff,#eff7f1); box-shadow:0 14px 36px rgba(7,23,16,.055); }
.catalog-admin-metrics span,.membership-metrics span { display:block; color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.catalog-admin-metrics strong,.membership-metrics strong { display:block; margin:5px 0 2px; color:var(--deep-green); font-size:31px; letter-spacing:-.04em; }
.catalog-admin-metrics small,.membership-metrics small { color:var(--muted); font-size:10px; }
.merchant-product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.merchant-product-card { overflow:hidden; border:1px solid rgba(7,23,16,.08); border-radius:24px; background:#fff; box-shadow:0 18px 50px rgba(7,23,16,.07); transition:.2s ease; }
.merchant-product-card:hover { transform:translateY(-3px); box-shadow:0 24px 60px rgba(7,23,16,.11); }
.merchant-product-media { position:relative; height:238px; display:grid; place-items:center; padding:22px; background:radial-gradient(circle at 50% 25%,#fff,#e6f3e9 60%,#cfe4d3); }
.merchant-product-media img { width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 15px 18px rgba(7,35,22,.13)); }
.merchant-product-media>span { position:absolute; top:14px; left:14px; padding:7px 10px; border-radius:999px; color:var(--deep-green); background:rgba(255,255,255,.88); font-size:9px; font-weight:800; text-transform:uppercase; }
.merchant-product-copy { padding:20px; }
.merchant-product-copy>small { color:#2da758; font-size:9px; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.merchant-product-copy h2 { margin:7px 0 5px; font-size:20px; letter-spacing:-.035em; }
.merchant-product-copy p { min-height:34px; margin:0; color:var(--muted); font-size:11px; line-height:1.55; }
.merchant-product-copy>div { display:flex; justify-content:space-between; align-items:flex-end; gap:12px; margin:18px 0 14px; }
.merchant-product-copy>div strong { font-size:19px; }.merchant-product-copy>div span { color:var(--muted); font-size:10px; }.merchant-product-copy>button { width:100%; }
.product-registration-form { width:min(980px,calc(100vw - 36px)); }
.product-registration-layout { display:grid; grid-template-columns:270px minmax(0,1fr); gap:24px; align-items:start; }
.product-photo-upload { display:flex!important; min-height:410px; align-items:center; justify-content:center; flex-direction:column; padding:16px!important; border:1px dashed #9ebaa5!important; border-radius:22px!important; background:linear-gradient(145deg,#f8fbf8,#eaf4ec)!important; cursor:pointer; text-align:center; }
.product-photo-upload input { position:absolute; width:1px; height:1px; opacity:0; }.product-photo-preview { width:100%; height:270px; display:grid; place-items:center; margin-bottom:12px; }.product-photo-preview img { width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 16px 20px rgba(7,35,22,.13)); }
.product-photo-upload strong { font-size:13px; }.product-photo-upload small { margin:4px 0 10px; color:var(--muted); font-size:10px; }.product-photo-upload em { color:#2da758; font-size:10px; font-style:normal; font-weight:800; }
.product-compliance-note { display:flex; gap:13px; align-items:center; margin-top:20px; padding:15px 17px; border-radius:16px; color:#164b2d; background:#eef8f1; }.product-compliance-note>span { width:34px;height:34px;display:grid;place-items:center; }.product-compliance-note svg{width:24px}.product-compliance-note strong,.product-compliance-note p{display:block;margin:0}.product-compliance-note p{margin-top:3px;font-size:10px;line-height:1.45}
.membership-review-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }.membership-review-card{overflow:hidden;border:1px solid rgba(7,23,16,.08);border-radius:24px;background:#fff;box-shadow:0 18px 50px rgba(7,23,16,.065)}
.membership-review-card header{display:flex;align-items:center;gap:13px;padding:20px;border-bottom:1px solid rgba(7,23,16,.07)}.membership-review-card header>span:first-child{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;color:#fff;background:var(--deep-green);font-weight:800}.membership-review-card header div{min-width:0;flex:1}.membership-review-card header small{color:#2da758;font-size:8px;font-weight:850;letter-spacing:.1em}.membership-review-card h2,.membership-review-card p{margin:0}.membership-review-card h2{margin:3px 0;font-size:17px}.membership-review-card p{color:var(--muted);font-size:10px}
.membership-review-card>section{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px 20px}.membership-review-card>section div{padding:14px;border-radius:14px;background:#f4f8f4}.membership-review-card>section small,.membership-review-card>section strong,.membership-review-card>section span{display:block}.membership-review-card>section small{color:var(--muted);font-size:8px;font-weight:800;text-transform:uppercase}.membership-review-card>section strong{margin:5px 0 3px;font-size:12px}.membership-review-card>section span{color:var(--muted);font-size:9px}.membership-review-card footer{display:flex;justify-content:flex-end;gap:9px;padding:0 20px 20px}.membership-review-card footer.membership-complete{justify-content:flex-start;align-items:center;padding-top:4px}.membership-complete>span{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;color:var(--deep-green);background:var(--lime);font-weight:900}
.communication-banner{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:24px 0;padding:24px;border-radius:24px;color:#fff;background:radial-gradient(circle at 20% 0,rgba(84,205,119,.34),transparent 34%),linear-gradient(135deg,#092d1b,#0f5130);box-shadow:0 22px 58px rgba(7,35,22,.18)}.communication-banner>div{display:flex;align-items:center;gap:16px}.communication-banner>div>span{width:46px;height:46px;display:grid;place-items:center;border-radius:15px;background:rgba(255,255,255,.12)}.communication-banner svg{width:24px}.communication-banner small{color:#8ee5a8;font-size:8px;font-weight:850;letter-spacing:.12em}.communication-banner h2,.communication-banner p{margin:0}.communication-banner h2{margin:4px 0;font-size:19px}.communication-banner p{color:rgba(255,255,255,.72);font-size:10px}.communication-banner>strong{padding:10px 13px;border:1px solid rgba(255,255,255,.17);border-radius:999px;font-size:11px;white-space:nowrap}
@media(max-width:1040px){.merchant-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-registration-layout{grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:760px){.catalog-admin-metrics,.membership-metrics,.merchant-product-grid,.membership-review-grid{grid-template-columns:1fr}.product-registration-layout{grid-template-columns:1fr}.product-photo-upload{min-height:330px}.communication-banner{align-items:flex-start;flex-direction:column}}

/* Central de documentos: plataforma, PDF e e-mail no mesmo padrão. */
.document-system-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:26px 0 20px;padding:28px 30px;color:#fff;border-radius:26px;background:radial-gradient(circle at 82% 15%,rgba(144,233,88,.24),transparent 28%),linear-gradient(135deg,#072b1a,#0e4b2d);box-shadow:0 22px 48px rgba(5,43,25,.17);overflow:hidden}.document-system-banner>div{display:flex;align-items:center;gap:18px}.document-system-banner>div>span{display:grid;place-items:center;width:56px;height:56px;border-radius:18px;color:#102e1d;background:#91e957}.document-system-banner svg{width:28px}.document-system-banner small{color:#91e957;font-weight:850;letter-spacing:.11em}.document-system-banner h2{margin:4px 0 6px;font-size:23px;letter-spacing:-.035em}.document-system-banner p{margin:0;max-width:670px;color:#c1d3c8}.document-system-banner aside{min-width:130px;padding-left:24px;border-left:1px solid rgba(255,255,255,.18);text-align:center}.document-system-banner aside b{display:block;color:#91e957;font-size:34px;line-height:1}.document-system-banner aside span{display:block;margin-top:7px;color:#c1d3c8;font-size:12px}
.document-filter-row{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:18px}.document-filter-row button{border:1px solid #d5e2d8;border-radius:999px;padding:9px 14px;color:#496055;background:#fff;font-weight:750;cursor:pointer}.document-filter-row button.active{border-color:#123f28;color:#fff;background:#123f28}.document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.document-card{padding:22px;border:1px solid #dce7df;border-radius:21px;background:linear-gradient(145deg,#fff,#fbfdfb);box-shadow:0 12px 34px rgba(18,62,39,.07);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.document-card:hover{transform:translateY(-2px);border-color:#acd3b8;box-shadow:0 18px 42px rgba(18,62,39,.11)}.document-card header{display:flex;align-items:center;gap:13px}.document-card header>span:first-child{display:grid;place-items:center;flex:0 0 46px;height:46px;border-radius:14px;color:#0b3922;background:#e6f5e9;font-size:13px;font-weight:900}.document-card header>div{min-width:0;flex:1}.document-card header small{color:#1d7045;font-size:10px;font-weight:850;letter-spacing:.11em}.document-card h2{margin:3px 0 0;font-size:18px;letter-spacing:-.025em}.document-card>p{min-height:42px;margin:17px 0;color:#687970}.document-card footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:15px;border-top:1px solid #e4ece6}.document-card footer>span{color:#718078;font-size:12px}.document-card footer>div{display:flex;gap:8px}.document-card footer button{border-radius:11px;padding:9px 11px;font-weight:800;cursor:pointer}.document-preview-button{border:1px solid #cddbd1;color:#143c27;background:#fff}.document-pdf-button{border:1px solid #0a3822;color:#fff;background:#0a3822}
.document-action-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:4px 0 22px;padding:18px 20px;border:1px solid #cfe1d3;border-radius:18px;background:#edf7ef}.document-action-bar>div:first-child{display:flex;align-items:center;gap:12px}.document-action-bar>div:first-child>span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;color:#0a3822;background:#bdf28e}.document-action-bar svg{width:20px}.document-action-bar p{margin:0}.document-action-bar p>*{display:block}.document-action-bar p small{margin-top:3px;color:#66776e}.document-action-bar>div:last-child{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.primary-button.light{color:#103a25;background:#c6f59b}
.email-preview-dialog{width:100%;overflow:hidden;border-radius:28px;background:#fff}#app-dialog:has(.email-preview-dialog){width:min(980px,calc(100vw - 32px));max-width:980px;padding:0;border:0;border-radius:28px;background:transparent}.email-preview-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px 17px}.email-preview-dialog>header h2{margin:4px 0;font-size:25px}.email-preview-dialog>header p{margin:0;color:#66766e}.email-preview-dialog iframe{display:block;width:100%;height:min(650px,68vh);border:0;border-top:1px solid #dce7df;border-bottom:1px solid #dce7df;background:#edf3ef}.email-preview-dialog>footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px 22px}
@media(max-width:850px){.document-grid{grid-template-columns:1fr}.document-system-banner,.document-action-bar,.document-card footer{align-items:flex-start;flex-direction:column}.document-system-banner aside{width:100%;padding:16px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.18);text-align:left}.document-action-bar>div:last-child,.document-card footer>div{width:100%}.document-action-bar button,.document-card footer button{flex:1}}

/* Doctor Green brand system 3.0 */
:root{--deep-green:#11271b;--brand-green:#52b963;--surface-green:#dff3e4;--lime:#c9f45b;--cream:#f7f0e7;--background:#f1f4ef;--surface:#fffefb;--text:#14251b;--muted:#66756c;--border:#d9e2da;--shadow:0 24px 70px rgba(12,42,25,.075)}
html{background:#edf2ed}body{font-family:"Instrument Sans",system-ui,sans-serif;font-size:14px;background:radial-gradient(circle at 82% -8%,rgba(201,244,91,.14),transparent 25%),linear-gradient(135deg,#f5f7f3 0%,#edf2ed 100%);-webkit-font-smoothing:antialiased}h1,h2,h3,.metric-value,.chart-total,.portal-symbol,.workspace-avatar,.user-avatar{font-family:"Bricolage Grotesque",sans-serif}.app-shell{grid-template-columns:286px minmax(0,1fr)}
.sidebar{padding:25px 19px 18px;background:radial-gradient(circle at 18% 8%,rgba(82,185,99,.18),transparent 24%),linear-gradient(180deg,#11271b 0%,#081b11 100%);border-right:1px solid rgba(255,255,255,.07);box-shadow:16px 0 50px rgba(8,27,17,.08)}
.brand{height:67px;margin:0 10px 20px;display:flex;flex-direction:column;justify-content:flex-start;gap:7px;overflow:visible}.brand img{width:220px;height:auto;aspect-ratio:1910/424;object-fit:contain;object-position:left}.brand span{color:rgba(247,240,231,.48);font-size:7.5px;font-weight:700;letter-spacing:.2em}
.workspace-picker{min-height:72px;padding:11px;border-color:rgba(247,240,231,.13);border-radius:19px;background:linear-gradient(135deg,rgba(255,255,255,.085),rgba(255,255,255,.035));box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}.workspace-avatar{width:44px;height:44px;border:1px solid rgba(255,255,255,.22);border-radius:14px;background:linear-gradient(145deg,#d4ff71,#8bd958);box-shadow:0 10px 25px rgba(201,244,91,.16);font-size:12px}.workspace-copy strong{font-size:13px}.workspace-copy small{font-size:9px;letter-spacing:.03em}
.nav-list{margin-top:19px;gap:3px;padding:3px 2px 14px}.nav-item{min-height:47px;padding:0 13px;border:1px solid transparent;border-radius:14px;color:rgba(247,240,231,.62);font-size:12px;font-weight:600;transition:transform .18s ease,color .18s ease,background .18s ease}.nav-item:hover{transform:translateX(2px);color:#fff;background:rgba(255,255,255,.06)}.nav-item.active{color:#13281c;border-color:rgba(255,255,255,.5);background:linear-gradient(110deg,#fffaf2,#e9f4e8);box-shadow:0 13px 32px rgba(0,0,0,.24)}.nav-item.active .nav-icon{color:#21824b}.nav-icon{width:21px}.nav-badge{color:#11271b;background:var(--lime);box-shadow:0 0 0 3px rgba(201,244,91,.09)}
.sidebar-support{padding:13px;border:1px solid rgba(201,244,91,.12);border-radius:17px;background:linear-gradient(135deg,rgba(82,185,99,.14),rgba(201,244,91,.04))}.support-icon{color:#11271b;background:var(--lime);font-weight:900}.user-card{padding-top:13px;border-top:1px solid rgba(255,255,255,.08)}
.topbar{min-height:82px;padding:0 38px;border-bottom:1px solid rgba(17,39,27,.075);background:rgba(248,250,247,.83);box-shadow:0 8px 30px rgba(20,48,30,.025);backdrop-filter:blur(22px)}.session-context>span:last-child strong{font-size:12px}.session-context small{font-size:9px;letter-spacing:.025em}.session-lock{width:9px;height:9px;overflow:hidden;border-radius:50%;color:transparent;background:#39b96b;box-shadow:0 0 0 5px rgba(57,185,107,.1)}.icon-button{width:42px;height:42px;border-radius:13px;background:rgba(255,255,255,.82);box-shadow:0 8px 20px rgba(17,39,27,.04)}.store-button{min-height:42px;padding:0 18px;border:1px solid #dce4dc;border-radius:13px;background:#fffdf8;box-shadow:0 8px 20px rgba(17,39,27,.04)}
.main-content{position:relative;isolation:isolate}.main-content:before{content:"";position:fixed;z-index:-1;right:-180px;top:130px;width:520px;height:520px;border:1px solid rgba(82,185,99,.08);border-radius:41% 59% 58% 42%/52% 40% 60% 48%;transform:rotate(22deg);pointer-events:none}.page{max-width:1540px;padding:44px 42px 62px}.page-heading{align-items:flex-start}.page-heading>div:first-child{max-width:850px}.page-heading .eyebrow{padding:0;border:0;background:transparent;color:#27854f;font-size:9px;font-weight:800;letter-spacing:.19em}.page-heading h1{font-size:clamp(32px,3.25vw,48px);line-height:1.02;letter-spacing:-.055em}.page-heading p:last-child{max-width:760px;margin-top:15px;color:#68776e;font-size:15px;line-height:1.65}.live-status{padding:9px 12px;border:1px solid #dce8df;border-radius:999px;background:rgba(255,255,255,.7);font-size:10px}.primary-button,.checkout-button,.document-pdf-button{border-radius:13px;background:linear-gradient(135deg,#153d28,#0a2b1a);box-shadow:0 12px 28px rgba(10,43,26,.18);transition:transform .18s ease,box-shadow .18s ease}.primary-button:hover,.checkout-button:hover,.document-pdf-button:hover{transform:translateY(-1px);box-shadow:0 16px 36px rgba(10,43,26,.24)}
.metrics{margin-top:36px;gap:17px}.metric{min-height:162px;padding:23px;border:1px solid rgba(17,39,27,.075);border-radius:27px;background:rgba(255,254,251,.94);box-shadow:var(--shadow);overflow:hidden}.metric:first-child{position:relative;background:radial-gradient(circle at 88% 9%,rgba(201,244,91,.28),transparent 27%),linear-gradient(145deg,#11271b,#184b31)}.metric:first-child:after{content:"DG";position:absolute;right:-7px;bottom:-25px;color:rgba(255,255,255,.035);font:800 86px/1 "Bricolage Grotesque",sans-serif}.metric:nth-child(4){background:linear-gradient(145deg,#fffaf3,#eff6ee)}.metric-icon{width:41px;height:41px;border-radius:14px}.metric-value{margin-top:23px;font-size:33px}.metric-detail{font-size:10px}.panel{padding:27px;border:1px solid rgba(17,39,27,.075);border-radius:28px;background:rgba(255,254,251,.94);box-shadow:var(--shadow)}.panel-heading h2{font-size:18px}.table-wrap{border-radius:16px}table thead th{font-size:8px;letter-spacing:.11em}table tbody td{padding-top:15px;padding-bottom:15px}
.document-system-banner{position:relative;margin:31px 0 22px;padding:34px 35px;border-radius:31px;background:radial-gradient(circle at 87% 18%,rgba(201,244,91,.32),transparent 23%),linear-gradient(135deg,#11271b,#185437);box-shadow:0 28px 65px rgba(10,48,28,.17)}.document-system-banner:after{content:"";position:absolute;right:18%;bottom:-85px;width:220px;height:220px;border:1px solid rgba(255,255,255,.11);border-radius:50%}.document-system-banner>div>span{width:62px;height:62px;border-radius:20px;background:var(--lime);box-shadow:0 14px 30px rgba(201,244,91,.18)}.document-system-banner h2{font-size:27px}.document-filter-row{gap:10px;margin-bottom:21px}.document-filter-row button{padding:10px 16px;border-color:#dbe5dd;border-radius:12px;font-size:10px;letter-spacing:.04em}.document-filter-row button.active{border-color:#11271b;background:#11271b;box-shadow:0 9px 22px rgba(17,39,27,.14)}.document-grid{gap:19px}.document-card{position:relative;padding:24px;border-color:rgba(17,39,27,.075);border-radius:26px;background:linear-gradient(145deg,#fffefb,#f7faf6);box-shadow:0 20px 52px rgba(17,39,27,.07);overflow:hidden}.document-card:before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:linear-gradient(#52b963,#c9f45b)}.document-card:hover{transform:translateY(-3px);border-color:#b9d9c1;box-shadow:0 27px 62px rgba(17,39,27,.12)}.document-card header>span:first-child{width:50px;height:50px;border-radius:16px;background:linear-gradient(145deg,#eaf7ed,#dff2e2)}.document-card h2{font-size:19px}.document-card footer button{min-height:39px;border-radius:12px}.document-preview-button{background:#fffefb}
.login-screen{background:#f5f3ed}.login-brand-panel{padding:clamp(42px,5vw,78px);background:radial-gradient(circle at 18% 18%,rgba(82,185,99,.4),transparent 30%),radial-gradient(circle at 84% 86%,rgba(201,244,91,.2),transparent 26%),linear-gradient(145deg,#081b11,#112f20)}.login-brand-panel:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,black,transparent 75%)}.login-brand-panel>img{width:min(330px,78%);height:auto;aspect-ratio:1910/424;object-fit:contain;object-position:left}.login-brand-panel h1{max-width:720px;font-size:clamp(44px,5vw,73px);line-height:.98}.login-trust span{padding:10px 13px;border-radius:12px}.login-form-panel{padding:clamp(24px,4vw,68px);background:radial-gradient(circle at 86% 8%,rgba(82,185,99,.12),transparent 27%),#f5f3ed}.login-form{width:min(475px,100%);padding:38px;border:1px solid rgba(17,39,27,.08);border-radius:32px;background:rgba(255,254,251,.9);box-shadow:0 28px 80px rgba(17,39,27,.11);backdrop-filter:blur(20px)}.portal-symbol{width:58px;height:58px;margin-bottom:27px;border-radius:18px;color:transparent;background-color:#11271b;background-image:url("./assets/doctor-green-logo-horizontal.png");background-repeat:no-repeat;background-size:auto 58px;background-position:left center;box-shadow:0 14px 35px rgba(17,39,27,.18);overflow:hidden}.login-form h2{font-size:clamp(34px,3vw,44px)}.google-login-button{min-height:58px;border-radius:15px}.email-access-fields{border-radius:18px}.login-submit{min-height:50px;border-radius:13px}
.merchant-product-card,.buyer-product-card,.membership-review-card{border-radius:27px!important;box-shadow:0 21px 55px rgba(17,39,27,.075)!important}.merchant-product-media,.product-visual{border-radius:21px!important}.status{border-radius:999px;font-size:9px;letter-spacing:.025em}.email-preview-dialog{box-shadow:0 34px 100px rgba(7,28,17,.25)}
@media(max-width:1100px){.app-shell{grid-template-columns:92px minmax(0,1fr)}.brand{align-items:center;height:54px;margin:0 4px 20px}.brand img{width:58px;height:50px;object-fit:cover;object-position:left}.brand span,.workspace-copy,.chevron,.sidebar-support>span:last-child,.user-card>span:nth-child(2){display:none}.workspace-picker{display:flex;justify-content:center}.workspace-avatar{flex:0 0 44px}.nav-item{justify-content:center;padding:0}.nav-item span:not(.nav-icon):not(.nav-badge){display:none}.nav-badge{position:absolute;transform:translate(16px,-14px)}.nav-item{position:relative}.page{padding-inline:28px}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:static;width:100%;height:auto;min-height:0;padding:13px 15px}.brand,.workspace-picker,.sidebar-support,.user-card{display:none}.nav-list{flex-direction:row;overflow-x:auto;margin:0;padding:0}.nav-item{flex:0 0 49px}.topbar{min-height:68px;padding:0 18px}.mobile-brand{display:block;width:145px;height:34px;overflow:hidden}.mobile-brand img{display:block;width:145px;height:32px;object-fit:contain}.session-context{display:none}.page{padding:28px 17px 45px}.page-heading{display:block}.page-heading h1{font-size:34px}.heading-actions{margin-top:20px}.login-screen{grid-template-columns:1fr}.login-brand-panel{display:none}.login-form-panel{padding:17px}.login-form{padding:27px 22px;border-radius:25px}.document-grid{grid-template-columns:1fr}}
.document-system-banner h2{color:#fff}

/* Delivery experience 1.0: expedição, rastreio e confirmação. */
.delivery-command,.shipping-command{position:relative;display:flex;align-items:center;justify-content:space-between;gap:28px;margin:30px 0 20px;padding:31px 34px;overflow:hidden;border-radius:30px;color:#fff;background:radial-gradient(circle at 84% 8%,rgba(201,244,91,.34),transparent 27%),linear-gradient(135deg,#0c2c1c,#185638);box-shadow:0 28px 68px rgba(10,48,28,.19)}
.delivery-command:after,.shipping-command:after{content:"";position:absolute;right:18%;bottom:-150px;width:280px;height:280px;border:1px solid rgba(255,255,255,.1);border-radius:50%;pointer-events:none}.delivery-command>div,.shipping-command>div{position:relative;z-index:1;display:flex;align-items:center;gap:18px}.delivery-command>div>span,.shipping-command>div>span{display:grid;place-items:center;flex:0 0 61px;height:61px;border-radius:20px;color:#102b1c;background:var(--lime);box-shadow:0 15px 35px rgba(201,244,91,.22)}.delivery-command svg,.shipping-command svg{width:29px}.delivery-command small,.shipping-command small{color:#bdf078;font-size:9px;font-weight:850;letter-spacing:.14em}.delivery-command h2,.shipping-command h2{margin:5px 0 7px;color:#fff;font-size:25px;letter-spacing:-.035em}.delivery-command p,.shipping-command p{margin:0;max-width:720px;color:rgba(255,255,255,.7);font-size:12px}.delivery-command>aside{position:relative;z-index:1;min-width:150px;padding-left:27px;border-left:1px solid rgba(255,255,255,.18);text-align:center}.delivery-command>aside strong{display:block;color:var(--lime);font:800 38px/1 "Bricolage Grotesque",sans-serif}.delivery-command>aside span{display:block;margin-top:8px;color:rgba(255,255,255,.7);font-size:11px}
.order-summary-strip{display:grid;grid-template-columns:1.2fr .7fr 1fr 1fr;margin:20px 0;overflow:hidden;border:1px solid rgba(17,39,27,.08);border-radius:21px;background:rgba(255,254,251,.94);box-shadow:0 16px 45px rgba(17,39,27,.055)}.order-summary-strip>div{display:flex;min-height:84px;flex-direction:column;justify-content:center;padding:19px 22px;border-right:1px solid #e4ebe5}.order-summary-strip>div:last-child{border-right:0}.order-summary-strip small{color:#748178;font-size:8px;font-weight:850;letter-spacing:.12em}.order-summary-strip strong{margin-top:7px;color:#173624;font-size:15px}.order-summary-strip .status{align-self:flex-start;margin-top:7px}
.shipment-stack{display:grid;gap:22px}.shipment-detail-card{padding:0;overflow:hidden;border:1px solid rgba(17,39,27,.085);border-radius:29px;background:#fffefb;box-shadow:0 25px 65px rgba(17,39,27,.075)}.shipment-detail-card>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 28px;border-bottom:1px solid #e5ece6;background:linear-gradient(135deg,#fffefb,#f4f9f4)}.shipment-partner{display:flex;align-items:center;gap:14px}.shipment-partner>span{display:grid;place-items:center;width:50px;height:50px;border-radius:16px;color:#fff;background:linear-gradient(145deg,#1d6740,#0d3923);font-weight:850;box-shadow:0 11px 25px rgba(13,57,35,.17)}.shipment-partner small{color:#2c8552;font-size:8px;font-weight:850;letter-spacing:.12em}.shipment-partner h2{margin:3px 0 2px;font-size:18px}.shipment-partner p{margin:0;color:#718078;font-size:11px}
.delivery-stepper{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));margin:0;padding:26px 27px 22px;list-style:none;background:#fff}.delivery-stepper li{position:relative;min-width:0;text-align:center}.delivery-stepper li:before{content:"";position:absolute;z-index:0;left:-50%;top:17px;width:100%;height:2px;background:#dfe7e1}.delivery-stepper li:first-child:before{display:none}.delivery-stepper li.complete:before,.delivery-stepper li.active:before{background:#58b866}.delivery-stepper li>span{position:relative;z-index:1;display:grid;place-items:center;width:35px;height:35px;margin:0 auto 10px;border:2px solid #d9e3db;border-radius:50%;color:#87938b;background:#fff;font-size:10px;font-weight:900}.delivery-stepper li.complete>span{border-color:#4ab15d;color:#12321f;background:var(--lime)}.delivery-stepper li.active>span{border-color:#1a6c42;color:#fff;background:#1a6c42;box-shadow:0 0 0 6px rgba(82,185,99,.12)}.delivery-stepper strong,.delivery-stepper small{display:block;white-space:normal}.delivery-stepper strong{color:#79867e;font-size:9px}.delivery-stepper small{max-width:96px;margin:4px auto 0;color:#9ba59f;font-size:7px;line-height:1.35}.delivery-stepper li.complete strong,.delivery-stepper li.active strong{color:#153724}
.shipment-live-grid{display:grid;grid-template-columns:1.05fr .8fr 1.2fr;margin:0 27px;border:1px solid #dfe9e1;border-radius:20px;background:#f5f9f5}.shipment-live-grid>div{display:flex;min-height:114px;flex-direction:column;justify-content:center;padding:18px 21px;border-right:1px solid #dfe9e1}.shipment-live-grid>div:last-child{border-right:0}.shipment-live-grid small,.tracking-panel .section-label{margin:0;color:#728179;font-size:8px;font-weight:850;letter-spacing:.11em}.shipment-live-grid strong{margin:7px 0 4px;color:#183d28;font-size:13px}.shipment-live-grid span{color:#738078;font-size:9px}.tracking-panel strong{font-size:16px;letter-spacing:.05em}.tracking-panel button{align-self:flex-start;margin-top:11px;padding:7px 10px;border:1px solid #c8d9cc;border-radius:9px;color:#195a37;background:#fff;font-size:8px;font-weight:850;cursor:pointer}
.shipment-history{display:grid;grid-template-columns:210px minmax(0,1fr);gap:28px;padding:26px 28px}.shipment-history h3{margin:5px 0;font-size:17px}.shipment-history ol{margin:0;padding:0;list-style:none}.shipment-history li{position:relative;display:grid;grid-template-columns:19px minmax(0,1fr);gap:12px;padding:0 0 18px}.shipment-history li:after{content:"";position:absolute;left:7px;top:17px;bottom:0;width:1px;background:#d8e4db}.shipment-history li:last-child{padding-bottom:0}.shipment-history li:last-child:after{display:none}.shipment-history li>i{z-index:1;width:15px;height:15px;margin-top:2px;border:4px solid #e1eee4;border-radius:50%;background:#58b866}.shipment-history li.latest>i{background:var(--lime);box-shadow:0 0 0 4px rgba(201,244,91,.18)}.shipment-history li strong{font-size:11px}.shipment-history li p{margin:3px 0;color:#6c7c73;font-size:9px}.shipment-history li small{color:#95a099;font-size:8px}.shipment-detail-card>footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:18px 28px;border-top:1px solid #e7ede8;background:#fbfcfa}.delivery-confirmed{padding:10px 14px;border-radius:11px;color:#1b603a;background:#e8f6eb;font-size:10px;font-weight:850}
.shipping-command>aside{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);min-width:420px;border:1px solid rgba(255,255,255,.15);border-radius:19px;background:rgba(255,255,255,.075);backdrop-filter:blur(8px)}.shipping-command>aside>div{padding:15px;text-align:center;border-right:1px solid rgba(255,255,255,.12)}.shipping-command>aside>div:last-child{border-right:0}.shipping-command>aside small{display:block;font-size:7px}.shipping-command>aside strong{display:block;margin-top:5px;color:#fff;font-size:22px}
.shipping-board{display:grid;grid-template-columns:repeat(4,minmax(230px,1fr));gap:15px;align-items:start;margin-top:20px;overflow-x:auto;padding-bottom:10px}.shipping-column{min-width:230px;padding:15px;border:1px solid #dfe7e1;border-radius:24px;background:rgba(241,245,241,.82)}.shipping-column>header{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 14px}.shipping-column>header small{color:#75837a;font-size:7px;font-weight:850;letter-spacing:.1em}.shipping-column>header h2{margin:3px 0 0;font-size:15px}.shipping-column>header>span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;color:#174128;background:#dff1e2;font-size:10px;font-weight:900}.shipping-column>div{display:grid;gap:11px}.shipping-queue-card{padding:16px;border:1px solid rgba(17,39,27,.075);border-radius:18px;background:#fffefb;box-shadow:0 9px 28px rgba(17,39,27,.055)}.shipping-queue-card>header{display:flex;align-items:center;gap:9px}.shipping-queue-card>header>span:first-child{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;color:#fff;background:#17422a;font-size:9px;font-weight:850}.shipping-queue-card>header>div{min-width:0;flex:1}.shipping-queue-card header small{color:#2e8252;font-size:7px;font-weight:850}.shipping-queue-card h3{margin:2px 0;font-size:12px}.shipping-queue-card .status{font-size:7px}.shipping-item-copy{display:grid;gap:4px;margin:14px 0;padding:12px;border-radius:12px;background:#f3f7f3}.shipping-item-copy strong{font-size:9px;line-height:1.4}.shipping-item-copy span{color:#7a877f;font-size:8px}.shipping-track-mini{display:flex;align-items:center;gap:9px;margin-bottom:13px}.shipping-track-mini>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;color:#194c2f;background:#e1f1e4}.shipping-track-mini svg{width:17px}.shipping-track-mini div>*{display:block}.shipping-track-mini small{color:#78857d;font-size:7px}.shipping-track-mini strong{margin:2px 0;font-size:8px;letter-spacing:.04em}.shipping-track-mini em{color:#2b8552;font-size:7px;font-style:normal}.shipping-queue-card>footer{display:flex;gap:7px}.shipping-queue-card>footer button{flex:1;min-height:36px;padding:7px;border-radius:10px;font-size:8px}.shipping-empty{display:grid!important;place-items:center;min-height:145px;padding:22px;text-align:center;border:1px dashed #cad8cd;border-radius:16px;color:#77847c}.shipping-empty>span{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;color:#21583a;background:#e4f3e7;font-weight:900}.shipping-empty strong{font-size:10px}.shipping-empty small{font-size:8px}
.shipping-dialog-order{display:flex;align-items:center;gap:13px;margin:18px 0;padding:15px;border-radius:16px;background:#eef6ef}.shipping-dialog-order>span{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;color:#fff;background:#153f28;font-weight:850}.shipping-dialog-order>div{min-width:0;flex:1}.shipping-dialog-order small,.shipping-dialog-order strong,.shipping-dialog-order p{display:block;margin:0}.shipping-dialog-order small{color:#358357;font-size:8px;font-weight:850}.shipping-dialog-order strong{margin:3px 0;font-size:12px}.shipping-dialog-order p{color:#738078;font-size:9px}.shipping-dialog-order>b{font-size:12px}.shipping-safety{display:flex;align-items:center;gap:12px;margin-top:15px;padding:13px 15px;border:1px solid #cfe1d3;border-radius:14px;color:#204c31;background:#f0f8f1}.shipping-safety span{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:#d8f0dc}.shipping-safety svg{width:18px}.shipping-safety p{margin:0;font-size:9px;line-height:1.5}
@media(max-width:1180px){.shipping-command{align-items:flex-start;flex-direction:column}.shipping-command>aside{width:100%;min-width:0}.shipping-board{grid-template-columns:repeat(2,minmax(250px,1fr))}.delivery-stepper{overflow-x:auto;grid-template-columns:repeat(7,110px)}}
@media(max-width:760px){.delivery-command,.shipping-command{align-items:flex-start;flex-direction:column;padding:25px}.delivery-command>aside{width:100%;padding:18px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.18);text-align:left}.shipping-command>aside{grid-template-columns:repeat(2,1fr)}.shipping-command>aside>div:nth-child(2){border-right:0}.shipping-command>aside>div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.12)}.order-summary-strip{grid-template-columns:1fr 1fr}.order-summary-strip>div:nth-child(2){border-right:0}.order-summary-strip>div:nth-child(-n+2){border-bottom:1px solid #e4ebe5}.shipment-detail-card>header{align-items:flex-start}.delivery-stepper{justify-content:start}.shipment-live-grid{grid-template-columns:1fr}.shipment-live-grid>div{min-height:92px;border-right:0;border-bottom:1px solid #dfe9e1}.shipment-live-grid>div:last-child{border-bottom:0}.shipment-history{grid-template-columns:1fr}.shipment-detail-card>footer{align-items:stretch;flex-direction:column}.shipping-board{grid-template-columns:repeat(4,minmax(270px,1fr))}}

/* Patient delivery center: a remessa vira uma experiência, não uma tabela. */
.delivery-spotlight{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:0;margin:30px 0 28px;overflow:hidden;border-radius:32px;background:linear-gradient(135deg,#102d1e,#174a30);box-shadow:0 31px 75px rgba(10,42,25,.2)}.delivery-spotlight-copy{position:relative;padding:42px 40px;color:#fff;background:radial-gradient(circle at 15% 5%,rgba(82,185,99,.28),transparent 35%)}.delivery-spotlight-copy:after{content:"DG";position:absolute;right:14px;bottom:-22px;color:rgba(255,255,255,.035);font:800 100px/1 "Bricolage Grotesque",sans-serif}.delivery-live-pill{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid rgba(201,244,91,.22);border-radius:999px;color:#cffb83;background:rgba(201,244,91,.08);font-size:8px;font-weight:850;letter-spacing:.1em}.delivery-live-pill i{width:7px;height:7px;border-radius:50%;background:#c9f45b;box-shadow:0 0 0 5px rgba(201,244,91,.1)}.delivery-spotlight-copy>small{display:block;margin-top:25px;color:#86d996;font-size:9px;font-weight:850;letter-spacing:.13em}.delivery-spotlight-copy h2{max-width:560px;margin:7px 0 12px;color:#fff;font-size:clamp(30px,3vw,46px);line-height:1.02;letter-spacing:-.05em}.delivery-spotlight-copy p{max-width:580px;margin:0;color:rgba(255,255,255,.68);line-height:1.65}.delivery-spotlight-actions{position:relative;z-index:1;display:flex;gap:10px;margin-top:28px}.delivery-spotlight-actions .primary-button{color:#12321f;background:var(--lime);box-shadow:0 14px 34px rgba(201,244,91,.15)}.delivery-spotlight-actions .secondary-button{border-color:rgba(255,255,255,.22);color:#fff;background:rgba(255,255,255,.07)}
.delivery-route-card{display:flex;flex-direction:column;justify-content:center;padding:36px;background:radial-gradient(circle at 50% 45%,rgba(201,244,91,.13),transparent 30%),linear-gradient(145deg,#e9f4ea,#f7f6ef)}.route-points{display:grid;grid-template-columns:1fr 1.2fr 1fr;align-items:center}.route-points>span{text-align:center}.route-points>span>i{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 11px;border:1px solid #bed2c2;border-radius:19px;color:#fff;background:#16432b;font-style:normal;font-weight:850;box-shadow:0 13px 30px rgba(16,60,37,.15)}.route-points .destination>i{color:#173d27;background:var(--lime)}.route-points svg{width:24px}.route-points small,.route-points strong{display:block}.route-points small{color:#6e7e74;font-size:7px;font-weight:850;letter-spacing:.12em}.route-points strong{margin-top:4px;color:#173c27;font-size:11px}.route-points>b{position:relative;height:2px;background:repeating-linear-gradient(90deg,#52b963 0 9px,transparent 9px 15px)}.route-points>b:before,.route-points>b:after{content:"";position:absolute;top:-4px;width:10px;height:10px;border-radius:50%;background:#52b963}.route-points>b:before{left:-2px}.route-points>b:after{right:-2px}.route-points>b>i{position:absolute;left:48%;top:-11px;width:23px;height:23px;border:5px solid #e8f4e9;border-radius:50%;background:#1c7043;box-shadow:0 5px 12px rgba(20,75,44,.2)}.route-facts{display:grid;grid-template-columns:repeat(3,1fr);margin-top:34px;border:1px solid #d4e1d6;border-radius:18px;background:rgba(255,255,255,.68)}.route-facts>span{padding:15px;border-right:1px solid #d4e1d6;text-align:center}.route-facts>span:last-child{border-right:0}.route-facts small,.route-facts strong{display:block}.route-facts small{color:#78857d;font-size:7px;font-weight:850}.route-facts strong{margin-top:6px;color:#173c27;font-size:9px}
.delivery-center-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:8px 0 17px}.delivery-center-heading h2{margin:4px 0 0;font-size:21px}.delivery-center-heading>span{color:#738078;font-size:10px}.patient-delivery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.patient-delivery-card{overflow:hidden;border:1px solid rgba(17,39,27,.08);border-radius:25px;background:#fffefb;box-shadow:0 19px 52px rgba(17,39,27,.07)}.patient-delivery-card>header{display:flex;align-items:center;gap:12px;padding:20px 21px;border-bottom:1px solid #e7ece8}.patient-delivery-card>header>span:first-child{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;color:#173d27;background:#dff1e2}.patient-delivery-card>header svg{width:22px}.patient-delivery-card>header>div{min-width:0;flex:1}.patient-delivery-card>header small{color:#2f8252;font-size:8px;font-weight:850;letter-spacing:.1em}.patient-delivery-card h2{margin:3px 0 0;font-size:15px}.patient-delivery-product{display:grid;gap:5px;padding:17px 21px}.patient-delivery-product strong{font-size:11px}.patient-delivery-product span{color:#748179;font-size:9px}.patient-delivery-latest{display:flex;align-items:center;gap:12px;margin:0 21px 18px;padding:14px;border-radius:15px;background:#f1f7f2}.patient-delivery-latest>i{width:12px;height:12px;border:3px solid #d5ecd9;border-radius:50%;background:#52b963;box-shadow:0 0 0 4px rgba(82,185,99,.08)}.patient-delivery-latest small,.patient-delivery-latest strong,.patient-delivery-latest span{display:block}.patient-delivery-latest small{color:#708078;font-size:7px;font-weight:850}.patient-delivery-latest strong{margin:3px 0;color:#183d28;font-size:10px}.patient-delivery-latest span{color:#89958d;font-size:8px}.patient-delivery-card>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 21px;border-top:1px solid #e7ece8;background:#fbfcfa}.patient-delivery-card>footer>span{color:#7a877f;font-size:8px}.patient-delivery-card>footer>span strong{display:block;margin-top:3px;color:#1a422c;font-size:9px}.patient-delivery-card>footer button{border:0;color:#1d7045;background:transparent;font-size:9px;font-weight:850;cursor:pointer}.delivery-confidence{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}.delivery-confidence article{display:flex;align-items:center;gap:13px;padding:19px;border:1px solid #dce6de;border-radius:20px;background:rgba(255,254,251,.8)}.delivery-confidence article>span{display:grid;place-items:center;flex:0 0 40px;height:40px;border-radius:13px;color:#17442b;background:#e1f2e4}.delivery-confidence svg{width:20px}.delivery-confidence strong{font-size:11px}.delivery-confidence p{margin:4px 0 0;color:#748079;font-size:8px;line-height:1.45}
.delivery-update-summary,.delivery-support-context{display:flex;align-items:center;gap:13px;margin:18px 0;padding:15px;border-radius:16px;background:#eef6ef}.delivery-update-summary>span,.delivery-support-context>span{display:grid;place-items:center;width:45px;height:45px;border-radius:14px;color:#173e28;background:#d5edda}.delivery-update-summary svg,.delivery-support-context svg{width:22px}.delivery-update-summary>div,.delivery-support-context>div{flex:1}.delivery-update-summary small,.delivery-update-summary strong,.delivery-update-summary p,.delivery-support-context small,.delivery-support-context strong,.delivery-support-context p{display:block;margin:0}.delivery-update-summary small,.delivery-support-context small{color:#358357;font-size:8px;font-weight:850}.delivery-update-summary strong,.delivery-support-context strong{margin:3px 0;font-size:12px}.delivery-update-summary p,.delivery-support-context p{color:#728078;font-size:9px}.delivery-event-picker{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:16px 0}.delivery-event-picker label{position:relative;display:grid;place-items:center;min-height:105px;padding:11px;border:1px solid #dce5de;border-radius:14px;text-align:center;background:#fff;cursor:pointer}.delivery-event-picker input{position:absolute;opacity:0}.delivery-event-picker label:has(input:checked){border-color:#287d4d;background:#eff8f1;box-shadow:0 0 0 2px rgba(40,125,77,.09)}.delivery-event-picker label>span{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;color:#1d6540;background:#dff1e2;font-weight:900}.delivery-event-picker strong{margin-top:7px;font-size:9px}.delivery-event-picker small{display:block;margin-top:3px;color:#839087;font-size:7px;font-weight:500}.delivery-recipient-field{transition:opacity .2s}.delivery-support-context{margin-bottom:17px}
@media(max-width:1100px){.delivery-spotlight{grid-template-columns:1fr}.patient-delivery-grid{grid-template-columns:1fr}.delivery-confidence{grid-template-columns:1fr}.delivery-event-picker{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.delivery-spotlight-copy,.delivery-route-card{padding:27px 23px}.delivery-spotlight-actions{align-items:stretch;flex-direction:column}.route-facts{grid-template-columns:1fr}.route-facts>span{border-right:0;border-bottom:1px solid #d4e1d6}.route-facts>span:last-child{border-bottom:0}.delivery-center-heading{align-items:flex-start;flex-direction:column}.delivery-event-picker{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.shipping-board{grid-template-columns:1fr;overflow:visible}.shipping-column{min-width:0}.shipping-column>div{grid-template-columns:1fr}.shipping-queue-card>footer{align-items:stretch;flex-direction:column}.shipping-queue-card>footer button{width:100%}}

/* Enterprise sign-in — Doctor Green platform */
.login-screen{min-height:100svh;grid-template-columns:minmax(560px,1.08fr) minmax(520px,.92fr);background:#eef2ed}
.login-brand-panel{min-height:100svh;padding:clamp(36px,4.2vw,68px);isolation:isolate;background:radial-gradient(circle at 18% 16%,rgba(74,188,104,.34),transparent 28%),radial-gradient(circle at 91% 92%,rgba(201,244,91,.13),transparent 29%),linear-gradient(148deg,#061b11 0%,#0a291a 55%,#0e3824 100%)}
.login-brand-panel:before{z-index:-2;background-size:58px 58px;opacity:.72;mask-image:linear-gradient(to bottom,black 0%,rgba(0,0,0,.75) 55%,transparent 100%)}
.login-brand-panel:after{z-index:-1;right:-8%;bottom:-30%;width:min(52vw,720px);border-color:rgba(201,244,91,.12);border-radius:50%;transform:none;box-shadow:0 0 0 90px rgba(255,255,255,.018),0 0 0 180px rgba(255,255,255,.012)}
.login-brand-top,.login-brand-footer{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:24px}
.login-brand-top>img{display:block;width:min(305px,52%);height:auto;aspect-ratio:1910/424;object-fit:contain;object-position:left center;filter:drop-shadow(0 10px 26px rgba(0,0,0,.18))}
.login-brand-top>span{display:inline-flex;align-items:center;gap:9px;color:rgba(249,239,226,.68);font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.login-brand-top>span i,.login-security-state>i{width:8px;height:8px;border-radius:50%;background:#c9f45b;box-shadow:0 0 0 5px rgba(201,244,91,.09)}
.login-brand-stage{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,320px);gap:clamp(34px,4vw,68px);align-items:end;margin:auto 0;padding:58px 0}
.login-brand-copy .eyebrow{margin:0 0 18px;color:#c9f45b;font-size:10px;letter-spacing:.19em}
.login-brand-panel h1{max-width:720px;margin:0;color:#fffaf3;font-size:clamp(46px,4.5vw,76px);font-weight:650;line-height:.97;letter-spacing:-.065em;text-wrap:balance}
.login-brand-panel p:not(.eyebrow){max-width:580px;margin:25px 0 0;color:rgba(245,250,245,.68);font-size:clamp(14px,1.1vw,17px);line-height:1.7}
.login-journey-card{align-self:end;padding:23px;border:1px solid rgba(255,255,255,.12);border-radius:25px;background:linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.045));box-shadow:0 24px 70px rgba(0,0,0,.18);backdrop-filter:blur(20px)}
.login-journey-card header span,.login-journey-card header strong{display:block}.login-journey-card header span{color:#b9ee75;font-size:8px;font-weight:850;letter-spacing:.15em}.login-journey-card header strong{margin-top:7px;color:#fff;font-size:15px}.login-journey-card ol{display:grid;gap:4px;margin:19px 0 0;padding:0;list-style:none}
.login-journey-card li{position:relative;display:grid;grid-template-columns:34px 1fr auto;gap:11px;align-items:center;padding:11px 0}.login-journey-card li:not(:last-child):after{content:"";position:absolute;left:16px;top:40px;bottom:-4px;width:1px;background:rgba(255,255,255,.13)}.login-journey-card li>i{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(255,255,255,.17);border-radius:11px;color:rgba(255,255,255,.55);background:rgba(0,0,0,.12);font-size:9px;font-style:normal;font-weight:850}.login-journey-card li.complete>i{color:#153720;background:#c9f45b}.login-journey-card li.active>i{border-color:#5ed17d;color:#fff;background:#2b9857}.login-journey-card li span>*{display:block}.login-journey-card li strong{color:rgba(255,255,255,.94);font-size:10px}.login-journey-card li small{margin-top:4px;color:rgba(255,255,255,.5);font-size:8px}.login-journey-card li>b{color:rgba(255,255,255,.42);font-size:7px;letter-spacing:.08em}.login-journey-card li.active>b{color:#c9f45b}
.login-brand-footer{align-items:flex-end}.login-trust{gap:8px}.login-trust span{padding:9px 12px;border-color:rgba(255,255,255,.12);border-radius:999px;color:rgba(255,255,255,.72);background:rgba(255,255,255,.055);font-size:9px;font-weight:600}.login-brand-signature{color:rgba(255,255,255,.35);font-size:8px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.login-form-panel{min-height:100svh;padding:clamp(28px,4vw,72px);background:radial-gradient(circle at 82% 9%,rgba(82,185,99,.13),transparent 28%),radial-gradient(circle at 12% 96%,rgba(201,244,91,.09),transparent 23%),#eef2ed}
.login-form{width:min(520px,100%);padding:clamp(32px,3vw,48px);border:1px solid rgba(14,56,36,.09);border-radius:34px;background:rgba(255,254,251,.94);box-shadow:0 35px 100px rgba(10,45,27,.13),0 2px 0 rgba(255,255,255,.8) inset;backdrop-filter:blur(24px)}
.login-form-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:29px}.portal-symbol{width:62px;height:62px;margin:0;border-radius:19px;background-size:auto 62px;box-shadow:0 16px 36px rgba(13,50,31,.2)}
.login-security-state{display:flex;align-items:center;gap:11px;padding:9px 12px;border:1px solid #d9e8dc;border-radius:14px;background:#f4f9f4}.login-security-state>i{width:7px;height:7px;box-shadow:0 0 0 4px rgba(82,185,99,.1);background:#42af62}.login-security-state span>*{display:block}.login-security-state strong{color:#26573a;font-size:9px}.login-security-state small{margin-top:2px;color:#819087;font-size:7px}
.login-form-copy>.eyebrow{margin:0 0 10px;color:#278653;font-size:9px;letter-spacing:.16em}.login-form h2{margin:0;color:#102d1e;font-size:clamp(38px,3.2vw,52px);font-weight:650;line-height:1;letter-spacing:-.06em}.login-form-copy>p:not(.eyebrow){max-width:440px;margin:15px 0 27px;color:#6c7d72;font-size:13px;line-height:1.65}
.email-access{margin-top:0}.email-access-fields{margin:0;padding:21px;border-color:#d8e4da;border-radius:21px;background:#fbfcfa;box-shadow:none}.email-access-fields>label.login-field{margin-top:16px;gap:8px;color:#183c29;font-size:9px;letter-spacing:.02em}.email-access-fields>label.login-field:first-child{margin-top:0}.login-input-shell{position:relative;display:flex;align-items:center}.login-input-shell>i{position:absolute;left:15px;z-index:1;display:grid;place-items:center;width:22px;height:22px;border-radius:7px;color:#477058;background:#edf4ee;font-size:9px;font-style:normal;font-weight:850}.email-access-fields .login-input-shell input{width:100%;min-height:54px;padding:0 68px 0 48px;border-color:#d8e2da;border-radius:13px;color:#183426;background:#fff;transition:border-color .18s,box-shadow .18s,transform .18s}.email-access-fields .login-input-shell input:hover{border-color:#b7cbbd}.email-access-fields .login-input-shell input:focus{border-color:#4bb268;box-shadow:0 0 0 4px rgba(75,178,104,.11);transform:translateY(-1px)}.login-input-shell>button{position:absolute;right:13px;padding:5px;border:0;color:#2d8050;background:transparent;font-size:8px;font-weight:800}
.login-row{margin-top:17px}.check-line{gap:9px;color:#697970;font-size:10px}.check-line input{width:16px;height:16px;accent-color:#1e7547}.text-button{font-size:9px}.login-submit{display:flex;align-items:center;justify-content:space-between;min-height:55px;margin-top:19px;padding:0 20px;border-radius:14px;background:linear-gradient(135deg,#0e3521,#0a2819);box-shadow:0 14px 30px rgba(13,53,33,.2);transition:transform .18s,box-shadow .18s}.login-submit:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(13,53,33,.25)}.login-submit span{margin-left:auto}.login-submit i{display:grid;place-items:center;width:28px;height:28px;margin-left:auto;border-radius:9px;color:#163b27;background:#c9f45b;font-size:14px;font-style:normal}
.patient-signup{margin:17px 0 0;padding:14px;border:1px solid #e3eae4;border-radius:14px;background:#f7f9f6}.patient-signup span{color:#78847d;font-size:9px}.patient-signup button{font-size:9px}.access-guidance{margin-top:20px;padding-top:18px}.access-guidance>span{width:32px;height:32px;border-radius:10px;background:#edf4ee}.access-guidance p{display:grid;gap:4px;margin:0!important}.access-guidance strong{color:#20442f;font-size:9px}.access-guidance em{color:#7a877f;font-size:8px;font-style:normal;line-height:1.5}
.login-compliance{display:flex;align-items:center;gap:9px;margin-top:17px;padding:10px 12px;border-radius:12px;color:#6f7e74;background:#f1f5f1}.login-compliance>span{padding:4px 6px;border:1px solid #bfd3c3;border-radius:6px;color:#286645;background:#fff;font-size:7px;font-weight:900}.login-compliance p{flex:1;margin:0;font-size:7px}.login-compliance a{color:#2b7f4f;font-size:7px;font-weight:800;text-decoration:none}.demo-notice{margin:14px 0 0;font-size:7px;letter-spacing:.03em}
@media(max-width:1320px){.login-screen{grid-template-columns:minmax(470px,.95fr) minmax(500px,1.05fr)}.login-brand-stage{grid-template-columns:1fr}.login-journey-card{display:none}.login-brand-panel h1{font-size:clamp(44px,5vw,66px)}.login-brand-footer{align-items:flex-start;flex-direction:column}.login-brand-signature{display:none}}
@media(max-width:900px){.login-screen{grid-template-columns:minmax(360px,.8fr) minmax(460px,1.2fr)}.login-brand-top>span,.login-brand-signature{display:none}.login-brand-top>img{width:min(260px,82%)}.login-brand-panel{padding:38px}.login-brand-panel h1{font-size:45px}.login-form-panel{padding:28px}.login-form{padding:34px}}
@media(max-width:760px){.login-screen{display:block;background:#eef2ed}.login-brand-panel{display:none}.login-form-panel{min-height:100svh;padding:18px}.login-form{padding:27px 22px;border-radius:26px}.login-form-header{margin-bottom:24px}.portal-symbol{width:56px;height:56px;background-size:auto 56px}.login-form h2{font-size:39px}.login-form-copy>p:not(.eyebrow){margin-bottom:22px}.email-access-fields{padding:17px}.login-security-state{padding:8px 10px}.login-security-state small{display:none}}

/* Login legibility pass — sober, editorial and enterprise-sized */
.login-brand-top>span{font-size:12px;font-weight:600;letter-spacing:.045em;text-transform:none}
.login-brand-copy .eyebrow{margin-bottom:20px;font-size:12px;letter-spacing:.12em}
.login-brand-panel p:not(.eyebrow){font-size:18px;line-height:1.62}
.login-journey-card{padding:27px;border-radius:22px;background:rgba(255,255,255,.075);box-shadow:0 24px 60px rgba(0,0,0,.14)}
.login-journey-card header span{font-size:10px;letter-spacing:.1em}.login-journey-card header strong{font-size:18px}
.login-journey-card li{grid-template-columns:40px 1fr auto;gap:13px;padding:14px 0}.login-journey-card li:not(:last-child):after{left:19px;top:47px}.login-journey-card li>i{width:40px;height:40px;border-radius:12px;font-size:12px}.login-journey-card li strong{font-size:13px}.login-journey-card li small{font-size:11px}.login-journey-card li>b{font-size:9px}
.login-trust span{padding:10px 14px;font-size:12px}.login-brand-signature{font-size:10px;letter-spacing:.09em}
.login-form{width:min(560px,100%);padding:clamp(36px,3.2vw,52px)}
.login-security-state{padding:10px 14px}.login-security-state strong{font-size:12px}.login-security-state small{font-size:10px}
.login-form-copy>.eyebrow{margin-bottom:12px;font-size:12px;letter-spacing:.1em}.login-form h2{font-size:clamp(42px,3.25vw,54px)}
.login-form-copy>p:not(.eyebrow){max-width:470px;margin:17px 0 30px;font-size:16px;line-height:1.58}
.email-access-fields{padding:25px}.email-access-fields>label.login-field{margin-top:19px;gap:10px;font-size:13px;font-weight:700}
.login-input-shell>i{width:26px;height:26px;font-size:11px}.email-access-fields .login-input-shell input{min-height:58px;padding-left:53px;font-size:15px}.login-input-shell>button{right:15px;font-size:12px}
.login-row{margin-top:20px}.check-line{font-size:13px}.check-line input{width:18px;height:18px}.text-button{font-size:13px}
.login-submit{min-height:58px;margin-top:22px;font-size:15px}.login-submit i{width:31px;height:31px;font-size:16px}
.patient-signup{margin-top:19px;padding:16px}.patient-signup span,.patient-signup button{font-size:13px}
.access-guidance{gap:13px;margin-top:23px;padding-top:21px}.access-guidance>span{width:36px;height:36px;font-size:13px}.access-guidance strong{font-size:13px}.access-guidance em{font-size:12px;line-height:1.55}
.login-compliance{gap:11px;margin-top:20px;padding:12px 14px}.login-compliance>span{padding:5px 7px;font-size:9px}.login-compliance p,.login-compliance a{font-size:11px}.demo-notice{margin-top:16px;font-size:10px}
@media(max-width:760px){.login-form{padding:30px 24px}.login-form h2{font-size:42px}.login-form-copy>p:not(.eyebrow){font-size:15px}.email-access-fields{padding:20px}.login-security-state strong{font-size:11px}.login-security-state small{display:block}.access-guidance em{font-size:11px}.login-compliance p,.login-compliance a{font-size:10px}}

/* Fair showcase, controlled demo access and legal center */
.showcase-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;margin-top:20px;padding:18px 19px;border:1px solid rgba(21,91,52,.13);border-radius:18px;background:linear-gradient(135deg,#edf8ef 0%,#f8fbf5 100%);box-shadow:0 12px 34px rgba(20,77,43,.055)}
.showcase-entry>div{min-width:0}.showcase-kicker{display:block;margin-bottom:5px;color:#23804d;font-size:10px;font-weight:850;letter-spacing:.1em}.showcase-entry strong{display:block;color:#153824;font-size:15px}.showcase-entry p{margin:5px 0 0;color:#6c7c72;font-size:12px;line-height:1.45}.showcase-entry>button{display:flex;align-items:center;gap:12px;min-height:46px;padding:0 16px;border:0;border-radius:13px;color:#fff;background:#123722;font-size:12px;font-weight:800;white-space:nowrap;cursor:pointer;box-shadow:0 10px 24px rgba(18,55,34,.17);transition:transform .18s,box-shadow .18s}.showcase-entry>button:hover{transform:translateY(-2px);box-shadow:0 14px 29px rgba(18,55,34,.22)}.showcase-entry>button span{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;color:#163b27;background:#c9f45b}
.login-compliance button{padding:0;border:0;color:#2b7f4f;background:transparent;font-size:11px;font-weight:800;cursor:pointer}.login-legal-links{display:flex;flex-wrap:wrap;justify-content:center;gap:7px 15px;margin-top:14px}.login-legal-links button{padding:0;border:0;color:#66776c;background:transparent;font-size:10px;text-decoration:underline;text-decoration-color:#c7d4ca;text-underline-offset:3px;cursor:pointer}.login-legal-links button:hover{color:#1e7446}.showcase-session-badge{padding:7px 10px;border:1px solid #c6e5ca;border-radius:999px;color:#246d43;background:#edf8ef;font-size:9px;font-weight:900;letter-spacing:.08em}
.showcase-dialog{width:min(960px,92vw);padding:34px}.showcase-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:30px}.showcase-dialog>header h2{margin:5px 0 10px;font-size:36px;letter-spacing:-.04em}.showcase-dialog>header p:not(.section-label){max-width:680px;margin:0;color:#697970;line-height:1.55}.showcase-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:26px}.showcase-profile-card{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr) 28px;gap:15px;align-items:start;padding:21px;border:1px solid #dce7de;border-radius:20px;text-align:left;background:linear-gradient(145deg,#fff,#f5f9f4);cursor:pointer;transition:border-color .18s,transform .18s,box-shadow .18s}.showcase-profile-card:hover{border-color:#5aaa70;transform:translateY(-3px);box-shadow:0 18px 42px rgba(20,73,40,.1)}.showcase-profile-number{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;color:#1c6b40;background:#dff1e2;font-size:12px;font-weight:900}.showcase-profile-copy{display:block}.showcase-profile-copy>small,.showcase-profile-copy>strong,.showcase-profile-copy>em{display:block}.showcase-profile-copy>small{color:#2a8351;font-size:9px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.showcase-profile-copy>strong{margin:5px 0 7px;color:#153823;font-size:17px}.showcase-profile-copy>em{min-height:37px;color:#718078;font-size:11px;font-style:normal;line-height:1.5}.showcase-profile-copy>span{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}.showcase-profile-copy b{padding:5px 7px;border-radius:7px;color:#50705d;background:#edf4ee;font-size:8px}.showcase-profile-card>i{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;color:#174629;background:#c9f45b;font-size:13px;font-style:normal}.showcase-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px;padding-top:19px;border-top:1px solid #e1e8e2}.showcase-dialog>footer>span{display:flex;align-items:center;gap:8px;color:#2c7148;font-size:10px;font-weight:800}.showcase-dialog>footer>span i{width:8px;height:8px;border-radius:50%;background:#54b96a;box-shadow:0 0 0 4px #e7f5e9}.showcase-dialog>footer p{margin:0;color:#738078;font-size:10px}.showcase-dialog>footer strong{color:#285b3b}
.legal-center{width:min(1000px,93vw);padding:32px}.legal-center-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.legal-center-heading h2{margin:5px 0 7px;font-size:34px;letter-spacing:-.04em}.legal-center-heading p:not(.section-label){margin:0;color:#718078}.legal-center>nav{display:flex;gap:7px;margin:25px 0 20px;padding:5px;border-radius:14px;background:#eef3ef}.legal-center>nav button{flex:1;min-height:43px;padding:8px 12px;border:0;border-radius:10px;color:#66776d;background:transparent;font-size:10px;font-weight:800;cursor:pointer}.legal-center>nav button.active{color:#17452b;background:#fff;box-shadow:0 5px 15px rgba(22,67,40,.08)}.legal-document{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(0,1.28fr);gap:28px;padding:25px;border:1px solid #dce6de;border-radius:22px;background:#fcfdfb}.legal-document>header{padding-right:24px;border-right:1px solid #dfe7e1}.legal-document>header h3{margin:7px 0 12px;font-size:26px;letter-spacing:-.04em}.legal-document>header>p:not(.section-label){color:#68786f;font-size:12px;line-height:1.6}.legal-document>header>span{display:inline-flex;margin-top:14px;padding:6px 8px;border-radius:8px;color:#2a7448;background:#eaf6ec;font-size:9px;font-weight:800}.legal-document>div{display:grid;gap:13px}.legal-document>div>section{display:grid;grid-template-columns:32px 1fr;gap:12px}.legal-document>div>section>b{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;color:#236b42;background:#e4f2e7;font-size:9px}.legal-document h4{margin:1px 0 4px;color:#173c28;font-size:12px}.legal-document>div p{margin:0;color:#6f7e75;font-size:10px;line-height:1.55}.legal-document>aside{grid-column:1/-1;display:flex;align-items:flex-start;gap:18px;padding:16px;border-left:3px solid #d3a849;border-radius:10px;background:#fff8e8}.legal-document>aside strong{flex:0 0 220px;color:#684c19;font-size:10px}.legal-document>aside p{margin:0;color:#7d6945;font-size:9px;line-height:1.55}.legal-center>footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px}.legal-center>footer>span{color:#7b887f;font-size:9px}
@media(max-width:760px){.showcase-entry{grid-template-columns:1fr}.showcase-entry>button{justify-content:space-between}.showcase-profile-grid{grid-template-columns:1fr}.showcase-dialog,.legal-center{width:min(94vw,620px);padding:23px}.showcase-dialog>header h2,.legal-center-heading h2{font-size:29px}.showcase-dialog>footer{align-items:flex-start;flex-direction:column}.legal-center>nav{overflow-x:auto}.legal-center>nav button{flex:0 0 auto;white-space:nowrap}.legal-document{grid-template-columns:1fr}.legal-document>header{padding:0 0 18px;border:0;border-bottom:1px solid #dfe7e1}.legal-document>aside{display:block}.legal-document>aside strong{display:block;margin-bottom:7px}.login-legal-links{gap:8px 13px}.showcase-session-badge{display:none}}

/* Feira: central de demonstração e handoff entre perfis */
.fair-control-room{width:min(900px,calc(100vw - 80px));max-width:100%;max-height:90vh;overflow:auto;overflow-x:hidden;background:radial-gradient(circle at 95% 0,rgba(201,244,91,.16),transparent 27%),#fff}.fair-scenario-strip{display:grid;grid-template-columns:minmax(190px,.72fr) minmax(300px,1.4fr) auto;gap:20px;align-items:center;margin:25px 0 18px;padding:20px;border-radius:19px;color:#fff;background:linear-gradient(125deg,#092719,#145b37);box-shadow:0 18px 45px rgba(8,55,31,.17)}.fair-scenario-strip span,.fair-scenario-strip strong,.fair-scenario-strip small{display:block}.fair-scenario-strip span{color:#c9f45b;font-size:8px;font-weight:900;letter-spacing:.13em}.fair-scenario-strip strong{margin:5px 0 3px;font-size:17px}.fair-scenario-strip small{color:#a8c6b3;font-size:9px}.fair-scenario-strip ol{display:flex;align-items:center;margin:0;padding:0;list-style:none}.fair-scenario-strip li{position:relative;flex:1;padding-top:24px;color:#82a18d;font-size:8px;font-weight:800;text-align:center}.fair-scenario-strip li:before{content:"";position:absolute;z-index:1;top:3px;left:50%;width:13px;height:13px;border:2px solid #527462;border-radius:50%;background:#16442d;transform:translateX(-50%)}.fair-scenario-strip li:not(:last-child):after{content:"";position:absolute;top:10px;left:55%;width:90%;height:2px;background:#315d45}.fair-scenario-strip li.complete,.fair-scenario-strip li.current{color:#eef8f0}.fair-scenario-strip li.complete:before{border-color:#c9f45b;background:#c9f45b}.fair-scenario-strip li.current:before{border-color:#c9f45b;box-shadow:0 0 0 5px rgba(201,244,91,.15)}.fair-scenario-strip>button,.fair-handoff>button,.fair-profile-actions button{min-height:38px;padding:0 13px;border:0;border-radius:10px;font-size:9px;font-weight:850;cursor:pointer}.fair-scenario-strip>button{color:#173c27;background:#c9f45b}.fair-profile-card{display:grid;grid-template-columns:46px minmax(0,1fr);cursor:default}.fair-profile-card:hover{transform:none}.fair-profile-card>span:nth-child(2){grid-column:2}.fair-profile-actions{display:flex!important;gap:7px!important;margin-top:14px!important}.fair-profile-actions button:first-child{color:#fff;background:#173d28}.fair-profile-actions button:last-child{color:#21643f;background:#e4f2e7}.fair-handoff{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;margin-top:16px;padding:17px;border:1px solid #cfe3d3;border-radius:17px;background:#f3faf4}.fair-handoff>div{display:flex;align-items:center;gap:12px}.fair-handoff>div>span{display:grid;width:39px;height:39px;place-items:center;border-radius:12px;color:#154027;background:#c9f45b}.fair-handoff svg{width:18px}.fair-handoff p,.fair-handoff strong,.fair-handoff small{display:block;margin:0}.fair-handoff strong{font-size:11px}.fair-handoff small{margin-top:4px;color:#6e7f74;font-size:9px;line-height:1.45}.fair-handoff>button{color:#215c3c;background:#e0efe3}.fair-handoff>button:last-child{color:#fff;background:#153a25}.meet-integration{flex-wrap:wrap}.meet-integration button+button{margin-left:6px}.live-demo-room .meet-mark{color:#153b27;background:#c9f45b}
.fair-header-actions{display:flex;align-items:center;gap:8px}.fair-header-actions>button:not(.dialog-close){min-height:38px;padding:0 12px;border:1px solid #d7e2d8;border-radius:10px;color:#285b3c;background:#f4f8f3;font-size:9px;font-weight:850;cursor:pointer}.fair-header-actions>button:not(.dialog-close):hover{border-color:#96bc9e;background:#eaf4e9}
.fair-tour{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px;align-items:center;margin:24px 0 18px;padding:22px;border-radius:23px;color:#f8f3e9;background:linear-gradient(135deg,#092e1c,#124f31);box-shadow:0 20px 48px rgba(9,46,28,.17)}.fair-tour>div span,.fair-tour>div strong,.fair-tour>div small{display:block}.fair-tour>div span{color:#d6ea74;font-size:8px;font-weight:900;letter-spacing:.14em}.fair-tour>div strong{margin:7px 0 5px;font-size:18px}.fair-tour>div small{color:#a8c1b1;font-size:9px;line-height:1.5}.fair-tour nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.fair-tour nav button{min-height:82px;display:grid;align-content:space-between;gap:8px;padding:11px;border:1px solid rgba(255,255,255,.1);border-radius:14px;color:#f7f2e7;background:rgba(255,255,255,.055);text-align:left;cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease}.fair-tour nav button:hover{border-color:rgba(214,234,116,.6);background:rgba(214,234,116,.11);transform:translateY(-2px)}.fair-tour nav button>b{color:#d6ea74;font-size:9px}.fair-tour nav button span,.fair-tour nav button strong,.fair-tour nav button small{display:block}.fair-tour nav button strong{font-size:9px}.fair-tour nav button small{margin-top:3px;color:#9db4a6;font-size:7px}
@media(max-width:820px){.fair-scenario-strip{grid-template-columns:1fr}.fair-scenario-strip ol{order:3}.fair-handoff{grid-template-columns:1fr}.fair-handoff>button{width:100%}.fair-profile-card>span:nth-child(2){grid-column:auto}.fair-profile-actions{flex-direction:column}.fair-header-actions{align-items:flex-end;flex-direction:column}.fair-tour{grid-template-columns:1fr}.fair-tour nav{grid-template-columns:repeat(2,minmax(0,1fr))}.fair-tour nav button:last-child{grid-column:1/-1}.fair-tour nav button{min-height:68px}}
.fair-control-room .fair-scenario-strip{grid-template-columns:minmax(180px,.8fr) minmax(260px,1.2fr)}.fair-control-room .fair-scenario-strip>button{grid-column:1/-1;width:100%}

/* Doctor Green Intelligence — care passport and explainable marketplace */
.journey-command-center{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:18px;margin:24px 0 18px;padding:30px;border-radius:28px;color:#f5fff8;background:radial-gradient(circle at 12% 10%,rgba(110,224,132,.22),transparent 29%),linear-gradient(135deg,#071d12,#0d4529);box-shadow:0 25px 65px rgba(7,43,24,.16);overflow:hidden}
.journey-score{display:flex;align-items:center;gap:25px}.score-ring{--score:0;display:grid;width:126px;height:126px;flex:0 0 126px;place-items:center;border-radius:50%;background:conic-gradient(#c9f45b calc(var(--score)*1%),rgba(255,255,255,.12) 0);box-shadow:0 0 0 9px rgba(255,255,255,.04)}.score-ring:before{content:"";grid-area:1/1;width:96px;height:96px;border-radius:50%;background:#0b3320}.score-ring>span{z-index:1;grid-area:1/1;text-align:center}.score-ring strong,.score-ring small{display:block}.score-ring strong{font:700 27px/1 "Bricolage Grotesque",sans-serif}.score-ring small{margin-top:5px;color:#9eb7a7;font-size:9px}.journey-score .section-label{color:#9dd4af}.journey-score h2{margin:5px 0 8px;color:#fff;font-size:28px}.journey-score p:not(.section-label){max-width:540px;margin:0;color:#a9c2b2;font-size:12px;line-height:1.55}
.journey-command-center>aside{padding:22px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:rgba(255,255,255,.07);backdrop-filter:blur(12px)}.journey-command-center>aside small,.journey-command-center>aside strong{display:block}.journey-command-center>aside>small{color:#c9f45b;font-size:8px;font-weight:900;letter-spacing:.12em}.journey-command-center>aside>strong{margin-top:8px;color:#fff;font-size:18px}.journey-command-center>aside p{margin:6px 0 16px;color:#a8bdb0;font-size:10px;line-height:1.5}.journey-command-center>aside .primary-button{width:100%;color:#143621;background:#c9f45b}
.care-passport-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:18px;align-items:start}.care-passport{padding:28px;border-radius:26px}.care-passport>header{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-bottom:22px;border-bottom:1px solid #e2e9e3}.care-passport>header>div{display:flex;gap:14px;align-items:center}.passport-mark{display:grid;width:49px;height:49px;place-items:center;border-radius:15px;color:#153721;background:#c9f45b;font-size:13px;font-weight:900;letter-spacing:-.04em}.care-passport h2{margin:3px 0;font-size:22px}.care-passport header small{color:#718078;font-size:9px}.passport-status{padding:7px 10px;border-radius:999px;color:#1b7042;background:#e7f5e9;font-size:8px;font-weight:900;letter-spacing:.1em}.care-passport ol{display:grid;margin:0;padding:18px 0 0;list-style:none}.care-passport li{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:13px;align-items:center;padding:13px 0}.care-passport li:not(:last-child):after{content:"";position:absolute;left:20px;top:52px;bottom:-8px;width:2px;background:#e3eae5}.care-passport li>span{z-index:1;display:grid;width:42px;height:42px;place-items:center;border:1px solid #dbe5dd;border-radius:13px;color:#839087;background:#fff;font-size:10px;font-weight:850}.care-passport li.complete>span{border-color:#bce0c5;color:#176c40;background:#e8f7eb}.care-passport li.current>span{border-color:#c9f45b;color:#183c27;background:#c9f45b;box-shadow:0 0 0 5px rgba(201,244,91,.16)}.care-passport li strong,.care-passport li small{display:block}.care-passport li strong{font-size:12px}.care-passport li small{margin-top:4px;color:#77847c;font-size:9px}.care-passport li em{padding:5px 7px;border-radius:7px;color:#7c8980;background:#f1f4f1;font-size:8px;font-style:normal}.care-passport li.current em{color:#744e05;background:#fff4cc}.care-passport>footer{display:flex;flex-wrap:wrap;gap:7px;margin-top:17px;padding-top:17px;border-top:1px solid #e2e9e3}.care-passport>footer span{padding:7px 9px;border-radius:8px;color:#587062;background:#eff4ef;font-size:8px;font-weight:700}
.journey-side-stack{display:grid;gap:15px}.digital-care-card{position:relative;min-height:275px;padding:25px;border:1px solid rgba(255,255,255,.1);border-radius:25px;color:#effff4;background:radial-gradient(circle at 90% 10%,rgba(201,244,91,.18),transparent 31%),linear-gradient(145deg,#0d3c25,#071d12);overflow:hidden;box-shadow:0 20px 45px rgba(10,50,29,.13)}.digital-care-card:after{content:"";position:absolute;right:-90px;bottom:-120px;width:280px;height:280px;border:1px solid rgba(201,244,91,.15);border-radius:50%;box-shadow:0 0 0 38px rgba(255,255,255,.025),0 0 0 76px rgba(255,255,255,.018)}.care-card-top,.digital-care-card>div:nth-of-type(2),.digital-care-card>footer{position:relative;z-index:1}.care-card-top{display:flex;align-items:center;gap:12px}.care-card-top .passport-mark{width:43px;height:43px;border-radius:13px}.care-card-top small{color:#9ec0ab;font-size:8px;font-weight:900;letter-spacing:.12em}.digital-care-card h2{position:relative;z-index:1;margin:28px 0 4px;color:#fff;font-size:25px}.digital-care-card>p{position:relative;z-index:1;margin:0;color:#a7c0b0;font-size:10px}.digital-care-card>div:nth-of-type(2){display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}.digital-care-card>div:nth-of-type(2) span{padding:10px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.05)}.digital-care-card>div:nth-of-type(2) small,.digital-care-card>div:nth-of-type(2) strong{display:block}.digital-care-card>div:nth-of-type(2) small{color:#89a896;font-size:7px}.digital-care-card>div:nth-of-type(2) strong{margin-top:5px;color:#fff;font-size:9px}.digital-care-card>footer{display:flex;align-items:center;gap:10px;margin-top:17px}.care-qr{display:grid;width:32px;height:32px;place-items:center;border-radius:8px;color:#123822;background:#fff;font-size:9px;font-weight:900}.digital-care-card>footer small{color:#87a692;font-size:8px}.proactive-care{padding:23px;border-radius:23px}.proactive-care>span{display:grid;width:42px;height:42px;place-items:center;border-radius:13px;color:#167044;background:#e4f3e7}.proactive-care svg{width:20px}.proactive-care h2{margin:5px 0;font-size:19px}.proactive-care p:not(.section-label){margin:0;color:#718078;font-size:10px;line-height:1.5}.proactive-care .feeling-options{grid-template-columns:1fr 1fr;margin-top:15px}.proactive-care .treatment-contact{margin-top:13px}
.smart-match-hero{display:grid;grid-template-columns:75px minmax(0,1fr) auto;gap:19px;align-items:center;margin:18px 0;padding:23px;border:1px solid #cbe4d0;border-radius:23px;background:radial-gradient(circle at 80% 0,rgba(201,244,91,.2),transparent 34%),linear-gradient(135deg,#eef9f0,#fff);box-shadow:0 15px 40px rgba(15,78,42,.07)}.smart-match-seal{display:grid;justify-items:center;gap:6px}.smart-match-seal>span{display:grid;width:61px;height:61px;place-items:center;border-radius:18px;color:#173b26;background:#c9f45b;font-size:16px;font-weight:900}.smart-match-seal small{color:#2c7549;font-size:7px;font-weight:900;letter-spacing:.09em}.smart-match-hero h2{margin:4px 0 6px;font-size:21px}.smart-match-hero p:not(.section-label){margin:0;color:#65776b;font-size:10px;line-height:1.5}.smart-match-hero>aside{text-align:right}.smart-match-hero>aside span,.smart-match-hero>aside strong,.smart-match-hero>aside small{display:block}.smart-match-hero>aside span{color:#718078;font-size:8px}.smart-match-hero>aside strong{margin:4px 0;color:#143b26;font-size:22px}.smart-match-hero>aside small{color:#2c8653;font-size:9px;font-weight:800}
.catalog-intelligence-toolbar{display:flex;align-items:center;gap:13px;margin:15px 0 18px;padding:12px;border:1px solid #dce7de;border-radius:17px;background:#fff}.catalog-view-filters{display:flex;gap:5px;padding:4px;border-radius:12px;background:#eef3ef}.catalog-view-filters button{min-height:35px;padding:0 12px;border:0;border-radius:9px;color:#6d7d73;background:transparent;font-size:9px;font-weight:800;cursor:pointer}.catalog-view-filters button.active{color:#17452b;background:#fff;box-shadow:0 5px 14px rgba(18,65,38,.08)}.catalog-intelligence-toolbar>label{display:flex;align-items:center;gap:8px;margin-left:auto;color:#77857c;font-size:9px}.catalog-intelligence-toolbar select{min-height:37px;padding:0 32px 0 11px;border:1px solid #d6e2d8;border-radius:10px;color:#244d34;background:#f9fbf9;font-size:9px;font-weight:800}.catalog-intelligence-toolbar .authorization-note{margin-left:0}.smart-product-grid{align-items:stretch}.smart-product-card{position:relative}.best-choice-chip{position:absolute;left:15px;bottom:15px;padding:7px 10px;border-radius:999px;color:#153721;background:#c9f45b;font-size:8px;font-weight:900;box-shadow:0 8px 20px rgba(69,96,29,.2)}.match-reasons{display:flex;flex-wrap:wrap;gap:5px;margin:13px 0}.match-reasons span{padding:6px 8px;border-radius:8px;color:#34704c;background:#edf6ef;font-size:7px;font-weight:800}.smart-total{display:grid;grid-template-columns:1fr auto 1fr auto 1.15fr;gap:8px;align-items:center;margin:14px 0;padding:11px;border-radius:13px;background:#f4f7f4}.smart-total>span small,.smart-total>span strong{display:block}.smart-total>span small{color:#829087;font-size:7px}.smart-total>span strong{margin-top:3px;color:#254932;font-size:9px}.smart-total>i{color:#9aa69e;font-size:9px;font-style:normal}.smart-total-final{padding-left:8px;border-left:1px solid #dce5de}.smart-total-final strong{color:#126b3c!important}.premium-note{border-color:#cfe6d3;background:linear-gradient(135deg,#eff9f1,#fff)}
@media(max-width:1050px){.journey-command-center,.care-passport-grid{grid-template-columns:1fr}.journey-command-center>aside{display:grid;grid-template-columns:1fr auto;gap:6px 18px;align-items:center}.journey-command-center>aside .primary-button{grid-column:2;grid-row:1/4;width:auto}.smart-match-hero{grid-template-columns:64px 1fr}.smart-match-hero>aside{grid-column:2;text-align:left}}
@media(max-width:760px){.journey-command-center{padding:22px}.journey-score{align-items:flex-start;flex-direction:column}.score-ring{width:105px;height:105px;flex-basis:105px}.score-ring:before{width:80px;height:80px}.journey-command-center>aside{display:block}.journey-command-center>aside .primary-button{margin-top:10px}.care-passport{padding:20px}.care-passport li{grid-template-columns:39px 1fr}.care-passport li>em{grid-column:2;justify-self:start}.care-passport li:not(:last-child):after{left:19px}.smart-match-hero{grid-template-columns:1fr}.smart-match-seal{justify-items:start}.smart-match-hero>aside{grid-column:auto}.catalog-intelligence-toolbar{align-items:stretch;flex-direction:column}.catalog-view-filters button{flex:1}.catalog-intelligence-toolbar>label{justify-content:space-between;margin:0}.catalog-intelligence-toolbar select{flex:1}.smart-total{grid-template-columns:1fr}.smart-total>i{display:none}.smart-total-final{padding:8px 0 0;border-left:0;border-top:1px solid #dce5de}}

/* Doctor Green Design System v8 — uma linguagem para todos os portais */
:root{
  --dg-ink:#10231a;
  --dg-ink-2:#173c2a;
  --dg-green:#2f9e5b;
  --dg-green-2:#5eb76b;
  --dg-lime:#d8f06f;
  --dg-canvas:#f3f5f1;
  --dg-surface:#fffefb;
  --dg-surface-muted:#f7f9f5;
  --dg-line:#dfe6df;
  --dg-text:#17251d;
  --dg-muted:#68766d;
  --dg-radius:18px;
  --dg-radius-sm:12px;
  --dg-shadow:0 14px 38px rgba(16,35,26,.065);
  --deep-green:var(--dg-ink);
  --brand-green:var(--dg-green);
  --surface-green:var(--dg-green-2);
  --lime:var(--dg-lime);
  --background:var(--dg-canvas);
  --surface:var(--dg-surface);
  --text:var(--dg-text);
  --muted:var(--dg-muted);
  --border:var(--dg-line);
  --shadow:var(--dg-shadow);
}
html,body{background:var(--dg-canvas)}
body{color:var(--dg-text);font-size:15px;background:var(--dg-canvas)}
.main-content{background:var(--dg-canvas)}
.main-content:before{display:none}
.app-shell{grid-template-columns:278px minmax(0,1fr)}
.sidebar{padding:24px 18px 18px;background:var(--dg-ink);border-right:1px solid rgba(255,255,255,.06);box-shadow:none}
.brand{height:48px;margin:0 9px 20px}.brand img{width:194px;height:44px}
.workspace-picker{min-height:68px;padding:11px;border:1px solid rgba(255,255,255,.11);border-radius:var(--dg-radius-sm);background:rgba(255,255,255,.055);box-shadow:none}
.workspace-avatar{width:42px;height:42px;border:0;border-radius:11px;background:var(--dg-lime);box-shadow:none}
.nav-list{gap:3px;margin-top:18px}.nav-item{min-height:45px;padding:0 12px;border:0;border-radius:10px;color:rgba(255,255,255,.64);font-size:12px;transition:background .16s,color .16s}.nav-item:hover{transform:none;color:#fff;background:rgba(255,255,255,.065)}.nav-item.active{color:var(--dg-ink);border:0;background:var(--dg-surface);box-shadow:none}.nav-item.active .nav-icon{color:var(--dg-green)}
.sidebar-support{border:1px solid rgba(255,255,255,.08);border-radius:var(--dg-radius-sm);background:rgba(255,255,255,.045)}.support-icon{background:var(--dg-lime)}
.topbar{min-height:74px;padding:0 36px;border-bottom:1px solid var(--dg-line);background:rgba(243,245,241,.92);box-shadow:none;backdrop-filter:blur(18px)}
.icon-button{width:40px;height:40px;border:1px solid var(--dg-line);border-radius:10px;background:var(--dg-surface);box-shadow:none}
.showcase-session-badge,.live-status{border:1px solid var(--dg-line);border-radius:999px;background:var(--dg-surface);box-shadow:none}
.page{max-width:1480px;padding:38px 38px 56px}.page-heading{align-items:flex-start}.page-heading>div:first-child{max-width:820px}.page-heading .eyebrow{margin:0 0 10px;padding:0;border:0;background:transparent;color:var(--dg-green);font-size:9px;font-weight:800;letter-spacing:.17em}.page-heading h1{max-width:850px;color:var(--dg-ink);font-size:clamp(34px,3vw,46px);line-height:1.03;letter-spacing:-.05em}.page-heading p:last-child{max-width:730px;margin-top:13px;color:var(--dg-muted);font-size:14px;line-height:1.6}.heading-actions{padding-top:4px}
.primary-button,.checkout-button,.document-pdf-button,.login-submit{border-radius:var(--dg-radius-sm);background:var(--dg-ink);box-shadow:none}.primary-button:hover,.checkout-button:hover,.document-pdf-button:hover,.login-submit:hover{transform:none;background:var(--dg-ink-2);box-shadow:none}.secondary-button,.store-button{border-radius:var(--dg-radius-sm)}
.metrics,.compact-metrics{gap:14px;margin-top:28px}.metric,.metric:first-child,.metric:nth-child(4){min-height:142px;padding:20px;color:var(--dg-text);border:1px solid var(--dg-line);border-radius:var(--dg-radius);background:var(--dg-surface);box-shadow:var(--dg-shadow)}.metric:first-child:after{display:none}.metric:first-child .metric-top,.metric:first-child .metric-detail{color:var(--dg-muted)}.metric:first-child .metric-value{color:var(--dg-ink)}.metric:first-child .metric-icon,.metric-icon{width:38px;height:38px;color:var(--dg-ink);border-radius:10px;background:var(--dg-surface-muted)}.metric-value{margin-top:18px;color:var(--dg-ink);font-size:29px}.metric-detail{font-size:10px}
.panel,.product-card,.company-card,.document-card,.shipment-detail-card,.commerce-card,.showcase-profile-card{border:1px solid var(--dg-line);border-radius:var(--dg-radius);background:var(--dg-surface);box-shadow:var(--dg-shadow)}.panel{padding:23px}.panel-heading h2{font-size:18px}.section-label{color:var(--dg-green);font-size:9px;letter-spacing:.15em}.table-wrap{border-radius:var(--dg-radius-sm)}table thead th{color:#78857d;font-size:8px}table tbody td{padding-top:14px;padding-bottom:14px}
.status,.period,.passport-status,.billing-live,.delivery-live-pill{border-radius:999px}.search-field,.partner-search,.catalog-intelligence-toolbar{border:1px solid var(--dg-line);border-radius:var(--dg-radius-sm);background:var(--dg-surface);box-shadow:none}
.quick-action,.verification-list>span,.address-list>div,.account-details div,.catalog-access-flow article,.account-connected-flow article,.patient-360-flow article,.seller-cart-group,.delivery-option{border-color:var(--dg-line);border-radius:var(--dg-radius-sm);background:var(--dg-surface-muted)}

/* Um único tratamento para banners e heróis */
.account-hero,.consultation-hero,.journey-command-center,.communication-banner,.document-system-banner,.delivery-command,.shipping-command,.delivery-spotlight,.patient-360-head,.fair-scenario-strip{border:1px solid rgba(255,255,255,.08);border-radius:22px;background:var(--dg-ink);box-shadow:0 18px 46px rgba(16,35,26,.13)}
.account-hero,.consultation-hero,.journey-command-center,.document-system-banner,.delivery-command,.shipping-command{margin:24px 0 18px;padding:28px 30px}.communication-banner{margin:24px 0 18px;padding:23px}.delivery-spotlight{margin:24px 0 22px}.patient-360-head{padding:25px 28px}
.account-hero h2,.consultation-hero h2,.journey-command-center h2,.communication-banner h2,.document-system-banner h2,.delivery-command h2,.shipping-command h2,.delivery-spotlight h2,.patient-360-head h2{color:#fff}
.account-hero .section-label,.consultation-hero .section-label,.journey-command-center .section-label,.communication-banner small,.document-system-banner small,.delivery-command .section-label,.shipping-command .section-label,.delivery-spotlight small,.patient-360-head .section-label{color:#a8d7b5}
.account-avatar,.passport-mark,.communication-banner>div>span,.document-system-banner>div>span,.delivery-command>span,.shipping-command>span,.patient-360-avatar,.smart-match-seal>span{color:var(--dg-ink);background:var(--dg-lime);box-shadow:none}
.journey-command-center>aside{border:1px solid rgba(255,255,255,.1);border-radius:var(--dg-radius);background:rgba(255,255,255,.055)}
.digital-care-card,.camera-check{border:1px solid rgba(255,255,255,.08);border-radius:var(--dg-radius);background:var(--dg-ink);box-shadow:var(--dg-shadow)}
.delivery-spotlight-copy{background:transparent}.delivery-route-card{border-left:1px solid var(--dg-line);background:var(--dg-surface-muted)}
.route-facts{border-color:var(--dg-line);border-radius:var(--dg-radius-sm);background:var(--dg-surface)}
.route-facts>span{border-color:var(--dg-line)}

/* Componentes especializados seguem os mesmos tokens */
.doctor-billing-hero>div{border-radius:var(--dg-radius);background:var(--dg-ink);box-shadow:var(--dg-shadow)}.doctor-billing-hero>aside{color:var(--dg-text);border:1px solid var(--dg-line);border-radius:var(--dg-radius);background:var(--dg-surface);box-shadow:var(--dg-shadow)}.asaas-brand,.asaas-mini>b,.payment-launch-summary>span{color:var(--dg-ink);background:var(--dg-lime)}
.consultation-price-preview,.commerce-summary .checkout-button{border-radius:var(--dg-radius-sm);background:var(--dg-ink);box-shadow:none}
.consultation-doctor-choice,.telehealth-boundary,.post-consultation-card,.agenda-consultation,.doctor-appointment.next,.payment-pending-card,.payment-detail,.smart-match-hero,.premium-note,.showcase-entry,.fair-handoff{border:1px solid var(--dg-line);border-radius:var(--dg-radius);background:var(--dg-surface-muted);box-shadow:none}
.doctor-appointment,.document-card,.merchant-product-card,.shipment-detail-card{border-radius:var(--dg-radius)}
.document-card:before{width:3px;background:var(--dg-green)}.document-card:hover,.showcase-profile-card:hover{transform:none;border-color:#b9d0bf;box-shadow:var(--dg-shadow)}
.catalog-admin-metrics article,.membership-metrics article{border:1px solid var(--dg-line);border-radius:var(--dg-radius);background:var(--dg-surface);box-shadow:var(--dg-shadow)}
.merchant-product-media,.product-art,.product-art.cream,.product-art.lime,.product-art.dark{background:var(--dg-surface-muted)}
.checkout-progress span b,.commerce-card-heading>span,.summary-product-preview>span,.passport-mark,.care-qr{border-radius:10px}.commerce-card-heading{border-color:var(--dg-line);background:var(--dg-surface)}
.payment-method-grid label,.currency-input,.form-grid input,.form-grid select,.form-grid textarea,.full-dialog-field input{border-color:var(--dg-line);border-radius:var(--dg-radius-sm);background:var(--dg-surface)}
.payment-method-grid label.selected{border-color:var(--dg-green);background:#f0f7f2;box-shadow:0 0 0 3px rgba(47,158,91,.07)}
.dialog-form,.legal-document,.legal-center,.showcase-dialog,.command-palette,.notification-sheet,.association-detail{border-radius:20px;background:var(--dg-surface)}
.showcase-profile-number,.consultation-doctor-choice>span,.consultation-patient-head>span,.shipment-partner>span{border-radius:11px}.showcase-profile-number{color:var(--dg-ink);background:#e8f3e9}
.login-brand-panel{background:var(--dg-ink)}.login-form-panel{background:var(--dg-canvas)}.login-form{border-color:var(--dg-line);border-radius:22px;background:var(--dg-surface);box-shadow:var(--dg-shadow)}

@media(max-width:1050px){.app-shell{grid-template-columns:248px minmax(0,1fr)}.page{padding:34px 28px 50px}.topbar{padding:0 28px}}
@media(max-width:760px){.page{padding:28px 18px 42px}.page-heading h1{font-size:34px}.metrics,.compact-metrics{grid-template-columns:1fr 1fr}.metric,.metric:first-child,.metric:nth-child(4){min-height:126px;padding:17px}.panel{padding:19px}.account-hero,.consultation-hero,.journey-command-center,.document-system-banner,.delivery-command,.shipping-command{padding:23px}.delivery-spotlight{border-radius:var(--dg-radius)}.dialog-form,.legal-document,.legal-center,.showcase-dialog{border-radius:18px}}

/* Brand System v9 — paleta extraída da identidade Doctor Green */
:root{
  --dg-forest:#0a2e20;
  --dg-forest-2:#10432e;
  --dg-leaf:#53c466;
  --dg-leaf-strong:#188a45;
  --dg-cream:#f7ecde;
  --dg-cream-light:#fffaf3;
  --dg-canvas:#f2eee7;
  --dg-surface:#fffdf8;
  --dg-surface-muted:#f7f3eb;
  --dg-line:#d9ded4;
  --dg-text:#11251b;
  --dg-muted:#657269;
  --dg-ink:var(--dg-forest);
  --dg-ink-2:var(--dg-forest-2);
  --dg-green:var(--dg-leaf-strong);
  --dg-green-2:var(--dg-leaf);
  --dg-lime:var(--dg-leaf);
  --deep-green:var(--dg-forest);
  --brand-green:var(--dg-leaf-strong);
  --surface-green:var(--dg-leaf);
  --cream:var(--dg-cream);
  --lime:var(--dg-leaf);
  --background:var(--dg-canvas);
  --surface:var(--dg-surface);
  --text:var(--dg-text);
  --muted:var(--dg-muted);
  --border:var(--dg-line);
}
body,button,input,select,textarea{font-family:"DM Sans",system-ui,sans-serif}
h1,h2,h3,h4,.metric-value,.chart-total,.workspace-avatar,.user-avatar,.portal-symbol,.score-ring strong,.billing-summary>strong,.delivery-spotlight-copy h2,.patient-360-head h2,.remote-video>span{font-family:"Manrope",system-ui,sans-serif!important}
body{letter-spacing:-.012em;background:var(--dg-canvas)}
.main-content{background:linear-gradient(180deg,#f6f2eb 0%,var(--dg-canvas) 440px)}
.sidebar{background:var(--dg-forest);border-right-color:rgba(247,236,222,.1)}
.workspace-picker{border-color:rgba(247,236,222,.16);background:rgba(247,236,222,.07)}
.workspace-avatar{color:var(--dg-forest);background:var(--dg-leaf)}
.workspace-copy small,.user-card small,.sidebar-support small{color:rgba(247,236,222,.58)}
.nav-item{color:rgba(247,236,222,.68)}.nav-item:hover{background:rgba(247,236,222,.08)}.nav-item.active{color:var(--dg-forest);background:var(--dg-cream)}.nav-item.active .nav-icon{color:var(--dg-leaf-strong)}
.sidebar-support{border-color:rgba(247,236,222,.12);background:rgba(247,236,222,.06)}.support-icon{color:var(--dg-forest);background:var(--dg-leaf)}
.user-avatar{color:var(--dg-forest);background:var(--dg-cream)}
.topbar{border-bottom-color:#d8ded3;background:rgba(247,243,235,.94)}
.mobile-brand{color:var(--dg-forest)}
.icon-button,.live-status,.showcase-session-badge{border-color:#d6ddd2;background:var(--dg-cream-light)}
.page-heading .eyebrow,.eyebrow,.section-label{color:var(--dg-leaf-strong);font-weight:800}
.page-heading h1{color:var(--dg-forest);font-weight:800;letter-spacing:-.048em}
.page-heading p:last-child{color:#627067}
.primary-button,.checkout-button,.document-pdf-button,.login-submit{color:#fff;background:var(--dg-leaf-strong)}.primary-button:hover,.checkout-button:hover,.document-pdf-button:hover,.login-submit:hover{background:#218f47}
.secondary-button,.store-button{color:var(--dg-forest);border-color:#cfd7cc;background:var(--dg-cream-light)}
.metric,.metric:first-child,.metric:nth-child(4){position:relative;border-color:#d8ddd3;background:var(--dg-surface);box-shadow:0 13px 34px rgba(10,46,32,.075)}
.metric:before{content:"";position:absolute;left:20px;right:20px;top:0;height:3px;border-radius:0 0 6px 6px;background:var(--dg-leaf)}
.metric-top{color:#6d786f}.metric-icon,.metric:first-child .metric-icon{color:#fff;background:var(--dg-leaf-strong)}.metric-value,.metric:first-child .metric-value{color:var(--dg-forest);font-weight:800}
.panel,.product-card,.company-card,.document-card,.shipment-detail-card,.commerce-card,.showcase-profile-card{border-color:#d8ddd3;background:var(--dg-surface);box-shadow:0 13px 34px rgba(10,46,32,.07)}
.panel-heading h2,.commerce-card-heading h2{color:var(--dg-forest);font-weight:800}
.table-wrap{border-color:#dce1d8;background:var(--dg-cream-light)}table thead{background:#f1eee7}table thead th{color:#627067}table tbody tr{background:var(--dg-surface)}table tbody tr:hover{background:#f2f8f1}
.status.positive,.billing-live,.passport-status{color:#0b6c36;background:#dff3e4}.status.warning{color:#865d13;background:#f8ecd1}.status.danger{color:#963f3f;background:#f6dddd}
.quick-icon,.proactive-care>span,.address-list>div>span,.smart-match-seal>span{color:#fff;background:var(--dg-leaf-strong)}

/* Superfícies de marca fortes e consistentes */
.account-hero,.consultation-hero,.journey-command-center,.communication-banner,.document-system-banner,.delivery-command,.shipping-command,.delivery-spotlight,.patient-360-head,.fair-scenario-strip,.digital-care-card,.camera-check{color:var(--dg-cream);border-color:rgba(247,236,222,.11);background:var(--dg-forest);box-shadow:0 20px 48px rgba(10,46,32,.18)}
.account-hero .section-label,.consultation-hero .section-label,.journey-command-center .section-label,.communication-banner small,.document-system-banner small,.delivery-command .section-label,.shipping-command .section-label,.delivery-spotlight small,.patient-360-head .section-label,.camera-check .section-label{color:var(--dg-leaf)}
.account-avatar,.passport-mark,.communication-banner>div>span,.document-system-banner>div>span,.delivery-command>span,.shipping-command>span,.patient-360-avatar,.camera-check>span{color:var(--dg-forest);background:var(--dg-leaf)}
.journey-command-center>aside{border-color:rgba(247,236,222,.13);background:rgba(247,236,222,.07)}
.journey-command-center>aside .primary-button,.camera-check>button,.delivery-spotlight-actions .primary-button{color:var(--dg-forest);background:var(--dg-leaf)}
.score-ring{background:conic-gradient(var(--dg-leaf) calc(var(--score)*1%),rgba(247,236,222,.13) 0)}.score-ring:before{background:var(--dg-forest)}
.delivery-route-card{background:var(--dg-cream)}.route-points>span>i{background:var(--dg-forest)}.route-points .destination>i{color:var(--dg-forest);background:var(--dg-leaf)}

/* Formulários, comércio e atendimento */
.login-screen{background:var(--dg-canvas)}.login-brand-panel{background:var(--dg-forest)}.login-form-panel{background:var(--dg-canvas)}.login-form{border-color:#d5dbd0;background:var(--dg-surface);box-shadow:0 24px 60px rgba(10,46,32,.12)}
.portal-symbol{background-color:var(--dg-forest)}
.email-access-fields,.login-input-shell input,.form-grid input,.form-grid select,.form-grid textarea,.full-dialog-field input,.currency-input{border-color:#d4dbd0;background:var(--dg-cream-light)}
.login-security-state,.invite-context,.showcase-entry,.fair-handoff,.consultation-doctor-choice,.telehealth-boundary,.post-consultation-card,.agenda-consultation,.doctor-appointment.next,.payment-pending-card,.payment-detail,.smart-match-hero,.premium-note{border-color:#cfdccc;background:#edf6ec}
.showcase-kicker,.showcase-profile-copy>small{color:var(--dg-leaf-strong)}
.showcase-profile-number{color:#fff;background:var(--dg-leaf-strong)}
.doctor-billing-hero>div{background:var(--dg-forest)}.doctor-billing-hero>aside{border-color:#d8ddd3;background:var(--dg-surface)}.asaas-brand,.asaas-mini>b,.payment-launch-summary>span{color:#fff;background:var(--dg-leaf-strong)}
.consultation-price-preview,.commerce-summary .checkout-button{background:var(--dg-forest)}
.consultation-payment-status.paid{border-color:#bfe2c8;background:#e4f5e8}.consultation-payment-status.paid>span{background:var(--dg-leaf-strong)}
.meet-mark,.consultation-patient-head>span,.shipment-partner>span{color:#fff;background:var(--dg-leaf-strong)}
.catalog-view-filters,.smart-total,.account-details div,.verification-list>span,.address-list>div,.quick-action,.seller-cart-group,.delivery-option{background:var(--dg-surface-muted)}
.catalog-view-filters button.active{color:#fff;background:var(--dg-leaf-strong)}
.best-choice-chip,.checkout-progress span.complete b,.checkout-progress span.current b{color:var(--dg-forest);background:var(--dg-leaf)}
.product-art,.product-art.cream,.product-art.lime,.product-art.dark,.merchant-product-media{background:#eef3eb}
.document-card:before{background:var(--dg-leaf)}
.document-filter-row button.active{border-color:var(--dg-leaf-strong);background:var(--dg-leaf-strong)}
.fair-profile-actions button:first-child,.fair-handoff>button:last-child{background:var(--dg-leaf-strong)}

@media(max-width:760px){.main-content{background:linear-gradient(180deg,#f7f2ea 0%,var(--dg-canvas) 380px)}.metric:before{left:16px;right:16px}.page-heading h1{font-size:33px;line-height:1.05}}

/* Product System v10 — simplicidade de produto, inspirado na experiência mobile premium */
:root{
  --dg-forest:#092e1c;
  --dg-forest-2:#12472d;
  --dg-leaf:#26a84f;
  --dg-leaf-strong:#16843e;
  --dg-citrus:#d0dc72;
  --dg-cream:#fbf3eb;
  --dg-cream-light:#fffdf9;
  --dg-canvas:#f6f7f3;
  --dg-surface:#ffffff;
  --dg-surface-muted:#f1f4ef;
  --dg-line:#e3e7e1;
  --dg-text:#0d1f15;
  --dg-muted:#69736d;
  --dg-radius:22px;
  --dg-radius-sm:14px;
  --dg-shadow:0 10px 30px rgba(9,46,28,.07);
}
body,button,input,select,textarea{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif}
h1,h2,h3,h4,.metric-value,.chart-total,.workspace-avatar,.user-avatar,.portal-symbol,.score-ring strong,.billing-summary>strong,.delivery-spotlight-copy h2,.patient-360-head h2,.remote-video>span{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif!important}
body{font-size:15px;letter-spacing:-.015em;background:var(--dg-canvas)}
.main-content{background:linear-gradient(180deg,#fff 0,var(--dg-canvas) 520px)}
.sidebar{background:var(--dg-forest)}
.brand{height:50px;overflow:visible}.brand img{width:190px;height:auto;object-fit:contain}.brand>span{display:none}
.topbar{min-height:70px;background:rgba(255,255,255,.88);backdrop-filter:blur(24px) saturate(180%)}
.mobile-brand img{width:146px;height:auto;display:block}
.page{max-width:1420px;padding:42px 40px 70px}
.page-heading h1{font-size:clamp(38px,3.3vw,54px);font-weight:750;line-height:1;letter-spacing:-.058em}.page-heading p:last-child{max-width:680px;font-size:15px;line-height:1.55}.page-heading .eyebrow{color:var(--dg-leaf-strong)}
.primary-button,.checkout-button,.document-pdf-button,.login-submit{min-height:48px;padding-inline:22px;border-radius:999px;background:var(--dg-leaf-strong);font-weight:700}.secondary-button,.store-button{min-height:46px;padding-inline:20px;border-radius:999px}
.live-status{padding:8px 12px;border:0;background:#edf6ef}.live-status i{background:var(--dg-leaf)}
.metrics,.compact-metrics{gap:16px;margin-top:32px}.metric,.metric:first-child,.metric:nth-child(4){min-height:150px;padding:22px;border:0;border-radius:var(--dg-radius);background:#fff;box-shadow:var(--dg-shadow)}.metric:before{display:none}.metric-icon,.metric:first-child .metric-icon{width:40px;height:40px;border-radius:50%;color:var(--dg-forest);background:#eaf5ec}.metric-value{font-size:32px}.metric-detail{font-size:11px}
.panel,.product-card,.company-card,.document-card,.shipment-detail-card,.commerce-card,.showcase-profile-card{border:0;border-radius:var(--dg-radius);background:#fff;box-shadow:var(--dg-shadow)}.panel{padding:25px}.dashboard-grid,.bottom-grid{gap:16px}.panel-heading{align-items:center}
.table-wrap{border:0;border-radius:16px;background:#fff}table thead{background:#f5f7f3}table tbody tr{background:#fff}table tbody tr+tr{border-top:1px solid #eef1ed}
.quick-action{min-height:58px;border:0;border-radius:16px;background:#f3f5f1}.quick-icon{width:36px;height:36px;border-radius:50%;color:var(--dg-forest);background:#e3f2e6}
.search-field,.partner-search,.catalog-intelligence-toolbar{border:0;background:#fff;box-shadow:var(--dg-shadow)}
.status,.period,.passport-status,.billing-live{font-weight:700}

/* Destaques grandes, com menos elementos e mais respiro */
.account-hero,.consultation-hero,.journey-command-center,.communication-banner,.document-system-banner,.delivery-command,.shipping-command,.delivery-spotlight,.patient-360-head,.fair-scenario-strip,.digital-care-card,.camera-check{border:0;border-radius:28px;background:var(--dg-forest);box-shadow:0 18px 46px rgba(9,46,28,.16)}
.account-hero,.consultation-hero,.journey-command-center,.document-system-banner,.delivery-command,.shipping-command{padding:34px 36px}.communication-banner{padding:28px}.delivery-spotlight-copy{padding:44px 40px}
.account-avatar,.passport-mark,.communication-banner>div>span,.document-system-banner>div>span,.delivery-command>span,.shipping-command>span,.patient-360-avatar,.camera-check>span{background:var(--dg-citrus)}
.journey-command-center>aside{border:0;background:rgba(255,255,255,.075)}
.journey-command-center>aside .primary-button,.camera-check>button,.delivery-spotlight-actions .primary-button{background:var(--dg-citrus)}
.delivery-route-card{background:var(--dg-cream)}

/* Formulários e cartões de conteúdo ficam silenciosos */
.login-form{border:0;border-radius:28px;background:#fff;box-shadow:0 20px 60px rgba(9,46,28,.1)}.email-access-fields{border:0;background:#f4f6f2}.login-input-shell input,.form-grid input,.form-grid select,.form-grid textarea,.full-dialog-field input,.currency-input{border:1px solid #e1e6df;background:#fff}.login-submit{border-radius:16px}
.showcase-entry,.fair-handoff,.consultation-doctor-choice,.telehealth-boundary,.post-consultation-card,.agenda-consultation,.doctor-appointment.next,.payment-pending-card,.payment-detail,.smart-match-hero,.premium-note{border:0;background:#eef5ed;box-shadow:none}
.showcase-profile-card,.document-card,.merchant-product-card,.shipment-detail-card{box-shadow:var(--dg-shadow)}
.catalog-admin-metrics article,.membership-metrics article{border:0;background:#fff;box-shadow:var(--dg-shadow)}
.product-art,.product-art.cream,.product-art.lime,.product-art.dark,.merchant-product-media{background:#f0f4ee}
.document-card:before{display:none}.document-filter-row button{border:0;background:#fff}.document-filter-row button.active{background:var(--dg-forest)}
.payment-method-grid label,.delivery-option,.seller-cart-group{border:1px solid #e4e8e2;background:#fff}.payment-method-grid label.selected{border-color:#9bcda7;background:#f1f8f2}
.doctor-billing-hero>div{border-radius:var(--dg-radius);background:var(--dg-forest)}.doctor-billing-hero>aside{border:0;border-radius:var(--dg-radius);background:#fff;box-shadow:var(--dg-shadow)}
.dialog-form,.legal-document,.legal-center,.showcase-dialog,.command-palette,.notification-sheet,.association-detail{border-radius:26px;background:#fff}

/* No celular, navegação inferior como aplicativo nativo */
@media(max-width:760px){
  body{background:var(--dg-canvas)}
  .app-shell{display:block;min-height:100vh}
  .sidebar{position:fixed;z-index:100;left:12px;right:12px;bottom:10px;top:auto;width:auto;height:68px;min-height:0;padding:8px;border:1px solid rgba(9,46,28,.1);border-radius:23px;background:rgba(255,255,255,.92);box-shadow:0 14px 45px rgba(9,46,28,.18);backdrop-filter:blur(24px) saturate(180%)}
  .sidebar .brand,.sidebar .workspace-picker,.sidebar .sidebar-support,.sidebar .user-card{display:none!important}
  .nav-list{height:100%;margin:0;padding:0;display:flex;align-items:center;gap:4px;overflow-x:auto;scrollbar-width:none}.nav-list::-webkit-scrollbar{display:none}
  .nav-item{min-width:52px;height:52px;min-height:52px;padding:0;display:grid;place-items:center;flex:1;border-radius:17px;color:#7b857f;background:transparent}.nav-item:hover{color:var(--dg-forest);background:#eef4ee}.nav-item.active{color:#fff;background:var(--dg-leaf-strong)}
  .nav-icon{width:23px;height:23px}.nav-icon svg{width:21px;height:21px}.nav-label,.nav-badge{display:none}
  .main-content{padding-bottom:96px;background:linear-gradient(180deg,#fff 0,var(--dg-canvas) 420px)}
  .topbar{position:sticky;top:0;min-height:70px;padding:0 18px;border-bottom:1px solid #edf0ec;background:rgba(255,255,255,.9)}
  .mobile-brand{display:block}.mobile-brand img{width:138px}.session-context{display:none}.top-actions{margin-left:auto}.top-actions>.store-button,.showcase-session-badge{display:none}
  .page{padding:34px 18px 36px}.page-heading{display:block}.page-heading h1{font-size:38px;line-height:1.01}.page-heading p:last-child{font-size:15px}.heading-actions{justify-content:flex-start;margin-top:22px}.heading-actions .primary-button{min-height:46px}
  .metrics,.compact-metrics{grid-template-columns:1fr 1fr;gap:12px}.metric,.metric:first-child,.metric:nth-child(4){min-height:138px;padding:18px;border-radius:20px}.metric-value{font-size:28px}
  .panel{padding:20px;border-radius:20px}.dashboard-grid,.bottom-grid{gap:14px}
  .account-hero,.consultation-hero,.journey-command-center,.document-system-banner,.delivery-command,.shipping-command{padding:26px;border-radius:24px}.delivery-spotlight{border-radius:24px}
  .login-form{border-radius:24px}.dialog-form,.legal-document,.legal-center,.showcase-dialog{border-radius:22px}
}

/* Product Header v11 — topo de marca forte, conteúdo leve */
.main-content{
  background:
    radial-gradient(circle at 88% 2%,rgba(208,220,114,.20),transparent 24rem),
    linear-gradient(180deg,var(--dg-forest) 0 420px,var(--dg-canvas) 420px);
}
.topbar{
  color:var(--dg-cream);
  border-bottom:1px solid rgba(251,243,235,.12);
  background:rgba(9,46,28,.88);
  box-shadow:none;
  backdrop-filter:blur(24px) saturate(150%);
}
.topbar .session-context strong,.topbar .session-context small{color:var(--dg-cream)}
.topbar .session-context small{opacity:.62}
.topbar .icon-button{
  color:var(--dg-cream);
  border-color:rgba(251,243,235,.16);
  background:rgba(251,243,235,.08);
}
.topbar .icon-button:hover{border-color:rgba(208,220,114,.42);background:rgba(208,220,114,.12)}
.topbar .live-status{color:#cfe8d5;background:rgba(38,168,79,.18)}
.topbar .showcase-session-badge{color:var(--dg-cream);border-color:rgba(251,243,235,.14);background:rgba(251,243,235,.08)}

/* Modo feira: troca de perfil em um toque */
.demo-profile-dock[hidden]{display:none!important}
.demo-profile-dock{position:fixed;z-index:90;left:calc(50% + 136px);bottom:20px;display:flex;align-items:center;gap:4px;padding:7px;border:1px solid rgba(236,243,235,.16);border-radius:22px;background:rgba(5,35,20,.94);box-shadow:0 24px 70px rgba(3,24,13,.32);backdrop-filter:blur(22px) saturate(150%);transform:translateX(-50%)}
.demo-profile-dock>i{width:1px;height:38px;margin:0 3px;background:rgba(255,255,255,.13)}
.demo-profile-dock button{position:relative;min-width:76px;height:56px;display:grid;grid-template-columns:30px 1fr;grid-template-rows:1fr;align-items:center;gap:8px;padding:0 11px;border:1px solid transparent;border-radius:15px;color:#b9cabe;background:transparent;cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease}
.demo-profile-dock button:hover{color:#fff;background:rgba(255,255,255,.08);transform:translateY(-2px)}
.demo-profile-dock button.active{color:#082717;border-color:#d6ea74;background:#d6ea74;box-shadow:0 9px 24px rgba(214,234,116,.18)}
.demo-profile-dock button>span{width:30px;height:30px;display:grid;place-items:center;border:1px solid currentColor;border-radius:10px;font-size:8px;font-weight:900;letter-spacing:.04em}
.demo-profile-dock button>small{font-size:9px;font-weight:800;white-space:nowrap;text-align:left}
.demo-profile-dock button>kbd{position:absolute;top:4px;right:6px;color:currentColor;background:transparent;font:700 7px/1 "Instrument Sans",sans-serif;opacity:.46}
.demo-profile-dock .demo-dock-home{min-width:70px;grid-template-columns:30px 1fr;color:#fff}.demo-profile-dock .demo-dock-home>span{color:#082717;border-color:#d6ea74;background:#d6ea74}
body:has(#demo-profile-dock:not([hidden])) .page{padding-bottom:112px}

@media(max-width:980px){.demo-profile-dock{left:50%;bottom:12px}.demo-profile-dock button{min-width:58px;grid-template-columns:1fr;justify-items:center;padding:0 8px}.demo-profile-dock button>small{display:none}.demo-profile-dock .demo-dock-home{min-width:54px;grid-template-columns:1fr}.demo-profile-dock button>kbd{display:none}}
@media(max-width:560px){.demo-profile-dock{width:calc(100% - 24px);justify-content:space-between;border-radius:19px}.demo-profile-dock button{min-width:0;flex:1;height:50px}.demo-profile-dock>i{height:30px}.demo-profile-dock button>span{width:28px;height:28px;border-radius:9px}}
.page-heading{
  position:relative;
  min-height:250px;
  padding:18px 0 62px;
  color:var(--dg-cream);
}
.page-heading:after{
  content:"";
  position:absolute;
  right:1%;
  bottom:35px;
  width:210px;
  height:210px;
  border:1px solid rgba(208,220,114,.22);
  border-radius:50%;
  box-shadow:0 0 0 38px rgba(208,220,114,.045),0 0 0 76px rgba(208,220,114,.025);
  pointer-events:none;
}
.page-heading>div,.page-heading>.heading-actions{position:relative;z-index:1}
.page-heading .eyebrow{color:var(--dg-citrus);font-size:10px;letter-spacing:.2em}
.page-heading h1{
  max-width:940px;
  color:var(--dg-cream);
  font-size:clamp(46px,4vw,66px);
  font-weight:760;
  line-height:.96;
  letter-spacing:-.065em;
}
.page-heading p:last-child{max-width:720px;color:rgba(251,243,235,.72);font-size:16px}
.page-heading .primary-button{
  color:var(--dg-forest);
  background:var(--dg-citrus);
  box-shadow:0 12px 30px rgba(0,0,0,.12);
}
.page-heading .primary-button:hover{color:var(--dg-forest);background:#e0e99b}
.page-heading .secondary-button,.page-heading .store-button{
  color:var(--dg-cream);
  border-color:rgba(251,243,235,.22);
  background:rgba(251,243,235,.08);
}
.page>.metrics:first-of-type,.page>.compact-metrics:first-of-type{position:relative;z-index:2;margin-top:-18px}

@media(max-width:760px){
  .main-content{
    background:
      radial-gradient(circle at 100% 7%,rgba(208,220,114,.17),transparent 19rem),
      linear-gradient(180deg,var(--dg-forest) 0 400px,var(--dg-canvas) 400px);
  }
  .topbar{border-bottom-color:rgba(251,243,235,.11);background:rgba(9,46,28,.92)}
  .page{padding-top:26px}
  .page-heading{min-height:286px;padding:12px 0 50px}
  .page-heading:after{right:-115px;bottom:28px;width:230px;height:230px}
  .page-heading h1{max-width:530px;color:var(--dg-cream);font-size:43px;line-height:.97;letter-spacing:-.062em}
  .page-heading p:last-child{max-width:510px;color:rgba(251,243,235,.72);font-size:15px;line-height:1.5}
  .page-heading .heading-actions{margin-top:24px}
  .page-heading .primary-button{min-height:50px;padding-inline:23px}
  .page>.metrics:first-of-type,.page>.compact-metrics:first-of-type{margin-top:-12px}
}

/* Hero artwork v12 — cuidado, natureza e tecnologia */
.page-heading:after{
  right:-18px;
  bottom:-78px;
  width:500px;
  height:455px;
  border:0;
  border-radius:0;
  background:url("./assets/doctor-green-hero-care-v1.png") center/contain no-repeat;
  box-shadow:none;
  opacity:.96;
  filter:drop-shadow(0 24px 30px rgba(0,0,0,.18));
}
.page-heading>div:first-child{max-width:min(760px,62%)}
.page-heading h1{max-width:760px}

@media(max-width:1180px){
  .page-heading:after{right:-80px;width:440px;height:420px;opacity:.82}
  .page-heading>div:first-child{max-width:68%}
}

@media(max-width:760px){
  .page-heading{min-height:330px;overflow:hidden}
  .page-heading:after{
    right:-18px;
    bottom:-34px;
    width:350px;
    height:340px;
    opacity:.76;
    filter:drop-shadow(0 18px 24px rgba(0,0,0,.14));
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.2) 18%,#000 48%);
    mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.2) 18%,#000 48%);
  }
  .page-heading>div:first-child{max-width:100%}
  .page-heading h1{max-width:520px;padding-right:16px}
  .page-heading p:last-child{max-width:82%}
}

/* Interface refinement v13 — menos “pílulas”, mais produto */
body{font-size:16px}
.heading-actions{align-items:center;gap:18px}
.sync-state{
  display:grid;
  grid-template-columns:28px auto;
  gap:9px;
  align-items:center;
  min-width:142px;
  color:var(--dg-cream);
}
.sync-state-mark{
  display:grid;
  width:28px;
  height:28px;
  place-items:center;
  color:var(--dg-citrus);
  border:1px solid rgba(208,220,114,.28);
  border-radius:8px;
  background:rgba(208,220,114,.09);
}
.sync-state-mark svg{width:16px;height:16px}
.sync-state-copy{display:grid;gap:1px;text-align:left;line-height:1.1}
.sync-state-copy strong{color:var(--dg-cream);font-size:11px;font-weight:720}
.sync-state-copy small{color:rgba(251,243,235,.54);font-size:9px;font-weight:500}

.primary-button,.checkout-button,.document-pdf-button,.login-submit{
  border-radius:13px;
  box-shadow:none;
}
.secondary-button,.store-button{border-radius:13px}
.page-heading .primary-button{border-radius:13px}
.status,.period,.passport-status,.billing-live,.delivery-live-pill{
  border-radius:8px;
  letter-spacing:0;
}
.status{padding:5px 8px;font-size:11px}
.status:before{width:4px;height:4px;box-shadow:none}
.period{padding:5px 7px;background:transparent}

.nav-item{min-height:48px;font-size:13px;letter-spacing:-.01em}
.nav-label{font-weight:600}
.section-label{font-size:10px}
.panel-heading h2,.commerce-card-heading h2{font-size:20px;letter-spacing:-.025em}
.metric-top{font-size:12px}
.metric-detail{font-size:12px;line-height:1.35}
table thead th{font-size:10px;letter-spacing:.06em}
table tbody td{font-size:13px}
.row-action,.text-button{font-size:12px}
.quick-action{font-size:13px}
.empty-state{min-height:250px;align-items:flex-start;padding:36px;text-align:left}
.empty-state p{max-width:560px}

@media(max-width:760px){
  .heading-actions{width:100%;justify-content:flex-start;gap:14px}
  .sync-state{min-width:142px;grid-template-columns:28px auto;gap:9px}
  .sync-state-mark{width:28px;height:28px;border-radius:8px}
  .sync-state-copy strong{font-size:11px}.sync-state-copy small{font-size:9px}
  .page-heading .primary-button{border-radius:13px}
  .metric-top,.metric-detail{font-size:11px}
  table tbody td{font-size:12px}
  .empty-state{min-height:220px;padding:24px}
  .nav-item.active .nav-icon{color:#fff}
}

/* Visual continuity v14 — uma linguagem, camadas corretas */
.page-heading{
  isolation:isolate;
  overflow:hidden;
}
.page-heading:after{z-index:0}
.page-heading>div,.page-heading>.heading-actions{z-index:2}
.page>.metrics:first-of-type,.page>.compact-metrics:first-of-type,
.page>.dashboard-grid,.page>.bottom-grid{position:relative;z-index:3}

.login-brand-panel{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 14% 12%,rgba(38,168,79,.22),transparent 29rem),
    linear-gradient(145deg,#071d12 0%,var(--dg-forest) 58%,#123c27 100%);
}
.login-brand-panel:after{
  content:"";
  position:absolute;
  z-index:0;
  right:-12%;
  bottom:3%;
  width:min(64vw,980px);
  height:56%;
  border:0;
  border-radius:0;
  background:url("./assets/doctor-green-login-ecosystem-v1.png") right bottom/contain no-repeat;
  box-shadow:none;
  opacity:.72;
  filter:drop-shadow(0 28px 42px rgba(0,0,0,.2));
  pointer-events:none;
}
.login-brand-stage,.login-brand-top,.login-brand-footer{position:relative;z-index:2}
.login-brand-copy{position:relative;z-index:3}
.login-journey-card{
  position:relative;
  z-index:4;
  border-color:rgba(251,243,235,.14);
  background:rgba(9,46,28,.72);
  box-shadow:0 26px 70px rgba(0,0,0,.24);
}
.login-form-panel{position:relative;isolation:isolate;overflow:hidden}
.login-form-panel:before{
  content:"";
  position:absolute;
  z-index:-1;
  right:-120px;
  top:-80px;
  width:430px;
  height:300px;
  background:url("./assets/doctor-green-login-ecosystem-v1.png") right top/contain no-repeat;
  opacity:.09;
  pointer-events:none;
}
.login-form{position:relative;z-index:2}

/* Mapa editorial da rede na entrada */
.login-brand-stage{grid-template-columns:1fr;gap:25px;align-items:center;padding:34px 0}
.login-brand-copy{max-width:680px}.login-brand-panel h1{font-size:clamp(43px,4.4vw,68px)}
.login-network-card{position:relative;z-index:4;width:min(650px,100%);padding:20px;border:1px solid rgba(255,255,255,.14);border-radius:28px;background:rgba(5,30,18,.76);box-shadow:0 28px 80px rgba(0,0,0,.28);backdrop-filter:blur(22px)}
.login-network-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.login-network-heading span,.login-network-heading strong{display:block}.login-network-heading span{color:#c9f45b;font-size:10px;font-weight:850;letter-spacing:.13em}.login-network-heading strong{max-width:220px;margin-top:7px;color:#fff;font-size:18px;line-height:1.2}.login-network-heading em{display:flex;gap:6px;align-items:center;margin-top:2px;color:rgba(255,255,255,.55);font-size:9px;font-style:normal;white-space:nowrap}.login-network-heading em i{width:7px;height:7px;border-radius:50%;background:#5ed17d;box-shadow:0 0 0 5px rgba(94,209,125,.1)}
.login-network-filters{display:flex;gap:5px;margin:18px 0 9px;padding:4px;border:1px solid rgba(255,255,255,.09);border-radius:13px;background:rgba(0,0,0,.16)}.login-network-filters button{flex:1;min-height:30px;padding:0 8px;border:0;border-radius:9px;color:rgba(255,255,255,.55);background:transparent;font:750 10px/1 inherit;cursor:pointer;transition:.2s ease}.login-network-filters button:hover{color:#fff}.login-network-filters button.active{color:#0b2e1c;background:#c9f45b;box-shadow:0 7px 18px rgba(0,0,0,.16)}
.login-network-map{display:grid;grid-template-columns:minmax(0,1fr) 156px;gap:17px;align-items:end}.login-network-map-visual{position:relative;min-height:220px}.login-network-map-visual svg{display:block;width:100%;height:220px;overflow:visible}.login-map-state{fill:rgba(255,255,255,.055);stroke:rgba(255,255,255,.17);stroke-width:1.5;transition:.2s ease}.login-map-state.covered{fill:rgba(82,185,99,.17);stroke:rgba(126,219,148,.38)}
.login-map-marker{outline:none;cursor:pointer}.login-map-marker .pulse{fill:transparent;stroke-width:2;opacity:.22}.login-map-marker .dot{stroke:#092b1a;stroke-width:3}.login-map-marker path{stroke:#092b1a;stroke-width:2;stroke-linecap:round}.login-map-marker.association .pulse{stroke:#c9f45b}.login-map-marker.association .dot{fill:#c9f45b}.login-map-marker.doctor .pulse{stroke:#fff}.login-map-marker.doctor .dot{fill:#f9f3ea}.login-map-marker.active .pulse{opacity:.92;animation:login-map-pulse 1.7s ease-out infinite}.login-map-marker:focus .dot{stroke:#fff;stroke-width:5}@keyframes login-map-pulse{0%{r:10;opacity:.9}100%{r:24;opacity:0}}
.login-map-legend{position:absolute;left:0;bottom:0;display:flex;gap:10px;color:rgba(255,255,255,.58);font-size:8px}.login-map-legend span{display:flex;gap:5px;align-items:center}.login-map-legend i{width:7px;height:7px;border-radius:50%}.login-map-legend .association{background:#c9f45b}.login-map-legend .doctor{background:#f9f3ea}
.login-network-detail{align-self:center;min-height:128px;padding:15px 13px;border-left:1px solid rgba(255,255,255,.12)}.login-network-detail span{color:#8ee0a3;font-size:7px;font-weight:850;letter-spacing:.1em}.login-network-detail strong{display:block;margin-top:8px;color:#fff;font-size:13px;line-height:1.25}.login-network-detail p{margin:8px 0 0!important;color:rgba(255,255,255,.64)!important;font-size:10px!important;line-height:1.35!important}.login-network-detail small{display:block;margin-top:9px;color:rgba(255,255,255,.42);font-size:8px;line-height:1.4}

@media(max-width:1320px){
  .login-brand-panel:after{right:-18%;bottom:6%;width:78vw;height:48%;opacity:.58}
  .login-brand-stage{grid-template-columns:1fr}.login-network-card{max-width:560px}.login-network-map-visual{min-height:200px}.login-network-map-visual svg{height:200px}
}
@media(max-width:1050px){.login-network-card{padding:16px}.login-network-map{grid-template-columns:1fr}.login-network-detail{display:none}.login-network-map-visual{min-height:190px}.login-network-map-visual svg{height:190px}.login-network-heading em{display:none}}

@media(max-width:760px){
  .main-content{
    background:
      radial-gradient(circle at 100% 7%,rgba(208,220,114,.17),transparent 19rem),
      linear-gradient(180deg,var(--dg-forest) 0 430px,var(--dg-canvas) 430px);
  }
  .page-heading:after{bottom:-12px}
  .login-form-panel:before{
    z-index:0;
    right:-105px;
    top:-45px;
    width:310px;
    height:230px;
    opacity:.13;
  }
}

/* Login v16 — marca oficial, mapa na primeira dobra e controles sem cápsulas */
.login-screen{
  grid-template-columns:minmax(700px,1.32fr) minmax(500px,.88fr);
  min-height:100svh;
  background:#f2f2ec;
}
.login-brand-panel{
  min-height:100svh;
  padding:clamp(34px,3.5vw,62px);
  background:linear-gradient(145deg,#09291b 0%,#0c3523 62%,#12472e 100%);
}
.login-brand-panel:before{opacity:.42}
.login-brand-panel:after{right:-15%;bottom:-4%;width:58%;height:42%;opacity:.45}
.login-brand-top{align-items:center}
.login-brand-top>img{display:block;width:clamp(220px,18vw,290px);height:auto;aspect-ratio:2050/1200;object-fit:contain}
.login-brand-top>span{position:relative;padding:0 0 0 18px;border:0;border-radius:0;color:rgba(251,243,235,.58);background:none;font-size:10px;font-weight:650;letter-spacing:.08em}
.login-brand-top>span:before{content:"";position:absolute;left:0;top:50%;width:8px;height:8px;border-radius:50%;background:#63c876;transform:translateY(-50%);box-shadow:0 0 0 5px rgba(99,200,118,.11)}
.login-brand-top>span i{display:none}
.login-brand-stage{display:grid;grid-template-columns:minmax(260px,.78fr) minmax(380px,1.22fr);gap:clamp(26px,3vw,50px);align-items:center;margin:auto 0;padding:22px 0}
.login-brand-copy{max-width:430px}
.login-brand-panel h1{max-width:430px;font-size:clamp(45px,3.55vw,66px);line-height:.98;letter-spacing:-.058em}
.login-brand-panel p:not(.eyebrow){max-width:410px;margin-top:20px;font-size:15px;line-height:1.55}
.login-network-card{width:100%;max-width:none;padding:22px 24px 20px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(5,30,18,.68);box-shadow:0 28px 70px rgba(0,0,0,.2);backdrop-filter:blur(18px)}
.login-network-heading strong{max-width:260px;font-size:19px}.login-network-heading em{padding:0;border:0;background:none}
.login-network-filters{gap:24px;margin:18px 0 7px;padding:0;border:0;border-bottom:1px solid rgba(255,255,255,.13);border-radius:0;background:none}
.login-network-filters button{flex:0 0 auto;min-height:36px;padding:0 1px 10px;border:0;border-bottom:2px solid transparent;border-radius:0;color:rgba(255,255,255,.52);background:none;font-size:11px;font-weight:650;box-shadow:none}
.login-network-filters button:hover{color:#fff}.login-network-filters button.active{color:#c9f45b;border-bottom-color:#c9f45b;background:none;box-shadow:none}
.login-network-map{grid-template-columns:minmax(0,1fr) 145px;gap:18px}
.login-network-map-visual{min-height:290px}.login-network-map-visual svg{height:290px}
.login-network-detail{min-height:150px;padding:18px 0 18px 18px}
.login-network-detail span{font-size:8px}.login-network-detail strong{font-size:14px}.login-network-detail p{font-size:11px!important}.login-network-detail small{font-size:9px}
.login-brand-footer{gap:18px}.login-trust{gap:22px}.login-trust span{padding:0;border:0;border-radius:0;background:none;color:rgba(255,255,255,.68);font-size:10px}
.login-form-panel{min-height:100svh;padding:clamp(24px,2.8vw,48px);background:#f2f2ec}
.login-form-panel:before{opacity:.055}
.login-form{width:min(510px,100%);padding:clamp(28px,2.5vw,38px);border:1px solid #d8ddd5;border-radius:18px;background:#fffdfa;box-shadow:0 24px 70px rgba(9,41,27,.1)}
.login-form-header{margin-bottom:22px}
.portal-symbol{width:60px;height:60px;margin:0;border:0;border-radius:13px;background-color:#0b2c1d;background-image:url("./assets/doctor-green-symbol-official.png");background-position:center;background-size:cover;box-shadow:none}
.login-security-state{gap:9px;padding:0;border:0;border-radius:0;color:#42624f;background:none;box-shadow:none}
.login-security-state i{width:8px;height:8px;background:#33b65d;box-shadow:0 0 0 5px rgba(51,182,93,.1)}
.login-security-state strong{font-size:11px}.login-security-state small{font-size:9px}
.login-form h2{font-size:clamp(38px,3vw,49px);line-height:1.02;letter-spacing:-.052em}
.login-form-copy>p:not(.eyebrow){margin:14px 0 22px;font-size:14px;line-height:1.55}
.email-access-fields{gap:15px;padding:18px;border:1px solid #dfe4dc;border-radius:13px;background:#f5f6f1}
.login-input-shell{min-height:54px;border-radius:10px;background:#fff}.login-input-shell:focus-within{box-shadow:0 0 0 3px rgba(38,168,79,.1)}
.login-submit{min-height:52px;border-radius:10px;background:#188342;box-shadow:none}.login-submit:hover{background:#106f35;transform:translateY(-1px)}.login-submit i{display:inline;width:auto;height:auto;border-radius:0;color:inherit;background:none;font-size:17px}
.patient-signup{margin-top:14px;padding:13px 0;border:0;border-bottom:1px solid #e1e4de;border-radius:0;background:none}
.showcase-entry{margin-top:14px;padding:16px 0;border:0;border-bottom:1px solid #e1e4de;border-radius:0;background:none}
.showcase-entry button{min-height:auto;padding:0 0 3px;border:0;border-bottom:1px solid #1f6940;border-radius:0;color:#164f30;background:none;box-shadow:none;font-size:11px}.showcase-entry button:hover{color:#0e7b39;background:none;transform:none}
.showcase-entry button span{display:inline;width:auto;height:auto;border:0;border-radius:0;background:none}
.access-guidance{margin-top:14px;padding:0;border:0;background:none}.access-guidance>span{border-radius:8px}
.login-compliance{padding:13px 0;border:0;border-top:1px solid #e1e4de;border-radius:0;background:none}.login-compliance>span{border-radius:7px}
.login-legal-links button{padding:0 0 2px;border-radius:0;border-bottom:1px solid transparent}.login-legal-links button:hover{border-bottom-color:currentColor;background:none}
.login-network-mobile{display:none}
.brand,.mobile-brand{overflow:hidden}.brand img,.mobile-brand img{height:auto;object-fit:contain}

@media(max-width:1180px){
  .login-screen{grid-template-columns:minmax(430px,.86fr) minmax(500px,1.14fr)}
  .login-brand-panel{padding:34px}
  .login-brand-stage{grid-template-columns:1fr;gap:22px;padding:26px 0}
  .login-brand-copy{max-width:520px}.login-brand-panel h1{max-width:520px;font-size:48px}
  .login-network-card{max-width:560px}.login-network-map{grid-template-columns:minmax(0,1fr) 135px}.login-network-map-visual{min-height:205px}.login-network-map-visual svg{height:205px}
  .login-brand-signature{display:none}
}

@media(max-width:760px){
  .login-screen{display:block;min-height:100svh;background:#f2f2ec}
  .login-brand-panel{display:none}
  .login-form-panel{min-height:100svh;padding:0;background:#f2f2ec}
  .login-form-panel:before{right:-125px;top:-55px;width:290px;height:210px;opacity:.07}
  .login-form{width:100%;min-height:100svh;padding:24px 20px 30px;border:0;border-radius:0;background:#fffdfa;box-shadow:none}
  .login-form-header{margin-bottom:24px}.portal-symbol{width:58px;height:58px}
  .login-security-state strong{font-size:10px}.login-security-state small{display:block;font-size:8px}
  .login-form h2{max-width:330px;font-size:40px}.login-form-copy>p:not(.eyebrow){max-width:340px}
  .email-access-fields{padding:15px;border-radius:12px}.login-input-shell{min-height:52px}
  .login-network-mobile{display:block;margin:24px -4px 8px;padding:21px 17px;border:1px solid #dce3d9;border-radius:15px;background:#0b3020;color:#fff;box-shadow:0 18px 42px rgba(9,41,27,.13)}
  .login-network-mobile .login-network-heading strong{font-size:17px}.login-network-mobile .login-network-heading em{color:rgba(255,255,255,.48);font-size:8px}
  .login-network-mobile .login-network-filters{gap:20px}
  .login-network-mobile .login-network-map{grid-template-columns:1fr;gap:8px}.login-network-mobile .login-network-map-visual{min-height:245px}.login-network-mobile .login-network-map-visual svg{height:245px}
  .login-network-mobile .login-network-detail{display:grid;grid-template-columns:1fr auto;gap:3px 12px;min-height:0;padding:14px 0 0;border-top:1px solid rgba(255,255,255,.12);border-left:0}.login-network-mobile .login-network-detail span,.login-network-mobile .login-network-detail strong{grid-column:1}.login-network-mobile .login-network-detail p,.login-network-mobile .login-network-detail small{grid-column:2;grid-row:1/3;margin:0!important;text-align:right}
  .showcase-entry{align-items:flex-start;grid-template-columns:1fr}.showcase-entry button{justify-self:start}
  .access-guidance{display:none}.login-compliance{margin-top:18px}.login-legal-links{gap:13px;flex-wrap:wrap}.demo-notice{text-align:left}
}

/* Login v17 — composição curta e marca completa nas duas colunas */
@media(min-width:761px){
  .login-screen{height:100svh;min-height:0;overflow:hidden}
  .login-brand-panel,.login-form-panel{height:100svh;min-height:0}
  .login-form-panel{display:grid;place-items:center;overflow:hidden;padding:24px 34px}
  .login-form{max-height:calc(100svh - 48px);padding:28px 31px;overflow:hidden;background:#fbf3eb}
  .login-form-header{margin-bottom:14px}
  .portal-symbol{width:190px;height:72px;border-radius:0;background-color:#fbf3eb;background-image:url("./assets/doctor-green-logo-official-dark.png");background-position:center;background-size:cover;background-repeat:no-repeat}
  .login-form h2{font-size:42px}
  .login-form-copy>p:not(.eyebrow){margin:10px 0 16px}
  .email-access-fields{gap:12px;padding:15px}
  .login-input-shell{min-height:50px}
  .login-row{margin-top:2px}
  .login-submit{min-height:48px}
  .patient-signup{margin-top:10px;padding:10px 0}
  .showcase-entry{grid-template-columns:1fr auto;gap:16px;margin-top:10px;padding:12px 0}
  .showcase-entry p{max-width:280px;margin-top:3px;font-size:10px;line-height:1.35}
  .showcase-entry button{align-self:center;white-space:nowrap}
  .access-guidance,.login-compliance{display:none}
  .login-legal-links{margin-top:12px;padding-top:10px}
  .demo-notice{margin-top:8px}
}

@media(min-width:761px) and (max-height:800px){
  .login-form{max-height:calc(100svh - 28px);padding:20px 26px}
  .portal-symbol{width:145px;height:70px}
  .login-form-header{margin-bottom:8px}
  .login-form h2{font-size:36px}
  .login-form-copy>p:not(.eyebrow){margin:7px 0 11px;font-size:12px}
  .email-access-fields{gap:9px;padding:12px}
  .login-input-shell{min-height:46px}
  .login-submit{min-height:44px}
  .patient-signup{margin-top:7px;padding:7px 0}
  .showcase-entry{margin-top:7px;padding:9px 0}.showcase-entry p{display:none}
  .login-legal-links{margin-top:8px;padding-top:7px}.demo-notice{display:none}
  .login-brand-stage{padding:10px 0}
  .login-network-map-visual{min-height:240px}.login-network-map-visual svg{height:240px}
}

@media(max-width:760px){
  .portal-symbol{width:174px;height:72px;border-radius:0;background-color:#fbf3eb;background-image:url("./assets/doctor-green-logo-official-dark.png");background-position:center;background-size:cover;background-repeat:no-repeat}
}

/* Login v20 — identidade do site oficial e mapa editorial sem card */
.login-brand-top>img{
  width:clamp(230px,19vw,305px);
  aspect-ratio:420/110;
  opacity:.98;
}
.login-network-card{
  width:100%;
  max-width:none;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
}
.login-network-heading{
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.16);
}
.login-network-heading strong{font-size:17px;font-weight:650;letter-spacing:-.025em}
.login-network-heading em{color:rgba(255,255,255,.48)}
.login-network-filters{margin-top:13px}
.login-network-map{gap:24px}
.login-network-map-visual:after{
  content:"";
  position:absolute;
  left:10%;
  right:10%;
  bottom:15px;
  height:40px;
  border-radius:50%;
  background:rgba(38,168,79,.18);
  filter:blur(28px);
  pointer-events:none;
}
.login-network-map-visual svg{position:relative;z-index:1;filter:drop-shadow(0 18px 24px rgba(0,0,0,.14))}
.login-network-detail{
  position:relative;
  align-self:center;
  min-height:0;
  padding:0 0 0 19px;
  border-left:1px solid rgba(255,255,255,.18);
}
.login-map-legend{bottom:8px}
.portal-symbol{
  width:210px!important;
  height:55px!important;
  border-radius:0!important;
  background-color:transparent!important;
  background-image:url("./assets/logo-doctor-green-site.svg")!important;
  background-position:left center!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
}

/* Linguagem editorial: sem indicadores circulares de status */
.login-brand-top>span{
  padding:0 0 5px;
  border-bottom:1px solid rgba(251,243,235,.28);
  color:rgba(251,243,235,.62);
  font-size:9px;
  font-weight:700;
  letter-spacing:.16em;
}
.login-brand-top>span:before{display:none}
.login-network-heading em{
  padding-bottom:5px;
  border-bottom:1px solid rgba(251,243,235,.24);
  color:rgba(251,243,235,.48);
  font-size:8px;
  font-weight:700;
  letter-spacing:.13em;
}
.login-network-heading em i{display:none}
.login-security-state{
  align-items:center;
  gap:10px;
  padding:0;
  border:0;
  background:transparent;
}
.login-security-state>svg{
  width:28px;
  height:28px;
  padding:5px;
  border:1px solid #b9c8bd;
  border-radius:8px;
  fill:none;
  stroke:#21643d;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.login-security-state>i{display:none}
.login-security-state strong{color:#1d4f32;font-size:10px;letter-spacing:.035em;text-transform:uppercase}
.login-security-state small{margin-top:2px;color:#758379;font-size:8px;letter-spacing:.02em}

@media(min-width:761px){
  .login-brand-stage{grid-template-columns:minmax(250px,.72fr) minmax(390px,1.28fr)}
  .login-network-map-visual{min-height:270px}
  .login-network-map-visual svg{height:270px}
}

@media(max-width:760px){
  .portal-symbol{width:190px!important;height:50px!important}
  .login-network-mobile{
    margin:25px -20px 8px;
    padding:26px 20px 23px;
    border:0;
    border-radius:0;
    background:linear-gradient(150deg,#092e1c 0%,#0d3a25 100%);
    box-shadow:none;
  }
  .login-network-mobile .login-network-heading{padding-top:0;border-top:0}
  .login-network-mobile .login-network-map-visual{min-height:230px}
  .login-network-mobile .login-network-map-visual svg{height:230px}
  .login-network-mobile .login-network-detail{padding:14px 0 0}
}

/* Login v23 — mapa vivo, informativo e sem rótulos redundantes */
.login-brand-top{justify-content:flex-start}
.login-network-heading{padding-top:14px}
.login-network-heading>div{display:flex;align-items:baseline;gap:15px}
.login-network-heading span{flex:0 0 auto}
.login-network-heading strong{max-width:none;margin:0;font-size:20px}
.login-network-map{grid-template-columns:minmax(0,1fr) 170px;gap:8px 28px;align-items:center}
.login-network-summary{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  gap:0;
  padding:3px 0 2px;
  color:rgba(251,243,235,.54);
  font-size:9px;
  letter-spacing:.025em;
}
.login-network-summary span{display:flex;align-items:baseline;gap:5px;padding:0 15px;border-left:1px solid rgba(251,243,235,.16)}
.login-network-summary span:first-child{padding-left:0;border-left:0}
.login-network-summary strong{color:#fbf3eb;font-size:15px;font-weight:650;letter-spacing:-.03em}
.login-map-state{fill:rgba(255,255,255,.045);stroke:rgba(255,255,255,.2);transition:fill .28s ease,stroke .28s ease,filter .28s ease}
.login-map-state.covered{fill:rgba(38,168,79,.16);stroke:rgba(126,219,148,.48)}
.login-map-state:hover{fill:rgba(208,220,114,.18);stroke:#d0dc72;filter:drop-shadow(0 0 7px rgba(208,220,114,.23))}
.login-map-marker{cursor:pointer;outline:none}
.login-map-marker .pin-body{stroke-width:2;transition:transform .25s ease,filter .25s ease;transform-box:fill-box;transform-origin:center bottom}
.login-map-marker.association .pin-body{fill:#d0dc72;stroke:#092e1c}
.login-map-marker.doctor .pin-body{fill:#fbf3eb;stroke:#092e1c}
.login-map-marker .pin-symbol{fill:none;stroke:#092e1c;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.login-map-marker .pin-shadow{fill:none;stroke:rgba(0,0,0,.28);stroke-width:3;stroke-linecap:round;opacity:.4;transform:scaleX(.65);transform-origin:center}
.login-map-marker:hover .pin-body,.login-map-marker:focus .pin-body{transform:translateY(-4px);filter:drop-shadow(0 8px 5px rgba(0,0,0,.28))}
.login-map-marker.active .pin-body{animation:login-pin-arrive .55s cubic-bezier(.2,.8,.2,1) both;filter:drop-shadow(0 0 7px rgba(208,220,114,.55))}
@keyframes login-pin-arrive{0%{transform:translateY(-12px) scale(.82);opacity:.35}65%{transform:translateY(2px) scale(1.05);opacity:1}100%{transform:translateY(0) scale(1)}}
.login-network-map-visual:before{
  content:"";
  position:absolute;
  z-index:0;
  width:52%;
  height:52%;
  left:18%;
  top:20%;
  background:radial-gradient(circle,rgba(38,168,79,.18),transparent 68%);
  filter:blur(12px);
  animation:login-map-ambient 8s ease-in-out infinite alternate;
}
@keyframes login-map-ambient{from{transform:translate(-5%,-3%) scale(.92);opacity:.55}to{transform:translate(8%,5%) scale(1.12);opacity:1}}
.login-network-detail{padding-left:22px}
.login-network-detail span{font-size:8px;letter-spacing:.13em}
.login-network-detail strong{margin-top:10px;font-size:17px;line-height:1.18}
.login-network-detail p{margin-top:10px!important;font-size:11px!important}
.login-network-detail small{font-size:9px}
.login-network-detail nav{display:flex;align-items:center;gap:10px;margin-top:20px}
.login-network-detail nav button{width:27px;height:27px;padding:0;border:1px solid rgba(251,243,235,.24);border-radius:50%;color:#fbf3eb;background:transparent;cursor:pointer;transition:.2s ease}
.login-network-detail nav button:hover{border-color:#d0dc72;color:#092e1c;background:#d0dc72;transform:translateY(-2px)}
.login-network-detail nav b{color:rgba(251,243,235,.45);font-size:8px;font-weight:650;letter-spacing:.08em}
.login-map-legend i{width:8px;height:11px;border-radius:6px 6px 7px 7px;clip-path:polygon(50% 100%,8% 48%,8% 25%,25% 6%,50% 0,75% 6%,92% 25%,92% 48%)}
.login-field-icon{width:18px;height:18px;fill:none;stroke:#48715a;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

@media(min-width:761px){
  .login-network-map-visual{min-height:252px}
  .login-network-map-visual svg{height:252px}
}

@media(max-width:760px){
  .login-network-heading>div{display:block}
  .login-network-heading strong{margin-top:6px;font-size:18px}
  .login-network-summary{justify-content:space-between}
  .login-network-summary span{padding:0 9px}.login-network-summary strong{font-size:14px}
  .login-network-mobile .login-network-map{grid-template-columns:1fr;gap:10px}
  .login-network-mobile .login-network-summary{grid-column:1}
  .login-network-mobile .login-network-detail{display:grid;grid-template-columns:1fr auto;gap:3px 12px}
  .login-network-mobile .login-network-detail nav{grid-column:1/-1;margin-top:12px}
}

@media(prefers-reduced-motion:reduce){
  .login-map-marker.active .pin-body,.login-network-map-visual:before{animation:none}
}

/* Login v24 — mapa como ferramenta, com linguagem de produto grande */
.login-brand-copy>.eyebrow,.login-brand-signature{display:none}
.login-brand-stage{grid-template-columns:minmax(235px,.6fr) minmax(480px,1.4fr)}
.login-network-heading{padding:0;border:0}
.login-network-search{
  display:flex;
  align-items:center;
  gap:10px;
  width:min(350px,100%);
  height:42px;
  padding:0 13px;
  border:1px solid rgba(251,243,235,.16);
  border-radius:10px;
  background:rgba(4,25,15,.38);
  transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;
}
.login-network-search:focus-within{border-color:rgba(208,220,114,.72);background:rgba(4,25,15,.6);box-shadow:0 0 0 3px rgba(208,220,114,.08)}
.login-network-search svg{width:17px;height:17px;fill:none;stroke:rgba(251,243,235,.7);stroke-width:1.8;stroke-linecap:round}
.login-network-search input{width:100%;padding:0;border:0;outline:0;color:#fbf3eb;background:transparent;font:500 11px/1 inherit}
.login-network-search input::placeholder{color:rgba(251,243,235,.42)}
.login-network-filters{margin:10px 0 2px}
.login-network-filters button{display:flex;align-items:center;gap:7px}
.login-network-filters button b{min-width:18px;color:rgba(251,243,235,.34);font-size:8px;font-weight:650;text-align:center}
.login-network-filters button.active b{color:#d0dc72}
.login-network-summary{display:none}
.login-network-map{grid-template-columns:minmax(0,1fr) 184px;gap:26px}
.login-network-map-visual{min-height:276px}
.login-network-map-visual svg{height:276px}
.login-network-map-content{transform:scale(var(--login-map-zoom,1));transform-origin:50% 50%;transition:transform .38s cubic-bezier(.2,.8,.2,1)}
.login-map-state-label{fill:rgba(251,243,235,.22);font:700 7px/1 Arial,sans-serif;letter-spacing:.06em;text-anchor:middle;pointer-events:none;transition:fill .2s ease}
.login-map-state-label.covered{fill:rgba(251,243,235,.62)}
.login-map-controls{position:absolute;z-index:3;right:2px;top:16px;display:grid;overflow:hidden;border:1px solid rgba(251,243,235,.14);border-radius:8px;background:rgba(4,25,15,.72);box-shadow:0 8px 24px rgba(0,0,0,.16);backdrop-filter:blur(10px)}
.login-map-controls button{width:30px;height:30px;padding:0;border:0;border-bottom:1px solid rgba(251,243,235,.12);color:#fbf3eb;background:transparent;font:500 18px/1 Arial,sans-serif;cursor:pointer;transition:.18s ease}
.login-map-controls button:last-child{border-bottom:0}.login-map-controls button:hover{color:#092e1c;background:#d0dc72}
.login-network-detail{padding-left:23px}
.login-network-detail.empty strong{font-size:14px}.login-network-detail.empty p{line-height:1.45!important}
.login-map-legend{left:4px;bottom:3px}

@media(max-width:1180px) and (min-width:761px){
  .login-brand-stage{grid-template-columns:1fr}
  .login-network-card{max-width:590px}
}

@media(max-width:760px){
  .login-network-search{width:100%;height:46px;background:rgba(4,25,15,.5)}
  .login-network-filters{gap:18px}
  .login-network-map{grid-template-columns:1fr;gap:10px}
  .login-network-map-visual,.login-network-mobile .login-network-map-visual{min-height:285px}
  .login-network-map-visual svg,.login-network-mobile .login-network-map-visual svg{height:285px}
  .login-map-controls{right:0;top:18px}
}

/* Segurança v26 — CAPTCHA adaptativo aparece somente quando houver risco */
.login-human-check{margin-top:14px;padding:10px 0 0;border-top:1px solid #e1e6df}
.login-human-check[hidden]{display:none}
.login-human-check small{display:block;margin-top:6px;color:#77847b;font-size:8px;letter-spacing:.02em}
.login-submit[disabled]{cursor:wait;opacity:.68}

/* Cadastro em duas etapas — primeiro acesso leve, identidade dentro da conta */
.quick-registration-form{max-width:720px}
.quick-signup-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:4px 0 22px}
.quick-signup-benefits span{display:flex;align-items:center;gap:9px;padding:12px 14px;border:1px solid #dce5dc;border-radius:14px;color:#345143;background:#f7faf6;font-size:12px;font-weight:700}
.quick-signup-benefits b{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;color:#0b3521;background:#d0dc72;font-size:9px}
.consent-card small button{padding:0;border:0;color:#168d4d;background:transparent;font:700 inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.signup-legal-preview{max-height:330px;margin:14px 0;overflow:auto;padding:18px;border:1px solid #d8e2d8;border-radius:16px;background:#fbfdf9}
.signup-legal-preview .legal-document header h3{font-size:22px}.signup-legal-preview .legal-document header p{font-size:12px}
.signup-legal-preview .legal-document section{padding:12px 0}.signup-legal-preview .legal-document section h4{font-size:13px}.signup-legal-preview .legal-document section p{font-size:11px}
.account-avatar.has-photo{overflow:hidden;padding:0;background:#e8eee8}
.account-avatar img,.user-avatar img,.workspace-avatar img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.account-policy-link{margin-top:12px}.verification-list button{white-space:nowrap}

@media(max-width:700px){
  .quick-signup-benefits{grid-template-columns:1fr}.quick-signup-benefits span{padding:10px 12px}
  .signup-legal-preview{max-height:280px;padding:14px}
}
