/* =====================================================================
   MI SCREENS — Design Lock V1 screen compositions (part of the MI layer).
   Screen-level layout built only from --mi-* tokens. No !important.
   Sections: Online booking IA · Today 2.0 (today2-home.css) · Patient Card.
   ===================================================================== */

/* ---------- Online Ραντεβού (Περισσότερα → Online Ραντεβού) ---------- */
.online-booking-head-actions{display:flex;flex-wrap:wrap;gap:var(--mi-space-2);align-items:center}
.online-booking-settings-page+.settings-section-stack{display:grid;gap:var(--mi-space-4)}

/* ---------- Patient Card (Design Lock V1) ----------
   Markup: app.js patientCardPageHtml / patientSummaryCardHtml. Tab bodies other than the overview
   (vaccines, growth, files, photos) keep their existing renderers inside .mi-pc__panel. */
.mi-pc{display:grid;gap:var(--mi-space-4);max-width:1320px;margin:0 auto;color:var(--mi-text);font-family:var(--mi-font-sans);font-size:var(--mi-text-body);line-height:var(--mi-lh-body);font-variant-numeric:tabular-nums}
.mi-pc *{box-sizing:border-box}
.mi-pc h1,.mi-pc h2,.mi-pc p,.mi-pc dl,.mi-pc dd,.mi-pc ul{margin:0}
.mi-pc ul{padding:0;list-style:none}
.mi-pc__ico{display:inline-block;flex:0 0 auto;width:16px;height:16px;background:currentColor;-webkit-mask:var(--mi-pc-icon,var(--mi-icon-dot)) center/contain no-repeat;mask:var(--mi-pc-icon,var(--mi-icon-dot)) center/contain no-repeat}
.mi-pc__ico--arrow{--mi-pc-icon:var(--mi-icon-arrow)}
.mi-pc__ico--back{--mi-pc-icon:var(--mi-icon-arrow);transform:scaleX(-1)}
.mi-pc__ico--visit{--mi-pc-icon:var(--mi-icon-stethoscope)}
.mi-pc__ico--phone{--mi-pc-icon:var(--mi-icon-phone)}
.mi-pc__ico--doc{--mi-pc-icon:var(--mi-icon-doc)}
.mi-pc__ico--more{--mi-pc-icon:var(--mi-icon-more);width:18px;height:18px}
.mi-pc__ico--syringe{--mi-pc-icon:var(--mi-icon-syringe);color:var(--mi-sage)}
.mi-pc__ico--growth{--mi-pc-icon:var(--mi-icon-chart);color:var(--mi-primary)}
.mi-pc__ico--family{--mi-pc-icon:var(--mi-icon-users);color:var(--mi-blush)}
.mi-pc__back{display:flex}
.mi-pc__back .mi-btn{padding-left:4px}

/* Identity */
.mi-pc__head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;background:var(--mi-surface);border:1px solid var(--mi-border);border-radius:var(--mi-radius-md);box-shadow:var(--mi-shadow-1);overflow:hidden}
.mi-pc__identity{display:flex;align-items:center;gap:var(--mi-space-5);min-width:0;padding:var(--mi-space-6)}
.mi-pc__avatar{display:grid;place-items:center;flex:0 0 64px;width:64px;height:64px;border-radius:50%;background:var(--mi-sage-tint);color:var(--mi-sage);font-size:22px;font-weight:700}
.mi-pc__who{display:grid;gap:6px;min-width:0}
.mi-pc__name-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--mi-space-2) var(--mi-space-3)}
.mi-pc h1.mi-pc__name{font-size:var(--mi-text-display);line-height:var(--mi-lh-display);font-weight:700;letter-spacing:-.01em;color:var(--mi-text)}
.mi-pc__meta,.mi-pc__guardian{display:flex;align-items:center;flex-wrap:wrap;gap:4px 14px;color:var(--mi-text-2)}
.mi-pc__meta strong,.mi-pc__guardian strong{color:var(--mi-text);font-weight:600}
.mi-pc__call .mi-pc__ico{width:14px;height:14px}
.mi-pc .clinic-patient-quick-actions{display:flex;align-items:center;gap:var(--mi-space-2);padding:var(--mi-space-6)}
.mi-pc .clinic-patient-quick-actions strong{font-weight:inherit}
.mi-pc__more{position:relative}
.mi-pc__more>summary{list-style:none}
.mi-pc__more>summary::-webkit-details-marker{display:none}
.mi-pc__more>.mi-menu{position:absolute;z-index:40;right:0;top:calc(100% + 6px);min-width:240px}

