/* V47 — multi-center clarity, pricing, patient file, amendments */

:root {
  --drt-enterprise-font: "Segoe UI Variable", "Segoe UI", "Helvetica Neue", Arial, system-ui, sans-serif;
}
html[lang^="en"] body,
html[lang^="en"] input,
html[lang^="en"] button,
html[lang^="en"] select,
html[lang^="en"] textarea { font-family: var(--drt-enterprise-font); letter-spacing: .005em; }

/* Patient portal tenant context */
.drt-v47-portal-center { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:0 auto 18px; max-width:1100px; padding:14px 16px; border:1px solid #bfdbfe; border-radius:18px; background:linear-gradient(135deg,#eff6ff,#f0fdfa); }
.drt-v47-portal-center-copy { display:flex; align-items:flex-start; gap:12px; min-width:0; }
.drt-v47-portal-center-icon { display:grid; place-items:center; width:36px; height:36px; flex:0 0 36px; border-radius:12px; background:#fff; color:#0369a1; box-shadow:0 1px 2px rgba(15,23,42,.08); }
.drt-v47-portal-center small { display:block; color:#475569; font-size:11px; font-weight:700; }
.drt-v47-portal-center strong { display:block; color:#0f172a; font-size:15px; }
.drt-v47-portal-center p { margin:3px 0 0; max-width:720px; color:#475569; font-size:12px; line-height:1.65; }
.drt-v47-portal-center-switch { min-width:240px; }
.drt-v47-portal-center-switch > span { display:block; margin-bottom:5px; color:#334155; font-size:11px; font-weight:800; }

/* Pricing workspace */
.drt-pricing-page-v41 { --pricing-border:#dbe5ef; }
.drt-pricing-page-v41 > .card:first-child { border-color:#c7d8ea; box-shadow:none; }
.drt-pricing-hero-v41 { padding:18px 20px !important; background:linear-gradient(135deg,#f8fbff,#f0fdfa) !important; }
.drt-pricing-context-v41 { display:grid !important; grid-template-columns:minmax(220px,1.1fr) minmax(280px,1.5fr) minmax(220px,.8fr); gap:14px !important; padding:14px 20px !important; border-top:1px solid #dbeafe; background:#fff; }
.drt-pricing-current-provider-v41,.drt-pricing-progress-v41,.drt-pricing-summary-v41 { border:1px solid var(--pricing-border); border-radius:14px; background:#f8fafc; padding:12px 14px; }
.drt-pricing-provider-panel-v41 { padding:0 !important; overflow:hidden; }
.drt-pricing-provider-panel-v41 > .drt-pricing-section-head-v41 { padding:16px 18px 8px; }
.drt-pricing-provider-switcher-v41 { display:flex !important; gap:8px !important; padding:8px 18px 14px !important; overflow-x:auto; scroll-snap-type:x proximity; }
.drt-pricing-provider-chip-v41 { min-width:190px; scroll-snap-align:start; border:1px solid #dbe5ef !important; background:#fff !important; box-shadow:none !important; }
.drt-pricing-provider-chip-v41.is-active { border-color:#2563eb !important; background:#eff6ff !important; outline:2px solid rgba(37,99,235,.12); }
.drt-pricing-provider-chip-v41 .drt-pricing-provider-chip-name-v41 { font-size:13px; }
.drt-v47-provider-defaults { display:grid !important; grid-template-columns:minmax(180px,1.1fr) minmax(160px,.55fr) minmax(240px,1.4fr) auto; align-items:end; gap:12px; margin:0; padding:14px 18px; border-top:1px solid #dbe5ef; border-bottom:1px solid #dbe5ef; background:#f8fafc; }
.drt-v47-provider-defaults > div:first-child { align-self:center; }
.drt-v47-provider-defaults label > span,.drt-v47-provider-defaults > div:first-child > span { display:block; margin-bottom:5px; color:#64748b; font-size:11px; font-weight:800; }
.drt-v47-provider-defaults > div:first-child strong { display:block; }
.drt-v47-provider-defaults > div:first-child small { color:#64748b; }
.drt-pricing-management-row-v41 { padding:14px 18px 18px; background:#fff; }
.drt-pricing-filter-panel-v41 { position:sticky; top:10px; z-index:18; padding:14px 16px !important; border-color:#bfdbfe !important; box-shadow:0 8px 22px rgba(15,23,42,.08) !important; }
.drt-pricing-filter-panel-v41 .drt-pricing-section-head-v41 { margin-bottom:10px; }
.drt-pricing-rule-note-v45 { margin-top:0 !important; border-radius:14px !important; }
.drt-pricing-list-head-v41 { padding:4px 2px 0; }
.drt-pricing-column-head-v41 { border:1px solid #dbe5ef; border-bottom:0; border-radius:14px 14px 0 0; background:#eaf2fb !important; color:#334155; font-size:11px; font-weight:900; }
.drt-pricing-card-list { display:grid; gap:8px; }
.drt-pricing-service-card { border:1px solid #dbe5ef !important; border-radius:14px !important; box-shadow:none !important; overflow:hidden; }
.drt-pricing-service-card:target { border-color:#2563eb !important; box-shadow:0 0 0 4px rgba(37,99,235,.12) !important; }
.drt-pricing-service-card.is-unpriced { border-inline-start:4px solid #f59e0b !important; }
.drt-pricing-service-main-v41 { grid-template-columns:minmax(0,1.65fr) minmax(230px,.72fr) auto !important; gap:16px !important; padding:14px 16px !important; align-items:center !important; }
.drt-pricing-service-number-v41 { width:30px !important; height:30px !important; border-radius:9px !important; }
.drt-pricing-service-title-row-v41 h3 { font-size:14px !important; }
.drt-pricing-amount-editor-v41 { padding:10px 12px; border:1px solid #dbe5ef; border-radius:12px; background:#f8fafc; }
.drt-pricing-money-field-v41 input { font-size:15px; font-weight:900; }
.drt-pricing-save-v41 { min-width:104px; height:38px; padding-inline:12px !important; }
.drt-pricing-state-v41 svg { width:11px !important; height:11px !important; }

/* Patient file workspace */
.drt-patient-file-v45 { max-width:1500px; margin-inline:auto; }
.drt-patient-tablist-v45 { position:sticky; top:8px; z-index:15; display:grid !important; grid-template-columns:repeat(7,minmax(115px,1fr)); gap:6px !important; padding:7px !important; border:1px solid #dbe5ef; border-radius:16px; background:rgba(248,250,252,.96); backdrop-filter:blur(10px); box-shadow:0 6px 18px rgba(15,23,42,.06); }
.drt-patient-tablist-v45 button { justify-content:center; min-height:44px; border-radius:11px !important; white-space:nowrap; }
.drt-patient-tablist-v45 button[aria-selected="true"],.drt-patient-tablist-v45 button.is-active { background:#0f4c81 !important; color:#fff !important; }
.drt-patient-tabpanels { margin-top:12px; }
.drt-patient-tabpanel { animation:drtV47PanelIn .18s ease-out; }
@keyframes drtV47PanelIn { from{opacity:.4;transform:translateY(3px)} to{opacity:1;transform:none} }
.drt-v47-patient-section-head { align-items:flex-start !important; }
.drt-v47-patient-plan { overflow:hidden; border:1px solid #d8e2ec; border-radius:18px; background:#fff; box-shadow:0 3px 12px rgba(15,23,42,.045); }
.drt-v47-patient-plan.is-latest { border-color:#93c5fd; }
.drt-v47-patient-plan-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:16px 18px; border-bottom:1px solid #e2e8f0; background:linear-gradient(135deg,#f8fbff,#fff); }
.drt-v47-patient-plan-head h4 { color:#0f172a; font-size:16px; font-weight:900; }
.drt-v47-plan-number { display:inline-flex; align-items:center; min-height:25px; padding:2px 9px; border-radius:8px; background:#0f4c81; color:#fff; font-size:12px; font-weight:900; }
.drt-v47-plan-meta { display:flex; flex-wrap:wrap; gap:6px 14px; margin-top:8px; color:#64748b; font-size:11px; }
.drt-v47-plan-meta strong { color:#334155; }
.drt-v47-plan-status-stack { flex:0 0 auto; min-width:150px; padding:9px 12px; border:1px solid #dbe5ef; border-radius:12px; background:#fff; text-align:center; }
.drt-v47-plan-status-stack span { display:block; color:#64748b; font-size:10px; }
.drt-v47-plan-status-stack strong { display:block; margin-top:3px; font-size:13px; }
.drt-v47-plan-kpis { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:0; border-bottom:1px solid #e2e8f0; background:#f8fafc; }
.drt-v47-plan-kpis > div { padding:12px 14px; border-inline-end:1px solid #e2e8f0; }
.drt-v47-plan-kpis > div:last-child { border-inline-end:0; }
.drt-v47-plan-kpis span { display:block; color:#64748b; font-size:10px; }
.drt-v47-plan-kpis strong { display:block; margin-top:4px; color:#0f172a; font-size:13px; }
.drt-v47-plan-services,.drt-v47-plan-amendments { padding:16px 18px; }
.drt-v47-plan-amendments { border-top:1px solid #e2e8f0; background:#fbfdff; }
.drt-v47-plan-subhead { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:10px; }
.drt-v47-plan-subhead strong { font-size:13px; }
.drt-v47-plan-subhead span { color:#64748b; font-size:11px; }
.drt-v47-service-list { display:grid; gap:7px; }
.drt-v47-service-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 14px; padding:11px 13px; border:1px solid #e2e8f0; border-radius:12px; background:#fff; }
.drt-v47-service-row.is-canceled { border-style:dashed; background:#fff7f7; opacity:.86; }
.drt-v47-service-main strong { display:block; font-size:13px; }
.drt-v47-service-main span,.drt-v47-service-main small { display:block; margin-top:2px; color:#64748b; font-size:10px; }
.drt-v47-service-finance { text-align:end; }
.drt-v47-service-finance > strong { display:block; margin-bottom:5px; font-size:13px; }
.drt-v47-service-billing { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:6px 14px; padding-top:7px; border-top:1px dashed #e2e8f0; color:#475569; font-size:10px; }
.drt-v47-amendment-ledger { display:grid; gap:9px; }
.drt-v47-amendment-ledger > article { padding:12px 14px; border:1px solid #fde68a; border-inline-start:4px solid #f59e0b; border-radius:12px; background:#fffbeb; }
.drt-v47-amendment-ledger header { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.drt-v47-amendment-change { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:10px; margin-top:9px; font-size:12px; }
.drt-v47-amendment-change span { padding:7px 9px; border-radius:9px; background:#fff; font-weight:800; }
.drt-v47-amendment-change b { color:#d97706; }
.drt-v47-amendment-money { display:flex; flex-wrap:wrap; gap:7px 16px; margin-top:8px; color:#475569; font-size:10px; }
.drt-v47-amendment-ledger p { margin:8px 0 0; color:#334155; font-size:11px; }
.drt-v47-amendment-ledger footer { display:flex; flex-wrap:wrap; gap:5px 14px; margin-top:8px; color:#64748b; font-size:9px; }
.drt-v47-empty-inline { padding:10px 12px; border:1px dashed #cbd5e1; border-radius:10px; color:#64748b; font-size:11px; text-align:center; }
.drt-v47-plan-documents { border-top:1px solid #e2e8f0; padding:12px 18px 16px; }
.drt-v47-plan-documents summary { cursor:pointer; color:#0f4c81; font-size:12px; font-weight:800; }

/* Invoice amendment ledger */
.drt-v47-invoice-amendments { margin-top:14px; padding-top:14px; border-top:1px solid #e2e8f0; }

/* Amendment form */
.drt-v47-amendment-hero { border-color:#bfdbfe !important; background:linear-gradient(145deg,#fff,#f8fbff); }
.drt-v47-amendment-flow { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.drt-v47-amendment-flow > div { position:relative; padding:10px 12px 10px 42px; border:1px solid #dbe5ef; border-radius:12px; background:#fff; }
[dir="rtl"] .drt-v47-amendment-flow > div { padding:10px 42px 10px 12px; }
.drt-v47-amendment-flow > div > span { position:absolute; inset-inline-start:10px; top:10px; display:grid; place-items:center; width:24px; height:24px; border-radius:8px; background:#e2e8f0; color:#334155; font-size:11px; font-weight:900; }
.drt-v47-amendment-flow > div.is-done > span { background:#dcfce7; color:#166534; }
.drt-v47-amendment-flow strong,.drt-v47-amendment-flow small { display:block; }
.drt-v47-amendment-flow strong { font-size:11px; }.drt-v47-amendment-flow small { margin-top:2px; color:#64748b; font-size:9px; }
.drt-v47-amendment-fact { padding:12px 13px; border:1px solid #e2e8f0; border-radius:13px; background:#fff; }
.drt-v47-amendment-fact.is-price { border-color:#fde68a; background:#fffbeb; }
.drt-v47-amendment-fact span,.drt-v47-amendment-fact small { display:block; color:#64748b; font-size:10px; }.drt-v47-amendment-fact strong { display:block; margin:4px 0; font-size:13px; }
.drt-v47-amendment-error-summary { display:flex; flex-direction:column; gap:3px; }
.drt-v47-amendment-section { padding:18px; border:1px solid #dbe5ef; border-radius:16px; background:#fff; }
.drt-v47-amendment-section.is-error { border-color:#fb7185; box-shadow:0 0 0 3px rgba(244,63,94,.08); }
.drt-v47-amendment-section-head { display:flex; align-items:flex-start; gap:11px; }
.drt-v47-amendment-section-head > span { display:grid; place-items:center; width:30px; height:30px; flex:0 0 30px; border-radius:10px; background:#e0f2fe; color:#075985; font-weight:900; }
.drt-v47-amendment-section-head h2 { font-size:14px; font-weight:900; }.drt-v47-amendment-section-head p { margin-top:2px; color:#64748b; font-size:11px; }
.drt-field-error { margin-top:5px; color:#be123c; font-size:11px; font-weight:700; }
.drt-v47-amendment-submit { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:14px 16px; border-radius:15px; background:#f0fdfa; }
.drt-v47-amendment-submit strong,.drt-v47-amendment-submit span { display:block; }.drt-v47-amendment-submit span { margin-top:2px; color:#475569; font-size:10px; }

@media (max-width:1100px) {
  .drt-pricing-context-v41 { grid-template-columns:1fr 1fr; }.drt-pricing-summary-v41 { grid-column:1/-1; }
  .drt-v47-provider-defaults { grid-template-columns:1fr 1fr; }.drt-v47-provider-defaults button { width:100%; }
  .drt-patient-tablist-v45 { grid-template-columns:repeat(4,1fr); }
  .drt-v47-plan-kpis { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:760px) {
  .drt-v47-portal-center { align-items:stretch; flex-direction:column; }.drt-v47-portal-center-switch { min-width:0; }
  .drt-pricing-context-v41 { grid-template-columns:1fr; }.drt-pricing-summary-v41 { grid-column:auto; }
  .drt-v47-provider-defaults { grid-template-columns:1fr; }
  .drt-pricing-filter-panel-v41 { position:static; }
  .drt-pricing-column-head-v41 { display:none !important; }
  .drt-pricing-service-main-v41 { grid-template-columns:1fr !important; }.drt-pricing-save-v41 { width:100%; }
  .drt-patient-tablist-v45 { position:static; grid-template-columns:repeat(2,1fr); }
  .drt-v47-patient-plan-head { flex-direction:column; }.drt-v47-plan-status-stack { width:100%; }
  .drt-v47-plan-kpis { grid-template-columns:repeat(2,1fr); }.drt-v47-plan-kpis > div { border-bottom:1px solid #e2e8f0; }
  .drt-v47-plan-subhead { align-items:flex-start; flex-direction:column; }
  .drt-v47-service-row { grid-template-columns:1fr; }.drt-v47-service-finance { text-align:start; }
  .drt-v47-amendment-flow { grid-template-columns:1fr 1fr; }
  .drt-v47-amendment-submit { align-items:stretch; flex-direction:column; }.drt-v47-amendment-submit button { width:100%; }
}
.drt-v47-patient-secondary-facts { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
@media (max-width:760px){.drt-v47-patient-secondary-facts{grid-template-columns:1fr}}
.drt-v47-patient-tenant { display:inline-flex; align-items:center; min-height:24px; padding:2px 9px; border:1px solid #bfdbfe; border-radius:999px; background:#eff6ff; color:#1e3a8a; font-size:11px; }
