/* 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-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{margin-bottom:16px}
.cv2-history-list{display:grid;gap:8px}
.cv2-history-row.in_progress{border-color:#9fc9e6;background:#f4faff}
.cv2-history-row.completed{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-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}

@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-action{padding:0 8px;font-size:.66rem}
}

@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}
}