/* Allergy — always visible on the Patient Card (never collapsed or truncated). */
.mi-pc__allergy{grid-column:1 / -1;display:flex;align-items:center;flex-wrap:wrap;gap:var(--mi-space-2) var(--mi-space-4);padding:14px var(--mi-space-6);background:var(--mi-allergy-tint);box-shadow:inset 6px 0 0 var(--mi-allergy);border-top:1px solid var(--mi-border)}
.mi-pc__allergy .mi-badge--allergy{flex:0 0 auto}
.mi-pc__allergy-text{flex:1 1 320px;min-width:0;color:var(--mi-allergy);font-weight:600;overflow-wrap:anywhere}
.mi-pc__allergy.is-none{background:var(--mi-surface-2);box-shadow:inset 6px 0 0 var(--mi-border-strong)}
.mi-pc__allergy.is-none .mi-pc__allergy-text{color:var(--mi-text-2);font-weight:500}
.mi-pc__allergy-none{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:var(--mi-radius-pill);background:var(--mi-sunken);color:var(--mi-text-2);font-size:var(--mi-text-meta);font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.mi-pc__allergy-none::before{content:"";width:12px;height:12px;background:currentColor;-webkit-mask:var(--mi-icon-drop) center/contain no-repeat;mask:var(--mi-icon-drop) center/contain no-repeat}
.mi-pc__chronic{display:flex;flex-wrap:wrap;gap:4px 18px;padding-left:var(--mi-space-4);border-left:1px solid var(--mi-border-strong);color:var(--mi-text-2);font-size:var(--mi-text-dense)}
.mi-pc__chronic div{display:flex;gap:6px}
.mi-pc__chronic dd{color:var(--mi-text);font-weight:600}
.mi-pc__visit-band{grid-column:1 / -1;display:flex;align-items:center;flex-wrap:wrap;gap:var(--mi-space-2) var(--mi-space-3);padding:12px var(--mi-space-6);background:var(--mi-success-tint);border-top:1px solid var(--mi-border)}
.mi-pc__visit-band-text{color:var(--mi-text)}

/* Latest measurements */
.mi-pc__measure{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(0,1.35fr);background:var(--mi-surface);border:1px solid var(--mi-border);border-radius:var(--mi-radius-md)}
.mi-pc__measure-cell{display:grid;align-content:start;gap:2px;padding:14px 20px;min-width:0}
.mi-pc__measure-cell+.mi-pc__measure-cell{border-left:1px solid var(--mi-border)}
.mi-pc__measure-label{color:var(--mi-text-2);font-size:var(--mi-text-dense);font-weight:600}
.mi-pc__measure-label strong{color:var(--mi-text)}
.mi-pc__measure-value{font-size:22px;line-height:30px;font-weight:700}
.mi-pc__measure-value small{color:var(--mi-text-2);font-size:var(--mi-text-dense);font-weight:500}
.mi-pc__measure-meta{justify-items:start}
.mi-pc__measure-meta .mi-btn{padding-left:0}
.mi-pc__measure.is-empty{display:flex;align-items:center;justify-content:space-between;gap:var(--mi-space-3);padding:12px 20px;color:var(--mi-text-2)}

/* Body: tabs + panel; the overview adds the aside, details and the (mobile) photo slot. */
.mi-pc__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,420px);gap:0 var(--mi-space-5);align-items:start}
.mi-pc__tabs{grid-column:1;background:var(--mi-surface);border:1px solid var(--mi-border);border-bottom-color:var(--mi-border);border-radius:var(--mi-radius-md) var(--mi-radius-md) 0 0;padding:0 var(--mi-space-4)}
.mi-pc__tabs .mi-tabs{padding-right:0}
.mi-pc__tabs .mi-tabs-scroll__fade,.mi-pc__tabs .mi-tabs-scroll__more{display:none}
.mi-pc__body:not(.is-tab-summary)>.mi-pc__tabs{grid-column:1 / -1}
.mi-pc__body:not(.is-tab-summary)>.mi-pc__panel{grid-column:1 / -1;padding-top:var(--mi-space-4)}
.mi-pc__body.is-tab-summary>.mi-pc__panel,.mi-pc__overview{display:contents}
.mi-pc__visits{grid-column:1;grid-row:2;display:grid;gap:0;background:var(--mi-surface);border:1px solid var(--mi-border);border-top:0;border-radius:0 0 var(--mi-radius-md) var(--mi-radius-md);overflow:hidden}
.mi-pc__aside{grid-column:2;grid-row:1 / span 3;display:grid;background:var(--mi-surface);border:1px solid var(--mi-border);border-radius:var(--mi-radius-md);overflow:hidden}
.mi-pc__details{grid-column:1 / -1;margin-top:var(--mi-space-4);background:var(--mi-surface);border:1px solid var(--mi-border);border-radius:var(--mi-radius-md)}
.mi-pc__extra{display:none}

