:root {
  color-scheme: light;
  --bg:#f3f7f5;
  --panel:#fff;
  --panel-2:#f8fbf9;
  --text:#14211c;
  --muted:#68776f;
  --border:#dbe6e0;
  --brand:#176c50;
  --brand-dark:#145a44;
  --brand-soft:#e4f3ec;
  --blue:#276ca8;
  --blue-soft:#e8f2fb;
  --warn:#a35c09;
  --warn-soft:#fff3df;
  --danger:#b53d3d;
  --danger-soft:#fdeceb;
  --shadow:0 12px 32px rgba(31,63,49,.08);
}

/* Public online booking, clinic widget and per-doctor distribution settings */
.public-booking-screen { min-height:100vh; background:
  radial-gradient(circle at 12% 8%,rgba(52,145,108,.14),transparent 28%),
  radial-gradient(circle at 88% 24%,rgba(39,108,168,.09),transparent 26%),#f4f8f6; }
.booking-public-header { display:flex; align-items:center; justify-content:space-between; gap:20px; max-width:1120px; min-height:74px; margin:0 auto; padding:14px 26px; }
.booking-public-brand { display:flex; align-items:center; gap:11px; }.booking-public-brand > div { display:grid; gap:2px; }.booking-public-brand strong { font-size:15px; }.booking-public-brand small { color:var(--muted); font-size:11px; }
.booking-phone { padding:9px 13px; border:1px solid #cae0d6; border-radius:999px; color:var(--brand); background:#fff; font-size:12px; font-weight:700; text-decoration:none; box-shadow:0 5px 16px rgba(31,83,60,.05); }
.public-booking-root { width:min(1080px,calc(100% - 32px)); min-height:680px; margin:0 auto 28px; }.public-booking-root.loading { display:grid; place-items:center; color:var(--muted); }
.booking-hero { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:38px 42px; overflow:hidden; border:1px solid #d3e5dc; border-radius:25px 25px 0 0; background:linear-gradient(118deg,#123f35 0,#176c50 54%,#25765e 100%); color:#fff; box-shadow:0 22px 55px rgba(27,72,53,.14); }
.booking-hero > div:first-child { max-width:670px; }.booking-hero h1 { max-width:720px; margin:7px 0 11px; font-size:34px; line-height:1.08; }.booking-hero p { max-width:680px; color:#d9eee5; font-size:14px; line-height:1.55; }
.booking-hero-eyebrow { color:#abe0c9; font-size:10px; font-weight:800; letter-spacing:.14em; }
.booking-live-status { display:flex; align-items:center; flex:0 0 260px; gap:12px; padding:14px; border:1px solid rgba(255,255,255,.2); border-radius:15px; background:rgba(255,255,255,.1); backdrop-filter:blur(8px); }
.booking-live-status i { flex:0 0 11px; width:11px; height:11px; border-radius:50%; background:#7ee5af; box-shadow:0 0 0 6px rgba(126,229,175,.14); }.booking-live-status span { display:grid; gap:3px; }.booking-live-status strong { font-size:12px; }.booking-live-status small { color:#cbe7dc; font-size:10px; }
.booking-personal-badge { display:flex; align-items:center; flex:0 0 280px; gap:12px; padding:14px; border:1px solid rgba(255,255,255,.2); border-radius:15px; background:rgba(255,255,255,.1); }.booking-personal-badge > span { display:grid; place-items:center; width:48px; height:48px; border-radius:15px; color:#15563f; background:#dff5eb; font-weight:800; }.booking-personal-badge > div { display:grid; gap:2px; }.booking-personal-badge small,.booking-personal-badge em { color:#cce8dc; font-size:10px; font-style:normal; }
.booking-progress { display:grid; grid-template-columns:repeat(4,1fr); margin:0; padding:18px 38px; border:1px solid #d8e5df; border-top:0; list-style:none; background:#fff; }
.booking-progress li { position:relative; display:flex; align-items:center; gap:9px; color:#8a9891; font-size:11px; font-weight:650; }.booking-progress li:not(:last-child)::after { content:""; position:absolute; top:50%; right:14px; width:calc(100% - 94px); height:1px; background:#dce6e1; }.booking-progress b { display:grid; place-items:center; width:26px; height:26px; border:1px solid #d4dfd9; border-radius:50%; background:#f8faf9; font-size:10px; }.booking-progress li.current { color:var(--brand); }.booking-progress li.current b { color:#fff; border-color:var(--brand); background:var(--brand); box-shadow:0 0 0 5px var(--brand-soft); }.booking-progress li.done { color:#3b6554; }.booking-progress li.done b { color:#176c50; border-color:#a9d4c0; background:#e7f6ee; }
.booking-stage-stack { display:grid; gap:1px; overflow:hidden; border:1px solid #d8e5df; border-top:0; border-radius:0 0 25px 25px; background:#d8e5df; box-shadow:0 22px 55px rgba(27,72,53,.1); }
.booking-stage { display:grid; grid-template-columns:250px minmax(0,1fr); gap:28px; padding:28px 36px; background:#fff; scroll-margin-top:20px; }.booking-stage-head { display:grid; align-content:start; gap:6px; }.booking-stage-head > span { color:var(--brand); font-size:9px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.booking-stage-head h2 { font-size:19px; }.booking-stage-head p { color:var(--muted); font-size:11px; line-height:1.5; }
.booking-service-grid,.booking-doctor-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.booking-service-card,.booking-doctor-card { display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:11px; min-height:94px; padding:13px; border:1px solid #dce7e2; border-radius:14px; text-align:left; background:#fff; cursor:pointer; }.booking-service-card:hover,.booking-doctor-card:hover,.booking-service-card.is-selected,.booking-doctor-card.is-selected { border-color:#5fa083; background:#f4fbf7; box-shadow:0 8px 20px rgba(31,92,65,.07); }.booking-service-icon,.booking-doctor-avatar { display:grid; place-items:center; width:42px; height:42px; border-radius:12px; color:#176c50; background:#e5f4ed; font-size:17px; font-style:normal; font-weight:800; }.booking-service-card > span:nth-child(2),.booking-doctor-card > span:nth-child(2) { display:grid; min-width:0; gap:4px; }.booking-service-card small,.booking-doctor-card small { color:var(--muted); font-size:10px; line-height:1.35; }.booking-service-card em,.booking-doctor-card em { color:#35624e; font-size:10px; font-style:normal; font-weight:700; }.booking-service-card > i,.booking-doctor-card > i { color:#8da098; font-size:22px; font-style:normal; }
.booking-date-row { display:flex; align-items:end; flex-wrap:wrap; gap:7px; margin-bottom:15px; }.booking-date-chip { min-height:39px; padding:8px 12px; border:1px solid #d8e4de; border-radius:10px; background:#fff; cursor:pointer; text-transform:capitalize; }.booking-date-chip:hover,.booking-date-chip.is-selected { color:#fff; border-color:var(--brand); background:var(--brand); }.booking-date-row label { display:grid; gap:3px; margin-left:auto; color:var(--muted); font-size:9px; }.booking-date-row input { min-height:39px; }
.booking-slot-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }.booking-slot { display:grid; gap:3px; min-height:72px; padding:10px; border:1px solid #cae0d5; border-radius:11px; text-align:left; background:#f7fcf9; cursor:pointer; }.booking-slot strong { color:#155d45; font-size:17px; }.booking-slot small { overflow:hidden; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }.booking-slot em { color:var(--muted); font-size:9px; font-style:normal; }.booking-slot:hover,.booking-slot.is-selected { color:#fff; border-color:var(--brand); background:var(--brand); }.booking-slot:hover strong,.booking-slot.is-selected strong,.booking-slot:hover em,.booking-slot.is-selected em { color:inherit; }.booking-slots-loading,.booking-no-slots { grid-column:1 / -1; display:grid; place-items:center; gap:4px; min-height:110px; padding:18px; border:1px dashed #ceded6; border-radius:12px; color:var(--muted); text-align:center; }.booking-no-slots strong { color:var(--text); }
.booking-contact-stage { grid-template-columns:250px minmax(0,1fr) 250px; }.booking-contact-form { min-width:0; }.booking-contact-form .form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.booking-contact-form label small { display:inline; font-size:9px; }.booking-consent { grid-template-columns:auto minmax(0,1fr) !important; align-items:start; padding:10px; border-radius:10px; background:#f5f8f6; }.booking-consent input { width:17px; min-height:17px; margin-top:2px; }.booking-consent span { color:#53665d; font-size:10px; line-height:1.4; }.booking-submit { margin-top:10px; min-height:48px; }
.booking-final-summary { align-self:start; padding:16px; border:1px solid #cae0d5; border-radius:14px; background:#f3faf6; }.booking-final-summary > span { color:var(--muted); font-size:9px; text-transform:uppercase; letter-spacing:.08em; }.booking-final-summary > strong { display:block; margin:5px 0 12px; }.booking-final-summary dl { display:grid; gap:8px; margin:0; }.booking-final-summary dl div { display:grid; gap:2px; padding-top:8px; border-top:1px solid #d8e8e0; }.booking-final-summary dt { color:var(--muted); font-size:9px; }.booking-final-summary dd { margin:0; font-size:11px; font-weight:650; line-height:1.35; }
.booking-public-footer { display:grid; justify-items:center; gap:3px; padding:5px 20px 26px; color:var(--muted); font-size:10px; text-align:center; }.booking-public-footer small { font-size:9px; }.booking-error,.booking-success { display:grid; justify-items:center; gap:12px; max-width:720px; margin:80px auto; padding:42px; border:1px solid #d7e5de; border-radius:24px; text-align:center; background:#fff; box-shadow:var(--shadow); }.booking-error > span,.booking-success-mark { display:grid; place-items:center; width:58px; height:58px; border-radius:50%; color:#fff; background:var(--brand); font-size:27px; font-weight:800; }.booking-error > span { background:var(--danger); }.booking-success > p { color:var(--muted); line-height:1.5; }.booking-success-card { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; width:100%; overflow:hidden; border:1px solid #dce7e1; border-radius:14px; background:#dce7e1; }.booking-success-card > div { display:grid; gap:4px; padding:14px; text-align:left; background:#f8fbf9; }.booking-success-card span { color:var(--muted); font-size:9px; }.booking-success-note { padding:10px 13px; border-radius:10px; background:var(--brand-soft); }
body.booking-embed .booking-public-header { min-height:58px; padding-top:8px; padding-bottom:8px; } body.booking-embed .public-booking-root { width:min(980px,calc(100% - 18px)); margin-bottom:12px; } body.booking-embed .booking-public-footer { display:none; } body.booking-embed .booking-hero { padding:25px 30px; border-radius:18px 18px 0 0; } body.booking-embed .booking-hero h1 { font-size:27px; }

.online-booking-kpis { margin-bottom:14px; }.online-booking-clinic-form { margin-bottom:14px; }.online-booking-clinic-form label small { color:var(--muted); font-size:9px; }
.booking-distribution-card,.online-services-card { margin-bottom:14px; }.booking-distribution-grid { display:grid; grid-template-columns:260px minmax(0,1fr); gap:18px; }.booking-qr-card { display:flex; align-items:center; gap:14px; padding:13px; border:1px solid #d9e6df; border-radius:13px; background:#f7fbf9; }.booking-qr-card img { width:112px; height:112px; border:1px solid #dfe8e3; border-radius:9px; background:#fff; }.booking-qr-card span { display:grid; gap:5px; }.booking-qr-card small { color:var(--muted); font-size:9px; line-height:1.35; }.booking-link-card { display:grid; gap:12px; }.booking-link-card > label { display:grid; gap:6px; color:var(--muted); font-size:11px; }.booking-link-card label > div { display:flex; gap:6px; }.booking-link-card textarea { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:10px; }
.online-service-list { display:grid; gap:7px; }.online-service-setting { display:grid; grid-template-columns:minmax(210px,1.2fr) minmax(180px,1fr) 110px 110px 90px minmax(200px,1.2fr) auto; align-items:end; gap:8px; padding:10px; border:1px solid #e0e9e4; border-radius:11px; }.online-service-setting label { display:grid; gap:4px; color:var(--muted); font-size:9px; }.online-service-setting .online-service-enabled { grid-template-columns:auto minmax(0,1fr); align-items:center; }.online-service-setting .online-service-enabled input { width:18px; min-height:18px; }.online-service-setting .online-service-enabled span { display:grid; gap:2px; }.online-service-setting .online-service-enabled strong { color:var(--text); font-size:11px; }.online-service-setting input { min-height:34px; }.online-service-setting .form-error { grid-column:1 / -1; min-height:0; }
.online-doctors-section { display:grid; gap:10px; }.online-doctor-list { display:grid; gap:12px; }.online-doctor-setting { padding:16px; border:1px solid #d8e5df; border-radius:15px; background:#fff; box-shadow:var(--shadow); }.online-doctor-setting.is-disabled { opacity:.78; }.online-doctor-head { display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:10px; margin-bottom:13px; }.online-doctor-head > span:nth-child(2) { display:grid; gap:2px; }.online-doctor-head small { color:var(--muted); font-size:10px; }.online-master-switch { display:flex; align-items:center; gap:7px; cursor:pointer; }.online-master-switch input { position:absolute; opacity:0; pointer-events:none; }.online-master-switch i { position:relative; width:36px; height:20px; border-radius:999px; background:#c8d4ce; }.online-master-switch i::after { content:""; position:absolute; top:3px; left:3px; width:14px; height:14px; border-radius:50%; background:#fff; transition:.18s; }.online-master-switch input:checked + i { background:var(--brand); }.online-master-switch input:checked + i::after { transform:translateX(16px); }.online-master-switch em { color:var(--muted); font-size:10px; font-style:normal; }
.doctor-service-settings { display:grid; gap:6px; margin-top:13px; padding:12px; border-radius:12px; background:#f7faf8; }.doctor-service-settings > strong { margin-bottom:2px; font-size:11px; }.doctor-service-setting { display:grid; grid-template-columns:minmax(0,1fr) 125px; align-items:center; gap:10px; padding:7px 9px; border:1px solid #e0e8e4; border-radius:9px; background:#fff; }.doctor-service-setting > label:first-child { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:8px; }.doctor-service-setting input[type="checkbox"] { width:17px; min-height:17px; }.doctor-service-setting span { display:grid; gap:2px; }.doctor-service-setting small { color:var(--muted); font-size:9px; }.doctor-service-setting > label:last-child { display:grid; grid-template-columns:1fr auto; align-items:center; gap:5px; color:var(--muted); font-size:9px; }.doctor-service-setting > label:last-child input { grid-column:1; min-height:31px; }.doctor-service-setting > label:last-child em { grid-column:2; font-style:normal; }
.doctor-share-row { display:grid; grid-template-columns:72px minmax(0,1fr) auto auto; align-items:center; gap:10px; margin-top:12px; padding:10px; border:1px solid #dce7e1; border-radius:11px; }.doctor-share-row img { width:68px; height:68px; border:1px solid #e1e9e5; border-radius:7px; }.doctor-share-row > span { display:grid; min-width:0; gap:3px; }.doctor-share-row small,.doctor-share-row em { color:var(--muted); font-size:9px; font-style:normal; }.doctor-share-row code { overflow:hidden; color:#245744; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }

@media (max-width:980px) {
  .booking-hero { align-items:flex-start; flex-direction:column; }.booking-live-status,.booking-personal-badge { flex-basis:auto; width:100%; }.booking-stage { grid-template-columns:1fr; }.booking-contact-stage { grid-template-columns:1fr 1fr; }.booking-contact-stage .booking-stage-head { grid-column:1 / -1; }.booking-slot-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.online-service-setting { grid-template-columns:repeat(3,minmax(0,1fr)); }.online-service-setting .online-service-enabled,.online-service-setting .online-service-description { grid-column:span 2; }.online-service-setting .form-error { grid-column:1 / -1; }
}
@media (max-width:680px) {
  .booking-public-header { min-height:62px; padding:10px 16px; }.booking-phone { padding:7px 9px; font-size:10px; }.public-booking-root { width:min(100% - 16px,1080px); }.booking-hero { padding:25px 20px; }.booking-hero h1 { font-size:27px; }.booking-progress { padding:15px 13px; }.booking-progress li { justify-content:center; }.booking-progress li span,.booking-progress li::after { display:none; }.booking-stage { gap:16px; padding:20px 15px; }.booking-service-grid,.booking-doctor-grid { grid-template-columns:1fr; }.booking-slot-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.booking-date-row label { width:100%; margin-left:0; }.booking-contact-stage { grid-template-columns:1fr; }.booking-contact-stage .booking-stage-head { grid-column:auto; }.booking-contact-form .form-grid { grid-template-columns:1fr; }.booking-contact-form .form-grid .full { grid-column:auto; }.booking-success { margin:30px auto; padding:24px 16px; }.booking-success-card { grid-template-columns:1fr; }.booking-distribution-grid { grid-template-columns:1fr; }.booking-link-card label > div { align-items:stretch; flex-direction:column; }.online-service-setting { grid-template-columns:1fr 1fr; }.online-service-setting .online-service-enabled,.online-service-setting .online-service-description { grid-column:1 / -1; }.online-doctor-head { grid-template-columns:42px minmax(0,1fr); }.online-master-switch { grid-column:1 / -1; }.doctor-service-setting { grid-template-columns:1fr; }.doctor-share-row { grid-template-columns:60px minmax(0,1fr); }.doctor-share-row img { width:56px; height:56px; }.doctor-share-row .button { width:100%; }.online-booking-kpis { grid-template-columns:1fr 1fr !important; }
}

/* Marketing CRM embedded in the administrator dashboard */
.crm-center { margin-bottom:14px; overflow:hidden; border:1px solid #cddfd6; border-radius:15px; background:#fff; box-shadow:var(--shadow); }
.crm-loading { min-height:180px; display:grid; place-items:center; color:var(--muted); }
.crm-head { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px 20px 15px; border-bottom:1px solid #dce9e2; background:linear-gradient(115deg,#f2faf6 0,#fff 54%,#f2f7fb 100%); }
.crm-head h2 { margin-top:3px; font-size:21px; }
.crm-head p { margin-top:4px; color:var(--muted); }
.crm-head-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.crm-live { display:inline-flex; align-items:center; gap:6px; padding:6px 9px; border-radius:999px; color:#176c50; background:#e5f4ed; font-size:11px; font-weight:700; }
.crm-live i { width:7px; height:7px; border-radius:50%; background:#22a06b; box-shadow:0 0 0 4px rgba(34,160,107,.12); }
.crm-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-bottom:1px solid #e1eae5; }
.crm-kpis article { display:grid; gap:3px; padding:13px 18px; border-right:1px solid #e1eae5; }
.crm-kpis article:last-child { border-right:0; }
.crm-kpis span,.crm-kpis small { color:var(--muted); font-size:11px; }
.crm-kpis strong { font-size:22px; font-weight:720; }
.crm-kpis .is-alert strong { color:var(--danger); }
.crm-funnel { display:grid; grid-template-columns:repeat(7,minmax(110px,1fr)); gap:0; padding:14px 15px; overflow-x:auto; border-bottom:1px solid #e1eae5; background:#fafcfb; }
.crm-stage { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:3px 8px; min-height:61px; padding:10px 14px; border:1px solid #dbe7e1; border-right:0; text-align:left; background:#fff; cursor:pointer; }
.crm-stage:first-child { border-radius:10px 0 0 10px; }
.crm-stage:last-child { border-right:1px solid #dbe7e1; border-radius:0 10px 10px 0; }
.crm-stage::after { content:""; position:absolute; left:0; right:0; bottom:-1px; height:3px; background:#9dbbb0; opacity:.75; }
.crm-stage-contacted::after { background:#69a7ab; }.crm-stage-appointment::after { background:#5d8fc1; }.crm-stage-consultation::after { background:#756fbd; }.crm-stage-proposal::after { background:#d0943c; }.crm-stage-won::after { background:#25855f; }.crm-stage-lost::after { background:#b86b6b; }
.crm-stage:hover,.crm-stage.is-active { z-index:1; border-color:#639b84; background:#eef8f3; }
.crm-stage span { min-width:0; overflow:hidden; text-overflow:ellipsis; color:#40534a; font-size:11px; white-space:nowrap; }
.crm-stage strong { font-size:18px; }
.crm-stage small { grid-column:1 / -1; color:var(--muted); font-size:10px; }
.crm-layout { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(320px,.72fr); min-height:390px; }
.crm-leads-panel { min-width:0; padding:16px 18px 18px; border-right:1px solid #e1eae5; }
.crm-leads-panel > header,.crm-insights section > header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:11px; }
.crm-leads-panel > header > div,.crm-insights section > header > div { display:grid; gap:2px; }
.crm-leads-panel header small,.crm-insights header small { color:var(--muted); font-size:11px; }
.crm-search { display:flex; align-items:center; gap:6px; width:min(320px,48%); padding:0 8px; border:1px solid var(--border); border-radius:9px; color:var(--muted); }
.crm-search input { min-height:34px; padding:6px 0; border:0; box-shadow:none; }
.crm-lead-list { display:grid; gap:7px; }
.crm-lead-row { display:grid; grid-template-columns:48px minmax(180px,1.25fr) minmax(170px,.9fr) minmax(120px,.55fr) 18px; align-items:center; gap:11px; width:100%; min-height:75px; padding:9px 11px; border:1px solid #e0e9e4; border-radius:11px; text-align:left; background:#fff; cursor:pointer; }
.crm-lead-row:hover { border-color:#77aa94; background:#f8fcfa; box-shadow:0 5px 15px rgba(31,82,60,.06); }
.crm-lead-row.is-overdue { border-left:4px solid #d18032; background:#fffcf6; }
.crm-lead-score { display:grid; place-items:center; align-content:center; width:43px; height:43px; border-radius:50%; color:#176c50; background:#e6f4ed; font-size:15px; font-weight:750; }
.crm-lead-score small { display:block; color:#5f776c; font-size:8px; font-weight:500; }
.crm-lead-person,.crm-lead-next,.crm-lead-value { display:grid; min-width:0; gap:3px; }
.crm-lead-person strong,.crm-lead-next strong,.crm-lead-value strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.crm-lead-person small,.crm-lead-next small,.crm-lead-value small,.crm-lead-person em,.crm-lead-next em { overflow:hidden; color:var(--muted); font-size:10px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.crm-lead-person em { color:#385d4c; }
.crm-lead-row.is-overdue .crm-lead-next > small,.crm-lead-row.is-overdue .crm-lead-next > strong { color:#a35c09; }
.crm-lead-value { justify-items:end; text-align:right; }.crm-lead-value strong { font-size:15px; }.crm-lead-chevron { color:#8ba097; font-size:24px; }
.crm-empty { display:grid; justify-items:center; gap:5px; min-height:160px; align-content:center; color:var(--muted); text-align:center; }
.crm-insights { min-width:0; background:#fbfcfb; }
.crm-insights > section { padding:16px; border-bottom:1px solid #e1eae5; }
.crm-insights > section:last-child { border-bottom:0; }
.crm-source-list,.crm-rule-list { display:grid; gap:9px; }
.crm-source-row { display:grid; grid-template-columns:minmax(0,1fr) 74px auto; align-items:center; gap:9px; }
.crm-source-row > span { display:grid; min-width:0; gap:2px; }.crm-source-row small { color:var(--muted); font-size:9px; }.crm-source-row em { color:#385d4c; font-size:10px; font-style:normal; font-weight:700; }
.crm-source-row i { height:5px; overflow:hidden; border-radius:999px; background:#e3ece7; }.crm-source-row i b { display:block; height:100%; border-radius:inherit; background:#4d9978; }
.crm-rule { display:grid; grid-template-columns:28px minmax(0,1fr); gap:9px; padding:9px; border:1px solid #e2e9e5; border-radius:9px; background:#fff; }
.crm-rule.has-match { border-color:#e8c58c; background:#fffaf1; }
.crm-rule-icon { display:grid; place-items:center; width:26px; height:26px; border-radius:8px; color:#176c50; background:#e4f3ec; font-weight:800; }
.crm-rule.has-match .crm-rule-icon { color:#9b5a0d; background:#fff0d8; }
.crm-bar-width-0{width:0}.crm-bar-width-1{width:10%}.crm-bar-width-2{width:20%}.crm-bar-width-3{width:30%}.crm-bar-width-4{width:40%}.crm-bar-width-5{width:50%}.crm-bar-width-6{width:60%}.crm-bar-width-7{width:70%}.crm-bar-width-8{width:80%}.crm-bar-width-9{width:90%}.crm-bar-width-10{width:100%}
.crm-rule > div { display:grid; gap:3px; }.crm-rule small { color:var(--muted); font-size:9px; line-height:1.35; }.crm-rule em { color:#426254; font-size:9px; font-style:normal; font-weight:650; }
.crm-modal-header { margin:-20px -20px 0; padding:17px 20px; border-bottom:1px solid #dce8e1; background:linear-gradient(115deg,#f1faf6,#fff 62%,#f3f7fb); }
.crm-modal-header .icon-button { color:var(--muted); border-color:var(--border); background:#fff; }
.crm-modal-layout { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr); margin:0 -20px -20px; min-height:590px; }
.crm-lead-form { min-width:0; padding:18px 20px; border-right:1px solid #e0e9e4; }
.crm-lead-form > section > header,.crm-contact-panel > header,.crm-clinical-context > header,.crm-timeline > header { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:12px; }
.crm-lead-form > section > header small,.crm-contact-panel header small,.crm-clinical-context header small,.crm-timeline header small { color:var(--muted); font-size:10px; }
.crm-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.checkbox-field { grid-template-columns:auto minmax(0,1fr) !important; align-items:start; color:var(--text) !important; }.checkbox-field input { width:17px; min-height:17px; margin:2px 0 0; }.checkbox-field span { line-height:1.35; }
.crm-modal-side { min-width:0; padding:18px; overflow:auto; background:#f8faf9; }
.crm-modal-side > * + * { margin-top:12px; }
.crm-patient-link,.crm-unlinked { display:grid; gap:3px; width:100%; padding:12px; border:1px solid #bfd7cb; border-radius:10px; text-align:left; background:#eff8f4; }
button.crm-patient-link { cursor:pointer; }.crm-patient-link:hover { border-color:var(--brand); }.crm-patient-link span,.crm-patient-link small,.crm-unlinked span { color:var(--muted); font-size:10px; }
.crm-contact-panel,.crm-clinical-context,.crm-timeline { padding:12px; border:1px solid #dde7e2; border-radius:10px; background:#fff; }
.crm-activity-selects { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin-bottom:7px; }.crm-contact-panel textarea,.crm-contact-panel label { margin-bottom:7px; }.crm-contact-panel label { display:grid; gap:4px; color:var(--muted); font-size:11px; }
.crm-context-list { display:grid; gap:5px; padding-top:8px; border-top:1px solid #e5ece8; }.crm-context-list + .crm-context-list { margin-top:9px; }.crm-context-list > b { color:#486056; font-size:10px; text-transform:uppercase; letter-spacing:.04em; }.crm-context-list > div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2px 8px; padding:6px 0; border-bottom:1px solid #edf1ef; }.crm-context-list > div:last-child { border-bottom:0; }.crm-context-list small { grid-column:1 / -1; color:var(--muted); font-size:9px; }
.crm-timeline > div { display:grid; }.crm-timeline-item { display:grid; grid-template-columns:26px minmax(0,1fr); gap:8px; padding:8px 0; border-bottom:1px solid #e7eeea; }.crm-timeline-item:last-child { border-bottom:0; }.crm-timeline-item > span { display:grid; place-items:center; align-self:start; width:24px; height:24px; border-radius:50%; color:#176c50; background:#e5f4ed; font-size:11px; font-weight:800; }.crm-timeline-item > div { display:grid; gap:3px; }.crm-timeline-item p { color:#33463e; font-size:11px; line-height:1.35; }.crm-timeline-item small { color:var(--muted); font-size:9px; }
.crm-timeline-item.is-call > span { color:#255e85; background:#e7f1f8; }.crm-call-meta { display:flex; align-items:center; flex-wrap:wrap; gap:6px; padding:6px 7px; border-radius:7px; color:#365f78; background:#eef5f9; font-size:9px; }.crm-call-meta em { color:var(--muted); font-style:normal; }

/* Smart patient chat, reminders, feedback and nurture campaigns */
.smart-chat-center { margin-bottom:14px; overflow:hidden; border:1px solid #cfdce8; border-radius:15px; background:#fff; box-shadow:var(--shadow); }
.smart-chat-head { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px 20px 15px; border-bottom:1px solid #dfe8ef; background:linear-gradient(115deg,#f2f7fb 0,#fff 56%,#f3faf7 100%); }
.smart-chat-head h2 { margin-top:3px; font-size:21px; }.smart-chat-head p { margin-top:4px; color:var(--muted); }
.smart-chat-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-bottom:1px solid #e1e9ef; }
.smart-chat-kpis article { display:grid; gap:3px; padding:13px 18px; border-right:1px solid #e1e9ef; }.smart-chat-kpis article:last-child { border-right:0; }
.smart-chat-kpis span,.smart-chat-kpis small { color:var(--muted); font-size:11px; }.smart-chat-kpis strong { font-size:22px; }.smart-chat-kpis .is-alert strong { color:var(--danger); }
.smart-rule-grid { display:grid; grid-template-columns:repeat(10,minmax(150px,1fr)); gap:8px; padding:13px 15px; overflow-x:auto; border-bottom:1px solid #e1e9ef; background:#fafcfd; }
.smart-rule-card { display:grid; grid-template-columns:34px minmax(0,1fr); gap:8px; min-height:105px; padding:10px; border:1px solid #dce6ec; border-radius:10px; background:#fff; }
.smart-rule-card > span { display:grid; place-items:center; align-self:start; width:32px; height:32px; border-radius:9px; color:#276ca8; background:#e8f2fb; font-size:11px; font-weight:800; }
.smart-rule-card > div { display:grid; align-content:start; gap:4px; }.smart-rule-card strong { font-size:11px; line-height:1.25; }.smart-rule-card p { color:#53685f; font-size:9px; line-height:1.35; }.smart-rule-card small { color:var(--muted); font-size:8px; }
.smart-rule-card.is-disabled { opacity:.5; }
.smart-reactivation-overview { padding:15px 16px; border-bottom:1px solid #dfe7f0; background:linear-gradient(120deg,#f7f9fe,#fff 55%,#f6fbf8); }
.smart-reactivation-overview > header { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:12px; }.smart-reactivation-overview > header > div:first-child { display:grid; gap:3px; }.smart-reactivation-overview > header > div:last-child { display:flex; flex-wrap:wrap; gap:6px; }.smart-reactivation-overview header small { color:var(--muted); font-size:9px; }
.smart-reactivation-protocol { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:8px; margin-bottom:11px; }.smart-reactivation-protocol > article { display:grid; grid-template-columns:32px minmax(0,1fr); align-items:center; gap:8px; min-height:56px; padding:9px; border:1px solid #d8e3ed; border-radius:10px; background:#fff; }.smart-reactivation-protocol > article > span { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; color:#fff; background:#517fa5; font-size:11px; font-weight:800; }.smart-reactivation-protocol > article > div { display:grid; gap:2px; }.smart-reactivation-protocol strong { font-size:10px; }.smart-reactivation-protocol small { color:var(--muted); font-size:8px; }.smart-reactivation-protocol > i { color:#8da2b3; font-style:normal; }
.smart-reactivation-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }.smart-reactivation-row { display:grid; grid-template-columns:38px minmax(0,1fr) auto; align-items:center; gap:9px; padding:9px 10px; border:1px solid #dce5eb; border-radius:10px; background:#fff; }.smart-reactivation-step { display:grid; place-items:center; width:36px; height:36px; border-radius:10px; color:#2d658e; background:#e8f2fa; font-size:15px; font-weight:800; }.smart-reactivation-step small { margin-left:1px; font-size:8px; }.smart-reactivation-row > div { display:grid; min-width:0; gap:2px; }.smart-reactivation-row > div small,.smart-reactivation-row > div em { overflow:hidden; color:var(--muted); font-size:8px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }.smart-reactivation-row > aside { display:grid; justify-items:end; gap:3px; }.smart-reactivation-row > aside > div { display:flex; gap:2px; }.smart-reactivation-row .text-button { font-size:8px; }.smart-reactivation-row .text-button.danger { color:var(--danger); }
.smart-waitlist-overview { padding:14px 16px; border-bottom:1px solid #e1e9ef; background:#f6fbf9; }.smart-waitlist-overview > header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px; }.smart-waitlist-overview > header > div { display:flex; align-items:center; gap:6px; }.smart-waitlist-overview > header > div:first-child { display:grid; gap:2px; }.smart-waitlist-overview header small { color:var(--muted); font-size:9px; }
.smart-waitlist-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }.smart-waitlist-row { display:grid; grid-template-columns:30px minmax(0,1fr) auto; align-items:center; gap:8px; padding:9px; border:1px solid #d5e6df; border-radius:9px; background:#fff; }.smart-waitlist-row > span { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; color:#27705c; background:#e1f2ec; font-size:10px; font-weight:800; }.smart-waitlist-row > div { display:grid; min-width:0; gap:2px; }.smart-waitlist-row small { overflow:hidden; color:var(--muted); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }.smart-waitlist-row em { color:#387965; font-size:8px; font-style:normal; font-weight:800; }.smart-waitlist-row.is-offered { border-color:#e8c47e; background:#fffaf0; }.smart-waitlist-row.is-booked { opacity:.72; }
.smart-chat-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(310px,.65fr); min-height:340px; }
.smart-event-panel { min-width:0; padding:16px 18px; border-right:1px solid #e1e9ef; }.smart-staff-panel { padding:16px; background:#fafcfd; }
.smart-event-panel > header,.smart-staff-panel > header { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; }.smart-event-panel > header > div,.smart-staff-panel > header > div { display:grid; gap:2px; }.smart-event-panel header small,.smart-staff-panel header small { color:var(--muted); font-size:10px; }
.smart-event-list { display:grid; gap:6px; }.smart-event-row { display:grid; grid-template-columns:34px minmax(0,1fr) auto; align-items:center; gap:9px; padding:9px; border:1px solid #e0e8ed; border-radius:10px; }
.smart-event-icon { display:grid; place-items:center; width:32px; height:32px; border-radius:9px; color:#276ca8; background:#e8f2fb; font-size:10px; font-weight:800; }.smart-event-row > div { display:grid; min-width:0; gap:2px; }.smart-event-row p { overflow:hidden; color:#3e554b; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }.smart-event-row small { color:var(--muted); font-size:9px; }
.smart-staff-panel > div { display:grid; gap:8px; }.smart-alert-row { display:grid; grid-template-columns:30px minmax(0,1fr); gap:8px; padding:10px; border:1px solid #edcfaa; border-radius:10px; background:#fffaf2; }.smart-alert-row.is-critical { border-color:#e5b5b5; background:#fff5f4; }.smart-alert-row > span { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; color:#9b5a0d; background:#ffedcf; font-weight:800; }.smart-alert-row > div { display:grid; gap:3px; }.smart-alert-row p { color:#5a4a3c; font-size:10px; line-height:1.35; }.smart-alert-row small { color:var(--muted); font-size:9px; }
.smart-chat-calm { display:grid; grid-template-columns:34px minmax(0,1fr); gap:9px; padding:12px; border:1px solid #cde1d7; border-radius:10px; background:#f3faf7; }.smart-chat-calm > span { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; color:#176c50; background:#dff1e8; font-weight:800; }.smart-chat-calm > div { display:grid; gap:3px; }.smart-chat-calm small { color:var(--muted); font-size:10px; }
.smart-staff-panel footer { display:grid; gap:4px; margin-top:14px; padding-top:12px; border-top:1px solid #dfe8e3; }.smart-staff-panel footer span,.smart-staff-panel footer small { color:var(--muted); font-size:10px; }
.smart-chat-settings-form { display:grid; gap:14px; }.smart-chat-settings-form > section { padding:14px; border:1px solid var(--border); border-radius:11px; }.smart-chat-settings-form section > header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:12px; }.smart-chat-settings-form header small { max-width:55%; color:var(--muted); font-size:10px; text-align:right; }.smart-settings-owner { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:3px 10px; padding:11px 13px; border-radius:10px; background:var(--blue-soft); }.smart-settings-owner span,.smart-settings-owner small { color:var(--muted); font-size:10px; }.smart-settings-owner small { grid-column:1 / -1; }

@media (max-width:1100px) {
  .crm-layout { grid-template-columns:1fr; }.crm-leads-panel { border-right:0; border-bottom:1px solid #e1eae5; }.crm-insights { display:grid; grid-template-columns:1fr 1fr; }.crm-insights > section { border-right:1px solid #e1eae5; border-bottom:0; }.crm-insights > section:last-child { border-right:0; }
  .crm-modal-layout { grid-template-columns:1fr; }.crm-lead-form { border-right:0; border-bottom:1px solid #e0e9e4; }.crm-modal-side { overflow:visible; }
  .smart-chat-layout { grid-template-columns:1fr; }.smart-event-panel { border-right:0; border-bottom:1px solid #e1e9ef; }
  .smart-reactivation-list,.smart-waitlist-list { grid-template-columns:1fr 1fr; }
}
@media (max-width:760px) {
  .crm-head { align-items:flex-start; flex-direction:column; }.crm-head-actions { width:100%; justify-content:flex-start; }.crm-kpis { grid-template-columns:1fr 1fr; }.crm-kpis article:nth-child(2) { border-right:0; }.crm-kpis article:nth-child(-n+2) { border-bottom:1px solid #e1eae5; }
  .crm-funnel { grid-template-columns:repeat(7,128px); }.crm-leads-panel > header { align-items:stretch; flex-direction:column; }.crm-search { width:100%; }.crm-lead-row { grid-template-columns:42px minmax(0,1fr) auto; }.crm-lead-next { grid-column:2; }.crm-lead-value { grid-column:3; grid-row:1 / 3; }.crm-lead-chevron { display:none; }.crm-insights { grid-template-columns:1fr; }.crm-insights > section { border-right:0; border-bottom:1px solid #e1eae5; }.crm-form-grid { grid-template-columns:1fr; }.crm-form-grid .full { grid-column:auto; }.crm-modal-layout { margin:0 -20px -20px; }
  .smart-chat-head { align-items:flex-start; flex-direction:column; }.smart-chat-kpis { grid-template-columns:1fr 1fr; }.smart-chat-kpis article:nth-child(2) { border-right:0; }.smart-chat-kpis article:nth-child(-n+2) { border-bottom:1px solid #e1e9ef; }.smart-rule-grid { grid-template-columns:repeat(10,155px); }.smart-reactivation-overview > header,.smart-waitlist-overview > header { align-items:flex-start; flex-direction:column; }.smart-reactivation-protocol { grid-template-columns:1fr; }.smart-reactivation-protocol > i { display:none; }.smart-reactivation-list,.smart-waitlist-list { grid-template-columns:1fr; }.smart-event-row { grid-template-columns:32px minmax(0,1fr); }.smart-event-row > em { grid-column:2; justify-self:start; }.smart-chat-settings-form section > header { flex-direction:column; }.smart-chat-settings-form header small { max-width:none; text-align:left; }
}
* { box-sizing:border-box; }
[hidden] { display:none !important; }
body { margin:0; color:var(--text); background:var(--bg); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:14px; }
button,input,select,textarea { font:inherit; }
button { color:inherit; }
h1,h2,h3,p { margin:0; }
h1 { font-size:26px; line-height:1.2; font-weight:650; }
h2 { font-size:17px; font-weight:650; }
h3 { font-size:14px; font-weight:650; }
.muted { color:var(--muted); }
.login-screen { min-height:100vh; display:grid; place-items:center; padding:24px; background:radial-gradient(circle at 30% 20%,#e2f2ea 0,transparent 35%),var(--bg); }
.login-card { width:min(430px,100%); padding:30px; border:1px solid var(--border); border-radius:18px; background:var(--panel); box-shadow:var(--shadow); }
.login-brand,.app-brand { display:flex; align-items:center; gap:10px; }
.login-brand { margin-bottom:18px; }
.login-brand div,.app-brand div { display:grid; gap:2px; }
.login-brand span:not(.brand-mark),.app-brand span:not(.brand-mark) { color:var(--muted); font-size:12px; }
.brand-mark { display:grid; place-items:center; width:38px; height:38px; border-radius:11px; color:#fff; background:var(--brand); font-weight:750; }
.demo-label { display:inline-flex; margin-bottom:22px; padding:6px 9px; border-radius:999px; color:var(--brand); background:var(--brand-soft); font-size:12px; }
.login-card h1 { margin-bottom:7px; }
.form-stack { display:grid; gap:14px; margin-top:22px; }
.form-stack label,.form-grid label { display:grid; gap:6px; color:var(--muted); }
input,select,textarea { width:100%; min-height:40px; padding:9px 10px; border:1px solid var(--border); border-radius:9px; color:var(--text); background:var(--panel); outline:none; }
textarea { resize:vertical; line-height:1.45; }
input:focus,select:focus,textarea:focus { border-color:var(--brand); box-shadow:0 0 0 3px var(--brand-soft); }
input:disabled,select:disabled,textarea:disabled { color:var(--text); background:#f3f6f4; opacity:1; }
.form-error { min-height:18px; color:var(--danger); }
.button { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:38px; padding:8px 12px; border:1px solid var(--border); border-radius:9px; background:var(--panel); cursor:pointer; }
.button:hover { border-color:var(--brand); }
.button:disabled { opacity:.55; cursor:not-allowed; }
.button-primary { color:#fff; border-color:var(--brand); background:var(--brand); }
.button-primary:hover { background:var(--brand-dark); }
.button-success { color:#fff; border-color:var(--brand); background:var(--brand); }
.button-danger-soft { color:var(--danger); border-color:#e9b9b6; background:var(--danger-soft); }
.confirm-button { color:#fff; border-color:var(--danger); background:var(--danger); }
.button-ghost { border-color:transparent; background:transparent; }
.button-block { width:100%; }
.button-small { min-height:31px; padding:5px 9px; font-size:12px; }
.text-button { padding:4px; border:0; color:var(--brand); background:transparent; cursor:pointer; }
.demo-users { display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin-top:20px; color:var(--muted); font-size:12px; }
.demo-users button { padding:4px 6px; border:0; color:var(--brand); background:transparent; cursor:pointer; }
.app { min-height:100vh; }
.topbar { position:sticky; top:0; z-index:15; display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:64px; padding:10px 18px; color:#effaf5; background:var(--brand-dark); box-shadow:0 1px 0 rgba(255,255,255,.12); }
.app-brand .brand-mark { background:rgba(255,255,255,.16); }
.app-brand span:not(.brand-mark) { color:#d5eee3; }
.topbar-tools { display:flex; align-items:center; gap:8px; }
.branch-field { display:flex; align-items:center; gap:8px; }
.branch-field span { font-size:12px; opacity:.75; }
.branch-field select { width:170px; min-height:36px; color:#fff; border-color:rgba(255,255,255,.25); background:rgba(255,255,255,.1); }
.branch-field select option { color:var(--text); background:#fff; }
.icon-button { position:relative; display:grid; place-items:center; width:38px; height:38px; border:1px solid rgba(255,255,255,.22); border-radius:9px; color:inherit; background:rgba(255,255,255,.08); cursor:pointer; }
.counter { position:absolute; top:-6px; right:-6px; display:grid; place-items:center; min-width:19px; height:19px; padding:0 4px; border:2px solid var(--brand-dark); border-radius:999px; color:#fff; background:var(--danger); font-size:10px; }
.user-button { display:flex; align-items:center; gap:8px; padding:0; border:0; color:#fff; background:transparent; }
.avatar { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; color:var(--brand-dark); background:#e9f6f0; font-weight:700; }
.user-copy { display:grid; gap:2px; text-align:left; }
.user-copy small { color:#d5eee3; }
.topbar .button-ghost { color:#fff; }
.app-layout { display:grid; grid-template-columns:86px minmax(0,1fr); min-height:calc(100vh - 64px); }
.sidebar { position:sticky; top:64px; align-self:start; display:grid; gap:6px; padding:14px 9px; border-right:1px solid var(--border); background:var(--panel); min-height:calc(100vh - 64px); }
.nav-item { display:flex; flex-direction:column; align-items:center; gap:5px; min-height:58px; padding:8px 4px; border:0; border-radius:10px; color:var(--muted); background:transparent; cursor:pointer; }
.nav-item span { font-size:17px; }
.nav-item em { font-size:11px; font-style:normal; }
.nav-item:hover,.nav-item.is-active { color:var(--brand); background:var(--brand-soft); }
.workspace { min-width:0; padding:20px; }
.global-banner { display:flex; align-items:center; gap:8px; margin-bottom:14px; padding:9px 12px; border:1px solid #b8decb; border-radius:10px; color:var(--brand); background:var(--brand-soft); }
.global-banner span { color:var(--muted); }
.page { display:none; }
.page.is-active { display:block; }
.page-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:16px; }
.page-heading p,.panel-heading p { margin-top:4px; color:var(--muted); }
.heading-actions { display:flex; gap:8px; }
.heading-actions input { width:160px; }
.stats-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:14px; }
.stats-grid-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.stat { display:grid; gap:4px; padding:15px; border:1px solid var(--border); border-radius:12px; text-align:left; background:var(--panel); box-shadow:var(--shadow); }
button.stat { cursor:pointer; }
button.stat:hover { border-color:var(--brand); }
.stat span,.stat small { color:var(--muted); }
.stat strong { margin:4px 0; font-size:25px; font-weight:700; }
.content-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr); gap:14px; margin-bottom:14px; }
.content-grid-main { grid-template-columns:minmax(0,1.45fr) minmax(300px,.72fr); }
.panel { min-width:0; padding:16px; border:1px solid var(--border); border-radius:12px; background:var(--panel); box-shadow:var(--shadow); }
.panel-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:13px; }
.badge { display:inline-flex; align-items:center; gap:5px; width:max-content; padding:4px 8px; border-radius:999px; font-size:12px; white-space:nowrap; }
.badge::before { content:""; width:7px; height:7px; border-radius:50%; background:currentColor; }
.badge-green { color:var(--brand); background:var(--brand-soft); }
.badge-blue { color:var(--blue); background:var(--blue-soft); }
.badge-warn { color:var(--warn); background:var(--warn-soft); }
.badge-danger { color:var(--danger); background:var(--danger-soft); }
.badge-neutral { color:var(--muted); background:var(--panel-2); }
.loading { color:var(--muted); }
.list { display:grid; }
.list-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:center; padding:10px 0; border-bottom:1px solid var(--border); }
.list-row:last-child { border-bottom:0; }
.list-row strong { display:block; margin-bottom:3px; }
.list-row small { color:var(--muted); }
.compact-schedule { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.compact-column { padding:10px; border:1px solid var(--border); border-radius:10px; background:var(--panel-2); }
.compact-column h3 { margin-bottom:8px; }
.compact-appointment { padding:9px; border-left:3px solid var(--brand); border-radius:7px; background:var(--panel); }
.compact-appointment + .compact-appointment { margin-top:6px; }
.compact-appointment strong,.compact-appointment span,.compact-appointment small { display:block; }
.compact-appointment span,.compact-appointment small { margin-top:3px; color:var(--muted); }
.route-line { position:relative; display:grid; grid-template-columns:repeat(5,minmax(80px,1fr)); margin:10px 0 18px; }
.route-line::before { content:""; position:absolute; top:16px; left:8%; right:8%; height:2px; background:var(--border); }
.route-step { position:relative; z-index:1; display:grid; justify-items:center; gap:6px; color:var(--muted); text-align:center; }
.route-step b { display:grid; place-items:center; width:33px; height:33px; border:2px solid var(--border); border-radius:50%; background:var(--panel); }
.route-step.done b { color:#fff; border-color:var(--brand); background:var(--brand); }
.route-step.current { color:var(--brand); }
.route-step.current b { border-color:var(--brand); background:var(--brand-soft); }
.check-result { margin-top:10px; }
.check-grid { display:flex; flex-wrap:wrap; gap:6px; }
.check-item { padding:5px 8px; border-radius:7px; color:var(--brand); background:var(--brand-soft); }
.split-layout { display:grid; grid-template-columns:minmax(260px,.72fr) minmax(0,1.4fr); gap:14px; }
.search-field { display:flex; align-items:center; gap:7px; margin-bottom:10px; padding:0 9px; border:1px solid var(--border); border-radius:9px; color:var(--muted); }
.search-field input { padding-left:0; border:0; box-shadow:none; }
.patient-list { display:grid; gap:5px; }
.patient-button { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; padding:10px; border:1px solid transparent; border-radius:9px; text-align:left; background:transparent; cursor:pointer; }
.patient-button:hover,.patient-button.is-selected { border-color:var(--border); background:var(--brand-soft); }
.patient-button span { color:var(--muted); }
.patient-code { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:11px; }
.empty-state { display:grid; justify-items:center; gap:8px; min-height:340px; align-content:center; color:var(--muted); text-align:center; }
.empty-icon { display:grid; place-items:center; width:58px; height:58px; border-radius:50%; background:var(--brand-soft); font-size:25px; }
.patient-hero { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-bottom:14px; border-bottom:1px solid var(--border); }
.patient-name { display:flex; align-items:center; gap:10px; }
.patient-name .avatar { width:44px; height:44px; }
.detail-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin:13px 0; }
.detail-field { padding:10px; border:1px solid var(--border); border-radius:9px; background:var(--panel-2); }
.detail-field span { display:block; margin-bottom:3px; color:var(--muted); }
.case-card { padding:12px; border:1px solid var(--border); border-radius:10px; background:var(--panel-2); }
.case-card + .case-card { margin-top:8px; }
.case-head { display:flex; justify-content:space-between; gap:10px; }
.case-actions,.row-actions { display:flex; flex-wrap:wrap; align-items:center; gap:7px; }
.case-actions { margin-top:11px; }
.family-contact { display:grid; gap:4px; padding:11px; border:1px solid var(--border); border-radius:9px; background:var(--panel-2); }
.family-contact span { color:var(--muted); }
.family-contact strong { line-height:1.5; }
.patient-legacy-summary { display:none !important; }
.patient-family-record { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(310px,.85fr); gap:12px; margin-top:14px; }
.patient-record-card,.family-record-card { min-width:0; padding:14px; border:1px solid #cbdad4; border-radius:12px; background:linear-gradient(145deg,#f7fbf9,#fff 58%); box-shadow:0 7px 20px rgba(37,74,63,.045); }
.patient-record-card > header,.family-record-card > header { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:12px; }
.patient-record-card h3,.family-record-card h3,.patient-card-editor h3,.family-card-editor h3 { margin:2px 0 0; color:#24483e; font-size:14px; }
.record-eyebrow { display:block; color:#4d7a6c; font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.record-data-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.record-data-grid > div { display:grid; align-content:start; gap:3px; min-width:0; padding:10px; border:1px solid #dfe9e5; border-radius:9px; background:#fff; }
.record-data-grid span,.record-data-grid small,.record-note span,.family-finance-strip span { color:var(--muted); font-size:9px; }
.record-data-grid strong { overflow:hidden; font-size:11px; text-overflow:ellipsis; }
.record-data-grid small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.record-note { margin-top:8px; padding:9px 10px; border:1px solid #eadcae; border-radius:9px; background:#fffbed; }
.record-note p { margin:3px 0 0; color:#685c32; font-size:10px; line-height:1.45; }
.family-record-card { background:linear-gradient(145deg,#f4f8fc,#fff 58%); border-color:#cbd9e7; }
.family-finance-strip { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin-bottom:11px; }
.family-finance-strip > div { display:grid; gap:3px; padding:9px 10px; border-radius:9px; color:#315871; background:#eaf3f8; }
.family-finance-strip strong { font-size:15px; }
.family-record-section { display:grid; gap:7px; padding:9px 0; border-top:1px solid #dbe5ec; }
.record-section-title { display:flex; align-items:center; justify-content:space-between; gap:8px; color:#3f5c6b; font-size:10px; }
.record-section-title > span { display:grid; place-items:center; min-width:20px; height:20px; border-radius:10px; color:#4d7284; background:#e7f0f5; font-weight:800; }
.family-member-list,.family-person-list { display:grid; gap:5px; }
.family-member-chip { display:grid; grid-template-columns:29px minmax(0,1fr); align-items:center; gap:7px; width:100%; padding:6px 8px; border:1px solid transparent; border-radius:8px; color:var(--text); text-align:left; background:#fff; cursor:pointer; }
.family-member-chip:hover,.family-member-chip.is-current { border-color:#9dbdaf; background:#eef7f3; }
.family-member-chip .avatar { display:grid; place-items:center; width:27px; height:27px; border-radius:50%; color:#fff; background:#5b8f7e; font-size:9px; font-weight:800; }
.family-member-chip > span:last-child,.family-person-row > span:nth-child(2) { display:grid; min-width:0; gap:1px; }
.family-member-chip small,.family-person-row small { overflow:hidden; color:var(--muted); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.family-person-row { display:grid; grid-template-columns:27px minmax(0,1fr) auto; align-items:center; gap:7px; padding:7px 8px; border:1px solid #e0e8ed; border-radius:8px; background:#fff; }
.family-person-icon { display:grid; place-items:center; width:25px; height:25px; border-radius:8px; color:#3b6680; background:#e7f0f6; font-size:9px; font-weight:850; }
.family-add-member { width:100%; margin-top:4px; border-style:dashed; }
.family-empty-card { display:grid; justify-items:start; gap:7px; padding:14px 3px 3px; }
.family-empty-card p { max-width:330px; margin:0; color:var(--muted); line-height:1.45; }
.family-empty-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; color:#486b7c; background:#e8f1f6; font-weight:850; }
.patient-card-editor,.family-card-editor { display:grid; gap:13px; }
.patient-card-editor > section,.family-card-editor > section { padding:12px; border:1px solid var(--border); border-radius:10px; background:var(--panel-2); }
.patient-card-editor > section > h3,.family-card-editor > section > h3 { margin:0 0 10px; }
.patient-card-editor textarea,.family-card-editor textarea { width:100%; resize:vertical; }
.family-deposit-readonly { display:grid; align-content:center; gap:2px; padding:8px 10px; border:1px solid #cfdfe7; border-radius:8px; background:#edf5f8; }
.family-deposit-readonly span,.family-deposit-readonly small { color:var(--muted); font-size:9px; }
.family-editor-section-head { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:10px; }
.family-editor-section-head h3 { margin:0; }
.family-editor-section-head p { margin:3px 0 0; }
.family-contact-editor-list { display:grid; gap:8px; }
.family-contact-editor-row { padding:10px; border:1px solid #d7e1dd; border-radius:9px; background:#fff; }
.family-contact-editor-head { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:8px; }
.family-editor-members { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin-top:9px; }
.family-editor-members > span { display:grid; gap:2px; padding:8px 10px; border:1px solid var(--border); border-radius:8px; background:#fff; }
.family-editor-members small { color:var(--muted); font-size:9px; }
.patient-chat-center { display:grid; gap:11px; margin-top:18px; padding:14px; overflow:hidden; border:1px solid #bcd8d2; border-radius:12px; background:linear-gradient(145deg,#eef8f5,#fff 48%); box-shadow:0 9px 25px rgba(36,90,76,.055); }
.patient-chat-loading { display:grid; place-items:center; min-height:130px; color:var(--muted); }
.patient-chat-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.patient-chat-heading h2 { margin:2px 0 3px; color:#214a40; font-size:16px; }
.patient-chat-heading p { margin:0; color:var(--muted); font-size:10px; }
.chat-test-badge { padding:6px 9px; border:1px solid #b7d9cd; border-radius:20px; color:#276b5b; background:#e1f3ed; font-size:9px; font-weight:800; white-space:nowrap; }
.patient-chat-tabs { display:flex; gap:6px; overflow-x:auto; padding-bottom:2px; }
.patient-chat-thread,.patient-chat-new { display:flex; flex:0 0 auto; align-items:center; gap:7px; min-width:150px; padding:7px 9px; border:1px solid #d3e2de; border-radius:9px; color:var(--text); text-align:left; background:#fff; cursor:pointer; }
.patient-chat-thread:hover,.patient-chat-thread.is-active { border-color:#72ad9f; background:#eaf6f2; box-shadow:0 3px 10px rgba(51,115,98,.08); }
.patient-chat-thread > span:nth-child(2) { display:grid; min-width:0; gap:1px; }
.patient-chat-thread strong { font-size:10px; }
.patient-chat-thread small { overflow:hidden; max-width:130px; color:var(--muted); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.patient-chat-thread em { display:grid; place-items:center; min-width:18px; height:18px; margin-left:auto; border-radius:9px; color:#fff; background:#347e6c; font-size:8px; font-style:normal; font-weight:800; }
.patient-chat-new { justify-content:center; min-width:112px; border-style:dashed; color:#397465; font-size:9px; font-weight:750; }
.chat-channel-dot { flex:0 0 auto; width:9px; height:9px; border-radius:50%; background:#85a69d; box-shadow:0 0 0 3px rgba(133,166,157,.14); }
.chat-channel-dot.is-whatsapp { background:#2ebc6b; box-shadow:0 0 0 3px rgba(46,188,107,.13); }
.chat-channel-dot.is-telegram { background:#2a9bd7; box-shadow:0 0 0 3px rgba(42,155,215,.13); }
.chat-channel-dot.is-vk { background:#397eea; box-shadow:0 0 0 3px rgba(57,126,234,.13); }
.chat-channel-dot.is-sms { background:#6d75ad; }.chat-channel-dot.is-web_widget { background:#db8e36; }.chat-channel-dot.is-patient_app { background:#7c57bc; }
.patient-chat-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(265px,.65fr); gap:10px; min-width:0; }
.patient-chat-conversation,.patient-chat-booking { min-width:0; border:1px solid #d5e3df; border-radius:10px; background:#fff; }
.patient-chat-conversation { display:grid; grid-template-rows:auto minmax(230px,1fr) auto; overflow:hidden; }
.chat-route-banner { display:flex; align-items:center; gap:8px; padding:9px 11px; border-bottom:1px solid #dce8e4; color:#35685c; background:#f6faf8; font-size:10px; }
.patient-chat-messages { display:flex; flex-direction:column; gap:7px; max-height:390px; min-height:230px; padding:12px; overflow-y:auto; background:linear-gradient(#f9fbfa,#f5f9f7); }
.patient-chat-message { display:grid; align-self:flex-start; gap:4px; width:min(80%,520px); padding:8px 10px; border:1px solid #dbe5e2; border-radius:4px 11px 11px 11px; background:#fff; box-shadow:0 2px 7px rgba(42,76,66,.04); }
.patient-chat-message.is-outbound { align-self:flex-end; border-color:#badbcf; border-radius:11px 4px 11px 11px; background:#e5f4ef; }
.patient-chat-message.is-system { align-self:center; background:#f1f3f4; }
.chat-message-meta { display:flex; align-items:center; justify-content:space-between; gap:8px; color:#648079; font-size:8px; }
.chat-message-meta strong { color:#385d54; font-size:8px; }
.patient-chat-message p { margin:0; font-size:11px; line-height:1.45; white-space:pre-wrap; }
.chat-delivery-state { justify-self:end; color:#6a867e; font-size:7px; }
.chat-appointment-card { display:grid; gap:2px; margin-top:3px; padding:8px; border-left:3px solid #40927e; border-radius:7px; color:#26584d; background:rgba(255,255,255,.72); }
.chat-appointment-card span,.chat-appointment-card small { font-size:8px; }.chat-appointment-card strong { font-size:10px; }
.chat-call-card { display:grid; grid-template-columns:27px minmax(0,1fr); align-items:center; gap:7px; margin-top:3px; padding:7px; border:1px solid #c8dce7; border-radius:8px; color:#315f78; background:#eef6fa; }.chat-call-card > span { display:grid; place-items:center; width:25px; height:25px; border-radius:50%; color:#fff; background:#4d819d; font-size:14px; }.chat-call-card.is-missed { color:#8d4249; border-color:#eccacc; background:#fff1f2; }.chat-call-card.is-missed > span { background:#bc5b63; }.chat-call-card > div { display:grid; gap:2px; }.chat-call-card strong { font-size:9px; }.chat-call-card small { color:inherit; font-size:8px; opacity:.8; }
.chat-waitlist-action { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:7px; padding:8px; border:1px solid #b9dfd2; border-radius:8px; background:#eef9f5; }
.chat-waitlist-action span { color:#35695b; font-size:8px; font-weight:700; }.chat-waitlist-action.is-offer { border-color:#9bcdbd; background:#e2f5ee; }.chat-waitlist-action.is-complete { color:var(--muted); background:#f3f6f5; }
.chat-empty { display:grid; justify-items:center; align-content:center; gap:5px; min-height:200px; color:var(--muted); text-align:center; }
.chat-empty > span { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; color:#347966; background:#e0f1eb; font-size:17px; }.chat-empty p { max-width:330px; margin:0; font-size:9px; }
.patient-chat-composer { display:grid; gap:7px; padding:9px; border-top:1px solid #d8e5e1; background:#fff; }
.patient-chat-channel-fields { display:grid; grid-template-columns:150px minmax(0,1fr); gap:7px; }
.patient-chat-channel-fields[hidden] { display:none; }
.patient-chat-composer label,.patient-chat-booking label { display:grid; gap:4px; color:var(--muted); font-size:9px; }
.patient-chat-composer select,.patient-chat-composer input,.patient-chat-composer textarea,.patient-chat-booking select,.patient-chat-booking input { width:100%; box-sizing:border-box; }
.chat-message-input textarea { min-height:55px; resize:vertical; }
.chat-composer-actions { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.chat-composer-actions small { max-width:430px; color:var(--muted); font-size:8px; line-height:1.35; }
.patient-chat-composer .form-error,.patient-chat-booking .form-error { min-height:0; margin:0; font-size:9px; }
.patient-chat-booking { display:grid; align-content:start; gap:10px; padding:11px; }
.chat-booking-title { display:flex; align-items:center; gap:8px; padding-bottom:9px; border-bottom:1px solid #e1e9e6; }
.chat-booking-title > span { display:grid; place-items:center; width:34px; height:34px; border-radius:9px; color:#fff; background:#347d6b; font-size:8px; font-weight:900; letter-spacing:.05em; }
.chat-booking-title > div { display:grid; gap:2px; }.chat-booking-title small { color:var(--muted); font-size:8px; }
.patient-chat-booking form { display:grid; gap:8px; }
.chat-booking-row { display:grid; grid-template-columns:1fr 1fr; gap:7px; }
.chat-auto-book-button { margin-top:2px; }
.chat-booking-hint { padding:9px; border:1px solid #d7e7e2; border-radius:8px; color:#3b665c; background:#f1f8f6; }
.chat-booking-hint strong { font-size:9px; }.chat-booking-hint p { margin:3px 0 0; font-size:8px; line-height:1.45; }
.chat-intent-banner { display:grid; gap:2px; padding:8px 9px; border:1px solid #c8dcd6; border-radius:8px; color:#315f55; background:#eff7f4; }
.chat-intent-banner > span { font-size:7px; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }.chat-intent-banner > strong { font-size:9px; }
.chat-intent-banner.is-cancel { color:#8a4a45; border-color:#e7c7c3; background:#fff3f1; }.chat-intent-banner.is-reschedule { color:#6c5c2c; border-color:#e6d8a7; background:#fff9e8; }
.chat-upcoming-section { display:grid; gap:6px; padding:9px; border:1px solid #dce7e3; border-radius:9px; background:#fafcfb; }
.chat-subsection-title { display:flex; align-items:center; justify-content:space-between; gap:8px; color:#3a6259; font-size:9px; }
.chat-subsection-title > span { display:grid; place-items:center; min-width:19px; height:19px; border-radius:10px; background:#e2f0eb; font-weight:800; }
.chat-upcoming-list { display:grid; gap:6px; }.chat-upcoming-list > .muted { margin:2px 0; font-size:8px; }
.chat-upcoming-appointment { display:grid; gap:7px; padding:8px; border:1px solid #d8e4e0; border-radius:8px; background:#fff; }
.chat-upcoming-appointment > div:first-child { display:grid; gap:2px; }.chat-upcoming-appointment > div:first-child span,.chat-upcoming-appointment small { color:var(--muted); font-size:8px; }.chat-upcoming-appointment strong { font-size:10px; }
.chat-upcoming-appointment > div:last-child { display:grid; grid-template-columns:1fr 1fr; gap:5px; }
.chat-waitlist-section { display:grid; gap:7px; padding:10px; border:1px solid #cbe2da; border-radius:10px; background:#f5fbf8; }
.chat-waitlist-list { display:grid; gap:6px; }.chat-waitlist-card { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px; border:1px solid #d8e8e2; border-radius:8px; background:#fff; }
.chat-waitlist-card > div { display:grid; min-width:0; gap:2px; }.chat-waitlist-card span { color:#2e7d68; font-size:8px; font-weight:800; text-transform:uppercase; }.chat-waitlist-card strong { font-size:9px; }.chat-waitlist-card small { overflow:hidden; color:var(--muted); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }.chat-waitlist-card.is-offered { border-color:#71b89f; box-shadow:0 3px 10px rgba(52,121,99,.1); }
.chat-waitlist-button { border-color:#75aa98; color:#276e5b; background:#edf8f4; }
.chat-slot-results { display:grid; gap:6px; padding:8px; border:1px solid #cfe1db; border-radius:8px; background:#f4faf8; }
.chat-slot-results[hidden] { display:none; }.chat-slot-results > span { color:#4e7369; font-size:8px; font-weight:800; }.chat-slot-results > p { margin:0; color:var(--muted); font-size:8px; }
.chat-slot-results > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; }
.chat-slot-results b { display:grid; gap:1px; padding:6px 7px; border-radius:7px; color:#286858; background:#e1f2ec; font-size:10px; }.chat-slot-results b small { overflow:hidden; font-size:7px; font-weight:500; text-overflow:ellipsis; white-space:nowrap; }
.chat-action-modal { display:grid; gap:12px; }.chat-action-modal > label { display:grid; gap:5px; color:var(--muted); }.chat-action-modal textarea { width:100%; box-sizing:border-box; resize:vertical; }
.chat-action-warning { display:grid; gap:4px; padding:11px; border:1px solid #ead5b0; border-radius:9px; color:#6d5a2b; background:#fff9e9; }.chat-action-warning span { font-size:10px; }
.chat-reschedule-slots { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; min-height:68px; padding:9px; border:1px solid var(--border); border-radius:9px; background:var(--panel-2); }
.chat-reschedule-slots > p { grid-column:1 / -1; align-self:center; margin:0; color:var(--muted); text-align:center; }
.chat-reschedule-slots > button { display:grid; gap:2px; padding:8px; border:1px solid #d4e2de; border-radius:8px; color:var(--text); text-align:left; background:#fff; cursor:pointer; }.chat-reschedule-slots > button:hover,.chat-reschedule-slots > button.is-selected { border-color:#5fa993; background:#e6f5ef; box-shadow:0 3px 9px rgba(53,121,101,.09); }
.chat-reschedule-slots strong { color:#286858; font-size:13px; }.chat-reschedule-slots span { font-size:9px; }.chat-reschedule-slots small { color:var(--muted); font-size:8px; }
.patient-media-center { display:grid; gap:10px; margin-top:18px; padding:14px; border:1px solid #bdd2df; border-radius:11px; background:linear-gradient(145deg,#f4fafc,#fff 48%); }
.patient-anesthesia-strip { display:grid; gap:8px; margin-top:18px; padding:14px; border:1px solid #c9d5e9; border-radius:11px; background:linear-gradient(145deg,#f3f6fd,#fff 55%); }
.patient-anesthesia-strip .panel-heading { margin:0; }
.patient-anesthesia-routes { display:grid; gap:7px; }
.patient-medical-history { display:grid; gap:10px; margin-top:18px; padding:14px; border:1px solid #c8d8cf; border-radius:11px; background:linear-gradient(145deg,#f3f8f5,#fff 55%); }
.patient-medical-history .panel-heading { margin:0; }
.medical-history-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px; border:1px solid #d8e3dc; border-radius:9px; background:#fff; }
.medical-history-toolbar > div:first-child { display:grid; gap:2px; }
.medical-history-toolbar small,.history-export-status { color:var(--muted); font-size:10px; }
.history-export-status { color:#315f75; font-weight:700; }
.medical-history-list { display:grid; gap:8px; }
.medical-history-item { display:grid; grid-template-columns:36px minmax(0,1fr); gap:9px; padding:10px; border:1px solid #d8e3dc; border-radius:9px; background:#fff; }
.medical-history-item.is-anesthesia { border-color:#cbd7e9; background:#fbfcff; }
.medical-history-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:9px; color:#23705d; background:#e2f2ec; font-weight:800; }
.medical-history-item.is-anesthesia .medical-history-icon { color:#365e99; background:#e7eef9; }
.medical-history-item > div { display:grid; min-width:0; gap:5px; }
.medical-history-head { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; }
.medical-history-head > span:first-child { display:grid; gap:2px; }
.medical-history-head small,.medical-history-item > div > p { color:var(--muted); font-size:10px; }
.medical-history-item details { padding-top:4px; border-top:1px solid var(--border); }
.medical-history-item summary { padding:5px 0; color:#315f75; font-size:11px; font-weight:700; cursor:pointer; }
.medical-history-item pre { max-height:310px; margin:4px 0 8px; padding:10px; overflow:auto; border-radius:8px; color:#334b57; background:#edf3f6; font-family:inherit; font-size:10px; line-height:1.5; white-space:pre-wrap; }
.medical-history-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; }
.medical-history-addendum { display:grid !important; gap:5px; margin:8px 0; padding:10px; border:1px solid #e4d7a6; border-radius:8px; background:#fffbed; }
.medical-history-addendum > div { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; }
.medical-history-addendum small,.medical-history-addendum span { color:#806d35; font-size:10px; }
.medical-history-addendum p { margin:0; color:#493f25; white-space:pre-wrap; }
.history-edit-notice { display:grid; gap:4px; margin-bottom:14px; padding:11px; border:1px solid #e4d7a6; border-radius:9px; color:#554821; background:#fffbed; }
.history-edit-notice span { font-size:12px; line-height:1.45; }
.anesthesia-patient-route { display:grid; grid-template-columns:36px minmax(0,1fr) 46px; gap:9px; align-items:center; padding:9px; border:1px solid #dce4f1; border-radius:9px; text-align:left; background:#fff; cursor:pointer; }
.anesthesia-patient-route small { display:block; margin-top:3px; color:var(--muted); }
.anesthesia-route-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:9px; color:#365e99; background:#e7eef9; font-size:19px; }
.progress-ring { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; color:#365e99; background:#e8edf5; font-size:10px; font-weight:700; position:relative; isolation:isolate; }
.progress-ring[data-progress="33"] { background:conic-gradient(#4a78b5 33%,#e8edf5 0); }
.progress-ring[data-progress="50"] { background:conic-gradient(#4a78b5 50%,#e8edf5 0); }
.progress-ring[data-progress="67"] { background:conic-gradient(#4a78b5 67%,#e8edf5 0); }
.progress-ring[data-progress="100"] { background:#4a78b5; }
.progress-ring::before { content:""; position:absolute; inset:5px; z-index:-1; border-radius:50%; background:#fff; }
.patient-media-heading { margin:0; }
.patient-media-stats { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
.patient-media-stats span { padding:5px 8px; border-radius:8px; color:#315f75; background:#e5f1f6; font-size:10px; }
.patient-media-stats strong { font-size:12px; }
.patient-media-actions { display:grid; grid-template-columns:minmax(240px,1fr) auto; gap:8px; align-items:end; padding:9px; border-radius:9px; background:#edf4f7; }
.patient-media-actions label { display:grid; gap:5px; color:var(--muted); font-size:11px; }
.patient-media-toolbar { padding-top:1px; }
.patient-media-toolbar .media-filters { display:grid; grid-template-columns:repeat(3,minmax(120px,1fr)); }
.patient-media-library { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.patient-media-card { min-width:0; overflow:hidden; border:1px solid var(--border); border-radius:10px; background:#fff; }
.patient-media-card > div:last-child { display:grid; gap:6px; padding:10px; }
.patient-media-card p { min-height:15px; color:#315f75; font-size:11px; }
.patient-media-card small { min-height:27px; color:var(--muted); font-size:10px; line-height:1.35; }
.patient-media-card-actions { display:flex; flex-wrap:wrap; gap:6px; margin-top:2px; }
.clinical-section-heading { margin-top:18px; }
.plan-history { display:grid; margin-top:11px; border-top:1px solid var(--border); }
.plan-version-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:center; padding:9px 0; border-bottom:1px solid var(--border); }
.plan-version-row small { display:block; margin-top:3px; color:var(--muted); }
.plan-version-row .plan-delivery-note { color:var(--brand); }
.plan-version-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:7px; }
.treatment-visit-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin-top:10px; }
.treatment-visit-summary article { display:grid; gap:3px; padding:9px; border:1px solid var(--border); border-radius:8px; background:var(--panel); }
.treatment-visit-summary span,.treatment-visit-summary small { color:var(--muted); font-size:10px; }
.treatment-visit-summary strong { font-size:12px; }
.treatment-items-details { margin-top:8px; color:var(--muted); font-size:11px; }
.treatment-items-details summary { cursor:pointer; }
.treatment-items { display:flex; flex-wrap:wrap; gap:6px; margin-top:9px; }
.treatment-item { padding:5px 7px; border-radius:7px; color:var(--muted); background:var(--panel); }
.schedule-legend { display:flex; flex-wrap:wrap; gap:14px; margin-bottom:12px; color:var(--muted); }
.schedule-legend span { display:flex; align-items:center; gap:6px; }
.legend-dot { width:9px; height:9px; border-radius:50%; background:var(--brand); }
.legend-dot.free { background:#a9dfc2; box-shadow:0 0 0 3px #eaf8f0; }
.legend-dot.booked { background:var(--blue); }
.legend-dot.online { background:var(--warn); }
.chair-schedule-panel { padding:0; overflow:hidden; }
.chair-schedule-toolbar { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:13px 15px; border-bottom:1px solid var(--border); background:#fbfdfc; }
.chair-schedule-toolbar > div:first-child { display:grid; gap:3px; }
.chair-schedule-toolbar small { color:var(--muted); }
.chair-schedule-panel > .schedule-legend { margin:0; padding:10px 15px; border-bottom:1px solid var(--border); }
.schedule-board { min-width:0; }
.chair-schedule-scroll { max-height:72vh; overflow:auto; background:#f7faf8; }
.chair-schedule-grid { display:grid; grid-template-columns:72px auto; min-width:100%; width:max-content; align-items:start; }
.schedule-time-head,.chair-head-strip { position:sticky; z-index:8; top:0; min-height:58px; border-bottom:1px solid #d9e5de; background:#fff; box-shadow:0 2px 5px rgba(38,70,55,.06); }
.schedule-time-head { display:grid; place-items:center; left:0; z-index:10; color:var(--muted); font-size:11px; font-weight:700; }
.chair-head-strip,.chair-columns-strip { display:flex; min-width:max-content; }
.chair-head { display:grid; align-content:center; flex:1 0 210px; gap:3px; min-height:58px; padding:10px 12px; border-left:1px solid #e1eae5; }
.chair-head .chair-number { color:#28473a; font-weight:750; }
.chair-head small { color:var(--muted); font-size:10px; }
.schedule-time-axis,.chair-timeline { display:grid; grid-auto-rows:22px; }
.schedule-time-axis { position:sticky; left:0; z-index:6; border-right:1px solid #d8e3dd; background:#fbfdfc; }
.schedule-time-axis span { z-index:2; grid-column:1; align-self:start; justify-self:end; padding-right:9px; transform:translateY(-50%); color:#6f8178; font-size:10px; font-variant-numeric:tabular-nums; }
.chair-column.chair-timeline { flex:1 0 210px; min-width:210px; padding:0; border:0; border-right:1px solid #dfe8e3; border-radius:0; background-color:#fff; background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 21px,#edf2ef 21px,#edf2ef 22px,transparent 22px,transparent 43px,#dce6e0 43px,#dce6e0 44px); }
.free-chair-slot { z-index:1; grid-column:1; display:flex; align-items:center; justify-content:space-between; gap:6px; min-width:0; margin:1px 3px; padding:5px 9px; overflow:hidden; border:1px solid #c3e8d2; border-radius:7px; color:#267151; background:#ecf9f2; cursor:pointer; transition:background .15s,border-color .15s,box-shadow .15s; }
.free-chair-slot span { font-size:10px; }
.free-chair-slot b { opacity:.72; font-size:10px; white-space:nowrap; }
.free-chair-slot:hover,.free-chair-slot:focus-visible { z-index:3; outline:0; border-color:#64bd8a; background:#dff5e9; box-shadow:0 3px 9px rgba(44,124,83,.16); }
.free-chair-slot:hover b,.free-chair-slot:focus-visible b { opacity:1; }
.chair-timeline-appointment { z-index:4; grid-column:1; min-width:0; margin:1px 4px 2px; padding:7px 8px; overflow:hidden; box-shadow:0 2px 7px rgba(46,67,57,.1); }
.chair-timeline-appointment .appointment-time { margin-bottom:3px; }
.chair-timeline-appointment .appointment-time strong { font-size:11px; }
.chair-timeline-appointment > strong { overflow:hidden; font-size:12px; white-space:nowrap; text-overflow:ellipsis; }
.chair-timeline-appointment > small { overflow:hidden; margin-top:2px; font-size:9px; white-space:nowrap; text-overflow:ellipsis; }
.schedule-grid-end { grid-column:1; min-height:22px; pointer-events:none; }
.schedule-row-1{grid-row-start:1}.schedule-row-2{grid-row-start:2}.schedule-row-3{grid-row-start:3}.schedule-row-4{grid-row-start:4}.schedule-row-5{grid-row-start:5}.schedule-row-6{grid-row-start:6}.schedule-row-7{grid-row-start:7}.schedule-row-8{grid-row-start:8}
.schedule-row-9{grid-row-start:9}.schedule-row-10{grid-row-start:10}.schedule-row-11{grid-row-start:11}.schedule-row-12{grid-row-start:12}.schedule-row-13{grid-row-start:13}.schedule-row-14{grid-row-start:14}.schedule-row-15{grid-row-start:15}.schedule-row-16{grid-row-start:16}
.schedule-row-17{grid-row-start:17}.schedule-row-18{grid-row-start:18}.schedule-row-19{grid-row-start:19}.schedule-row-20{grid-row-start:20}.schedule-row-21{grid-row-start:21}.schedule-row-22{grid-row-start:22}.schedule-row-23{grid-row-start:23}.schedule-row-24{grid-row-start:24}
.schedule-row-25{grid-row-start:25}.schedule-row-26{grid-row-start:26}.schedule-row-27{grid-row-start:27}.schedule-row-28{grid-row-start:28}.schedule-row-29{grid-row-start:29}.schedule-row-30{grid-row-start:30}.schedule-row-31{grid-row-start:31}.schedule-row-32{grid-row-start:32}
.schedule-row-33{grid-row-start:33}.schedule-row-34{grid-row-start:34}.schedule-row-35{grid-row-start:35}.schedule-row-36{grid-row-start:36}.schedule-row-37{grid-row-start:37}.schedule-row-38{grid-row-start:38}.schedule-row-39{grid-row-start:39}.schedule-row-40{grid-row-start:40}
.schedule-row-41{grid-row-start:41}.schedule-row-42{grid-row-start:42}.schedule-row-43{grid-row-start:43}.schedule-row-44{grid-row-start:44}.schedule-row-45{grid-row-start:45}.schedule-row-46{grid-row-start:46}.schedule-row-47{grid-row-start:47}.schedule-row-48{grid-row-start:48}
.schedule-row-49{grid-row-start:49}.schedule-row-50{grid-row-start:50}.schedule-row-51{grid-row-start:51}.schedule-row-52{grid-row-start:52}.schedule-row-53{grid-row-start:53}.schedule-row-54{grid-row-start:54}.schedule-row-55{grid-row-start:55}.schedule-row-56{grid-row-start:56}
.schedule-row-57{grid-row-start:57}.schedule-row-58{grid-row-start:58}.schedule-row-59{grid-row-start:59}.schedule-row-60{grid-row-start:60}.schedule-row-61{grid-row-start:61}.schedule-row-62{grid-row-start:62}.schedule-row-63{grid-row-start:63}.schedule-row-64{grid-row-start:64}
.schedule-span-1{grid-row-end:span 1}.schedule-span-2{grid-row-end:span 2}.schedule-span-3{grid-row-end:span 3}.schedule-span-4{grid-row-end:span 4}.schedule-span-5{grid-row-end:span 5}.schedule-span-6{grid-row-end:span 6}.schedule-span-7{grid-row-end:span 7}.schedule-span-8{grid-row-end:span 8}
.schedule-span-9{grid-row-end:span 9}.schedule-span-10{grid-row-end:span 10}.schedule-span-11{grid-row-end:span 11}.schedule-span-12{grid-row-end:span 12}.schedule-span-13{grid-row-end:span 13}.schedule-span-14{grid-row-end:span 14}.schedule-span-15{grid-row-end:span 15}.schedule-span-16{grid-row-end:span 16}
.appointment-card { margin-bottom:8px; padding:10px; border:1px solid var(--border); border-left:4px solid var(--blue); border-radius:9px; background:var(--panel); }
.appointment-card.confirmed { border-left-color:var(--brand); }
.appointment-card .appointment-time { display:flex; justify-content:space-between; gap:8px; margin-bottom:6px; }
.appointment-card strong { display:block; }
.appointment-card p { margin:4px 0; color:var(--muted); }
.appointment-card small { display:block; color:var(--muted); }
.appointment-action { margin-top:8px; }
.schedule-chair-manager { display:grid; gap:12px; }
.schedule-chair-manager-summary { display:flex; align-items:center; gap:12px; padding:13px; border:1px solid #cde3d7; border-radius:11px; background:#f1f9f5; }
.schedule-chair-manager-summary > span { display:grid; place-items:center; width:45px; height:45px; border-radius:12px; color:#fff; background:var(--brand); font-size:20px; font-weight:800; }
.schedule-chair-manager-summary > div { display:grid; gap:2px; }
.schedule-chair-manager-summary small { color:var(--muted); }
.schedule-chair-manager-list { display:grid; gap:7px; }
.schedule-chair-manager-row { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; padding:11px 12px; border:1px solid var(--border); border-radius:9px; text-align:left; background:#fff; cursor:pointer; }
.schedule-chair-manager-row:hover { border-color:#89b8a1; background:#f7fbf9; }
.schedule-chair-manager-row > span { display:grid; gap:3px; }
.schedule-chair-manager-row small { color:var(--muted); }
.schedule-chair-manager-row em { padding:5px 7px; border-radius:7px; color:#247554; background:#e9f7ef; font-size:10px; font-style:normal; font-weight:750; }
.schedule-chair-manager-row.is-disabled { opacity:.68; }
.schedule-chair-manager-row.is-disabled em { color:#67766f; background:#edf1ef; }
.appointment-patient-select { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:8px; }
.appointment-patient-select label { display:grid; gap:5px; color:var(--muted); font-size:12px; }
.appointment-patient-select .button { min-height:38px; }
.appointment-quick-patient { display:grid; gap:9px; padding:11px; border:1px solid #badaca; border-radius:10px; background:#f2faf6; }
.appointment-quick-patient > div:first-child { display:grid; gap:2px; }
.appointment-quick-patient small { color:var(--muted); }
.quick-patient-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.quick-patient-grid label { display:grid; gap:5px; color:var(--muted); font-size:11px; }
.appointment-quick-patient .row-actions { justify-content:space-between; }
.section-eyebrow { display:block; margin-bottom:4px; color:var(--brand); font-size:10px; font-weight:800; letter-spacing:.12em; }
.schedule-view-tabs { display:flex; gap:4px; width:max-content; margin-bottom:12px; padding:4px; border:1px solid var(--border); border-radius:10px; background:var(--panel); }
.schedule-view-tabs button { padding:8px 13px; border:0; border-radius:7px; color:var(--muted); background:transparent; cursor:pointer; }
.schedule-view-tabs button.is-active { color:#fff; background:var(--brand); }
.assistant-team-summary { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin-bottom:12px; }
.assistant-team-summary article { display:grid; gap:3px; padding:13px 14px; border:1px solid var(--border); border-radius:11px; background:var(--panel); box-shadow:var(--shadow); }
.assistant-team-summary span,.assistant-team-summary small { color:var(--muted); }
.assistant-team-summary strong { color:var(--brand); font-size:22px; }
.assistant-team-shell { padding:0; overflow:hidden; }
.team-process-legend { display:flex; flex-wrap:wrap; gap:15px; padding:10px 14px; border-bottom:1px solid var(--border); color:var(--muted); font-size:11px; }
.team-process-legend span { display:flex; align-items:center; gap:6px; }
.team-process-legend span::before,.stage-dot { content:""; display:inline-block; width:9px; height:9px; border-radius:3px; background:#dce7e2; }
.team-process-legend .prepare::before,.stage-dot.prepare { background:#9bbbc4; }
.team-process-legend .clinical::before { background:#2f8a6e; }
.team-process-legend .cleanup::before,.stage-dot.cleanup { background:#e4bd67; }
.team-process-legend .pso::before,.stage-dot.pso { background:#8eacd1; }
.team-process-legend .sterilization::before,.stage-dot.sterilization { background:#ae96c9; }
.assistant-team-table-wrap { width:100%; }
.assistant-team-table { min-width:1320px; }
.assistant-team-table th { padding:9px 12px; background:#f7faf8; font-size:11px; }
.assistant-team-table td { padding:12px; vertical-align:top; }
.assistant-team-table td:nth-child(6) { width:470px; }
.assistant-team-table td > strong,.assistant-team-table td > small { display:block; }
.assistant-team-table td > small { margin-top:3px; color:var(--muted); font-size:10px; text-transform:capitalize; }
.assistant-team-table tbody tr:hover { background:#fbfdfc; }
.team-person { display:grid; grid-template-columns:34px minmax(120px,1fr); gap:8px; align-items:center; }
.team-person .avatar { width:32px; height:32px; font-size:10px; }
.team-person .avatar.assistant { color:#315f75; background:#e8f2f6; }
.team-person strong,.team-person small { display:block; }
.team-person small,.team-note { margin-top:3px; color:var(--muted); font-size:9px; }
.assistant-workday-time { display:grid; grid-template-columns:auto 1fr auto; gap:8px; align-items:center; margin-bottom:5px; font-size:10px; }
.assistant-workday-time span { color:var(--muted); text-align:center; }
.assistant-workday-track { display:flex; min-width:430px; height:34px; overflow:hidden; border:1px solid #d7e2dd; border-radius:8px; background:#f4f7f5; }
.assistant-workday-track span { display:grid; min-width:34px; place-content:center; padding:3px; overflow:hidden; text-align:center; }
.assistant-workday-track b,.assistant-workday-track small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.assistant-workday-track b { font-size:9px; }
.assistant-workday-track small { font-size:8px; opacity:.75; }
.assistant-workday-track .prepare { flex:1.2 1 0; color:#244f5a; background:#dcebf0; }
.assistant-workday-track .clinical { flex:10 1 0; color:#fff; background:#2f8a6e; }
.assistant-workday-track .cleanup { flex:.9 1 0; color:#73520e; background:#f4dfad; }
.assistant-workday-track .pso { flex:1.2 1 0; color:#274d78; background:#dce8f6; }
.assistant-workday-track .sterilization { flex:1.2 1 0; color:#583b74; background:#e8def2; }
.assistant-team-warning { display:grid; grid-template-columns:minmax(230px,.8fr) minmax(0,2fr); gap:12px; padding:12px 14px; border-top:1px solid #e9c4bd; color:#8a3f32; background:#fff3f0; }
.assistant-team-warning strong,.assistant-team-warning span { display:block; }
.assistant-team-warning span { margin-top:3px; font-size:10px; }
.uncovered-list { display:flex; flex-wrap:wrap; gap:5px; }
.uncovered-list span { padding:5px 7px; border:1px solid #edcbc5; border-radius:7px; background:#fff; }
.team-stage-fields { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; padding:11px; border:1px solid var(--border); border-radius:10px; background:#f8faf9; }
.team-stage-fields label { display:grid; gap:5px; }
.stage-dot { margin-right:5px; }
.assistant-day-preview { display:grid; grid-template-columns:1fr auto; gap:3px 15px; align-items:center; padding:12px 14px; border-radius:10px; color:#244f42; background:var(--brand-soft); }
.assistant-day-preview span,.assistant-day-preview small { color:var(--muted); }
.assistant-day-preview strong { font-size:20px; }
.assistant-day-preview small { grid-column:1 / -1; }
.staff-schedule-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:12px; }
.staff-schedule-summary article { display:grid; gap:3px; padding:13px 14px; border:1px solid var(--border); border-radius:11px; background:var(--panel); box-shadow:var(--shadow); }
.staff-schedule-summary span,.staff-schedule-summary small { color:var(--muted); }
.staff-schedule-summary strong { color:var(--brand); font-size:24px; }
.staff-schedule-shell { padding:0; overflow:hidden; }
.staff-schedule-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 14px; border-bottom:1px solid var(--border); background:#fbfdfc; }
.week-navigation { display:flex; align-items:center; gap:8px; }
.week-navigation strong { margin-left:6px; }
.staff-schedule-legend { display:flex; flex-wrap:wrap; gap:12px; padding:10px 14px; border-bottom:1px solid var(--border); color:var(--muted); font-size:11px; }
.staff-schedule-legend span { display:flex; align-items:center; gap:6px; }
.staff-schedule-legend span::before { content:""; width:9px; height:9px; border-radius:3px; background:#dce7e2; }
.staff-schedule-legend .shift::before { background:#d9eee5; }
.staff-schedule-legend .online::before { background:#2f8a6e; }
.staff-schedule-legend .break::before { background:#f6dfa8; }
.staff-schedule-legend .absence::before { background:#f5c7c4; }
.staff-schedule-legend .blocked::before { background:#cddcef; }
.staff-schedule-grid { display:grid; grid-template-columns:240px repeat(7,minmax(158px,1fr)); min-width:1370px; overflow:visible; }
.staff-schedule-shell:has(.staff-schedule-grid) { overflow-x:auto; }
.staff-grid-corner,.staff-day-head,.staff-person-cell,.staff-schedule-cell { min-width:0; border-right:1px solid var(--border); border-bottom:1px solid var(--border); }
.staff-grid-corner { position:sticky; left:0; z-index:4; display:grid; align-content:center; gap:2px; padding:10px 13px; background:#f2f7f4; }
.staff-grid-corner span { color:var(--muted); font-size:10px; }
.staff-day-head { display:grid; justify-items:center; gap:2px; padding:9px; background:#f2f7f4; text-transform:capitalize; }
.staff-day-head span { color:var(--muted); font-size:11px; }
.staff-day-head.is-today { color:var(--brand); background:#e4f2ec; }
.staff-person-cell { position:sticky; left:0; z-index:3; display:grid; grid-template-columns:38px minmax(0,1fr); gap:9px; align-items:start; min-height:132px; padding:11px; background:#fff; }
.staff-person-cell .avatar { width:36px; height:36px; }
.staff-person-cell strong,.staff-person-cell small { display:block; }
.staff-person-cell small { margin-top:4px; color:var(--muted); font-size:10px; line-height:1.35; }
.staff-schedule-cell { position:relative; display:flex; align-content:flex-start; flex-wrap:wrap; gap:5px; min-height:132px; padding:7px; background:#fff; }
.staff-schedule-cell:hover { background:#fbfdfc; }
.staff-schedule-entry { display:grid; gap:2px; width:100%; padding:7px 8px; border:1px solid transparent; border-radius:8px; color:var(--text); text-align:left; background:#edf4f1; font:inherit; }
button.staff-schedule-entry { cursor:pointer; }
button.staff-schedule-entry:hover { border-color:var(--brand); box-shadow:0 3px 8px rgba(30,85,66,.08); }
.staff-schedule-entry.shift { border-left:3px solid var(--brand); background:#e9f5ef; }
.staff-schedule-entry.break { border-left:3px solid #c78b18; background:#fff7e5; }
.staff-schedule-entry.absence { border-left:3px solid #bf5a54; background:#fff0ef; }
.staff-schedule-entry.blocked { border-left:3px solid #507ba8; background:#edf4fb; }
.staff-schedule-entry strong { font-size:11px; }
.staff-schedule-entry small { overflow:hidden; color:var(--muted); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.staff-schedule-entry em { color:var(--brand); font-size:9px; font-style:normal; font-weight:700; }
.staff-entry-time { font-size:10px; font-variant-numeric:tabular-nums; font-weight:700; }
.staff-no-shift { align-self:flex-start; color:#a4b0aa; font-size:10px; }
.staff-load { align-self:flex-end; margin-top:auto; padding:3px 6px; border-radius:999px; color:#315f75; background:#e9f2f6; font-size:9px; }
.staff-cell-add { position:absolute; right:6px; bottom:5px; display:grid; place-items:center; width:23px; height:23px; border:1px solid var(--border); border-radius:7px; color:var(--brand); background:#fff; cursor:pointer; opacity:0; }
.staff-schedule-cell:hover .staff-cell-add,.staff-cell-add:focus { opacity:1; }
.online-schedule-note { position:sticky; left:0; display:flex; align-items:center; gap:10px; width:100%; min-width:760px; padding:11px 14px; color:#315f75; background:#edf5f8; }
.online-schedule-note span { color:var(--muted); font-size:11px; }
.appointment-slot-picker { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,1fr); gap:12px; align-items:end; padding:11px; border:1px solid #bfd9cc; border-radius:9px; background:var(--brand-soft); }
.appointment-slot-picker > div { display:grid; gap:3px; }
.appointment-slot-picker small { color:var(--muted); }
.modal-actions-spacer { flex:1; }
.task-list { display:grid; }
.task-row { display:grid; grid-template-columns:22px minmax(0,1fr) auto auto; gap:10px; align-items:center; padding:11px 0; border-bottom:1px solid var(--border); }
.task-row:last-child { border-bottom:0; }
.task-row input { width:18px; min-height:18px; accent-color:var(--brand); }
.task-row.is-done { opacity:.55; }
.task-row.is-done strong { text-decoration:line-through; }
.table-wrap { overflow-x:auto; }
table { width:100%; border-collapse:collapse; }
th,td { padding:10px 9px; border-bottom:1px solid var(--border); text-align:left; white-space:nowrap; }
th { color:var(--muted); font-weight:500; }
tbody tr:last-child td { border-bottom:0; }
.money { font-variant-numeric:tabular-nums; text-align:right; }
.integrity-banner { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; padding:13px 15px; border:1px solid #b8decb; border-radius:10px; color:var(--brand); background:var(--brand-soft); }
.hash { color:var(--muted); font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:12px; }
.integration-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:14px; }
.integration-card { padding:15px; border:1px solid var(--border); border-radius:12px; background:var(--panel); box-shadow:var(--shadow); }
.integration-card .integration-head { display:flex; justify-content:space-between; gap:8px; margin-bottom:16px; }
.integration-card p { min-height:36px; margin:7px 0 14px; color:var(--muted); }
.telephony-center { display:grid; gap:0; margin-bottom:14px; overflow:hidden; border:1px solid #cbdcd6; border-radius:14px; background:#fff; box-shadow:var(--shadow); }
.telephony-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:17px 18px; border-bottom:1px solid #dce7e3; background:linear-gradient(118deg,#eef8f4,#fff 58%,#f0f5fb); }
.telephony-head h2 { margin:4px 0; font-size:21px; }.telephony-head p { max-width:760px; color:var(--muted); }
.telephony-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-bottom:1px solid #dfe9e5; }
.telephony-kpis article { display:grid; gap:3px; padding:13px 17px; border-right:1px solid #dfe9e5; }.telephony-kpis article:last-child { border-right:0; }
.telephony-kpis span,.telephony-kpis small { color:var(--muted); font-size:10px; }.telephony-kpis strong { color:#276b5c; font-size:23px; }.telephony-kpis .is-alert strong { color:var(--danger); }
.telephony-readiness { display:grid; grid-template-columns:30px minmax(0,1fr) auto; align-items:center; gap:10px; margin:13px 15px; padding:11px 12px; border:1px solid #cbdde9; border-radius:10px; color:#355d72; background:#f2f7fa; }
.telephony-readiness.is-ready { color:#276655; border-color:#bad9cc; background:#f1faf6; }.telephony-readiness > span { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; color:#fff; background:#507e97; font-weight:800; }.telephony-readiness.is-ready > span { background:#3a8a71; }
.telephony-readiness > div:nth-child(2) { display:grid; gap:3px; }.telephony-readiness small { color:var(--muted); font-size:9px; }
.telephony-call-log { margin:0 15px 15px; overflow:hidden; border:1px solid #dce5e2; border-radius:10px; }.telephony-call-log > header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px; background:#f7faf9; }.telephony-call-log > header > div { display:grid; gap:2px; }.telephony-call-log > header small { color:var(--muted); font-size:9px; }
.telephony-call-row { display:grid; grid-template-columns:34px minmax(160px,.8fr) minmax(230px,1.2fr) 120px 90px; align-items:center; gap:10px; min-height:59px; padding:8px 12px; border-top:1px solid #e5ece9; }.telephony-call-row.is-missed { background:#fff9f8; }
.telephony-direction { display:grid; place-items:center; width:30px; height:30px; border-radius:9px; color:#28725f; background:#e7f5ef; font-size:17px; font-weight:800; }.telephony-call-row.is-missed .telephony-direction { color:#a3484b; background:#fcebed; }
.telephony-call-row > div { display:grid; min-width:0; gap:3px; }.telephony-call-row strong,.telephony-call-row small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.telephony-call-row small { color:var(--muted); font-size:9px; }
.telephony-call-result { justify-items:start; }.telephony-recording-state { color:var(--muted); font-size:9px; }.telephony-empty { display:grid; justify-items:center; align-content:center; gap:4px; min-height:160px; padding:20px; color:var(--muted); text-align:center; }.telephony-empty > span { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; color:#28715e; background:#e4f4ed; font-size:19px; }.telephony-empty p { max-width:500px; }
.telephony-secret-state { display:grid; grid-template-columns:29px minmax(0,1fr); align-items:center; gap:9px; padding:9px; border:1px solid #d7e4ea; border-radius:9px; background:#f6f9fb; }.telephony-secret-state > span { display:grid; place-items:center; width:27px; height:27px; border-radius:50%; color:#fff; background:#5b8298; font-weight:800; }.telephony-secret-state > div { display:grid; gap:2px; }.telephony-secret-state small { color:var(--muted); font-size:9px; line-height:1.35; }
.telephony-privacy-note { display:grid; gap:3px; padding:10px 12px; border-left:3px solid #4f7892; color:#38596b; background:#eef5f8; }.telephony-privacy-note span { font-size:10px; line-height:1.45; }
.telephony-recording-modal { display:grid; grid-template-columns:52px minmax(0,1fr); align-items:center; gap:14px; margin:15px 0; padding:18px; border:1px solid #d8e2e7; border-radius:12px; background:#f6f9fb; }.telephony-recording-modal > span { display:grid; place-items:center; width:50px; height:50px; border-radius:50%; color:#fff; background:#68869a; font-size:19px; }.telephony-recording-modal.is-ready > span { background:#347c68; }.telephony-recording-modal > div { display:grid; gap:4px; }.telephony-recording-modal p,.telephony-recording-modal small { color:var(--muted); }
.egisz-exchange-center { display:grid; gap:14px; margin-bottom:14px; padding:18px; border:1px solid #bed0df; border-radius:14px; background:linear-gradient(145deg,#f4f8fb,#fff 48%); box-shadow:var(--shadow); }
.egisz-center-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.egisz-center-head h2 { margin:4px 0; font-size:22px; }
.egisz-center-head p { max-width:720px; color:var(--muted); }
.egisz-summary { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
.egisz-summary > div { display:grid; gap:3px; padding:11px; border:1px solid #d9e4eb; border-radius:10px; background:#fff; }
.egisz-summary span { color:var(--muted); font-size:10px; }
.egisz-summary strong { color:#315f75; font-size:21px; }
.egisz-readiness { display:grid; grid-template-columns:minmax(190px,.7fr) minmax(0,2fr); gap:14px; padding:13px; border:1px solid #ead6a1; border-radius:11px; background:#fffaf0; }
.egisz-readiness.is-ready { border-color:#b9d9c9; background:#f2faf5; }
.egisz-readiness p { margin-top:4px; color:var(--muted); font-size:11px; }
.egisz-readiness ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; margin:0; padding:0; list-style:none; }
.egisz-readiness li { display:flex; align-items:center; gap:6px; color:#7d6332; font-size:11px; }
.egisz-readiness li span { display:grid; place-items:center; width:18px; height:18px; border-radius:50%; color:#8b5b10; background:#f5dfad; font-weight:800; }
.egisz-readiness li.is-ready { color:#2f6e5c; }
.egisz-readiness li.is-ready span { color:#fff; background:#3f8a73; }
.egisz-legal-note { display:flex; gap:10px; padding:10px 12px; border-left:3px solid #4e789b; color:#405a6a; background:#edf4f8; font-size:11px; line-height:1.45; }
.egisz-queue-heading { margin:4px 0 0; }
.egisz-document-list { display:grid; gap:9px; }
.egisz-document { padding:12px; border:1px solid #d7e2e9; border-radius:10px; background:#fff; }
.egisz-document-main { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.egisz-document-main > div:first-child { display:grid; gap:3px; }
.egisz-document-main p { color:var(--muted); font-size:11px; }
.egisz-document-state { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:7px; }
.egisz-document details { margin-top:9px; border-top:1px solid var(--border); }
.egisz-document summary { padding:8px 0 3px; color:#315f75; font-size:11px; font-weight:700; cursor:pointer; }
.egisz-validation-checks { display:flex; flex-wrap:wrap; gap:5px; padding:6px 0; }
.egisz-check { padding:4px 7px; border-radius:999px; color:#8a4450; background:#fbecef; font-size:10px; }
.egisz-check.is-ready { color:#2f6e5c; background:#e8f5ee; }
.egisz-event-list { display:grid; gap:4px; margin:5px 0; padding:0; list-style:none; }
.egisz-event-list li { display:grid; grid-template-columns:110px minmax(0,1fr) minmax(130px,.7fr); gap:8px; color:var(--muted); font-size:10px; }
.egisz-event-list strong { color:var(--text); }
.egisz-receipt { display:flex; align-items:center; gap:8px; margin-top:8px; padding:7px 9px; border-radius:8px; color:#2d6d5b; background:#eaf6ef; font-size:10px; }
.egisz-error { margin-top:7px; color:#a13e4c; font-size:11px; }
.egisz-hash { margin-top:7px; color:var(--muted); font-size:9px; }
.egisz-hash code { word-break:break-all; }
.api-panel { margin-bottom:20px; }
.api-list { display:grid; grid-template-columns:minmax(180px,.7fr) minmax(200px,1fr); gap:0 16px; }
.api-list code,.api-list span { padding:9px 0; border-bottom:1px solid var(--border); }
.api-list code { color:var(--brand); }
.settings-shell { display:grid; grid-template-columns:230px minmax(0,1fr); gap:14px; align-items:start; }
.settings-nav { position:sticky; top:84px; display:grid; gap:4px; padding:8px; border:1px solid var(--border); border-radius:13px; background:var(--panel); box-shadow:var(--shadow); }
.settings-nav button { display:grid; grid-template-columns:29px minmax(0,1fr); align-items:center; gap:8px; min-height:42px; padding:7px 9px; border:0; border-radius:9px; color:var(--muted); text-align:left; background:transparent; cursor:pointer; }
.settings-nav button span { display:grid; place-items:center; width:28px; height:28px; border-radius:8px; background:var(--panel-2); font-size:14px; }
.settings-nav button div { display:grid; min-width:0; gap:2px; }
.settings-nav button strong,.settings-nav button small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.settings-nav button small { font-size:10px; font-weight:400; }
.settings-nav button:hover,.settings-nav button.is-active { color:var(--brand); background:var(--brand-soft); }
.settings-nav button.is-active span { color:#fff; background:var(--brand); }
.settings-content { display:grid; min-width:0; gap:14px; }
.settings-section-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; min-height:52px; }
.settings-section-head h2 { font-size:21px; }
.settings-section-head p { max-width:690px; margin-top:5px; color:var(--muted); line-height:1.45; }
.settings-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.settings-kpis article { display:grid; gap:3px; padding:14px; border:1px solid var(--border); border-radius:11px; background:var(--panel); box-shadow:var(--shadow); }
.settings-kpis span,.settings-kpis small { color:var(--muted); font-size:11px; }
.settings-kpis strong { color:var(--brand); font-size:25px; }
.settings-overview-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.settings-overview-card { display:grid; grid-template-columns:43px minmax(0,1fr); gap:12px; min-height:122px; padding:15px; border:1px solid var(--border); border-radius:12px; text-align:left; background:var(--panel); box-shadow:var(--shadow); cursor:pointer; }
.settings-overview-card:hover { border-color:#a9d0bd; transform:translateY(-1px); }
.settings-overview-card > span:last-child { display:grid; align-content:start; gap:6px; }
.settings-overview-card strong { font-size:15px; }
.settings-overview-card small { color:var(--muted); line-height:1.4; }
.settings-overview-card em { margin-top:5px; color:var(--brand); font-size:12px; font-style:normal; font-weight:650; }
.settings-card-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:11px; color:var(--brand); background:var(--brand-soft); font-size:16px; font-weight:750; }
.settings-footer-note { display:flex; align-items:center; gap:10px; padding:11px 13px; border:1px solid #b8decb; border-radius:10px; color:var(--muted); background:#f5fbf8; font-size:12px; }
.settings-form-card { padding:17px; border:1px solid var(--border); border-radius:13px; background:var(--panel); box-shadow:var(--shadow); }
.settings-form-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:12px; padding-top:13px; border-top:1px solid var(--border); }
.settings-form-actions > span { color:var(--muted); font-size:11px; }
.settings-branch-grid,.settings-integration-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
.settings-branch-card,.settings-integration-card { display:grid; align-content:start; gap:9px; padding:15px; border:1px solid var(--border); border-radius:12px; background:var(--panel); box-shadow:var(--shadow); }
.settings-branch-card.is-disabled,.settings-table-card tr.is-disabled { opacity:.62; }
.settings-branch-card > div:first-child,.settings-integration-card > div:first-child { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.settings-branch-code { color:var(--muted); font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:11px; }
.settings-branch-card h3,.settings-integration-card h3 { margin-top:2px; font-size:15px; }
.settings-branch-card p,.settings-integration-card p { min-height:38px; color:var(--muted); font-size:12px; line-height:1.45; }
.settings-branch-card dl { display:grid; grid-template-columns:repeat(3,1fr); margin:3px 0; padding:9px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.settings-branch-card dl div { display:grid; gap:2px; text-align:center; }
.settings-branch-card dl div + div { border-left:1px solid var(--border); }
.settings-branch-card dt { color:var(--muted); font-size:9px; }
.settings-branch-card dd { margin:0; font-size:17px; font-weight:700; }
.branch-chair-section { display:grid; gap:8px; padding:10px; border:1px solid var(--border); border-radius:10px; background:#f8faf9; }
.branch-chair-section > div:first-child { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.branch-chair-section > div:first-child small { color:var(--muted); font-size:10px; }
.branch-chair-list { display:grid; gap:5px; }
.branch-chair-row { display:flex; align-items:center; justify-content:space-between; gap:8px; width:100%; padding:8px; border:1px solid var(--border); border-radius:8px; text-align:left; background:#fff; cursor:pointer; }
.branch-chair-row:hover { border-color:#a9d0bd; background:#f7fbf9; }
.branch-chair-row.is-disabled { opacity:.64; }
.branch-chair-row > span:first-child { display:grid; min-width:0; gap:2px; }
.branch-chair-row b,.branch-chair-row small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.branch-chair-row small,.branch-chair-empty { color:var(--muted); font-size:10px; }
.branch-chair-empty { padding:9px; border:1px dashed var(--border); border-radius:8px; text-align:center; }
.chair-dependency-note { display:grid; gap:3px; padding:10px; border:1px solid #e5c488; border-radius:9px; color:#6d470e; background:var(--warn-soft); }
.chair-dependency-note span { font-size:11px; line-height:1.4; }
.settings-table-card { padding:4px 13px; }
.settings-person { display:flex; align-items:center; gap:9px; }
.settings-person .avatar { flex:0 0 auto; width:34px; height:34px; font-size:11px; }
.settings-person > span:last-child { display:grid; gap:2px; }
.settings-table-card td > small,.settings-table-card td > strong { display:block; }
.settings-table-card small { margin-top:3px; color:var(--muted); font-size:10px; }
.settings-matrix-card { margin-top:2px; }
.permission-matrix th:not(:first-child),.permission-matrix td { text-align:center; }
.permission-chip { display:inline-flex; justify-content:center; min-width:86px; padding:5px 8px; border-radius:999px; font-size:10px; font-weight:650; }
.permission-manage { color:var(--brand); background:var(--brand-soft); }
.permission-limited { color:var(--blue); background:var(--blue-soft); }
.permission-none { color:var(--muted); background:var(--panel-2); }
.permission-select { width:112px; min-height:32px; padding:5px 7px; border-radius:999px; font-size:10px; font-weight:650; }
.permission-select.permission-manage { color:var(--brand); border-color:#b8decb; background:var(--brand-soft); }
.permission-select.permission-view { color:var(--blue); border-color:#c4d9e8; background:var(--blue-soft); }
.permission-select.permission-none { color:var(--muted); background:var(--panel-2); }
.form-hint { margin-top:10px; color:var(--muted); font-size:10px; line-height:1.45; }
.settings-toggle-list { display:grid; gap:0; }
.settings-toggle,.settings-rule-row { position:relative; display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:66px; padding:11px 2px; border-bottom:1px solid var(--border); cursor:pointer; }
.settings-toggle:first-child,.settings-rule-row:first-child { padding-top:2px; }
.settings-toggle:nth-last-of-type(1),.settings-rule-row:last-child { border-bottom:0; }
.settings-toggle > span,.settings-rule-row > span { display:grid; min-width:0; gap:4px; }
.settings-toggle small,.settings-rule-row small,.settings-check small { color:var(--muted); font-size:11px; line-height:1.4; }
.settings-toggle input,.settings-rule-row input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.settings-toggle i,.settings-rule-row i { position:relative; flex:0 0 auto; width:42px; height:24px; border-radius:999px; background:#cdd8d2; transition:.18s; }
.settings-toggle i::after,.settings-rule-row i::after { content:""; position:absolute; top:3px; left:3px; width:18px; height:18px; border-radius:50%; background:#fff; box-shadow:0 2px 5px rgba(0,0,0,.18); transition:.18s; }
.settings-toggle input:checked + i,.settings-rule-row input:checked + i { background:var(--brand); }
.settings-toggle input:checked + i::after,.settings-rule-row input:checked + i::after { transform:translateX(18px); }
.settings-toggle input:focus-visible + i,.settings-rule-row input:focus-visible + i { outline:3px solid var(--brand-soft); }
.operation-template-settings { display:grid; gap:14px; }.operation-prefill-toggle { padding:10px 12px!important; border:1px solid #b8decb!important; border-radius:10px; background:#f5fbf8; }.operation-template-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }.operation-template-row { display:grid; gap:7px; padding:11px; border:1px solid var(--border); border-radius:10px; background:#fbfdfc; }.operation-template-row > span { display:flex; align-items:center; gap:8px; }.operation-template-row > span b { display:grid; place-items:center; width:25px; height:25px; flex:0 0 auto; border-radius:7px; color:var(--brand); background:var(--brand-soft); font-size:9px; }.operation-template-row > span strong { font-size:12px; }.operation-template-row textarea { width:100%; min-height:78px; padding:8px 9px; border:1px solid var(--border); border-radius:8px; color:var(--text); background:#fff; font:inherit; font-size:11px; line-height:1.45; resize:vertical; }.operation-template-row textarea:focus { outline:3px solid var(--brand-soft); border-color:#79b89b; }
.settings-rule-list { display:grid; }
.settings-rule-row small { max-width:720px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.settings-integration-card .settings-card-icon { width:36px; height:36px; border-radius:9px; font-size:12px; }
.settings-callout { display:flex; gap:10px; padding:12px; border:1px solid #c4d9e8; border-radius:10px; color:#315f75; background:#f1f7fb; }
.settings-callout > span { display:grid; flex:0 0 auto; place-items:center; width:25px; height:25px; border-radius:50%; color:#fff; background:#4e789b; font-weight:700; }
.settings-callout p { margin-top:3px; color:#5d7180; font-size:11px; line-height:1.4; }
.settings-security-status { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.settings-security-status article { display:grid; gap:5px; padding:14px; border:1px solid var(--border); border-radius:11px; background:var(--panel); box-shadow:var(--shadow); }
.settings-security-status span { color:var(--muted); font-size:11px; }
.settings-security-status strong { font-size:21px; }
.settings-security-status .security-ok { color:var(--brand); font-size:16px; }
.hr-legal-callout > span { width:34px; border-radius:9px; font-size:10px; }
.hr-person-button { display:flex; align-items:center; gap:9px; padding:0; border:0; text-align:left; background:transparent; cursor:pointer; }
.hr-person-button .avatar { flex:0 0 auto; width:36px; height:36px; font-size:11px; }
.hr-person-button > span:last-child { display:grid; gap:3px; }
.hr-person-button:hover strong { color:var(--brand); }
.hr-employee-table td > small,.hr-employee-table td > strong { display:block; margin-top:3px; }
.hr-employee-header h2 { margin:4px 0; font-size:22px; }
.hr-employee-header p { color:var(--muted); }
.hr-profile-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding:12px; border:1px solid var(--border); border-radius:11px; background:var(--panel-2); }
.hr-profile-summary > div { display:grid; gap:3px; }
.hr-profile-summary span { color:var(--muted); font-size:10px; }
.hr-action-bar { display:flex; flex-wrap:wrap; gap:7px; margin:12px 0; }
.hr-detail-sections { display:grid; gap:11px; }
.hr-detail-sections > section { padding:13px; border:1px solid var(--border); border-radius:11px; }
.hr-detail-sections .panel-heading { margin-bottom:6px; }
.hr-detail-sections h3 { font-size:14px; }
.hr-detail-sections td > small,.hr-detail-sections td > strong { display:block; margin-top:3px; }
.settings-check { display:grid !important; grid-template-columns:22px minmax(0,1fr); align-items:start; gap:9px !important; padding:10px; border:1px solid var(--border); border-radius:9px; color:var(--text) !important; background:var(--panel-2); }
.settings-check input { width:18px; min-height:18px; margin-top:2px; accent-color:var(--brand); }
.settings-check > span { display:grid; gap:3px; }
.drawer { position:fixed; z-index:30; top:0; right:0; width:min(420px,100%); height:100vh; overflow:auto; padding:18px; border-left:1px solid var(--border); background:var(--panel); box-shadow:-18px 0 42px rgba(15,35,26,.16); }
.drawer-header { display:flex; justify-content:space-between; gap:10px; margin-bottom:16px; }
.drawer .icon-button { color:var(--text); border-color:var(--border); background:var(--panel); }
.modal-backdrop { position:fixed; z-index:40; inset:0; display:grid; place-items:center; padding:20px; background:rgba(13,28,21,.46); }
.modal { width:min(620px,100%); max-height:calc(100vh - 40px); overflow:auto; padding:20px; border:1px solid var(--border); border-radius:14px; background:var(--panel); box-shadow:0 24px 70px rgba(0,0,0,.24); }
.modal.modal-wide { width:min(1040px,100%); }
.modal.modal-workspace { width:min(1480px,100%); max-height:calc(100vh - 20px); padding:0; overflow:hidden; }
.modal-header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:16px; }
.modal-header .icon-button { color:var(--text); border-color:var(--border); background:var(--panel); }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.form-grid .full { grid-column:1 / -1; }
.check-label { display:flex !important; grid-column:1 / -1; grid-template-columns:20px 1fr; align-items:center; color:var(--text) !important; }
.check-label input { width:18px; min-height:18px; accent-color:var(--brand); }
.plan-editor-head,.plan-total,.protocol-section-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.plan-editor-head { margin:18px 0 9px; }
.plan-editor { display:grid; gap:8px; }
.plan-item-row { display:grid; grid-template-columns:110px minmax(220px,1fr) 130px 38px; gap:8px; align-items:end; padding:10px; border:1px solid var(--border); border-radius:10px; background:var(--panel-2); }
.plan-item-row label { display:grid; gap:5px; color:var(--muted); }
.remove-button { color:var(--danger); border-color:var(--border) !important; background:var(--panel) !important; }
.plan-total { margin-top:12px; padding:12px; border-radius:9px; background:var(--brand-soft); }
.plan-total strong { font-size:19px; color:var(--brand); }
.plan-constructor { display:grid; gap:16px; }
.plan-constructor-header { padding-bottom:13px; border-bottom:1px solid var(--border); }
.plan-constructor-header .eyebrow { color:var(--brand); }
.plan-source-card { display:grid; grid-template-columns:minmax(190px,.8fr) minmax(320px,2fr) auto; align-items:center; gap:14px; padding:14px; border:1px solid #b7ddd0; border-radius:12px; background:linear-gradient(110deg,#f1fbf7,#f9fcfb); }
.plan-source-card > div:first-child { display:grid; gap:4px; }
.plan-source-card > div:first-child span { color:var(--muted); font-size:12px; line-height:1.4; }
.plan-diagnosis-list { display:flex; flex-wrap:wrap; gap:7px; }
.plan-diagnosis-badge { display:grid; min-width:126px; gap:2px; padding:7px 9px; border:1px solid #c8e4da; border-radius:8px; background:#fff; }
.plan-diagnosis-badge strong { color:var(--brand-dark); font-size:12px; }
.plan-diagnosis-badge small { color:var(--muted); font-size:10px; }
.plan-protocols { display:grid; gap:9px; }
.plan-protocols .plan-editor-head { margin:0; align-items:end; }
.plan-protocols .plan-editor-head > div { display:grid; gap:2px; }
.plan-protocols .plan-editor-head label { display:grid; gap:5px; width:160px; color:var(--muted); font-size:11px; }
.plan-protocol-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.plan-protocol-button { display:grid; gap:3px; padding:10px; border:1px solid var(--border); border-radius:9px; color:var(--text); text-align:left; background:var(--panel); cursor:pointer; }
.plan-protocol-button:hover { border-color:var(--brand); background:var(--brand-soft); }
.plan-protocol-button strong { font-size:12px; }
.plan-protocol-button small { color:var(--muted); font-size:10px; }
.plan-version-reason { padding:12px; border:1px solid var(--border); border-radius:10px; background:var(--panel-2); }
.plan-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.plan-summary article { display:grid; gap:4px; padding:12px 14px; border:1px solid var(--border); border-radius:10px; background:var(--panel-2); }
.plan-summary article span { color:var(--muted); font-size:11px; }
.plan-summary article strong { font-size:20px; }
.plan-summary .plan-summary-total { border-color:#afd8c9; background:var(--brand-soft); }
.plan-summary .plan-summary-total strong { color:var(--brand); }
.plan-visit-list { display:grid; gap:12px; }
.plan-visit-card { overflow:hidden; border:1px solid var(--border); border-radius:12px; background:var(--panel); box-shadow:0 5px 16px rgba(31,63,49,.04); }
.plan-visit-header { display:grid; grid-template-columns:minmax(280px,1fr) 130px 150px auto; align-items:end; gap:11px; padding:12px; border-bottom:1px solid var(--border); background:#f5f9f7; }
.plan-visit-sequence { display:grid; grid-template-columns:auto minmax(180px,1fr); align-items:end; gap:10px; }
.plan-visit-sequence > span { align-self:center; padding:5px 8px; border-radius:7px; color:var(--brand-dark); background:#dff2eb; font-size:11px; font-weight:800; white-space:nowrap; }
.plan-visit-header label { display:grid; gap:5px; color:var(--muted); font-size:11px; }
.plan-visit-header input { min-height:36px; }
.plan-visit-amount { display:grid; justify-items:end; gap:4px; padding-bottom:3px; }
.plan-visit-amount span { color:var(--muted); font-size:10px; }
.plan-visit-amount strong { color:var(--brand); font-size:17px; }
.plan-visit-controls { display:flex; gap:4px; padding-bottom:1px; }
.plan-visit-controls .icon-button { width:34px; height:36px; min-height:36px; color:var(--text); border-color:var(--border); background:var(--panel); }
.plan-visit-card .plan-editor { padding:10px 10px 0; }
.plan-visit-card .plan-item-row { border:0; border-bottom:1px dashed var(--border); border-radius:0; background:transparent; }
.plan-visit-card .plan-item-row:last-child { border-bottom:0; }
.plan-add-item { width:100%; padding:9px 12px 11px; border:0; border-top:1px solid var(--border); color:var(--brand); text-align:left; background:#fafcfb; cursor:pointer; }
.plan-add-item:hover { background:var(--brand-soft); }
.plan-price-note { display:grid; grid-template-columns:auto minmax(0,1fr); gap:9px; padding:11px 13px; border:1px solid #ead8a8; border-radius:9px; color:#715c23; background:#fffaf0; font-size:11px; line-height:1.45; }
.plan-price-note strong { color:#6d5415; }
.plan-delivery-form { display:grid; gap:14px; }
.plan-delivery-form > label { display:grid; gap:6px; color:var(--muted); }
.plan-delivery-form fieldset { margin:0; padding:0; border:0; }
.plan-delivery-form legend { margin-bottom:7px; color:var(--muted); font-size:12px; }
.plan-delivery-summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 12px; border:1px solid #b7ddd0; border-radius:10px; color:#315f50; background:#f1fbf7; font-size:12px; }
.plan-channel-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.plan-channel-grid label { display:grid; grid-template-columns:20px minmax(0,1fr); gap:8px; padding:11px; border:1px solid var(--border); border-radius:9px; background:var(--panel-2); cursor:pointer; }
.plan-channel-grid label:has(input:checked) { border-color:var(--brand); background:var(--brand-soft); }
.plan-channel-grid input { width:17px; min-height:17px; margin-top:2px; accent-color:var(--brand); }
.plan-channel-grid span { display:grid; gap:3px; }
.plan-channel-grid small { color:var(--muted); font-size:10px; }
.plan-delivery-history { display:grid; gap:5px; padding:10px 12px; border:1px solid var(--border); border-radius:9px; background:var(--panel-2); }
.plan-delivery-history span { color:var(--muted); font-size:11px; }
.plan-delivery-note-box { display:grid; grid-template-columns:auto minmax(0,1fr); gap:8px; padding:10px 12px; border:1px solid #ead8a8; border-radius:9px; color:#715c23; background:#fffaf0; font-size:11px; line-height:1.45; }
.protocol-form { display:grid; gap:12px; }
.protocol-section { display:grid; gap:11px; padding:15px; border:1px solid var(--border); border-radius:11px; background:var(--panel-2); }
.protocol-section > label { display:grid; gap:6px; color:var(--muted); }
.protocol-section-head span { color:var(--muted); font-size:12px; }
.protocol-items { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.protocol-item { display:grid; grid-template-columns:20px minmax(0,1fr); gap:8px; align-items:start; padding:9px; border:1px solid var(--border); border-radius:9px; background:var(--panel); }
.protocol-item input { width:18px; min-height:18px; accent-color:var(--brand); }
.protocol-item small { display:block; margin-top:3px; color:var(--muted); }
.signed-note { align-self:center; color:var(--brand); }
.doctor-workspace { display:grid; grid-template-columns:280px minmax(0,1fr); grid-template-rows:auto minmax(0,1fr) auto; max-height:calc(100vh - 22px); background:#f6f8f7; }
.doctor-header { grid-column:1 / -1; display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:82px; padding:15px 20px; color:#fff; background:linear-gradient(115deg,var(--brand-dark),#0e4938); }
.doctor-header h2 { margin:4px 0; font-size:21px; }
.doctor-header p { color:#cce5da; }
.doctor-header .icon-button { border-color:rgba(255,255,255,.25); }
.eyebrow { color:#9fd0bb; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.doctor-sidebar { overflow:auto; padding:16px; border-right:1px solid var(--border); background:#edf3f0; }
.doctor-sidebar section { display:grid; gap:8px; padding:13px 0; border-bottom:1px solid #d5e2dc; }
.doctor-sidebar section:first-child { padding-top:0; }
.doctor-sidebar section:last-child { border-bottom:0; }
.sidebar-label { color:#52675e; font-size:11px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.doctor-alert { display:grid; gap:3px; padding:9px; border-radius:8px; border-left:3px solid var(--warn); color:#6f430a; background:var(--warn-soft); }
.doctor-alert span { line-height:1.35; font-size:12px; }
.doctor-alert-critical { border-left-color:var(--danger); color:#842f2f; background:var(--danger-soft); }
.doctor-alert-info { border-left-color:var(--blue); color:#245a87; background:var(--blue-soft); }
.doctor-alert-ok { border-left-color:var(--brand); color:var(--brand); background:var(--brand-soft); }
.workspace-check { display:grid; grid-template-columns:18px 1fr; gap:8px; align-items:start; color:var(--text); font-size:12px; line-height:1.35; }
.workspace-check input { width:16px; min-height:16px; margin-top:1px; accent-color:var(--brand); }
.finance-preview div { display:flex; justify-content:space-between; gap:10px; color:var(--muted); font-size:12px; }
.finance-preview strong { color:var(--text); }
.finance-preview .finance-total { margin-top:2px; padding-top:9px; border-top:1px solid #d5e2dc; font-size:13px; }
.finance-preview .finance-total strong { color:var(--brand); font-size:16px; }
.readiness-head { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.readiness-head strong { color:var(--brand); font-size:16px; }
.readiness-track { height:7px; overflow:hidden; border-radius:999px; background:#d9e5df; }
.readiness-track span { display:block; width:0; height:100%; border-radius:inherit; background:var(--brand); transition:width .2s ease; }
.readiness-track .readiness-width-20 { width:20%; }
.readiness-track .readiness-width-40 { width:40%; }
.readiness-track .readiness-width-60 { width:60%; }
.readiness-track .readiness-width-80 { width:80%; }
.readiness-track .readiness-width-100 { width:100%; }
.readiness-checklist { display:grid; gap:3px; }
.readiness-item { display:grid; grid-template-columns:17px 1fr; gap:6px; align-items:center; width:100%; min-height:28px; padding:4px 0; border:0; color:#6d766f; background:transparent; text-align:left; cursor:pointer; }
.readiness-item span { display:grid; place-items:center; width:17px; height:17px; border:1px solid #aebcb5; border-radius:50%; font-size:10px; }
.readiness-item.is-done { color:var(--brand); }
.readiness-item.is-done span { color:#fff; border-color:var(--brand); background:var(--brand); }
.encounter-history { display:grid; gap:6px; }
.encounter-history-item { display:grid; gap:3px; padding:8px; border:1px solid #d5e2dc; border-radius:8px; background:rgba(255,255,255,.65); }
.encounter-history-item strong { font-size:11px; }
.encounter-history-item span { display:-webkit-box; overflow:hidden; color:var(--muted); font-size:11px; line-height:1.35; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.doctor-main { overflow:auto; padding:18px; }
.completion-summary { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; padding:13px 15px; border:1px solid #a9d6c1; border-radius:11px; color:var(--brand); background:var(--brand-soft); }
.completion-summary > div { display:grid; gap:5px; }
.completion-summary span { color:var(--muted); }
.workspace-section { display:grid; gap:13px; margin-bottom:12px; padding:16px; border:1px solid var(--border); border-radius:12px; background:var(--panel); box-shadow:0 4px 16px rgba(31,63,49,.04); }
.workspace-section.is-incomplete { border-color:#e5c081; box-shadow:0 0 0 2px rgba(224,157,43,.08); }
.workspace-section > label { display:grid; gap:6px; color:var(--muted); }
.dictation-panel { border-color:#a8d2bf; background:linear-gradient(135deg,#f3fbf7,#fff); }
.dictation-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.dictation-head > div:first-child { display:flex; align-items:flex-start; gap:10px; }
.dictation-head h3 { margin-bottom:3px; font-size:16px; }
.dictation-head p { color:var(--muted); font-size:12px; }
.dictation-icon { display:grid; place-items:center; width:30px; height:30px; flex:0 0 auto; border-radius:50%; color:#c94a4a; background:#fbe8e8; font-size:12px; }
.dictation-demo-note { padding:5px 8px; border-radius:999px; color:#6f430a; background:var(--warn-soft); font-size:10px; white-space:nowrap; }
.dictation-mode-switch { display:flex; gap:3px; width:max-content; padding:3px; border-radius:9px; background:#e4ede8; }
.dictation-mode-switch button { min-height:33px; padding:6px 11px; border:0; border-radius:7px; color:var(--muted); background:transparent; cursor:pointer; }
.dictation-mode-switch button.is-active { color:#fff; background:var(--brand); box-shadow:0 2px 7px rgba(13,104,75,.2); }
.dictation-note-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.dictation-note-controls label,.dictation-draft-label { display:grid; gap:6px; color:var(--muted); }
.dictation-actions { display:flex; flex-wrap:wrap; gap:7px; align-items:center; }
.dictation-record span { color:#c43f3f; font-size:10px; }
.dictation-record.is-listening { color:#fff; border-color:#c43f3f; background:#c43f3f; }
.dictation-record.is-listening span { color:#fff; animation:dictation-pulse 1s ease-in-out infinite; }
.dictation-status { min-height:18px; color:var(--muted); font-size:12px; }
.dictation-preview { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.dictation-command,.dictation-preview-note { display:grid; gap:3px; padding:9px 10px; border:1px solid #b9d8c9; border-radius:9px; color:var(--brand); background:#fff; }
.dictation-command span,.dictation-preview-note span { color:var(--muted); font-size:11px; }
.dictation-command.is-error { border-color:#e1b5b5; color:var(--danger); background:var(--danger-soft); }
.dictation-preview-note { grid-column:1 / -1; }
@keyframes dictation-pulse { 50% { opacity:.35; transform:scale(.75); } }
.workspace-section-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.workspace-section-head > div:first-child { display:flex; align-items:flex-start; gap:10px; }
.workspace-section-head > div:first-child > span { display:grid; place-items:center; width:29px; height:29px; flex:0 0 auto; border-radius:8px; color:var(--brand); background:var(--brand-soft); font-size:11px; font-weight:750; }
.workspace-section-head h3 { margin-bottom:3px; font-size:15px; }
.workspace-section-head p { color:var(--muted); font-size:12px; }
.required-mark { align-self:center; padding:4px 7px; border-radius:999px; color:var(--warn); background:var(--warn-soft); font-size:11px; white-space:nowrap; }
.dentition-toolbar { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px; border:1px solid var(--border); border-radius:10px; background:var(--panel-2); }
.dentition-switch { display:flex; gap:3px; padding:3px; border-radius:8px; background:#e5ece8; }
.dentition-switch button { min-height:32px; padding:6px 11px; border:0; border-radius:6px; color:var(--muted); background:transparent; cursor:pointer; }
.dentition-switch button.is-active { color:#fff; background:var(--brand); box-shadow:0 2px 7px rgba(13,104,75,.2); }
.dentition-switch button:disabled { cursor:default; }
.mixed-dentition-controls { display:flex; align-items:center; gap:7px; }
.mixed-dentition-controls select { min-width:190px; min-height:34px; padding:6px 9px; }
.odontogram-stack { display:grid; gap:8px; }
.odontogram-row { display:grid; grid-template-columns:118px minmax(0,1fr); gap:10px; align-items:center; padding:8px; border:1px solid var(--border); border-radius:10px; background:#fff; }
.odontogram-row-label { display:grid; gap:3px; color:var(--text); }
.odontogram-row-label span { color:var(--muted); font-size:10px; }
.odontogram-primary { border-color:#d8ceec; background:#fcfaff; }
.odontogram-arches { display:grid; gap:7px; min-width:0; }
.odontogram-arch { display:grid; grid-template-columns:92px minmax(0,1fr); gap:7px; align-items:center; min-width:0; }
.odontogram-arch-label { color:var(--muted); font-size:10px; }
.odontogram { display:grid; grid-template-columns:repeat(16,minmax(42px,1fr)); gap:5px; overflow-x:auto; padding:3px 0; }
.odontogram-columns-10 { grid-template-columns:repeat(10,minmax(42px,1fr)); }
.odontogram-columns-16 { grid-template-columns:repeat(16,minmax(42px,1fr)); }
.tooth-button { display:grid; justify-items:center; gap:3px; min-width:42px; min-height:54px; padding:7px 4px; border:1px solid var(--border); border-radius:8px; color:var(--text); background:#fff; cursor:pointer; }
.tooth-button small { max-width:46px; overflow:hidden; color:var(--muted); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.tooth-button:hover,.tooth-button.is-selected { border-color:var(--brand); box-shadow:0 0 0 2px var(--brand-soft); }
.tooth-placeholder { display:grid; place-items:center; align-content:center; gap:1px; min-width:42px; min-height:54px; padding:5px 3px; border:1px dashed #b8c9c0; border-radius:8px; color:var(--brand); background:rgba(255,255,255,.52); cursor:pointer; }
.tooth-placeholder span { font-size:15px; line-height:1; }
.tooth-placeholder small { color:var(--muted); font-size:9px; }
.tooth-placeholder:disabled { opacity:.42; cursor:default; }
.tooth-placeholder:disabled span { visibility:hidden; }
.tooth-button.tooth-caries { color:#9a5a00; background:#fff4df; }
.tooth-button.tooth-pulpitis { color:#a73535; background:#fdeceb; }
.tooth-button.tooth-filled { color:#276ca8; background:#e8f2fb; }
.tooth-button.tooth-crown,.tooth-button.tooth-implant { color:#685318; background:#fff8d9; }
.tooth-button.tooth-missing { color:#79837e; background:repeating-linear-gradient(135deg,#f1f4f2,#f1f4f2 5px,#e4e9e6 5px,#e4e9e6 10px); }
.tooth-button.tooth-watch { color:#674e9f; background:#f1edfb; }
.tooth-editor { display:grid; grid-template-columns:minmax(130px,1fr) minmax(180px,1fr) auto; gap:8px; align-items:center; padding:10px; border-radius:9px; background:var(--panel-2); }
.tooth-transition-actions { display:flex; grid-column:1 / -1; flex-wrap:wrap; gap:7px; align-items:center; }
.structured-rows { display:grid; gap:7px; }
.structured-row { display:grid; align-items:center; gap:7px; }
.diagnosis-row { grid-template-columns:minmax(250px,1.5fr) minmax(110px,.55fr) auto 38px; }
.diagnosis-template-panel { display:grid; gap:12px; padding:14px; border:1px solid #b6cbe5; border-radius:11px; background:#f7faff; }
.diagnosis-template-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.diagnosis-template-head > div { display:flex; align-items:flex-start; gap:9px; }
.diagnosis-template-head > div > div { display:grid; gap:3px; }
.diagnosis-template-head span { color:var(--muted); font-size:11px; }
.diagnosis-template-icon { display:grid; place-items:center; width:29px; height:29px; flex:0 0 auto; border-radius:8px; color:#315f91 !important; background:#e6f0fb; font-weight:750; }
.diagnosis-template-warning { padding:8px 10px; border-radius:8px; color:#6f430a; background:var(--warn-soft); font-size:11px; line-height:1.4; }
.diagnosis-template-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.diagnosis-template-fields label { display:grid; gap:5px; color:var(--muted); }
.diagnosis-template-fields textarea { min-height:86px; background:#fff; }
.diagnosis-template-footer { display:flex; align-items:end; justify-content:space-between; gap:12px; }
.diagnosis-template-footer label { display:grid; gap:5px; min-width:250px; color:var(--muted); }
.orthodontic-card { border-color:#e1c49a; background:linear-gradient(145deg,#fffaf2,#fff 42%); }
.orthodontic-card[hidden] { display:none; }
.orthodontic-template-bar { display:grid; grid-template-columns:minmax(220px,.8fr) auto minmax(260px,1.2fr); gap:10px; align-items:end; padding:12px; border:1px solid #ead8bc; border-radius:11px; background:#fff8ea; }
.orthodontic-template-bar label,.orthodontic-grid label { display:grid; gap:5px; color:var(--muted); font-size:11px; }
.orthodontic-template-bar > span { align-self:center; color:#76562d; font-size:10px; line-height:1.45; }
.orthodontic-block { display:grid; gap:10px; padding:12px; border:1px solid var(--border); border-radius:11px; background:rgba(255,255,255,.82); }
.orthodontic-block-title { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.orthodontic-block-title > span { color:var(--muted); font-size:10px; }
.orthodontic-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.orthodontic-grid .span-2 { grid-column:1 / -1; }
.orthodontic-grid textarea { min-height:68px; }
.orthodontic-study-list { display:flex; flex-wrap:wrap; gap:7px; }
.orthodontic-study-list label { display:flex; align-items:center; gap:7px; padding:8px 10px; border:1px solid var(--border); border-radius:999px; color:#5f4a2d; background:#fff; cursor:pointer; }
.orthodontic-study-list input { width:16px; min-height:16px; accent-color:#b77825; }
.orthodontic-finance-link { border-color:#d9b978; color:#72501c; background:#fff9ec; }
.modal.modal-orthodontic-finance { width:min(1380px,100%); max-height:calc(100vh - 20px); padding:0; overflow:auto; background:#f4f6f5; }
.orthodontic-finance-workspace,.orthodontic-finance-create,.orthodontic-stage-payment { min-height:min(820px,calc(100vh - 22px)); }
.orthodontic-finance-header { position:sticky; z-index:3; top:0; display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:18px 22px; border-bottom:1px solid #dfe5e2; background:rgba(255,255,255,.96); backdrop-filter:blur(10px); }
.orthodontic-finance-header h2 { margin-top:3px; font-size:24px; letter-spacing:-.02em; }
.orthodontic-finance-header p { margin-top:5px; color:var(--muted); font-size:12px; }
.orthodontic-finance-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; padding:17px 22px 10px; }
.orthodontic-finance-kpis article { display:grid; gap:5px; min-height:105px; padding:15px; border:1px solid #dfe5e2; border-radius:13px; background:#fff; box-shadow:0 5px 18px rgba(31,53,43,.045); }
.orthodontic-finance-kpis span,.orthodontic-finance-kpis small { color:var(--muted); font-size:11px; }
.orthodontic-finance-kpis strong { color:#273b32; font-size:25px; line-height:1.1; font-variant-numeric:tabular-nums; }
.orthodontic-finance-kpis .is-positive { border-color:#b8dcc9; background:#f7fcf9; }
.orthodontic-finance-kpis .is-positive strong { color:var(--brand); }
.orthodontic-finance-kpis .is-danger { border-color:#edb8b0; background:#fff8f7; }
.orthodontic-finance-kpis .is-danger strong { color:#a53b30; }
.orthodontic-finance-progress { display:grid; gap:7px; padding:4px 22px 16px; }
.orthodontic-finance-progress > div { height:8px; overflow:hidden; border-radius:999px; background:#dfe7e3; }
.orthodontic-finance-progress > div span { display:block; height:100%; min-width:2px; border-radius:inherit; background:linear-gradient(90deg,#2b7c59,#61ad83); }
.orthodontic-progress-0 { width:0; }.orthodontic-progress-5 { width:5%; }.orthodontic-progress-10 { width:10%; }.orthodontic-progress-15 { width:15%; }.orthodontic-progress-20 { width:20%; }.orthodontic-progress-25 { width:25%; }.orthodontic-progress-30 { width:30%; }.orthodontic-progress-35 { width:35%; }.orthodontic-progress-40 { width:40%; }.orthodontic-progress-45 { width:45%; }.orthodontic-progress-50 { width:50%; }.orthodontic-progress-55 { width:55%; }.orthodontic-progress-60 { width:60%; }.orthodontic-progress-65 { width:65%; }.orthodontic-progress-70 { width:70%; }.orthodontic-progress-75 { width:75%; }.orthodontic-progress-80 { width:80%; }.orthodontic-progress-85 { width:85%; }.orthodontic-progress-90 { width:90%; }.orthodontic-progress-95 { width:95%; }.orthodontic-progress-100 { width:100%; }
.orthodontic-finance-progress p { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0; color:var(--muted); font-size:11px; }
.orthodontic-finance-progress strong { color:#315e49; }
.orthodontic-finance-layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; align-items:start; gap:15px; padding:0 22px 22px; }
.orthodontic-finance-timeline { display:grid; gap:0; min-width:0; padding:17px; border:1px solid #dfe5e2; border-radius:14px; background:#fff; }
.orthodontic-finance-section-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:10px; }
.orthodontic-finance-section-head h3 { font-size:17px; }
.orthodontic-finance-section-head p,.orthodontic-finance-section-head > span { margin-top:4px; color:var(--muted); font-size:11px; }
.orthodontic-stage { display:grid; grid-template-columns:36px minmax(0,1fr); gap:8px; }
.orthodontic-stage-marker { display:grid; grid-template-rows:31px minmax(12px,1fr); justify-items:center; }
.orthodontic-stage-marker span { display:grid; place-items:center; width:29px; height:29px; border:2px solid #bfd0c8; border-radius:50%; color:#567064; background:#fff; font-size:11px; font-weight:750; }
.orthodontic-stage-marker i { width:2px; height:100%; min-height:16px; background:#dce6e1; }
.orthodontic-stage:last-child .orthodontic-stage-marker i { display:none; }
.orthodontic-stage.is-next .orthodontic-stage-marker span { border-color:#b37b26; color:#fff; background:#b37b26; box-shadow:0 0 0 4px #fbf2df; }
.orthodontic-stage.is-paid .orthodontic-stage-marker span { border-color:var(--brand); color:#fff; background:var(--brand); }
.orthodontic-stage-card { display:grid; gap:10px; margin-bottom:10px; padding:12px 13px; border:1px solid #e1e7e4; border-radius:11px; background:#fbfcfb; }
.orthodontic-stage.is-next .orthodontic-stage-card { border-color:#dfbf82; background:#fffcf5; box-shadow:0 5px 16px rgba(137,98,36,.06); }
.orthodontic-stage.is-paid .orthodontic-stage-card { background:#f6fbf8; }
.orthodontic-stage-head,.orthodontic-stage-foot { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.orthodontic-stage-head > div { display:grid; min-width:0; flex:1; gap:3px; }
.orthodontic-stage-head > div > span { color:#9a6a22; font-size:9px; font-weight:750; letter-spacing:.08em; }
.orthodontic-stage-head input { min-height:30px; padding:3px 0; border:0; color:#263930; background:transparent; font-size:14px; font-weight:700; }
.orthodontic-stage-head input:not(:disabled) { padding-inline:7px; border:1px solid var(--border); background:#fff; }
.orthodontic-stage-fields { display:grid; grid-template-columns:1.05fr .9fr .75fr .75fr; gap:8px; }
.orthodontic-stage-fields label,.orthodontic-stage-fields > div { display:grid; align-content:start; gap:4px; color:var(--muted); font-size:10px; }
.orthodontic-stage-fields input { min-height:35px; padding:7px 8px; }
.orthodontic-stage-fields > div { padding:7px 9px; border:1px solid #e0e7e3; border-radius:8px; background:#fff; }
.orthodontic-stage-fields strong { color:#263930; font-size:13px; font-variant-numeric:tabular-nums; }
.orthodontic-stage-foot { min-height:31px; padding-top:2px; border-top:1px solid #e7ebe9; }
.orthodontic-stage-foot small { color:var(--muted); font-size:10px; }
.orthodontic-finance-sidebar { position:sticky; top:92px; display:grid; gap:10px; }
.orthodontic-finance-sidebar section { display:grid; gap:9px; padding:14px; border:1px solid #dfe5e2; border-radius:13px; background:#fff; }
.orthodontic-finance-sidebar h3 { font-size:14px; }
.orthodontic-finance-sidebar label { display:grid; gap:5px; color:var(--muted); font-size:10px; }
.orthodontic-finance-sidebar textarea { resize:vertical; }
.orthodontic-finance-sidebar .form-grid { gap:7px; }
.orthodontic-finance-sidebar section > small { color:var(--muted); font-size:9px; line-height:1.4; }
.orthodontic-family-condition { display:grid; grid-template-columns:1fr auto; gap:3px 8px; padding:10px; border:1px solid #ead7ae; border-radius:9px; color:#684d1e; background:#fff9ed; }
.orthodontic-family-condition span { font-size:11px; }
.orthodontic-family-condition strong { font-size:18px; }
.orthodontic-family-condition small { grid-column:1 / -1; color:#826a41; font-size:9px; line-height:1.4; }
.orthodontic-route-status-actions { display:grid; gap:7px; }
.orthodontic-finance-intro { display:flex; align-items:center; gap:13px; margin:18px 22px 0; padding:15px; border:1px solid #bad8ca; border-radius:13px; color:#315e49; background:#f6fbf8; }
.orthodontic-finance-intro > span { display:grid; place-items:center; width:43px; height:43px; flex:0 0 auto; border-radius:12px; color:#fff; background:var(--brand); font-size:20px; font-weight:750; }
.orthodontic-finance-intro p { margin-top:4px; color:var(--muted); font-size:11px; line-height:1.45; }
.orthodontic-finance-create-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; padding:14px 22px; }
.orthodontic-finance-create-grid section { display:grid; align-content:start; gap:13px; padding:17px; border:1px solid #dfe5e2; border-radius:13px; background:#fff; }
.orthodontic-finance-create-grid h3 { font-size:16px; }
.orthodontic-finance-create > .form-error { margin:0 22px; }
.orthodontic-finance-create > .modal-actions { margin:0 22px 22px; }
.orthodontic-payment-layout { display:grid; grid-template-columns:minmax(0,1fr) 285px; align-items:start; gap:13px; padding:18px 22px 22px; }
.orthodontic-payment-layout > main { display:grid; gap:12px; }
.orthodontic-payment-summary { position:sticky; top:92px; display:grid; gap:10px; padding:18px; border-radius:14px; color:#fff; background:linear-gradient(155deg,#244638,#173229); box-shadow:0 12px 28px rgba(20,52,39,.18); }
.orthodontic-payment-summary > span { color:#bcd1c7; font-size:11px; }
.orthodontic-payment-summary > strong { padding-bottom:12px; border-bottom:1px solid rgba(255,255,255,.16); font-size:28px; }
.orthodontic-payment-summary > div { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.orthodontic-payment-summary small { color:#bcd1c7; }
.orthodontic-payment-summary .button:not(.button-primary) { color:#fff; border-color:rgba(255,255,255,.25); background:rgba(255,255,255,.07); }
.checkout-method.is-selected { border-color:var(--brand); box-shadow:0 0 0 2px var(--brand-soft); }
.prescription-row { grid-template-columns:1.1fr .72fr .72fr .62fr 1.2fr 38px; }
.doctor-plan-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.doctor-plan-item { display:grid; grid-template-columns:18px minmax(0,1fr); gap:9px; align-items:start; padding:10px; border:1px solid var(--border); border-radius:9px; background:var(--panel-2); }
.doctor-plan-item input { width:17px; min-height:17px; margin-top:1px; accent-color:var(--brand); }
.doctor-plan-item small { display:block; margin-top:3px; color:var(--muted); }
.material-list { display:grid; gap:6px; }
.material-row { display:grid; grid-template-columns:18px minmax(0,1fr) 125px 100px; gap:9px; align-items:center; padding:9px 10px; border:1px solid var(--border); border-radius:9px; background:var(--panel-2); }
.material-row > input { width:17px; min-height:17px; accent-color:var(--brand); }
.material-row small { display:block; margin-top:3px; color:var(--muted); }
.material-quantity { display:grid; grid-template-columns:minmax(65px,1fr) auto; gap:5px; align-items:center; }
.material-quantity input { min-height:34px; padding:6px 8px; }
.material-cost { font-variant-numeric:tabular-nums; font-weight:650; text-align:right; }
.media-center { border-color:#bdd2df; background:linear-gradient(145deg,#f7fbfd,#fff 38%); }
.media-head-actions,.media-library-toolbar,.media-filters,.media-mode-switch,.media-card-actions { display:flex; align-items:center; gap:7px; }
.media-head-actions { align-self:center; }
.media-upload-settings { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.media-upload-settings label,.media-compare-toolbar label,.media-binding-grid label { display:grid; gap:5px; color:var(--muted); font-size:11px; }
.media-dropzone { display:flex; align-items:center; justify-content:center; gap:12px; width:100%; min-height:88px; padding:14px; border:1.5px dashed #88afc4; border-radius:11px; color:#315f75; background:#f4fafc; text-align:left; cursor:pointer; transition:border-color .15s ease,background .15s ease,transform .15s ease; }
.media-dropzone:hover,.media-dropzone.is-dragging { border-color:var(--brand); background:#edf9f4; transform:translateY(-1px); }
.media-dropzone:disabled { cursor:default; transform:none; }
.media-dropzone > span:last-child { display:grid; gap:4px; }
.media-dropzone small { color:var(--muted); font-size:11px; line-height:1.4; }
.media-drop-icon { display:grid; place-items:center; width:38px; height:38px; flex:0 0 auto; border-radius:10px; color:#fff; background:#3c7c9e; font-size:21px; }
.media-upload-queue { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.media-upload-queue:empty { display:none; }
.media-upload-item { display:grid; grid-template-columns:28px minmax(0,1fr); gap:8px; align-items:center; padding:8px 9px; border:1px solid var(--border); border-radius:9px; background:#fff; }
.media-upload-item > div { display:grid; min-width:0; gap:3px; }
.media-upload-item strong,.media-upload-item span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.media-upload-item strong { font-size:11px; }
.media-upload-item span { color:var(--muted); font-size:10px; }
.media-upload-state { display:grid; place-items:center; width:27px; height:27px; border-radius:50%; color:#fff !important; background:#3c7c9e; font-weight:700; }
.media-upload-item.done .media-upload-state { background:var(--brand); }
.media-upload-item.error .media-upload-state { background:var(--danger); }
.media-upload-progress { width:100%; height:3px; overflow:hidden; border:0; border-radius:999px; background:#dfe9ee; appearance:none; }
.media-upload-progress::-webkit-progress-bar { border-radius:999px; background:#dfe9ee; }
.media-upload-progress::-webkit-progress-value { border-radius:999px; background:#3c7c9e; }
.media-upload-progress::-moz-progress-bar { border-radius:999px; background:#3c7c9e; }
.media-upload-item.done .media-upload-progress::-webkit-progress-value { background:var(--brand); }
.media-upload-item.done .media-upload-progress::-moz-progress-bar { background:var(--brand); }
.media-upload-item.error .media-upload-progress::-webkit-progress-value { background:var(--danger); }
.media-upload-item.error .media-upload-progress::-moz-progress-bar { background:var(--danger); }
.media-library-toolbar { justify-content:space-between; padding-top:2px; }
.media-mode-switch { padding:3px; border-radius:9px; background:#e4edf1; }
.media-mode-switch button { min-height:32px; padding:6px 10px; border:0; border-radius:7px; color:var(--muted); background:transparent; cursor:pointer; }
.media-mode-switch button.is-active { color:#fff; background:#315f75; }
.media-filters select { min-height:34px; padding:6px 9px; }
.media-library { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.media-card { min-width:0; overflow:hidden; border:1px solid var(--border); border-radius:11px; background:#fff; box-shadow:0 3px 10px rgba(42,68,82,.05); }
.media-card.needs-review { border-color:#e1bb74; }
.media-preview { position:relative; display:grid; place-items:center; aspect-ratio:4 / 3; overflow:hidden; color:#55707e; background:linear-gradient(135deg,#eaf1f4,#dce8ed); }
.media-preview.has-image { background:#17242a; }
.media-preview img { width:100%; height:100%; object-fit:contain; }
.media-file-icon { display:grid; place-items:center; width:62px; height:62px; border:1px solid rgba(49,95,117,.22); border-radius:15px; background:rgba(255,255,255,.55); font-size:13px; font-weight:800; letter-spacing:.06em; }
.media-compare-label { position:absolute; top:8px; left:8px; padding:4px 8px; border-radius:999px; color:#fff; background:rgba(15,37,47,.76); font-size:11px; font-weight:700; }
.media-card-body { display:grid; gap:8px; padding:10px; }
.media-card-title { display:flex; align-items:flex-start; justify-content:space-between; gap:7px; min-width:0; }
.media-card-title > div { display:grid; min-width:0; gap:3px; }
.media-card-title strong { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.media-card-title span,.media-card-actions span { color:var(--muted); font-size:10px; }
.media-sort-badge { flex:0 0 auto; padding:3px 6px; border-radius:999px; color:var(--brand) !important; background:var(--brand-soft); font-size:9px !important; font-weight:700; }
.media-sort-badge.is-review { color:#7c4d08 !important; background:var(--warn-soft); }
.media-binding-summary { min-height:27px; color:#315f75; font-size:11px; line-height:1.35; }
.media-binding-editor { border-top:1px solid var(--border); }
.media-binding-editor summary { padding:8px 0 0; color:var(--muted); font-size:10px; cursor:pointer; }
.media-binding-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; padding-top:8px; }
.media-binding-grid .full { grid-column:1 / -1; }
.media-binding-grid input,.media-binding-grid select { min-width:0; min-height:31px; padding:5px 7px; font-size:11px; }
.media-binding-grid > button { grid-column:1 / -1; }
.media-card-actions { justify-content:space-between; }
.media-card-status { min-height:0; color:var(--danger); font-size:10px; }
.media-empty { display:grid; grid-column:1 / -1; gap:5px; min-height:110px; place-content:center; padding:18px; border:1px dashed #b8cbd5; border-radius:10px; color:#315f75; background:#f8fbfc; text-align:center; }
.media-empty span { max-width:520px; color:var(--muted); font-size:11px; line-height:1.45; }
.media-compare { display:grid; gap:10px; }
.media-compare-toolbar { display:flex; align-items:end; justify-content:space-between; gap:10px; padding:10px; border-radius:9px; background:#edf3f6; }
.media-compare-toolbar label { min-width:300px; }
.media-compare-toolbar > span { color:var(--muted); font-size:10px; }
.media-compare-stage { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.media-compare-item { overflow:hidden; border:1px solid var(--border); border-radius:11px; background:#fff; }
.media-compare-item > div:last-child { display:grid; gap:5px; padding:10px; }
.media-compare-item > div:last-child span { color:var(--muted); font-size:11px; }
.media-compare-item > div:last-child .button { justify-self:start; margin-top:3px; }
.media-compare-item.is-empty { border-style:dashed; }
.anesthesia-filter label { display:flex; align-items:center; gap:8px; color:var(--muted); }
.anesthesia-filter select { width:200px; }
.anesthesia-case-list { display:grid; gap:8px; }
.anesthesia-case-card { display:grid; grid-template-columns:minmax(210px,1.05fr) minmax(220px,1.2fr) minmax(150px,.75fr) minmax(180px,.85fr) auto 18px; gap:12px; align-items:center; width:100%; padding:12px; border:1px solid var(--border); border-radius:11px; text-align:left; background:#fff; cursor:pointer; }
.anesthesia-case-card:hover { border-color:#92aacb; box-shadow:0 5px 16px rgba(52,83,126,.08); }
.anesthesia-case-card small,.anesthesia-case-card span { color:var(--muted); }
.anesthesia-case-card strong { display:block; margin-bottom:3px; color:var(--text); }
.anesthesia-patient { display:flex; align-items:center; gap:9px; }
.anesthesia-procedure,.anesthesia-session,.anesthesia-doc-progress { min-width:0; }
.anesthesia-procedure strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.anesthesia-doc-progress { display:grid; gap:5px; }
.anesthesia-doc-progress b { color:#365e99; }
.progress-track { height:5px; overflow:hidden; border-radius:99px; background:#e7ebf1; }
.progress-track i { display:block; height:100%; border-radius:inherit; background:#4a78b5; }
.progress-track i[data-progress="33"] { width:33%; }
.progress-track i[data-progress="50"] { width:50%; }
.progress-track i[data-progress="67"] { width:67%; }
.progress-track i[data-progress="100"] { width:100%; }
.case-chevron { color:#7890ad !important; font-size:24px; }
.anesthesia-requirement-note { display:flex; flex-wrap:wrap; gap:6px; align-items:center; padding:10px; border-radius:9px; color:#405777; background:#edf2fa; }
.anesthesia-requirement-note span { padding:4px 7px; border-radius:999px; background:#fff; }
.modal.modal-anesthesia { width:min(1180px,100%); padding:0; background:#f4f6f8; }
.anesthesia-modal-header { position:sticky; top:0; z-index:3; margin:0; padding:17px 20px; color:#fff; background:linear-gradient(115deg,#243e63,#355e92); }
.anesthesia-modal-header .muted { color:#dbe5f2; }
.anesthesia-modal-header .icon-button { color:#fff; border-color:rgba(255,255,255,.26); background:rgba(255,255,255,.09); }
.anesthesia-stage-line { position:sticky; top:91px; z-index:2; display:grid; grid-template-columns:repeat(7,minmax(86px,1fr)); padding:12px 20px; border-bottom:1px solid var(--border); background:#fff; }
.anesthesia-stage { position:relative; display:grid; justify-items:center; gap:5px; color:#8793a2; font-size:11px; text-align:center; }
.anesthesia-stage::before { content:""; position:absolute; top:14px; left:-50%; width:100%; height:2px; background:#dfe4ea; }
.anesthesia-stage:first-child::before { display:none; }
.anesthesia-stage b { z-index:1; display:grid; place-items:center; width:29px; height:29px; border:2px solid #dfe4ea; border-radius:50%; background:#fff; }
.anesthesia-stage.done::before,.anesthesia-stage.current::before { background:#4a78b5; }
.anesthesia-stage.done b { color:#fff; border-color:#4a78b5; background:#4a78b5; }
.anesthesia-stage.current { color:#264d7c; font-weight:700; }
.anesthesia-stage.current b { border-color:#4a78b5; background:#e8eff8; }
#anesthesia-case-form { display:grid; gap:13px; padding:16px 20px 24px; }
.anesthesia-work-section { padding:15px; border:1px solid var(--border); border-radius:12px; background:#fff; }
.section-title { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:13px; }
.section-title > div { display:flex; align-items:center; gap:8px; }
.section-title > div > span { display:grid; place-items:center; width:29px; height:29px; border-radius:8px; color:#365e99; background:#e8eff8; font-size:11px; font-weight:800; }
.section-title > strong { color:#365e99; font-size:20px; }
.section-title small { color:var(--muted); }
.anesthesia-document-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.anesthesia-document-card { display:grid; align-content:start; gap:9px; min-width:0; padding:11px; border:1px solid #d9e1ed; border-radius:10px; background:#f8fafd; }
.anesthesia-document-card.is-optional { opacity:.76; }
.document-card-head { display:grid; grid-template-columns:39px minmax(0,1fr) auto; gap:8px; align-items:center; }
.document-card-head small { display:block; margin-top:2px; color:var(--muted); font-size:10px; }
.document-type-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:9px; color:#365e99; background:#e6edf8; font-size:10px; font-weight:800; }
.document-file { display:grid; gap:3px; width:100%; padding:8px; overflow:hidden; border:1px solid #d9e1ed; border-radius:8px; text-align:left; background:#fff; cursor:pointer; }
.document-file strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.document-file small,.document-empty,.document-upload span { color:var(--muted); font-size:10px; }
.document-empty { display:grid; min-height:49px; place-items:center; border:1px dashed #c8d2e1; border-radius:8px; }
.document-review-note { padding:7px; border-radius:7px; color:#6d470e; background:var(--warn-soft); font-size:11px; }
.document-upload { display:flex; flex-wrap:wrap; align-items:center; gap:7px; }
.document-review { display:grid; grid-template-columns:120px minmax(0,1fr); gap:7px; padding-top:8px; border-top:1px solid #d9e1ed; }
.document-review label { display:grid; gap:4px; color:var(--muted); font-size:10px; }
.document-review input { min-height:34px; padding:6px 7px; }
.document-review > div { grid-column:1 / -1; display:flex; gap:6px; }
.anesthesia-decision-panel { display:grid; grid-template-columns:minmax(220px,1fr) 160px minmax(260px,1fr); gap:11px; align-items:end; padding:15px; border:1px solid #afc4df; border-radius:12px; background:#eef3fa; }
.anesthesia-decision-panel p { margin-top:4px; color:#526782; font-size:11px; }
.anesthesia-decision-panel label { display:grid; gap:5px; color:#526782; }
.decision-actions { grid-column:1 / -1; display:flex; justify-content:flex-end; gap:7px; }
.anesthesia-audit { padding:14px; border:1px solid var(--border); border-radius:12px; background:#fff; }
.anesthesia-audit h3 { margin-bottom:8px; }
.anesthesia-audit > div { display:grid; grid-template-columns:150px minmax(0,1fr) 190px; gap:9px; padding:7px 0; border-top:1px solid var(--border); }
.anesthesia-audit span,.anesthesia-audit small { color:var(--muted); }
.anesthesia-sticky-actions { position:sticky; bottom:-24px; z-index:2; align-items:center; justify-content:space-between; margin:0 -20px -24px; padding:13px 20px; border-top:1px solid var(--border); background:#fff; box-shadow:0 -5px 16px rgba(31,48,70,.06); }
.anesthesia-sticky-actions > div { display:flex; gap:8px; }
.anesthesia-generated-protocol small { color:var(--muted); font-size:10px; font-weight:400; }
.anesthesia-generated-protocol textarea { color:#30495a; background:#f2f6f8; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:11px; line-height:1.45; }
.anesthesia-routing-settings { display:grid; gap:13px; }
.anesthesia-channel-settings { display:flex; flex-wrap:wrap; align-items:center; gap:9px 16px; padding:11px 12px; border:1px solid #d9e1ed; border-radius:10px; background:#f8fafd; }
.anesthesia-channel-settings > strong { margin-right:auto; }
.anesthesia-channel-settings label,.provider-channels label,.provider-allow { display:flex; align-items:center; gap:6px; color:var(--muted); font-size:11px; }
.anesthesia-channel-settings input,.provider-channels input,.provider-allow input,.anesthesia-provider-setting > label input[type="checkbox"] { flex:0 0 auto; width:17px; min-height:17px; padding:0; accent-color:var(--brand); }
.anesthesia-provider-settings-list { display:grid; gap:8px; margin-top:12px; }
.anesthesia-provider-setting { display:grid; grid-template-columns:minmax(210px,1.25fr) auto 95px minmax(180px,1fr) auto auto; align-items:center; gap:9px; padding:10px; border:1px solid var(--border); border-radius:10px; background:#f8faf9; }
.anesthesia-provider-setting > label:not(.provider-allow) { display:grid; gap:3px; color:var(--muted); font-size:10px; }
.anesthesia-provider-setting input[type="number"] { min-height:33px; padding:5px 7px; }
.provider-channels { display:flex; flex-wrap:wrap; gap:7px; }
.provider-search-toolbar { display:grid; grid-template-columns:180px 160px auto; align-items:end; gap:8px; margin-bottom:11px; padding:10px; border-radius:10px; background:#f4f7fb; }
.provider-search-toolbar label { display:grid; gap:4px; color:var(--muted); font-size:10px; }
.provider-search-toolbar input { min-height:36px; }
.anesthesia-provider-options { display:grid; gap:10px; }
.provider-loading,.provider-empty { display:grid; place-content:center; gap:4px; min-height:92px; padding:15px; border:1px dashed #b9c8db; border-radius:10px; color:var(--muted); text-align:center; background:#f8fafd; }
.provider-empty strong { color:var(--text); }
.anesthesia-plan-summary { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:11px 13px; border:1px solid #bed5c9; border-radius:10px; background:#f2faf6; }
.anesthesia-plan-summary > div { display:grid; min-width:0; gap:2px; }
.anesthesia-plan-summary span,.anesthesia-plan-summary small { color:var(--muted); font-size:10px; }
.anesthesia-plan-summary small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.anesthesia-plan-summary > b { flex:0 0 auto; color:var(--brand); font-size:17px; }
.anesthesia-plan-summary.is-empty { border-color:#e2cfaa; background:#fff9ee; }
.anesthesia-provider-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.anesthesia-provider-card { display:grid; align-content:start; gap:9px; padding:11px; border:1px solid #d9e1ed; border-radius:11px; background:#fff; }
.anesthesia-provider-card.is-preferred { border-color:#86aad2; box-shadow:inset 3px 0 #4a78b5; }
.provider-card-head { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.provider-slot-list { display:grid; gap:7px; }
.provider-slot,.provider-extension { display:flex; align-items:center; justify-content:space-between; gap:9px; padding:9px; border:1px solid var(--border); border-radius:9px; background:#f8fafc; }
.provider-slot > span,.provider-extension > div { display:grid; min-width:0; gap:2px; }
.provider-slot small,.provider-extension small { color:var(--muted); font-size:10px; line-height:1.35; }
.provider-extension { align-items:flex-end; border-color:#e8c98e; background:#fff9ed; }
.provider-extension .badge { justify-self:start; margin-bottom:2px; }
.provider-unavailable { padding:12px; color:var(--muted); text-align:center; font-size:11px; }
.provider-request-list { display:grid; gap:7px; padding-top:4px; }
.provider-request-list h4 { margin:2px 0; }
.provider-request-row { display:grid; grid-template-columns:minmax(210px,1fr) minmax(190px,.75fr) minmax(210px,auto); align-items:center; gap:9px; padding:10px; border:1px solid var(--border); border-radius:9px; background:#fbfcfd; }
.provider-request-row > div:first-child { display:grid; gap:2px; }
.provider-request-row > div:first-child span,.provider-request-row small { color:var(--muted); font-size:10px; }
.provider-confirmations { display:grid; gap:5px; font-size:10px; }
.provider-confirmations > span { display:flex; align-items:center; justify-content:space-between; gap:6px; }
.provider-response-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:5px; }
.anesthesia-live-open { color:#294e78; background:#fff; }
.modal.modal-anesthesia-live { width:min(1480px,100%); max-height:calc(100vh - 28px); padding:0; overflow:hidden; color:#dfeaf0; background:#0e1b22; }
.anesthesia-live-header { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:88px; padding:15px 19px; border-bottom:1px solid #2a3b44; background:#14252e; }
.anesthesia-live-header h2 { margin:3px 0; color:#fff; font-size:22px; }
.anesthesia-live-header p { color:#8fa5b0; }
.anesthesia-live-header .eyebrow { color:#5ecdb6; }
.live-header-status { display:flex; align-items:center; gap:9px; }
.live-header-status .icon-button { color:#fff; border-color:#42545d; background:#20343e; }
.live-route-button { color:#d6e4ea; border-color:#40545e; background:#21353f; }
.live-timer { display:flex; align-items:center; gap:8px; min-width:118px; padding:9px 12px; border:1px solid #31535a; border-radius:9px; color:#dffbf5; background:#15363a; font-variant-numeric:tabular-nums; }
.live-timer i { width:8px; height:8px; border-radius:50%; background:#51d5b6; box-shadow:0 0 0 5px rgba(81,213,182,.12); animation:live-pulse 1.6s infinite; }
.live-timer b { font-size:17px; letter-spacing:.04em; }
@keyframes live-pulse { 50% { opacity:.48; transform:scale(.82); } }
.anesthesia-live-body { display:grid; grid-template-columns:minmax(0,1fr) 350px; min-height:0; height:calc(100vh - 217px); }
.anesthesia-live-main { display:grid; align-content:start; gap:11px; min-width:0; padding:13px; overflow:auto; background:#0f1e25; }
.live-vitals { display:grid; grid-template-columns:repeat(6,minmax(115px,1fr)); gap:8px; }
.live-vitals article { display:grid; gap:6px; min-width:0; padding:11px 12px; border:1px solid #2a414a; border-radius:10px; background:linear-gradient(145deg,#192c35,#15262e); }
.live-vitals article > span { color:#8fa5b0; font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.live-vitals strong { display:flex; align-items:baseline; gap:5px; color:#f2fafc; font-size:25px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.live-vitals strong small { color:#8fa5b0; font-size:9px; font-weight:500; }
.vital-empty { color:#718792; }
.live-panel { min-width:0; padding:12px; border:1px solid #293d46; border-radius:11px; background:#15262e; }
.live-panel-title { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; }
.live-panel-title > div:first-child { display:grid; gap:2px; }
.live-panel-title span { color:#edf7fa; font-weight:700; }
.live-panel-title small { color:#8299a4; }
.trend-legend { display:flex !important; flex-direction:row !important; flex-wrap:wrap; gap:10px !important; color:#9cb0b8; font-size:10px; }
.trend-legend span { display:flex; align-items:center; gap:4px; color:#9cb0b8; font-weight:500; }
.trend-legend span::before { content:""; width:14px; height:3px; border-radius:9px; }
.legend-heart::before { background:#58cfad; }
.legend-spo2::before { background:#6db3ee; }
.legend-sbp::before { background:#f2b55d; }
.legend-dbp::before { background:#cf83eb; }
.anesthesia-trend-chart { display:block; width:100%; height:190px; overflow:visible; }
.trend-grid { stroke:#49606a; stroke-width:1; }
.trend-grid-soft { stroke:#263b45; }
.trend-line { fill:none; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.trend-heart-rate { stroke:#58cfad; }
.trend-spo2 { stroke:#6db3ee; }
.trend-systolic-bp { stroke:#f2b55d; }
.trend-diastolic-bp { stroke:#cf83eb; }
.trend-label { fill:#7f959f; font-size:10px; }
.anesthesia-chart-empty { display:grid; min-height:128px; place-content:center; gap:4px; padding:16px; color:#d4e3e8; text-align:center; }
.anesthesia-chart-empty span { max-width:520px; color:#7f959f; font-size:11px; }
.live-observation-form { display:grid; grid-template-columns:repeat(5,minmax(82px,1fr)); gap:7px; align-items:end; }
.live-observation-form label,.live-compact-form label { display:grid; gap:4px; color:#8fa5b0; font-size:10px; }
.modal-anesthesia-live input,.modal-anesthesia-live select { min-width:0; min-height:35px; color:#edf7fa; border-color:#344b55; background:#102129; }
.modal-anesthesia-live input::placeholder { color:#607680; }
.modal-anesthesia-live select option { color:#17252b; background:#fff; }
.live-observation-form .button { min-height:35px; }
.live-clinical-note { margin-top:8px; color:#78909a; font-size:10px; }
.live-quick-events { display:flex; flex-wrap:wrap; gap:7px; }
.modal-anesthesia-live .button { color:#dce9ee; border-color:#3a515b; background:#1d323c; }
.modal-anesthesia-live .button:hover { border-color:#577480; }
.modal-anesthesia-live .button-primary { color:#0a2a25; border-color:#59d1b5; background:#59d1b5; }
.modal-anesthesia-live .button-danger-soft { color:#ffc7c2; border-color:#714441; background:#3c2829; }
.live-entry-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
.live-compact-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; align-items:end; }
.live-compact-form .full { grid-column:1 / -1; }
.medication-picker-label { position:relative; }
.medication-picker-field { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 38px; }
.medication-picker-field > input { border-radius:7px 0 0 7px; }
.medication-picker-toggle { display:grid; min-height:35px; place-items:center; border:1px solid #344b55; border-left:0; border-radius:0 7px 7px 0; color:#dce9ee; background:#1d323c; cursor:pointer; }
.medication-picker-toggle:hover,.medication-picker-toggle[aria-expanded="true"] { color:#0b2d28; background:#59d1b5; }
.medication-picker-toggle span { transform:translateY(-2px); font-size:21px; line-height:1; }
.medication-picker-menu { position:absolute; z-index:12; top:calc(100% + 7px); left:0; display:grid; width:min(440px,calc(100vw - 56px)); max-height:390px; padding:10px; overflow:hidden; border:1px solid #45616c; border-radius:10px; background:#172a33; box-shadow:0 18px 44px rgba(0,0,0,.38); }
.medication-picker-menu[hidden] { display:none; }
.medication-picker-head { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:0 0 8px; }
.medication-picker-head > div { display:grid; gap:2px; }
.medication-picker-head strong { color:#f0f8fa; font-size:12px; }
.medication-picker-head span { color:#7f969f; font-size:9px; }
.medication-picker-head .icon-button { width:29px; height:29px; min-height:29px; color:#dce9ee; border-color:#3c525c; background:#20343e; }
.medication-picker-search { display:grid !important; grid-template-columns:48px minmax(0,1fr); align-items:center; gap:7px !important; padding:7px; border-radius:7px; background:#102129; }
.medication-picker-search input { min-height:32px; }
.medication-picker-list { display:grid; gap:9px; max-height:262px; margin:8px -2px 0 0; padding-right:4px; overflow:auto; }
.medication-picker-list section { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; }
.medication-picker-list h4 { grid-column:1 / -1; margin:2px 0 1px; color:#7f969f; font-size:9px; letter-spacing:.07em; text-transform:uppercase; }
.medication-picker-list button { display:flex; align-items:center; justify-content:space-between; gap:7px; min-width:0; padding:8px; border:1px solid #304751; border-radius:7px; color:#dce9ee; text-align:left; background:#1d323c; cursor:pointer; }
.medication-picker-list button:hover,.medication-picker-list button:focus { outline:none; border-color:#59d1b5; background:#23413f; }
.medication-picker-list button strong { overflow:hidden; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.medication-picker-list button span { flex:0 0 auto; color:#7f969f; font-size:8px; }
.medication-picker-menu > p { padding-top:7px; color:#718994; font-size:9px; }
.anesthesia-live-sidebar { display:grid; grid-template-rows:auto minmax(0,1fr); min-width:0; overflow:hidden; border-left:1px solid #2a3b44; background:#122129; }
.live-sidebar-head { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:13px; border-bottom:1px solid #293d46; }
.live-sidebar-head > div { display:grid; gap:2px; }
.live-sidebar-head strong { color:#f1f7f9; }
.live-sidebar-head span { color:#8198a2; font-size:10px; }
.live-feed { display:grid; align-content:start; gap:7px; min-height:0; padding:10px; overflow:auto; }
.live-feed-item { display:grid; grid-template-columns:30px minmax(0,1fr); gap:8px; padding:9px; border:1px solid #2b414b; border-radius:9px; background:#172a33; }
.live-feed-item.assessment-warning,.live-feed-item.event-warning { border-color:#715b36; }
.live-feed-item.assessment-critical,.live-feed-item.event-critical { border-color:#75413f; background:#302427; }
.live-feed-mark { display:grid; place-items:center; width:29px; height:29px; border-radius:8px; color:#7ce1ca; background:#203c40; font-size:10px; font-weight:800; }
.type-medication .live-feed-mark { color:#91c8f4; background:#243b4e; }
.type-infusion .live-feed-mark { color:#b9a4ef; background:#342f4b; }
.event-critical .live-feed-mark { color:#ffb3ad; background:#512f30; }
.live-feed-item > div { display:grid; min-width:0; gap:4px; }
.live-feed-item > div > div { display:flex; align-items:center; justify-content:space-between; gap:5px; }
.live-feed-item strong { overflow:hidden; color:#e9f3f6; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.live-feed-item p { color:#9cb0b8; font-size:10px; line-height:1.35; }
.live-feed-item small { color:#6f8791; font-size:9px; }
.anesthesia-live-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:89px; padding:12px 16px; border-top:1px solid #2a3b44; background:#14252e; }
.anesthesia-live-footer > div:first-child { display:grid; gap:3px; }
.anesthesia-live-footer strong { color:#eaf3f6; }
.anesthesia-live-footer span { color:#849aa4; font-size:10px; }
.anesthesia-live-footer .row-actions { align-items:end; }
.anesthesia-live-footer label { display:grid; gap:4px; min-width:100px; color:#8fa5b0; font-size:9px; }
.anesthesia-live-footer label:nth-of-type(2) { min-width:260px; }
.anesthesia-live-footer .form-error { color:#ffc7c2; }
.doctor-footer { grid-column:1 / -1; display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:66px; padding:12px 18px; border-top:1px solid var(--border); background:var(--panel); box-shadow:0 -5px 18px rgba(31,63,49,.05); }
.doctor-footer > span:first-child { color:var(--muted); font-size:12px; }
.modal-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:18px; }

.checkout-header { position:sticky; top:-20px; z-index:5; display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin:-20px -20px 0; padding:20px 24px 18px; color:#fff; background:linear-gradient(118deg,#0f624b,#16735a); }
.checkout-header h2 { margin:4px 0; font-size:23px; }
.checkout-header p { margin:0; color:#d9f0e8; }
.checkout-header .eyebrow { color:#a9ddcc; }
.checkout-header .icon-button { color:#fff; border-color:rgba(255,255,255,.28); background:rgba(255,255,255,.08); }
.checkout-success { display:flex; align-items:center; gap:12px; margin:16px 0 0; padding:12px 15px; border:1px solid #9ed2bc; border-radius:11px; color:#145943; background:#effaf5; }
.checkout-success > span { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; color:#fff; background:#16805f; }
.checkout-success div { display:grid; gap:2px; }
.checkout-success small { color:var(--muted); }
.checkout-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin:17px 0; padding:0 4px; }
.checkout-steps span { position:relative; display:flex; align-items:center; gap:8px; color:#84928d; font-size:12px; font-weight:700; }
.checkout-steps span::after { content:""; height:2px; flex:1; margin-right:8px; background:#dce5e1; }
.checkout-steps span:last-child::after { display:none; }
.checkout-steps b { display:grid; place-items:center; width:26px; height:26px; border:1px solid #cbd8d3; border-radius:50%; background:#fff; }
.checkout-steps .is-done,.checkout-steps .is-current { color:var(--brand); }
.checkout-steps .is-done b { color:#fff; border-color:var(--brand); background:var(--brand); }
.checkout-steps .is-current b { border:2px solid var(--brand); }
.checkout-layout { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:16px; align-items:start; }
.checkout-main { display:grid; gap:14px; min-width:0; }
.checkout-section { padding:16px; border:1px solid var(--border); border-radius:12px; background:#fff; }
.checkout-section-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:13px; }
.checkout-section h3 { margin:0 0 3px; font-size:16px; }
.checkout-section p { margin:0; color:var(--muted); font-size:12px; }
.checkout-discounts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.checkout-discounts label { display:grid; gap:5px; font-size:12px; font-weight:700; }
.checkout-discounts small { color:var(--muted); font-weight:400; }
.checkout-method-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.checkout-method { display:grid; grid-template-columns:32px minmax(0,1fr); gap:1px 8px; align-items:center; min-height:58px; padding:8px 10px; text-align:left; border:1px solid var(--border); border-radius:10px; color:var(--text); background:#fbfdfc; cursor:pointer; }
.checkout-method:hover { border-color:#69aa94; background:var(--brand-soft); }
.checkout-method > span { grid-row:1 / 3; display:grid; place-items:center; width:32px; height:32px; border-radius:9px; color:var(--brand); font-size:12px; font-weight:800; background:#e5f4ee; }
.checkout-method strong { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.checkout-method small { overflow:hidden; color:var(--muted); font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.checkout-payment-rows { display:grid; gap:8px; margin-top:12px; }
.checkout-payment-row { display:grid; grid-template-columns:1.1fr .65fr 1.1fr 1fr 38px; gap:8px; align-items:end; padding:10px; border:1px solid #dbe6e1; border-radius:10px; background:#f8fbfa; }
.checkout-payment-row label { display:grid; gap:4px; min-width:0; color:var(--muted); font-size:10px; font-weight:700; }
.checkout-payment-row input,.checkout-payment-row select { width:100%; min-width:0; }
.checkout-remove-payment { margin-bottom:1px; }
.checkout-debt-confirm { display:flex; align-items:flex-start; gap:8px; margin-top:12px; color:var(--muted); font-size:12px; }
.checkout-debt-confirm input { width:auto; margin-top:2px; }
.checkout-summary { position:sticky; top:76px; display:grid; gap:11px; padding:17px; border:1px solid #a7cdbc; border-radius:12px; background:#f2faf6; box-shadow:0 10px 28px rgba(25,84,63,.08); }
.checkout-summary > span { padding-bottom:7px; color:var(--brand); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; border-bottom:1px solid #cce1d8; }
.checkout-summary > div { display:flex; justify-content:space-between; gap:8px; }
.checkout-summary small { color:var(--muted); }
.checkout-summary .checkout-total { padding-top:11px; border-top:1px solid #cce1d8; }
.checkout-summary .checkout-total strong { color:var(--brand); font-size:21px; }
.checkout-summary .checkout-remaining { padding:10px; border-radius:8px; background:#fff; }
.checkout-summary .checkout-remaining strong { color:#a55616; }
.checkout-balance-state { justify-content:center !important; padding:7px; border-radius:8px; text-align:center; font-size:11px; font-weight:700; }
.checkout-balance-state.is-paid { color:#126044; background:#daf2e7; }
.checkout-balance-state.is-debt { color:#965219; background:#fff0dc; }
.checkout-history { display:grid; gap:8px; }
.checkout-history > div { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 11px; border:1px solid #e1e8e5; border-radius:9px; }
.checkout-history span { display:grid; gap:2px; }
.checkout-history small { color:var(--muted); }
.toast { position:fixed; z-index:50; right:20px; bottom:20px; display:flex; align-items:center; gap:9px; max-width:380px; padding:12px 14px; border:1px solid var(--border); border-radius:10px; background:var(--panel); box-shadow:var(--shadow); }
.toast > span { display:grid; place-items:center; width:23px; height:23px; border-radius:50%; color:#fff; background:var(--brand); }
.implant-planning-page { --implant-dark:#102028; --implant-panel:#142832; --implant-line:#29434d; --implant-cyan:#55d8d1; }
.implant-page-heading { margin-bottom:14px; }
.implant-planning-root { display:grid; gap:10px; }
.implant-casebar { display:grid; grid-template-columns:minmax(260px,1.2fr) minmax(240px,.9fr) auto auto; align-items:center; gap:16px; padding:12px 14px; border:1px solid var(--border); border-radius:14px; background:var(--surface); box-shadow:var(--shadow); }
.implant-patient { display:flex; align-items:center; gap:10px; min-width:0; }
.implant-patient .avatar { width:40px; height:40px; flex:0 0 auto; }
.implant-patient div,.implant-case-meta { display:grid; gap:2px; min-width:0; }
.implant-patient small,.implant-case-meta small { overflow:hidden; color:var(--muted); font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.implant-casebar > label { display:grid; gap:4px; color:var(--muted); font-size:10px; font-weight:700; text-transform:uppercase; }
.implant-casebar select { min-width:220px; }
.implant-case-meta { grid-template-columns:auto auto; align-items:center; gap:4px 8px; }
.implant-case-meta > span:first-child { font-size:12px; font-weight:800; }
.implant-case-meta small { grid-column:1 / -1; }
.implant-source-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); overflow:hidden; border:1px solid var(--implant-line); border-radius:13px; color:#d9edf1; background:#152932; }
.implant-source-strip > div { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:9px; min-height:62px; padding:9px 12px; border-right:1px solid var(--implant-line); }
.implant-source-strip > div:last-child { border-right:0; }
.implant-source-strip span:not(.source-icon) { display:grid; gap:2px; min-width:0; }
.implant-source-strip strong { font-size:11px; }
.implant-source-strip small { overflow:hidden; color:#8faab3; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.implant-source-strip b { color:#6fe3b2; font-size:9px; font-weight:700; }
.source-icon { display:grid; place-items:center; width:31px; height:31px; border:1px solid #3e6772; border-radius:8px; color:#aeeef0; font-size:10px; font-weight:900; background:#203b45; }
.source-icon.stl { color:#80e7c1; }.source-icon.face { color:#e0c889; }
.implant-alignment i { width:10px; height:10px; border:3px solid #70dea9; border-radius:50%; box-shadow:0 0 0 4px #70dea920; }
.implant-workspace { display:grid; grid-template-columns:190px minmax(480px,1fr) 300px; gap:1px; overflow:hidden; border:1px solid var(--implant-line); border-radius:16px; color:#d7e9ed; background:var(--implant-line); box-shadow:0 18px 38px #0c293519; }
.implant-tools,.implant-parameters { padding:15px; background:var(--implant-panel); }
.implant-side-title { display:flex; align-items:flex-end; justify-content:space-between; gap:10px; margin-bottom:11px; }
.implant-side-title span { color:#f0f8fa; font-size:12px; font-weight:800; }
.implant-side-title small { color:#7998a3; font-size:9px; }
.implant-layer-row { display:grid; grid-template-columns:auto auto minmax(0,1fr); align-items:center; gap:8px; min-height:43px; padding:4px 0; cursor:pointer; }
.implant-layer-row input { width:15px; height:15px; margin:0; accent-color:var(--implant-cyan); }
.implant-layer-row span { display:grid; gap:1px; }
.implant-layer-row strong { font-size:10px; }.implant-layer-row small { color:#78949e; font-size:9px; }
.layer-swatch { width:9px; height:22px; border-radius:5px; background:#c8e2e7; }.layer-swatch.intraoral { background:#eefcfc; }.layer-swatch.crown { background:#5de4d4; }.layer-swatch.nerve { background:#f3a23c; }.layer-swatch.face { background:#6db9d0; }
.implant-source-title { margin-top:19px; padding-top:14px; border-top:1px solid var(--implant-line); }
.implant-projections { display:grid; grid-template-columns:1fr 1fr; gap:5px; }
.implant-projections button,.implant-view-tools button { min-height:30px; border:1px solid #35515a; border-radius:7px; color:#a9c0c8; font:inherit; font-size:9px; font-weight:700; background:#192f38; cursor:pointer; }
.implant-projections button.is-active { color:#10272d; border-color:var(--implant-cyan); background:var(--implant-cyan); }
.implant-mini-guide { display:grid; grid-template-columns:1fr auto; gap:4px 8px; margin-top:17px; padding:10px; border-radius:9px; color:#78949d; font-size:8px; background:#10242c; }
.implant-mini-guide b { color:#b3cbd1; text-align:right; }
.implant-scene-panel { display:grid; grid-template-rows:auto minmax(400px,1fr) auto; min-width:0; min-height:590px; background:var(--implant-dark); }
.implant-scene-head { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:59px; padding:10px 15px; border-bottom:1px solid var(--implant-line); background:#142831; }
.implant-scene-head > div:first-child { display:grid; gap:2px; }.implant-scene-head span { color:#71929c; font-size:9px; text-transform:uppercase; }.implant-scene-head strong { color:#f2fbfc; font-size:12px; }
.implant-view-tools { display:flex; align-items:center; gap:5px; }.implant-view-tools button { min-width:30px; padding:4px 8px; }.implant-view-tools b { min-width:38px; font-size:9px; text-align:center; }
.implant-scene { position:relative; min-height:400px; overflow:hidden; outline:none; background:radial-gradient(circle at 52% 45%,#27414b 0,#12272f 52%,#0c1c23 100%); cursor:grab; touch-action:none; user-select:none; }
.implant-scene.is-dragging { cursor:grabbing; }.implant-scene svg { display:block; width:100%; height:100%; min-height:400px; }
.implant-scene.projection-axial { background:radial-gradient(ellipse at center,#314d58,#0c1c23 72%); }.implant-scene.projection-sagittal { background:linear-gradient(100deg,#0e2028,#294650 56%,#0d2028); }
.scene-measurements text,.scene-scale text,.scene-orientation text { fill:#a9d7df; font-size:11px; font-family:inherit; }.scene-orientation,.scene-scale { fill:none; stroke:#7696a0; stroke-width:1.4; }
.implant-scene-tags span { position:absolute; padding:4px 7px; border-radius:5px; font-size:8px; font-weight:700; backdrop-filter:blur(5px); }.tag-crown { top:25%; left:53%; color:#80f0e4; border:1px solid #5de4d466; background:#17383dcc; }.tag-nerve { right:14%; bottom:22%; color:#ffc577; border:1px solid #e99c3e66; background:#352a1dcc; }
.implant-crosshair { position:absolute; inset:50% auto auto 50%; width:32px; height:32px; transform:translate(-50%,-50%); pointer-events:none; }.implant-crosshair i:first-child { position:absolute; top:15px; left:0; width:32px; border-top:1px solid #ffffff66; }.implant-crosshair i:last-child { position:absolute; top:0; left:15px; height:32px; border-left:1px solid #ffffff66; }
.implant-scene-footer { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:37px; padding:7px 13px; color:#7f9ca6; font-size:8px; background:#10242c; }.dot-live { display:inline-block; width:6px; height:6px; margin-right:4px; border-radius:50%; background:#64dfac; box-shadow:0 0 0 3px #64dfac20; }
.implant-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:9px; }.implant-form-grid label,.implant-prosthetic-grid label { display:grid; gap:4px; color:#85a2ab; font-size:9px; font-weight:700; }.implant-form-grid .full,.implant-prosthetic-grid .full { grid-column:1 / -1; }
.implant-workspace input,.implant-workspace select,.implant-workspace textarea { min-width:0; color:#e8f4f6; border-color:#34505a; background:#10242c; }.implant-workspace select option { color:#e8f4f6; background:#10242c; }.implant-workspace input[type=range] { width:100%; padding:0; accent-color:var(--implant-cyan); }.implant-form-grid output { justify-self:end; margin-top:-3px; color:#72e0d7; font-size:9px; }
.implant-safety { margin-top:15px; padding-top:14px; border-top:1px solid var(--implant-line); }.implant-safety header { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:7px; }.implant-safety header div { display:grid; gap:2px; }.implant-safety header span { color:#819da6; font-size:8px; text-transform:uppercase; }.implant-safety header strong { color:#d9ebee; font-size:10px; }.implant-safety header > b { display:grid; place-items:center; width:25px; height:25px; border-radius:50%; color:#113027; background:#65dfaa; }.implant-safety.has-warning header > b { color:#40290c; background:#f2b353; }
.implant-check { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:7px; padding:7px 0; border-bottom:1px solid #29434d99; }.implant-check > span { display:grid; place-items:center; width:17px; height:17px; border-radius:50%; color:#102b23; font-size:9px; font-weight:900; background:#66dbaa; }.implant-check.is-warning > span { color:#442c0d; background:#efb453; }.implant-check div { display:flex; justify-content:space-between; gap:8px; }.implant-check strong,.implant-check small { font-size:8px; }.implant-check small { color:#8aa4ac; white-space:nowrap; }
.implant-recommendations-panel,.implant-prosthetics-panel { grid-column:1 / -1; padding:15px; color:var(--text); background:var(--surface); }
.implant-section-head { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:12px; }.implant-section-head > div:first-child { display:grid; gap:2px; }.implant-section-head span:not(.badge) { color:var(--brand); font-size:9px; font-weight:800; text-transform:uppercase; }.implant-section-head strong { font-size:15px; }.implant-section-head small { color:var(--muted); font-size:10px; }
.implant-recommendations { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }.implant-recommendation { display:grid; grid-template-columns:auto 1fr auto; grid-template-rows:auto auto; gap:5px 9px; min-width:0; padding:10px; border:1px solid var(--border); border-radius:11px; color:var(--text); text-align:left; background:var(--surface-soft); cursor:pointer; }.implant-recommendation:hover,.implant-recommendation.is-selected { border-color:var(--brand); box-shadow:0 0 0 2px var(--brand-soft); }.implant-recommendation.is-selected { background:#f1faf8; }.implant-recommendation.is-caution { opacity:.65; }
.implant-rank { display:grid; place-items:center; width:22px; height:22px; border-radius:50%; color:#fff; font-size:9px; font-weight:900; background:var(--brand); }.implant-rec-main { display:grid; gap:1px; }.implant-rec-main small { color:var(--brand); font-size:8px; font-weight:800; text-transform:uppercase; }.implant-rec-main strong { font-size:11px; }.implant-rec-main b { color:var(--muted); font-size:9px; }.implant-rec-fit { display:grid; align-content:start; justify-items:end; }.implant-rec-fit b { color:var(--brand); font-size:14px; }.implant-rec-fit small { color:var(--muted); font-size:7px; }.implant-rec-reasons { grid-column:2 / -1; display:flex; flex-wrap:wrap; gap:3px; }.implant-rec-reasons i { padding:2px 5px; border-radius:4px; color:#62777c; font-size:7px; font-style:normal; background:#e7f0f1; }
.implant-prosthetics-panel { border-top:1px solid var(--border); }.implant-prosthetic-flow { display:flex; align-items:center; gap:6px; }.implant-prosthetic-flow span { padding:5px 8px; border-radius:12px; color:var(--muted); font-size:8px; background:var(--surface-soft); }.implant-prosthetic-flow span.done { color:#16735c; background:#e0f7ef; }.implant-prosthetic-flow span.current { color:#0f6b7a; background:#dff5f8; }.implant-prosthetic-flow i { color:var(--muted); font-style:normal; }
.implant-prosthetic-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }.implant-prosthetic-grid input,.implant-prosthetic-grid select,.implant-prosthetic-grid textarea { color:var(--text); border-color:var(--border); background:var(--surface); }.implant-final-check { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; margin-top:11px; }.implant-final-check span { display:flex; align-items:center; gap:7px; padding:8px; border:1px solid var(--border); border-radius:8px; color:var(--muted); font-size:8px; }.implant-final-check b { display:grid; place-items:center; width:18px; height:18px; border-radius:50%; color:#fff; background:#9dacb0; }.implant-final-check .done { color:#176851; border-color:#b9e9d9; background:#f0fbf7; }.implant-final-check .done b { background:#57c99f; }
.implant-workspace.is-readonly input:disabled,.implant-workspace.is-readonly select:disabled,.implant-workspace.is-readonly textarea:disabled { opacity:.8; cursor:not-allowed; }
.surgical-guide-section { grid-column:1 / -1; color:var(--text); background:var(--surface); border-top:1px solid var(--border); }
.surgical-guide-section.is-locked { display:grid; grid-template-columns:auto minmax(260px,1fr) auto; align-items:center; gap:18px; padding:20px; background:linear-gradient(110deg,#f7faf9,#eef5f4); }
.guide-lock-icon { display:grid; place-items:center; width:46px; height:46px; border:1px solid #bdd4d0; border-radius:14px; color:#4d7c75; font-size:22px; background:#fff; }
.surgical-guide-section h3 { margin:2px 0 4px; font-size:18px; }.surgical-guide-section p { margin:0; color:var(--muted); font-size:10px; line-height:1.5; }
.guide-gate { display:flex; align-items:center; gap:6px; color:var(--muted); font-size:8px; }.guide-gate b { display:grid; place-items:center; width:21px; height:21px; border-radius:50%; color:#fff; background:#78928d; }.guide-gate i { font-style:normal; }
.surgical-guide-section.is-callout { display:grid; grid-template-columns:minmax(0,1fr) 220px; gap:24px; padding:22px; background:linear-gradient(115deg,#f6fffb,#e6f8f3); }
.guide-callout-copy h3 { margin-top:3px; font-size:20px; }.guide-package-inline { display:flex; flex-wrap:wrap; gap:5px; margin-top:12px; }.guide-package-inline span { padding:5px 8px; border:1px solid #bfe6d8; border-radius:13px; color:#216c59; font-size:8px; background:#fff; }
.guide-callout-action { display:grid; justify-items:center; gap:8px; align-content:center; }.guide-callout-action small { color:var(--muted); font-size:8px; }.guide-callout-action .button { width:100%; }
.guide-preview-mini { position:relative; width:100px; height:55px; border:8px solid #63d8c5aa; border-top:0; border-radius:8px 8px 45px 45px; transform:perspective(90px) rotateX(24deg); }.guide-preview-mini i { position:absolute; top:-9px; left:42px; width:18px; height:36px; border:4px solid #829aa2; border-radius:3px; background:#e8f0f2; }.guide-preview-mini b,.guide-preview-mini span { position:absolute; top:10px; width:10px; height:20px; border-radius:5px; background:#fff; }.guide-preview-mini b { left:13px; }.guide-preview-mini span { right:13px; }
.surgical-guide-section.is-builder { padding:0; }.guide-builder-head { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:16px 18px; border-bottom:1px solid var(--border); background:#f7fbfa; }.guide-builder-head h3 { margin:1px 0 2px; }.guide-builder-head h3 small { color:var(--muted); font-size:9px; font-weight:700; }.guide-head-status { display:grid; justify-items:end; gap:4px; }.guide-head-status small { color:var(--muted); font-size:8px; }
.guide-builder-grid { display:grid; grid-template-columns:minmax(380px,1.25fr) minmax(290px,.85fr) 320px; gap:1px; background:var(--border); }.guide-configuration,.guide-visual-column,.guide-order-column { padding:16px; background:var(--surface); }.guide-order-column { background:#f8fbfa; }
.guide-block-title { display:flex; align-items:center; gap:8px; margin:2px 0 11px; }.guide-block-title > span { display:grid; place-items:center; width:25px; height:25px; flex:0 0 auto; border-radius:8px; color:#fff; font-size:9px; font-weight:900; background:var(--brand); }.guide-block-title > div { display:grid; gap:1px; }.guide-block-title strong { font-size:11px; }.guide-block-title small { color:var(--muted); font-size:8px; }
.guide-support-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin-bottom:13px; }.guide-support-card { position:relative; display:grid; justify-items:center; gap:4px; padding:9px 6px; border:1px solid var(--border); border-radius:10px; text-align:center; background:var(--surface-soft); cursor:pointer; }.guide-support-card.is-selected { border-color:var(--brand); background:#effaf7; box-shadow:0 0 0 2px var(--brand-soft); }.guide-support-card input { position:absolute; top:6px; left:6px; width:13px; height:13px; padding:0; accent-color:var(--brand); }.guide-support-card strong { font-size:9px; }.guide-support-card small { min-height:22px; color:var(--muted); font-size:7px; line-height:1.35; }
.guide-support-visual { position:relative; display:block; width:54px; height:30px; border:4px solid #76cfc2; border-top:0; border-radius:5px 5px 25px 25px; }.guide-support-visual i { position:absolute; bottom:7px; width:9px; height:15px; border-radius:5px 5px 2px 2px; background:#dce9eb; }.guide-support-visual i:first-child { left:8px; }.guide-support-visual i:nth-child(2) { right:8px; }.guide-support-visual b { position:absolute; top:-4px; left:22px; width:8px; height:23px; background:#81979d; }.guide-support-visual.mucosa { border-color:#e4ac84; }.guide-support-visual.bone { border-color:#bdc7c9; border-style:dashed; }
.guide-field-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:17px; }.guide-field-grid.single { grid-template-columns:1fr; margin-bottom:10px; }.guide-field-grid label { display:grid; gap:4px; color:var(--muted); font-size:8px; font-weight:700; }.guide-field-grid .full { grid-column:1 / -1; }.guide-field-grid input,.guide-field-grid select,.guide-field-grid textarea { color:var(--text); border-color:var(--border); background:var(--surface); }.guide-checkbox { grid-template-columns:auto 1fr !important; align-items:center; padding:7px; border:1px solid var(--border); border-radius:8px; }.guide-checkbox input { width:16px; height:16px; accent-color:var(--brand); }.guide-checkbox span { display:grid; gap:1px; }.guide-checkbox strong { color:var(--text); font-size:8px; }.guide-checkbox small { font-size:7px; }
.guide-visual { overflow:hidden; border:1px solid #29464e; border-radius:12px; color:#dcecef; background:radial-gradient(circle at 50% 30%,#2b4a53,#10252d 70%); }.guide-visual svg { display:block; width:100%; }.guide-visual svg text { fill:#b8d9df; font:9px inherit; }.guide-visual > div { display:grid; gap:2px; padding:10px; border-top:1px solid #29464e; }.guide-visual > div span { color:#6ee0cb; font-size:8px; }.guide-visual > div strong { font-size:10px; }.guide-visual > div small { color:#89a5ad; font-size:8px; }
.guide-package { margin-top:14px; }.guide-package ul,.guide-validation ul { display:grid; gap:4px; margin:0; padding:0; list-style:none; }.guide-package li { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:6px; padding:6px; border:1px solid var(--border); border-radius:7px; font-size:8px; }.guide-package li b { color:var(--brand); }.guide-package li small { color:var(--muted); font-size:7px; }
.guide-money-row { display:grid; grid-template-columns:1fr 1fr; gap:7px; }.guide-validation { margin-top:11px; padding:10px; border:1px solid #ead19e; border-radius:10px; background:#fffaf0; }.guide-validation.is-ready { border-color:#bae4d4; background:#f1fbf7; }.guide-validation header { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-bottom:6px; }.guide-validation header strong { font-size:9px; }.guide-validation header b { display:grid; place-items:center; width:20px; height:20px; border-radius:50%; color:#fff; background:#d19a36; }.guide-validation.is-ready header b { background:#4fc094; }.guide-validation li { display:grid; grid-template-columns:auto 1fr; gap:6px; padding:3px 0; color:var(--muted); font-size:7px; }.guide-validation li b { color:#cc8420; }.guide-validation li.is-ok b { color:#29936d; }
.guide-order-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:4px; margin-top:9px; }.guide-order-summary span { display:grid; gap:2px; padding:6px; border-radius:7px; color:var(--muted); font-size:7px; background:#edf3f2; }.guide-order-summary b { color:var(--text); font-size:9px; }.guide-actions { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin-top:10px; }.guide-actions .button { padding-inline:7px; font-size:9px; }
.guide-order-route { display:flex; align-items:center; justify-content:center; gap:7px; padding:10px 14px; border-bottom:1px solid var(--border); background:#eef8f6; }.guide-order-route span { display:flex; align-items:center; gap:5px; color:var(--muted); font-size:8px; }.guide-order-route span b { display:grid; place-items:center; width:19px; height:19px; border-radius:50%; color:#fff; background:#9baba8; }.guide-order-route span.done b,.guide-order-route span.current b { background:var(--brand); }.guide-order-route span.current { color:var(--brand); font-weight:800; }.guide-order-route i { color:#9aada9; font-style:normal; }.guide-ordered-note { display:grid; gap:3px; margin-top:10px; padding:10px; border:1px solid #bce3d6; border-radius:10px; color:#205f4e; background:#effaf6; }.guide-ordered-note strong { font-size:10px; }.guide-ordered-note span,.guide-ordered-note small { font-size:8px; }.guide-ordered-note small { color:#708a83; }
.surgical-guide-section.is-ordered input:disabled,.surgical-guide-section.is-ordered select:disabled,.surgical-guide-section.is-ordered textarea:disabled { opacity:.75; cursor:not-allowed; }

.implant-operation-section { grid-column:1 / -1; color:var(--text); border-top:1px solid var(--border); background:var(--surface); }
.implant-operation-section.is-locked,.implant-operation-section.is-callout { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:18px; padding:22px; }
.implant-operation-section.is-locked { background:linear-gradient(110deg,#f8fafb,#eef3f5); }.implant-operation-section.is-callout { grid-template-columns:minmax(0,1fr) auto; background:linear-gradient(110deg,#f2fbfb,#e2f4f2); }
.implant-operation-section h3 { margin:2px 0 5px; font-size:19px; }.implant-operation-section p { margin:0; color:var(--muted); font-size:10px; line-height:1.55; }
.operation-lock-mark { display:grid; place-items:center; width:44px; height:44px; color:#59717a; border:1px solid #c7d5d9; border-radius:14px; background:#fff; font-size:24px; }
.operation-prerequisites,.operation-source-pills { display:flex; align-items:center; gap:7px; flex-wrap:wrap; }.operation-prerequisites span,.operation-source-pills span { padding:7px 9px; border:1px solid #d1dcdf; border-radius:8px; color:#536a73; background:#fff; font-size:8px; font-weight:750; }.operation-prerequisites span { display:flex; align-items:center; gap:6px; }.operation-prerequisites span.done { color:#087a6e; border-color:#a7dcd5; background:#effaf7; }.operation-prerequisites b { display:grid; place-items:center; width:18px; height:18px; border-radius:50%; color:#fff; background:#81959c; }.operation-prerequisites .done b { background:#19a894; }.operation-prerequisites i { color:#91a1a6; font-style:normal; }.operation-source-pills { margin-top:10px; }
.implant-operation-section.is-workspace { padding:0; background:#f2f6f6; }.operation-header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 21px; color:#fff; background:linear-gradient(125deg,#163d45,#215d62 65%,#207e76); }.status-in_progress .operation-header { background:linear-gradient(125deg,#3f2526,#73383b 62%,#9a4c43); }.status-completed .operation-header { background:linear-gradient(125deg,#17483e,#1d7462 70%,#20927c); }
.operation-header h3 { margin:2px 0 3px; font-size:20px; }.operation-header p { color:#d2e4e6; font-size:9px; }.operation-header .section-eyebrow { color:#86dad1; }.operation-header-state { display:grid; justify-items:end; gap:5px; }.operation-header-state small { color:#d2e4e6; font-size:8px; }
.operation-stage-line { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; align-items:center; gap:10px; padding:11px 22px; border-bottom:1px solid #dbe4e5; background:#fff; }.operation-stage-line span { display:flex; align-items:center; gap:7px; color:#829196; font-size:8px; font-weight:750; }.operation-stage-line b { display:grid; place-items:center; width:21px; height:21px; border-radius:50%; color:#fff; background:#9eaaae; }.operation-stage-line span.done,.operation-stage-line span.current { color:#186f66; }.operation-stage-line span.done b,.operation-stage-line span.current b { background:#20a18f; }.operation-stage-line span.current b { box-shadow:0 0 0 4px #dff4ef; }.operation-stage-line i { color:#9caaae; font-style:normal; }
.operation-layout { display:grid; grid-template-columns:minmax(0,1fr) 270px; gap:12px; padding:12px; }.operation-main,.operation-sidebar { display:grid; align-content:start; gap:10px; }.operation-card,.operation-readiness,.operation-fact,.operation-events { border:1px solid #dbe4e5; border-radius:10px; background:#fff; box-shadow:0 2px 6px rgba(31,65,70,.035); }.operation-card { padding:13px; }.operation-card-title { display:flex; align-items:center; gap:8px; margin-bottom:11px; }.operation-card-title > span:first-child { display:grid; place-items:center; width:25px; height:25px; flex:0 0 auto; border-radius:7px; color:#137b70; background:#e5f6f2; font-size:8px; font-weight:800; }.operation-card-title > div { display:grid; gap:2px; flex:1; }.operation-card-title strong { font-size:10px; }.operation-card-title small { color:var(--muted); font-size:7px; }.operation-check-count { padding:5px 7px; border-radius:7px; color:#176e65; background:#eaf7f4; font-size:8px; }
.operation-form-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }.operation-form-grid label { display:grid; align-content:start; gap:4px; color:#52676e; font-size:7px; font-weight:750; }.operation-form-grid label.wide { grid-column:span 2; }.operation-form-grid input,.operation-form-grid select,.operation-form-grid textarea { min-width:0; width:100%; padding:7px 8px; border:1px solid #cad8da; border-radius:7px; color:var(--text); background:#fbfdfd; font:inherit; font-size:9px; font-weight:500; }.operation-form-grid textarea { resize:vertical; line-height:1.45; }.operation-form-grid :disabled { color:#65777c; background:#edf2f2; cursor:not-allowed; }
.operation-check-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }.operation-check { display:grid; grid-template-columns:auto auto 1fr; align-items:center; gap:7px; padding:9px; border:1px solid #d6e0e2; border-radius:8px; cursor:pointer; background:#fafcfc; }.operation-check input { position:absolute; opacity:0; pointer-events:none; }.operation-check > b { display:grid; place-items:center; width:20px; height:20px; border:2px solid #b3c1c5; border-radius:6px; color:#fff; font-size:11px; }.operation-check span { display:grid; gap:2px; }.operation-check strong { font-size:8px; }.operation-check small { color:var(--muted); font-size:7px; }.operation-check.is-checked { border-color:#95d5cb; background:#effaf7; }.operation-check.is-checked > b { border-color:#19a38f; background:#19a38f; }
.operation-implant-plan { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:14px; padding:11px; border-radius:9px; background:linear-gradient(110deg,#ecf4f5,#f8fbfb); }.operation-implant-graphic { position:relative; width:48px; height:68px; }.operation-implant-graphic i { position:absolute; left:16px; top:13px; width:17px; height:45px; border:2px solid #6d8790; background:repeating-linear-gradient(-12deg,#dce8eb 0 4px,#79929a 5px 7px); clip-path:polygon(15% 0,85% 0,72% 100%,28% 100%); }.operation-implant-graphic b { position:absolute; left:12px; top:8px; width:25px; height:9px; border-radius:3px; background:#77d3c7; }.operation-implant-graphic span { position:absolute; right:-2px; bottom:0; color:#1a746c; font-size:8px; font-weight:800; }.operation-implant-plan > div:nth-child(2) { display:grid; gap:3px; }.operation-implant-plan > div:nth-child(2) span,.operation-guide-chip span { color:var(--muted); font-size:7px; }.operation-implant-plan > div:nth-child(2) strong { font-size:12px; }.operation-implant-plan > div:nth-child(2) b { font-size:9px; }.operation-implant-plan > div:nth-child(2) small,.operation-guide-chip small { color:var(--muted); font-size:8px; }.operation-guide-chip { display:grid; gap:3px; padding:8px 10px; border-left:1px solid #cfdddf; }.operation-guide-chip strong { font-size:9px; }.traceability-grid { margin-top:10px; }
.operation-step-counter { padding:5px 8px; border-radius:8px; color:#116f65; background:#e4f5f1; font-size:9px; }.operation-step-progress { height:5px; margin:-3px 0 12px; overflow:hidden; border-radius:5px; background:#e8eeee; }.operation-step-progress i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#20a18f,#4ac9b8); transition:width .25s ease; }.operation-steps-gate { display:grid; gap:3px; margin-bottom:9px; padding:9px 11px; border:1px solid #d7e3e5; border-radius:8px; color:#516a72; background:#f5f9f9; }.operation-steps-gate b { font-size:8px; }.operation-steps-gate span { color:var(--muted); font-size:7px; }
.operation-step-progress .progress-0 { width:0; }.operation-step-progress .progress-1 { width:11.11%; }.operation-step-progress .progress-2 { width:22.22%; }.operation-step-progress .progress-3 { width:33.33%; }.operation-step-progress .progress-4 { width:44.44%; }.operation-step-progress .progress-5 { width:55.56%; }.operation-step-progress .progress-6 { width:66.67%; }.operation-step-progress .progress-7 { width:77.78%; }.operation-step-progress .progress-8 { width:88.89%; }.operation-step-progress .progress-9 { width:100%; }
.operation-steps { display:grid; gap:7px; }.operation-step { overflow:hidden; border:1px solid #d9e3e4; border-radius:9px; background:#fbfdfd; }.operation-step > header { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:9px; padding:9px 10px; }.operation-step > header > b { display:grid; place-items:center; width:25px; height:25px; border-radius:8px; color:#fff; background:#a0afb3; font-size:8px; }.operation-step > header > div { display:grid; gap:2px; }.operation-step > header span { color:#708288; font-size:6px; font-weight:800; text-transform:uppercase; }.operation-step > header strong { font-size:9px; }.operation-step > header small { color:var(--muted); font-size:7px; }.operation-step > header > em { padding:4px 7px; border-radius:7px; color:#697b80; background:#edf2f2; font-size:7px; font-style:normal; font-weight:750; }.operation-step.is-current { border-color:#64c5b8; box-shadow:0 0 0 2px rgba(32,161,143,.08); background:#f8fffd; }.operation-step.is-current > header > b { background:#168f80; box-shadow:0 0 0 4px #dcf3ee; }.operation-step.is-current > header > em { color:#fff; background:#168f80; }.operation-step.is-completed > header > b { background:#28a592; }.operation-step.is-completed > header > em { color:#177164; background:#e4f6f2; }.operation-step.is-skipped { border-style:dashed; }.operation-step.is-skipped > header > b { background:#c08b35; }.operation-step.is-skipped > header > em { color:#835f26; background:#fff0d8; }
.operation-step-current { display:grid; gap:8px; padding:10px; border-top:1px solid #d5e7e4; background:#eff9f6; }.operation-step-current label,.operation-step-note { display:grid; gap:4px; color:#46636a; font-size:7px; font-weight:750; }.operation-step-current textarea { width:100%; min-height:58px; padding:8px 76px 8px 8px; border:1px solid #9dccc5; border-radius:7px; color:var(--text); background:#fff; font:inherit; font-size:9px; line-height:1.4; resize:vertical; }.operation-step-actions { display:flex; justify-content:flex-end; gap:6px; flex-wrap:wrap; }.operation-step-actions .button { padding:7px 10px; font-size:8px; }.operation-step-result { display:grid; gap:3px; padding:0 10px 9px 44px; }.operation-step-result p { margin:0; color:#425c63; font-size:8px; }.operation-step-result small { color:var(--muted); font-size:6px; }
.operation-step-note > span { display:flex; align-items:center; justify-content:space-between; gap:8px; }.operation-prefill-mark { padding:3px 6px; border-radius:999px; color:#176e65; background:#dff3ee; font-size:6px; font-style:normal; font-weight:800; }.operation-one-click-hint { color:#5d7779; text-align:right; font-size:7px; }.operation-one-click-next { min-width:185px; }
.operation-quick-field { display:grid; align-content:start; gap:4px; min-width:0; color:#52676e; font-size:7px; font-weight:750; }.operation-quick-field.wide { grid-column:span 2; }.operation-quick-field > label { display:block; }.operation-quick-wrap { position:relative; min-width:0; }.operation-quick-wrap > input,.operation-quick-wrap > textarea { padding-right:76px; }.operation-quick-toggle { display:flex; align-items:center; gap:5px; position:absolute; z-index:4; top:5px; right:5px; padding:4px 6px; border:1px solid #a8d3cc; border-radius:6px; color:#176e65; background:#eaf8f5; font:inherit; font-size:7px; font-weight:800; cursor:pointer; }.operation-quick-toggle:hover,.operation-quick-toggle[aria-expanded="true"] { border-color:#58b6aa; background:#d9f2ed; }.operation-quick-menu { display:grid; position:absolute; z-index:20; top:calc(100% + 5px); right:0; width:min(390px,85vw); max-height:310px; overflow:hidden; border:1px solid #9dcac4; border-radius:10px; background:#fff; box-shadow:0 14px 34px rgba(25,67,70,.2); }.operation-quick-menu[hidden] { display:none; }.operation-quick-menu > header { display:grid; gap:2px; padding:9px 10px; border-bottom:1px solid #dfe9e9; background:#eff9f7; }.operation-quick-menu > header strong { color:#1b625b; font-size:9px; }.operation-quick-menu > header small { color:#6f8588; font-size:7px; }.operation-quick-menu > div { display:grid; overflow:auto; padding:5px; }.operation-quick-menu button { display:grid; gap:2px; width:100%; padding:8px; border:0; border-bottom:1px solid #edf2f2; border-radius:6px; text-align:left; color:#29464c; background:#fff; cursor:pointer; }.operation-quick-menu button:last-child { border-bottom:0; }.operation-quick-menu button:hover,.operation-quick-menu button:focus-visible { outline:0; background:#eaf8f5; }.operation-quick-menu button b { color:#176e65; font-size:8px; }.operation-quick-menu button span { color:#526a70; font-size:7px; font-weight:500; line-height:1.4; }
.operation-live { display:flex; align-items:center; gap:5px; padding:5px 8px; border-radius:9px; color:#8b3435; background:#fce9e8; font-size:8px; font-weight:800; }.operation-live i { width:7px; height:7px; border-radius:50%; background:#d44d4b; box-shadow:0 0 0 4px #f6cfcd; animation:operationPulse 1.5s infinite; }.operation-inline-check { grid-template-columns:auto 1fr!important; align-items:center!important; align-content:center!important; padding-top:18px; }.operation-inline-check input { width:auto; }.protocol-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.operation-step.is-current { overflow:visible; }
.operation-check input { width:1px; height:1px; }
@keyframes operationPulse { 50% { box-shadow:0 0 0 7px rgba(212,77,75,0); } }
.operation-readiness { overflow:hidden; }.operation-readiness header { display:flex; align-items:center; justify-content:space-between; padding:12px; color:#744f1c; background:#fff4de; }.operation-readiness header div { display:grid; gap:2px; }.operation-readiness header span { font-size:7px; text-transform:uppercase; }.operation-readiness header strong { font-size:10px; }.operation-readiness header > b { display:grid; place-items:center; width:25px; height:25px; border-radius:50%; color:#fff; background:#d69635; }.operation-readiness.is-ready header { color:#126a5f; background:#e8f7f3; }.operation-readiness.is-ready header > b { background:#1d9c89; }.operation-readiness ul { display:grid; gap:0; margin:0; padding:6px 10px 10px; list-style:none; }.operation-readiness li { display:flex; align-items:center; gap:6px; padding:6px 1px; border-bottom:1px solid #eef2f2; color:#7f6a4d; font-size:7px; }.operation-readiness li:last-child { border:0; }.operation-readiness li b { display:grid; place-items:center; width:15px; height:15px; flex:0 0 auto; border-radius:50%; color:#fff; background:#d39a43; }.operation-readiness li.is-ok { color:#39736c; }.operation-readiness li.is-ok b { background:#27a28f; }
.operation-fact { display:grid; gap:3px; padding:11px; }.operation-fact span { color:var(--muted); font-size:7px; }.operation-fact strong { font-size:12px; }.operation-fact small { color:#517078; font-size:8px; }.operation-events { overflow:hidden; }.operation-events > header { display:flex; justify-content:space-between; padding:10px 11px; border-bottom:1px solid #e4ebec; }.operation-events > header strong { font-size:9px; }.operation-events > header span { color:var(--muted); font-size:7px; }.operation-events > div { display:grid; padding:8px 10px; }.operation-events article { display:grid; grid-template-columns:auto 1fr; gap:7px; position:relative; padding:5px 0 8px; }.operation-events article > i { width:9px; height:9px; margin-top:2px; border:2px solid #fff; border-radius:50%; background:#5b9ea0; box-shadow:0 0 0 2px #c6dcdd; }.operation-events article > div { display:grid; gap:2px; }.operation-events article strong { font-size:8px; }.operation-events article span,.operation-events article small { color:var(--muted); font-size:7px; line-height:1.35; }
.operation-footer { display:flex; align-items:center; justify-content:space-between; gap:15px; position:sticky; bottom:0; z-index:2; padding:12px 16px; border-top:1px solid #cddadb; background:rgba(255,255,255,.97); box-shadow:0 -5px 14px rgba(28,56,61,.08); }.operation-footer > div:first-child { display:grid; gap:2px; }.operation-footer strong { font-size:9px; }.operation-footer span { color:var(--muted); font-size:7px; }.operation-actions { display:flex; align-items:center; justify-content:flex-end; gap:7px; }.operation-actions .badge { color:#177062; }

.implant-followup-section { grid-column:1 / -1; color:var(--text); border-top:1px solid var(--border); background:var(--surface); }
.implant-followup-section.is-locked,.implant-followup-section.is-callout { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:18px; padding:22px; }
.implant-followup-section.is-locked { background:linear-gradient(110deg,#f8fafb,#eef4f3); }.implant-followup-section.is-callout { grid-template-columns:minmax(0,1fr) auto; background:linear-gradient(110deg,#f1fbf8,#dff4ec); }
.implant-followup-section h3 { margin:2px 0 5px; font-size:19px; }.implant-followup-section p { margin:0; color:var(--muted); font-size:10px; line-height:1.55; }
.followup-lock-mark { display:grid; place-items:center; width:48px; height:48px; border-radius:15px; color:#3b8c80; background:#dff0ed; font-size:25px; }
.followup-gate { display:flex; align-items:center; gap:7px; }.followup-gate span { display:flex; align-items:center; gap:5px; color:var(--muted); font-size:8px; font-weight:700; }.followup-gate span.done { color:#16715f; }.followup-gate b { display:grid; place-items:center; width:20px; height:20px; border-radius:50%; color:#fff; background:#9aabad; font-size:7px; }.followup-gate .done b { background:#2f9b83; }.followup-gate i { color:#9fb0b2; font-style:normal; }
.implant-followup-section.is-workspace { padding:0; background:#f2f7f6; }
.followup-header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 21px; color:#fff; background:linear-gradient(125deg,#173d42,#24645e 63%,#2a8f78); }.status-ready_for_prosthetics .followup-header { background:linear-gradient(125deg,#183e51,#236b7f 63%,#288d93); }.implant-followup-section.status-completed .followup-header { background:linear-gradient(125deg,#17483e,#1d7462 70%,#20927c); }
.followup-header h3 { margin:2px 0 4px; color:#fff; }.followup-header p { color:#c5dcda; }.followup-header-state { display:grid; justify-items:end; gap:5px; }.followup-header-state small { color:#c9e2df; font-size:8px; }
.followup-progress-head { display:grid; grid-template-columns:auto minmax(160px,1fr) auto; align-items:center; gap:10px; padding:10px 16px 5px; }.followup-progress-head span { font-size:8px; }.followup-progress-head span b { color:#167567; font-size:10px; }.followup-progress-head > div { height:5px; overflow:hidden; border-radius:8px; background:#d6e4e2; }.followup-progress-head > div i { display:block; height:100%; border-radius:8px; background:linear-gradient(90deg,#4bbba1,#2b8d83); transition:width .2s; }.followup-progress-head i.followup-progress-0 { width:0; }.followup-progress-head i.followup-progress-25 { width:25%; }.followup-progress-head i.followup-progress-50 { width:50%; }.followup-progress-head i.followup-progress-75 { width:75%; }.followup-progress-head i.followup-progress-100 { width:100%; }.followup-progress-head em { color:var(--muted); font-size:8px; font-style:normal; }
.followup-timeline { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; padding:8px 12px 12px; }.followup-milestone { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:8px; min-height:58px; padding:8px; border:1px solid #d8e4e2; border-radius:10px; color:var(--text); text-align:left; background:#fff; }.followup-milestone:hover,.followup-milestone.is-selected { border-color:#45a995; box-shadow:0 0 0 2px rgba(69,169,149,.12); }.followup-milestone > b { display:grid; place-items:center; width:27px; height:27px; border-radius:50%; color:#fff; background:#91aaa6; font-size:9px; }.followup-milestone.is-done > b { background:#2f9b83; }.followup-milestone.is-urgent > b { background:#c66a51; }.followup-milestone span { display:grid; gap:2px; min-width:0; }.followup-milestone small,.followup-milestone em { color:var(--muted); font-size:7px; font-style:normal; }.followup-milestone strong { overflow:hidden; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.followup-layout { display:grid; grid-template-columns:minmax(0,1fr) 285px; gap:12px; padding:0 12px 12px; }.followup-main,.followup-sidebar { display:grid; align-content:start; gap:10px; }.followup-card,.followup-isq,.followup-readiness,.followup-trace { border:1px solid #dbe5e3; border-radius:10px; background:#fff; box-shadow:0 2px 6px rgba(31,65,70,.035); }.followup-card { padding:13px; }.followup-card-title { display:flex; align-items:center; gap:8px; margin-bottom:11px; }.followup-card-title > span:first-child { display:grid; place-items:center; width:25px; height:25px; flex:0 0 auto; border-radius:7px; color:#137b70; background:#e5f6f2; font-size:8px; font-weight:800; }.followup-card-title > div { display:grid; gap:2px; flex:1; }.followup-card-title strong { font-size:10px; }.followup-card-title small { color:var(--muted); font-size:7px; }
.followup-form-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }.followup-form-grid label,.followup-media-selects label { display:grid; align-content:start; gap:4px; color:#587074; font-size:7px; font-weight:700; }.followup-form-grid .wide { grid-column:span 1; }.followup-form-grid .full { grid-column:1 / -1; }.followup-form-grid input,.followup-form-grid select,.followup-form-grid textarea,.followup-media-selects select { width:100%; min-width:0; padding:7px 8px; border:1px solid #cfdddb; border-radius:7px; color:var(--text); background:#fff; font:inherit; font-size:8px; }.followup-form-grid textarea { resize:vertical; line-height:1.4; }.followup-form-grid input:disabled,.followup-form-grid select:disabled,.followup-form-grid textarea:disabled,.followup-media-selects select:disabled { color:#5f7374; background:#f3f6f5; }.followup-check { display:flex !important; align-items:center; align-self:end; min-height:31px; padding:7px 9px; border:1px solid #edd6ce; border-radius:7px; color:#8d493b !important; background:#fff8f5; }.followup-check input { width:auto; }
.followup-media-selects { display:grid; grid-template-columns:1fr 1fr; gap:8px; }.followup-compare { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:10px; margin-top:10px; }.followup-compare article { display:grid; gap:5px; min-width:0; }.followup-compare article > span { color:var(--muted); font-size:7px; font-weight:800; }.followup-compare article > strong { overflow:hidden; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }.followup-compare-link { color:#4b9b8e; font-size:18px; font-style:normal; }.followup-xray-visual { position:relative; height:118px; overflow:hidden; border:1px solid #39575c; border-radius:9px; background:radial-gradient(circle at 45% 48%,rgba(234,250,250,.75) 0 6%,transparent 7%),radial-gradient(ellipse at 50% 65%,rgba(203,226,228,.5) 0 27%,transparent 28%),linear-gradient(145deg,#18343a,#46666a 54%,#172d32); }.followup-xray-visual::before { content:""; position:absolute; inset:18px 22%; border:7px solid rgba(234,245,244,.6); border-width:8px 12px 4px; border-radius:45% 45% 22% 22%; transform:rotate(3deg); }.followup-xray-visual i { position:absolute; left:48%; top:34px; width:8px; height:62px; border-radius:3px; background:#e7eff0; box-shadow:0 0 8px rgba(255,255,255,.5); }.followup-xray-visual b { position:absolute; left:calc(48% - 6px); top:30px; width:20px; height:7px; border-radius:5px; background:#eef6f6; }.followup-xray-visual.control { filter:brightness(1.08) contrast(1.06); }
.followup-isq { padding:12px; }.followup-isq header { display:flex; justify-content:space-between; gap:8px; }.followup-isq header span { color:var(--muted); font-size:7px; }.followup-isq header strong { color:#176f64; font-size:10px; }.followup-isq > div { position:relative; height:9px; margin:10px 0 5px; border-radius:8px; background:linear-gradient(90deg,#e2a36e 0 45%,#ecd37d 45% 65%,#58b99d 65%); }.followup-isq > div i { display:block; height:100%; border-right:2px solid #173c42; border-radius:8px 0 0 8px; background:rgba(255,255,255,.22); }.followup-isq > div.is-low i { width:25%; }.followup-isq > div.is-watch i { width:58%; }.followup-isq > div.is-stable i { width:68%; }.followup-isq > div.is-high i { width:82%; }.followup-isq > div b { position:absolute; top:-3px; left:65%; width:1px; height:15px; background:#fff; }.followup-isq footer { display:flex; justify-content:space-between; color:var(--muted); font-size:6px; }
.followup-readiness header { display:flex; align-items:center; justify-content:space-between; padding:11px; border-bottom:1px solid #e0e9e7; }.followup-readiness header > div { display:grid; gap:2px; }.followup-readiness header span { color:var(--muted); font-size:7px; }.followup-readiness header strong { font-size:9px; }.followup-readiness header > b { display:grid; place-items:center; width:25px; height:25px; border-radius:50%; color:#fff; background:#c47b57; }.followup-readiness.is-ready header > b { background:#2f9b83; }.followup-readiness ul { display:grid; gap:0; margin:0; padding:7px 10px; list-style:none; }.followup-readiness li { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:6px; padding:5px 0; border-bottom:1px solid #edf2f1; color:#7e5b50; font-size:7px; }.followup-readiness li:last-child { border-bottom:0; }.followup-readiness li b { display:grid; place-items:center; width:15px; height:15px; border-radius:50%; color:#fff; background:#bd806a; }.followup-readiness li.is-ok { color:#246c60; }.followup-readiness li.is-ok b { background:#3aa184; }.followup-readiness li em { color:#167262; font-size:7px; font-style:normal; font-weight:800; }.followup-readiness > p { padding:0 10px 10px; font-size:7px; }
.followup-trace { display:grid; gap:4px; padding:12px; }.followup-trace span { color:var(--muted); font-size:7px; }.followup-trace strong { font-size:9px; }.followup-trace small { color:#5e7374; font-size:7px; }
.followup-footer { display:flex; align-items:center; justify-content:space-between; gap:15px; position:sticky; bottom:0; z-index:2; padding:12px 16px; border-top:1px solid #cddadb; background:rgba(255,255,255,.97); box-shadow:0 -5px 14px rgba(28,56,61,.08); }.followup-footer > div:first-child { display:grid; gap:2px; }.followup-footer strong { font-size:9px; }.followup-footer span { color:var(--muted); font-size:7px; }.followup-actions { display:flex; align-items:center; justify-content:flex-end; gap:7px; }

/* Orthopedic workspace */
.orthopedic-page { --ortho-ink:#17383e; --ortho-teal:#16796f; --ortho-mint:#e9f5f1; --ortho-line:#d7e4e2; }.orthopedic-page-heading { margin-bottom:13px; }
.orthopedic-kpis { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px; margin-bottom:12px; }.orthopedic-kpis article { display:grid; gap:2px; min-height:78px; padding:12px 14px; border:1px solid var(--ortho-line); border-radius:13px; background:linear-gradient(145deg,#fff,#f8fbfa); box-shadow:0 3px 12px rgba(29,66,70,.04); }.orthopedic-kpis span { color:#557176; font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }.orthopedic-kpis strong { color:var(--ortho-ink); font-size:22px; line-height:1; }.orthopedic-kpis small { color:var(--muted); font-size:9px; }
.orthopedic-shell { display:grid; grid-template-columns:285px minmax(0,1fr); align-items:start; gap:12px; }.orthopedic-case-panel { position:sticky; top:68px; overflow:hidden; padding:0; }.orthopedic-case-panel-head { display:flex; align-items:center; justify-content:space-between; padding:13px 14px; border-bottom:1px solid var(--ortho-line); background:#f8fbfa; }.orthopedic-case-panel-head > div { display:grid; gap:2px; }.orthopedic-case-panel-head strong { color:var(--ortho-ink); font-size:12px; }.orthopedic-case-panel-head small { color:var(--muted); font-size:9px; }.orthopedic-case-list { display:grid; max-height:calc(100vh - 235px); overflow:auto; }
.orthopedic-case-card { display:grid; grid-template-columns:36px minmax(0,1fr) auto; gap:9px; align-items:start; padding:12px; border:0; border-bottom:1px solid #e5eeec; background:#fff; color:inherit; text-align:left; cursor:pointer; transition:.18s ease; }.orthopedic-case-card:hover { background:#f5faf8; }.orthopedic-case-card.is-active { box-shadow:inset 3px 0 var(--ortho-teal); background:#edf7f4; }.orthopedic-case-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; background:#eef3f3; color:#526d72; font-size:17px; }.orthopedic-case-icon.is-implant { background:#e2f3ef; color:var(--ortho-teal); }.orthopedic-case-main { display:grid; gap:2px; min-width:0; }.orthopedic-case-main strong { overflow:hidden; color:var(--ortho-ink); font-size:10px; white-space:nowrap; text-overflow:ellipsis; }.orthopedic-case-main small { overflow:hidden; color:#35595f; font-size:9px; white-space:nowrap; text-overflow:ellipsis; }.orthopedic-case-main em { overflow:hidden; color:var(--muted); font-size:7px; font-style:normal; white-space:nowrap; text-overflow:ellipsis; }.orthopedic-case-main > i { display:block; height:3px; margin-top:5px; overflow:hidden; border-radius:4px; background:#dbe7e4; }.orthopedic-case-main > i b { display:block; height:100%; border-radius:4px; background:var(--ortho-teal); }.orthopedic-case-meta { display:grid; justify-items:end; gap:7px; }.orthopedic-case-meta .badge { padding:3px 5px; font-size:7px; white-space:nowrap; }.orthopedic-case-meta small { color:var(--muted); font-size:8px; }
.orthopedic-workspace-root { overflow:hidden; padding:0; border-color:#cbdcda; }.orthopedic-empty { display:grid; place-items:center; min-height:520px; padding:50px; text-align:center; }.orthopedic-empty > span { display:grid; place-items:center; width:58px; height:58px; border-radius:18px; background:var(--ortho-mint); color:var(--ortho-teal); font-size:28px; }.orthopedic-empty h2 { margin:12px 0 3px; }.orthopedic-empty p { max-width:480px; margin:0 0 18px; color:var(--muted); }.orthopedic-case-form { background:#f3f7f6; }
.orthopedic-header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:17px 20px; border-bottom:1px solid var(--ortho-line); background:linear-gradient(115deg,#fff 40%,#edf7f4); }.orthopedic-header h2 { margin:3px 0; color:var(--ortho-ink); font-size:18px; }.orthopedic-header p { margin:0; color:#61777b; font-size:9px; }.orthopedic-header > div:last-child { display:grid; justify-items:end; gap:4px; }.orthopedic-header > div:last-child small { color:var(--muted); font-size:8px; }
.orthopedic-implant-context { display:grid; grid-template-columns:44px minmax(0,1fr) auto; align-items:center; gap:12px; margin:12px 14px 0; padding:12px 14px; border:1px solid #afd8ce; border-radius:12px; background:linear-gradient(105deg,#e6f6f1,#f8fcfa); }.orthopedic-implant-mark { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:#fff; box-shadow:0 3px 12px rgba(22,121,111,.12); color:var(--ortho-teal); font-size:21px; }.orthopedic-implant-context > div:nth-child(2) { display:grid; gap:2px; }.orthopedic-implant-context span { color:#3c8178; font-size:7px; font-weight:800; letter-spacing:.08em; }.orthopedic-implant-context strong { color:#19443f; font-size:11px; }.orthopedic-implant-context small,.orthopedic-implant-context p { margin:0; color:#58716e; font-size:8px; }
.orthopedic-prefill-banner { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:12px 14px 0; padding:10px 12px; border:1px solid #b9d9e7; border-radius:11px; background:linear-gradient(105deg,#edf7fb,#f8fcfd); }.orthopedic-prefill-banner > div { display:flex; align-items:center; gap:9px; }.orthopedic-prefill-banner > div > span { display:grid; place-items:center; width:30px; height:30px; flex:0 0 auto; border-radius:9px; background:#dceff7; color:#267796; font-size:14px; }.orthopedic-prefill-banner > div > div { display:grid; gap:2px; }.orthopedic-prefill-banner strong { color:#224c5c; font-size:9px; }.orthopedic-prefill-banner small { color:#5f7c87; font-size:7px; line-height:1.35; }.orthopedic-case-form .is-prefilled { border-color:#74b8cf; background:#f1f9fc; box-shadow:0 0 0 2px rgba(72,151,181,.08); }
.orthopedic-route { margin:12px 14px; padding:12px 14px; border:1px solid var(--ortho-line); border-radius:12px; background:#fff; }.orthopedic-route-head { display:flex; align-items:center; gap:10px; margin-bottom:7px; }.orthopedic-route-head span { color:var(--ortho-ink); font-size:10px; font-weight:800; }.orthopedic-route-head strong { margin-left:auto; color:#60787b; font-size:8px; }.orthopedic-route-head em { color:var(--ortho-teal); font-size:9px; font-style:normal; font-weight:800; }.orthopedic-route-track { height:4px; overflow:hidden; border-radius:5px; background:#dce8e6; }.orthopedic-route-track i { display:block; height:100%; border-radius:5px; background:linear-gradient(90deg,#46b29c,var(--ortho-teal)); }.orthopedic-progress-0 { width:0; }.orthopedic-progress-11 { width:11%; }.orthopedic-progress-22 { width:22%; }.orthopedic-progress-33 { width:33%; }.orthopedic-progress-44 { width:44%; }.orthopedic-progress-56 { width:56%; }.orthopedic-progress-67 { width:67%; }.orthopedic-progress-78 { width:78%; }.orthopedic-progress-89 { width:89%; }.orthopedic-progress-100 { width:100%; }
.orthopedic-route-steps { display:grid; grid-template-columns:repeat(9,minmax(75px,1fr)); gap:7px; margin-top:10px; overflow-x:auto; }.orthopedic-route-step { display:grid; grid-template-columns:22px minmax(0,1fr); align-items:center; gap:5px; min-width:80px; padding:6px; border:1px solid #e1e9e8; border-radius:8px; background:#fafcfc; }.orthopedic-route-step > b { display:grid; place-items:center; width:21px; height:21px; border-radius:50%; background:#e5eceb; color:#718385; font-size:8px; }.orthopedic-route-step span { display:grid; min-width:0; }.orthopedic-route-step strong { overflow:hidden; color:#52696d; font-size:7px; white-space:nowrap; text-overflow:ellipsis; }.orthopedic-route-step small { color:#8a999b; font-size:6px; }.orthopedic-route-step.is-completed { border-color:#c5e2db; background:#f0f8f6; }.orthopedic-route-step.is-completed > b { background:#45a990; color:#fff; }.orthopedic-route-step.is-in_progress { border-color:#7abfb1; box-shadow:0 0 0 2px rgba(64,168,147,.08); background:#e8f6f2; }.orthopedic-route-step.is-in_progress > b { background:var(--ortho-teal); color:#fff; }.orthopedic-route-step.is-in_progress strong { color:#155b54; }.orthopedic-route-step.is-skipped { opacity:.65; }
.orthopedic-content { display:grid; grid-template-columns:minmax(0,1fr) 250px; align-items:start; gap:12px; padding:0 14px 14px; }.orthopedic-content > main { display:grid; gap:11px; }.orthopedic-content > aside { display:grid; gap:11px; }.orthopedic-card,.orthopedic-current-step,.orthopedic-side-card { border:1px solid var(--ortho-line); border-radius:12px; background:#fff; }.orthopedic-card { padding:13px; }.orthopedic-card > header { margin-bottom:12px; }.orthopedic-card > header > div { display:flex; align-items:center; gap:8px; }.orthopedic-card > header > div > span { display:grid; place-items:center; width:25px; height:25px; border-radius:8px; background:var(--ortho-mint); color:var(--ortho-teal); font-size:8px; font-weight:800; }.orthopedic-card > header div div { display:grid; gap:1px; }.orthopedic-card > header strong { color:var(--ortho-ink); font-size:11px; }.orthopedic-card > header small { color:var(--muted); font-size:8px; }
.orthopedic-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }.orthopedic-form-grid label,.orthopedic-side-card label { display:grid; align-content:start; gap:4px; color:#567074; font-size:8px; font-weight:700; }.orthopedic-form-grid .full { grid-column:1 / -1; }.orthopedic-form-grid input,.orthopedic-form-grid select,.orthopedic-form-grid textarea,.orthopedic-side-card input,.orthopedic-side-card select { min-width:0; padding:8px 9px; border:1px solid #cfdddb; border-radius:8px; background:#fff; color:#213e43; font:inherit; font-size:9px; }.orthopedic-form-grid textarea { resize:vertical; line-height:1.45; }.orthopedic-form-grid :disabled,.orthopedic-side-card :disabled { opacity:.75; background:#f2f5f4; }.orthopedic-teeth-field { position:relative; }.orthopedic-teeth-caption { position:absolute; right:9px; bottom:9px; color:#7a8d8f; font-size:7px; font-weight:400; }.orthopedic-teeth-caption b { color:var(--ortho-teal); }
.orthopedic-odontogram { display:grid; grid-template-columns:repeat(16,minmax(24px,1fr)); gap:3px; margin-top:10px; }.orthopedic-arch-break { display:none; }.orthopedic-tooth { display:grid; justify-items:center; gap:3px; padding:5px 1px; border:1px solid #d3dfdd; border-radius:7px; background:#fafcfc; color:#667b7e; cursor:pointer; }.orthopedic-tooth b { font-size:7px; }.orthopedic-tooth span { width:11px; height:14px; border:1.5px solid #809598; border-radius:6px 6px 4px 4px; background:#fff; }.orthopedic-tooth:hover { border-color:#74b8aa; }.orthopedic-tooth.is-selected { border-color:var(--ortho-teal); background:#e4f4ef; color:#11645b; }.orthopedic-tooth.is-selected span { border-color:#188275; background:#77c5b4; box-shadow:inset 0 0 0 2px #dff3ee; }
.orthopedic-current-step { overflow:hidden; border-color:#8ac9bb; box-shadow:0 4px 18px rgba(32,108,98,.08); }.orthopedic-current-step > header { display:flex; justify-content:space-between; gap:14px; padding:12px 13px; background:linear-gradient(110deg,#e6f5f1,#fff); }.orthopedic-current-step header > div > span { color:var(--ortho-teal); font-size:7px; font-weight:800; letter-spacing:.07em; }.orthopedic-current-step h3 { margin:2px 0; color:var(--ortho-ink); font-size:13px; }.orthopedic-current-step p { margin:0; color:#627a7d; font-size:8px; }.orthopedic-current-step > textarea { box-sizing:border-box; width:calc(100% - 26px); margin:12px 13px; padding:10px; border:1px solid #cfdddb; border-radius:8px; color:#263f44; font:inherit; font-size:9px; line-height:1.5; resize:vertical; }.orthopedic-current-step > footer { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 13px; border-top:1px solid #e2ecea; background:#fafcfc; }.orthopedic-current-step footer small { color:var(--muted); font-size:7px; }.orthopedic-current-step footer > div { display:flex; gap:6px; }.orthopedic-current-step.is-finished { display:flex; align-items:center; gap:12px; padding:16px; border-color:#a9d9cd; background:#eaf7f3; }.orthopedic-current-step.is-finished > span { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:#3c9e87; color:#fff; font-size:16px; }.orthopedic-consent { grid-template-columns:auto minmax(0,1fr); align-items:center!important; align-content:center!important; padding:7px 9px; border:1px solid #cfe0dd; border-radius:8px; background:#f6faf9; }.orthopedic-consent input { width:16px; height:16px; }.orthopedic-consent span { display:grid; gap:1px; }.orthopedic-consent strong { color:#29484d; font-size:8px; }.orthopedic-consent small { color:var(--muted); font-size:7px; font-weight:400; }
.orthopedic-side-card { display:grid; gap:9px; padding:12px; }.orthopedic-side-card > header { display:flex; align-items:center; justify-content:space-between; gap:8px; padding-bottom:8px; border-bottom:1px solid #e3ebea; }.orthopedic-side-card > header > span { color:#426369; font-size:8px; font-weight:800; letter-spacing:.06em; }.orthopedic-side-card .badge { padding:3px 5px; font-size:6px; }.orthopedic-side-card.laboratory { border-top:3px solid #c59852; }.orthopedic-lab-route { display:grid; grid-template-columns:auto 1fr auto 1fr auto 1fr auto; align-items:center; gap:3px; margin-top:3px; }.orthopedic-lab-route span { display:grid; place-items:center; min-width:25px; height:23px; border-radius:6px; background:#edf1f1; color:#7f8e90; font-size:6px; font-weight:800; }.orthopedic-lab-route span.is-done { background:#e0f2ed; color:#137064; }.orthopedic-lab-route i { height:1px; background:#d1dcda; }.orthopedic-media-list { display:grid; gap:6px; }.orthopedic-media-list article { display:grid; grid-template-columns:31px minmax(0,1fr); align-items:center; gap:7px; padding:7px; border-radius:8px; background:#f4f7f7; }.orthopedic-media-list article > span { display:grid; place-items:center; width:29px; height:25px; border-radius:6px; background:#dfeae8; color:#32656a; font-size:6px; font-weight:800; }.orthopedic-media-list article div { display:grid; min-width:0; gap:1px; }.orthopedic-media-list strong { overflow:hidden; color:#355156; font-size:7px; white-space:nowrap; text-overflow:ellipsis; }.orthopedic-media-list small,.orthopedic-no-media { color:var(--muted); font-size:6px; }.orthopedic-side-card.economics { border-top:3px solid #4ca88f; }.orthopedic-side-card.economics > header strong { color:#16816f; font-size:12px; }.orthopedic-side-card.economics > div { display:flex; justify-content:space-between; padding-top:8px; border-top:1px solid #e3ebea; }.orthopedic-side-card.economics > div span { color:#60777b; font-size:7px; }.orthopedic-side-card.economics > div strong { color:var(--ortho-ink); font-size:10px; }
.orthopedic-footer { position:sticky; bottom:0; z-index:3; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 16px; border-top:1px solid #cbdcda; background:rgba(255,255,255,.96); box-shadow:0 -4px 14px rgba(32,68,71,.07); backdrop-filter:blur(8px); }.orthopedic-footer > div:first-child { display:grid; gap:2px; }.orthopedic-footer strong { color:var(--ortho-ink); font-size:9px; }.orthopedic-footer span { color:var(--muted); font-size:7px; }.orthopedic-footer > div:last-child { display:flex; gap:7px; }.orthopedic-new-header { background:linear-gradient(110deg,#edf8f5,#fff); }
.orthopedic-lab-order-summary { display:grid; gap:2px; padding:8px; border-radius:8px; background:#f7f4ed; }.orthopedic-lab-order-summary strong { color:#675336; font-size:8px; }.orthopedic-lab-order-summary small { color:#8a7555; font-size:7px; }.orthopedic-lab-order-button { width:100%; }

/* Laboratory order from orthopedic treatment */
.modal.modal-laboratory-order { color:#233d43; background:#eef4f3; }.lab-order-workspace { display:grid; grid-template-rows:auto auto minmax(0,1fr) auto; max-height:calc(100vh - 20px); }.lab-order-header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px 20px; color:#fff; background:linear-gradient(118deg,#183d43,#23655f 68%,#2c8b77); }.lab-order-header h2 { margin:2px 0 3px; color:#fff; font-size:19px; }.lab-order-header p { margin:0; color:#cce2df; font-size:9px; }.lab-order-header .section-eyebrow { color:#8fd3c5; }.lab-order-header > div:last-child { display:flex; align-items:center; gap:8px; }.lab-order-header .icon-button { color:#fff; border-color:rgba(255,255,255,.35); background:rgba(255,255,255,.08); }.lab-order-auto-badge { padding:5px 8px; border:1px solid rgba(159,225,212,.35); border-radius:8px; color:#bfe9df; background:rgba(255,255,255,.07); font-size:7px; font-weight:800; }
.lab-order-route { display:grid; grid-template-columns:auto 1fr auto 1fr auto 1fr auto; align-items:center; gap:8px; padding:9px 20px; border-bottom:1px solid #d6e1df; background:#fff; }.lab-order-route span { display:flex; align-items:center; gap:6px; color:#819093; font-size:8px; font-weight:750; white-space:nowrap; }.lab-order-route b { display:grid; place-items:center; width:21px; height:21px; border-radius:50%; color:#fff; background:#a7b3b5; font-size:7px; }.lab-order-route i { height:1px; background:#d6dfdf; }.lab-order-route span.is-done,.lab-order-route span.is-current { color:#176c62; }.lab-order-route span.is-done b { background:#32a08b; }.lab-order-route span.is-current b { background:#c38a37; box-shadow:0 0 0 4px #f7ead7; }
.lab-order-body { display:grid; grid-template-columns:minmax(0,1fr) 280px; min-height:0; overflow:auto; }.lab-order-body > main { display:grid; align-content:start; gap:10px; padding:12px; }.lab-order-body > aside { display:grid; align-content:start; gap:10px; padding:12px 12px 12px 0; }.lab-order-section,.lab-order-readiness,.lab-order-version { overflow:hidden; border:1px solid #d6e1df; border-radius:11px; background:#fff; box-shadow:0 2px 8px rgba(32,63,66,.035); }.lab-order-section { padding:12px; }.lab-order-section > header { display:flex; align-items:center; gap:8px; margin-bottom:10px; }.lab-order-section > header > span { display:grid; place-items:center; width:25px; height:25px; flex:0 0 auto; border-radius:7px; color:#167368; background:#e4f4f0; font-size:7px; font-weight:800; }.lab-order-section > header > div { display:grid; gap:1px; }.lab-order-section > header strong { font-size:10px; }.lab-order-section > header small { color:var(--muted); font-size:7px; }.lab-order-section > header em { margin-left:auto; padding:4px 7px; border-radius:7px; color:#176e63; background:#e8f5f2; font-size:7px; font-style:normal; font-weight:800; }
.lab-order-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }.lab-order-grid label { display:grid; align-content:start; gap:4px; color:#526c71; font-size:7px; font-weight:750; }.lab-order-grid .wide { grid-column:span 2; }.lab-order-grid .full { grid-column:1 / -1; }.lab-order-grid input,.lab-order-grid select,.lab-order-grid textarea { box-sizing:border-box; min-width:0; width:100%; padding:8px; border:1px solid #cbd9d8; border-radius:7px; color:#213e43; background:#fbfdfd; font:inherit; font-size:8px; line-height:1.4; }.lab-order-grid textarea { resize:vertical; }.lab-order-grid :disabled { color:#607477; background:#eef3f2; }.lab-order-cad-check { grid-column:span 2; grid-template-columns:auto minmax(0,1fr)!important; align-items:center!important; padding:7px 8px; border:1px solid #cfe0dd; border-radius:8px; background:#f2f9f7; }.lab-order-cad-check input { width:16px; }.lab-order-cad-check span { display:grid; gap:1px; }.lab-order-cad-check strong { color:#285a53; font-size:8px; }.lab-order-cad-check small { color:#6c807d; font-size:7px; font-weight:500; }.lab-order-margin { display:grid; align-content:center; gap:2px; padding:7px 10px; border-radius:8px; background:#edf8f5; }.lab-order-margin span { color:#56756f; font-size:7px; }.lab-order-margin strong { color:#137064; font-size:12px; }
.lab-order-media { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }.lab-media-card { display:grid; grid-template-columns:auto auto minmax(0,1fr) auto; align-items:center; gap:7px; padding:8px; border:1px solid #d9e2e1; border-radius:8px; background:#fafcfc; cursor:pointer; }.lab-media-card input { position:absolute; opacity:0; pointer-events:none; }.lab-media-card > b { display:grid; place-items:center; width:31px; height:25px; border-radius:6px; color:#547178; background:#e5edee; font-size:6px; }.lab-media-card span { display:grid; min-width:0; gap:1px; }.lab-media-card strong { overflow:hidden; font-size:8px; white-space:nowrap; text-overflow:ellipsis; }.lab-media-card small { color:var(--muted); font-size:6px; }.lab-media-card > i { display:grid; place-items:center; width:17px; height:17px; border:2px solid #bac7c7; border-radius:5px; color:transparent; font-size:8px; font-style:normal; }.lab-media-card.is-selected { border-color:#7ec5b6; background:#edf8f5; }.lab-media-card.is-selected > b { color:#176c62; background:#d7efe9; }.lab-media-card.is-selected > i { color:#fff; border-color:#279884; background:#279884; }.lab-media-empty { display:grid; grid-column:1 / -1; gap:2px; padding:14px; border:1px dashed #c4d3d2; border-radius:9px; text-align:center; }.lab-media-empty strong { font-size:9px; }.lab-media-empty span { color:var(--muted); font-size:7px; }
.lab-order-readiness header { display:flex; align-items:center; justify-content:space-between; padding:11px; color:#7a5324; border-bottom:1px solid #ebdfca; background:#fff5e4; }.lab-order-readiness header div { display:grid; gap:2px; }.lab-order-readiness header span { font-size:6px; font-weight:800; letter-spacing:.05em; }.lab-order-readiness header strong { font-size:10px; }.lab-order-readiness header > b { display:grid; place-items:center; width:31px; height:31px; border-radius:50%; color:#fff; background:#c58c3f; font-size:8px; }.lab-order-readiness.is-ready header { color:#17685e; border-color:#cce8e1; background:#eaf8f4; }.lab-order-readiness.is-ready header > b { background:#299781; }.lab-order-readiness ul { display:grid; margin:0; padding:7px 10px; list-style:none; }.lab-order-readiness li { display:flex; align-items:center; gap:6px; padding:6px 0; border-bottom:1px solid #edf1f1; color:#855f36; font-size:7px; }.lab-order-readiness li:last-child { border:0; }.lab-order-readiness li b { display:grid; place-items:center; width:16px; height:16px; flex:0 0 auto; border-radius:50%; color:#fff; background:#c48a48; }.lab-order-readiness li.is-ok { color:#2a6d63; }.lab-order-readiness li.is-ok b { background:#34a18b; }.lab-order-version { display:grid; gap:4px; padding:12px; }.lab-order-version > span { color:#718487; font-size:6px; font-weight:800; }.lab-order-version > strong { color:#1d5952; font-size:16px; }.lab-order-version > small { color:#657a7d; font-size:7px; }.lab-order-version p { margin:6px 0 0; padding-top:8px; border-top:1px solid #e5eceb; color:#657a7d; font-size:7px; line-height:1.45; }
.lab-order-error { min-height:0; margin:0; padding:0 16px; background:#fff; }.lab-order-error:not(:empty) { padding:8px 16px; border-top:1px solid #f0d3d0; }.lab-order-footer { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:11px 16px; border-top:1px solid #ccd9d7; background:rgba(255,255,255,.98); box-shadow:0 -4px 14px rgba(30,61,64,.07); }.lab-order-footer > div:first-child { display:grid; gap:2px; }.lab-order-footer strong { font-size:9px; }.lab-order-footer span { color:var(--muted); font-size:7px; }.lab-order-footer > div:last-child { display:flex; justify-content:flex-end; gap:7px; flex-wrap:wrap; }

.button-danger { color:#fff; border-color:#a84640; background:#a84640; }.button-danger:hover { background:#8f3732; }
.orthopedic-lab-clinical-actions { display:grid; grid-template-columns:1fr 1fr; gap:6px; }.orthopedic-lab-clinical-actions button { display:grid; gap:2px; min-width:0; padding:7px; border:1px solid #d5e1df; border-radius:8px; text-align:left; background:#f8fbfa; cursor:pointer; }.orthopedic-lab-clinical-actions button:disabled { opacity:.5; cursor:not-allowed; }.orthopedic-lab-clinical-actions span { color:#268476; font-size:6px; font-weight:900; letter-spacing:.08em; }.orthopedic-lab-clinical-actions b { overflow:hidden; color:#39585c; font-size:7px; white-space:nowrap; text-overflow:ellipsis; }

/* CAD design review */
.modal.modal-cad-review { color:#243d44; background:#eef3f6; }.cad-review-workspace { display:grid; grid-template-rows:auto auto minmax(0,1fr) auto; max-height:calc(100vh - 20px); }.cad-review-header { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:16px 20px; color:#fff; background:linear-gradient(118deg,#172f40,#24566b 65%,#2f7c89); }.cad-review-header h2 { margin:2px 0 3px; color:#fff; font-size:19px; }.cad-review-header p { margin:0; color:#c9e2e8; font-size:9px; }.cad-review-header .section-eyebrow { color:#7ecada; }.cad-review-header > div:last-child { display:flex; align-items:center; gap:8px; }.cad-review-header .icon-button { color:#fff; border-color:rgba(255,255,255,.35); background:rgba(255,255,255,.08); }
.cad-review-route,.try-in-route { display:grid; grid-template-columns:auto 1fr auto 1fr auto 1fr auto; align-items:center; gap:8px; padding:9px 20px; border-bottom:1px solid #d5e0e4; background:#fff; }.cad-review-route span,.try-in-route span { display:flex; align-items:center; gap:6px; color:#839196; font-size:8px; font-weight:750; white-space:nowrap; }.cad-review-route b,.try-in-route b { display:grid; place-items:center; width:21px; height:21px; border-radius:50%; color:#fff; background:#a6b3b7; font-size:7px; }.cad-review-route i,.try-in-route i { height:1px; background:#d5dfe2; }.cad-review-route .is-done,.cad-review-route .is-current { color:#1e6b79; }.cad-review-route .is-done b { background:#3a9aae; }.cad-review-route .is-current b { background:#c38434; box-shadow:0 0 0 4px #f6ead7; }
.cad-review-body { display:grid; grid-template-columns:minmax(0,1fr) 275px; min-height:0; overflow:auto; }.cad-review-body > main { display:grid; align-content:start; gap:10px; padding:12px; }.cad-review-body > aside { display:grid; align-content:start; gap:10px; padding:12px 12px 12px 0; }.cad-viewer-card,.cad-review-section,.cad-context-card,.cad-history-card { overflow:hidden; border:1px solid #d3dfe3; border-radius:11px; background:#fff; box-shadow:0 2px 8px rgba(31,56,66,.04); }.cad-viewer-card > header { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 12px; border-bottom:1px solid #d7e2e5; }.cad-viewer-card > header > div:first-child { display:grid; gap:1px; }.cad-viewer-card > header span { color:#317b8c; font-size:6px; font-weight:900; }.cad-viewer-card > header strong { font-size:9px; }.cad-view-buttons { display:flex; gap:4px; }.cad-view-buttons button { padding:5px 7px; border:1px solid #cbdade; border-radius:6px; color:#567179; background:#f7fafb; font-size:7px; cursor:pointer; }.cad-view-buttons button.is-active { color:#fff; border-color:#317f91; background:#317f91; }
.cad-viewer-scene { position:relative; display:grid; place-items:center; min-height:245px; overflow:hidden; background:radial-gradient(circle at center,#385a68 0,#203b49 48%,#142c39 100%); perspective:700px; }.cad-grid { position:absolute; inset:0; opacity:.24; background-image:linear-gradient(rgba(133,195,208,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(133,195,208,.2) 1px,transparent 1px); background-size:28px 28px; transform:perspective(400px) rotateX(60deg) scale(1.5); transform-origin:center 78%; }.cad-model { position:relative; width:150px; height:118px; transform-style:preserve-3d; transition:transform .45s ease; filter:drop-shadow(0 18px 22px rgba(0,0,0,.35)); }.cad-model:before { content:""; position:absolute; inset:4px 18px 25px; border-radius:52% 48% 44% 47%; background:linear-gradient(145deg,#f3fbfc,#9ed3db 46%,#4b99a7); box-shadow:inset -18px -15px 30px rgba(22,81,94,.45),inset 12px 10px 25px rgba(255,255,255,.65); transform:rotateX(-12deg); }.cad-model:after { content:""; position:absolute; left:50%; bottom:5px; width:74px; height:48px; border-radius:15px 15px 30px 30px; background:linear-gradient(90deg,#4b929f,#b8e0e4 48%,#397a88); transform:translateX(-50%); }.cad-model i,.cad-model b,.cad-model span { position:absolute; z-index:2; top:27px; width:13px; height:29px; border-radius:50%; background:rgba(34,106,118,.45); box-shadow:0 0 0 1px rgba(224,250,252,.5); }.cad-model i { left:44px; }.cad-model b { left:69px; }.cad-model span { left:94px; }.cad-viewer-scene[data-view="occlusal"] .cad-model { transform:rotateX(66deg) rotateZ(-10deg) scale(1.05); }.cad-viewer-scene[data-view="internal"] .cad-model { transform:rotateY(180deg) rotateX(18deg); }.cad-axis { position:absolute; left:14px; bottom:14px; display:flex; gap:4px; }.cad-axis span { display:grid; place-items:center; width:18px; height:18px; border-radius:50%; color:#fff; background:#d05d55; font-size:6px; }.cad-axis span:nth-child(2) { background:#4ba66d; }.cad-axis span:nth-child(3) { background:#4a82bc; }.cad-viewer-scene > small { position:absolute; right:14px; bottom:15px; color:#9dbac3; font-size:6px; }.cad-viewer-card > footer { display:grid; grid-template-columns:1fr 120px; gap:8px; padding:9px 12px; }.cad-viewer-card label,.cad-comment-grid label { display:grid; gap:4px; color:#557078; font-size:7px; font-weight:750; }.cad-viewer-card input,.cad-viewer-card select,.cad-comment-grid textarea { padding:8px; border:1px solid #cbdadd; border-radius:7px; color:#243f46; background:#fbfdfd; font:inherit; font-size:8px; }
.cad-review-section { padding:12px; }.cad-review-section > header { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }.cad-review-section > header > div { display:flex; align-items:center; gap:8px; }.cad-review-section > header > div > span { display:grid; place-items:center; width:25px; height:25px; border-radius:7px; color:#287a8b; background:#e4f2f5; font-size:7px; font-weight:900; }.cad-review-section header div div { display:grid; gap:1px; }.cad-review-section header strong { font-size:10px; }.cad-review-section header small { color:var(--muted); font-size:7px; }.cad-review-section header em { padding:5px 7px; border-radius:7px; color:#277789; background:#e5f3f6; font-size:7px; font-style:normal; font-weight:900; }.cad-check-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }.cad-check-card { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:8px; padding:9px; border:1px solid #d9e3e5; border-radius:8px; background:#fafcfc; cursor:pointer; }.cad-check-card input { position:absolute; opacity:0; }.cad-check-card > span { display:grid; place-items:center; width:22px; height:22px; border:2px solid #bdcace; border-radius:6px; color:transparent; font-size:10px; font-weight:900; }.cad-check-card div { display:grid; gap:1px; }.cad-check-card strong { font-size:8px; }.cad-check-card small { color:var(--muted); font-size:6px; }.cad-check-card.is-checked { border-color:#79bfae; background:#edf8f5; }.cad-check-card.is-checked > span { color:#fff; border-color:#299884; background:#299884; }.cad-comment-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }.cad-comment-grid textarea { resize:vertical; line-height:1.45; }.cad-context-card { display:grid; gap:5px; padding:12px; }.cad-context-card > span,.cad-history-card header span { color:#637c83; font-size:6px; font-weight:900; letter-spacing:.07em; }.cad-context-card > strong { color:#245f6c; font-size:11px; }.cad-context-card p { margin:4px 0 8px; color:#5f747a; font-size:7px; line-height:1.5; }.cad-context-card dl { display:grid; gap:5px; margin:0; }.cad-context-card dl div { display:flex; justify-content:space-between; gap:8px; padding-top:5px; border-top:1px solid #e4ebed; }.cad-context-card dt,.cad-context-card dd { margin:0; font-size:7px; }.cad-context-card dt { color:#7b8b8f; }.cad-context-card dd { color:#304e55; font-weight:800; text-align:right; }.cad-history-card header { display:flex; justify-content:space-between; padding:10px; border-bottom:1px solid #e2e9eb; }.cad-history-card header b { display:grid; place-items:center; width:22px; height:22px; border-radius:50%; color:#fff; background:#46889a; font-size:7px; }.cad-history-item { display:grid; grid-template-columns:28px minmax(0,1fr) auto; align-items:center; gap:7px; padding:8px 10px; border-bottom:1px solid #edf1f2; }.cad-history-item > b { color:#377888; font-size:8px; }.cad-history-item div { display:grid; min-width:0; gap:1px; }.cad-history-item strong { overflow:hidden; font-size:7px; white-space:nowrap; text-overflow:ellipsis; }.cad-history-item small,.cad-empty-history { color:var(--muted); font-size:6px; }.cad-history-item > span { color:#42977f; }.cad-history-item.is-revision > span { color:#b3544c; }.cad-empty-history { margin:0; padding:12px; }.cad-review-error,.try-in-error { min-height:0; margin:0; padding:0 16px; background:#fff; }.cad-review-error:not(:empty),.try-in-error:not(:empty) { padding:7px 16px; border-top:1px solid #edd2cf; }.cad-review-footer,.try-in-footer { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:11px 16px; border-top:1px solid #ccd9dd; background:rgba(255,255,255,.98); box-shadow:0 -4px 14px rgba(30,53,62,.07); }.cad-review-footer > div:first-child,.try-in-footer > div:first-child { display:grid; gap:2px; }.cad-review-footer strong,.try-in-footer strong { font-size:9px; }.cad-review-footer span,.try-in-footer span { color:var(--muted); font-size:7px; }.cad-review-footer > div:last-child,.try-in-footer > div:last-child { display:flex; justify-content:flex-end; gap:7px; flex-wrap:wrap; }

.cad-check-card input { pointer-events:none; }

/* Clinical try-in */
.modal.modal-try-in { color:#293c42; background:#f2f3ef; }.try-in-workspace { display:grid; grid-template-rows:auto auto minmax(0,1fr) auto; max-height:calc(100vh - 20px); }.try-in-header { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:16px 20px; color:#fff; background:linear-gradient(118deg,#33433d,#526a58 65%,#718457); }.try-in-header h2 { margin:2px 0 3px; color:#fff; font-size:19px; }.try-in-header p { margin:0; color:#e0e9dd; font-size:9px; }.try-in-header .section-eyebrow { color:#bfd3ad; }.try-in-header > div:last-child { display:flex; align-items:center; gap:8px; }.try-in-header .icon-button { color:#fff; border-color:rgba(255,255,255,.35); background:rgba(255,255,255,.08); }.try-in-route .is-done,.try-in-route .is-current { color:#607448; }.try-in-route .is-done b { background:#819860; }.try-in-route .is-current b { background:#c18a39; box-shadow:0 0 0 4px #f6ead7; }
.try-in-body { display:grid; grid-template-columns:minmax(0,1fr) 275px; min-height:0; overflow:auto; }.try-in-body > main { display:grid; align-content:start; gap:10px; padding:12px; }.try-in-body > aside { display:grid; align-content:start; gap:10px; padding:12px 12px 12px 0; }.try-in-summary,.try-in-section,.try-in-decision-card,.try-in-history { border:1px solid #daddd4; border-radius:11px; background:#fff; box-shadow:0 2px 8px rgba(50,65,53,.035); }.try-in-summary { display:grid; grid-template-columns:minmax(180px,1fr) 155px 175px 175px; gap:8px; padding:11px; }.try-in-summary > div { display:grid; align-content:center; gap:2px; padding-right:10px; border-right:1px solid #e1e5dd; }.try-in-summary > div span { color:#70805f; font-size:6px; font-weight:900; }.try-in-summary > div strong { font-size:10px; }.try-in-summary > div small { color:var(--muted); font-size:7px; }.try-in-summary label,.try-in-text-grid label { display:grid; gap:4px; color:#5c6f60; font-size:7px; font-weight:750; }.try-in-summary input,.try-in-summary select,.try-in-text-grid input,.try-in-text-grid textarea,.try-in-check-row select { min-width:0; padding:8px; border:1px solid #d0d8cc; border-radius:7px; color:#2d4335; background:#fbfcfa; font:inherit; font-size:8px; }
.try-in-section { padding:12px; }.try-in-section > header { margin-bottom:10px; }.try-in-section > header > div { display:flex; align-items:center; gap:8px; }.try-in-section > header > div > span { display:grid; place-items:center; width:25px; height:25px; border-radius:7px; color:#657a4e; background:#edf2e7; font-size:7px; font-weight:900; }.try-in-section header div div { display:grid; gap:1px; }.try-in-section header strong { font-size:10px; }.try-in-section header small { color:var(--muted); font-size:7px; }.try-in-checks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }.try-in-check-row { display:grid; grid-template-columns:minmax(0,1fr) 130px; align-items:center; gap:8px; padding:7px 8px; border:1px solid #e0e5dc; border-radius:8px; background:#fafbf9; }.try-in-check-row > span { display:grid; gap:1px; }.try-in-check-row strong { font-size:8px; }.try-in-check-row small { color:var(--muted); font-size:6px; }.try-in-confirmations { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin-top:8px; }.try-in-confirmations label { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:8px; padding:9px; border:1px solid #d8e2d2; border-radius:8px; background:#f4f8f0; }.try-in-confirmations input { width:17px; height:17px; accent-color:#788f58; }.try-in-confirmations span { display:grid; gap:1px; }.try-in-confirmations strong { font-size:8px; }.try-in-confirmations small { color:var(--muted); font-size:6px; }.try-in-text-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }.try-in-text-grid .full { grid-column:1 / -1; }.try-in-text-grid textarea { resize:vertical; line-height:1.45; }.try-in-media-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }.try-in-media { display:grid; grid-template-columns:auto auto minmax(0,1fr) auto; align-items:center; gap:7px; padding:8px; border:1px solid #dce2d8; border-radius:8px; background:#fafbf9; cursor:pointer; }.try-in-media input { position:absolute; opacity:0; }.try-in-media > b { display:grid; place-items:center; width:34px; height:25px; border-radius:6px; color:#667657; background:#e8eddf; font-size:6px; }.try-in-media span { display:grid; min-width:0; gap:1px; }.try-in-media strong { overflow:hidden; font-size:7px; white-space:nowrap; text-overflow:ellipsis; }.try-in-media small,.try-in-empty { color:var(--muted); font-size:6px; }.try-in-media > i { display:grid; place-items:center; width:17px; height:17px; border:2px solid #c2cabd; border-radius:5px; color:transparent; font-size:8px; font-style:normal; }.try-in-media.is-selected { border-color:#96b17a; background:#f0f6e9; }.try-in-media.is-selected > i { color:#fff; border-color:#7e985e; background:#7e985e; }
.try-in-decision-card { display:grid; gap:7px; padding:12px; }.try-in-decision-card > span,.try-in-history header span { color:#738064; font-size:6px; font-weight:900; letter-spacing:.07em; }.try-in-decision-card > strong { color:#5c7043; font-size:11px; }.try-in-decision-card p { margin:0 0 4px; color:#697468; font-size:7px; line-height:1.45; }.try-in-decision-card > div { display:flex; align-items:center; gap:7px; padding:7px; border:1px solid #e2e7dc; border-radius:7px; }.try-in-decision-card > div b { display:grid; place-items:center; width:22px; height:22px; border-radius:50%; color:#fff; background:#7f9563; }.try-in-decision-card > div span { color:#43513d; font-size:7px; font-weight:800; }.try-in-history { overflow:hidden; }.try-in-history header { display:flex; justify-content:space-between; padding:10px; border-bottom:1px solid #e3e7df; }.try-in-history header b { display:grid; place-items:center; width:22px; height:22px; border-radius:50%; color:#fff; background:#7d915f; font-size:7px; }.try-in-history article { display:grid; grid-template-columns:27px minmax(0,1fr); gap:7px; padding:8px 10px; border-bottom:1px solid #edf0e9; }.try-in-history article > b { color:#6d8053; font-size:8px; }.try-in-history article div { display:grid; gap:1px; }.try-in-history article strong { font-size:7px; }.try-in-history article small { color:var(--muted); font-size:6px; }.try-in-history .try-in-empty { margin:0; padding:12px; }

.orthopedic-lab-clinical-actions { grid-template-columns:repeat(4,minmax(0,1fr)); }

/* Final fixation and delivery */
.modal.modal-orthopedic-delivery { color:#303e43; background:#f3f1ed; }.delivery-workspace { display:grid; grid-template-rows:auto auto minmax(0,1fr) auto; max-height:calc(100vh - 20px); }.delivery-header { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:16px 20px; color:#fff; background:linear-gradient(118deg,#463b31,#71604d 64%,#8d7658); }.delivery-header h2 { margin:2px 0 3px; color:#fff; font-size:19px; }.delivery-header p { margin:0; color:#e9ded0; font-size:9px; }.delivery-header .section-eyebrow { color:#dcc09c; }.delivery-header > div:last-child { display:flex; align-items:center; gap:8px; }.delivery-header .icon-button { color:#fff; border-color:rgba(255,255,255,.35); background:rgba(255,255,255,.08); }
.delivery-route { display:grid; grid-template-columns:auto 1fr auto 1fr auto 1fr auto; align-items:center; gap:8px; padding:9px 20px; border-bottom:1px solid #dfd9d0; background:#fff; }.delivery-route span { display:flex; align-items:center; gap:6px; color:#8d8c89; font-size:8px; font-weight:750; white-space:nowrap; }.delivery-route b { display:grid; place-items:center; width:21px; height:21px; border-radius:50%; color:#fff; background:#aaa9a5; font-size:7px; }.delivery-route i { height:1px; background:#dedbd5; }.delivery-route .is-done,.delivery-route .is-current { color:#796247; }.delivery-route .is-done b { background:#9b805e; }.delivery-route .is-current b { background:#bf8536; box-shadow:0 0 0 4px #f7ead7; }
.delivery-body { display:grid; grid-template-columns:minmax(0,1fr) 280px; min-height:0; overflow:auto; }.delivery-body > main { display:grid; align-content:start; gap:10px; padding:12px; }.delivery-body > aside { display:grid; align-content:start; gap:10px; padding:12px 12px 12px 0; }.delivery-summary,.delivery-section,.delivery-warranty-card,.delivery-sign-card,.delivery-trace-card { border:1px solid #e0dbd3; border-radius:11px; background:#fff; box-shadow:0 2px 8px rgba(65,55,45,.035); }.delivery-summary { display:grid; grid-template-columns:minmax(180px,1fr) 155px 175px 175px; gap:8px; padding:11px; }.delivery-summary > div { display:grid; align-content:center; gap:2px; padding-right:10px; border-right:1px solid #e6e1da; }.delivery-summary > div span { color:#8a7154; font-size:6px; font-weight:900; }.delivery-summary > div strong { font-size:10px; }.delivery-summary > div small { color:var(--muted); font-size:7px; }.delivery-summary label,.delivery-grid label,.delivery-text-grid label,.delivery-warranty-card label { display:grid; align-content:start; gap:4px; color:#726556; font-size:7px; font-weight:750; }.delivery-summary input,.delivery-summary select,.delivery-grid input,.delivery-grid select,.delivery-text-grid textarea,.delivery-warranty-card input { box-sizing:border-box; min-width:0; width:100%; padding:8px; border:1px solid #d9d1c7; border-radius:7px; color:#3f352d; background:#fdfcfb; font:inherit; font-size:8px; }.delivery-section { padding:12px; }.delivery-section > header { margin-bottom:10px; }.delivery-section > header > div { display:flex; align-items:center; gap:8px; }.delivery-section > header > div > span { display:grid; place-items:center; width:25px; height:25px; border-radius:7px; color:#876b48; background:#f4ede3; font-size:7px; font-weight:900; }.delivery-section header div div { display:grid; gap:1px; }.delivery-section header strong { font-size:10px; }.delivery-section header small { color:var(--muted); font-size:7px; }
.delivery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }.delivery-grid .wide { grid-column:span 2; }.delivery-inline-check { grid-template-columns:auto minmax(0,1fr)!important; align-items:center!important; align-content:center!important; padding:7px 8px; border:1px solid #e0d7ca; border-radius:8px; background:#faf6f0; }.delivery-inline-check input { width:17px; height:17px; }.delivery-inline-check span { display:grid; gap:1px; }.delivery-inline-check strong { font-size:8px; }.delivery-inline-check small { color:var(--muted); font-size:6px; }.delivery-check-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }.delivery-check { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:8px; padding:9px; border:1px solid #e1dcd4; border-radius:8px; background:#fcfbfa; cursor:pointer; }.delivery-check input { position:absolute; opacity:0; pointer-events:none; }.delivery-check > span { display:grid; place-items:center; width:22px; height:22px; border:2px solid #cfc7bd; border-radius:6px; color:transparent; font-size:10px; font-weight:900; }.delivery-check div { display:grid; gap:1px; }.delivery-check strong { font-size:8px; }.delivery-check small { color:var(--muted); font-size:6px; }.delivery-check.is-checked { border-color:#aebf90; background:#f4f8ec; }.delivery-check.is-checked > span { color:#fff; border-color:#7f995c; background:#7f995c; }.delivery-text-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }.delivery-text-grid textarea { resize:vertical; line-height:1.45; }.delivery-media-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }.delivery-media { display:grid; grid-template-columns:auto auto minmax(0,1fr) auto; align-items:center; gap:7px; padding:8px; border:1px solid #e1ddd6; border-radius:8px; background:#fcfbfa; cursor:pointer; }.delivery-media input { position:absolute; opacity:0; pointer-events:none; }.delivery-media > b { display:grid; place-items:center; width:34px; height:25px; border-radius:6px; color:#776a5a; background:#eee9e2; font-size:6px; }.delivery-media span { display:grid; min-width:0; gap:1px; }.delivery-media strong { overflow:hidden; font-size:7px; white-space:nowrap; text-overflow:ellipsis; }.delivery-media small,.delivery-empty { color:var(--muted); font-size:6px; }.delivery-media > i { display:grid; place-items:center; width:17px; height:17px; border:2px solid #cec7bd; border-radius:5px; color:transparent; font-size:8px; font-style:normal; }.delivery-media.is-selected { border-color:#ae987c; background:#faf5ed; }.delivery-media.is-selected > i { color:#fff; border-color:#9b7f5c; background:#9b7f5c; }
.delivery-warranty-card { display:grid; gap:8px; padding:12px; }.delivery-warranty-card header { display:flex; align-items:center; justify-content:space-between; }.delivery-warranty-card header span,.delivery-sign-card > span,.delivery-trace-card > span { color:#88765f; font-size:6px; font-weight:900; letter-spacing:.07em; }.delivery-warranty-card header b { color:#876a45; font-size:12px; }.delivery-date-grid { display:grid; grid-template-columns:1fr 1fr; gap:6px; }.delivery-warranty-card p { margin:2px 0 0; padding-top:7px; border-top:1px solid #ebe6df; color:#756d64; font-size:7px; line-height:1.45; }.delivery-sign-card { display:grid; gap:8px; padding:12px; }.delivery-sign-card > label { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:8px; padding:9px; border:1px solid #e3d8cb; border-radius:8px; background:#fbf6ef; cursor:pointer; }.delivery-sign-card input { position:absolute; opacity:0; pointer-events:none; }.delivery-sign-card label > b { display:grid; place-items:center; width:25px; height:25px; border:2px solid #c9bcad; border-radius:7px; color:transparent; }.delivery-sign-card label div { display:grid; gap:1px; }.delivery-sign-card strong { font-size:8px; }.delivery-sign-card small { color:var(--muted); font-size:6px; }.delivery-sign-card.is-confirmed > label { border-color:#9cbb83; background:#f1f7eb; }.delivery-sign-card.is-confirmed label > b { color:#fff; border-color:#789a5b; background:#789a5b; }.delivery-trace-card { display:grid; gap:7px; padding:12px; }.delivery-trace-card dl { display:grid; gap:5px; margin:0; }.delivery-trace-card dl div { display:flex; justify-content:space-between; gap:8px; padding-top:5px; border-top:1px solid #ebe6df; }.delivery-trace-card dt,.delivery-trace-card dd { margin:0; font-size:7px; }.delivery-trace-card dt { color:#8a8178; }.delivery-trace-card dd { color:#4d4137; font-weight:800; text-align:right; }.delivery-error { min-height:0; margin:0; padding:0 16px; background:#fff; }.delivery-error:not(:empty) { padding:7px 16px; border-top:1px solid #edd2cf; }.delivery-footer { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:11px 16px; border-top:1px solid #d9d2ca; background:rgba(255,255,255,.98); box-shadow:0 -4px 14px rgba(60,50,42,.07); }.delivery-footer > div:first-child { display:grid; gap:2px; }.delivery-footer strong { font-size:9px; }.delivery-footer span { color:var(--muted); font-size:7px; }.delivery-footer > div:last-child { display:flex; justify-content:flex-end; gap:7px; flex-wrap:wrap; }

/* Orthopedic result control and warranty */
.modal.modal-orthopedic-control { color:#293c3e; background:#eef3f0; }.control-workspace { display:grid; grid-template-rows:auto auto minmax(0,1fr) auto; max-height:calc(100vh - 20px); }.control-header { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:16px 20px; color:#fff; background:linear-gradient(118deg,#244841,#347266 64%,#4f8a70); }.control-header h2 { margin:2px 0 3px; color:#fff; font-size:19px; }.control-header p { margin:0; color:#d7ebe5; font-size:9px; }.control-header .section-eyebrow { color:#9fd4c7; }.control-header > div:last-child { display:flex; align-items:center; gap:8px; }.control-header .icon-button { color:#fff; border-color:rgba(255,255,255,.35); background:rgba(255,255,255,.08); }
.control-route { display:grid; grid-template-columns:auto 1fr auto 1fr auto 1fr auto; align-items:center; gap:8px; padding:9px 20px; border-bottom:1px solid #d3dfda; background:#fff; }.control-route span { display:flex; align-items:center; gap:6px; color:#85908c; font-size:8px; font-weight:750; white-space:nowrap; }.control-route b { display:grid; place-items:center; width:21px; height:21px; border-radius:50%; color:#fff; background:#a4afab; font-size:7px; }.control-route i { height:1px; background:#d5dfdc; }.control-route .is-done,.control-route .is-current { color:#307569; }.control-route .is-done b { background:#4f9a8b; }.control-route .is-current b { background:#bf8536; box-shadow:0 0 0 4px #f5ead8; }
.control-body { display:grid; grid-template-columns:minmax(0,1fr) 285px; min-height:0; overflow:auto; }.control-body > main { display:grid; align-content:start; gap:10px; padding:12px; }.control-body > aside { display:grid; align-content:start; gap:10px; padding:12px 12px 12px 0; }.control-summary,.control-section,.control-warranty,.control-decision,.control-history { border:1px solid #d3e0dc; border-radius:11px; background:#fff; box-shadow:0 2px 8px rgba(35,69,62,.035); }.control-summary { display:grid; grid-template-columns:minmax(180px,1fr) 140px 150px 175px 170px; gap:8px; padding:11px; }.control-summary > div { display:grid; align-content:center; gap:2px; padding-right:10px; border-right:1px solid #dfe8e5; }.control-summary > div span { color:#367e72; font-size:6px; font-weight:900; }.control-summary > div strong { font-size:10px; }.control-summary > div small { color:var(--muted); font-size:7px; }.control-summary label,.control-patient-grid label,.control-action-grid label,.control-text-grid label,.control-decision label { display:grid; align-content:start; gap:4px; color:#496b65; font-size:7px; font-weight:750; }.control-summary input,.control-summary select,.control-patient-grid input,.control-patient-grid select,.control-check select,.control-action-grid select,.control-action-grid textarea,.control-text-grid textarea,.control-decision input { box-sizing:border-box; min-width:0; width:100%; padding:8px; border:1px solid #cadbd7; border-radius:7px; color:#294943; background:#fbfdfc; font:inherit; font-size:8px; }.control-section { padding:12px; }.control-section > header { margin-bottom:10px; }.control-section > header > div { display:flex; align-items:center; gap:8px; }.control-section > header > div > span { display:grid; place-items:center; width:25px; height:25px; border-radius:7px; color:#267768; background:#e6f3ef; font-size:7px; font-weight:900; }.control-section header div div { display:grid; gap:1px; }.control-section header strong { font-size:10px; }.control-section header small { color:var(--muted); font-size:7px; }
.control-patient-grid { display:grid; grid-template-columns:1fr 100px 1fr; gap:8px; }.control-patient-grid > div { display:grid; gap:2px; padding:8px 10px; border-radius:8px; background:#edf7f4; }.control-patient-grid > div span { color:#5c8179; font-size:6px; }.control-patient-grid > div strong { color:#267467; font-size:10px; }.control-patient-grid > div small { color:var(--muted); font-size:6px; }.control-check-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }.control-check { display:grid; grid-template-columns:minmax(0,1fr) 135px; align-items:center; gap:8px; padding:8px; border:1px solid #dce6e3; border-radius:8px; background:#fbfcfc; }.control-check > span { display:grid; gap:1px; }.control-check strong { font-size:8px; }.control-check small { color:var(--muted); font-size:6px; }.control-action-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }.control-action-grid .full { grid-column:1 / -1; }.control-adjustment { grid-template-columns:auto minmax(0,1fr)!important; align-items:center!important; padding:8px; border:1px solid #d2e1dd; border-radius:8px; background:#f2f8f6; }.control-adjustment input { width:17px; height:17px; accent-color:#358877; }.control-adjustment span { display:grid; gap:1px; }.control-adjustment strong { font-size:8px; }.control-adjustment small { color:var(--muted); font-size:6px; }.control-text-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }.control-text-grid textarea,.control-action-grid textarea { resize:vertical; line-height:1.45; }.control-media-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }.control-media { display:grid; grid-template-columns:auto auto minmax(0,1fr) auto; align-items:center; gap:7px; padding:8px; border:1px solid #d9e4e1; border-radius:8px; background:#fbfcfc; cursor:pointer; }.control-media input { position:absolute; opacity:0; pointer-events:none; }.control-media > b { display:grid; place-items:center; width:34px; height:25px; border-radius:6px; color:#37786d; background:#e3f0ec; font-size:6px; }.control-media span { display:grid; min-width:0; gap:1px; }.control-media strong { overflow:hidden; font-size:7px; white-space:nowrap; text-overflow:ellipsis; }.control-media small,.control-empty { color:var(--muted); font-size:6px; }.control-media > i { display:grid; place-items:center; width:17px; height:17px; border:2px solid #bfceca; border-radius:5px; color:transparent; font-size:8px; font-style:normal; }.control-media.is-selected { border-color:#73b5a8; background:#edf8f5; }.control-media.is-selected > i { color:#fff; border-color:#398b7b; background:#398b7b; }
.control-warranty { display:grid; gap:5px; padding:12px; }.control-warranty header { display:flex; align-items:center; justify-content:space-between; }.control-warranty header span,.control-decision > span,.control-history header span { color:#608178; font-size:6px; font-weight:900; letter-spacing:.07em; }.control-warranty header b { padding:4px 6px; border-radius:6px; color:#7c6650; background:#f2ece5; font-size:7px; }.control-warranty.is-active header b { color:#216b5e; background:#e1f2ed; }.control-warranty > strong { color:#276f62; font-size:14px; }.control-warranty > small { color:var(--muted); font-size:7px; }.control-warranty dl { display:grid; gap:5px; margin:6px 0 0; }.control-warranty dl div { display:grid; gap:2px; padding-top:6px; border-top:1px solid #e4ece9; }.control-warranty dt,.control-warranty dd { margin:0; font-size:7px; }.control-warranty dt { color:#7a8986; }.control-warranty dd { color:#365a54; font-weight:800; }.control-decision { display:grid; gap:8px; padding:12px; }.control-outcomes { display:grid; gap:6px; }.control-outcome { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:7px; padding:7px; border:1px solid #dce5e2; border-radius:8px; background:#fbfcfc; cursor:pointer; }.control-outcome input { position:absolute; opacity:0; pointer-events:none; }.control-outcome > b { display:grid; place-items:center; width:24px; height:24px; border-radius:7px; color:#6d817c; background:#e9efed; }.control-outcome span { display:grid; gap:1px; }.control-outcome strong { font-size:7px; }.control-outcome small { color:var(--muted); font-size:6px; }.control-outcome.is-selected { border-color:#77b4a8; background:#edf8f5; }.control-outcome.is-selected > b { color:#fff; background:#3d8e7e; }.control-decision p { margin:0; color:var(--muted); font-size:6px; line-height:1.45; }.control-history { overflow:hidden; }.control-history header { display:flex; justify-content:space-between; padding:10px; border-bottom:1px solid #e1e9e6; }.control-history header b { display:grid; place-items:center; width:22px; height:22px; border-radius:50%; color:#fff; background:#4d9184; font-size:7px; }.control-history article { display:grid; grid-template-columns:25px minmax(0,1fr) auto; align-items:center; gap:7px; padding:8px 10px; border-bottom:1px solid #edf1f0; }.control-history article > b { color:#37796d; font-size:8px; }.control-history article div { display:grid; gap:1px; }.control-history article strong { font-size:7px; }.control-history article small { color:var(--muted); font-size:6px; }.control-history article > span { color:#328574; }.control-history .control-empty { margin:0; padding:12px; }.control-error { min-height:0; margin:0; padding:0 16px; background:#fff; }.control-error:not(:empty) { padding:7px 16px; border-top:1px solid #edd2cf; }.control-footer { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:11px 16px; border-top:1px solid #cedbd7; background:rgba(255,255,255,.98); box-shadow:0 -4px 14px rgba(31,64,57,.07); }.control-footer > div:first-child { display:grid; gap:2px; }.control-footer strong { font-size:9px; }.control-footer span { color:var(--muted); font-size:7px; }.control-footer > div:last-child { display:flex; justify-content:flex-end; gap:7px; flex-wrap:wrap; }

@media (max-width:1180px) {
  .orthopedic-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); }.orthopedic-shell { grid-template-columns:240px minmax(0,1fr); }.orthopedic-content { grid-template-columns:minmax(0,1fr) 220px; }.orthopedic-route-steps { grid-template-columns:repeat(9,95px); }.orthopedic-odontogram { grid-template-columns:repeat(8,minmax(25px,1fr)); }.orthopedic-arch-break { display:block; grid-column:1 / -1; height:1px; }
  .implant-workspace { grid-template-columns:170px minmax(430px,1fr); }.implant-parameters { grid-column:1 / -1; }.implant-form-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }.implant-form-grid .full { grid-column:span 2; }.implant-safety { display:grid; grid-template-columns:230px 1fr; gap:15px; }.implant-recommendations { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .guide-builder-grid { grid-template-columns:1fr 1fr; }.guide-order-column { grid-column:1 / -1; }.guide-order-column .guide-field-grid.single { grid-template-columns:repeat(3,minmax(0,1fr)); }.guide-order-column .guide-field-grid.single > label:last-child { grid-column:1 / -1; }
}

@media (max-width:980px) {
  .patient-family-record { grid-template-columns:1fr; }
  .record-data-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .patient-chat-layout { grid-template-columns:1fr; }
  .patient-chat-messages { max-height:360px; }
  .orthodontic-finance-layout { grid-template-columns:1fr; }.orthodontic-finance-sidebar { position:static; grid-template-columns:repeat(2,minmax(0,1fr)); }.orthodontic-finance-sidebar > button,.orthodontic-finance-sidebar > p { grid-column:1 / -1; }
  .orthodontic-payment-layout { grid-template-columns:1fr; }.orthodontic-payment-summary { position:static; }
  .orthopedic-shell { grid-template-columns:1fr; }.orthopedic-case-panel { position:static; }.orthopedic-case-list { grid-template-columns:repeat(2,minmax(0,1fr)); max-height:320px; }.orthopedic-content { grid-template-columns:1fr; }.orthopedic-content > aside { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .lab-order-body { grid-template-columns:1fr; }.lab-order-body > aside { grid-template-columns:1fr 1fr; padding:0 12px 12px; }.lab-order-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cad-review-body,.try-in-body,.delivery-body,.control-body { grid-template-columns:1fr; }.cad-review-body > aside,.try-in-body > aside,.delivery-body > aside,.control-body > aside { grid-template-columns:1fr 1fr; padding:0 12px 12px; }.try-in-summary,.delivery-summary,.control-summary { grid-template-columns:1fr 1fr; }.try-in-summary > div,.delivery-summary > div,.control-summary > div { grid-column:1 / -1; border-right:0; border-bottom:1px solid #e1e5dd; padding-bottom:8px; }
  .implant-casebar { grid-template-columns:1fr 1fr; }.implant-source-strip { grid-template-columns:1fr 1fr; }.implant-source-strip > div:nth-child(2) { border-right:0; }.implant-source-strip > div:nth-child(-n+2) { border-bottom:1px solid var(--implant-line); }
  .implant-workspace { grid-template-columns:150px minmax(0,1fr); }.implant-scene-panel { min-height:530px; }.implant-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.implant-safety { display:block; }.implant-prosthetic-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.implant-final-check { grid-template-columns:1fr 1fr; }
  .surgical-guide-section.is-locked,.surgical-guide-section.is-callout { grid-template-columns:1fr; }.guide-gate { flex-wrap:wrap; }.guide-callout-action { justify-items:start; }.guide-callout-action .button { width:auto; }.guide-preview-mini { display:none; }.guide-builder-grid { grid-template-columns:1fr; }.guide-order-column { grid-column:auto; }.guide-order-column .guide-field-grid.single { grid-template-columns:1fr 1fr; }
  .implant-operation-section.is-locked,.implant-operation-section.is-callout { grid-template-columns:1fr; }.operation-layout { grid-template-columns:1fr; }.operation-sidebar { grid-template-columns:1fr 1fr; }.operation-events { grid-column:1 / -1; }.operation-form-grid,.protocol-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .implant-followup-section.is-locked,.implant-followup-section.is-callout { grid-template-columns:1fr; }.followup-layout { grid-template-columns:1fr; }.followup-sidebar { grid-template-columns:repeat(3,minmax(0,1fr)); }.followup-timeline { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .user-copy,.branch-field span { display:none; }
  .branch-field select { width:130px; }
  .stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .content-grid,.content-grid-main,.split-layout { grid-template-columns:1fr; }
  .doctor-workspace { grid-template-columns:230px minmax(0,1fr); }
  .media-library { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .patient-media-toolbar { align-items:stretch; flex-direction:column; }
  .patient-media-toolbar .media-filters { width:100%; }
  .prescription-row { grid-template-columns:repeat(2,minmax(0,1fr)) 38px; }
  .prescription-row .remove-button { grid-column:3; grid-row:1 / 3; }
  .integration-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .telephony-call-row { grid-template-columns:34px minmax(150px,1fr) minmax(210px,1.2fr) 110px; }.telephony-call-row > div:last-child { grid-column:4; }
  .egisz-summary { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .egisz-readiness { grid-template-columns:1fr; }
  .detail-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .settings-shell { grid-template-columns:190px minmax(0,1fr); }
  .settings-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .settings-branch-grid,.settings-integration-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .operation-template-grid { grid-template-columns:1fr; }
  .anesthesia-provider-setting { grid-template-columns:minmax(190px,1fr) auto 85px; }
  .anesthesia-provider-setting > label:nth-of-type(3),.anesthesia-provider-setting .provider-channels { grid-column:1 / -1; }
  .provider-request-row { grid-template-columns:1fr 1fr; }
  .provider-response-actions { grid-column:1 / -1; justify-content:flex-start; }
  .plan-source-card { grid-template-columns:1fr auto; }
  .plan-source-card > div:first-child { grid-column:1 / -1; }
  .plan-protocol-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .plan-visit-header { grid-template-columns:minmax(260px,1fr) 120px auto; }
  .plan-visit-amount { grid-column:1 / 3; grid-row:2; align-items:center; justify-content:start; grid-template-columns:auto auto; }
  .plan-visit-controls { grid-column:3; grid-row:1 / 3; }
  .anesthesia-case-card { grid-template-columns:minmax(210px,1fr) minmax(220px,1fr) auto; }
  .anesthesia-doc-progress,.anesthesia-session { grid-row:2; }
  .anesthesia-case-card .case-chevron { grid-column:3; grid-row:1 / 3; }
  .anesthesia-document-grid { grid-template-columns:1fr; }
  .anesthesia-live-body { grid-template-columns:minmax(0,1fr) 300px; }
  .live-vitals { grid-template-columns:repeat(3,minmax(100px,1fr)); }
  .live-observation-form { grid-template-columns:repeat(3,minmax(82px,1fr)); }
  .staff-schedule-summary,.assistant-team-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .staff-schedule-toolbar { align-items:flex-start; flex-direction:column; }
  .checkout-layout { grid-template-columns:1fr; }
  .checkout-summary { position:static; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .checkout-summary > span,.checkout-summary .checkout-total,.checkout-summary .checkout-balance-state,.checkout-summary .button { grid-column:1 / -1; }
  .checkout-payment-row { grid-template-columns:repeat(2,minmax(0,1fr)) 38px; }
  .checkout-payment-row .checkout-reference { grid-column:1; }
  .checkout-payment-row .checkout-remove-payment { grid-column:3; grid-row:1 / 3; align-self:center; }
}
@media (max-width:760px) {
  .orthodontic-finance-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }.orthodontic-finance-sidebar,.orthodontic-finance-create-grid { grid-template-columns:1fr; }.orthodontic-stage-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .orthodontic-finance-header { position:static; align-items:flex-start; }.orthodontic-finance-header .row-actions { flex-wrap:wrap; justify-content:flex-end; }
  .settings-shell { grid-template-columns:1fr; }
  .settings-nav { position:static; display:flex; overflow-x:auto; }
  .settings-nav button { flex:0 0 auto; grid-template-columns:25px auto; min-height:38px; padding:5px 8px; }
  .settings-nav button span { width:25px; height:25px; }
  .settings-section-head,.settings-form-actions { align-items:stretch; flex-direction:column; }
  .doctor-workspace { grid-template-columns:1fr; grid-template-rows:auto auto minmax(0,1fr) auto; max-height:calc(100vh - 12px); }
  .doctor-header { grid-column:1; align-items:flex-start; padding:13px 14px; }
  .doctor-sidebar { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 14px; max-height:220px; border-right:0; border-bottom:1px solid var(--border); }
  .doctor-sidebar section { padding:10px 0; }
  .doctor-main { padding:10px; }
  .workspace-section { padding:12px; }
  .workspace-section-head { align-items:stretch; flex-direction:column; }
  .orthodontic-template-bar,.orthodontic-grid { grid-template-columns:1fr; }
  .orthodontic-grid .span-2 { grid-column:auto; }
  .orthodontic-template-bar .button { width:100%; }
}
@media (max-width:650px) {
  .telephony-head,.telephony-readiness { align-items:stretch; grid-template-columns:1fr; flex-direction:column; }.telephony-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }.telephony-kpis article:nth-child(2) { border-right:0; }.telephony-kpis article:nth-child(-n+2) { border-bottom:1px solid #dfe9e5; }.telephony-call-log { overflow-x:auto; }.telephony-call-row { grid-template-columns:30px 160px 210px 95px 80px; min-width:620px; }.telephony-call-row > div:last-child { grid-column:auto; }
  .patient-chat-center { padding:10px; }
  .patient-chat-heading,.chat-composer-actions { align-items:stretch; flex-direction:column; }
  .chat-test-badge { align-self:flex-start; }
  .patient-chat-channel-fields,.chat-booking-row { grid-template-columns:1fr; }
  .patient-chat-message { width:92%; }
  .chat-reschedule-slots { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .record-data-grid,.family-editor-members { grid-template-columns:1fr; }
  .patient-record-card,.family-record-card { padding:11px; }
  .modal.modal-orthodontic-finance { max-height:calc(100vh - 8px); }.orthodontic-finance-header { flex-direction:column; padding:14px; }.orthodontic-finance-kpis { padding:12px 14px 8px; }.orthodontic-finance-progress { padding:3px 14px 12px; }.orthodontic-finance-layout,.orthodontic-payment-layout { padding:0 14px 14px; }.orthodontic-finance-create-grid { padding:12px 14px; }.orthodontic-finance-intro { margin:12px 14px 0; }.orthodontic-finance-create > .modal-actions { margin:0 14px 14px; }.orthodontic-finance-create > .form-error { margin:0 14px; }.orthodontic-finance-section-head,.orthodontic-stage-head,.orthodontic-stage-foot { align-items:flex-start; flex-direction:column; }.orthodontic-stage-fields { grid-template-columns:1fr 1fr; }.orthodontic-stage-foot .row-actions,.orthodontic-stage-foot .button { width:100%; }.orthodontic-finance-progress p { align-items:flex-start; flex-direction:column; }
  .orthopedic-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }.orthopedic-case-list { grid-template-columns:1fr; }.orthopedic-header,.orthopedic-footer,.orthopedic-prefill-banner { align-items:flex-start; flex-direction:column; }.orthopedic-prefill-banner .button { width:100%; }.orthopedic-header > div:last-child { justify-items:start; }.orthopedic-implant-context { grid-template-columns:1fr; }.orthopedic-content > aside,.orthopedic-form-grid { grid-template-columns:1fr; }.orthopedic-form-grid .full { grid-column:auto; }.orthopedic-route-steps { grid-template-columns:repeat(9,100px); }.orthopedic-odontogram { grid-template-columns:repeat(5,minmax(30px,1fr)); }.orthopedic-arch-break { display:none; }.orthopedic-current-step > header,.orthopedic-current-step > footer { align-items:flex-start; flex-direction:column; }.orthopedic-current-step footer > div,.orthopedic-footer > div:last-child { display:grid; width:100%; }.orthopedic-current-step footer .button,.orthopedic-footer .button { width:100%; }.orthopedic-teeth-caption { position:static; margin-top:2px; }
  .lab-order-header,.lab-order-footer { align-items:flex-start; flex-direction:column; }.lab-order-header > div:last-child { flex-wrap:wrap; width:100%; }.lab-order-auto-badge { display:none; }.lab-order-route { grid-template-columns:repeat(4,minmax(90px,1fr)); overflow-x:auto; }.lab-order-route i { display:none; }.lab-order-grid,.lab-order-media,.lab-order-body > aside { grid-template-columns:1fr; }.lab-order-grid .wide,.lab-order-grid .full,.lab-order-cad-check { grid-column:auto; }.lab-order-footer > div:last-child,.lab-order-footer .button { width:100%; }
  .cad-review-header,.cad-review-footer,.try-in-header,.try-in-footer,.delivery-header,.delivery-footer,.control-header,.control-footer { align-items:flex-start; flex-direction:column; }.cad-review-header > div:last-child,.try-in-header > div:last-child,.delivery-header > div:last-child,.control-header > div:last-child { width:100%; flex-wrap:wrap; }.cad-review-route,.try-in-route,.delivery-route,.control-route { grid-template-columns:repeat(4,minmax(100px,1fr)); overflow-x:auto; }.cad-review-route i,.try-in-route i,.delivery-route i,.control-route i { display:none; }.cad-review-body > aside,.try-in-body > aside,.delivery-body > aside,.control-body > aside,.cad-check-grid,.cad-comment-grid,.try-in-checks,.try-in-confirmations,.try-in-text-grid,.try-in-media-grid,.try-in-summary,.delivery-summary,.delivery-grid,.delivery-check-grid,.delivery-text-grid,.delivery-media-grid,.control-summary,.control-patient-grid,.control-check-grid,.control-action-grid,.control-text-grid,.control-media-grid { grid-template-columns:1fr; }.delivery-grid .wide,.control-action-grid .full { grid-column:auto; }.cad-review-footer > div:last-child,.cad-review-footer .button,.try-in-footer > div:last-child,.try-in-footer .button,.delivery-footer > div:last-child,.delivery-footer .button,.control-footer > div:last-child,.control-footer .button { width:100%; }.cad-viewer-card > header { align-items:flex-start; flex-direction:column; }.cad-view-buttons { width:100%; }.cad-view-buttons button { flex:1; }
  .implant-page-heading .heading-actions { display:grid; grid-template-columns:1fr; }.implant-casebar { grid-template-columns:1fr; }.implant-casebar select { min-width:0; width:100%; }.implant-source-strip { grid-template-columns:1fr; }.implant-source-strip > div { border-right:0; border-bottom:1px solid var(--implant-line); }
  .implant-workspace { display:block; }.implant-tools { display:grid; grid-template-columns:1fr 1fr; gap:4px 12px; }.implant-tools .implant-side-title,.implant-tools .implant-source-title,.implant-tools .implant-projections,.implant-tools .implant-mini-guide { grid-column:1 / -1; }.implant-layer-row { min-height:36px; }.implant-scene-panel { min-height:0; }.implant-scene,.implant-scene svg { min-height:330px; }.implant-scene-footer { align-items:flex-start; flex-direction:column; }.implant-parameters { padding:13px; }.implant-form-grid,.implant-prosthetic-grid { grid-template-columns:1fr; }.implant-form-grid .full,.implant-prosthetic-grid .full { grid-column:auto; }.implant-recommendations { grid-template-columns:1fr; }.implant-section-head { align-items:flex-start; flex-direction:column; }.implant-prosthetic-flow { overflow-x:auto; width:100%; }.implant-final-check { grid-template-columns:1fr; }
  .guide-builder-head { align-items:flex-start; flex-direction:column; }.guide-head-status { justify-items:start; }.guide-support-grid,.guide-field-grid,.guide-order-column .guide-field-grid.single { grid-template-columns:1fr; }.guide-field-grid .full,.guide-order-column .guide-field-grid.single > label:last-child { grid-column:auto; }.guide-support-card { grid-template-columns:auto 1fr; justify-items:start; text-align:left; }.guide-support-card input { position:static; grid-row:1 / 3; }.guide-support-visual { display:none; }.guide-support-card small { min-height:0; }.guide-money-row,.guide-actions,.guide-order-summary { grid-template-columns:1fr; }.guide-order-route { justify-content:flex-start; overflow-x:auto; }.guide-order-route span { flex:0 0 auto; }
  .operation-header,.operation-footer { align-items:flex-start; flex-direction:column; }.operation-header-state { justify-items:start; }.operation-stage-line { overflow-x:auto; }.operation-stage-line span { min-width:94px; }.operation-check-grid,.operation-sidebar,.operation-form-grid,.protocol-grid { grid-template-columns:1fr; }.operation-form-grid label.wide { grid-column:auto; }.operation-implant-plan { grid-template-columns:auto 1fr; }.operation-guide-chip { grid-column:1 / -1; border-left:0; border-top:1px solid #cfdddf; }.operation-actions { width:100%; flex-wrap:wrap; justify-content:stretch; }.operation-actions .button { flex:1; }.operation-footer { position:static; }.operation-step > header { grid-template-columns:auto minmax(0,1fr); }.operation-step > header > em { grid-column:2; justify-self:start; }.operation-step-result { padding-left:44px; }.operation-step-actions { display:grid; grid-template-columns:1fr; }.operation-step-actions .button { width:100%; }
  .followup-header,.followup-footer { align-items:flex-start; flex-direction:column; }.followup-header-state { justify-items:start; }.followup-timeline,.followup-sidebar,.followup-form-grid,.followup-media-selects { grid-template-columns:1fr; }.followup-form-grid .full,.followup-form-grid .wide { grid-column:auto; }.followup-actions { width:100%; flex-wrap:wrap; justify-content:stretch; }.followup-actions .button { flex:1; }.followup-footer { position:static; }.followup-compare { grid-template-columns:1fr; }.followup-compare-link { justify-self:center; transform:rotate(90deg); }
  .topbar { position:static; padding:10px 12px; }
  .app-brand div,.topbar .button-ghost,.branch-field { display:none; }
  .app-layout { grid-template-columns:1fr; }
  .sidebar { position:sticky; top:0; z-index:14; display:flex; min-height:auto; overflow-x:auto; padding:6px; border-right:0; border-bottom:1px solid var(--border); }
  .nav-item { min-width:74px; min-height:52px; }
  .workspace { padding:14px; }
  .global-banner { align-items:flex-start; flex-direction:column; }
  .page-heading { align-items:stretch; flex-direction:column; }
  .heading-actions { flex-direction:column; }
  .heading-actions input { width:100%; }
  .schedule-view-tabs { display:grid; grid-template-columns:1fr; width:100%; }
  .staff-schedule-summary,.assistant-team-summary { grid-template-columns:1fr 1fr; }
  .team-stage-fields { grid-template-columns:1fr 1fr; }
  .assistant-team-warning { grid-template-columns:1fr; }
  .week-navigation { flex-wrap:wrap; }
  .week-navigation strong { width:100%; margin:2px 0 0; }
  .staff-schedule-grid { grid-template-columns:190px repeat(7,150px); min-width:1240px; }
  .appointment-slot-picker { grid-template-columns:1fr; }
  .modal-actions { flex-wrap:wrap; }
  .stats-grid,.stats-grid-three,.integration-grid,.detail-grid,.form-grid { grid-template-columns:1fr; }
  .egisz-center-head,.egisz-document-main { display:grid; }
  .egisz-summary,.egisz-readiness ul { grid-template-columns:1fr 1fr; }
  .egisz-event-list li { grid-template-columns:1fr; gap:1px; }
  .plan-source-card,.plan-summary,.plan-protocol-grid,.plan-visit-header,.plan-visit-sequence { grid-template-columns:1fr; }
  .plan-channel-grid { grid-template-columns:1fr; }
  .plan-delivery-summary { align-items:stretch; flex-direction:column; }
  .plan-source-card > div:first-child,.plan-visit-amount,.plan-visit-controls { grid-column:auto; grid-row:auto; }
  .plan-source-card > .button { width:100%; }
  .plan-protocols .plan-editor-head { align-items:stretch; flex-direction:column; }
  .plan-protocols .plan-editor-head label { width:100%; }
  .plan-visit-amount { justify-items:start; }
  .plan-item-row { grid-template-columns:1fr; }
  .plan-item-row .remove-button { width:100%; }
  .plan-version-row,.protocol-items { grid-template-columns:1fr; }
  .plan-version-actions { justify-content:flex-start; }
  .compact-schedule { grid-template-columns:1fr; }
  .route-line { grid-template-columns:1fr; gap:8px; }
  .route-line::before { display:none; }
  .route-step { grid-template-columns:34px 1fr; align-items:center; justify-items:start; text-align:left; }
  .task-row { grid-template-columns:22px minmax(0,1fr) auto; }
  .task-row > :last-child { display:none; }
  .api-list { grid-template-columns:1fr; }
  .api-list code { padding-bottom:2px; border-bottom:0; }
  .api-list span { padding-top:2px; }
  .modal-backdrop { padding:10px; }
  .modal.modal-workspace { max-height:calc(100vh - 10px); }
  .doctor-workspace { grid-template-columns:1fr; grid-template-rows:auto auto minmax(0,1fr) auto; max-height:calc(100vh - 12px); }
  .doctor-header { grid-column:1; align-items:flex-start; padding:13px 14px; }
  .doctor-header p { font-size:12px; }
  .doctor-sidebar { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 14px; max-height:220px; border-right:0; border-bottom:1px solid var(--border); }
  .doctor-sidebar section { padding:10px 0; }
  .doctor-main { padding:10px; }
  .completion-summary { align-items:stretch; flex-direction:column; }
  .workspace-section { padding:12px; }
  .dictation-head { flex-direction:column; }
  .dictation-demo-note { white-space:normal; }
  .dictation-mode-switch { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; }
  .dictation-note-controls,.dictation-preview { grid-template-columns:1fr; }
  .dictation-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .workspace-section-head { align-items:stretch; flex-direction:column; }
  .dentition-toolbar { align-items:stretch; flex-direction:column; }
  .dentition-switch { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
  .mixed-dentition-controls { align-items:stretch; flex-direction:column; }
  .mixed-dentition-controls select { width:100%; min-width:0; }
  .odontogram-row { grid-template-columns:1fr; }
  .odontogram-row-label { display:flex; align-items:center; justify-content:space-between; }
  .tooth-editor,.diagnosis-row,.prescription-row,.material-row,.doctor-plan-list { grid-template-columns:1fr; }
  .orthodontic-template-bar,.orthodontic-grid { grid-template-columns:1fr; }
  .orthodontic-grid .span-2 { grid-column:auto; }
  .orthodontic-template-bar .button { width:100%; }
  .media-upload-settings,.media-upload-queue,.media-library,.media-compare-stage { grid-template-columns:1fr; }
  .patient-media-library,.patient-media-actions { grid-template-columns:1fr; }
  .anesthesia-case-card { grid-template-columns:1fr; }
  .anesthesia-case-card .case-chevron { display:none; }
  .anesthesia-doc-progress,.anesthesia-session { grid-row:auto; }
  .anesthesia-filter label { align-items:stretch; flex-direction:column; }
  .anesthesia-filter select { width:100%; }
  .anesthesia-stage-line { position:static; grid-template-columns:repeat(7,86px); overflow-x:auto; padding:10px; }
  #anesthesia-case-form { padding:10px; }
  .provider-search-toolbar,.anesthesia-provider-grid,.provider-request-row { grid-template-columns:1fr; }
  .provider-slot,.provider-extension,.anesthesia-plan-summary { align-items:stretch; flex-direction:column; }
  .provider-slot .button,.provider-extension .button { width:100%; }
  .anesthesia-provider-setting { grid-template-columns:1fr; }
  .anesthesia-provider-setting > label:nth-of-type(3),.anesthesia-provider-setting .provider-channels { grid-column:auto; }
  .anesthesia-channel-settings { align-items:flex-start; flex-direction:column; }
  .anesthesia-channel-settings > strong { margin-right:0; }
  .anesthesia-decision-panel,.anesthesia-audit > div { grid-template-columns:1fr; }
  .anesthesia-decision-panel .decision-reason,.decision-actions { grid-column:auto; }
  .decision-actions,.anesthesia-sticky-actions,.anesthesia-sticky-actions > div { align-items:stretch; flex-direction:column; }
  .anesthesia-sticky-actions { bottom:-10px; margin:0 -10px -10px; padding:10px; }
  .modal.modal-anesthesia-live { max-height:calc(100vh - 10px); }
  .anesthesia-live-header { align-items:flex-start; flex-direction:column; min-height:auto; padding:12px; }
  .live-header-status { flex-wrap:wrap; width:100%; }
  .anesthesia-live-body { display:block; height:calc(100vh - 380px); min-height:260px; overflow:auto; }
  .anesthesia-live-main { overflow:visible; }
  .live-vitals { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .live-observation-form,.live-entry-grid,.live-compact-form { grid-template-columns:1fr; }
  .live-compact-form .full { grid-column:auto; }
  .anesthesia-live-sidebar { min-height:420px; border-top:1px solid #2a3b44; border-left:0; }
  .anesthesia-live-footer { align-items:stretch; flex-direction:column; }
  .anesthesia-live-footer .row-actions { display:grid; grid-template-columns:1fr; }
  .anesthesia-live-footer label,.anesthesia-live-footer label:nth-of-type(2) { min-width:0; }
  .patient-media-heading { align-items:stretch; flex-direction:column; }
  .patient-media-stats { justify-content:flex-start; }
  .patient-media-toolbar .media-filters { grid-template-columns:1fr; }
  .media-library-toolbar,.media-compare-toolbar { align-items:stretch; flex-direction:column; }
  .media-mode-switch,.media-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; }
  .media-filters select,.media-compare-toolbar label { width:100%; min-width:0; }
  .media-head-actions { align-items:stretch; flex-direction:column; }
  .media-dropzone { align-items:flex-start; justify-content:flex-start; }
  .diagnosis-row .remove-button,.prescription-row .remove-button { grid-column:auto; grid-row:auto; width:100%; }
  .diagnosis-template-fields { grid-template-columns:1fr; }
  .diagnosis-template-footer { align-items:stretch; flex-direction:column; }
  .diagnosis-template-footer label { min-width:0; }
  .material-row > input { justify-self:start; }
  .material-cost { text-align:left; }
  .doctor-footer { grid-column:1; align-items:stretch; flex-direction:column; padding:10px; }
  .doctor-footer .row-actions { display:grid; grid-template-columns:1fr; }
  .login-card { padding:22px; }
  .settings-shell { grid-template-columns:1fr; }
  .settings-nav { position:static; display:flex; overflow-x:auto; }
  .settings-nav button { flex:0 0 auto; grid-template-columns:25px auto; min-height:38px; padding:5px 8px; }
  .settings-nav button span { width:25px; height:25px; }
  .settings-section-head,.settings-form-actions { align-items:stretch; flex-direction:column; }
  .settings-kpis,.settings-overview-grid,.settings-branch-grid,.settings-integration-grid,.settings-security-status { grid-template-columns:1fr; }
  .hr-profile-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hr-action-bar { display:grid; grid-template-columns:1fr; }
  .settings-footer-note { align-items:flex-start; flex-direction:column; }
  .settings-rule-row small { white-space:normal; }
  .checkout-header { top:-20px; margin:-20px -20px 0; padding:15px; }
  .checkout-header h2 { font-size:19px; }
  .checkout-steps { grid-template-columns:repeat(4,auto); overflow-x:auto; }
  .checkout-steps span { white-space:nowrap; }
  .checkout-steps span::after { width:18px; flex:none; }
  .checkout-section-head { align-items:stretch; flex-direction:column; }
  .checkout-discounts,.checkout-method-grid,.checkout-payment-row,.checkout-summary { grid-template-columns:1fr; }
  .checkout-payment-row .checkout-reference,.checkout-payment-row .checkout-remove-payment,.checkout-summary > span,.checkout-summary .checkout-total,.checkout-summary .checkout-balance-state,.checkout-summary .button { grid-column:auto; grid-row:auto; }
  .checkout-payment-row .checkout-remove-payment { width:100%; }
}
