/* Mikroi Iroes V2.0 — Clean Clinical Flow */
.cv2-shell,.cv2-vaccine-page{max-width:1180px;margin:0 auto;padding-bottom:150px}
.cv2-visit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:0 0 18px;padding:25px 27px;border:1px solid #dbe6ef;border-radius:24px;background:linear-gradient(135deg,#fff 0%,#f8fbfd 100%);box-shadow:0 14px 38px rgba(18,57,87,.08)}
.cv2-visit-head h1{margin:5px 0 3px;color:#123b5d;font-size:clamp(1.65rem,3vw,2.35rem);line-height:1.05}
.cv2-visit-head p{margin:0;color:#607487;font-weight:600}
.cv2-head-side{display:flex;align-items:flex-end;flex-direction:column;gap:12px}
.cv2-status{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;background:#e9f4ff;color:#1161a4;font-size:.86rem;font-weight:800;white-space:nowrap}
.cv2-status.completed{background:#e8f8ef;color:#167144}
.cv2-status.cancelled{background:#fff0f0;color:#b33b3b}
.cv2-status.draft{background:#f5f2fa;color:#73558a}
.cv2-card{margin:0 0 16px;padding:23px 25px;border:1px solid #dce6ed;border-radius:21px;background:#fff;box-shadow:0 8px 26px rgba(25,58,84,.055)}
.cv2-safety-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:0 0 16px}
.cv2-safety-item{padding:12px 14px;border:1px solid #ecd9b7;border-radius:14px;background:#fff9ee;color:#6b5127}
.cv2-safety-item.danger{border-color:#e8baba;background:#fff3f3;color:#8d3434}
.cv2-safety-item strong,.cv2-safety-item span{display:block}
.cv2-safety-item strong{margin-bottom:3px;font-size:.72rem;letter-spacing:.05em;text-transform:uppercase}
.cv2-safety-item span{font-size:.9rem;font-weight:700;line-height:1.35}
.cv2-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.cv2-section-head span{display:block;margin-bottom:3px;color:#b17b31;font-size:.7rem;font-weight:900;letter-spacing:.11em}
.cv2-section-head h2{margin:0;color:#173f5f;font-size:1.18rem}
.cv2-save-state{align-self:center;padding:7px 10px;border-radius:999px;background:#f1f6f9;color:#607487;font-size:.76rem;font-weight:700;white-space:nowrap}
.cv2-save-state.pending{background:#fff5d9;color:#8b6719}
.cv2-save-state.saving{background:#e9f3ff;color:#266292}
.cv2-save-state.saved{background:#eaf8f0;color:#246b48}
.cv2-save-state.error{background:#fff0f0;color:#a73838}
.cv2-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 17px}
.cv2-form-grid label,.cv2-payment-grid label,.cv2-growth-fields label{display:flex;flex-direction:column;gap:7px;color:#3f596d;font-size:.82rem;font-weight:800}
.cv2-form-grid .wide{grid-column:1/-1}
.cv2-form-grid input,.cv2-form-grid textarea,.cv2-form-grid select,.cv2-payment-grid input,.cv2-payment-grid select,.cv2-growth-fields input{width:100%;border:1px solid #cbd9e3;border-radius:12px;background:#fbfdfe;color:#163a56;font:inherit;font-weight:600;padding:11px 12px;outline:none;transition:border-color .15s,box-shadow .15s,background .15s}
.cv2-form-grid textarea{resize:vertical;line-height:1.48}
.cv2-form-grid input:focus,.cv2-form-grid textarea:focus,.cv2-form-grid select:focus,.cv2-payment-grid input:focus,.cv2-payment-grid select:focus,.cv2-growth-fields input:focus{border-color:#3d8bc7;background:#fff;box-shadow:0 0 0 3px rgba(61,139,199,.12)}
.cv2-form-grid input[readonly],.cv2-form-grid textarea[readonly],.cv2-form-grid select:disabled,.cv2-payment-grid input:disabled,.cv2-payment-grid select:disabled,.cv2-growth-fields input[readonly]{background:#f3f6f8;color:#506577;opacity:1}
.cv2-inline-action{align-self:flex-start;margin-top:1px;padding:5px 0;border:0;background:transparent;color:#2474ad;font-size:.76rem;font-weight:800;cursor:pointer}
.cv2-growth-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.cv2-vaccine-action{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px;border:1px solid #d8e6f0;border-radius:15px;background:#f7fbfe}
.cv2-vaccine-action strong,.cv2-vaccine-action small{display:block}
.cv2-vaccine-action strong{color:#173f5f}
.cv2-vaccine-action small{margin-top:3px;color:#6d8090}
.cv2-payment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.cv2-actionbar{position:fixed;z-index:80;left:50%;bottom:18px;transform:translateX(-50%);display:flex;align-items:center;justify-content:space-between;gap:18px;width:min(1120px,calc(100vw - 48px));margin:0;padding:14px;border:1px solid rgba(196,213,224,.95);border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 16px 45px rgba(20,54,80,.18);backdrop-filter:blur(12px)}
.cv2-actionbar-main{display:flex;align-items:center;gap:10px;margin-left:auto}
.btn.cv2-primary{border-color:#1f76b7;background:#1f76b7;color:#fff;box-shadow:0 8px 20px rgba(31,118,183,.2)}
.btn.cv2-primary:hover{background:#17679f}
.btn.cv2-cancel{border-color:#e3b5b5;background:#fff7f7;color:#ad3838}
.btn.cv2-cancel:hover{background:#ffeded}
.cv2-actionbar button:disabled{cursor:wait;opacity:.55}
.cv2-done-card{display:flex;align-items:center;gap:18px;padding:24px 26px;border:1px solid #bfe1cd;border-radius:21px;background:#f2fbf6;box-shadow:0 10px 30px rgba(28,111,70,.08)}
.cv2-done-card.cancelled{border-color:#eccaca;background:#fff7f7}
.cv2-done-mark{display:grid;place-items:center;flex:0 0 46px;height:46px;border-radius:50%;background:#2b9961;color:#fff;font-size:1.45rem;font-weight:900}
.cv2-done-card.cancelled .cv2-done-mark{background:#bf4d4d}
.cv2-done-card h2{margin:0 0 4px;color:#174a34;font-size:1.22rem}
.cv2-done-card.cancelled h2{color:#7f3030}
.cv2-done-card p{margin:0;color:#5f766a}
.cv2-done-actions{display:flex;align-items:center;gap:9px;margin-left:auto}
.cv2-entry h2{margin:5px 0;color:#153e5e}
.cv2-entry>p{margin:0 0 18px;color:#65798a}
.cv2-entry-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px;margin-top:20px}
.cv2-entry-warning{padding:12px 14px;border:1px solid #ecd1ae;border-radius:12px;background:#fff8ed;color:#825a24;font-weight:700}
.cv2-vaccine-back{margin-bottom:15px}
.cv2-vaccine-page>.cv2-visit-head{margin-bottom:18px}
.cv2-history-panel:where(:not(.mi-pc__visits *)){margin-bottom:16px}
.cv2-history-list:where(:not(.mi-pc__visits *)){display:grid;gap:8px}
.cv2-history-row.in_progress:where(:not(.mi-pc__visits *)){border-color:#9fc9e6;background:#f4faff}
.cv2-history-row.completed:where(:not(.mi-pc__visits *)){border-color:#cfe3d7}
.premium-home-icon-btn.cv2-home-action{width:auto;min-width:74px;padding:0 10px;border-radius:10px;font-size:.72rem;font-weight:900;letter-spacing:.01em}
.today-slot.cv2-today-appointment{grid-template-columns:64px 10px minmax(0,1fr) auto}
.cv2-today-patient{padding:0;border:0;background:transparent;text-align:left;cursor:pointer}
.cv2-today-visit-actions{display:flex;align-items:center;gap:5px}
.cv2-today-visit-action{min-height:34px;padding:0 10px;border:1px solid #b9d4e7;border-radius:10px;background:#eef7fd;color:#176398;font-size:.7rem;font-weight:900;cursor:pointer}
.cv2-today-reset-action{min-width:70px;height:34px;padding:0 8px;border:1px solid #dfd4e8;border-radius:10px;background:#faf7fc;color:#725485;font-size:1rem;font-weight:900;cursor:pointer}
.premium-home-icon-btn.cv2-home-action.reset{min-width:72px;width:auto;padding:0 8px;color:#725485;background:#faf7fc;border-color:#eadff0;font-size:.7rem}

@media(max-width:820px){
  .cv2-shell,.cv2-vaccine-page{padding-bottom:205px}
  .cv2-visit-head{flex-direction:column;padding:20px 18px;border-radius:18px}
  .cv2-head-side{width:100%;align-items:flex-start}
  .cv2-card{padding:19px 16px;border-radius:17px}
  .cv2-section-head{flex-direction:column;gap:8px}
  .cv2-save-state{align-self:flex-start;white-space:normal}
  .cv2-form-grid,.cv2-payment-grid{grid-template-columns:1fr}
  .cv2-form-grid .wide{grid-column:auto}
  .cv2-growth-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cv2-vaccine-action{align-items:flex-start;flex-direction:column}
  .cv2-actionbar{bottom:76px;align-items:stretch;flex-direction:column;width:calc(100vw - 20px);padding:11px;border-radius:16px}
  .cv2-actionbar-main{display:grid;grid-template-columns:1fr 1.25fr;width:100%;margin-left:0}
  .cv2-actionbar button{min-height:45px;white-space:normal}
  .cv2-done-card{align-items:flex-start;flex-wrap:wrap;padding:20px 17px}
  .cv2-done-actions{display:grid;grid-template-columns:1fr;width:100%;margin-left:0}
  .cv2-entry-actions{display:grid;grid-template-columns:1fr}
  .today-slot.cv2-today-appointment{grid-template-columns:54px 8px minmax(0,1fr) auto}
  .cv2-today-visit-actions{gap:4px}
  .cv2-today-visit-action{padding:0 8px;font-size:.66rem}
  .cv2-today-reset-action{min-width:66px;height:34px;padding:0 6px}
}

@media(max-width:460px){
  .cv2-growth-fields{grid-template-columns:1fr}
  .cv2-actionbar-main{grid-template-columns:1fr}
}

/* V2.0 release — visit tool launchers and separate clinical tool screens */
.cv2-tool-page{max-width:1180px;margin:0 auto;padding-bottom:120px}
.cv2-tools-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cv2-tool-button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:82px;padding:14px 15px;border:1px solid #d7e4ed;border-radius:16px;background:#f9fcfe;color:#173f5f;text-align:left;cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .15s,background .15s}
.cv2-tool-button:hover{transform:translateY(-1px);border-color:#a9cbe1;background:#fff;box-shadow:0 8px 22px rgba(25,74,108,.08)}
.cv2-tool-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#edf6fb;font-size:1.25rem}
.cv2-tool-button strong,.cv2-tool-button small{display:block}
.cv2-tool-button strong{font-size:.93rem}
.cv2-tool-button small{margin-top:3px;color:#718493;font-size:.73rem;font-weight:650;line-height:1.3}
.cv2-tool-button b{color:#2777ad;font-size:.75rem;white-space:nowrap}
.cv2-tool-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px 17px}
.cv2-tool-form-grid label,.cv2-milestone-overall{display:flex;flex-direction:column;gap:7px;color:#3f596d;font-size:.82rem;font-weight:800}
.cv2-tool-form-grid .wide{grid-column:1/-1}
.cv2-tool-form-grid input,.cv2-milestone-overall select{width:100%;border:1px solid #cbd9e3;border-radius:12px;background:#fbfdfe;color:#163a56;font:inherit;font-weight:600;padding:11px 12px;outline:none}
.cv2-tool-form-grid input:focus,.cv2-milestone-overall select:focus{border-color:#3d8bc7;background:#fff;box-shadow:0 0 0 3px rgba(61,139,199,.12)}
.cv2-tool-form-grid input[readonly],.cv2-milestone-overall select:disabled{background:#f3f6f8;color:#506577;opacity:1}
.cv2-tool-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px;padding-top:18px;border-top:1px solid #e7eef3}
.cv2-milestone-list{display:grid;gap:10px}
.cv2-milestone-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:13px 14px;border:1px solid #e0e9ef;border-radius:14px;background:#fbfdfe}
.cv2-milestone-row>span{color:#294b64;font-size:.9rem;font-weight:700;line-height:1.38}
.cv2-milestone-row>div{display:flex;gap:6px}
.cv2-milestone-row button{display:grid;place-items:center;width:34px;height:34px;border:1px solid #cbd9e3;border-radius:10px;background:#fff;color:#617788;font-size:.95rem;font-weight:900;cursor:pointer}
.cv2-milestone-row button:hover:not(:disabled){border-color:#8dbad6;background:#f3f9fd}
.cv2-milestone-row button.active{border-color:#2b83bd;background:#e8f4fb;color:#17699e;box-shadow:0 0 0 2px rgba(43,131,189,.08)}
.cv2-milestone-row button:disabled{cursor:default;opacity:.65}
.cv2-milestone-overall{margin-top:18px}

@media(max-width:820px){
  .cv2-tool-page{padding-bottom:110px}
  .cv2-tools-grid{grid-template-columns:1fr}
  .cv2-tool-button{min-height:72px}
  .cv2-tool-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cv2-tool-actions{display:grid;grid-template-columns:1fr}
}

@media(max-width:520px){
  .cv2-tool-form-grid{grid-template-columns:1fr}
  .cv2-tool-form-grid .wide{grid-column:auto}
  .cv2-milestone-row{grid-template-columns:1fr;align-items:flex-start}
}

/* V2.0.2 — live growth curves + visit certificate tool */
@media(min-width:821px){
  .cv2-tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.cv2-growth-curves{margin-top:16px}
.cv2-growth-curves .growth-charts-section{margin:0}
.cv2-certificate-page .visitflow-cert-types{margin:0 0 14px}
.cv2-certificate-page .visitflow-cert-form{gap:11px}
.cv2-certificate-page .visitflow-cert-form>label:not(.visitflow-check){display:grid;gap:7px;color:#3f596d;font-size:.82rem;font-weight:800}
.cv2-certificate-page .visitflow-cert-form input[type="text"],
.cv2-certificate-page .visitflow-cert-form input:not([type]),
.cv2-certificate-page .visitflow-cert-form textarea{width:100%;border:1px solid #cbd9e3;border-radius:12px;background:#fbfdfe;color:#163a56;font:inherit;font-weight:600;padding:11px 12px;outline:none}
.cv2-certificate-page .visitflow-cert-form textarea{resize:vertical;min-height:88px}
.cv2-certificate-page .visitflow-cert-form input[type="date"]{width:100%;border:1px solid #cbd9e3;border-radius:12px;background:#fbfdfe;color:#163a56;font:inherit;font-weight:600;padding:10px 12px;outline:none;min-height:44px}
.cv2-certificate-page .cv2-cert-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cv2-certificate-page .cv2-cert-date-grid>label{display:grid;gap:7px;color:#3f596d;font-size:.82rem;font-weight:800}
.cv2-certificate-page .visitflow-cert-types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.cv2-certificate-page .visitflow-cert-types button{min-height:48px;text-align:left}
@media(max-width:760px){.cv2-certificate-page .visitflow-cert-types{grid-template-columns:1fr 1fr}.cv2-certificate-page .cv2-cert-date-grid{grid-template-columns:1fr}}
.cv2-certificate-page .visitflow-cert-form input:focus,
.cv2-certificate-page .visitflow-cert-form textarea:focus{border-color:#3d8bc7;background:#fff;box-shadow:0 0 0 3px rgba(61,139,199,.12)}
.cv2-certificate-page .visitflow-cert-form input[readonly],
.cv2-certificate-page .visitflow-cert-form textarea[readonly]{background:#f3f6f8;color:#506577}
.cv2-certificate-page .visitflow-cert-types button:disabled{cursor:default;opacity:.7}


/* ==========================================================
   V2.1 — CLINICAL WORKSPACE VISUAL REFRESH
   Keeps all V2 clinical behavior unchanged.
   ========================================================== */
.cv2-shell,.cv2-tool-page,.cv2-vaccine-page{max-width:1220px}
.cv2-visit-head{
  border:1px solid rgba(37,79,116,.10)!important;border-radius:27px!important;
  background:radial-gradient(circle at 96% 8%,rgba(232,240,234,.86),transparent 31%),linear-gradient(135deg,#fff,#f8fbfc)!important;
  box-shadow:0 16px 42px rgba(37,79,116,.08)!important;
}
.cv2-visit-head h1{color:#254f74!important;letter-spacing:-.04em!important}
.cv2-visit-head p{color:#71828f!important}
.cv2-card{
  border:1px solid rgba(37,79,116,.10)!important;border-radius:21px!important;background:#fff!important;
  box-shadow:0 7px 22px rgba(37,79,116,.045)!important;
}
.cv2-section-head{border-bottom-color:#e7edf0!important}
.cv2-section-head span{color:#b78f55!important;letter-spacing:.12em!important}
.cv2-section-head h2{color:#254f74!important;letter-spacing:-.025em!important}
.cv2-save-state{border-color:#dce6eb!important;background:#f8fafb!important;color:#70828f!important}
.cv2-form-grid input,.cv2-form-grid textarea,.cv2-form-grid select,.cv2-payment-grid input,.cv2-payment-grid select,.cv2-growth-fields input,.cv2-tool-form-grid input,.cv2-milestone-overall select{
  border-color:#d4e0e6!important;border-radius:13px!important;background:#fbfcfc!important;color:#25475f!important;
}
.cv2-form-grid input:focus,.cv2-form-grid textarea:focus,.cv2-form-grid select:focus,.cv2-payment-grid input:focus,.cv2-payment-grid select:focus,.cv2-growth-fields input:focus,.cv2-tool-form-grid input:focus,.cv2-milestone-overall select:focus{
  border-color:#7ea4c2!important;background:#fff!important;box-shadow:0 0 0 4px rgba(63,114,157,.10)!important;
}
.cv2-tools-grid{gap:13px!important}
.cv2-tool-button{
  min-height:88px!important;padding:15px 16px!important;border:1px solid #dce6eb!important;border-radius:18px!important;background:#fff!important;
  color:#25475f!important;box-shadow:0 5px 16px rgba(37,79,116,.035)!important;
}
.cv2-tool-button:hover{transform:translateY(-2px)!important;border-color:#b9ccd8!important;background:#fff!important;box-shadow:0 11px 26px rgba(37,79,116,.08)!important}
.cv2-tool-icon{width:43px!important;height:43px!important;border-radius:14px!important;background:#edf4f8!important}
.cv2-tool-button strong{font-size:.96rem!important;color:#254f74!important}
.cv2-tool-button small{color:#768895!important}
.cv2-tool-button b{color:#3f729d!important}
.cv2-actionbar{
  border-color:rgba(37,79,116,.12)!important;border-radius:20px!important;background:rgba(255,255,255,.92)!important;
  box-shadow:0 18px 50px rgba(31,62,84,.16)!important;backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important;
}
.btn.cv2-primary{border-color:#3f729d!important;background:#3f729d!important;box-shadow:0 8px 20px rgba(63,114,157,.16)!important}
.btn.cv2-primary:hover{border-color:#254f74!important;background:#254f74!important}
.cv2-milestone-row{border-color:#e1e9ed!important;border-radius:15px!important;background:#fbfcfc!important}
.cv2-milestone-row button.active{border-color:#6e98b8!important;background:#eaf2f8!important;color:#254f74!important}
.cv2-done-card{border-color:#c5d9ca!important;border-radius:22px!important;background:#f4faf6!important}
.cv2-growth-curves .growth-charts-section{border-radius:20px!important}
.cv2-certificate-page .certificate-form-intro{border-color:#dfe8ec!important;border-radius:15px!important;background:linear-gradient(135deg,#f6f9fb,#f8faf8)!important}
.cv2-certificate-page .visitflow-cert-types button{border-radius:15px!important}
@media(max-width:820px){
  .cv2-visit-head{padding:19px 17px!important;border-radius:21px!important}
  .cv2-card{padding:17px 15px!important;border-radius:18px!important}
  .cv2-tool-button{min-height:76px!important}
  .cv2-actionbar{bottom:84px!important;width:calc(100vw - 18px)!important;border-radius:18px!important}
}


/* ==========================================================
   V2.1.8 — EDITABLE CERTIFICATES
   Rich-text editing is limited to the certificate body.
   Fixed clinic branding / signature stay outside the editor.
   ========================================================== */
.cv2-certificate-page .cv2-cert-customize{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin-top:5px;padding-top:14px;border-top:1px solid #e5ecef}
.cv2-certificate-page .cv2-cert-customize small{color:#71828f;font-size:.78rem;line-height:1.45;max-width:680px}
.cv2-certificate-page .cv2-cert-edit-toggle{white-space:nowrap}
.cv2-cert-editor-wrap{display:none;margin-top:4px;border:1px solid #dce6eb;border-radius:17px;background:#f8fafb;overflow:hidden}
.cv2-cert-editor-wrap.open,.cv2-cert-editor-wrap.readonly{display:block}
.cv2-cert-editor-title{display:grid;gap:3px;padding:13px 14px 10px;background:#f3f7f9;border-bottom:1px solid #e0e8ec}
.cv2-cert-editor-title strong{color:#254f74;font-size:.9rem}
.cv2-cert-editor-title small{color:#71828f;font-size:.75rem;line-height:1.4}
.cv2-cert-toolbar{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding:8px 10px;background:#fff;border-bottom:1px solid #e0e8ec;position:sticky;top:0;z-index:2}
.cv2-cert-toolbar button,.cv2-cert-toolbar select{min-height:34px;border:1px solid #d4e0e6;border-radius:9px;background:#fff;color:#254f74;font:inherit;font-size:.82rem;font-weight:800;padding:6px 9px;cursor:pointer}
.cv2-cert-toolbar button:hover,.cv2-cert-toolbar select:hover{border-color:#9eb8ca;background:#f7fafc}
.cv2-cert-toolbar-sep{width:1px;height:24px;background:#dfe7eb;margin:0 2px}
.cv2-cert-editor{min-height:290px;padding:18px 20px;background:#fff;color:#253f52;font-family:Arial,sans-serif;font-size:15px;line-height:1.65;outline:none}
.cv2-cert-editor:focus{box-shadow:inset 0 0 0 2px rgba(63,114,157,.18)}
.cv2-cert-editor h1{text-align:center;color:#254f74;font-size:21px;margin:10px 0 28px;letter-spacing:.025em}
.cv2-cert-editor h2,.cv2-cert-editor h3{color:#254f74}
.cv2-cert-editor p{margin:0 0 16px}
.cv2-cert-editor ul,.cv2-cert-editor ol{padding-left:26px;margin:10px 0 18px}
.cv2-cert-editor li{margin:5px 0}
.cv2-cert-editor-readonly{min-height:auto;background:#fff}
.cv2-cert-editor-actions{display:flex;justify-content:flex-end;padding:10px;border-top:1px solid #e0e8ec;background:#f8fafb}
@media(max-width:620px){
  .cv2-certificate-page .cv2-cert-customize{align-items:flex-start}
  .cv2-certificate-page .cv2-cert-edit-toggle{width:100%;white-space:normal}
  .cv2-cert-toolbar{gap:4px}
  .cv2-cert-toolbar button{min-width:36px;padding:6px 7px}
  .cv2-cert-toolbar select{max-width:112px}
  .cv2-cert-editor{min-height:330px;padding:16px 14px;font-size:16px}
}

/* V2.1.9 — contextual vaccine visit flow */
.cv2-vaccine-visit-card{border-color:#b9d7cc;background:linear-gradient(180deg,#fbfefd 0%,#f5fbf8 100%)}
.cv2-vaccine-focus{display:flex;align-items:center;gap:12px;padding:12px 14px;margin:0 0 14px;border:1px solid #cfe4dc;border-radius:14px;background:#eef8f4;color:#294f47}
.cv2-vaccine-focus strong{white-space:nowrap;color:#1e5b4d}
.cv2-vaccine-focus span{font-size:.9rem;line-height:1.35}
.cv2-exam-focus textarea{min-height:150px}
.cv2-vaccine-visit-card .cv2-exam-focus textarea{min-height:230px;border-color:#b9d7cc;background:#fff}
@media(max-width:760px){.cv2-vaccine-focus{align-items:flex-start;flex-direction:column;gap:4px}.cv2-vaccine-visit-card .cv2-exam-focus textarea{min-height:190px}}


/* V2.1.11 — Secure parent pre-visit intake */
.cv2-parent-intake{border:1px solid #d8e8e4;background:linear-gradient(180deg,#fbfefd,#f5faf8)}
.cv2-parent-intake-badge{align-self:flex-start;border-radius:999px;background:#e4f2ec;color:#285a49;font-weight:800;padding:7px 10px;font-size:.82rem}
.cv2-parent-intake-note{margin:0 0 12px;padding:10px 12px;border-radius:12px;background:#fff7e8;color:#765823;font-size:.9rem;line-height:1.45}
.cv2-parent-intake-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.cv2-parent-intake-grid>div{padding:11px 12px;border:1px solid #e1ebe8;border-radius:13px;background:#fff;display:flex;flex-direction:column;gap:4px}
.cv2-parent-intake-grid strong{font-size:.78rem;color:#587066;text-transform:uppercase;letter-spacing:.025em}
.cv2-parent-intake-grid span{white-space:pre-wrap;line-height:1.45;color:#263e36}
.cv2-parent-intake-actions{display:flex;justify-content:flex-end;margin-top:12px}
@media(max-width:720px){.cv2-parent-intake-grid{grid-template-columns:1fr}}


/* V2.1.14 — clearer desktop visit controls */
.cv2-actionbar-secondary{display:flex;align-items:center;gap:8px}
.btn.cv2-reset-start{border-color:#ded5e7;background:#fbf8fd;color:#6f567c}
@media (max-width:820px){.cv2-actionbar-secondary{display:flex;flex-wrap:wrap;width:100%;gap:8px}.cv2-actionbar-secondary .btn{flex:1 1 180px}}

/* ==========================================================
   V2.5.0 — SMART VISIT WORKSPACE FOUNDATION
   Context-driven visit type, sticky patient context and
   inline growth entry for preventive/vaccine workflows.
   ========================================================== */
.cv2-visit-type-card{padding-bottom:20px!important}
.cv2-workspace-version{align-self:center;padding:6px 9px;border:1px solid #e0e8ec;border-radius:999px;background:#f8fafb;color:#7a8a95;font-size:.68rem;font-weight:900;letter-spacing:.08em;white-space:nowrap}
.cv2-type-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.cv2-type-chips{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
.cv2-type-chip{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:9px 10px;border:1px solid #dce6eb;border-radius:14px;background:#fbfcfc;color:#506879;font:inherit;font-size:.82rem;font-weight:800;cursor:pointer;transition:.15s ease}
.cv2-type-chip:hover{transform:translateY(-1px);border-color:#b8ccd8;background:#fff}
.cv2-type-chip.active{border-color:#8db2cb;background:#edf5fa;color:#254f74;box-shadow:0 7px 18px rgba(63,114,157,.08)}
.cv2-type-chip:disabled{cursor:default;opacity:.78;transform:none}
.cv2-sticky-patient{position:sticky;top:8px;z-index:65;display:grid;grid-template-columns:minmax(220px,1.35fr) minmax(110px,.55fr) minmax(180px,1fr) auto;align-items:center;gap:10px;margin:-4px 0 16px;padding:10px 12px;border:1px solid rgba(37,79,116,.13);border-radius:16px;background:rgba(255,255,255,.94);box-shadow:0 10px 28px rgba(37,79,116,.10);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}
.cv2-sticky-identity,.cv2-sticky-fact{min-width:0}
.cv2-sticky-identity strong,.cv2-sticky-identity span,.cv2-sticky-fact small,.cv2-sticky-fact b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cv2-sticky-identity strong{color:#254f74;font-size:.9rem}.cv2-sticky-identity span{margin-top:2px;color:#758694;font-size:.72rem;font-weight:700}
.cv2-sticky-fact{padding-left:11px;border-left:1px solid #e5ecef}.cv2-sticky-fact small{color:#82909a;font-size:.64rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.cv2-sticky-fact b{margin-top:2px;color:#3d5669;font-size:.8rem}
.cv2-sticky-fact.danger b{color:#a34545}.cv2-sticky-type{display:flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:#f1f6f8;color:#315d7e;font-size:.76rem;white-space:nowrap}
.cv2-smart-workspace-card{background:linear-gradient(145deg,#fff 0%,#fbfcfb 58%,#f5f8f5 100%)!important}
.cv2-smart-workspace-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.cv2-smart-workspace-head>div:first-child>span{display:block;margin-bottom:3px;color:#b78f55;font-size:.7rem;font-weight:900;letter-spacing:.11em}.cv2-smart-workspace-head h2{margin:0;color:#254f74;font-size:1.18rem;letter-spacing:-.025em}
.cv2-smart-steps{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.cv2-smart-steps span{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:#f2f6f7;color:#607887;font-size:.67rem;font-weight:800}.cv2-smart-steps b{display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#dfeaf0;color:#315d7e;font-size:.61rem}
.cv2-smart-modules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.cv2-smart-module{padding:14px;border:1px solid #dfe8ec;border-radius:17px;background:#fff;box-shadow:0 4px 14px rgba(37,79,116,.035)}.cv2-smart-growth{grid-column:span 3;background:linear-gradient(145deg,#fff,#f8fbf9)}
.cv2-smart-module-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.cv2-smart-module-head>div{display:flex;align-items:center;gap:10px;min-width:0}.cv2-smart-module-head strong,.cv2-smart-module-head small{display:block}.cv2-smart-module-head strong{color:#254f74;font-size:.9rem}.cv2-smart-module-head small{margin-top:2px;color:#768895;font-size:.72rem;line-height:1.35}.cv2-smart-icon{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:12px;background:#edf4f8;font-size:1.15rem}.cv2-mini-link{flex:0 0 auto;border:0;background:transparent;color:#3f729d;font:inherit;font-size:.72rem;font-weight:900;cursor:pointer}
.cv2-quick-growth-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:13px}.cv2-quick-growth-grid label{display:flex;flex-direction:column;gap:6px;color:#536a7b;font-size:.72rem;font-weight:850}.cv2-quick-growth-grid input{width:100%;border:1px solid #d4e0e6;border-radius:11px;background:#fbfcfc;color:#25475f;font:inherit;font-size:.85rem;font-weight:700;padding:9px 10px;outline:none}.cv2-quick-growth-grid input:focus{border-color:#7ea4c2;background:#fff;box-shadow:0 0 0 3px rgba(63,114,157,.09)}.cv2-quick-growth-grid input[readonly]{background:#f4f7f8;color:#6b7c88}.cv2-smart-module-actions{display:flex;justify-content:flex-end;margin-top:10px}.cv2-quick-save{min-height:36px!important;padding:0 12px!important;font-size:.72rem!important}
.cv2-smart-hint{margin:0;color:#6e818f;font-size:.86rem;line-height:1.55}
.cv2-type-field.hidden{display:none!important}
@media(max-width:900px){.cv2-type-chips{grid-template-columns:repeat(2,minmax(0,1fr))}.cv2-sticky-patient{top:6px;grid-template-columns:minmax(0,1fr) auto}.cv2-sticky-fact{display:none}.cv2-smart-workspace-head{flex-direction:column}.cv2-smart-steps{justify-content:flex-start}.cv2-smart-modules{grid-template-columns:1fr}.cv2-smart-growth{grid-column:auto}.cv2-quick-growth-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.cv2-type-chips{grid-template-columns:1fr 1fr}.cv2-type-chip{justify-content:flex-start}.cv2-workspace-version{align-self:flex-start}.cv2-sticky-patient{border-radius:14px}.cv2-sticky-type b{display:none}.cv2-quick-growth-grid{grid-template-columns:1fr 1fr}.cv2-smart-module-head{align-items:flex-start}.cv2-smart-module-head>div{align-items:flex-start}}

/* V2.5.1 — longitudinal developmental surveillance */
.cv2-development-screening-reminder{margin:0 0 16px;padding:15px 17px;border:1px solid #d9e5dc;border-radius:16px;background:#f5faf6;color:#355665;display:grid;gap:4px}
.cv2-development-screening-reminder strong{color:#254f74;font-size:.88rem}
.cv2-development-screening-reminder span{font-size:.88rem;font-weight:700;line-height:1.45}
.cv2-development-screening-reminder small{color:#70828d;font-size:.73rem;line-height:1.4}
.cv2-development-redflags{margin:0 0 16px;padding:16px 18px;border-radius:16px;border:1px solid #e8b9b2;background:#fff5f3;color:#7f332a;display:grid;gap:5px;box-shadow:0 8px 20px rgba(126,48,39,.06)}
.cv2-development-redflags[hidden]{display:none!important}
.cv2-development-redflags strong{font-size:.9rem}
.cv2-development-redflags span{font-size:.82rem;line-height:1.45}
.cv2-development-pending{margin:0 0 16px;padding:18px;border:1px solid #ead8b8;border-radius:20px;background:#fffaf1;box-shadow:0 9px 24px rgba(111,82,34,.05)}
.cv2-development-current{margin:0}
.cv2-development-card{padding:20px}
.cv2-development-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 13px}
.cv2-development-section-head span{display:block;color:#7a8e98;font-size:.67rem;font-weight:900;letter-spacing:.09em}
.cv2-development-section-head h2{margin:3px 0 0;color:#244e70;font-size:1rem;line-height:1.25}
.cv2-development-section-head>b{display:grid;place-items:center;min-width:30px;height:30px;padding:0 8px;border-radius:999px;background:#f1dfbd;color:#785b26;font-size:.78rem}
.cv2-milestone-row{grid-template-columns:minmax(0,1fr) minmax(335px,auto)!important;align-items:start!important;padding:15px 16px!important;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}
.cv2-milestone-row.is-pending{border-color:#e7d3ae!important;background:#fffdf8!important}
.cv2-milestone-row.has-concern{border-color:#e4bf7c!important;box-shadow:inset 3px 0 0 #d7a64a}
.cv2-milestone-row.has-regression{border-color:#e3a39a!important;background:#fff8f6!important;box-shadow:inset 4px 0 0 #c85c4d}
.cv2-milestone-copy{min-width:0;display:flex!important;flex-direction:column;gap:4px!important}
.cv2-milestone-copy>small{color:#78909e;font-size:.67rem;font-weight:900;letter-spacing:.035em;text-transform:uppercase}
.cv2-milestone-copy>strong{color:#294b64;font-size:.9rem;line-height:1.4}
.cv2-milestone-copy>em{color:#8c7146;font-style:normal;font-size:.72rem;font-weight:750}
.cv2-milestone-controls{display:grid!important;gap:8px!important;justify-items:end}
.cv2-milestone-statuses{display:flex!important;gap:6px!important;flex-wrap:wrap;justify-content:flex-end}
.cv2-milestone-statuses button{width:auto!important;min-height:35px!important;height:auto!important;padding:7px 9px!important;display:flex!important;gap:5px;align-items:center;border-radius:10px!important}
.cv2-milestone-statuses button b{font-size:.9rem;line-height:1}
.cv2-milestone-statuses button span{font-size:.68rem;font-weight:800;white-space:nowrap}
.cv2-milestone-statuses button.active{border-color:#6e98b8!important;background:#eaf2f8!important;color:#254f74!important}
.cv2-milestone-flags{display:flex!important;gap:6px!important;justify-content:flex-end;flex-wrap:wrap}
.cv2-milestone-flags button{width:auto!important;height:30px!important;min-height:30px!important;padding:0 9px!important;display:flex!important;align-items:center;gap:4px;border-radius:999px!important;font-size:.68rem!important;background:#fff!important}
.cv2-milestone-flags .concern.active{border-color:#d6a049!important;background:#fff6e5!important;color:#8b5f18!important}
.cv2-milestone-flags .regression.active{border-color:#c85c4d!important;background:#fff0ed!important;color:#9c382c!important}
.cv2-milestone-history{margin-top:4px;color:#607888}
.cv2-milestone-history summary{cursor:pointer;width:max-content;color:#527895;font-size:.7rem;font-weight:850}
.cv2-milestone-history>div{margin-top:6px;padding:8px 10px;border-radius:10px;background:#f4f7f8;display:grid;gap:5px}
.cv2-milestone-history p{margin:0;display:grid;grid-template-columns:82px 1fr;gap:4px 8px;font-size:.7rem;line-height:1.35}
.cv2-milestone-history p b{color:#49687b}
.cv2-milestone-history p span{color:#5e7583}
.cv2-milestone-history p small{grid-column:2;color:#83939c}
@media(max-width:760px){
  .cv2-development-pending,.cv2-development-card{padding:14px}
  .cv2-milestone-row{grid-template-columns:1fr!important}
  .cv2-milestone-controls{justify-items:stretch}
  .cv2-milestone-statuses,.cv2-milestone-flags{justify-content:flex-start!important}
  .cv2-milestone-statuses button{flex:1 1 30%;justify-content:center}
  .cv2-milestone-flags button{flex:1 1 auto;justify-content:center}
}


/* V2.5.2 — visit completion summary + print/PDF */
.cv2-visit-summary-card{margin-top:16px;border-color:#d8e6df!important;background:linear-gradient(145deg,#fff 0%,#f8fcf9 100%)!important}
.cv2-summary-ready{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;background:#edf7f0;color:#47705b;font-size:.69rem;font-weight:900;white-space:nowrap}
.cv2-summary-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:4px}
.cv2-summary-preview>div{padding:11px 12px;border:1px solid #e2eaed;border-radius:13px;background:#fff;min-width:0}
.cv2-summary-preview small,.cv2-summary-preview strong{display:block}.cv2-summary-preview small{margin-bottom:4px;color:#81909a;font-size:.64rem;font-weight:900;letter-spacing:.065em;text-transform:uppercase}.cv2-summary-preview strong{color:#35566d;font-size:.8rem;line-height:1.42;white-space:pre-wrap}
.cv2-summary-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:14px}.cv2-summary-actions .btn{min-height:40px}
.cv2-summary-footnote{margin:9px 0 0;text-align:right;color:#84929a;font-size:.68rem;line-height:1.4}
@media(max-width:700px){.cv2-summary-preview{grid-template-columns:1fr}.cv2-summary-actions{justify-content:stretch}.cv2-summary-actions .btn{flex:1 1 100%}.cv2-summary-footnote{text-align:left}}


/* V2.5.3 — Acute Visit Speed Layer */
.cv2-smart-acute{grid-column:1/-1;padding:15px 16px 16px;background:linear-gradient(145deg,#fff,#fbfcfd);border-color:#dce6eb}
.cv2-acute-block{margin-top:14px}.cv2-acute-label{color:#607786;font-size:.68rem;font-weight:900;letter-spacing:.075em;text-transform:uppercase}
.cv2-acute-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.cv2-acute-chips,.cv2-acute-exam-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}
.cv2-acute-chip,.cv2-acute-exam-chip{appearance:none;border:1px solid #d8e3e9;background:#f9fbfc;color:#466173;border-radius:999px;min-height:34px;padding:7px 11px;font:inherit;font-size:.74rem;font-weight:800;cursor:pointer;transition:.14s ease}
.cv2-acute-chip:hover,.cv2-acute-exam-chip:hover{border-color:#9eb9ca;background:#fff}.cv2-acute-chip.active{border-color:#7da5c0;background:#eaf3f8;color:#285d82;box-shadow:inset 0 0 0 1px rgba(61,114,157,.05)}
.cv2-acute-exam-chip{display:inline-flex;align-items:center;gap:5px}.cv2-acute-exam-chip span{display:none}.cv2-acute-exam-chip.active{border-color:#9cbda8;background:#edf6f0;color:#37694a}.cv2-acute-exam-chip.active span{display:inline}
.cv2-acute-chip:disabled,.cv2-acute-exam-chip:disabled{cursor:default;opacity:.9}
.cv2-acute-vitals{display:grid;grid-template-columns:1.25fr repeat(3,minmax(0,.8fr));gap:10px;margin-top:14px;padding:12px;border:1px solid #e4ebef;border-radius:14px;background:#fbfcfd}
.cv2-acute-vitals label{display:flex;flex-direction:column;gap:6px;color:#536b7c;font-size:.69rem;font-weight:850}.cv2-acute-vitals input{width:100%;border:1px solid #d4e0e6;border-radius:10px;background:#fff;color:#25475f;font:inherit;font-size:.83rem;font-weight:700;padding:8px 9px;outline:none}.cv2-acute-vitals input:focus{border-color:#7ea4c2;box-shadow:0 0 0 3px rgba(63,114,157,.09)}.cv2-acute-vitals input[readonly]{background:#f4f7f8;color:#6b7c88}
.cv2-acute-text-action{border:0;background:transparent;color:#3f729d;font:inherit;font-size:.7rem;font-weight:900;cursor:pointer;padding:3px 0}.cv2-acute-help{display:block;margin-top:8px;color:#7b8b96;font-size:.68rem;line-height:1.45}
@media(max-width:900px){.cv2-smart-acute{grid-column:auto}.cv2-acute-vitals{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.cv2-acute-vitals{grid-template-columns:1fr 1fr}.cv2-acute-label-row{align-items:flex-start;flex-direction:column;gap:4px}.cv2-acute-chip,.cv2-acute-exam-chip{min-height:32px;padding:6px 9px;font-size:.7rem}}


/* V2.5.4 — Medication Calculator + Allergy Safety */
.cv2-medication-module{border-color:rgba(88,111,132,.16)!important;background:linear-gradient(145deg,#fff 0%,#fbfcfd 100%)!important}
.cv2-med-weight{display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:12px;align-items:end;margin:10px 0 12px;padding:10px 12px;border:1px solid rgba(53,86,110,.12);border-radius:14px;background:#fff}.cv2-med-weight.stale{border-color:rgba(179,127,44,.28);background:#fffaf1}.cv2-med-weight>div strong,.cv2-med-weight>div small{display:block}.cv2-med-weight>div small{margin-top:3px;color:#74838e}
.cv2-med-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.cv2-med-grid label{min-width:0}.cv2-med-grid input,.cv2-med-grid select{width:100%}
.cv2-med-source{margin:10px 0 0;padding:9px 11px;border-radius:12px;background:#f5f8fa;color:#607586;font-size:12px;line-height:1.45}
.cv2-med-allergy-alert{margin:10px 0 0;padding:11px 12px;border-radius:13px;display:grid;gap:4px}.cv2-med-allergy-alert strong,.cv2-med-allergy-alert span{display:block}.cv2-med-allergy-alert.warn{background:#fff9e9;border:1px solid #f0d894;color:#795d17}.cv2-med-allergy-alert.confirm{background:#fff5e8;border:1px solid #efc887;color:#805716}.cv2-med-allergy-alert.block{background:#fff0f0;border:1px solid #e9adad;color:#8d3434}.cv2-med-allergy-alert.overridden{opacity:.72}.cv2-med-allergy-alert button{justify-self:start;margin-top:4px;border:0;border-radius:9px;padding:7px 10px;background:#fff;color:inherit;font-weight:700;cursor:pointer}
.cv2-med-result{margin:10px 0 0;padding:12px;border:1px solid rgba(53,86,110,.12);border-radius:14px;background:#fff;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.cv2-med-result>div{display:grid;gap:3px}.cv2-med-result small{color:#73838e;font-size:11px}.cv2-med-result strong{color:#294f69;line-height:1.35}.cv2-med-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.cv2-med-confirmed-list{display:grid;gap:7px;margin-top:10px}.cv2-med-confirmed-row{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border-radius:11px;background:#f7faf8;border:1px solid rgba(75,126,91,.12)}.cv2-med-confirmed-row>span{color:#458159;font-weight:900}.cv2-med-confirmed-row strong,.cv2-med-confirmed-row small{display:block}.cv2-med-confirmed-row small{margin-top:2px;color:#657984;line-height:1.35}.cv2-med-confirmed-empty{margin-top:10px;color:#7a8992;font-size:12px}
@media(max-width:900px){.cv2-med-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cv2-med-result{grid-template-columns:1fr}.cv2-med-weight{grid-template-columns:1fr}}
@media(max-width:520px){.cv2-med-grid{grid-template-columns:1fr}}


/* V2.5.4.1 — Medication Calculator UI + Calculation Hotfix */
.cv2-medication-module{grid-column:1/-1;width:100%;padding:16px 18px 18px}
.cv2-med-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(330px,.85fr);gap:16px;align-items:start;margin-top:12px}
.cv2-med-input-panel,.cv2-med-output-panel{min-width:0}
.cv2-med-input-panel{padding:14px;border:1px solid #e2e9ed;border-radius:16px;background:#fbfcfd}
.cv2-med-output-panel{position:sticky;top:96px;padding:14px;border:1px solid #dce7ec;border-radius:16px;background:linear-gradient(145deg,#fff,#f7fafc);box-shadow:0 6px 18px rgba(37,79,116,.045)}
.cv2-med-output-title{display:grid;gap:2px;margin-bottom:10px}.cv2-med-output-title strong{color:#254f74;font-size:.88rem}.cv2-med-output-title small{color:#748692;font-size:.7rem}
.cv2-med-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.cv2-med-result{grid-template-columns:1fr;margin-top:0;min-height:118px;align-content:start}.cv2-med-result>div{padding:7px 0;border-bottom:1px solid #edf1f3}.cv2-med-result>div:last-child{border-bottom:0}.cv2-med-result.calculated{animation:cv2DosePulse .42s ease}
.cv2-med-actions{display:grid;grid-template-columns:1fr 1fr}.cv2-med-actions .btn{width:100%;justify-content:center}
@keyframes cv2DosePulse{0%{box-shadow:0 0 0 0 rgba(63,114,157,.22)}60%{box-shadow:0 0 0 5px rgba(63,114,157,.08)}100%{box-shadow:0 0 0 0 rgba(63,114,157,0)}}
@media(max-width:1100px){.cv2-med-layout{grid-template-columns:1fr}.cv2-med-output-panel{position:static}.cv2-med-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.cv2-medication-module{padding:14px}.cv2-med-input-panel,.cv2-med-output-panel{padding:12px}.cv2-med-grid{grid-template-columns:1fr}.cv2-med-actions{grid-template-columns:1fr}}


/* V2.5.4.1 — Saved clinic medication presets */
.cv2-med-saved-note{display:block;margin-top:5px;color:#81909a;font-size:.64rem;font-weight:650;line-height:1.25}
.cv2-med-custom-editor{margin-top:12px;padding:13px 14px;border:1px dashed #b9ccd8;border-radius:15px;background:#f8fbfc}
.cv2-med-custom-editor[hidden]{display:none!important}.cv2-med-custom-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px}.cv2-med-custom-head strong{display:block;color:#254f74;font-size:.86rem}.cv2-med-custom-head small{display:block;margin-top:2px;color:#718490;font-size:.68rem}
.cv2-med-custom-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.cv2-med-custom-grid label{display:flex;flex-direction:column;gap:5px;color:#526a7b;font-size:.68rem;font-weight:850}.cv2-med-custom-grid label span{font-weight:600;color:#8a98a1}.cv2-med-custom-grid input,.cv2-med-custom-grid select{width:100%;min-height:40px;border:1px solid #d3e0e6;border-radius:10px;background:#fff;color:#294d66;font:inherit;padding:8px 9px;outline:none}.cv2-med-custom-grid input:focus,.cv2-med-custom-grid select:focus{border-color:#7ea4c2;box-shadow:0 0 0 3px rgba(63,114,157,.08)}
.cv2-med-custom-actions{display:flex;justify-content:flex-end;margin-top:10px}.cv2-med-custom-actions .btn{min-height:38px}
@media(max-width:1100px){.cv2-med-custom-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.cv2-med-custom-grid{grid-template-columns:1fr}.cv2-med-custom-actions .btn{width:100%;justify-content:center}}

/* ==========================================================
   V2.5.5 — VISIT WORKSPACE FOCUS MODE
   UX/layout-only refactor. No data model or persistence change.
   ========================================================== */
.cv2-focus-shell{max-width:1240px}
.cv2-visit-head-compact{align-items:center;margin-bottom:10px;padding:14px 17px;border-radius:18px;box-shadow:0 6px 18px rgba(25,58,84,.045)}
.cv2-visit-head-compact h1{margin:3px 0 1px;font-size:1.18rem!important;letter-spacing:-.02em!important}.cv2-visit-head-compact p{font-size:.76rem}
.cv2-visit-head-compact .clinic-patient-kicker:where(:not(.mi-pc__visits *)){font-size:.64rem}.cv2-head-side{display:flex;align-items:center;gap:8px;flex-direction:row}.cv2-head-patient-link{border:1px solid #d9e4ea;border-radius:10px;background:#fff;color:#46667b;padding:7px 9px;font:inherit;font-size:.68rem;font-weight:850;cursor:pointer}.cv2-head-patient-link:hover{border-color:#aac4d3;background:#f9fcfd}

.cv2-focus-radar{grid-template-columns:minmax(220px,1.1fr) minmax(90px,.4fr) minmax(260px,1.55fr) auto;margin-bottom:11px;padding:9px 11px;border-radius:14px;box-shadow:0 7px 22px rgba(37,79,116,.085)}
.cv2-sticky-alerts{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden}.cv2-sticky-alerts span{display:block;min-width:0;max-width:100%;padding:5px 8px;border:1px solid #e1e9ed;border-radius:999px;background:#f8fafb;color:#597080;font-size:.66rem;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cv2-sticky-alerts span.danger{border-color:#e7bbbb;background:#fff1f1;color:#9b3d3d}.cv2-sticky-alerts span.quiet{color:#7f909a;font-weight:700}

.cv2-visit-type-card{margin-bottom:12px!important;padding:14px 16px 15px!important;border-radius:17px!important;box-shadow:0 5px 16px rgba(25,58,84,.035)!important}.cv2-visit-type-card .cv2-section-head{margin-bottom:11px}.cv2-visit-type-card .cv2-section-head h2{font-size:1rem}.cv2-type-chip{min-height:42px;border-radius:12px;padding:7px 9px;font-size:.76rem}

.cv2-focus-layout{display:grid;grid-template-columns:minmax(0,1fr) 276px;gap:16px;align-items:start}.cv2-focus-main{min-width:0}.cv2-context-rail{position:sticky;top:83px;display:grid;gap:8px;padding:12px;border:1px solid #dfe8ec;border-radius:18px;background:rgba(250,252,253,.96);box-shadow:0 8px 25px rgba(25,58,84,.055);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.cv2-rail-head{padding:2px 3px 6px}.cv2-rail-head span{display:block;color:#b17b31;font-size:.6rem;font-weight:900;letter-spacing:.12em}.cv2-rail-head strong{display:block;margin-top:3px;color:#35566d;font-size:.77rem;line-height:1.25}
.cv2-rail-tool{display:grid;grid-template-columns:31px minmax(0,1fr) 13px;align-items:center;gap:8px;width:100%;min-height:53px;padding:8px 9px;border:1px solid #e0e8ec;border-radius:13px;background:#fff;color:#3e6076;text-align:left;cursor:pointer;transition:.14s ease}.cv2-rail-tool:hover{transform:translateY(-1px);border-color:#b8ccd8;box-shadow:0 5px 14px rgba(37,79,116,.06)}.cv2-rail-tool>span{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:#eff5f8;font-size:.95rem}.cv2-rail-tool>div{min-width:0}.cv2-rail-tool strong,.cv2-rail-tool small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cv2-rail-tool strong{font-size:.75rem}.cv2-rail-tool small{margin-top:2px;color:#7a8a95;font-size:.62rem;font-weight:650}.cv2-rail-tool>b{color:#6990aa;font-size:1rem}.cv2-rail-tool.attention{border-color:#e5d3af;background:#fffaf1}.cv2-rail-tool.attention>span{background:#fff0d3}.cv2-rail-tool.active{border-color:#b8d5c1;background:#f7fbf8}.cv2-rail-patient{margin-top:2px;padding:8px;border:0;background:transparent;color:#3f729d;font:inherit;font-size:.66rem;font-weight:900;cursor:pointer;text-align:center}

.cv2-smart-workspace-card{margin-bottom:12px!important;padding:16px!important;border-radius:18px!important;box-shadow:0 5px 18px rgba(37,79,116,.035)!important}.cv2-smart-workspace-head{margin-bottom:12px}.cv2-smart-workspace-head h2{font-size:1.02rem}.cv2-smart-steps span{padding:4px 7px;font-size:.62rem}.cv2-smart-module{border-radius:14px;box-shadow:none}.cv2-smart-acute{padding:12px 13px 13px}

.cv2-focus-clinical{padding:16px 17px!important;border-radius:18px!important}.cv2-focus-clinical-head{margin-bottom:11px}.cv2-focus-clinical-head h2{font-size:1.02rem}.cv2-focus-progress{position:sticky;top:75px;z-index:15;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:0 0 12px;padding:5px;border:1px solid #e1e9ed;border-radius:13px;background:rgba(250,252,253,.95);backdrop-filter:blur(10px)}.cv2-focus-progress button{display:flex;align-items:center;justify-content:center;gap:5px;min-height:32px;border:0;border-radius:9px;background:transparent;color:#66808f;font:inherit;font-size:.66rem;font-weight:850;cursor:pointer}.cv2-focus-progress button:hover{background:#edf4f7;color:#315d7e}.cv2-focus-progress b{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#e5eef2;color:#315d7e;font-size:.59rem}
.cv2-focus-stack{display:grid;gap:9px}.cv2-focus-step{scroll-margin-top:142px;padding:13px 14px;border:1px solid #e4ebef;border-radius:15px;background:#fff}.cv2-focus-step-head{display:flex;align-items:center;gap:9px;margin-bottom:10px}.cv2-focus-step-head>span{display:grid;place-items:center;flex:0 0 29px;height:29px;border-radius:9px;background:#edf4f7;color:#315d7e;font-size:.64rem;font-weight:900}.cv2-focus-step-head strong,.cv2-focus-step-head small{display:block}.cv2-focus-step-head strong{color:#31566f;font-size:.82rem}.cv2-focus-step-head small{margin-top:1px;color:#81909a;font-size:.62rem}.cv2-focus-grid{gap:10px 12px}.cv2-focus-grid label{font-size:.75rem}.cv2-focus-grid textarea{min-height:84px}.cv2-focus-step#cv2-focus-exam textarea{min-height:130px}.cv2-focus-flash{animation:cv2FocusFlash .65s ease}@keyframes cv2FocusFlash{0%{box-shadow:0 0 0 0 rgba(63,114,157,.22)}45%{box-shadow:0 0 0 5px rgba(63,114,157,.09)}100%{box-shadow:0 0 0 0 rgba(63,114,157,0)}}
.cv2-focus-notes{border:1px dashed #dce5e9;border-radius:13px;background:#fafcfc}.cv2-focus-notes summary{padding:10px 12px;color:#708590;font-size:.68rem;font-weight:850;cursor:pointer;list-style:none}.cv2-focus-notes summary::-webkit-details-marker{display:none}.cv2-focus-notes[open] summary{border-bottom:1px solid #e6edef}.cv2-focus-notes>div{padding:11px 12px}
.cv2-payment-card{padding:15px 17px!important;border-radius:18px!important}.cv2-payment-card .cv2-section-head{margin-bottom:11px}.cv2-payment-card .cv2-section-head h2{font-size:1rem}.cv2-payment-grid{gap:10px}

body.cv2-drawer-open{overflow:hidden}.cv2-drawer-backdrop{position:fixed;z-index:160;inset:0;background:rgba(24,43,56,.26);backdrop-filter:blur(2px);display:flex;justify-content:flex-end}.cv2-drawer-backdrop[hidden]{display:none!important}.cv2-drawer-panel{width:min(620px,92vw);height:100%;background:#f8fbfc;border-left:1px solid #dce6eb;box-shadow:-18px 0 55px rgba(20,48,68,.18);overflow:auto;animation:cv2DrawerIn .2s ease}.cv2-drawer-panel.medication{width:min(980px,95vw)}@keyframes cv2DrawerIn{from{transform:translateX(18px);opacity:.75}to{transform:none;opacity:1}}.cv2-drawer-panel>header{position:sticky;top:0;z-index:3;display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:18px 19px;border-bottom:1px solid #e0e8ec;background:rgba(255,255,255,.96);backdrop-filter:blur(10px)}.cv2-drawer-panel>header span{display:block;color:#b17b31;font-size:.61rem;font-weight:900;letter-spacing:.11em}.cv2-drawer-panel>header h2{margin:3px 0 0;color:#254f74;font-size:1.15rem}.cv2-drawer-panel>header p{margin:3px 0 0;color:#778a96;font-size:.7rem;line-height:1.35}.cv2-drawer-panel>header button{display:grid;place-items:center;flex:0 0 36px;height:36px;border:1px solid #dce5e9;border-radius:11px;background:#fff;color:#617887;font-size:1.25rem;cursor:pointer}.cv2-drawer-body{padding:16px 18px 28px}.cv2-drawer-panel .cv2-medication-module{margin:0!important;border:0!important;padding:0!important;background:transparent!important}.cv2-drawer-panel .cv2-med-output-panel{top:82px}.cv2-drawer-loading,.cv2-drawer-empty{padding:18px;border:1px solid #e1e9ed;border-radius:14px;background:#fff;color:#71838e;font-size:.78rem}.cv2-drawer-history-list{display:grid;gap:8px}.cv2-drawer-history-list article{padding:12px 13px;border:1px solid #e0e8ec;border-radius:14px;background:#fff}.cv2-drawer-history-list strong,.cv2-drawer-history-list small{display:block}.cv2-drawer-history-list strong{color:#35566d;font-size:.8rem}.cv2-drawer-history-list small{margin-top:2px;color:#81909a;font-size:.65rem}.cv2-drawer-history-list p{margin:8px 0 0;padding-top:8px;border-top:1px solid #eef2f4;color:#526c7d;font-size:.74rem;line-height:1.4;white-space:pre-wrap}

@media(max-width:1050px){.cv2-focus-layout{grid-template-columns:1fr}.cv2-context-rail{position:static;grid-template-columns:repeat(3,minmax(0,1fr));padding:10px}.cv2-rail-head{grid-column:1/-1}.cv2-rail-patient{grid-column:1/-1}.cv2-focus-progress{top:72px}.cv2-drawer-panel.medication{width:min(900px,96vw)}}
@media(max-width:760px){.cv2-visit-head-compact{align-items:flex-start!important}.cv2-head-side{width:100%;justify-content:space-between}.cv2-focus-radar{grid-template-columns:minmax(0,1fr) auto}.cv2-sticky-alerts{grid-column:1/-1;order:3}.cv2-context-rail{grid-template-columns:1fr 1fr}.cv2-focus-progress{position:static;grid-template-columns:1fr 1fr}.cv2-drawer-panel,.cv2-drawer-panel.medication{width:100vw}.cv2-drawer-body{padding:13px}.cv2-drawer-panel .cv2-med-layout{grid-template-columns:1fr}.cv2-drawer-panel .cv2-med-output-panel{position:static}.cv2-focus-step{padding:11px}.cv2-focus-clinical{padding:14px!important}}
@media(max-width:500px){.cv2-context-rail{grid-template-columns:1fr}.cv2-type-chips{gap:6px}.cv2-type-chip{min-height:39px}.cv2-sticky-alerts span:not(.danger){display:none}.cv2-focus-progress button span{font-size:.61rem}}


/* V2.5.6 — Reason-Driven Visit Flow: one clinical task at a time */
.cv2-tabula-rasa{max-width:980px;margin:28px auto 0;padding:34px;border:1px solid #dfe8ec;border-radius:26px;background:linear-gradient(145deg,#fff,#f8fbfc);box-shadow:0 18px 45px rgba(40,72,95,.08)}
.cv2-tabula-copy{text-align:center;margin:0 auto 22px;max-width:620px}.cv2-tabula-copy>span{color:#7d909b;font-size:.68rem;font-weight:950;letter-spacing:.12em}.cv2-tabula-copy h2{margin:6px 0 7px;color:#244f70;font-size:1.7rem}.cv2-tabula-copy p{margin:0;color:#6f818d;line-height:1.55}
.cv2-tabula-rasa .cv2-visit-type-card{margin:0;border:0;box-shadow:none;background:transparent;padding:0}.cv2-tabula-rasa .cv2-visit-type-card>.cv2-section-head{display:none}.cv2-tabula-rasa .cv2-type-chips{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.cv2-tabula-rasa .cv2-type-chip{min-height:78px;border-radius:18px;background:#fff;justify-content:center;flex-direction:column;gap:6px}.cv2-tabula-rasa .cv2-type-chip span{font-size:1.35rem}
.cv2-reason-driven-layout{grid-template-columns:minmax(0,1fr) 248px!important;align-items:start}.cv2-reason-workspace{padding:0!important;overflow:hidden;border-radius:22px!important}.cv2-reason-flow-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid #e7edef;background:linear-gradient(145deg,#fff,#fbfcfd)}.cv2-reason-flow-head>div>span{display:block;color:#81929c;font-size:.65rem;font-weight:950;letter-spacing:.1em}.cv2-reason-flow-head h2{margin:4px 0 4px;color:#244f70;font-size:1.15rem}.cv2-reason-flow-head p{margin:0;color:#74858f;font-size:.78rem}.cv2-change-reason{border:0;background:#f1f5f7;color:#52728a;border-radius:999px;padding:8px 11px;font:inherit;font-size:.69rem;font-weight:900;cursor:pointer}.cv2-change-reason:disabled{opacity:.5;cursor:default}
.cv2-reason-stepper{display:flex;gap:0;padding:0 14px;border-bottom:1px solid #e8eef1;background:#f8fafb;overflow-x:auto}.cv2-reason-stepper button{appearance:none;border:0;border-bottom:3px solid transparent;background:transparent;color:#84939c;display:flex;align-items:center;gap:7px;padding:12px 11px 10px;font:inherit;font-size:.7rem;font-weight:850;white-space:nowrap;cursor:pointer}.cv2-reason-stepper button b{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#e9eef1;color:#71838f;font-size:.66rem}.cv2-reason-stepper button.active{color:#285f86;border-bottom-color:#6c9abc}.cv2-reason-stepper button.active b{background:#dcecf6;color:#285f86}.cv2-reason-stepper button.done{color:#567967}.cv2-reason-stepper button.done b{background:#e4f1e8;color:#477258}
.cv2-reason-stage-stack{min-height:360px}.cv2-reason-stage{display:none;padding:24px 22px 20px}.cv2-reason-stage.active{display:block;animation:cv2StageIn .16s ease-out}.cv2-reason-stage-title{display:flex;align-items:center;gap:10px;margin-bottom:17px}.cv2-reason-stage-title>span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#edf4f8;color:#376c91;font-size:.72rem;font-weight:950}.cv2-reason-stage-title strong,.cv2-reason-stage-title small{display:block}.cv2-reason-stage-title strong{color:#294f6a;font-size:1rem}.cv2-reason-stage-title small{margin-top:2px;color:#89969e;font-size:.68rem;font-weight:800}.cv2-reason-stage .cv2-smart-module{box-shadow:none}.cv2-flow-form{margin-top:2px}.cv2-flow-hidden-field{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important}.cv2-flow-certificate{padding:18px}.cv2-flow-certificate-exam{margin-top:18px}.cv2-flow-certificate .cv2-smart-module-head{margin-bottom:15px}
.cv2-reason-nav{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 18px;border-top:1px solid #e6ecef;background:#fbfcfd;position:sticky;bottom:0;z-index:3}.cv2-reason-nav>div{text-align:center}.cv2-reason-nav small,.cv2-reason-nav strong{display:block}.cv2-reason-nav small{color:#8b99a1;font-size:.62rem;font-weight:850}.cv2-reason-nav strong{margin-top:2px;color:#45677d;font-size:.78rem}.cv2-flow-ready{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 13px;border-radius:11px;background:#edf7f0;color:#44705a;font-size:.72rem;font-weight:900}.cv2-reason-nav .btn:disabled{opacity:.35;cursor:default}
.cv2-reason-driven-shell .cv2-visit-type-card{margin-bottom:12px;padding:13px 16px}.cv2-reason-driven-shell .cv2-visit-type-card .cv2-section-head{margin-bottom:9px}.cv2-reason-driven-shell .cv2-type-chip{min-height:42px;padding:7px 9px}.cv2-reason-driven-shell .cv2-type-chip span{font-size:.95rem}.cv2-reason-driven-shell .cv2-type-chip strong{font-size:.7rem}.cv2-reason-driven-shell .cv2-actionbar{position:sticky;bottom:10px;z-index:8;box-shadow:0 10px 28px rgba(42,68,87,.12)}
@keyframes cv2StageIn{from{opacity:.25;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:980px){.cv2-reason-driven-layout{grid-template-columns:1fr!important}.cv2-reason-driven-layout .cv2-context-rail{position:static!important}.cv2-tabula-rasa .cv2-type-chips{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.cv2-tabula-rasa{padding:20px 14px;margin-top:12px}.cv2-tabula-rasa .cv2-type-chips{grid-template-columns:1fr 1fr}.cv2-reason-flow-head{padding:16px;flex-direction:column}.cv2-reason-stage{padding:18px 14px}.cv2-reason-nav{grid-template-columns:auto 1fr auto;padding:11px}.cv2-reason-nav>div{display:none}.cv2-reason-stepper{padding:0 5px}.cv2-reason-stepper button span{display:none}}


/* V2.5.6.1 — Reason change + compact navigation hotfix */
.cv2-reason-driven-shell .cv2-reason-nav{
  position:sticky!important;bottom:10px!important;z-index:7!important;
  display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;
  width:max-content!important;max-width:calc(100% - 28px)!important;
  margin:12px auto 14px!important;padding:6px!important;
  border:1px solid #e0e8ec!important;border-radius:14px!important;
  background:rgba(255,255,255,.96)!important;box-shadow:0 8px 22px rgba(37,79,116,.09)!important;
  backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important;
}
.cv2-reason-driven-shell .cv2-reason-nav>div{min-width:118px!important;padding:0 4px!important;text-align:center!important}
.cv2-reason-driven-shell .cv2-reason-nav small{font-size:.58rem!important}
.cv2-reason-driven-shell .cv2-reason-nav strong{margin-top:1px!important;font-size:.7rem!important}
.cv2-reason-driven-shell .cv2-reason-nav .btn{min-height:34px!important;padding:7px 10px!important;border-radius:10px!important;font-size:.68rem!important;box-shadow:none!important}
.cv2-reason-driven-shell .cv2-actionbar{
  position:static!important;left:auto!important;bottom:auto!important;transform:none!important;z-index:auto!important;
  width:auto!important;margin:6px 0 0!important;padding:2px 0!important;
  border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;justify-content:flex-end!important;gap:6px!important;
}
.cv2-reason-driven-shell .cv2-actionbar-secondary,.cv2-reason-driven-shell .cv2-actionbar-main{gap:6px!important;margin:0!important}
.cv2-reason-driven-shell .cv2-actionbar .btn{min-height:34px!important;padding:7px 10px!important;border-radius:10px!important;font-size:.67rem!important;box-shadow:none!important}
.cv2-reason-driven-shell .cv2-tabula-rasa{scroll-margin-top:92px}
@media(max-width:700px){
  .cv2-reason-driven-shell .cv2-reason-nav{width:calc(100% - 20px)!important;max-width:none!important}
  .cv2-reason-driven-shell .cv2-reason-nav>div{min-width:0!important;flex:1 1 auto!important}
  .cv2-reason-driven-shell .cv2-actionbar{align-items:stretch!important;flex-direction:column!important}
  .cv2-reason-driven-shell .cv2-actionbar-secondary,.cv2-reason-driven-shell .cv2-actionbar-main{width:100%!important}
  .cv2-reason-driven-shell .cv2-actionbar .btn{flex:1 1 auto!important}
}

/* V2.5.8 — Medication integrity: explicit custom concentration editor */
.cv2-med-custom-formulation-editor{margin-top:10px;padding:11px 12px;border:1px solid #cfdee7;border-radius:13px;background:#f7fafc;display:grid;grid-template-columns:minmax(0,260px) 1fr;gap:12px;align-items:end}
.cv2-med-custom-formulation-editor[hidden]{display:none!important}
.cv2-med-custom-formulation-editor label{display:flex;flex-direction:column;gap:5px;color:#526a7b;font-size:.7rem;font-weight:850}
.cv2-med-custom-formulation-editor input{width:100%;min-height:40px;border:1px solid #d3e0e6;border-radius:10px;background:#fff;color:#294d66;font:inherit;padding:8px 9px;outline:none}
.cv2-med-custom-formulation-editor input:focus{border-color:#7ea4c2;box-shadow:0 0 0 3px rgba(63,114,157,.08)}
.cv2-med-custom-formulation-editor small{color:#718490;font-size:.68rem;line-height:1.45}
@media(max-width:620px){.cv2-med-custom-formulation-editor{grid-template-columns:1fr}}
/* 2026-10 refine: weight safety, growth range errors, recoverable open error */
.cv2-med-weight-alert{margin:10px 0 0;padding:11px 12px;border-radius:13px;display:grid;gap:6px;background:#fff5e8;border:1px solid #efc887;color:#805716}
.cv2-med-weight-alert[hidden]{display:none}
.cv2-med-weight-alert strong,.cv2-med-weight-alert span{display:block}
.cv2-med-weight-alert label{display:flex;align-items:flex-start;gap:8px;font-weight:700;cursor:pointer}
.cv2-med-weight-alert input{margin-top:3px;min-width:18px;min-height:18px}
.cv2-med-weight-alert.acknowledged{opacity:.78}
.cv2-quick-growth-error{margin-top:10px;padding:9px 11px;border-radius:11px;background:#fff0f0;border:1px solid #e9adad;color:#8d3434;font-size:.76rem;font-weight:750}
.cv2-quick-growth-error[hidden]{display:none}
.cv2-open-error{display:grid;gap:8px}
.cv2-open-error h2{margin:0;color:#8d3434}

/* Medication Drawer Phase 0+1 — presentation only (no medication logic). */
.cv2-med-manual{margin-top:14px;border:1px solid #dce7ec;border-radius:14px;background:#fff}
.cv2-med-manual>summary{list-style:none;cursor:pointer;display:grid;gap:2px;padding:11px 14px;border-radius:14px}
.cv2-med-manual>summary::-webkit-details-marker{display:none}
.cv2-med-manual>summary strong{color:#254f74;font-size:.84rem}.cv2-med-manual>summary strong::before{content:'▸ ';color:#7b93a4}
.cv2-med-manual[open]>summary strong::before{content:'▾ '}
.cv2-med-manual>summary small{color:#748692;font-size:.68rem}
.cv2-med-manual>summary:focus-visible{outline:2px solid #7ea4c2;outline-offset:2px}
.cv2-med-manual-body{padding:0 14px 14px}
.cv2-med-result-identity{display:grid;gap:2px}.cv2-med-result-identity strong{color:#1f4361;font-size:.95rem}.cv2-med-result-identity small{color:#5f7484}
.cv2-med-edit-banner{margin:10px 0 0;padding:9px 12px;border-radius:12px;background:#eef5fb;border:1px solid #c9dcea;color:#254f74;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.78rem}
.cv2-med-edit-banner[hidden]{display:none!important}
.cv2-med-edit-banner button{border:1px solid #b9ccd8;background:#fff;border-radius:9px;padding:5px 10px;font:inherit;font-weight:700;color:#254f74;cursor:pointer}
.cv2-med-overlap{margin:10px 0 0;padding:11px 12px;border-radius:13px;background:#fff7e6;border:1px solid #efc887;color:#6f4c12;display:grid;gap:8px}
.cv2-med-overlap[hidden]{display:none!important}
.cv2-med-overlap ul{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.cv2-med-overlap li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.cv2-med-overlap-actions{display:flex;flex-wrap:wrap;gap:8px}
.cv2-med-plan-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.cv2-med-plan-head strong{color:#254f74;font-size:.88rem}
.cv2-med-badges{display:flex;flex-wrap:wrap;gap:5px;margin:3px 0 4px}
.cv2-med-badge{font-style:normal;font-size:.64rem;font-weight:800;padding:2px 7px;border-radius:999px;background:#eef3f6;color:#4f6676}
.cv2-med-badge.ok{background:#e8f5ec;color:#2f6b43}.cv2-med-badge.stale{background:#fff1dc;color:#8a5a12}.cv2-med-badge.editing{background:#e6f0fa;color:#24527a}
.cv2-med-confirmed-row.editing{border-color:#9fc0dc;background:#f3f8fd}
.cv2-med-confirmed-row small{display:block}.cv2-med-plan-text{color:#7a8b96}
@media(min-width:1101px){.cv2-med-plan-panel #cv2-med-confirmed{max-height:calc(100vh - 220px);overflow:auto}}
/* The sticky «Φάρμακα στο πλάνο» column needs the panel (not the body) to be the only scroll container:
   overflow-x:clip keeps horizontal clipping without creating a second scroll container. Desktop only. */
@media(min-width:1024px){
  .cv2-drawer-backdrop .cv2-drawer-panel.medication .cv2-drawer-body{overflow-x:clip!important;overflow-y:visible!important}
  .cv2-drawer-backdrop .cv2-drawer-panel.medication .cv2-med-output-panel{top:106px!important}
}

/* Context tools: secondary lines wrap instead of being cut off, so measurements stay readable. */
.cv2-rail-tool small{white-space:normal;overflow-wrap:anywhere;text-overflow:clip}

/* Developmental surveillance V2: per-item provenance stays compact until opened. */
.cv2-milestone-annotation{margin-top:7px;width:min(100%,500px);border-top:1px solid #e6ecef;padding-top:7px}
.cv2-milestone-annotation summary{cursor:pointer;color:#476d88;font-size:.73rem;font-weight:750}
.cv2-milestone-annotation label{display:grid;gap:4px;margin-top:8px;color:#476277;font-size:.73rem;font-weight:700}
.cv2-milestone-annotation select,.cv2-milestone-annotation textarea{width:100%;min-width:0;box-sizing:border-box;border:1px solid #cbd9e3;border-radius:8px;background:#fff;color:#294b64;padding:8px;font:inherit}
.cv2-milestone-annotation select:disabled,.cv2-milestone-annotation textarea[readonly]{background:#f4f7f8}

/* Developmental assessment V2: editable only by the clinician. */
.cv2-dev-assessment{margin:18px 0 0;border:1px solid #dce7ed;padding:18px}
.cv2-dev-assessment h3{color:#244e70;font-size:.9rem;margin:18px 0 9px}
.cv2-dev-notice{font-size:.79rem;line-height:1.5;color:#5c7889;margin:0 0 12px}
.cv2-dev-followup{font-size:.82rem;font-weight:750;color:#8d5c20;padding:11px;border:1px solid #ebd6b2;border-radius:10px}
.cv2-dev-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.cv2-dev-fields label{display:grid;gap:6px;font-size:.75rem;font-weight:750;color:#375e75}
.cv2-dev-fields textarea,.cv2-dev-fields input,.cv2-dev-fields select{width:100%;min-width:0;box-sizing:border-box;border:1px solid #cbd9e3;border-radius:9px;padding:10px;background:#fff;color:#294b64;font:inherit}
.cv2-dev-fields textarea[readonly],.cv2-dev-fields select:disabled,.cv2-dev-fields input:disabled{background:#f2f5f7}
.cv2-dev-history{margin:10px 0 15px;padding:10px;border:1px solid #e2e8ec;border-radius:10px}
.cv2-dev-history summary{cursor:pointer;color:#426981;font-size:.8rem;font-weight:750}
.cv2-dev-history article{padding:9px 4px;border-bottom:1px solid #e9eff2;font-size:.78rem}
.cv2-dev-history article p{margin:5px 0;white-space:pre-wrap}
@media(max-width:740px){.cv2-dev-fields{grid-template-columns:1fr}.cv2-dev-assessment{padding:12px}}


/* M-CHAT-R/F — clinician-only transcription of official Greek questionnaire */
.cv2-mchat-panel{margin-top:18px;border:1px solid #dbe5ed;border-radius:14px;background:#fff;padding:16px}
.cv2-mchat-panel>summary{cursor:pointer;display:flex;justify-content:space-between;gap:14px;align-items:center;font-size:15px;list-style-position:inside}
.cv2-mchat-panel>summary small{color:#64748b;font-size:12px}
.cv2-mchat-body{display:grid;gap:14px;padding-top:15px}
.cv2-mchat-body a{color:#1d4ed8;text-decoration:underline;text-underline-offset:3px}
.cv2-mchat-age{font-size:13px;color:#475569}
.cv2-mchat-body h3{font-size:15px;margin:8px 0 1px}
.cv2-mchat-answers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.cv2-mchat-answer,.cv2-mchat-answers label{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 11px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;font-size:13px}
.cv2-mchat-answers label[hidden],#cv2-mchat-followup-section[hidden]{display:none!important}
.cv2-mchat-answers select{max-width:230px;min-width:145px}
.cv2-mchat-summary{border-left:3px solid #2563eb;background:#eff6ff;padding:12px 14px;border-radius:6px;font-weight:600;font-size:13px;line-height:1.5}
.cv2-mchat-confirm{display:flex;align-items:center;gap:10px;font-size:13px}
.cv2-mchat-confirm input{width:auto}
.cv2-mchat-panel textarea{width:100%;min-height:65px}
@media(max-width:750px){
 .cv2-mchat-panel>summary{flex-direction:column;align-items:flex-start}
 .cv2-mchat-answers{grid-template-columns:1fr}
 .cv2-mchat-answers select{min-width:118px;max-width:190px}
}


/* M-CHAT-R/F: unmodified official Greek form on one side, 20 clinician answers on the other.
   Avoid hosting a redistributed copy of copyrighted questionnaire text on public Firebase assets. */
.cv2-mchat-panel{padding:15px;max-width:100%;min-width:0}
.cv2-mchat-panel>summary strong{font-size:clamp(.85rem,1.2vw,1rem)}
.cv2-mchat-panel>summary small{white-space:normal;text-align:right}
.cv2-mchat-lead{margin:0;padding:12px 14px;background:#f0f6fb;border:1px solid #d8e7f3;border-radius:10px;font-size:.84rem;line-height:1.55;color:#294f70}
.cv2-mchat-meta{display:flex;align-items:start;gap:12px;flex-wrap:wrap}
.cv2-mchat-meta label,.cv2-mchat-note-label{display:grid;gap:7px;font-size:.77rem;font-weight:750;color:#375e75}
.cv2-mchat-meta input,.cv2-mchat-meta textarea{min-width:0;border:1px solid #cbd9e3;border-radius:9px;padding:9px;background:#fff;color:#294b64}
.cv2-mchat-questionnaire{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(0,1fr);gap:15px;align-items:start;max-width:100%;min-width:0}
.cv2-mchat-official,.cv2-mchat-form{border:1px solid #dce6ec;border-radius:12px;padding:12px;min-width:0;background:#fff}
.cv2-mchat-pane-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.cv2-mchat-pane-head strong{font-size:.83rem;color:#234b69}
.cv2-mchat-pane-head a{font-size:.73rem}
.cv2-mchat-pane-head small{font-weight:800;color:#2b6489;background:#eaf2f8;border-radius:20px;padding:5px 9px}
.cv2-mchat-pdf{display:block;border:1px solid #d8e1e7;border-radius:8px;background:#f5f7f8;width:100%;height:820px}
.cv2-mchat-form .cv2-mchat-answers{display:flex;flex-direction:column;gap:6px;max-height:890px;overflow-y:auto;scrollbar-gutter:stable;padding-right:3px}
.cv2-mchat-form .cv2-mchat-answer{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;min-height:44px}
.cv2-mchat-q-number{font-weight:750;font-size:.78rem;color:#304e68}
.cv2-mchat-choice-group{display:flex;gap:6px;flex-shrink:0}
.cv2-mchat-choice{display:inline-flex;align-items:center;justify-content:center;gap:5px!important;cursor:pointer;min-height:38px;min-width:69px;padding:5px 8px!important;background:#fff!important;border:1px solid #bfd0dc!important;border-radius:8px;font-weight:750;color:#284960;font-size:.77rem}
.cv2-mchat-choice:has(input:checked){background:#dceefe!important;border-color:#3c78ad!important;color:#16456b}
.cv2-mchat-choice input{accent-color:#2563a0;cursor:pointer;min-width:14px;width:14px;height:14px;margin:0}
.cv2-mchat-choice:focus-within{outline:2px solid #628fbb;outline-offset:2px}
.cv2-mchat-followup-answers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:none}
.cv2-mchat-summary{font-size:.84rem}
.cv2-mchat-note-label textarea{border:1px solid #cbd9e3;border-radius:9px;padding:10px}
.cv2-mchat-copyright{border-top:1px solid #e2e8ef;margin-top:8px;padding-top:10px}
@media(max-width:950px){
 .cv2-mchat-questionnaire{grid-template-columns:1fr}
 .cv2-mchat-pdf{height:620px}
 .cv2-mchat-form .cv2-mchat-answers{max-height:none}
}
@media(max-width:460px){
 .cv2-mchat-panel{padding:10px}
 .cv2-mchat-questionnaire{gap:9px}
 .cv2-mchat-pdf{height:530px}
 .cv2-mchat-official,.cv2-mchat-form{padding:9px}
 .cv2-mchat-choice{min-width:61px}
 .cv2-mchat-followup-answers{grid-template-columns:1fr}
}


/* M-CHAT-R/F clinic-only actual questionnaire.
   Original question and examples appear with the Yes/No choices on the same row.
   Copyrighted text is fetched from the authenticated clinic endpoint, not public JS. */
.cv2-mchat-questionnaire{grid-template-columns:minmax(0,1fr)}
.cv2-mchat-questionnaire .cv2-mchat-form{width:100%;box-sizing:border-box;min-width:0}
.cv2-mchat-questionnaire .cv2-mchat-form .cv2-mchat-answers{display:grid;grid-template-columns:1fr;max-height:none;overflow:visible;gap:8px;padding:0}
.cv2-mchat-questionnaire .cv2-mchat-answer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;min-height:68px;padding:13px 15px}
.cv2-mchat-question-copy{min-width:0;display:grid;gap:5px;line-height:1.45}
.cv2-mchat-question-copy .cv2-mchat-q-number{font-size:.9rem;color:#234b69;font-weight:700;white-space:normal}
.cv2-mchat-question-copy .cv2-mchat-example{margin:0;font-size:.78rem;color:#5c7488;line-height:1.45;white-space:normal}
.cv2-mchat-instructions{padding:11px 13px;border:1px solid #dce7ed;border-radius:10px;background:#f4f8fb;color:#365d77;font-size:.8rem;line-height:1.55;white-space:pre-wrap}
.cv2-mchat-load-error{padding:11px 13px;border:1px solid #e8c6b1;border-radius:10px;background:#fff8f2;color:#884b30;font-size:.8rem;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.cv2-mchat-load-error[hidden]{display:none}
.cv2-mchat-load-error button{background:#fff;border:1px solid #cc9175;color:#8b4d2d;border-radius:8px;padding:7px 12px;cursor:pointer;font:inherit}
.cv2-mchat-questionnaire .cv2-mchat-choice-group{display:flex;align-items:center;flex-shrink:0;gap:8px}
.cv2-mchat-questionnaire .cv2-mchat-choice{min-width:74px}
.cv2-mchat-questionnaire .cv2-mchat-choice input:disabled{cursor:not-allowed}
@media(max-width:650px){
 .cv2-mchat-questionnaire .cv2-mchat-answer{grid-template-columns:1fr;gap:10px;padding:12px}
 .cv2-mchat-questionnaire .cv2-mchat-choice-group{justify-content:flex-start}
 .cv2-mchat-questionnaire .cv2-mchat-choice{min-width:88px}
}


/* M-CHAT-R/F official Greek guided Follow-Up · clinician only.
   Each item expands to the exact branch required by its 2025 chart. */
#cv2-mchat-followup-section{margin-top:14px;border-top:1px solid #d7e2e9;padding-top:16px}
#cv2-mchat-followup-section>h3{font-size:1.06rem;color:#244a69;margin-bottom:8px}
.cv2-mchat-fu-progress{font-size:.81rem;font-weight:650;color:#436987;margin:10px 0 13px}
.cv2-mchat-fu-item{border:1px solid #d5e3ed;border-radius:12px;padding:15px 16px;margin:10px 0;background:#fff;box-sizing:border-box}
.cv2-mchat-fu-title{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#254b69;font-size:.9rem;border-bottom:1px solid #e9eef2;padding-bottom:9px;margin-bottom:12px}
.cv2-mchat-fu-title>span{font-size:.73rem;color:#64788a;font-weight:650}
.cv2-mchat-fu-step{background:#f7f9fb;border:1px solid #e1eaf0;border-radius:10px;padding:12px 13px;margin:9px 0;box-sizing:border-box}
.cv2-mchat-fu-step h4{font-size:.84rem;margin:0 0 10px;color:#2b5777}
.cv2-mchat-fu-rows{display:grid;gap:4px}
.cv2-mchat-fu-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid #e2e9ee;color:#314c63;font-size:.83rem}
.cv2-mchat-fu-row:last-child{border-bottom:0}
.cv2-mchat-fu-radios,.cv2-mchat-fu-choices{display:flex;gap:7px;flex-wrap:wrap}
.cv2-mchat-fu-radio{display:flex;align-items:center;gap:5px;justify-content:center;min-width:69px;padding:7px 9px;border:1px solid #c0d0dd;border-radius:9px;background:#fff;color:#294d68;font-weight:700;cursor:pointer;white-space:nowrap;font-size:.79rem}
.cv2-mchat-fu-radio input{margin:0;accent-color:#286da0}
.cv2-mchat-fu-radio.is-chosen,.cv2-mchat-fu-radio:has(input:checked){background:#e6f2fd;border-color:#76a3c6}
.cv2-mchat-fu-group-head{display:block;padding:8px 0 2px;font-size:.72rem;color:#627c92}
.cv2-mchat-fu-choices label{display:flex;gap:7px;align-items:center;border:1px solid #c8d9e5;border-radius:9px;padding:10px;background:#fff;font-size:.81rem;cursor:pointer}
.cv2-mchat-fu-choices input{accent-color:#286da0}
.cv2-mchat-fu-other{display:grid;gap:9px;margin-top:12px}
.cv2-mchat-fu-other label{display:grid;gap:5px;font-size:.78rem;font-weight:650;color:#355f7c}
.cv2-mchat-fu-other input,.cv2-mchat-fu-other select{width:100%;min-width:0;box-sizing:border-box;border:1px solid #bfd0de;background:#fff;padding:9px;border-radius:8px;font:inherit}
.cv2-mchat-fu-result{background:#eef7f1;color:#255d42;border:1px solid #c9e1cf;border-radius:9px;padding:9px 11px;font-size:.78rem;font-weight:750}
.cv2-mchat-fu-pending{color:#875a23;font-size:.76rem;margin:9px 0 0}
.cv2-mchat-print-action{display:flex;justify-content:flex-end;margin:10px 0}
.cv2-mchat-print-action button{background:#fff;border:1px solid #8ca9bf;color:#275577;border-radius:10px;padding:10px 14px;font-weight:750;cursor:pointer}
.cv2-mchat-print-action button:hover{background:#eef5fa}
.cv2-mchat-print-action button:focus-visible{outline:2px solid #407ca8;outline-offset:2px}
@media(max-width:670px){
 .cv2-mchat-fu-item{padding:10px}
 .cv2-mchat-fu-title{align-items:flex-start;flex-direction:column;gap:5px}
 .cv2-mchat-fu-row{grid-template-columns:1fr;gap:8px}
 .cv2-mchat-fu-radios{justify-content:flex-start}
 .cv2-mchat-fu-radio{min-width:90px}
 .cv2-mchat-fu-step{padding:9px}
 .cv2-mchat-print-action button{width:100%}
}

/* M-CHAT guided form: the physician can immediately see which response blocks completion. */
.cv2-mchat-fu-row.is-unanswered{background:#fff8ec;border-left:3px solid #e6b767;padding-left:8px;border-radius:5px}
.cv2-mchat-fu-unanswered{display:inline-block;color:#895a19;font-weight:700;font-size:.69rem;padding:2px 5px}
.cv2-mchat-print-action{align-items:center;gap:9px;flex-wrap:wrap}
.cv2-mchat-print-hint{flex:1 1 100%;font-size:.77rem;line-height:1.5;color:#5b6c79}
.cv2-mchat-print-action button.cv2-mchat-save-inline{background:#29577a;color:#fff;border-color:#29577a}
.cv2-mchat-print-action button.cv2-mchat-save-inline:hover{background:#1f4969}
