:root{--bg:#f5f3ed;--surface:#fffcf7;--surface-soft:#faf6ee;--line:#d8d0c3;--line-strong:#c7bca9;--text:#2e342f;--muted:#676f66;--brand:#5f7d6a;--brand-strong:#466053;--brand-soft:#e7efe8;--accent:#b8955e;--bg-glow-a:167,188,171;--bg-glow-b:196,170,132;--login-brand-start:#3d4d3f;--login-brand-mid:#536956;--login-brand-end:#786749;--login-brand-title:#f5f4ed;--login-brand-sub:#e4decf;--success:#167a44;--danger:#b42334;--shadow-sm:0 10px 24px rgba(12,46,64,.08);--shadow:0 16px 38px rgba(10,40,58,.12);--radius-md:14px;--radius-lg:20px}*{box-sizing:border-box}body,html{margin:0;padding:0;color:var(--text);font-family:Manrope,Avenir Next,Nunito Sans,Trebuchet MS,sans-serif;font-size:15px;line-height:1.45;background:radial-gradient(circle at 9% 7%,rgba(var(--bg-glow-a),.3) 0,transparent 36%),radial-gradient(circle at 92% 6%,rgba(var(--bg-glow-b),.18) 0,transparent 32%),linear-gradient(170deg,hsla(42,45%,96%,.95) 0,hsla(38,42%,93%,.92) 100%),var(--bg);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.doctorHeroTitle,.pageTitle,.panelTitle{font-family:Manrope,Avenir Next Demi Bold,Avenir Next,Trebuchet MS,sans-serif;letter-spacing:.01em}::selection{background:#e8e0d0;color:#3d4439}.button:focus,.input:focus,.mobileNavItem:focus,.navItem:focus,.select:focus,.tab:focus,.textarea:focus{outline:2px solid #9db38f;outline-offset:1px}.layout{min-height:100vh;display:grid;grid-template-columns:296px minmax(0,1fr)}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;background:radial-gradient(circle at 0 0,rgba(var(--bg-glow-a),.22),transparent 38%),linear-gradient(180deg,var(--surface-soft) 0,var(--bg) 100%);color:var(--muted);border-right:1px solid var(--line);padding:24px 17px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.brand{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--line)}.brandLogo{width:46px;height:46px;border-radius:14px;box-shadow:0 10px 20px rgba(82,102,83,.16)}.brandName{margin:0;font-weight:820;letter-spacing:.008em;font-size:1.03rem;color:var(--text)}.brandSub{margin:2px 0 0;font-size:.73rem;color:var(--muted)}.navTitle{margin:0 10px 10px;font-family:Avenir Next Demi Bold,Avenir Next,Nunito Sans,sans-serif;font-size:.68rem;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}.nav{display:grid;grid-gap:6px;gap:6px;padding:8px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,var(--surface) 0,var(--surface-soft) 100%);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.82),0 8px 20px rgba(86,77,63,.08)}.navItem{border-radius:12px;padding:10px 11px;font-family:Manrope,Avenir Next Demi Bold,Avenir Next,Nunito Sans,sans-serif;font-size:.9rem;letter-spacing:.012em;font-weight:650;color:var(--muted);display:flex;align-items:center;gap:10px;transition:background-color .2s ease,transform .2s ease,border-color .2s ease,box-shadow .2s ease;border:1px solid transparent;position:relative;min-height:44px}.navItem:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:4px;border-radius:999px;background:transparent;transition:background .2s ease}.navItem:hover{background:var(--surface-soft);transform:translateX(2px);box-shadow:0 6px 14px rgba(103,90,73,.1)}.navItem.active,.navItem:hover{border-color:var(--line-strong)}.navItem.active{background:var(--brand-soft);color:var(--brand-strong);box-shadow:0 8px 16px rgba(96,86,67,.16)}.navItem.active:before{background:linear-gradient(180deg,var(--brand) 0,var(--accent) 100%)}.navItem.disabled{opacity:.5;cursor:not-allowed;border-style:dashed;box-shadow:none;transform:none}.navItem.disabled:before{background:transparent}.navItem.disabled:hover{background:linear-gradient(180deg,var(--surface) 0,var(--surface-soft) 100%);border-color:var(--line);transform:none;box-shadow:none}.navItem.disabled .navGlyph{background:linear-gradient(180deg,var(--surface-soft) 0,var(--surface) 100%)}.navLabel{line-height:1.24;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.navGlyph{width:28px;height:28px;border-radius:9px;border:1px solid var(--line);background:linear-gradient(180deg,var(--surface) 0,var(--surface-soft) 100%);display:inline-grid;place-items:center;color:var(--muted);flex:0 0 auto;transition:border-color .2s ease,color .2s ease,background .2s ease}.navGlyphSvg{width:16px;height:16px}.navItem:hover .navGlyph{border-color:var(--line-strong);color:var(--text)}.navItem.active .navGlyph{border-color:var(--line-strong);background:linear-gradient(180deg,var(--surface) 0,var(--brand-soft) 100%);color:var(--brand-strong)}.main{padding:22px;min-width:0}.topbar{background:radial-gradient(circle at 10% 8%,rgba(var(--bg-glow-a),.14),transparent 32%),linear-gradient(140deg,var(--surface) 0,var(--surface-soft) 68%,rgba(var(--bg-glow-b),.2) 100%);border:1px solid var(--line);border-radius:22px;padding:16px 20px;box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;gap:14px;align-items:center}.topbarMeta{display:grid;grid-gap:4px;gap:4px}.topbarMetaLine{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.clinicChip{border-radius:999px;border:1px solid var(--line-strong);background:hsla(0,0%,100%,.88);color:var(--muted);font-size:.75rem;font-weight:800;letter-spacing:.045em;text-transform:uppercase;padding:5px 9px}.topbarMetaText{font-size:.84rem}.clinicName{margin:0 0 4px;font-size:1.1rem;font-weight:820;color:var(--text)}.topbarActions{gap:10px}.topbarActions,.userBox{display:flex;align-items:center}.userBox{gap:9px;flex-wrap:wrap}.notifChip{display:inline-flex;align-items:center;gap:8px;border-radius:999px;border:1px solid var(--line-strong);background:linear-gradient(160deg,var(--surface) 0,var(--brand-soft) 100%);color:var(--brand-strong);font-size:.78rem;font-weight:800;padding:6px 11px}.avatarCircle{width:34px;height:34px;border-radius:50%;display:inline-grid;place-items:center;background:linear-gradient(140deg,var(--brand) 0,var(--accent) 100%);color:#fff;font-size:.75rem;font-weight:800;box-shadow:0 8px 16px rgba(91,81,62,.2)}.notifCount{min-width:22px;height:22px;border-radius:999px;display:inline-grid;place-items:center;font-size:.72rem;color:#fff;background:#dc2626;padding:0 6px}.topbarUserName{color:var(--text)}.topbarLogoutButton{min-width:96px}.mobileNav{margin:14px 0 16px;display:none;gap:8px;overflow-x:auto;white-space:nowrap;padding-bottom:2px}.mobileNavItem{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:.84rem;font-weight:700;color:var(--muted)}.mobileNavItem.active{border-color:var(--line-strong);background:var(--brand-soft);color:var(--brand-strong)}.mobileNavItem.disabled{opacity:.5;cursor:not-allowed;border-style:dashed}.mobileNavItem .navGlyph{width:22px;height:22px;border-radius:999px;border-color:transparent;background:hsla(0,0%,100%,.72)}.mobileNavItem .navGlyphSvg{width:13px;height:13px}.mobileNavItem.active .navGlyph{border-color:var(--line-strong);background:hsla(0,0%,100%,.95)}.mobileNavLabel{line-height:1.2}.pageHeader{margin:24px 0 16px;display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}.pageTitle{margin:0;font-size:1.92rem;font-weight:830;letter-spacing:.012em;color:var(--text)}.pageSubtitle{margin:6px 0 0;color:var(--muted);max-width:800px}.dashboardPage{display:grid;grid-gap:14px;gap:14px}.dashboardPageHeader{margin-bottom:0}.dashboardSplit{margin-top:0}.encountersPage{display:grid;grid-gap:14px;gap:14px}.reportsKicker{margin:0 0 7px;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--brand-strong)}.reportsViewSwitch{border:1px solid var(--line);border-radius:999px;padding:4px;background:linear-gradient(180deg,var(--surface) 0,var(--surface-soft) 100%);display:inline-flex;gap:4px}.reportsViewButton{border:0;border-radius:999px;min-height:38px;padding:0 14px;background:transparent;color:var(--muted);cursor:pointer;font-size:.82rem;font-weight:780;letter-spacing:.02em;transition:background .2s ease,color .2s ease,box-shadow .2s ease}.reportsViewButton.active{background:linear-gradient(135deg,var(--brand) 0,var(--brand-strong) 100%);color:#fff;box-shadow:0 8px 16px rgba(58,74,55,.26)}.reportsSectionWrap{margin-top:12px;display:grid;grid-gap:8px;gap:8px}.reportsSectionNav{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.reportsSectionTab{border:1px solid var(--line);background:linear-gradient(180deg,var(--surface) 0,var(--surface-soft) 100%);color:var(--muted);min-height:38px;border-radius:999px;padding:0 13px;font-size:.8rem;font-weight:760;letter-spacing:.02em;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease,background .18s ease}.reportsSectionTab:hover{transform:translateY(-1px);border-color:var(--line-strong);color:var(--text);box-shadow:0 8px 16px rgba(63,57,41,.13)}.reportsSectionTab.active{border-color:var(--line-strong);background:linear-gradient(135deg,var(--brand) 0,var(--brand-strong) 76%,var(--accent) 100%);color:#fff;box-shadow:0 10px 20px rgba(63,57,41,.2)}.reportsSectionDesc{margin:0;color:var(--muted);font-size:.83rem}.reportsMetricGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.reportsMetricCard{min-height:126px}.reportsMetricNote{margin:7px 0 0;font-size:.79rem;color:var(--muted)}.reportsPanel{display:grid;grid-gap:10px;gap:10px}.reportsPanelLead{margin:-2px 0 2px;color:var(--muted);font-size:.86rem}.reportsPatientGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.reportsPatientMetric{border:1px solid var(--line);border-radius:14px;padding:11px;background:linear-gradient(180deg,var(--surface) 0,var(--surface-soft) 100%);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.85);display:grid;grid-gap:4px;gap:4px}.reportsPatientMetricLabel{margin:0;font-size:.72rem;font-weight:780;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.reportsPatientMetric strong{color:var(--text);font-size:1.1rem;line-height:1.25}.reportsPatientMetric span{font-size:.78rem;color:var(--muted);line-height:1.46}.reportProgressRow{display:grid;grid-template-columns:112px minmax(0,1fr) 188px;align-items:center;grid-gap:10px;gap:10px}.reportProgressMeta{display:grid;grid-gap:2px;gap:2px}.reportProgressMeta strong{font-size:.82rem;color:var(--text)}.reportProgressMeta span{font-size:.75rem;color:var(--muted)}.reportProgressTrack{height:12px;border-radius:999px;border:1px solid var(--line);background:linear-gradient(180deg,var(--surface-soft) 0,var(--surface) 100%);overflow:hidden}.reportProgressFill{height:100%;display:block;border-radius:999px;background:linear-gradient(90deg,var(--brand) 0,var(--accent) 100%);min-width:0}.reportProgressFill.warm{background:linear-gradient(90deg,var(--accent) 0,var(--brand-strong) 100%)}.reportProgressValue{text-align:right;display:grid;grid-gap:2px;gap:2px;justify-items:end}.reportProgressValue strong{font-size:.83rem}.reportProgressValue span{font-size:.75rem;color:var(--muted)}.reportStatusRow{display:grid;grid-template-columns:140px minmax(0,1fr) 42px;grid-gap:10px;gap:10px;align-items:center}.reportStatusTrack{height:10px;border-radius:999px;background:linear-gradient(180deg,var(--surface-soft) 0,var(--surface) 100%);border:1px solid var(--line);overflow:hidden}.reportStatusFill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--brand) 0,var(--brand-strong) 100%)}.reportsBulletList{margin:0;padding-left:18px;display:grid;grid-gap:8px;gap:8px}.reportsBulletList li{color:var(--text);line-height:1.52}.reportsFootnote{margin:4px 0 0;font-size:.76rem;color:var(--muted)}.card,.metric{background:radial-gradient(circle at 98% 4%,rgba(var(--bg-glow-b),.14),transparent 30%),linear-gradient(160deg,var(--surface) 0,var(--surface-soft) 100%);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-sm)}.card,.kpiCard,.metric,.pageHeader{animation:softRise .35s ease both}.doctorHero{background:radial-gradient(circle at 8% 20%,rgba(var(--bg-glow-a),.22) 0,transparent 36%),radial-gradient(circle at 90% 10%,rgba(var(--bg-glow-b),.16) 0,transparent 32%),linear-gradient(160deg,var(--surface) 0,var(--surface-soft) 100%);box-shadow:var(--shadow)}.doctorHeroTop{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.doctorHeroKicker{margin:0 0 6px;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--brand-strong);font-weight:800}.doctorHeroTitle{margin:0;font-size:1.45rem;line-height:1.24}.doctorHeroText{margin:8px 0 0;color:var(--muted)}.doctorStatsGrid{margin-top:14px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.doctorStatCard{border:1px solid var(--line);border-radius:14px;padding:11px;background:linear-gradient(180deg,var(--surface) 0,var(--surface-soft) 100%)}.userMgmtHeader{align-items:flex-end}.userMgmtKicker{margin:0 0 7px;font-size:.74rem;text-transform:uppercase;letter-spacing:.11em;color:var(--brand-strong);font-weight:800}.userMgmtPageTitle{color:var(--text)}.userMgmtPageSubtitle{max-width:760px}.userMgmtHeaderPills{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.userMgmtPill{border-radius:999px;border:1px solid var(--line);background:linear-gradient(180deg,var(--surface) 0,var(--surface-soft) 100%);color:var(--text);font-size:.72rem;font-weight:800;letter-spacing:.045em;text-transform:uppercase;padding:6px 11px}.userMgmtPillWarm{border-color:var(--line-strong);background:linear-gradient(180deg,var(--surface-soft) 0,rgba(var(--bg-glow-b),.2) 100%);color:#6f5832}.userMgmtPillSoft{border-color:var(--line-strong);background:linear-gradient(180deg,var(--brand-soft) 0,var(--surface-soft) 100%);color:var(--brand-strong)}.userMgmtHero{display:grid;grid-template-columns:1.35fr 1fr;grid-gap:16px;gap:16px;padding:22px;border-color:var(--line);box-shadow:0 18px 38px rgba(10,44,64,.11);position:relative;overflow:hidden;background:radial-gradient(circle at 6% 10%,rgba(var(--bg-glow-a),.2) 0,transparent 38%),radial-gradient(circle at 95% 8%,rgba(var(--bg-glow-b),.14) 0,transparent 30%),linear-gradient(145deg,var(--surface) 0,var(--surface-soft) 56%,rgba(var(--bg-glow-b),.18) 100%)}.userMgmtHero:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,hsla(0,0%,100%,0),rgba(238,246,249,.5) 65%,hsla(39,52%,89%,.38));pointer-events:none}.userMgmtHeroMain{display:grid;grid-gap:13px;gap:13px;position:relative;z-index:1}.userMgmtHeroTitle{max-width:580px}.userMgmtWorkflow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:9px;gap:9px}.userMgmtFlowCard{border-radius:14px;border:1px solid var(--line);background:linear-gradient(180deg,var(--surface) 0,var(--surface-soft) 100%);padding:10px;min-height:122px}.userMgmtFlowStep{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:24px;border-radius:999px;border:1px solid var(--line-strong);background:var(--brand-soft);color:var(--brand-strong);font-size:.7rem;font-weight:800;letter-spacing:.03em}.userMgmtFlowTitle{margin:9px 0 4px;font-size:.9rem;color:var(--text)}.userMgmtFlowText{margin:0;font-size:.79rem;line-height:1.5;color:var(--muted)}.userMgmtStatRail{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:9px;gap:9px;align-content:start;position:relative;z-index:1}.userMgmtStatCard{border:1px solid var(--line);border-radius:13px;padding:11px 10px;background:linear-gradient(180deg,var(--surface) 0,var(--surface-soft) 100%);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.9)}.userMgmtStatNote{margin:4px 0 0;font-size:.72rem;color:var(--muted)}.userMgmtFormCard,.userMgmtListCard{display:grid;grid-gap:12px;gap:12px;border-color:var(--line);background:linear-gradient(180deg,var(--surface) 0,var(--surface-soft) 100%)}.userMgmtLead{margin:0}.userMgmtSecurityNote{border:1px solid var(--line-strong);border-radius:12px;padding:10px 12px;background:linear-gradient(180deg,var(--brand-soft) 0,var(--surface-soft) 100%);color:var(--brand-strong);font-size:.82rem;line-height:1.5}.userMgmtRoleInfo{margin-top:-2px;border-color:var(--line-strong);background:var(--brand-soft);color:var(--brand-strong)}.userMgmtFieldBlock{padding:12px;border-radius:14px;border:1px solid var(--line);background:linear-gradient(180deg,var(--surface) 0,var(--surface-soft) 100%)}.userMgmtFormCard .input,.userMgmtFormCard .select,.userMgmtListCard .input,.userMgmtListCard .select{border-color:var(--line);background:var(--surface)}.userMgmtActionRow{flex-wrap:wrap;margin-top:2px}.userMgmtActionRow .button{min-width:156px}.userMgmtToolbar{margin-bottom:0;border:1px solid var(--line);border-radius:14px;padding:12px;background:linear-gradient(180deg,var(--surface) 0,var(--surface-soft) 100%);gap:8px}.userMgmtFilterCell{min-width:150px;flex:1 1 180px;display:grid;grid-gap:6px;gap:6px}.userMgmtFilterSearch{flex:1.7 1 280px}.userMgmtFilterLabel{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.userMgmtFilterMeta{margin:0;padding:3px 3px 0;font-size:.8rem;color:var(--muted)}.userMgmtFilterMeta strong{color:var(--text)}.userMgmtEmptyState,.userMgmtLoadingState{margin:0}.userMgmtEmptyState{border-color:var(--line);background:var(--surface-soft);color:var(--text)}.userMgmtTableWrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.userMgmtTable{min-width:760px;border:0}.userMgmtTable th{background:linear-gradient(180deg,var(--surface-soft) 0,rgba(var(--bg-glow-a),.18) 100%)}.userMgmtIdentity{display:flex;align-items:center;gap:10px;min-width:260px}.userMgmtIdentity strong{font-size:.92rem;color:var(--text)}.userMgmtAvatar{width:36px;height:36px;border-radius:11px;display:inline-grid;place-items:center;background:linear-gradient(145deg,var(--brand) 0,var(--accent) 100%);color:#fff;font-size:.74rem;font-weight:800;flex:0 0 auto;box-shadow:0 8px 16px rgba(72,68,50,.22)}.userMgmtTiny{margin-top:2px;font-size:.8rem}.userMgmtActionCell{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.userMgmtActionCell .iconActionButton{min-height:34px;border-radius:10px;padding:0 10px}.userMgmtActionReset{border-color:var(--line-strong);background:linear-gradient(180deg,var(--brand-soft) 0,var(--surface-soft) 100%);color:var(--brand-strong)}.userMgmtActionStatusOn{border-color:#b5ddc6;background:#ecfbf2;color:#0f7242}.userMgmtActionStatusOff{border-color:#ebd0a8;background:#fff5e8;color:#9a611c}.userMgmtActionDelete{border-color:#f2c8cf;background:#fff2f4;color:#a72c3a}.doctorStatLabel{display:block;font-size:.76rem;color:#5a7180;font-weight:760}.doctorStatValue{display:block;margin-top:4px;font-size:1.4rem}.doctorWorkspaceGrid{display:grid;grid-template-columns:1.15fr 1fr;grid-gap:14px;gap:14px}.doctorWorkspaceSecondary,.doctorWorkspaceTop{margin-top:14px}.queueSectionHead{margin-bottom:10px}.queueSectionTitle{margin-bottom:0}.queueCardList{display:grid;grid-gap:10px;gap:10px;max-height:420px;overflow:auto;padding-right:3px}.queueCard{border-radius:14px;border:1px solid var(--line);padding:12px;background:linear-gradient(180deg,var(--surface) 0,var(--surface-soft) 100%)}.queueCard.active{border-color:var(--line-strong);box-shadow:0 8px 16px rgba(87,76,57,.12)}.queueCardHead{align-items:flex-start}.queueCardMeta{display:grid;grid-gap:3px;gap:3px}.queueReason{margin-top:8px}.queueCardActions{margin-top:10px;margin-bottom:0}.encounterQueueLink,.selectedQueueHighlight{margin-top:10px}.encounterActionRow{margin-top:12px}.queueHighlight{border-radius:12px;border:1px solid #bfd8de;background:linear-gradient(180deg,#edf7f9,#e8f2f6);padding:10px}.historyPanel{display:grid;grid-gap:10px;gap:10px}.historyCard{border-radius:12px;border:1px solid #cddce2;padding:10px;background:#f8fcfd}.historyStrong{margin:4px 0 0;font-size:1.16rem;font-weight:800}.authCard{max-width:420px;text-align:center}.panelTitle{margin:0 0 12px;font-size:1.08rem;font-weight:820;color:#244a5e}.kpiGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.kpiCard{background:radial-gradient(circle at 95% 8%,rgba(var(--bg-glow-b),.2),transparent 32%),linear-gradient(160deg,#fff 0,#f5fafb 100%);border:1px solid #c9d9df;border-radius:16px;padding:15px;box-shadow:0 12px 24px rgba(11,45,62,.1)}.kpiValue{margin:0;font-size:1.56rem;font-weight:830;color:#173f54}.kpiLabel{margin:4px 0 0;color:#60798a;font-size:.9rem}.grid4{grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px}.grid3,.grid4{display:grid;gap:14px}.grid3{grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px}.split3{display:grid;grid-template-columns:1.2fr 1.3fr 1fr;grid-gap:14px;gap:14px}.row2,.split2{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.stack{display:grid;grid-gap:10px;gap:10px}.inline,.spaceBetween{display:flex;align-items:center;gap:10px}.spaceBetween{justify-content:space-between}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.label{display:block;margin-bottom:6px;font-size:.78rem;font-weight:780;letter-spacing:.03em;text-transform:uppercase;color:#36586b}.requiredMark{color:#dc2626;font-weight:800}.button,.input,.select,.textarea{min-height:44px;border-radius:var(--radius-md);border:1px solid #c9dae1;padding:0 12px;background:#fcfefe}.input,.select,.textarea{width:100%}.textarea{min-height:98px;padding:10px 12px;resize:vertical}.button{cursor:pointer;font-weight:780;letter-spacing:.01em;color:var(--text);background:linear-gradient(180deg,var(--surface) 0,var(--surface-soft) 100%);transition:all .22s ease,border-color .22s ease;box-shadow:0 6px 16px rgba(40,43,32,.1)}.button:hover{transform:translateY(-1px);border-color:var(--line-strong);box-shadow:0 10px 20px rgba(40,43,32,.15)}.button.primary{color:#fff;border-color:var(--brand-strong);background:linear-gradient(135deg,var(--brand) 0,var(--brand-strong) 70%,var(--accent) 100%);box-shadow:0 12px 24px rgba(69,82,61,.28)}.button.danger{color:#fff;border-color:#9e1d3d;background:linear-gradient(135deg,#c3274c,#a61f3f)}.button:disabled{opacity:.56;cursor:not-allowed;transform:none}.wFull{width:100%}.formGrid{grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px}.formGrid,.formGrid3{display:grid;gap:12px}.formGrid3{grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px}.table{width:100%;border-collapse:collapse;overflow:hidden;border-radius:14px;border:1px solid #ccdbe2}.tableWrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.tableWrap .table{min-width:100%}.table td,.table th{padding:11px 12px;border-bottom:1px solid #d4e1e7;text-align:left;font-size:.9rem;line-height:1.4}.table th{background:linear-gradient(180deg,var(--surface-soft) 0,rgba(var(--bg-glow-a),.18) 100%);color:var(--text);font-weight:780}.table tbody tr:hover{background:var(--surface-soft)}.bookingSection,.cashierSection,.reportsSectionBlock{margin-top:14px}.bookingSectionHead,.cashierSectionHead{align-items:flex-start;flex-wrap:wrap;margin-bottom:10px}.bookingSectionTitle,.cashierSectionTitle{margin-bottom:0}.bookingCreateSecondary,.bookingFilterSecondary{margin-top:10px}.bookingFilterActions{margin-top:26px;margin-bottom:0}.bookingCreateActions,.bookingListActions{margin-bottom:0}.bookingCreateActions{margin-top:12px}.bookingRowActions{gap:8px;flex-wrap:wrap}.bookingShowCompleted{margin-top:10px;gap:8px;align-items:center}.doctorBookingCards{display:none}.doctorBookingCard{border:1px solid var(--line);border-radius:16px;padding:12px;background:linear-gradient(165deg,var(--surface) 0,var(--surface-soft) 100%);box-shadow:0 10px 22px rgba(46,39,25,.1)}.doctorBookingCardHead{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.doctorBookingIdentity{display:grid;grid-gap:4px;gap:4px;min-width:0}.doctorBookingTime{font-size:.82rem}.doctorBookingMetaGrid{margin-top:10px;display:grid;grid-gap:8px;gap:8px}.doctorBookingMetaItem{margin:0;border:1px solid var(--line);border-radius:12px;padding:9px 10px;background:linear-gradient(180deg,var(--surface) 0,var(--surface-soft) 100%);display:grid;grid-gap:3px;gap:3px}.doctorBookingMetaItem span{font-size:.69rem;letter-spacing:.05em;text-transform:uppercase;font-weight:800;color:var(--muted)}.doctorBookingMetaItem strong{font-size:.88rem;line-height:1.4;color:var(--text)}.doctorBookingActions{margin-top:10px;gap:8px}.cashierArrivalLead{margin:6px 0 10px}.cashierFilterToolbar .label{margin-bottom:0}.cashierPaymentToolbar{margin-top:12px}.cashierSubTitle{margin:0 0 8px}.cashierHistoryTitle,.reportsPage .reportsSectionWrap{margin-top:12px}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-size:.7rem;font-weight:780;letter-spacing:.035em;text-transform:uppercase}.badge.blue{background:var(--brand-soft);color:var(--brand-strong)}.badge.green{background:#e3f8ea;color:#1c673d}.badge.amber{background:#f9eed6;color:#8d5a18}.badge.red{background:#fde8eb;color:#962838}.badge.slate{background:var(--surface-soft);color:var(--text)}.muted{margin:0;color:var(--muted);line-height:1.52}.infoBox,.warnBox{border-radius:var(--radius-md);padding:12px 13px;border:1px solid}.noticeStack{display:grid;grid-gap:10px;gap:10px}.noticeBar{border-radius:12px;border:1px solid var(--line-strong);background:linear-gradient(130deg,var(--brand) 0,var(--brand-strong) 80%);color:#f6fffe;padding:12px 14px;box-shadow:0 10px 24px rgba(57,126,112,.2)}.infoBox{border-color:#b7ddd8;background:#edf7f6;color:#145955}.warnBox{border-color:#f4c6ce;background:#fdf2f4;color:#9a2b3a}.event{padding:11px 0;border-bottom:1px solid #d5e2e8}.event:last-child,.listItem:last-child{border-bottom:0}.listItem{display:block;padding:12px 10px;border-bottom:1px solid #d5e2e8;border-radius:12px;transition:background-color .2s ease,transform .2s ease}.listItem:hover{background:var(--surface-soft);transform:translateX(2px)}.uploadZone{border:2px dashed #b8c9d3;border-radius:14px;padding:18px;text-align:center;background:#f7fbfc}.tabRow{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.tab{border-radius:999px;border:1px solid var(--line);padding:8px 12px;background:linear-gradient(180deg,var(--surface) 0,var(--surface-soft) 100%);cursor:pointer;font-weight:700;color:var(--text)}.tab.active{border-color:var(--line-strong);color:var(--brand-strong);background:var(--brand-soft)}.iconActionButton{min-width:38px;min-height:32px;border-radius:10px;border:1px solid var(--line);background:linear-gradient(180deg,var(--surface) 0,var(--surface-soft) 100%);color:var(--text);font-size:.73rem;font-weight:780;display:inline-flex;align-items:center;justify-content:center;padding:0 10px}.iconActionButton.primary{border-color:var(--brand-strong);background:linear-gradient(130deg,var(--brand) 0,var(--brand-strong) 70%,var(--accent) 100%);color:#fff}.iconActionButton.soft{border-color:var(--line-strong);background:linear-gradient(130deg,var(--surface-soft) 0,var(--brand-soft) 100%);color:var(--brand-strong)}.syncDot{width:9px;height:9px;border-radius:50%;display:inline-block;background:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.12)}.doctorWizardSteps{margin-top:14px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.wizardStepCard{border-radius:14px;border:1px solid var(--line);min-height:62px;padding:10px 12px;background:linear-gradient(180deg,var(--surface) 0,var(--surface-soft) 100%);display:flex;align-items:center;gap:10px;cursor:pointer;text-align:left}.wizardStepCard.active{background:linear-gradient(130deg,var(--brand) 0,var(--brand-strong) 70%,var(--accent) 100%);color:#fff}.wizardStepCard.active,.wizardStepCard.done{border-color:var(--line-strong)}.wizardStepIcon{width:30px;height:30px;border-radius:50%;border:1px solid var(--line);display:inline-grid;place-items:center;font-size:.66rem;font-weight:800;background:var(--surface-soft);color:var(--text);flex:0 0 auto}.wizardStepCard.active .wizardStepIcon{border-color:hsla(0,0%,100%,.45);color:var(--brand-strong);background:hsla(0,0%,100%,.9)}.wizardStepLabel{font-weight:700;font-size:.94rem;line-height:1.24}.wizardSection{background:linear-gradient(180deg,var(--surface) 0,var(--surface-soft) 100%)}.wizardSectionHead{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.wizardStepBadge{border-radius:999px;border:1px solid var(--brand-strong);background:linear-gradient(130deg,var(--brand) 0,var(--brand-strong) 80%);color:#fff;font-size:.8rem;font-weight:800;padding:7px 14px}.wizardInfoGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;background:var(--surface-soft)}.wizardEditor,.wizardInfoGrid{border:1px solid var(--line);border-radius:12px;padding:12px}.wizardEditor{background:var(--surface)}.wizardEditor .textarea{min-height:140px}.clinicalPatientStrip{display:grid;grid-template-columns:270px minmax(0,1fr);grid-gap:12px;gap:12px}.patientIdentityCard{border:1px solid var(--line);border-radius:14px;padding:12px;background:linear-gradient(160deg,var(--brand-soft) 0,var(--surface-soft) 100%)}.patientIdentityName{margin:0 0 6px;font-size:1rem;font-weight:800;color:var(--text)}.clinicalMetaGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.workspaceTabRail{margin-top:12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.workspaceTab{border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text);min-height:34px;padding:0 14px;font-size:.8rem;font-weight:700;cursor:pointer}.workspaceTab.active{border-color:var(--line-strong);background:var(--brand-soft);color:var(--brand-strong)}.clinicalControlBar{display:grid;grid-template-columns:1.1fr 2fr;grid-gap:12px;gap:12px;margin-bottom:12px}.wizardCaseLayout{display:grid;grid-template-columns:1.1fr 2.2fr;grid-gap:14px;gap:14px}.caseOptionList{margin-top:8px;border:1px solid var(--line);border-radius:10px;max-height:178px;overflow:auto;background:var(--surface)}.caseOptionItem{width:100%;border:0;border-bottom:1px solid var(--line);background:var(--surface);color:var(--text);min-height:36px;padding:6px 8px;display:flex;align-items:center;gap:8px;font-size:.84rem;text-align:left;cursor:pointer}.caseOptionItem:last-child{border-bottom:0}.caseOptionItem.active{background:var(--brand-soft);color:var(--brand-strong)}.caseSwatch{width:18px;height:18px;border-radius:3px;color:#fff;display:inline-grid;place-items:center;font-size:.66rem;font-weight:800;flex:0 0 auto}.activeToothChip{min-height:42px;border:1px solid var(--line-strong);border-radius:12px;padding:10px 12px;background:var(--surface-soft);display:inline-flex;align-items:center;font-weight:800;color:var(--text)}.clinicalCanvasSplit{display:grid;grid-template-columns:1.4fr .92fr;grid-gap:12px;gap:12px}.requiredCarePanel,.wizardOdontoPanel{border:1px solid var(--line);border-radius:14px;padding:14px;background:linear-gradient(180deg,var(--surface) 0,var(--surface-soft) 100%)}.requiredCareHead{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.requiredCareList{display:grid;grid-gap:10px;gap:10px}.requiredCareItem{border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--surface)}.requiredProgressTrack{margin:9px 0 10px;border-radius:999px;height:7px;background:var(--line);overflow:hidden}.requiredProgressTrack span{display:block;height:100%;border-radius:inherit;background:linear-gradient(130deg,var(--brand) 0,var(--brand-strong) 70%,var(--accent) 100%)}.requiredActions{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.odontoRingBoard{border:1px solid var(--line);border-radius:16px;background:radial-gradient(circle at 50% 42%,rgba(var(--bg-glow-a),.2) 0,transparent 36%),linear-gradient(180deg,var(--surface) 0,var(--surface-soft) 100%);min-height:560px;position:relative;overflow:hidden}.odontoRingHint{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;grid-gap:2px;gap:2px;text-align:center;width:220px;pointer-events:none}.odontoRingHint strong{color:var(--text);font-size:1rem}.odontoRingHint span{color:var(--muted);font-size:.8rem;line-height:1.4}.odontoRingTooth{position:absolute;transform:translate(-50%,-50%);width:35px;height:35px;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface);color:var(--text);font-size:.68rem;font-weight:800;cursor:pointer;display:inline-grid;place-items:center;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.odontoRingTooth:hover{transform:translate(-50%,-52%)}.odontoRingTooth.active{border-color:var(--brand-strong);background:var(--brand);color:#fff;box-shadow:0 8px 18px rgba(71,81,60,.28)}.odontoRingTooth.finding{box-shadow:0 0 0 3px rgba(239,68,68,.16)}.odontoClassicBoard{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--surface)}.odontoClassicGroup{margin-bottom:10px}.odontoClassicGroup:last-child{margin-bottom:0}.odontoClassicNumbers{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));grid-gap:4px;gap:4px;margin-bottom:5px}.odontoClassicNumbers.compact{grid-template-columns:repeat(10,minmax(0,1fr))}.odontoClassicNumbers span{text-align:center;font-size:.66rem;color:var(--text);font-weight:700}.odontoClassicRow{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));grid-gap:4px;gap:4px}.odontoClassicRow.compact{grid-template-columns:repeat(10,minmax(0,1fr));max-width:68%;margin:0 auto}.odontoClassicTooth{width:100%;min-height:33px;border:1px solid #516471;border-radius:2px;background:linear-gradient(45deg,transparent 47%,#5f7380 48%,#5f7380 52%,transparent 53%),linear-gradient(-45deg,transparent 47%,#5f7380 48%,#5f7380 52%,transparent 53%),linear-gradient(90deg,transparent 49%,#5f7380 50%,#5f7380 51%,transparent 52%),linear-gradient(180deg,transparent 49%,#5f7380 50%,#5f7380 51%,transparent 52%),#fff;cursor:pointer}.odontoClassicTooth.active{background:linear-gradient(45deg,transparent 47%,#3d5a69 48%,#3d5a69 52%,transparent 53%),linear-gradient(-45deg,transparent 47%,#3d5a69 48%,#3d5a69 52%,transparent 53%),linear-gradient(to right,transparent 49%,#3d5a69 50%,#3d5a69 51%,transparent 52%),linear-gradient(to bottom,transparent 49%,#3d5a69 50%,#3d5a69 51%,transparent 52%),var(--brand-soft)}.odontoClassicTooth.finding{box-shadow:inset 0 0 0 2px #fca5a5}.odontoClassicMarkers{margin:6px 0;display:flex;justify-content:center;gap:8px}.odontoClassicMarkers span{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:8px solid #111827}.odonto3DWrap{border:1px solid var(--line);border-radius:14px;background:radial-gradient(circle at 20% 10%,rgba(var(--bg-glow-a),.18),transparent 34%),linear-gradient(180deg,var(--surface-soft) 0,var(--surface) 100%);overflow:hidden}.odonto3DToolbar{border-bottom:1px solid var(--line);min-height:40px;padding:8px 12px;display:flex;justify-content:space-between;align-items:center;gap:8px;background:hsla(0,0%,100%,.88);font-size:.8rem;font-weight:700;color:var(--text)}.odonto3DReset{border-radius:999px;border:1px solid var(--line-strong);background:linear-gradient(180deg,var(--surface) 0,var(--surface-soft) 100%);color:var(--text);font-size:.72rem;font-weight:800;padding:5px 10px;cursor:pointer}.odonto3DWrap canvas{width:100%!important;height:420px!important;display:block}.odonto3DLegend{border-top:1px solid var(--line);padding:10px 12px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.84rem;color:var(--muted);background:hsla(0,0%,100%,.88)}.odonto3DLegend strong{color:var(--brand-strong)}.odonto3DLoading{min-height:220px;border:1px dashed var(--line-strong);border-radius:12px;display:grid;place-items:center;color:var(--muted);background:var(--surface-soft);font-weight:700}.odontoRow{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));grid-gap:6px;gap:6px}.odontoRow.compact{grid-template-columns:repeat(10,minmax(0,1fr))}.odontoTooth{min-height:32px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:.78rem;font-weight:700;cursor:pointer}.odontoTooth.active{border-color:var(--line-strong);background:var(--brand-soft);color:var(--brand-strong)}.checkoutHeader{text-align:center;margin-bottom:12px}.checkoutHeader h2{margin:0;font-size:2rem}.checkoutHeader p{margin:6px 0 0;color:var(--muted)}.subtlePanel{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--surface)}.wizardBottomActions{margin-top:14px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.toothGrid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));grid-gap:8px;gap:8px}.tooth{border:1px solid var(--line);border-radius:12px;padding:12px 6px;text-align:center;background:#fff;font-weight:700;position:relative;cursor:pointer}.tooth.active{border-color:#73bcb5;background:#edf8f7;color:#115e59}.tooth.hasFinding:after{content:"";width:8px;height:8px;border-radius:50%;position:absolute;right:8px;top:8px;background:#dc2626}.toothLegendRow{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.legendItem{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:#556977;font-weight:600}.legendDot{width:9px;height:9px;border-radius:50%;display:inline-block}.legendDot.finding{background:#dc2626}.legendDot.selected{background:#10b981}.loginShell{min-height:100dvh;display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);grid-gap:22px;gap:22px;padding:clamp(16px,2.8vw,30px);max-width:1440px;margin:0 auto;align-items:stretch}.loginPanel{background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:clamp(22px,2.4vw,34px);box-shadow:0 20px 48px rgba(56,48,34,.14)}.loginFormPanel{max-width:640px;align-self:center}.loginFormHeader{margin-bottom:16px}.loginEyebrow{margin:0 0 8px;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:800;color:var(--brand-strong)}.loginTitle{margin:0;font-size:2.2rem;line-height:1.16;color:var(--text)}.loginSubtitle{margin:8px 0 0;color:var(--muted);max-width:480px}.loginCredentialSection{margin-bottom:10px}.brandPanel{background:radial-gradient(circle at 10% 12%,rgba(var(--bg-glow-a),.28),transparent 40%),radial-gradient(circle at 84% 0,rgba(var(--bg-glow-b),.22),transparent 44%),linear-gradient(156deg,var(--login-brand-start) 0,var(--login-brand-mid) 55%,var(--login-brand-end) 100%);color:var(--login-brand-title)}.loginBrandPanel{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:14px;isolation:isolate}.loginBrandPanel:before{background:radial-gradient(circle at 74% 28%,rgba(255,245,222,.21),transparent 38%),radial-gradient(circle at 18% 86%,hsla(0,0%,100%,.12),transparent 40%)}.loginBrandPanel:after,.loginBrandPanel:before{content:"";position:absolute;inset:0;pointer-events:none}.loginBrandPanel:after{background-image:radial-gradient(hsla(0,0%,100%,.08) .7px,transparent 0);background-size:18px 18px;opacity:.36;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.5),transparent 72%);mask-image:linear-gradient(180deg,rgba(0,0,0,.5),transparent 72%)}.loginBrandCenter{position:relative;z-index:1;text-align:left;max-width:540px;animation:loginRise .42s ease-out}.loginHeroLogo{width:min(280px,72%);height:auto;filter:drop-shadow(0 22px 36px rgba(6,37,55,.28))}.loginBrandKicker{margin:20px 0 8px;letter-spacing:.11em;text-transform:uppercase;font-size:.72rem;font-weight:750;color:var(--login-brand-sub)}.loginBrandName{margin:0 0 10px;font-size:clamp(2.3rem,3.3vw,3rem);line-height:1.04;letter-spacing:.008em}.loginBrandTagline{margin:0;color:var(--login-brand-title);font-size:1.06rem;font-weight:700;line-height:1.5;max-width:500px}.loginBrandMeta{margin:10px 0 0;color:var(--login-brand-sub);font-size:.92rem;line-height:1.55;max-width:520px}@keyframes loginRise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.loginBrandCenter,.loginFeatureCard{animation:none}}.logoLockup{display:flex;align-items:center;gap:12px;margin-bottom:14px}.logoBadge{width:54px;height:54px;border-radius:16px}.credentialGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:9px;gap:9px}.credentialButton{border-radius:12px;border:1px solid var(--line);background:linear-gradient(180deg,var(--surface) 0,var(--surface-soft) 100%);padding:10px;cursor:pointer;text-align:left;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.credentialButton:hover{border-color:var(--line-strong);transform:translateY(-1px);box-shadow:0 8px 16px rgba(56,48,34,.15)}.credRole{display:block;font-weight:800;font-size:.8rem;color:var(--text)}.loginFootnote{margin:12px 0 0;font-size:.82rem;color:var(--muted)}.themePresetGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.themePresetCard{border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,var(--surface) 0,var(--surface-soft) 100%);padding:11px;text-align:left;cursor:pointer;display:grid;grid-gap:5px;gap:5px;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.themePresetCard:hover{border-color:var(--line-strong);transform:translateY(-1px);box-shadow:0 9px 18px rgba(56,48,34,.16)}.themePresetCard.active{border-color:var(--line-strong);background:linear-gradient(180deg,var(--brand-soft) 0,var(--surface-soft) 100%)}.themePresetTitle{font-size:.9rem;font-weight:800;color:var(--text)}.themePresetDesc{font-size:.8rem;color:var(--muted);line-height:1.45}.authState{min-height:100vh;display:grid;place-items:center;padding:24px}.spinner{width:32px;height:32px;border-radius:50%;border:3px solid #d2e4e6;border-top:3px solid var(--brand);animation:spin .9s linear infinite;margin:0 auto 10px}@keyframes softRise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:1200px){.clinicalCanvasSplit,.clinicalControlBar,.clinicalMetaGrid,.clinicalPatientStrip,.doctorStatsGrid,.doctorWizardSteps,.doctorWorkspaceGrid,.formGrid,.formGrid3,.grid3,.grid4,.kpiGrid,.row2,.split2,.split3,.wizardCaseLayout,.wizardInfoGrid{grid-template-columns:1fr}.odontoRow,.odontoRow.compact,.toothGrid{grid-template-columns:repeat(5,minmax(0,1fr))}.odontoClassicNumbers,.odontoClassicNumbers.compact,.odontoClassicRow,.odontoClassicRow.compact{grid-template-columns:repeat(10,minmax(0,1fr));max-width:100%}.odonto3DWrap canvas{height:320px!important}.odontoRingBoard{min-height:500px}.userMgmtHero{grid-template-columns:1fr}.kpiGrid,.userMgmtStatRail,.userMgmtWorkflow{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1024px){.layout{grid-template-columns:1fr}.sidebar{display:none}.mobileNav{display:flex}.main{padding:14px}.card,.metric{overflow-x:auto}.table{min-width:640px}.loginShell{grid-template-columns:1fr}.loginFormPanel{max-width:100%}.loginBrandPanel{min-height:380px}.loginBrandCenter{max-width:100%;text-align:center}.loginHeroLogo{width:min(230px,72%)}.workspaceTabRail{overflow-x:auto;white-space:nowrap;padding-bottom:2px;flex-wrap:nowrap}.reportsMetricGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.reportsSectionNav{overflow-x:auto;white-space:nowrap;flex-wrap:nowrap;padding-bottom:2px}.reportsSectionTab{flex:0 0 auto}.reportProgressRow{grid-template-columns:100px minmax(0,1fr) 150px}.userMgmtHeader{align-items:flex-start}.userMgmtHeaderPills{justify-content:flex-start}.userMgmtFilterCell,.userMgmtFilterSearch{min-width:100%;flex-basis:100%}.userMgmtFilterMeta{padding:0}.userMgmtActionCell{min-width:190px}}@media (max-width:640px){.doctorHeroTop{flex-direction:column;align-items:stretch}.doctorHeroTitle{font-size:1.18rem}.topbar{flex-direction:column;align-items:stretch}.topbarActions,.userBox{justify-content:space-between}.topbarActions{width:100%;flex-direction:column;align-items:stretch}.topbarUserName{max-width:58vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbarLogoutButton{width:100%}.toolbar{display:grid;grid-template-columns:1fr}.toolbar .button,.toolbar .input,.toolbar .select{width:100%}.credentialGrid,.themePresetGrid{grid-template-columns:1fr}.reportsViewSwitch{width:100%}.reportsViewButton{flex:1 1}.reportsSectionDesc{font-size:.8rem}.reportProgressRow,.reportsMetricGrid,.reportsPatientGrid{grid-template-columns:1fr}.reportProgressRow{gap:6px}.reportProgressValue{text-align:left;justify-items:start}.reportStatusRow{grid-template-columns:1fr;gap:6px}.loginShell{padding:14px}.loginPanel{padding:20px}.loginTitle{font-size:1.9rem}.loginBrandName{font-size:2.1rem}.loginBrandTagline{font-size:.98rem}.pageTitle{font-size:1.45rem}.input,.select,.textarea{font-size:16px}.odonto3DToolbar{flex-wrap:wrap}.odontoRingBoard{min-height:430px}.odontoRingTooth{width:30px;height:30px;font-size:.62rem}.requiredActions{grid-template-columns:1fr}.odonto3DWrap canvas{height:260px!important}.userMgmtStatRail,.userMgmtWorkflow{grid-template-columns:1fr}.userMgmtActionCell{min-width:0}.userMgmtActionCell .iconActionButton{width:100%;justify-content:center}.userMgmtTable{min-width:620px}.table{min-width:560px}}@media (max-width:1200px){.cashierPage .cashierStatsGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1024px){.layout{grid-template-columns:86px minmax(0,1fr)}.sidebar{display:block;padding:14px 8px;overflow-x:hidden}.brand{justify-content:center;margin-bottom:14px;padding-bottom:12px}.brandLogo{width:40px;height:40px}.brandName,.brandSub,.navLabel,.navTitle{display:none}.nav{padding:6px;gap:6px}.navItem{justify-content:center;padding:8px;min-height:40px}.navItem:before{display:none}.navGlyph{width:30px;height:30px}.mobileNav{display:none}.bookingPage .bookingSectionHead,.cashierPage .cashierSectionHead{flex-direction:column;align-items:stretch}.bookingPage .bookingFilterActions{margin-top:0}.bookingPage .bookingListActions{width:100%}.reportsPage .reportsSectionBlock{margin-top:12px}.reportsPage .reportsPanel .table{min-width:680px}}@media (max-width:640px){.layout{grid-template-columns:74px minmax(0,1fr)}.sidebar{padding:12px 6px}.navGlyph{width:28px;height:28px}.topbar,.topbarActions{flex-direction:row;align-items:center;flex-wrap:wrap}.topbarActions{width:auto}.topbarUserName{max-width:32vw}.topbarLogoutButton{width:auto}.toolbar{display:flex;flex-wrap:wrap}.bookingPage .bookingTabs{overflow-x:auto;white-space:nowrap;flex-wrap:nowrap;padding-bottom:2px}.bookingPage .bookingTabs .tab{flex:0 0 auto}.bookingPage .bookingListActions{display:flex;flex-wrap:wrap}.bookingPage .bookingRowActions .badge,.bookingPage .bookingRowActions .iconActionButton{width:auto;justify-content:flex-start}.bookingPage .bookingShowCompleted{align-items:center}.cashierPage .cashierStatsGrid{grid-template-columns:1fr}.cashierPage .cashierActionToolbar,.cashierPage .cashierFilterToolbar,.cashierPage .cashierPaymentToolbar{display:flex;flex-wrap:wrap}.cashierPage .cashierActionToolbar .button,.cashierPage .cashierArrivalButton{width:auto}.reportsPage .reportsSectionBlock{margin-top:10px}.reportsPage .reportsMetricGrid,.reportsPage .reportsPatientGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.reportsPage .reportProgressRow{grid-template-columns:100px minmax(0,1fr) 120px;gap:8px}.reportsPage .reportStatusRow{grid-template-columns:140px minmax(0,1fr) 42px;gap:8px}.reportsPage .reportsPanel .table{min-width:560px}}@media (max-width:767px){.layout{grid-template-columns:clamp(68px,20vw,92px) minmax(0,1fr);min-width:0}.sidebar{display:block;padding:12px 6px;overflow-x:hidden;height:100dvh}.brand{justify-content:center;margin-bottom:12px;padding-bottom:10px}.brandLogo{width:38px;height:38px}.brandName,.brandSub,.navLabel,.navTitle{display:none}.nav{padding:6px;gap:6px}.navItem{justify-content:center;padding:8px;min-height:40px;border-radius:11px}.navItem:before{display:none}.navGlyph{width:28px;height:28px}.mobileNav{display:none}.main{padding:12px}.topbar{padding:12px 14px;border-radius:16px;gap:9px}.topbarMeta{min-width:0}.topbarMetaLine{gap:8px}.clinicChip{font-size:.69rem;padding:4px 8px}.clinicName{font-size:1rem;margin-bottom:2px}.topbarMetaText{font-size:.76rem}.topbarActions{width:auto;justify-content:flex-end;gap:8px;min-width:0}.userBox{min-width:0;gap:7px}.topbarUserName{max-width:30vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.avatarCircle{width:30px;height:30px;font-size:.68rem}.topbarLogoutButton{min-width:82px;min-height:38px;padding:0 11px}.pageHeader{margin:16px 0 12px}.pageTitle{font-size:1.4rem}.pageSubtitle{font-size:.9rem}.card,.metric{padding:14px;border-radius:16px}.dashboardKpiGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.dashboardKpiGrid .kpiCard{padding:11px;border-radius:12px}.dashboardKpiGrid .kpiValue{font-size:1.2rem}.dashboardKpiGrid .kpiLabel{font-size:.8rem}.table{min-width:520px}.dashboardSplit .table{min-width:560px}}@media (max-width:420px){.layout{grid-template-columns:64px minmax(0,1fr)}.main{padding:10px}.topbar{padding:10px 12px}.topbarUserName{max-width:24vw;font-size:.84rem}.topbarLogoutButton{min-width:74px;min-height:34px;padding:0 9px}}@media (max-width:767px){.encountersPage.doctorRole{gap:12px}.encountersPage.doctorRole .noticeStack{gap:8px}.encountersPage.doctorRole .noticeBar{padding:10px 12px;font-size:.84rem}.encountersPage.doctorRole .doctorHero{padding:14px}.encountersPage.doctorRole .doctorStatsGrid{margin-top:10px;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.encountersPage.doctorRole .doctorStatCard{border-radius:12px;padding:10px}.encountersPage.doctorRole .doctorWorkspaceSecondary,.encountersPage.doctorRole .doctorWorkspaceTop{margin-top:10px}.encountersPage.doctorRole .queueSectionHead{flex-direction:column;align-items:flex-start;gap:8px}.encountersPage.doctorRole .queueCardList{max-height:none;overflow:visible;padding-right:0;gap:8px}.encountersPage.doctorRole .queueCard{padding:10px;border-radius:12px}.encountersPage.doctorRole .encounterActionRow,.encountersPage.doctorRole .queueCardActions{display:grid;grid-template-columns:1fr;grid-gap:8px;gap:8px}.encountersPage.doctorRole .encounterActionRow .button,.encountersPage.doctorRole .queueCardActions .button{width:100%;justify-content:center}.encountersPage.doctorRole .historyPanel{gap:8px}.encountersPage.doctorRole .historyCard{padding:9px;border-radius:11px}.encountersPage.doctorRole .event{padding:9px 0}.bookingPage.doctorRole .bookingFilterCard{padding:12px}.bookingPage.doctorRole .bookingSection{margin-top:12px}.bookingPage.doctorRole .bookingSectionHead{gap:8px}.bookingPage.doctorRole .bookingListActions{width:100%;justify-content:space-between}.bookingPage.doctorRole .bookingTabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:6px;gap:6px;overflow:visible;white-space:normal;padding-bottom:0}.bookingPage.doctorRole .bookingTabs .tab{min-height:40px;padding:0 8px;font-size:.78rem;text-align:center}.bookingPage.doctorRole .doctorBookingTable{display:none}.bookingPage.doctorRole .doctorBookingCards{display:grid;grid-gap:10px;gap:10px}.bookingPage.doctorRole .doctorBookingActions{display:grid;grid-template-columns:1fr}.bookingPage.doctorRole .doctorBookingActions .badge,.bookingPage.doctorRole .doctorBookingActions .iconActionButton{width:100%;min-height:38px;justify-content:center;font-size:.8rem}.bookingPage.doctorRole .bookingShowCompleted{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}}@media (max-width:420px){.bookingPage.doctorRole .bookingTabs,.encountersPage.doctorRole .doctorStatsGrid{grid-template-columns:1fr}.bookingPage.doctorRole .doctorBookingCardHead{flex-direction:column;align-items:flex-start}}.navGroup{display:flex;flex-direction:column}.navGroupHeader{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:10px;font-size:.83rem;font-weight:600;color:var(--muted);background:transparent;border:none;cursor:pointer;width:100%;text-align:left;transition:background .14s ease,color .14s ease}.navGroupHeader:hover{background:var(--brand-soft)}.navGroupHeader.active,.navGroupHeader:hover{color:var(--brand-strong)}.navGroupBody{display:flex;flex-direction:column;gap:2px;padding:2px 0 4px 22px}.navSubItem{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:8px;font-size:.8rem;font-weight:500;color:var(--muted);text-decoration:none;transition:background .13s ease,color .13s ease}.navSubItem.active,.navSubItem:hover{background:var(--brand-soft);color:var(--brand-strong)}.navSubItem.active{font-weight:700}.navSubDot{width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0;opacity:.5}.navSubItem.active .navSubDot{opacity:1}.modalBackdrop{position:fixed;inset:0;background:rgba(10,20,15,.42);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeInBackdrop .18s ease}@keyframes fadeInBackdrop{0%{opacity:0}to{opacity:1}}.modalPanel{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);width:100%;max-width:520px;max-height:90vh;overflow-y:auto;animation:slideUpModal .2s ease}@keyframes slideUpModal{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modalHeader{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--line)}.modalTitle{font-size:1rem;font-weight:700;color:var(--text);margin:0}.modalClose{width:30px;height:30px;border-radius:8px;border:none;background:var(--surface-soft);color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem;line-height:1;transition:background .13s ease,color .13s ease}.modalClose:hover{background:var(--line);color:var(--text)}.modalBody{padding:20px 24px;display:flex;flex-direction:column;gap:14px}.modalFooter{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 24px 20px;border-top:1px solid var(--line)}.rangePrice{font-size:.82rem;font-weight:600;color:var(--text);white-space:nowrap}.rangePrice .rangeSep{color:var(--muted);font-weight:400;margin:0 3px}.switchWrap{display:flex;align-items:center;gap:8px}.switchToggle{position:relative;display:inline-flex;width:38px;height:22px;cursor:pointer;flex-shrink:0}.switchToggle input{opacity:0;width:0;height:0;position:absolute}.switchTrack{position:absolute;inset:0;background:var(--line-strong);border-radius:999px;transition:background .2s ease}.switchToggle input:checked+.switchTrack{background:var(--brand)}.switchThumb{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:left .2s ease;pointer-events:none}.switchToggle input:checked~.switchThumb{left:19px}.switchLabel{font-size:.8rem;color:var(--muted);font-weight:500}.tarifPageHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px}.tarifHeadActions{display:flex;gap:8px;flex-shrink:0}.tarifToolbar{justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.tarifSearchWrap,.tarifToolbar{display:flex;align-items:center}.tarifSearchWrap{gap:10px}.tarifShowEntries{font-size:.8rem;color:var(--muted)}.deleteConfirmRow,.tarifShowEntries{display:flex;align-items:center;gap:6px}.jasaMedisCell{font-size:.82rem;font-weight:700;color:var(--brand-strong)}.jasaMedisCellEmpty{font-size:.82rem;color:var(--muted)}.earningSummaryCards{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px;margin-bottom:18px}.earningCard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:18px 20px;display:flex;flex-direction:column;gap:6px}.earningCardLabel{font-size:.73rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.earningCardValue{font-size:1.3rem;font-weight:800;color:var(--brand-strong);line-height:1.2}.earningCardSub{font-size:.75rem;color:var(--muted)}.earningFilterBar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px;padding:14px 18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md)}.earningFilterLabel{font-size:.78rem;font-weight:600;color:var(--muted);white-space:nowrap}.earningTotalRow td{font-weight:700;background:var(--brand-soft);color:var(--brand-strong)}@media (max-width:700px){.earningSummaryCards{grid-template-columns:1fr}.tarifPageHead{flex-direction:column}.tarifHeadActions{width:100%}.modalPanel{max-width:100%}}.odontogramChart{display:grid;grid-gap:12px;gap:12px}.odontogramChartHeader{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.odontogramModeSelector{display:flex;border:1px solid var(--line-strong);border-radius:999px;overflow:hidden;background:var(--surface-soft)}.odontogramModeBtn{padding:5px 14px;font-size:.78rem;font-weight:700;color:var(--muted);background:transparent;border:none;cursor:pointer;transition:background .15s ease,color .15s ease}.odontogramModeBtn:hover{color:var(--text);background:var(--surface)}.odontogramModeBtn.active{background:var(--brand);color:#fff}.odontogramModeBtn:disabled{cursor:default;opacity:.6}.odontogramBoardWrap{position:relative}.classicBoard{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface)}.classicSection{padding:12px 14px 8px}.classicSectionLabel{text-align:center;font-size:.7rem;font-weight:800;color:var(--muted);letter-spacing:.05em;text-transform:uppercase;padding:4px 0}.classicSection--upper .classicSectionLabel{padding-bottom:8px}.classicSection--lower .classicSectionLabel{padding-top:8px;padding-bottom:0}.classicDivider{border-top:2px solid var(--text);margin:0 14px}.classicQuadrantGrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:0;gap:0}.classicQuadrant{padding:6px 8px}.classicQuadrant--right{border-right:2px solid var(--text)}.classicQuadrantLabel{font-size:.65rem;font-weight:800;color:var(--muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}.classicTeethRow{display:grid;grid-gap:3px;gap:3px;margin-bottom:4px}.classicTeethRow--primary{opacity:.8;margin-bottom:6px}.classicToothWrapper{display:flex;flex-direction:column;align-items:center;gap:2px}.classicToothWrapper--primary .classicToothNum{color:var(--muted)}.classicToothNum{font-size:.58rem;font-weight:800;color:var(--text);text-align:center;line-height:1}.classicToothCell{width:100%;aspect-ratio:.65;min-height:26px;border:1px solid #6b7280;border-radius:3px;background:var(--surface);cursor:pointer;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.classicToothCell--primary{aspect-ratio:.7;min-height:20px;border-color:#9ca3af}.classicToothCell:hover{border-color:var(--brand);background:var(--brand-soft)}.classicToothCell.selected{box-shadow:0 0 0 2px var(--brand-strong);background:var(--brand-soft);border-color:var(--brand-strong)}.classicToothCell.hasFinding{box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}.classicToothCell.hasPlan{border-style:dashed}.classicToothBadge{font-size:.52rem;font-weight:900;border-radius:2px;padding:1px 2px;line-height:1.1;white-space:nowrap}.classicToothMore{font-size:.48rem;font-weight:800;color:var(--muted);line-height:1}.ringBoardSvgOverlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.ringQuadrantLabel{position:absolute;font-size:.62rem;font-weight:800;color:var(--muted);pointer-events:none;opacity:.7}.ringQuadrantLabel--tl{top:14px;left:14px}.ringQuadrantLabel--tr{top:14px;right:14px}.ringQuadrantLabel--bl{bottom:14px;left:14px}.ringQuadrantLabel--br{bottom:14px;right:14px}.odontoRingTooth.hasEvent:after{content:"";position:absolute;bottom:2px;right:2px;width:7px;height:7px;border-radius:50%;background:var(--ring-dot-color,#ef4444);border:1px solid hsla(0,0%,100%,.85)}.conditionPaletteWrap{display:grid;grid-gap:0;gap:0}.conditionPaletteGroup{font-size:.68rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:8px 0 4px;border-bottom:1px solid var(--line);margin-bottom:5px}.conditionPaletteGrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:4px;gap:4px;margin-bottom:4px}.conditionPaletteItem{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:5px 7px;display:flex;align-items:center;gap:7px;cursor:pointer;transition:border-color .15s ease,background .15s ease;text-align:left}.conditionPaletteItem:hover{border-color:var(--brand);background:var(--brand-soft)}.conditionPaletteItem.active{border-color:var(--brand-strong);background:var(--brand-soft)}.conditionPaletteItem:disabled{cursor:default;opacity:.5}.conditionSwatch{width:24px;height:24px;min-width:24px;border-radius:5px;display:inline-grid;place-items:center;color:#fff;font-size:.52rem;font-weight:900;line-height:1}.conditionLabel{font-size:.74rem;line-height:1.2;color:var(--text)}.conditionPaletteItem.active .conditionLabel{color:var(--brand-strong);font-weight:700}.multiSelectToggle{display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:.8rem;color:var(--muted);cursor:pointer;padding:6px 0;border-bottom:1px solid var(--line)}.multiSelectTeethChips{display:flex;flex-wrap:wrap;gap:4px;width:100%;margin-top:4px}.multiSelectChip{font-size:.7rem;font-weight:800;background:var(--brand-soft);color:var(--brand-strong);border-radius:999px;padding:2px 8px}.conditionLegend{display:flex;flex-wrap:wrap;align-items:center;gap:5px 14px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.conditionLegendTitle{font-size:.7rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.conditionLegendItem{display:flex;align-items:center;gap:5px;font-size:.72rem;color:var(--muted)}.conditionLegendDot{width:10px;height:10px;border-radius:2px;flex:0 0 auto}.toothTooltip{position:fixed;z-index:9999;background:var(--surface);border:1px solid var(--line-strong);border-radius:12px;box-shadow:var(--shadow);padding:10px 14px;min-width:180px;max-width:260px;pointer-events:none;animation:softRise .15s ease}.toothTooltipFDI{font-size:1.2rem;font-weight:900;color:var(--brand-strong);line-height:1}.toothTooltipName{font-size:.76rem;color:var(--muted);margin:3px 0 8px;line-height:1.3}.toothTooltipEmpty{font-size:.76rem;color:var(--muted);font-style:italic}.toothTooltipEvent{display:flex;align-items:center;gap:6px;font-size:.76rem;margin-bottom:4px;color:var(--text)}.toothTooltipDot{width:8px;height:8px;min-width:8px;border-radius:50%}.toothTooltipBadge{font-size:.62rem;font-weight:800;border-radius:4px;padding:1px 5px;margin-left:auto;white-space:nowrap}.toothTooltipBadge--finding{background:#fee2e2;color:#991b1b}.toothTooltipBadge--plan{background:#dbeafe;color:#1e40af;border:1px dashed #93c5fd}.toothTooltipMore{font-size:.7rem;color:var(--muted);margin-top:2px}@media (max-width:900px){.conditionPaletteGrid{grid-template-columns:1fr}.odontogramChartHeader{flex-direction:column;align-items:flex-start}}@media (max-width:640px){.ringQuadrantLabel{display:none}.classicToothCell{min-height:20px}.classicToothBadge{font-size:.44rem}}.toothSvgShape{width:100%;aspect-ratio:1;display:block;cursor:pointer;overflow:visible}.toothSvgShape.selected{filter:drop-shadow(0 0 4px rgba(15,103,114,.55))}.toothSvgShape--primary{opacity:.88}.toothSvgShape:not([class*=selected]):hover{filter:drop-shadow(0 0 2px rgba(15,103,114,.3))}.toothSurfacePolygon{transition:fill-opacity .12s ease}.toothSurfacePolygon:hover{filter:brightness(.88)}.surfaceSelectorPanel{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--surface);margin-top:10px}.surfaceSelectorTitle{display:flex;align-items:baseline;gap:8px;margin-bottom:10px}.surfaceSelectorTitle strong{font-size:1rem;color:var(--brand-strong)}.surfaceSelectorGrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:5px;gap:5px}.surfaceSelectorBtn{display:flex;flex-direction:column;align-items:center;gap:3px;border:1px solid var(--line-strong);border-radius:8px;padding:6px 4px;background:var(--surface);cursor:pointer;transition:background .12s ease,border-color .12s ease}.surfaceSelectorBtn:hover{background:var(--brand-soft);border-color:var(--brand)}.surfaceSelectorBtn.active{background:var(--brand);border-color:var(--brand-strong)}.surfaceSelectorCode{font-size:.82rem;font-weight:900;color:var(--text);line-height:1}.surfaceSelectorBtn.active .surfaceSelectorCode{color:#fff}.surfaceSelectorLabel{font-size:.56rem;font-weight:700;color:var(--muted);text-align:center;line-height:1.2}.surfaceSelectorBtn.active .surfaceSelectorLabel{color:hsla(0,0%,100%,.85)}.surfaceSelectorBtn:disabled{cursor:default;opacity:.5}.diagCodeItem{margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--line)}.diagCodeItem:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.diagCodeHeader{display:flex;align-items:center;gap:8px;margin-bottom:6px}.diagCodeSwatch{width:30px;height:30px;min-width:30px;border-radius:6px;display:inline-grid;place-items:center;color:#fff;font-size:.6rem;font-weight:900;flex:0 0 auto}.diagCodeCount{margin-left:auto;font-size:.9rem;font-weight:900;color:var(--text);white-space:nowrap}.diagCodeBar{height:6px;border-radius:999px;background:var(--line);overflow:hidden}.diagCodeBar span{display:block;height:100%;border-radius:inherit;transition:width .3s ease}.hotspotList{display:grid;grid-gap:8px;gap:8px}.hotspotItem{display:flex;align-items:center;gap:10px}.hotspotToothBadge{width:38px;height:38px;min-width:38px;border-radius:8px;display:grid;place-items:center;font-size:.78rem;font-weight:900;color:#fff;flex:0 0 auto}.hotspotInfo{flex:1 1;min-width:0}.hotspotInfo strong{font-size:.82rem;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hotspotBar{display:flex;flex-direction:column;align-items:flex-end;gap:2px;width:80px;min-width:80px}.hotspotBar>span:first-child{display:block;height:5px;border-radius:999px;min-width:4px;align-self:stretch;transition:width .3s ease}.hotspotCount{font-size:.64rem;font-weight:700;color:var(--muted);white-space:nowrap}