/* Visit history rows (existing renderers, restyled inside the card) */
.mi-pc__visits>.panel{margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.mi-pc__visits>.panel+.panel,.mi-pc__visits>.list-card{border-top:1px solid var(--mi-border)}
.mi-pc__visits .patient-active-visits-head{padding:14px 20px 6px}
.mi-pc__visits .patient-active-visits-head h3{margin:2px 0 0;font-size:var(--mi-text-subhead);line-height:var(--mi-lh-subhead);font-weight:700;color:var(--mi-text)}
.mi-pc__visits .clinic-patient-kicker{color:var(--mi-text-3);font-size:var(--mi-text-overline);font-weight:700;letter-spacing:.08em}
.mi-pc__visits .patient-active-visits-list,.mi-pc__visits .cv2-history-list{display:grid}
.mi-pc__visits .patient-active-visit-row{display:flex;align-items:center;justify-content:space-between;gap:var(--mi-space-4);width:100%;min-height:64px;margin:0;padding:12px 20px;border:0;border-top:1px solid var(--mi-border);border-radius:0;background:var(--mi-surface);color:var(--mi-text);font:inherit;text-align:left;box-shadow:none;cursor:pointer}
.mi-pc__visits .patient-active-visit-row:hover{background:var(--mi-surface-2)}
.mi-pc__visits .patient-active-visit-row:focus-visible{outline:2px solid var(--mi-primary);outline-offset:-2px}
.mi-pc__visits .patient-active-visit-row>span{display:grid;gap:2px;min-width:0}
.mi-pc__visits .patient-active-visit-row strong{font-weight:600;color:var(--mi-text)}
.mi-pc__visits .patient-active-visit-row small{color:var(--mi-text-2);font-size:var(--mi-text-dense)}
.mi-pc__visits .patient-active-visit-row>b{flex:0 0 auto;color:var(--mi-primary);font-size:var(--mi-text-dense);font-weight:600}
.mi-pc__visits .patient-active-visits-panel .patient-active-visit-row,.mi-pc__visits .cv2-history-row.in_progress{background:var(--mi-success-tint)}
.mi-pc__visits .patient-active-visits-panel .patient-active-visit-row>b,.mi-pc__visits .cv2-history-row.in_progress>b{display:inline-flex;align-items:center;height:32px;padding:0 12px;border:1px solid var(--mi-border-strong);border-radius:var(--mi-radius-sm);background:var(--mi-surface);color:var(--mi-text)}
.mi-pc__visits>.list-card{margin:0;padding:14px 20px;border-radius:0;border-left:0;border-right:0;border-bottom:0;box-shadow:none;background:var(--mi-surface)}
.mi-pc__visits>.panel.empty{padding:20px;color:var(--mi-text-2)}

/* Aside cards */
.mi-pc__card{display:grid;gap:var(--mi-space-2);padding:18px 20px}
.mi-pc__card+.mi-pc__card{border-top:1px solid var(--mi-border)}
.mi-pc__card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--mi-space-2)}
.mi-pc h2{display:flex;align-items:center;gap:var(--mi-space-2);font-size:15px;line-height:22px;font-weight:700;color:var(--mi-text)}
.mi-pc__card-meta{color:var(--mi-text-2);font-size:var(--mi-text-dense)}
.mi-pc__card-line{color:var(--mi-text);font-size:var(--mi-text-dense)}
.mi-pc__card-line strong{font-weight:600}
.mi-pc__card-link{justify-self:start;padding-left:0}
.mi-pc__rows{display:grid}
.mi-pc__rows li{display:flex;align-items:center;justify-content:space-between;gap:var(--mi-space-3);min-height:36px;font-size:var(--mi-text-dense)}
.mi-pc__rows a{color:var(--mi-text);text-decoration:none;font-variant-numeric:tabular-nums}
.mi-pc__row-btn{display:flex;align-items:center;justify-content:space-between;gap:var(--mi-space-3);width:100%;min-height:36px;padding:0;border:0;background:transparent;color:var(--mi-text);font:inherit;font-size:var(--mi-text-dense);text-align:left;cursor:pointer}
.mi-pc__row-btn small{color:var(--mi-text-2);font-size:var(--mi-text-meta);white-space:nowrap}
.mi-pc__row-btn:focus-visible,.mi-pc__details>summary:focus-visible{outline:2px solid var(--mi-primary);outline-offset:2px}
.mi-pc__aside .vax-badge{display:inline-flex;align-items:center;height:22px;margin-left:4px;padding:0 8px;border-radius:var(--mi-radius-pill);background:var(--mi-sunken);color:var(--mi-text-2);font-size:var(--mi-text-meta);font-weight:600;vertical-align:1px}
.mi-pc__aside .vax-badge.overdue,.mi-pc__aside .vax-badge.urgent{background:var(--mi-warning-tint);color:var(--mi-warning)}
.mi-pc__aside .vax-badge.soon{background:var(--mi-pending-tint);color:var(--mi-pending)}
.mi-pc__siblings{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;color:var(--mi-text-2);font-size:var(--mi-text-dense)}

