:root{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue","Segoe UI",Arial,sans-serif;color:#233149;background:#F5F6F9;font-synthesis:none;--bg:#F5F6F9;--paper:#fff;--ink:#233149;--muted:#62758E;--blue:#277CF2;--blue2:#1968D7;--pale:#E7F0FF;--line:#E0E6F0;--radius:17px;--shadow:0 3px 5px rgba(30,55,100,.018),0 12px 32px rgba(30,55,100,.035)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-size:17px;line-height:1.5}body{background:linear-gradient(120deg,#FAFBFF,#F3F6FC);color:var(--ink);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #83B5FF;outline-offset:2px}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}.loading{padding:8rem;text-align:center;color:var(--muted)}
.app-shell{display:grid;grid-template-columns:286px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:28px 15px 22px;background:linear-gradient(153deg,#EDF3FC,#E7EFFB);border-right:1px solid #DCE5F2}.brand{display:flex;align-items:center;gap:13px;margin:4px 13px 35px}.brand-mark{display:grid;place-items:center;width:51px;height:51px;border-radius:16px;color:#fff;background:linear-gradient(155deg,#5AA5FA,#1266DC);font-size:29px;font-weight:800;box-shadow:0 8px 19px rgba(21,98,215,.15)}.brand strong{display:block;font-size:24px;font-weight:800;letter-spacing:.035em;line-height:1.15}.brand small{font-size:12px;color:#667A94}.side-label{font-size:13px;font-weight:760;color:#6F819C;text-transform:uppercase;letter-spacing:.045em;padding:0 15px 12px}.nav{display:grid;gap:7px}.nav-item{display:flex;align-items:center;gap:14px;min-height:54px;padding:10px 15px;border:0;border-radius:13px;background:transparent;color:#49617B;font-size:17px;font-weight:630;text-align:left}.nav-item:hover{background:#DFE9F9}.nav-item.active{background:linear-gradient(160deg,#388BF4,#196DDE);color:#fff;box-shadow:0 5px 14px rgba(28,109,223,.14)}.nav-icon{font-size:22px;width:24px;text-align:center;font-weight:400}.side-bottom{margin-top:auto}.notice-sm{padding:17px 16px;background:rgba(255,255,255,.76);border:1px solid #D9E4F1;border-radius:16px}.notice-sm b{display:block;font-size:15px}.notice-sm span{font-size:13px;color:var(--muted)}.side-logout{margin-top:14px;width:100%;text-align:left;border:0;background:transparent;padding:10px 16px;font-weight:650;color:#7D8BA1;font-size:15px}
.main{max-width:1810px;width:100%;min-width:0;margin:0 auto;padding:36px clamp(24px,3.4vw,62px) 82px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:39px}.crumb{font-size:16px;color:#70809A}.top-actions{display:flex;align-items:center;gap:14px}.clinic-select{max-width:300px;min-width:155px}.account{display:flex;align-items:center;gap:11px;font-weight:650;font-size:15px}.avatar{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;color:#2369C4;font-weight:800;background:#E0ECFD}.banner{font-size:14px;color:#795C23;background:#FFF7E7;border:1px solid #F1DFAF;border-radius:13px;padding:12px 17px;margin-bottom:25px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}.eyebrow{font-weight:780;letter-spacing:.05em;text-transform:uppercase;color:var(--blue);font-size:14px;margin-bottom:5px}.page-heading h1{font-size:clamp(31px,3vw,42px);line-height:1.17;letter-spacing:-.045em;margin:0;font-weight:780}.page-heading p{color:var(--muted);font-size:17px;margin:10px 0 0}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 20px;min-height:50px;border-radius:13px;border:1px solid #2369D7;background:linear-gradient(180deg,#3995FF,#176DDC);color:#fff;box-shadow:0 3px 10px rgba(35,117,233,.13),inset 0 1px rgba(255,255,255,.4);font-size:16px;font-weight:700;white-space:nowrap}.btn:hover{filter:brightness(1.045)}.btn.secondary{background:linear-gradient(#fff,#F7F9FD);border:1px solid #CAD6E6;color:var(--ink);box-shadow:0 2px 5px rgba(40,67,103,.045)}.btn.ghost{border:0;background:#E8F0FF;color:#1B68D0;box-shadow:none}.btn.small{font-size:14px;min-height:38px;padding:7px 13px;border-radius:10px}.btn.danger{color:#C34E5B;background:#FFF1F2;border:1px solid #F6DDE1;box-shadow:none}.btn.full{width:100%}.field{width:100%;height:51px;border:1px solid #CCD7E7;background:#fff;color:var(--ink);border-radius:12px;padding:0 16px;outline:0;font-size:17px}.field:focus{border-color:#6EA7EE;box-shadow:0 0 0 3px rgba(69,142,240,.16)}.field.textarea{height:102px;resize:vertical;padding-top:12px}.form-field{display:grid;gap:8px}.form-field label{font-weight:675;font-size:15px;color:#50637E}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-grid .wide{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:11px;margin-top:18px}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0 0 25px}.stat,.card{background:var(--paper);border:1px solid #E3E9F2;border-radius:var(--radius);box-shadow:var(--shadow)}.stat{padding:22px;min-height:165px}.stat-label{color:#647791;font-size:15px;font-weight:660}.stat-num{font-size:34px;line-height:1.25;font-weight:770;margin:17px 0 5px;letter-spacing:-.04em}.stat-hint{font-size:14px;color:#8C9AAF}.grid-main{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(310px,.9fr);gap:20px}.card{overflow:hidden;min-width:0}.cardhead{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:22px 24px;border-bottom:1px solid #EEF1F6}.cardhead h2{font-size:21px;margin:0;letter-spacing:-.015em}.cardhead .muted{font-size:15px;margin:3px 0 0}.cardbody{padding:22px 24px}.muted{color:var(--muted)}.empty{padding:44px 18px;text-align:center;color:#8090A6}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;text-align:left}.table th{font-weight:740;font-size:14px;letter-spacing:.012em;color:#657992;background:#F5F8FC;padding:16px 19px;white-space:nowrap}.table td{font-size:16px;border-top:1px solid #E9EEF5;padding:17px 19px;vertical-align:middle}.table tbody tr:hover{background:#F8FBFF}.table button.link{background:none;border:0;color:var(--blue);font-weight:700;padding:4px;text-align:left}.table td strong{font-size:16px}.pill{display:inline-flex;border-radius:9px;padding:6px 10px;background:#E8F2FF;color:#2E77CE;font-size:13px;font-weight:690;white-space:nowrap}.pill.green{background:#E8F9F0;color:#218B64}.pill.orange{background:#FFF3E5;color:#AC7729}.list{display:grid}.list-item{padding:16px 0;border-top:1px solid #EAEFF5;display:flex;gap:15px;align-items:center}.list-item:first-child{border:0}.list-item b{font-size:16px}.list-item p{margin:3px 0 0;color:var(--muted);font-size:14px}.two-col{display:grid;grid-template-columns:minmax(270px,.87fr) minmax(0,1.4fr);gap:20px}.patient-list{display:grid;padding:8px;max-height:700px;overflow-y:auto}.patient-button{border:0;background:transparent;text-align:left;display:flex;align-items:center;gap:13px;padding:14px;border-radius:13px;color:var(--ink)}.patient-button:hover,.patient-button.selected{background:#EDF4FF}.patient-button strong{font-size:16px}.patient-button small{color:var(--muted);font-size:14px;display:block}.initials{flex:none;width:45px;height:45px;border-radius:13px;background:#E7F0FF;color:#246DC5;font-size:15px;font-weight:800;display:grid;place-items:center}.patient-header{display:flex;align-items:center;gap:14px;padding-bottom:17px;border-bottom:1px solid var(--line)}.patient-header h2{font-size:24px;margin:0}.patient-header p{margin:4px 0 0;color:var(--muted);font-size:15px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0}.detail-grid small{font-size:14px;color:var(--muted);display:block}.detail-grid b{font-size:16px;display:block;margin-top:4px}.sectionline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 12px}.sectionline h3{margin:0;font-size:19px}.tooth-chart{padding:14px 10px;border:1px solid #E3EBF5;border-radius:15px;background:#F6F9FD}.jaw{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));gap:3px}.jaw+.jaw{margin-top:12px}.tooth{border:1px solid #D4E0ED;background:#fff;border-radius:8px;min-width:0;min-height:51px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1px;padding:2px 0;color:#4674A4;transition:.15s}.tooth:hover,.tooth:focus-visible{border-color:#1D77E9;box-shadow:0 0 0 2px #D2E5FF}.tooth .glyph{font-size:20px;line-height:1.2}.tooth small{font-size:10px;color:#637893}.tooth.treated{background:#DDF7ED;color:#258A64}.tooth.planned{background:#FFF0D5;color:#BC8525}.tooth.missing{background:#F7E6E8;color:#A54A5A}.legend{display:flex;flex-wrap:wrap;gap:13px;font-size:13px;color:var(--muted);margin:12px 0 0}.legend i{display:inline-block;width:11px;height:11px;background:#DDEEF9;border-radius:3px;margin-right:5px}.treat-item{padding:14px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px}.treat-item strong{font-size:15px}.treat-item small{font-size:14px;color:var(--muted);display:block}.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 21px}.toolbar .field{max-width:350px}
.backdrop{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:22px;background:rgba(26,38,62,.35);backdrop-filter:blur(6px)}.dialog{background:white;border-radius:20px;box-shadow:0 25px 90px rgba(25,45,78,.2);width:min(600px,100%);max-height:min(90vh,850px);overflow:auto;padding:26px}.dialog h2{font-size:26px;line-height:1.2;margin:0 0 20px}.dialog .help{font-size:14px;color:var(--muted);margin:5px 0 16px}.toast{position:fixed;right:20px;bottom:22px;padding:13px 20px;border-radius:12px;z-index:20;background:#233149;color:white;box-shadow:0 10px 24px #2331493A;max-width:410px;font-size:15px}.toast.error{background:#A93E4F}.auth-page{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(circle at 16% 12%,#D9E8FF,transparent 37%),linear-gradient(140deg,#F8FBFF,#EDF3FC)}.auth-card{width:min(525px,100%);background:white;border:1px solid #DEE7F5;border-radius:24px;padding:37px 40px;box-shadow:0 17px 60px rgba(49,80,127,.09)}.auth-card .brand{margin:0 0 29px}.auth-card h1{font-size:30px;margin:0 0 8px;letter-spacing:-.035em}.auth-card p{font-size:16px;color:var(--muted);margin:0 0 26px}.auth-form{display:grid;gap:17px}.switch-auth{border:0;background:transparent;color:var(--blue);font-weight:650;padding:12px 0;font-size:15px}.alert{color:#B94757;background:#FFF1F3;border:1px solid #F5D6DE;padding:11px 14px;border-radius:11px;font-size:15px}.security-notice{margin-top:18px;padding:13px 15px;font-size:13px;color:#785D2F;background:#FFF9EA;border-radius:12px}
@media(max-width:1170px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-main,.two-col{grid-template-columns:1fr}.app-shell{grid-template-columns:245px minmax(0,1fr)}.sidebar{padding:22px 11px}.main{padding:30px 25px 70px}}
@media(max-width:720px){html,body{font-size:16px}.app-shell{display:block;padding-bottom:78px}.sidebar{position:fixed;z-index:5;bottom:0;top:auto;height:auto;width:100%;padding:8px 9px max(8px,env(safe-area-inset-bottom));border-top:1px solid #DBE4F0;border-right:0;background:rgba(240,246,254,.96);backdrop-filter:blur(18px)}.sidebar .brand,.sidebar .side-label,.side-bottom{display:none}.nav{display:flex;gap:4px;overflow-x:auto}.nav-item{flex:1;min-width:58px;justify-content:center;flex-direction:column;gap:1px;height:59px;min-height:59px;padding:5px 3px;font-size:10px;border-radius:11px}.nav-icon{font-size:19px}.main{padding:18px 14px 44px}.topbar{margin-bottom:24px;flex-wrap:wrap}.crumb{font-size:13px}.top-actions{flex:1;justify-content:end}.clinic-select{min-width:125px;max-width:176px;font-size:13px;height:43px}.account{display:none}.page-heading{align-items:flex-start;flex-wrap:wrap;gap:15px;margin-bottom:21px}.page-heading h1{font-size:31px}.page-heading p{font-size:15px}.stats{gap:10px}.stat{padding:15px;min-height:135px}.stat-label{font-size:13px}.stat-num{font-size:26px;margin-top:14px}.stat-hint{font-size:12px}.grid-main{gap:12px}.cardhead,.cardbody{padding:17px}.cardhead h2{font-size:19px}.table td{font-size:14px}.table th{font-size:12px}.table th,.table td{padding:12px}.field{height:48px;font-size:16px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.dialog{padding:22px 17px}.auth-card{padding:26px 22px}.patient-header h2{font-size:21px}.tooth{min-height:42px}.tooth .glyph{font-size:14px}.tooth small{font-size:8px}.jaw{gap:1px}.notice-sm{display:none}.banner{font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}

/* v0.2: readable macOS-inspired patient chronology and finance summary. */
.patient-header{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.edit-patient{margin-left:auto}
.treat-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.patient-finance{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}
.patient-finance>div{background:#F1F6FF;border:1px solid #E3EBFA;border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:7px}
.patient-finance small{font-size:15px;color:#627087}.patient-finance strong{font-size:23px;color:#253044;font-weight:700}
.patient-history{display:flex;flex-direction:column;gap:0}
.history-item{display:flex;align-items:center;gap:14px;border-bottom:1px solid #E7ECF4;padding:15px 3px;min-height:74px}
.history-item:last-child{border-bottom:0}.history-symbol{flex:0 0 42px;height:42px;display:grid;place-items:center;background:#EAF2FF;border-radius:13px;color:#277CF2;font-size:21px}
.history-item>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.history-item strong{font-size:16px;line-height:1.35}.history-item small{font-size:14px;color:#6B788E;line-height:1.3}.history-item>b{font-size:16px;white-space:nowrap}
@media(max-width:700px){.history-item{gap:10px}.history-item>b{font-size:14px}.patient-finance strong{font-size:19px}}

.patient-clinical-note{padding:16px 18px;margin:14px 0 4px;background:#F4F7FC;border:1px solid #E2EAF5;border-radius:14px;overflow-wrap:anywhere}
.patient-clinical-note small{font-size:14px;color:#77839A}.patient-clinical-note p{font-size:16px;margin:8px 0 0;color:#253044;white-space:pre-wrap}

/* v0.3 — Grok functional parity, readable macOS-inspired website (not Finder chrome). */
.inline-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.clinical-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:15px 0 20px}
.clinical-summary>div{background:#F5F8FE;border:1px solid #E5ECF6;border-radius:13px;padding:15px;overflow-wrap:anywhere}
.clinical-summary small{display:block;font-size:14px;color:#657991;margin-bottom:7px}
.clinical-summary strong{display:block;font-weight:650;font-size:16px;white-space:pre-wrap}
.block-muted{display:block;font-size:14px;color:#7E8BA0;margin-top:5px;line-height:1.35}
.pad-small{padding:10px 20px 18px}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:15px}.check-grid label,.checkline{display:flex;align-items:center;gap:8px;font-size:15px;line-height:1.4}.checkline{margin:12px 0 6px}.checkline input,.check-grid input{width:18px;height:18px;accent-color:var(--blue)}
.field.textarea-sm{height:74px;padding-top:13px;line-height:1.4;resize:vertical}
.tooth-chart{overflow-x:auto}.jaw.jaw-child{grid-template-columns:repeat(10,minmax(0,1fr))}
.tooth{min-height:59px}.tooth small{font-size:12px}.tooth.caries,.tooth.extraction{background:#FFECED;color:#B4485C}.tooth.filling,.tooth.crown,.tooth.veneer,.tooth.endo{background:#E5F2FF;color:#2868B3}.tooth.implant,.tooth.prosthesis,.tooth.bridge{background:#E6F7ED;color:#248261}.tooth.impacted{background:#EEEAFB;color:#8169B8}
.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:690px;gap:1px;background:#E3EAF4;padding:1px;overflow:hidden}.week-day{background:#fff;min-width:0}.week-day-head{display:flex;justify-content:space-between;align-items:center;gap:8px;background:#F4F7FC;padding:16px 12px;color:#516987;font-size:15px}.week-day-head span{font-size:17px;color:#1E3354;font-weight:700}.week-slots{min-height:170px;padding:9px;display:flex;flex-direction:column;gap:8px}.slot-event{background:#E7F0FF;border-left:3px solid #277CF2;border-radius:8px;padding:11px 9px;display:flex;gap:5px;flex-direction:column;font-size:14px;overflow-wrap:anywhere}.slot-event b{font-size:15px;color:#1B63B8}.slot-event small{font-size:12px;color:#5C718D}.slot-empty{padding-top:10px;text-align:center;color:#A1AEBF;font-size:13px}.week-grid{overflow-x:auto}
@media(max-width:950px){.week-grid{min-width:720px}.week-day{min-width:100px}.card:has(.week-grid){overflow-x:auto}}
@media(max-width:720px){.clinical-summary{grid-template-columns:1fr}.tooth-chart .jaw:not(.jaw-child){min-width:670px;grid-template-columns:repeat(16,40px)}.tooth{min-height:58px}.tooth .glyph{font-size:19px}.tooth small{font-size:12px}.check-grid{grid-template-columns:1fr}.week-grid{min-width:760px}}

/* v0.4: non-destructive subscription limitations, macOS 27-inspired website. */
.subscription-notice{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 20px;border:1px solid #DCE6F2;border-radius:16px;background:#EEF5FF;margin:0 0 22px;color:#29476C;font-size:16px;line-height:1.5;flex-wrap:wrap}
.subscription-notice.limited{background:#FFF8E9;border-color:#F1DBAA;color:#79541B}
.subscription-notice span{font-size:14px;color:#6B7990}
button:disabled{opacity:.48;cursor:not-allowed;filter:grayscale(.35)}
@media(max-width:720px){.subscription-notice{font-size:15px;padding:14px 16px}}


/* emalio · animated original SVG replaces sidebar icon + wordmark */
.sidebar .brand.brand-animated{
  display:block;align-self:stretch;width:auto;margin:0 0 15px;padding:0 6px;
  flex-shrink:0;
}
.brand-animation{
  display:block;width:100%;height:clamp(126px,20vh,191px);
  object-fit:contain;user-select:none;pointer-events:none;
}
.auth-card .brand.brand-animated{max-width:255px;margin:0 auto 23px;padding:0}
.auth-card .brand-animation{height:195px}
@media (min-width:721px) and (max-height:740px){
  .sidebar .brand-animation{height:125px}
  .sidebar .brand.brand-animated{margin-bottom:7px}
  .sidebar{overflow-y:auto}
}
@media (max-width:720px){.auth-card .brand-animation{height:175px}}

/* emalio / native iOS-inspired outline navigation (v0.5.0) */
.sidebar .nav-icon{width:26px;min-width:26px;height:26px;display:grid;place-items:center;flex:0 0 26px;line-height:0;color:inherit}
.sidebar .nav-icon .emalio-system-icon{display:block;width:22px;height:22px;stroke-width:1.8;vector-effect:non-scaling-stroke;overflow:visible}
.sidebar .nav-item{--icon-knob-fill:#EDF3FC;gap:12px;transition:background-color .16s ease,color .16s ease,box-shadow .16s ease}
.sidebar .nav-item:hover{--icon-knob-fill:#DFE9F9}
.sidebar .nav-item.active{--icon-knob-fill:#287AE8}
.sidebar .nav-item:focus-visible{outline:3px solid #79ADFF;outline-offset:2px}
@media(max-width:720px){.sidebar .nav-icon{width:25px;min-width:25px;height:25px}.sidebar .nav-icon .emalio-system-icon{width:21px;height:21px}}

/* emalio v0.5.1 — only main titles, no caption or eyebrow in any clinic tab */
.page-heading{align-items:center;margin-bottom:28px}
.sidebar .brand.brand-animated{margin-bottom:10px}

/* emalio v0.6: clear entry point to structured clinical chart */
.dental-launch{border:1px solid #e1eafa;border-radius:15px;background:linear-gradient(105deg,#f4f8ff,#ffffff);display:flex;gap:17px;align-items:center;padding:21px;margin:12px 0 22px}
.dental-launch-icon{display:grid;place-items:center;flex-shrink:0;width:54px;height:54px;background:#e2eeff;color:#287cf2;border-radius:17px;font-size:30px}
.dental-launch strong{font-size:17px;color:#26374f}
.dental-launch p{color:#8292a8;font-size:14px;line-height:1.55;margin:7px 0 13px}
@media(max-width:720px){.dental-launch{align-items:flex-start;padding:15px;gap:10px}.dental-launch-icon{width:42px;height:42px;font-size:25px}.dental-launch strong{font-size:15px}}

/* emalio 0.6.1 — odontogram stays INSIDE the original patient card. */
.patient-chart-panel{min-width:0;width:100%;margin:10px 0 22px;border:1px solid #DCE6F3;border-radius:17px;background:#F7FAFE;overflow:hidden}
.patient-chart-tools{min-height:50px;padding:9px 12px 9px 17px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;border-bottom:1px solid #E5EBF3;color:#72819B;font-size:14px}
.patient-odontogram-frame{display:block;width:100%;height:1150px;border:0;background:transparent;overflow:hidden}
.card:has(.patient-chart-panel.is-expanded){transform:none!important;filter:none!important}
.patient-chart-panel.is-expanded{position:fixed!important;inset:18px!important;z-index:900;overflow:auto;box-shadow:0 25px 90px #0A213B55;background:#F7FAFE;margin:0;width:auto}
.patient-chart-panel.is-expanded .patient-odontogram-frame{height:calc(100vh - 95px)!important;min-height:380px;overflow:auto}
body.emalio-chart-expanded{overflow:hidden}
@media(max-width:720px){.patient-chart-panel.is-expanded{inset:5px 5px 78px!important;border-radius:13px}.patient-chart-panel.is-expanded .patient-odontogram-frame{height:calc(100vh - 164px)!important}.patient-chart-tools{font-size:12px;align-items:flex-start}}

/* v0.6.2: top navigation without page breadcrumbs */
.main > .topbar { justify-content: flex-end; }

/* Desktop navigation stays attached to the viewport independently of page content. */
@media(min-width:721px){html{scrollbar-gutter:stable}.app-shell{--emalio-sidebar-width:286px;grid-template-columns:var(--emalio-sidebar-width) minmax(0,1fr)}.app-shell>.sidebar{position:fixed;inset:0 auto 0 0;width:var(--emalio-sidebar-width);height:100vh;height:100dvh;z-index:4;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;box-sizing:border-box;transform:none}.app-shell>.main{grid-column:2;min-width:0}.sidebar .nav,.sidebar .brand,.sidebar .side-bottom{flex-shrink:0}}
@media(min-width:721px) and (max-width:1170px){.app-shell{--emalio-sidebar-width:245px}}

@media(min-width:721px){body:has(#app>.app-shell)>.emalio-legal-footer{margin-left:286px;width:calc(100% - 286px)}}@media(min-width:721px) and (max-width:1170px){body:has(#app>.app-shell)>.emalio-legal-footer{margin-left:245px;width:calc(100% - 245px)}}

.fast-page-loading{padding:30px 24px;border:1px solid #e0e8f3;border-radius:16px;background:#fff;color:#768aa5;font-size:14px;min-height:140px}

.page-pane[hidden]{display:none!important}.page-pane{min-width:0}.page-pane,.page-pane>.page-heading,.page-pane>.card,.page-pane>.stats,.page-pane>.grid-main{animation:none!important}