/* Details & address */
.mi-pc__details>summary{display:flex;align-items:center;gap:var(--mi-space-3);min-height:52px;padding:0 20px;list-style:none;cursor:pointer}
.mi-pc__details>summary::-webkit-details-marker{display:none}
.mi-pc__details>summary span{flex:1;color:var(--mi-text-2);font-size:var(--mi-text-dense)}
.mi-pc__details>summary::after{content:"Εμφάνιση";margin-left:auto;color:var(--mi-primary);font-size:var(--mi-text-dense);font-weight:600}
.mi-pc__details[open]>summary::after{content:"Απόκρυψη"}
.mi-pc__details-body{display:grid;gap:var(--mi-space-4);padding:4px 20px 20px;border-top:1px solid var(--mi-border)}
.mi-pc__details-body>.mi-btn{justify-self:start}
.mi-pc__info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--mi-space-4) var(--mi-space-6);padding-top:var(--mi-space-4)}
.mi-pc__info div{display:grid;gap:2px;min-width:0}
.mi-pc__info .is-wide{grid-column:span 2}
.mi-pc__info dt{color:var(--mi-text-3);font-size:var(--mi-text-meta);font-weight:600}
.mi-pc__info dd{font-weight:600;overflow-wrap:anywhere}

@media (max-width:1100px){
  .mi-pc__head{grid-template-columns:1fr}
  .mi-pc .clinic-patient-quick-actions{padding-top:0;flex-wrap:wrap}
  .mi-pc__body{grid-template-columns:minmax(0,1fr)}
  .mi-pc__aside{grid-column:1;grid-row:auto;margin-top:var(--mi-space-4)}
  .mi-pc__visits{grid-row:auto}
}
@media (max-width:1023px){
  .mi-pc__measure{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mi-pc__measure-cell+.mi-pc__measure-cell{border-left:0}
  .mi-pc__measure-cell:nth-child(2n){border-left:1px solid var(--mi-border)}
  .mi-pc__measure-cell:nth-child(n+3){border-top:1px solid var(--mi-border)}
  .mi-pc__measure-meta{grid-column:1 / -1;border-left:0}
}

/* <=820: mobile — same hierarchy (primary first), tabs scroll horizontally with fade + 44px chevron. */
@media (max-width:820px){
  .mi-pc{gap:var(--mi-space-3);font-size:var(--mi-text-body-mobile)}
  .mi-pc__head{position:relative;border-radius:var(--mi-radius-md)}
  .mi-pc__identity{align-items:flex-start;gap:var(--mi-space-4);padding:var(--mi-space-4) 64px var(--mi-space-4) var(--mi-space-4)}
  .mi-pc__avatar{flex-basis:52px;width:52px;height:52px;font-size:18px}
  .mi-pc h1.mi-pc__name{font-size:var(--mi-text-title);line-height:var(--mi-lh-title)}
  .mi-pc__meta{gap:2px 10px;font-size:var(--mi-text-dense)}
  .mi-pc__guardian{gap:2px 10px;font-size:var(--mi-text-dense)}
  .mi-pc .clinic-patient-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--mi-space-2);padding:0 var(--mi-space-4) var(--mi-space-4)}
  .mi-pc .clinic-patient-quick-actions>[data-pc-primary]{grid-column:1 / -1;order:-1;min-height:48px;font-size:15px}
  .mi-pc__more{position:absolute;top:var(--mi-space-4);right:var(--mi-space-4)}
  .mi-pc__more>.mi-menu{min-width:min(260px,calc(100vw - 48px))}
  .mi-pc__allergy{order:-1;padding:12px var(--mi-space-4)}
  .mi-pc__allergy-text{flex-basis:100%}
  .mi-pc__chronic{padding-left:0;border-left:0}
  .mi-pc__visit-band{order:-1;padding:12px var(--mi-space-4)}
  .mi-pc__head{display:flex;flex-direction:column;align-items:stretch}
  .mi-pc__details>summary span{display:none}
  .mi-pc__identity{order:-3}
  .mi-pc__allergy{order:-2}
  .mi-pc__visit-band{order:-1}
  .mi-pc__measure-cell{padding:12px 16px}
  .mi-pc__measure-value{font-size:20px;line-height:28px}
  .mi-pc__measure.is-empty{padding:12px 16px}
  .mi-pc__tabs{padding:0}
  .mi-pc__tabs .mi-tabs{padding:0 52px 0 var(--mi-space-4)}
  .mi-pc__tabs .mi-tab{min-height:48px;white-space:nowrap}
  .mi-pc__tabs .mi-tabs-scroll__fade,.mi-pc__tabs .mi-tabs-scroll__more{display:grid}
  .mi-pc__tabs .mi-tabs-scroll__more{border-radius:0 var(--mi-radius-md) 0 0}
  .mi-pc__visits .patient-active-visit-row{flex-direction:column;align-items:stretch;gap:var(--mi-space-2);padding:12px 16px}
  .mi-pc__visits .patient-active-visit-row>b{align-self:flex-start;min-height:44px;display:inline-flex;align-items:center}
  .mi-pc__visits .patient-active-visits-head{padding:12px 16px 4px}
  .mi-pc__visits .clinic-patient-kicker{font-size:var(--mi-text-meta)}
  .mi-pc__visits>.list-card{padding:12px 16px}
  .mi-pc__card{padding:14px 16px}
  .mi-pc__rows li,.mi-pc__row-btn{min-height:44px}
  .mi-pc .mi-pc__call{width:44px;min-width:44px}
  .mi-pc__rows a{display:inline-flex;align-items:center;min-height:44px}
  .mi-pc__info{grid-template-columns:1fr}
  .mi-pc__info .is-wide{grid-column:auto}
  .mi-pc__details>summary{min-height:56px;padding:0 16px}
  .mi-pc__details-body{padding:4px 16px 16px}
  .mi-pc__extra{display:grid;background:var(--mi-surface);border:1px solid var(--mi-border);border-radius:var(--mi-radius-md);margin-top:var(--mi-space-3)}
  .mi-pc__extra:empty{display:none}
  .mi-pc__extra>button{display:flex;align-items:center;gap:var(--mi-space-3);min-height:56px;padding:0 16px;border:0;background:transparent;color:var(--mi-text);font:inherit;text-align:left}
  .mi-pc__extra small{color:var(--mi-text-2);font-size:var(--mi-text-meta)}
}
