*{box-sizing:border-box}html,body{background:var(--surface-app);color:var(--text-strong);font-family:var(--font-sans);margin:0}button,input,select,textarea{font:inherit}.shell{min-height:100vh}.sidebar{background:var(--ink-800);width:248px;color:var(--white);flex-direction:column;padding:24px 16px;display:flex;position:fixed;inset:0 auto 0 0}.logo{align-items:center;gap:12px;padding:0 7px 22px;display:flex}.logoMark{border-radius:var(--radius-md);background:var(--white);width:43px;height:43px;color:var(--text-strong);place-items:center;font-weight:600;display:grid}.logo b{font-size:17px;display:block}.logo span,.userCard span{color:var(--text-subtle);margin-top:3px;font-size:12px;display:block}.clinicCard{background:var(--ink-800);border:1px solid var(--ink-700);border-radius:var(--radius-md);margin-bottom:17px;padding:12px}.clinicCard span,.clinicCard small{color:var(--text-subtle);font-size:12px;display:block}.clinicCard b{margin:4px 0;font-size:13px;display:block}.sidebar nav{flex-direction:column;gap:5px;display:flex}.sidebar nav button{color:var(--ink-300);text-align:left;border-radius:var(--radius-md);cursor:pointer;background:0 0;border:0;align-items:center;gap:11px;padding:10px 12px;display:flex}.sidebar nav button i{text-align:center;width:20px;font-style:normal}.sidebar nav button.active,.sidebar nav button:hover{background:var(--ink-700);color:var(--white)}.userCard{border-top:1px solid var(--ink-700);align-items:center;gap:9px;margin-top:auto;padding:18px 7px 2px;display:flex}.userCard>button{color:var(--ink-300);cursor:pointer;background:0 0;border:0;margin-left:auto;font-size:12px}.avatar{background:var(--lilac-700);border-radius:50%;place-items:center;width:35px;height:35px;font-size:12px;font-weight:600;display:grid}.userCard b{font-size:12px;display:block}.content{min-height:100vh;margin-left:248px;padding:30px 34px}header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px;display:flex}header h1{letter-spacing:-.7px;margin:2px 0 5px;font-size:29px}header p{color:var(--text-subtle);margin:0;font-size:13px}.eyebrow{letter-spacing:.09em;font-weight:600;color:var(--text-subtle)!important;font-size:12px!important}.headerActions,.agendaActions,.sectionActions{gap:10px;display:flex}.primary,.secondary{cursor:pointer;border:0;border-radius:8px;padding:10px 13px}.primary{background:var(--lilac-700);color:var(--white);font-weight:600}.secondary{background:var(--surface-app);color:var(--text-body)}.full{width:100%}input,select,textarea{border:1px solid var(--ink-200);background:var(--white);border-radius:8px;outline:none;width:100%;padding:10px}textarea{resize:vertical;min-height:85px}.metrics{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:17px;display:grid}.card,.panel{background:var(--white);border:1px solid var(--ink-200);border-radius:var(--radius-md);box-shadow:0 3px 12px #1d193409}.metric{padding:17px}.metric span{color:var(--text-muted);font-size:12px}.metric strong{margin:8px 0 3px;font-size:25px;display:block}.metric small{color:var(--text-subtle);font-size:12px}.twoCols{grid-template-columns:1.2fr .8fr;gap:17px;display:grid}.panel{padding:18px}.panelHead{justify-content:space-between;align-items:center;margin-bottom:13px;display:flex}.panelHead h2{margin:0;font-size:16px}.panelHead p{color:var(--text-subtle);margin:4px 0 0;font-size:12px}.panelAction{justify-content:flex-end;margin:-42px 0 14px;display:flex}.appointment{border-top:1px solid var(--ink-200);align-items:center;gap:12px;padding:11px 0;display:flex}.appointment:first-child{border-top:0}.time{width:48px;font-size:13px;font-weight:600}.appointmentMain{flex:1}.appointmentMain b{font-size:13px;display:block}.appointmentMain span{color:var(--text-subtle);margin-top:3px;font-size:12px;display:block}.status{background:var(--surface-app);color:var(--text-muted);border-radius:999px;padding:5px 7px;font-size:12px}.status.confirmed,.status.finished{background:var(--surface-app);color:var(--green-700)}.status.scheduled{background:var(--butter-100);color:var(--butter-800)}.status.arrived{background:var(--surface-app);color:var(--lilac-700)}.status.no_show,.status.cancelled{background:var(--ink-100);color:var(--danger)}.status.in_service{background:var(--ink-100);color:var(--lilac-700)}.task{border-top:1px solid var(--ink-200);justify-content:space-between;padding:13px 0;display:flex}.task:first-child{border-top:0}.task b{font-size:12px}.task strong{font-size:14px}.tableWrap{overflow:auto}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--ink-200);text-align:left;padding:13px 12px;font-size:12px}th{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:var(--surface-app);font-size:12px}.notice{background:var(--surface-app);border:1px solid var(--lilac-300);color:var(--lilac-700);border-radius:var(--radius-md);cursor:pointer;justify-content:space-between;margin-bottom:15px;padding:11px 14px;font-size:12px;display:flex}.agendaTop{justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px;display:flex}.weekNav{align-items:center;gap:8px;display:flex}.weekNav button{border:1px solid var(--ink-200);background:var(--white);cursor:pointer;border-radius:8px;padding:9px 12px}.weekNav b{text-align:center;min-width:125px;font-size:13px}.agendaActions select{min-width:180px}.weekGrid{grid-template-columns:repeat(6,minmax(150px,1fr));gap:9px;display:grid;overflow:auto}.dayCol{background:var(--white);border:1px solid var(--ink-200);border-radius:var(--radius-md);min-height:470px}.dayHead{text-align:center;border-bottom:1px solid var(--ink-200);padding:12px}.dayHead span{color:var(--text-subtle);text-transform:uppercase;font-size:12px;display:block}.dayHead b{font-size:20px}.dayBody{padding:8px}.calendarEvent,.calendarBlock{border-left:3px solid var(--lilac-500);background:var(--surface-app);border-radius:8px;margin-bottom:7px;padding:9px}.calendarEvent strong,.calendarEvent span,.calendarEvent small,.calendarBlock strong,.calendarBlock span,.calendarBlock small{display:block}.calendarEvent strong,.calendarBlock strong{font-size:12px}.calendarEvent span,.calendarBlock span{margin-top:3px;font-size:12px}.calendarEvent small,.calendarBlock small{color:var(--text-subtle);margin-top:5px;font-size:12px}.calendarBlock{border-left-color:var(--ink-400);background:var(--surface-app)}.calendarEvent.confirmed{border-left-color:var(--mint-500);background:var(--surface-app)}.calendarEvent.cancelled,.calendarEvent.no_show{border-left-color:var(--red-500);background:var(--surface-app)}.dayEmpty{text-align:center;color:var(--text-subtle);padding:28px 4px;font-size:12px}.kanban{grid-template-columns:repeat(4,minmax(215px,1fr));align-items:start;gap:13px;display:grid}.sectionActions{justify-content:flex-end;margin-bottom:14px}.column{background:var(--ink-100);border-radius:var(--radius-md);min-height:340px;padding:11px}.columnHead{justify-content:space-between;padding:4px 3px 11px;font-size:12px;display:flex}.deal{background:var(--white);border:1px solid var(--ink-200);border-radius:var(--radius-md);margin-bottom:9px;padding:12px}.deal b,.deal span,.deal strong,.deal small{display:block}.deal span{color:var(--text-subtle);margin-top:4px;font-size:12px}.deal strong{margin-top:12px;font-size:15px}.deal small{color:var(--text-subtle);margin-top:8px;font-size:12px}.dealActions{justify-content:flex-end;gap:5px;margin-top:9px;display:flex}.dealActions button{background:var(--surface-app);cursor:pointer;border:0;border-radius:6px;padding:4px 8px}.listCards{gap:9px;display:grid}.listCard{border:1px solid var(--ink-200);border-radius:var(--radius-md);justify-content:space-between;align-items:center;padding:12px;display:flex}.listCard b,.listCard span,.listCard small{display:block}.listCard span{color:var(--text-muted);margin-top:3px;font-size:12px}.listCard small{color:var(--text-subtle);margin-top:5px;font-size:12px}.listCard button{background:var(--surface-app);color:var(--green-700);cursor:pointer;border:0;border-radius:7px;padding:7px 9px}.cardsGrid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.personCard{border:1px solid var(--ink-200);border-radius:var(--radius-md);padding:15px}.personAvatar{background:var(--ink-100);width:40px;height:40px;color:var(--lilac-700);border-radius:50%;place-items:center;margin-bottom:11px;font-weight:600;display:grid}.personCard b,.personCard span,.personCard small{display:block}.personCard span{color:var(--text-muted);margin-top:3px;font-size:12px}.personCard small{color:var(--text-subtle);margin-top:4px;font-size:12px}.scheduleInfo{background:var(--surface-app);color:var(--text-muted);border-radius:7px;margin-top:12px;padding:8px;font-size:12px}.subheading{margin-top:22px;font-size:13px}.inviteList{gap:8px;display:grid}.invite{border:1px solid var(--ink-200);border-radius:var(--radius-md);justify-content:space-between;padding:10px;display:flex}.invite b,.invite span{display:block}.invite b{font-size:12px}.invite span,.invite small{color:var(--text-subtle);font-size:12px}.modalBackdrop{z-index:20;background:#1d19348c;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--white);border-radius:var(--radius-lg);width:min(700px,92vw);max-height:90vh;padding:20px;overflow:auto;box-shadow:0 25px 70px #1d193440}.modalHead{justify-content:space-between;align-items:center;display:flex}.modalHead h2{margin:0;font-size:18px}.modalHead button{cursor:pointer;background:0 0;border:0;font-size:25px}.formGrid{grid-template-columns:1fr 1fr;gap:14px;margin:20px 0;display:grid}.formGrid label{color:var(--text-muted);flex-direction:column;gap:6px;font-size:12px;display:flex}.formGrid label.full{grid-column:1/-1}.modalFooter{justify-content:flex-end;gap:8px;display:flex}.hint{background:var(--surface-app);color:var(--text-muted);border-radius:8px;margin-bottom:14px;padding:10px;font-size:12px}.loadingScreen{min-height:100vh;color:var(--text-muted);place-items:center;display:grid}.authPage{background:var(--surface-app);grid-template-columns:1.05fr .95fr;min-height:100vh;display:grid}.authHero{background:var(--ink-800);color:var(--white);flex-direction:column;justify-content:center;padding:70px 8vw;display:flex}.brandLarge{align-items:center;gap:13px;margin-bottom:55px;display:flex}.brandLarge>div{background:var(--white);width:48px;height:48px;color:var(--text-strong);border-radius:var(--radius-md);place-items:center;font-weight:600;display:grid}.brandLarge b,.brandLarge small{display:block}.brandLarge small{color:var(--ink-300);margin-top:4px;font-size:12px}.authHero h1{letter-spacing:-1.5px;max-width:620px;margin:0 0 17px;font-size:42px;line-height:1.05}.authHero>p{max-width:570px;color:var(--ink-300);line-height:1.6}.heroCards{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:38px;display:grid}.heroCards div{background:var(--ink-800);border:1px solid var(--ink-700);border-radius:var(--radius-md);padding:14px}.heroCards b,.heroCards span{display:block}.heroCards b{font-size:12px}.heroCards span{color:var(--ink-300);margin-top:5px;font-size:12px;line-height:1.4}.authPanel{place-items:center;padding:30px;display:grid}.authCard{background:var(--white);border:1px solid var(--ink-200);border-radius:var(--radius-lg);width:min(420px,100%);padding:27px;box-shadow:0 16px 45px #1d193414}.authTabs{background:var(--surface-app);border-radius:var(--radius-md);grid-template-columns:1fr 1fr;margin-bottom:22px;padding:4px;display:grid}.authTabs button{cursor:pointer;color:var(--text-muted);background:0 0;border:0;border-radius:7px;padding:9px}.authTabs button.active{background:var(--white);color:var(--ink-800);box-shadow:0 2px 8px #1d193414}.authCard h2{margin:0 0 14px;font-size:22px}.authCard label{color:var(--text-muted);flex-direction:column;gap:6px;margin:12px 0;font-size:12px;display:flex}.authMessage{background:var(--surface-app);color:var(--lilac-700);border-radius:8px;margin:10px 0;padding:10px;font-size:12px}.joinLink{text-align:center;color:var(--lilac-700);margin-top:15px;font-size:12px;text-decoration:none;display:block}@media (max-width:1100px){.metrics{grid-template-columns:1fr 1fr}.twoCols{grid-template-columns:1fr}.weekGrid{grid-template-columns:repeat(6,180px)}.cardsGrid{grid-template-columns:1fr 1fr}.kanban{grid-template-columns:repeat(4,240px);overflow:auto}}@media (max-width:760px){.sidebar{width:72px;padding:18px 8px}.logo div:last-child,.clinicCard,.sidebar nav span,.userCard div:not(.avatar),.userCard>button{display:none}.logo{padding-left:5px}.sidebar nav button,.userCard{justify-content:center}.content{margin-left:72px;padding:18px}header{flex-direction:column;align-items:flex-start}.headerActions,.agendaTop{flex-wrap:wrap;width:100%}.agendaTop{align-items:flex-start}.agendaActions{flex-wrap:wrap}.metrics,.formGrid{grid-template-columns:1fr}.formGrid label.full{grid-column:auto}.cardsGrid,.authPage{grid-template-columns:1fr}.authHero{display:none}}.sidebar,.authHero{background:var(--ink-900)!important}.logoMark{background:var(--ink-900)!important;border:2px solid var(--orange-600)!important;border-radius:50%!important;width:52px!important;min-width:52px!important;height:52px!important;padding:0!important;overflow:hidden!important}.logoMark img{object-fit:cover!important;width:100%!important;height:100%!important}.sidebar nav button.active{background:var(--gradient-button)!important;color:var(--white)!important}.sidebar nav button:hover{background:var(--ink-800)!important}.primary{background:var(--gradient-button)!important;border-color:var(--orange-600)!important;color:var(--white)!important}.eyebrow{color:var(--text-brand)!important}.patientSelector{justify-content:flex-end;margin-bottom:14px;display:flex}.patientSelector label{color:var(--text-muted);align-items:center;gap:8px;font-size:12px;display:flex}.patientSelector select{min-width:260px}.clinicalGrid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.clinicalGrid>.panel:first-child{grid-column:1/-1}.patientSummary{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.infoBox{background:var(--surface-app);border:1px solid var(--ink-200);border-radius:var(--radius-md);padding:12px}.infoBox span{color:var(--text-subtle);text-transform:uppercase;font-size:12px;display:block}.infoBox b{margin-top:5px;font-size:12px;display:block}.panelAction.inside{margin:14px 0 0}.timeline{position:relative}.timelineItem{grid-template-columns:14px 1fr;gap:10px;padding:0 0 18px;display:grid}.timelineDot{background:var(--lilac-700);border-radius:50%;width:9px;height:9px;margin-top:5px;box-shadow:0 0 0 4px #1d1934}.timelineItem>div:last-child{border-bottom:1px solid var(--ink-200);padding-bottom:14px}.timelineMeta{color:var(--text-subtle);margin-bottom:5px;font-size:12px}.timelineItem b{font-size:12px}.timelineItem p{color:var(--text-body);margin:7px 0;font-size:12px;line-height:1.5}.timelineItem small{color:var(--text-muted);font-size:12px}.odontogramLegend{flex-wrap:wrap;gap:12px;margin-bottom:22px;display:flex}.odontogramLegend span{color:var(--text-muted);align-items:center;gap:5px;font-size:9px;display:flex}.toothState{background:#e7edf2;border-radius:3px;width:10px;height:10px}.toothState.caries{background:#ef6d6d}.toothState.restoration{background:#65a0d7}.toothState.crown{background:#d4a84d}.toothState.missing{background:#b6bdc4}.toothState.implant{background:#7b67b7}.toothState.extraction{background:#d76060}.toothState.endo{background:#ef9b45}.toothState.observation{background:#54a277}.toothState.temporary_restoration{background:#8b7ed8}.toothState.sealant{background:#33b6c4}.toothState.fracture{background:#c34f64}.odontogramToolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.odontogramToolbar small{color:var(--text-muted);font-size:10px}.dentitionToggle{background:var(--surface-app);border:1px solid var(--ink-200);border-radius:var(--radius-md);padding:3px;display:flex}.dentitionToggle button{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:8px 14px;font-size:12px;font-weight:600}.dentitionToggle button.active{background:var(--white);color:var(--text-strong);box-shadow:0 2px 8px #1d19341a}.arch{grid-template-columns:repeat(16,minmax(42px,1fr));gap:7px;margin:24px 0;display:grid;overflow:visible}.arch.primaryArch{grid-template-columns:repeat(10,minmax(48px,1fr));max-width:820px;margin-left:auto;margin-right:auto}.arch.bottom{margin-top:38px}.toothWrap{transform:translateY(var(--arch-offset));position:relative}.tooth{cursor:pointer;background:#fff;border:1px solid #dfe6ec;border-radius:18px 18px 11px 11px;width:100%;height:76px;padding:5px;transition:all .18s;position:relative}.tooth:hover{border-color:#9db8cd;transform:translateY(-2px);box-shadow:0 8px 20px #1d3a5117}.tooth.selected{border-color:#ff6a00;box-shadow:0 0 0 3px #ff6a0024}.surfaceIndicators{gap:2px;display:flex;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.surfaceIndicators i{border:1px solid #fff;border-radius:50%;width:6px;height:6px;margin:0;display:block}.surfaceIndicators .caries{background:#ef6d6d}.surfaceIndicators .restoration{background:#65a0d7}.surfaceIndicators .temporary_restoration{background:#8b7ed8}.surfaceIndicators .sealant{background:#33b6c4}.surfaceIndicators .fracture{background:#c34f64}.surfaceIndicators .observation{background:#54a277}.odontogramHint{text-align:center;background:#f8fafc;border:1px dashed #cfdbe4;border-radius:12px;margin-top:42px;padding:18px}.odontogramHint b,.odontogramHint span{display:block}.odontogramHint b{font-size:12px}.odontogramHint span{color:var(--text-subtle);margin-top:4px;font-size:10px}.toothEditor{background:linear-gradient(145deg,#fbfdff,#f4f8fb);border:1px solid #dce5ec;border-radius:16px;margin-top:44px;overflow:hidden}.toothEditor>header{background:#fff;border-bottom:1px solid #e2e9ef;justify-content:space-between;align-items:flex-start;padding:18px 20px;display:flex}.toothEditor>header span,.selectedSurface span{color:var(--text-brand);letter-spacing:1.1px;font-size:8px;font-weight:800;display:block}.toothEditor>header h3{margin:4px 0;font-size:17px}.toothEditor>header p{color:var(--text-muted);margin:0;font-size:10px}.toothEditor>header>button{color:var(--text-body);cursor:pointer;background:#eef3f6;border:0;border-radius:8px;width:30px;height:30px;font-size:18px}.toothEditorGrid{grid-template-columns:1.05fr 1.25fr;gap:16px;padding:18px;display:grid}.surfaceMapCard,.surfaceConditionCard,.wholeToothCard{background:#fff;border:1px solid #e1e8ee;border-radius:13px;padding:16px}.surfaceMapCard>b,.wholeToothCard>b{font-size:12px}.surfaceMapCard>p,.wholeToothCard>p{color:var(--text-subtle);margin:4px 0 14px;font-size:9px;line-height:1.5}.surfaceMap{grid-template:".top."1fr"left center right"1.2fr".bottom."1fr/1fr 1.2fr 1fr;gap:5px;max-width:350px;margin:10px auto;display:grid}.surfaceFace{cursor:pointer;background:#f8fafc;border:2px solid #dbe4eb;border-radius:12px;min-height:74px;padding:8px;transition:all .15s}.surfaceFace span,.surfaceFace small{display:block}.surfaceFace span{color:var(--ink-800);font-size:9px;font-weight:800;position:static}.surfaceFace small{color:var(--text-subtle);margin-top:4px;font-size:8px}.surfaceFace.active{border-color:#ff6a00;box-shadow:0 0 0 3px #ff6a001f}.surfaceFace.caries{background:#ffe4e4;border-color:#ef6d6d}.surfaceFace.restoration{background:#e7f2fc;border-color:#65a0d7}.surfaceFace.temporary_restoration{background:#efecff;border-color:#8b7ed8}.surfaceFace.sealant{background:#e2f8fa;border-color:#33b6c4}.surfaceFace.fracture{background:#fde8ec;border-color:#c34f64}.surfaceFace.observation{background:#e9f6ed;border-color:#54a277}.surfaceOrientation{color:var(--text-subtle);justify-content:space-between;margin-top:10px;font-size:12px;display:flex}.selectedSurface b{margin-top:4px;font-size:16px;display:block}.conditionPalette{grid-template-columns:1fr 1fr;gap:7px;margin:14px 0;display:grid}.conditionPalette button,.wholeToothCard button{text-align:left;cursor:pointer;background:#fff;border:1px solid #dfe7ed;border-radius:8px;align-items:center;gap:7px;padding:8px;font-size:9px;display:flex}.conditionPalette button.active,.wholeToothCard button.active{background:#fff8f3;border-color:#ff6a00;box-shadow:0 0 0 2px #ff6a0014}.surfaceNote{color:var(--text-muted);flex-direction:column;gap:6px;font-size:9px;display:flex}.surfaceNote textarea{min-height:68px}.saveSurfaceNote{width:100%;margin-top:8px}.wholeToothCard{grid-column:1/-1}.wholeToothCard>div{flex-wrap:wrap;gap:7px;display:flex}.toothFindings{background:#fff;border-top:1px solid #e0e8ee;padding:16px 20px}.toothFindings>b{font-size:11px}.toothFindings>div{flex-wrap:wrap;gap:7px;margin-top:9px;display:flex}.toothFindings span{color:var(--text-muted);background:#f4f7f9;border-radius:8px;align-items:center;gap:5px;padding:7px 9px;font-size:9px;display:flex}.toothFindings small{color:var(--text-subtle);margin-top:7px;display:block}.toothSvg{width:54px;height:64px}.toothBody{fill:#fff;stroke:#bfcbd5;stroke-width:2px}.toothDetail{fill:none;stroke:#d6dfe6;stroke-width:1.5px}.tooth.caries .toothBody{fill:#fff4f4;stroke:#ef6d6d}.tooth.restoration .toothBody{fill:#eef7ff;stroke:#65a0d7}.tooth.crown .toothBody{fill:#fff8e6;stroke:#d4a84d}.tooth.missing .toothBody{opacity:.28}.tooth.implant .toothBody{fill:#f2effc;stroke:#7b67b7}.tooth.extraction .toothBody{fill:#fff1f1;stroke:#d76060}.tooth.endo .toothBody{fill:#fff5e9;stroke:#ef9b45}.tooth.observation .toothBody{fill:#eef8f1;stroke:#54a277}.conditionMark.cariesMark{fill:#ef6d6d}.conditionMark.restorationMark{fill:#65a0d7}.extractionMark{stroke:var(--red-500)}.observationMark{stroke:var(--mint-500)}.plansGrid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.planCard{background:var(--white);border:1px solid var(--ink-200);border-radius:var(--radius-md);padding:15px}.planHead{justify-content:space-between;gap:10px;display:flex}.planHead b,.planHead span{display:block}.planHead b{font-size:13px}.planHead span{color:var(--text-subtle);margin-top:3px;font-size:12px}.planHead select{width:auto;padding:6px;font-size:12px}.planItems{margin-top:14px}.planItems>div{border-top:1px solid var(--ink-200);justify-content:space-between;padding:8px 0;font-size:12px;display:flex}.planTotal{border-top:2px solid var(--ink-200);justify-content:space-between;margin-top:5px;padding-top:12px;display:flex}.planTotal span{font-size:12px}.planTotal b{font-size:16px}.paymentProgress{background:var(--surface-app);color:var(--text-muted);border-radius:8px;justify-content:space-between;margin-top:10px;padding:9px;font-size:12px;display:flex}.linkBtn{color:var(--lilac-700);cursor:pointer;background:0 0;border:0;font-size:12px}.empty{text-align:center;color:var(--text-subtle);padding:28px;font-size:12px}@media (max-width:1100px){.clinicalGrid{grid-template-columns:1fr}.clinicalGrid>.panel:first-child{grid-column:auto}.arch{grid-template-columns:repeat(8,minmax(44px,1fr));row-gap:28px}.arch.primaryArch{grid-template-columns:repeat(5,minmax(48px,1fr))}.toothEditorGrid{grid-template-columns:1fr}.wholeToothCard{grid-column:auto}.plansGrid{grid-template-columns:1fr}}@media (max-width:760px){.patientSummary{grid-template-columns:1fr}.patientSelector{justify-content:stretch}.patientSelector label{flex-direction:column;align-items:stretch;width:100%}.patientSelector select{min-width:0}.odontogramToolbar{flex-direction:column;align-items:stretch}.dentitionToggle button{flex:1}.arch,.arch.primaryArch{grid-template-columns:repeat(4,minmax(48px,1fr));row-gap:30px;padding-top:20px;overflow:hidden}.toothEditorGrid{padding:10px}.surfaceMap{grid-template-columns:1fr 1.15fr 1fr}.conditionPalette{grid-template-columns:1fr}.wholeToothCard>div{grid-template-columns:1fr 1fr;display:grid}.toothEditor>header{padding:14px}.odontogramLegend{gap:8px}.odontogramLegend span{font-size:8px}}.publicFormPage{background:var(--surface-app);min-height:100vh;padding:40px 18px}.publicFormCard{background:var(--white);border:1px solid var(--ink-200);border-radius:var(--radius-lg);width:min(760px,100%);margin:auto;padding:28px;box-shadow:0 15px 45px #1d193414}.publicBrand{border-bottom:1px solid var(--ink-200);justify-content:space-between;align-items:center;padding-bottom:14px;display:flex}.publicBrand span{color:var(--text-muted);font-size:12px}.publicFormCard h1{margin-bottom:6px}.publicFormCard>p{color:var(--text-muted);font-size:12px;line-height:1.5}.anamnesisForm{margin-top:25px}.anamnesisForm h2{border-bottom:1px solid var(--ink-200);margin:26px 0 12px;padding-bottom:7px;font-size:15px}.anamnesisForm>label{color:var(--text-muted);flex-direction:column;gap:6px;margin:12px 0;font-size:12px;display:flex}.yesNo{border-bottom:1px solid var(--ink-200);grid-template-columns:1fr auto auto;align-items:center;gap:13px;padding:10px 0;display:grid}.yesNo>span{font-size:12px}.yesNo label{align-items:center;gap:4px;font-size:12px;display:flex}.yesNo input{width:auto}.checkLine{align-items:flex-start;flex-direction:row!important}.checkLine input{width:auto;margin-top:2px}.successCard{text-align:center;padding:70px 30px}.successIcon{background:var(--surface-app);width:64px;height:64px;color:var(--green-700);border-radius:50%;place-items:center;margin:0 auto 18px;font-size:28px;display:grid}.signatureBox{border:1px solid var(--ink-200);border-radius:var(--radius-md);background:var(--white);overflow:hidden}.signatureBox canvas{touch-action:none;background:linear-gradient(var(--white),var(--surface-app));width:100%;display:block}.signatureActions{border-top:1px solid var(--ink-200);justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.signatureActions small{color:var(--text-subtle);font-size:12px}.signatureActions button{background:var(--surface-app);cursor:pointer;border:0;border-radius:6px;padding:6px 10px;font-size:12px}.consentText{background:var(--surface-app);border:1px solid var(--ink-200);border-radius:var(--radius-md);color:var(--text-body);margin:20px 0;padding:15px;font-size:12px;line-height:1.6}.publicLabel{color:var(--text-muted);flex-direction:column;gap:6px;margin:12px 0;font-size:12px;display:flex}.consentSubmit{margin-top:16px}.filesPage{background:var(--surface-app);min-height:100vh;padding:30px}.filesHeader{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.filesHeader h1{margin:0 0 5px}.filesHeader p{color:var(--text-subtle);margin:0}.filesHeader a{color:var(--text-link);text-decoration:none}.uploadForm label{color:var(--text-muted);flex-direction:column;gap:5px;font-size:12px;display:flex}.uploadForm button{align-self:end}.filesList h2{font-size:15px}.fileRow{border-top:1px solid var(--ink-200);justify-content:space-between;align-items:center;padding:11px 0;display:flex}.fileRow b,.fileRow span{display:block}.fileRow b{font-size:12px}.fileRow span{color:var(--text-subtle);margin-top:4px;font-size:12px}.fileRow button{background:var(--surface-app);color:var(--lilac-700);cursor:pointer;border:0;border-radius:7px;padding:7px 10px;font-size:12px}@media (max-width:760px){.uploadForm{grid-template-columns:1fr}.filesPage{padding:18px}}.publicActionPage{background:var(--surface-app);place-items:center;min-height:100vh;padding:24px;display:grid}.actionCard{background:var(--white);border:1px solid var(--ink-200);border-radius:var(--radius-lg);width:min(620px,100%);padding:27px;box-shadow:0 18px 55px #1d19341a}.actionBrand{border-bottom:1px solid var(--ink-200);justify-content:space-between;align-items:center;padding-bottom:13px;display:flex}.actionBrand b{font-size:13px}.actionBrand span{color:var(--text-subtle);font-size:12px}.actionCard h1{margin:22px 0 7px;font-size:25px}.actionCard>p{color:var(--text-muted);font-size:12px;line-height:1.5}.statusCallout{background:var(--surface-app);border-radius:var(--radius-md);margin:18px 0;padding:11px;font-size:12px}.actionMessage{background:var(--surface-app);color:var(--green-700);border-radius:8px;margin:12px 0;padding:10px;font-size:12px}.actionButtons{gap:9px;margin:16px 0;display:flex}.confirmBtn{background:var(--green-700);width:100%;color:var(--white);border-radius:var(--radius-md);cursor:pointer;border:0;padding:12px;font-weight:600}.rescheduleBox{border-top:1px solid var(--ink-200);margin-top:20px;padding-top:18px}.rescheduleBox h2{font-size:15px}.rescheduleBox label{color:var(--text-muted);flex-direction:column;gap:5px;margin:10px 0;font-size:12px;display:flex}.docButtons{gap:10px;margin-top:20px;display:flex}.receptionPage{background:var(--surface-app);min-height:100vh;padding:28px}.receptionHeader{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.receptionHeader span{color:var(--text-subtle);letter-spacing:.08em;font-size:12px;font-weight:600}.receptionHeader h1{margin:3px 0 4px}.receptionHeader p{color:var(--text-subtle);margin:0;font-size:12px}.receptionHeader a{color:var(--text-link);font-size:12px;text-decoration:none}.receptionMetrics{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;display:grid}.receptionCard{background:var(--white);border:1px solid var(--ink-200);border-radius:var(--radius-md);padding:15px}.receptionCard span{color:var(--text-subtle);font-size:12px;display:block}.receptionCard b{margin-top:6px;font-size:24px;display:block}.receptionGrid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.receptionList{display:grid}.receptionRow{border-top:1px solid var(--ink-200);justify-content:space-between;align-items:center;gap:12px;padding:11px 0;display:flex}.receptionRow:first-child{border-top:0}.receptionRow b,.receptionRow span,.receptionRow small{display:block}.receptionRow b{font-size:12px}.receptionRow span{color:var(--text-muted);margin-top:3px;font-size:12px}.receptionRow small{color:var(--text-subtle);margin-top:4px;font-size:12px}.receptionRow button,.rowActions button{background:var(--surface-app);color:var(--lilac-700);cursor:pointer;border:0;border-radius:7px;padding:7px 9px;font-size:12px}.rowActions{align-items:center;gap:7px;display:flex}.miniStatus{background:var(--surface-app);border-radius:999px;padding:5px 7px;font-size:8px;font-style:normal}.miniStatus.confirmed{background:var(--surface-app);color:var(--green-700)}.miniStatus.reschedule{background:var(--orange-50);color:var(--text-brand)}.messagePanel{margin-top:15px}.slotChoices{grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0;display:grid}.slotChoices label{background:var(--surface-app);border:1px solid var(--ink-200);border-radius:8px;align-items:center;gap:6px;padding:8px;font-size:12px;display:flex}.slotChoices input{width:auto}.availableSlotsTitle{border-top:1px solid var(--ink-200);margin-top:22px;padding-top:18px}.availableSlotsTitle h2{margin-bottom:4px;font-size:15px}.availableSlotsTitle p{color:var(--text-subtle);font-size:12px}.publicSlots{grid-template-columns:repeat(2,1fr);gap:9px;display:grid}.publicSlots button{border:1px solid var(--ink-200);background:var(--surface-app);border-radius:var(--radius-md);text-align:left;cursor:pointer;padding:12px}.publicSlots button:hover{border-color:var(--lilac-500);background:var(--surface-app)}.publicSlots b,.publicSlots span,.publicSlots small{display:block}.publicSlots b{font-size:12px}.publicSlots span{margin:4px 0;font-size:16px;font-weight:600}.publicSlots small{color:var(--text-subtle);font-size:12px}@media (max-width:900px){.receptionMetrics{grid-template-columns:1fr 1fr}.receptionGrid{grid-template-columns:1fr}}@media (max-width:600px){.receptionPage{padding:16px}.receptionMetrics{grid-template-columns:1fr}.slotChoices{grid-template-columns:1fr 1fr}.publicSlots{grid-template-columns:1fr}}.quoteCardActions{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.quoteCardActions button{padding:8px 10px;font-size:12px}.quoteValidity{color:var(--text-subtle);margin-top:9px;font-size:12px;display:block}.quotePage{background:var(--surface-app);min-height:100vh;color:var(--text-strong);padding:32px 18px}.quotePaper{background:var(--white);border:1px solid var(--ink-200);border-radius:var(--radius-lg);width:min(900px,100%);margin:auto;padding:32px;box-shadow:0 20px 60px #1d19341a}.quoteLoading{text-align:center;padding:70px 32px}.quoteHeader{border-bottom:3px solid var(--orange-600);justify-content:space-between;align-items:center;padding-bottom:18px;display:flex}.quoteBrand{align-items:center;gap:13px;display:flex}.quoteBrand img{object-fit:cover;background:var(--ink-900);border:2px solid var(--orange-600);border-radius:50%;width:58px;height:58px}.quoteBrand b,.quoteBrand span,.quoteNumber span,.quoteNumber b{display:block}.quoteBrand b{font-size:18px}.quoteBrand span{color:var(--text-muted);margin-top:4px;font-size:12px}.quoteNumber{text-align:right}.quoteNumber span{text-transform:uppercase;letter-spacing:.1em;color:var(--text-subtle);font-size:12px}.quoteNumber b{margin-top:5px;font-size:14px}.quoteIntro{background:var(--surface-app);border-radius:var(--radius-md);grid-template-columns:2fr 1fr 1fr;gap:14px;margin:22px 0;padding:15px;display:grid}.quoteIntro span,.quoteIntro b{display:block}.quoteIntro span{color:var(--text-subtle);text-transform:uppercase;font-size:12px}.quoteIntro b{margin-top:4px;font-size:12px}.quoteTitle{justify-content:space-between;align-items:flex-start;gap:15px;margin:24px 0 15px;display:flex}.quoteTitle span{color:var(--text-subtle);font-size:12px}.quoteTitle h1{margin:4px 0;font-size:24px}.quoteStatus{background:var(--surface-app);color:var(--text-muted);white-space:nowrap;border-radius:999px;padding:7px 10px;font-size:12px;font-style:normal;font-weight:600}.quoteStatus.approved{background:var(--surface-app);color:var(--green-700)}.quoteStatus.rejected,.quoteStatus.cancelled{background:var(--surface-app);color:var(--danger)}.quoteStatus.presented{background:var(--orange-50);color:var(--text-brand)}.quoteTable{border:1px solid var(--ink-200);border-radius:var(--radius-md);overflow:hidden}.quoteTableHead,.quoteTableRow{grid-template-columns:minmax(260px,2fr) 70px 120px 120px;align-items:center;gap:12px;display:grid}.quoteTableHead{background:var(--ink-800);color:var(--white);text-transform:uppercase;padding:11px 14px;font-size:12px}.quoteTableRow{border-top:1px solid var(--ink-200);padding:13px 14px;font-size:12px}.quoteTableRow:first-of-type{border-top:0}.quoteTableRow b,.quoteTableRow small{display:block}.quoteTableRow small{color:var(--text-subtle);margin-top:3px;font-size:12px}.quoteTableRow strong{text-align:right}.quoteEmpty{text-align:center;color:var(--text-subtle);padding:28px;font-size:12px}.quoteTotals{width:min(380px,100%);margin:18px 0 18px auto}.quoteTotals>div{justify-content:space-between;padding:7px 0;font-size:12px;display:flex}.quoteGrandTotal{border-top:2px solid var(--ink-800);margin-top:5px;padding-top:12px!important}.quoteGrandTotal strong{color:var(--text-brand);font-size:20px}.quoteNotes{background:var(--surface-app);border-radius:var(--radius-md);margin-top:18px;padding:14px}.quoteNotes b{font-size:12px}.quoteNotes p{color:var(--text-muted);white-space:pre-wrap;margin:7px 0 0;font-size:12px;line-height:1.5}.quoteAlert{background:var(--orange-50);color:var(--text-brand);border:1px solid var(--orange-200);border-radius:var(--radius-md);margin:15px 0;padding:12px;font-size:12px}.quoteMessage{background:var(--surface-app);color:var(--green-700);border-radius:var(--radius-md);margin:15px 0;padding:12px;font-size:12px}.quoteResponse{border-top:1px solid var(--ink-200);margin-top:24px;padding-top:20px}.quoteResponse h2{font-size:16px}.quoteResponse textarea{width:100%;min-height:75px;margin:7px 0 10px}.quoteResponse>div{justify-content:flex-end;gap:9px;display:flex}.quoteResponse button{border-radius:var(--radius-md);cursor:pointer;border:0;padding:11px 15px;font-weight:600}.quoteReject{background:var(--surface-app);color:var(--text-body)}.quoteApprove{background:var(--gradient-button);color:var(--white)}.quoteActions{flex-wrap:wrap;gap:10px;margin:20px 0;display:flex}.quoteActions button,.quoteActions a{border:1px solid var(--ink-200);background:var(--white);color:var(--ink-800);border-radius:var(--radius-md);cursor:pointer;padding:10px 13px;font-size:12px;text-decoration:none}.quoteActions a{background:var(--green-700);color:var(--white);border-color:var(--mint-500)}.quoteFooter{border-top:1px solid var(--ink-200);justify-content:space-between;align-items:center;gap:18px;margin-top:24px;padding-top:18px;display:flex}.quoteFooter b,.quoteFooter span{display:block}.quoteFooter b{font-size:12px}.quoteFooter span{color:var(--text-subtle);margin-top:4px;font-size:12px}.quoteFooter nav{gap:8px;display:flex}.quoteFooter nav a{background:var(--ink-900);color:var(--white);border-radius:8px;padding:9px 12px;font-size:12px;text-decoration:none}.quoteFooter nav a:first-child{background:var(--gradient-button)}.printSocial{color:var(--text-muted);font-size:12px;display:none}@media (max-width:700px){.quotePaper{padding:20px}.quoteHeader,.quoteFooter{align-items:flex-start}.quoteIntro{grid-template-columns:1fr}.quoteTitle{flex-direction:column}.quoteTable{overflow-x:auto}.quoteTableHead,.quoteTableRow{min-width:650px}.quoteFooter{flex-direction:column}.quoteResponse>div{grid-template-columns:1fr 1fr;display:grid}.quoteResponse button{width:100%}}@media print{body{background:var(--white)!important}.quotePage{background:var(--white);padding:0}.quotePaper{width:100%;box-shadow:none;border:0;border-radius:0;padding:12mm}.noPrint{display:none!important}.printSocial{display:block}.quoteTableHead{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:var(--ink-800)!important;color:var(--white)!important}.quoteGrandTotal strong{color:var(--text-brand)!important}}.clinicSettingsForm{margin-top:8px}.clinicLogoEditor{background:var(--surface-app);border:1px solid var(--ink-200);border-radius:var(--radius-md);align-items:center;gap:18px;margin:14px 0 4px;padding:16px;display:flex}.clinicLogoPreview{border:2px dashed var(--ink-200);border-radius:var(--radius-md);background:var(--white);width:92px;min-width:92px;height:92px;color:var(--text-subtle);place-items:center;font-size:10px;display:grid;overflow:hidden}.clinicLogoPreview img{object-fit:contain;width:100%;height:100%}.clinicLogoEditor b,.clinicLogoEditor p{display:block}.clinicLogoEditor p{color:var(--text-subtle);margin:5px 0 10px;font-size:12px}.clinicLogoEditor input{font-size:12px}.planPaymentTerms{background:var(--surface-app);border:1px solid var(--orange-200);border-radius:8px;grid-template-columns:1fr auto;gap:4px 12px;margin-top:9px;padding:9px;display:grid}.planPaymentTerms span,.planPaymentTerms b{font-size:12px}.planPaymentTerms small{color:var(--text-brand);grid-column:1/-1;font-size:12px}.quoteDentist{background:var(--surface-app);border-left:4px solid var(--orange-600);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;padding:11px 13px;display:flex}.quoteDentist span{color:var(--text-brand);text-transform:uppercase;font-size:12px}.quoteDentist b{font-size:12px}.quoteDentist small{color:var(--text-brand);font-size:12px}.quotePayment{background:var(--surface-app);border:1px solid var(--ink-200);border-radius:var(--radius-md);margin:18px 0;padding:14px}.quotePayment>b{font-size:12px}.quotePayment>div{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.quotePayment span{font-size:12px}.quotePayment strong{color:var(--text-brand);font-size:16px}.quotePayment p{color:var(--text-muted);margin:8px 0 0;font-size:12px}.quoteFooter>div{min-width:0}.quoteFooter small{color:var(--text-subtle);margin-top:3px;font-size:12px;display:block}@media (max-width:700px){.clinicLogoEditor{flex-direction:column;align-items:flex-start}.quoteIntro{grid-template-columns:1fr 1fr}.quoteFooter{align-items:stretch}}.topSocialLinks{border:1px solid var(--ink-200);border-radius:var(--radius-md);background:var(--white);align-items:center;gap:3px;margin-right:4px;padding:3px;display:flex}.topSocialLinks a{color:var(--text-muted);white-space:nowrap;border-radius:6px;align-items:center;gap:4px;padding:7px 8px;font-size:12px;line-height:1;text-decoration:none;transition:all .2s;display:flex}.topSocialLinks a:hover{background:var(--surface-app);color:var(--text-strong)}.topSocialLinks i{color:var(--text-brand);font-style:normal;font-weight:600}@media (max-width:980px){.topSocialLinks span{display:none}.topSocialLinks a{padding:6px 8px;font-size:12px}}@media (max-width:760px){.topSocialLinks{order:3;margin-right:0}.headerActions>.secondary,.headerActions>.primary{flex:1}}.brandSocialLinks{justify-content:center;gap:2px;margin-top:auto;padding:9px 4px 6px;display:flex}.brandSocialLinks a{color:var(--text-subtle);white-space:nowrap;border-radius:6px;align-items:center;gap:3px;padding:4px 5px;font-size:12px;line-height:1;text-decoration:none;transition:all .2s;display:flex}.brandSocialLinks a:hover{color:var(--white);background:var(--ink-900)}.brandSocialLinks i{font-style:normal;font-weight:600}.brandSocialLinks+.userCard{margin-top:0}.quoteLocation{background:var(--surface-app);border:1px solid var(--ink-200);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:15px;margin:18px 0;padding:13px 14px;display:flex}.quoteLocation span,.quoteLocation b{display:block}.quoteLocation span{text-transform:uppercase;color:var(--text-subtle);font-size:12px}.quoteLocation b{margin-top:4px;font-size:12px;line-height:1.45}.quoteLocation a{background:var(--ink-800);color:var(--white);border-radius:8px;flex:none;padding:9px 11px;font-size:12px;text-decoration:none}@media (max-width:760px){.brandSocialLinks span{display:none}.brandSocialLinks{gap:3px;padding:8px 0}.brandSocialLinks a{padding:5px;font-size:12px}.quoteLocation{flex-direction:column;align-items:flex-start}}@media print{.quoteLocation a{color:var(--text-strong);background:0 0;padding:0;text-decoration:underline}}.kanban{grid-template-columns:none;grid-auto-columns:minmax(235px,1fr);grid-auto-flow:column;padding-bottom:12px;overflow-x:auto}.kanbanCol{background:var(--ink-100);border:1px solid var(--ink-200);border-radius:var(--radius-md);min-height:360px;padding:11px}.kanbanHead{grid-template-columns:1fr auto;align-items:center;gap:5px;padding:4px 3px 11px;font-size:12px;display:grid}.kanbanHead>span{background:var(--white);min-width:22px;height:22px;color:var(--text-strong);border-radius:999px;place-items:center;font-weight:600;display:grid}.kanbanHead>b{color:var(--text-brand);grid-column:1/-1;font-size:15px}.kanbanCard{background:var(--white);border:1px solid var(--ink-200);border-radius:var(--radius-md);gap:7px;margin-bottom:9px;padding:12px;display:grid;box-shadow:0 2px 7px #1d19340a}.kanbanCard>strong{font-size:13px}.kanbanCard>small{color:var(--text-muted);font-size:12px;line-height:1.35}.kanbanCard>.ghost{justify-self:start;padding:7px 9px}.kanbanCard select,.calendarEvent select{border:1px solid var(--ink-200);background:var(--white);width:100%;color:var(--text-strong);border-radius:7px;padding:7px;font-size:12px}.opportunityValue{color:var(--text-strong);font-size:17px}.calendarEvent select{margin-top:7px;padding:5px}@media (max-width:760px){.kanban{grid-auto-columns:minmax(245px,82vw)}}.sectionActions>div+.primary{white-space:nowrap;align-self:center;width:auto;height:auto;min-height:0;padding:10px 14px}.arch{background:linear-gradient(#fbfdff,#f4f7fa);border:1px solid #e2e9ef;border-radius:28px;grid-template-columns:repeat(16,minmax(48px,1fr));gap:4px;margin:32px 0 28px;padding:22px 12px 16px;display:grid;position:relative;overflow:visible}.arch.bottom{background:linear-gradient(#f4f7fa,#fbfdff);margin-top:42px}.arch:after{content:"";pointer-events:none;border-left:1px dashed #ccd7df;position:absolute;top:12px;bottom:12px;left:50%}.toothWrap{transition:transform .2s;position:relative}.toothWrap.upper{transform:translateY(calc(var(--arch-offset) * -1))}.toothWrap.lower{transform:translateY(var(--arch-offset))}.tooth{--tooth-fill:#fff;--tooth-stroke:#9aabb8;cursor:pointer;background:0 0;border:0;border-radius:13px;width:100%;height:108px;padding:2px;transition:background .18s,transform .18s;position:relative}.tooth:hover,.tooth:focus-visible{background:#e9f1f7;outline:none;transform:scale(1.06)}.tooth span{color:var(--text-body);font-size:9px;font-weight:800;position:absolute;top:-14px;left:0;right:0}.toothSvg{filter:drop-shadow(0 2px 1px #10263e14);width:100%;height:102px;display:block;overflow:visible}.toothBody{fill:var(--tooth-fill);stroke:var(--tooth-stroke);stroke-width:2px;stroke-linejoin:round}.toothDetail{fill:none;stroke:#c3ced6;stroke-width:1.3px;stroke-linecap:round}.tooth.caries{--tooth-fill:#fff2f2;--tooth-stroke:#ef6d6d}.tooth.restoration{--tooth-fill:#eef7ff;--tooth-stroke:#65a0d7}.tooth.crown{--tooth-fill:#fff8e5;--tooth-stroke:#d4a84d}.tooth.missing{--tooth-fill:#f3f5f7;--tooth-stroke:#aeb8c0}.tooth.implant{--tooth-fill:#f4f0ff;--tooth-stroke:#7b67b7}.tooth.extraction{--tooth-fill:#fff1f1;--tooth-stroke:#d76060}.tooth.endo{--tooth-fill:#fff6ea;--tooth-stroke:#ef9b45}.tooth.observation{--tooth-fill:#eef9f1;--tooth-stroke:#54a277}.tooth.missing .toothBody{fill:#0000;stroke-dasharray:4 3;opacity:.55}.tooth.missing .toothDetail{opacity:.3}.conditionMark{stroke-width:1.5px}.cariesMark{fill:var(--red-700);stroke:var(--red-500)}.restorationMark{fill:var(--lilac-700);stroke:var(--lilac-500)}.conditionLine{fill:none;stroke-width:3px;stroke-linecap:round}.crownMark{stroke:var(--butter-500)}.extractionMark{stroke:var(--red-500);stroke-width:4px}.endoMark{stroke:var(--orange-600)}.observationMark{stroke:var(--mint-500);stroke-width:3px;stroke-dasharray:3 3}.implantMark{fill:var(--lilac-700);stroke:var(--lilac-500);stroke-width:1.5px}.toothMenu{width:165px;padding:7px;top:108px}.toothMenu>b{color:var(--text-strong);border-bottom:1px solid #edf1f4;padding:6px 7px 8px;font-size:11px;display:block}.toothMenu button{align-items:center;gap:7px;display:flex}.toothMenu button.selected{color:var(--text-strong);background:#edf3f7;font-weight:800}.toothMenu .toothState{flex:none}@media (max-width:980px){.arch{grid-template-columns:repeat(16,52px);padding-top:24px;overflow:auto visible}.toothMenu{width:min(280px,86vw);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}}.patientIdentity{align-items:center;gap:10px;min-width:170px;display:flex}.patientPhoto{object-fit:cover;border:1px solid var(--ink-200);background:var(--surface-app);border-radius:50%;flex:0 0 42px;width:42px;height:42px}.patientPhotoFallback{background:var(--surface-app);color:var(--lilac-700);place-items:center;font-size:12px;font-weight:600;display:grid}.photoInput{background:var(--surface-app);padding:7px}.photoInput::file-selector-button{background:var(--surface-app);color:var(--lilac-700);cursor:pointer;border:0;border-radius:7px;margin-right:10px;padding:8px 11px;font-weight:600}.fieldHelp{color:var(--text-subtle);font-size:12px}.recordPatientIdentity{border-bottom:1px solid var(--ink-200);align-items:center;gap:14px;margin-bottom:15px;padding-bottom:14px;display:flex}.recordPatientIdentity>div{flex-direction:column;gap:2px;display:flex}.recordPatientIdentity>div span{color:var(--text-subtle);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.recordPatientIdentity>div b{color:var(--text-strong);font-size:14px}.recordPatientPhoto{object-fit:cover;border:1px solid var(--ink-200);background:var(--surface-app);border-radius:50%;flex:0 0 64px;width:64px;height:64px}.recordPatientPhotoFallback{background:var(--surface-app);color:var(--lilac-700);place-items:center;font-size:15px;font-weight:600;display:grid}.recordPhotoAction{border:1px solid var(--ink-200);background:var(--white);color:var(--lilac-700);cursor:pointer;border-radius:8px;margin-left:auto;padding:7px 10px;font-size:12px;font-weight:600;transition:background .15s,border-color .15s}.recordPhotoAction:hover{background:var(--surface-app);border-color:var(--ink-300)}.recordPhotoAction input{display:none}@media (max-width:640px){.recordPatientPhoto{flex-basis:56px;width:56px;height:56px}.recordPatientIdentity{gap:10px}.recordPhotoAction{padding:6px 8px}}.masterPage{background:var(--surface-app);min-height:100vh;color:var(--text-strong);padding:28px}.masterShell{max-width:1500px;margin:0 auto}.masterHeader{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.masterEyebrow{color:var(--text-brand);letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:600}.masterHeader h1{margin:0;font-size:32px}.masterHeader p{color:var(--text-muted);margin:6px 0 0}.masterIdentity{background:var(--white);border:1px solid var(--ink-200);border-radius:var(--radius-lg);align-items:center;gap:12px;padding:10px 12px;display:flex;box-shadow:0 5px 16px #1d19340d}.masterIdentity span{font-size:13px;display:grid}.masterIdentity small{color:var(--text-muted)}.masterButton{border-radius:var(--radius-md);background:var(--gradient-button);color:var(--white);cursor:pointer;border:0;padding:10px 14px;font-weight:600;text-decoration:none}.masterButton.secondary{background:var(--surface-app);color:var(--ink-800)}.masterFilters{background:var(--white);border:1px solid var(--ink-200);border-radius:var(--radius-lg);flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:18px;padding:16px;display:flex}.masterFilters label{color:var(--text-muted);gap:6px;font-size:12px;display:grid}.masterFilters input,.masterFilters select,.masterSearch{border:1px solid var(--ink-200);border-radius:var(--radius-md);background:var(--white);height:40px;color:var(--text-strong);padding:0 11px}.masterMetrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.masterMetric{background:var(--white);border:1px solid var(--ink-200);border-radius:var(--radius-lg);padding:17px;box-shadow:0 5px 16px #1d19340a}.masterMetric span{color:var(--lilac-700);margin-bottom:8px;font-size:12px;display:block}.masterMetric strong{font-size:25px}.masterMetric small{color:var(--text-subtle);margin-top:7px;display:block}.masterGrid{grid-template-columns:1.15fr .85fr;gap:14px;margin-bottom:18px;display:grid}.masterPanel{background:var(--white);border:1px solid var(--ink-200);border-radius:var(--radius-lg);padding:18px;overflow:hidden}.masterPanel h2{margin:0 0 4px;font-size:18px}.masterPanel>p{color:var(--text-muted);margin:0 0 18px;font-size:12px}.masterBarRow{margin:14px 0}.masterBarLabel{justify-content:space-between;gap:12px;margin-bottom:6px;font-size:12px;font-weight:600;display:flex}.masterBarTrack{background:var(--surface-app);border-radius:999px;height:12px;overflow:hidden}.masterBarFill{border-radius:inherit;background:var(--gradient-button);min-width:2px;height:100%}.masterStatusGrid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.masterStatus{border:1px solid var(--ink-200);border-radius:var(--radius-md);padding:12px}.masterStatus strong{font-size:22px;display:block}.masterStatus span{color:var(--text-muted);font-size:12px}.masterTableHeader{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.masterTableHeader h2{margin:0}.masterSearch{min-width:260px}.masterTableWrap{overflow:auto}.masterTable{border-collapse:collapse;white-space:nowrap;width:100%;font-size:13px}.masterTable th,.masterTable td{text-align:left;border-top:1px solid var(--ink-200);padding:12px 10px}.masterTable th{color:var(--text-muted);text-transform:uppercase;font-size:12px}.masterTable td:first-child{white-space:normal;min-width:200px}.masterBadge{background:var(--surface-app);color:var(--text-body);border-radius:999px;padding:5px 9px;font-size:12px;font-weight:600;display:inline-flex}.masterBadge.active{background:var(--green-100);color:var(--green-700)}.masterBadge.past_due,.masterBadge.expired{background:var(--red-100);color:var(--danger)}.masterBadge.trialing,.masterBadge.checkout_pending{background:var(--orange-50);color:var(--text-brand)}.masterEmpty{text-align:center;color:var(--text-subtle);padding:28px}@media (max-width:1100px){.masterMetrics{grid-template-columns:repeat(2,1fr)}.masterGrid{grid-template-columns:1fr}}@media (max-width:700px){.masterPage{padding:16px}.masterHeader{flex-direction:column}.masterIdentity{justify-content:space-between;width:100%}.masterMetrics{grid-template-columns:1fr}.masterFilters>*,.masterFilters input,.masterFilters select{width:100%}.masterTableHeader{flex-direction:column;align-items:stretch}.masterSearch{width:100%;min-width:0}}.masterLoading{background:var(--surface-app);min-height:100vh;color:var(--text-muted);place-items:center;font-weight:600;display:grid}.masterHeaderActions{align-items:center;gap:10px;display:flex}.masterHeaderActions .secondary{border-radius:var(--radius-md);background:var(--surface-app);color:var(--ink-800);cursor:pointer;border:0;padding:10px 14px}.masterLink{font-size:13px;text-decoration:none}.masterIdentity{justify-content:space-between;margin-bottom:14px}.masterIdentity>div{gap:2px;display:grid}.masterIdentity>div span{color:var(--text-muted);font-size:12px}.masterFilters>span{color:var(--text-muted);margin-left:auto;font-size:12px}.masterError{border:1px solid var(--red-100);border-radius:var(--radius-md);background:var(--surface-app);color:var(--danger);margin-bottom:14px;padding:12px}.masterMetric.success strong{color:var(--green-700)}.masterMetric.danger strong{color:var(--danger)}.masterPanelHead{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.masterPanelHead h2{margin:0 0 4px}.masterPanelHead p{color:var(--text-muted);margin:0;font-size:12px}.masterBar{margin:15px 0}.masterBar>div{justify-content:space-between;gap:12px;margin-bottom:7px;font-size:12px;display:flex}.masterBar>span{background:var(--surface-app);border-radius:999px;height:13px;display:block;overflow:hidden}.masterBar>span>i{border-radius:inherit;min-width:2px;height:100%;display:block}.masterBar i.green{background:var(--green-700)}.masterBar i.orange{background:var(--gradient-button)}.masterBar i.red{background:var(--red-700)}.masterFinanceNotes{color:var(--text-muted);flex-wrap:wrap;gap:12px;margin-top:18px;font-size:12px;display:flex}.masterFinanceNotes span{border:1px solid var(--ink-200);border-radius:8px;padding:8px 10px}.masterSummaryRow{border-top:1px solid var(--ink-200);justify-content:space-between;align-items:center;padding:13px 2px;display:flex}.masterSummaryRow>span{align-items:center;gap:8px;display:flex}.masterSummaryRow i{background:var(--ink-400);border-radius:50%;width:9px;height:9px}.masterSummaryRow i.active{background:var(--green-700)}.masterSummaryRow i.trial{background:var(--lilac-700)}.masterSummaryRow i.pending{background:var(--gradient-button)}.masterSummaryRow i.overdue{background:var(--red-700)}.masterSummaryRow i.canceled{background:var(--ink-500)}.masterClientsHead{align-items:center}.masterTableFilters{gap:9px;display:flex}.masterTableFilters input,.masterTableFilters select{border:1px solid var(--ink-200);border-radius:var(--radius-md);background:var(--white);height:40px;color:var(--text-strong);padding:0 11px}.masterTableFilters input{min-width:270px}.masterTable td span,.masterTable td small{color:var(--text-muted);margin-top:3px;font-size:12px;display:block}.masterTable .masterStatus{background:var(--surface-app);border:0;border-radius:999px;padding:6px 9px;font-size:12px;font-style:normal;font-weight:600;display:inline-flex}.masterTable .masterStatus.active{background:var(--green-100);color:var(--green-700)}.masterTable .masterStatus.trial{background:var(--ink-200);color:var(--lilac-700)}.masterTable .masterStatus.pending{background:var(--orange-50);color:var(--text-brand)}.masterTable .masterStatus.overdue{background:var(--red-100);color:var(--danger)}@media (max-width:700px){.masterHeaderActions,.masterTableFilters{flex-direction:column;width:100%}.masterHeaderActions>*{text-align:center}.masterFilters>span{margin-left:0}.masterTableFilters input{width:100%;min-width:0}.masterTableFilters select{width:100%}.masterClientsHead{flex-direction:column;align-items:stretch}}.authHelp{color:var(--text-muted);margin:0 0 14px;font-size:12px;line-height:1.5}.authLinks{justify-content:space-between;gap:12px;margin-top:14px;display:flex}.authLinks button,.authBack{color:var(--lilac-700);font:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:3px 0;font-size:12px;text-decoration:underline}.authBack{margin:14px auto 0;display:block}.joinHelp{text-align:center;color:var(--text-subtle);margin:5px 0 0;font-size:12px;line-height:1.4}@media (max-width:460px){.authLinks{flex-direction:column;align-items:center;gap:8px}}.masterAcademySelect{border:1px solid var(--ink-200);background:var(--white);height:34px;color:var(--text-strong);border-radius:8px;padding:0 8px;font-size:12px}.masterAcademySelect:disabled{opacity:.55;cursor:wait}.reportsPage{gap:16px;display:grid}.reportToolbar{background:var(--white);border:1px solid var(--ink-200);border-radius:var(--radius-lg);flex-wrap:wrap;align-items:flex-end;gap:12px;padding:14px 16px;display:flex;box-shadow:0 4px 14px #1d193409}.reportPeriodButtons{background:var(--surface-app);border-radius:var(--radius-md);gap:6px;padding:4px;display:flex}.reportPeriodButtons button,.reportExportActions button{color:var(--lilac-700);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;padding:9px 12px;font-size:12px;font-weight:600}.reportPeriodButtons button.active{background:var(--gradient-button);color:var(--white);box-shadow:0 2px 8px #ff5a1f38}.reportDateRange{align-items:flex-end;gap:8px;display:flex}.reportDateRange label,.reportDentistFilter{color:var(--text-muted);gap:5px;font-size:12px;font-weight:600;display:grid}.reportDateRange input,.reportDentistFilter select{border:1px solid var(--ink-200);background:var(--white);height:38px;color:var(--text-strong);border-radius:8px;min-width:132px;padding:0 10px}.reportDentistFilter{margin-left:auto}.reportDentistFilter select{min-width:210px}.reportExportActions{gap:7px;display:flex}.reportExportActions button{background:var(--surface-app)}.reportExportActions button:hover{background:var(--ink-200)}.reportContext{color:var(--text-muted);align-items:baseline;gap:10px;padding:2px 4px;display:flex}.reportContext span{font-size:12px}.reportContext strong{color:var(--text-strong);font-size:14px}.reportContext small{margin-left:auto;font-size:12px}.reportMetrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.reportMetric{background:var(--white);border:1px solid var(--ink-200);border-radius:var(--radius-lg);min-height:116px;padding:16px 17px;position:relative;overflow:hidden;box-shadow:0 4px 14px #1d193409}.reportMetric:before{content:"";background:var(--ink-800);width:4px;position:absolute;top:0;bottom:0;left:0}.reportMetric.blue:before{background:var(--lilac-700)}.reportMetric.green:before{background:var(--green-700)}.reportMetric.orange:before{background:var(--gradient-button)}.reportMetric>span,.reportMetric>small{color:var(--text-muted);display:block}.reportMetric>span{margin-bottom:10px;font-size:12px}.reportMetric>strong{color:var(--text-strong);font-size:24px;line-height:1.1;display:block}.reportMetric>small{margin-top:9px;font-size:12px}.reportTabs{border-bottom:1px solid var(--ink-200);gap:6px;display:flex;overflow-x:auto}.reportTabs button{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;padding:12px 15px 10px;font-size:12px;font-weight:600}.reportTabs button.active{border-bottom-color:var(--orange-600);color:var(--text-strong)}.reportGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.reportPanel{background:var(--white);border:1px solid var(--ink-200);border-radius:var(--radius-lg);min-width:0;padding:17px;box-shadow:0 4px 14px #1d193408}.reportPanelWide{grid-column:1/-1}.reportPanelHead{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.reportPanelHead h2{color:var(--text-strong);margin:0;font-size:17px}.reportPanelHead p{color:var(--text-subtle);margin:4px 0 0;font-size:12px}.reportPanelHead>strong{color:var(--text-strong);font-size:20px}.reportPanelHead>strong.positive{color:var(--green-700)}.reportPanelHead>strong.negative{color:var(--danger)}.reportSummaryGrid{border:1px solid var(--ink-200);border-radius:var(--radius-md);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.reportSummary{border-right:1px solid var(--ink-200);border-bottom:1px solid var(--ink-200);min-height:78px;padding:15px}.reportSummary:nth-child(4n){border-right:0}.reportSummary:nth-last-child(-n+4){border-bottom:0}.reportSummary span{color:var(--text-muted);margin-bottom:8px;font-size:12px;display:block}.reportSummary strong{color:var(--text-strong);font-size:18px;display:block}.reportSummary.danger strong{color:var(--danger)}.reportBar{margin:13px 0}.reportBar>div{justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;font-size:12px;display:flex}.reportBar>div span{color:var(--text-body);font-weight:600}.reportBar>div strong{color:var(--text-strong)}.reportBar>span{background:var(--surface-app);border-radius:999px;height:11px;display:block;overflow:hidden}.reportBar i{border-radius:inherit;background:var(--gradient-button);min-width:2px;height:100%;display:block}.reportBar i.blue{background:var(--lilac-700)}.reportBar i.green{background:var(--green-700)}.reportBar i.orange{background:var(--gradient-button)}.reportBar i.red{background:var(--red-700)}.reportBar i.navy{background:var(--ink-800)}.reportFinanceBars{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 22px;display:grid}.reportPipeline{grid-template-columns:repeat(6,minmax(140px,1fr));gap:9px;padding-bottom:5px;display:grid;overflow-x:auto}.reportPipelineStage{border:1px solid var(--ink-200);border-top:3px solid var(--orange-600);border-radius:var(--radius-md);background:var(--surface-app);min-height:100px;padding:12px;position:relative}.reportPipelineStage.lost{border-top-color:var(--red-500)}.reportPipelineStage span,.reportPipelineStage small{color:var(--text-subtle);font-size:12px;display:block}.reportPipelineStage strong{color:var(--text-strong);margin:10px 0 7px;font-size:15px;display:block}.reportTableWrap{overflow:auto}.reportTable{border-collapse:collapse;white-space:nowrap;width:100%;font-size:12px}.reportTable th,.reportTable td{text-align:left;border-top:1px solid var(--ink-200);padding:11px 9px}.reportTable th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:12px}.reportTable td{color:var(--ink-800)}.reportTable td b{color:var(--text-strong)}.reportStatus{background:var(--surface-app);color:var(--text-body);border-radius:999px;padding:5px 8px;font-size:12px;font-weight:600;display:inline-flex}.reportStatus.finished,.reportStatus.arrived{background:var(--green-100);color:var(--green-700)}.reportStatus.confirmed{background:var(--ink-200);color:var(--lilac-700)}.reportStatus.no_show,.reportStatus.cancelled{background:var(--red-100);color:var(--danger)}.reportDentist{align-items:center;gap:8px;min-width:190px;display:flex}.reportDentist img,.reportAvatar{object-fit:cover;border:1px solid var(--ink-200);background:var(--surface-app);border-radius:50%;width:34px;height:34px}.reportAvatar{color:var(--lilac-700);place-items:center;font-size:12px;font-weight:600;display:grid}.reportRank{background:var(--ink-800);width:21px;height:21px;color:var(--white);border-radius:50%;place-items:center;font-size:12px;font-weight:600;display:grid}.dentistReportTable tbody tr:first-child .reportRank{background:var(--gradient-button)}.reportOverdue{border-top:1px solid var(--ink-200);justify-content:space-between;align-items:center;gap:12px;padding:11px 1px;display:flex}.reportOverdue div{gap:3px;display:grid}.reportOverdue b{font-size:12px}.reportOverdue span{color:var(--text-subtle);font-size:12px}.reportOverdue strong{color:var(--danger);font-size:12px}.reportEmpty{text-align:center;color:var(--text-subtle);padding:24px 12px;font-size:12px}@media (max-width:1100px){.reportMetrics,.reportSummaryGrid{grid-template-columns:repeat(2,1fr)}.reportSummary:nth-child(4n){border-right:1px solid var(--ink-200)}.reportSummary:nth-child(2n){border-right:0}.reportSummary:nth-last-child(-n+4){border-bottom:1px solid var(--ink-200)}.reportSummary:nth-last-child(-n+2){border-bottom:0}}@media (max-width:760px){.reportToolbar{align-items:stretch}.reportPeriodButtons{width:100%;overflow-x:auto}.reportDateRange{width:100%}.reportDateRange label{flex:1}.reportDateRange input{width:100%;min-width:0}.reportDentistFilter{width:100%;margin-left:0}.reportDentistFilter select{width:100%;min-width:0}.reportExportActions{width:100%}.reportExportActions button{flex:1}.reportContext{flex-wrap:wrap;align-items:flex-start}.reportContext small{width:100%;margin-left:0}.reportMetrics,.reportGrid,.reportFinanceBars,.reportSummaryGrid{grid-template-columns:1fr}.reportSummary,.reportSummary:nth-child(2n),.reportSummary:nth-child(4n),.reportSummary:nth-last-child(-n+2){border-right:0;border-bottom:1px solid var(--ink-200)}.reportSummary:last-child{border-bottom:0}.reportPanel{padding:14px}}@media print{.sidebar,.headerActions,.reportToolbar,.reportTabs,.socialLinks{display:none!important}.app{display:block!important}.content{padding:0!important}.reportsPage{gap:10px}.reportPanel,.reportMetric{box-shadow:none;break-inside:avoid}.reportGrid{display:block}.reportPanel{margin-bottom:10px}}.teamIdentity{align-items:center;gap:10px;display:flex}.teamPhoto{object-fit:cover;border:2px solid var(--ink-200);border-radius:50%;flex:0 0 42px;width:42px;height:42px;box-shadow:0 0 0 1px #1d1934}.teamPhotoFallback{background:var(--surface-app);color:var(--lilac-700);place-items:center;font-size:12px;font-weight:600;display:grid}.teamPhotoAction{border:1px solid var(--ink-200);background:var(--white);color:var(--ink-800);cursor:pointer;border-radius:8px;align-items:center;padding:7px 10px;font-size:12px;font-weight:600;display:inline-flex}.teamPhotoAction input{display:none}.teamPhotoMuted{color:var(--text-subtle)}.croExpiry{background:var(--surface-app);width:max-content;max-width:100%;color:var(--green-700);border-radius:999px;margin-top:5px;padding:4px 7px;font-size:12px;font-style:normal;font-weight:600;display:block}.croExpiry.urgent{background:var(--orange-50);color:var(--text-brand)}.croExpiry.expired{background:var(--ink-100);color:var(--danger)}.croExpiry.missing{color:var(--text-muted);background:#eef2f5}.sidebarNav{scrollbar-width:thin;scrollbar-color:var(--lilac-500) transparent;flex:1;min-height:0;padding-right:3px;overflow-y:auto}.navGroup{gap:4px;margin-bottom:11px;display:grid}.navGroupLabel{color:var(--lilac-700);letter-spacing:.09em;text-transform:uppercase;padding:2px 12px 4px;font-size:12px;font-weight:600;display:block}.sidebarNav::-webkit-scrollbar{width:5px}.sidebarNav::-webkit-scrollbar-thumb{background:var(--lilac-700);border-radius:999px}@media (max-width:760px){.navGroupLabel{display:none}.navGroup{margin-bottom:6px}}.navPrimary{border-bottom:1px solid #e9e3e614;gap:4px;margin-bottom:8px;padding-bottom:10px;display:grid}.sidebarNav>.navGroup{margin:0 0 7px;display:block}.sidebarNav>.navGroup>summary,.navNested>summary{cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.sidebarNav>.navGroup>summary::-webkit-details-marker{display:none}.navNested>summary::-webkit-details-marker{display:none}.sidebarNav>.navGroup>summary{color:var(--lilac-700);letter-spacing:.09em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:6px 12px;font-size:12px;font-weight:600;display:flex}.sidebarNav>.navGroup>summary i{font-size:12px;font-style:normal}.sidebarNav>.navGroup:not([open])>summary i,.navNested:not([open])>summary b{transform:rotate(-90deg)}.navNested{margin:2px 0 4px}.navNested>summary{border-radius:var(--radius-md);color:var(--ink-300);align-items:center;gap:11px;padding:9px 12px;display:flex}.navNested>summary:hover{background:var(--ink-800);color:var(--white)}.navNested>summary i{text-align:center;width:20px;font-style:normal}.navNested>summary span{font-size:12px;font-weight:600}.navNested>summary b{margin-left:auto;font-size:12px}.navNested>div{gap:3px;padding:3px 0 3px 17px;display:grid}.navNested>div button{padding-top:8px;padding-bottom:8px}.recordTabs{gap:7px;margin:0 0 14px;display:flex}.recordTabs button{border:1px solid var(--ink-200);background:var(--white);color:var(--text-body);cursor:pointer;border-radius:8px;padding:9px 12px;font-size:12px;font-weight:600}.recordTabs button.active{border-color:var(--orange-600);background:var(--gradient-button);color:var(--white)}@media (max-width:760px){.sidebarNav>.navGroup>summary span,.sidebarNav>.navGroup>summary i,.navNested>summary span,.navNested>summary b{display:none}.navNested>div{padding-left:0}.navNested>summary{justify-content:center}.navPrimary{padding-bottom:6px}.recordTabs{flex-wrap:wrap}}.contactMenu{position:relative}.contactMenu>summary{border:1px solid var(--ink-200);border-radius:var(--radius-md);background:var(--white);color:var(--lilac-700);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:10px 12px;font-size:12px;font-weight:600;list-style:none;display:flex}.contactMenu>summary::-webkit-details-marker{display:none}.contactMenu>summary:after{content:"⌄";color:var(--text-brand);font-size:12px}.contactMenu[open]>summary{border-color:var(--orange-200);box-shadow:0 0 0 3px #ff5a1f14}.contactMenuPopover{z-index:40;background:var(--white);border:1px solid var(--ink-200);border-radius:var(--radius-md);gap:4px;width:285px;padding:10px;display:grid;position:absolute;top:calc(100% + 9px);right:0;box-shadow:0 16px 36px #1d193429}.contactMenuPopover>div{border-bottom:1px solid var(--ink-200);gap:3px;margin-bottom:2px;padding:7px 9px 10px;display:grid}.contactMenuPopover>div b{font-size:12px}.contactMenuPopover>div span{color:var(--text-subtle);font-size:12px}.contactMenuPopover a{min-width:0;color:var(--ink-800);border-radius:8px;align-items:center;gap:9px;padding:9px;font-size:12px;text-decoration:none;display:flex}.contactMenuPopover a:hover{background:var(--surface-app);color:var(--text-strong)}.contactMenuPopover a>i{background:var(--surface-app);width:23px;height:23px;color:var(--text-brand);border-radius:7px;flex:0 0 23px;place-items:center;font-style:normal;font-weight:600;display:grid}.contactMenuPopover a>span{gap:2px;min-width:0;display:grid}.contactMenuPopover a small{color:var(--text-subtle);overflow-wrap:anywhere;font-size:12px}@media (max-width:760px){.contactMenu{order:3;width:100%}.contactMenu>summary{justify-content:center}.contactMenuPopover{width:auto;margin-top:8px;position:fixed;top:auto;left:12px;right:12px}}.clinicSocialSection{border-top:1px solid var(--ink-200);margin-top:18px;padding-top:17px}.clinicSocialHeading{margin-bottom:13px}.clinicSocialHeading b{color:var(--text-strong);font-size:13px;display:block}.clinicSocialHeading p,.clinicSocialNote{color:var(--text-muted);margin:4px 0 0;font-size:12px;line-height:1.5}.clinicSocialNote{border-radius:var(--radius-md);background:var(--surface-app);border:1px solid var(--orange-200);color:var(--text-brand);margin-top:11px;padding:10px 12px}.ecosystemHub{background:linear-gradient(135deg,var(--ink-800) 0%,var(--ink-700) 72%,var(--ink-700) 100%);border-radius:var(--radius-lg);color:var(--white);grid-template-columns:minmax(260px,.9fr) minmax(440px,1.35fr);gap:18px;margin-bottom:20px;padding:22px;display:grid;box-shadow:0 18px 38px #1d193426}.ecosystemIntro{padding:6px}.ecosystemIntro>span{color:var(--orange-200);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:600;display:inline-block}.ecosystemIntro h2{margin:10px 0;font-size:24px;line-height:1.15}.ecosystemIntro p{color:var(--ink-300);margin:0;font-size:14px;line-height:1.55}.ecosystemQuickLinks{grid-template-columns:1fr 1fr;gap:10px;display:grid}.ecosystemQuickLinks button{border-radius:var(--radius-md);color:var(--white);text-align:left;cursor:pointer;background:#ffffff14;border:1px solid #e9e3e61f;align-items:center;gap:11px;padding:13px;transition:all .18s;display:flex}.ecosystemQuickLinks button:hover{background:#ffffff24;transform:translateY(-1px)}.ecosystemQuickLinks i{border-radius:var(--radius-md);background:var(--gradient-button);place-items:center;width:29px;height:29px;font-size:12px;font-style:normal;font-weight:600;display:grid}.ecosystemQuickLinks span{flex:1;min-width:0}.ecosystemQuickLinks b,.ecosystemQuickLinks small{display:block}.ecosystemQuickLinks b{font-size:14px}.ecosystemQuickLinks small{color:var(--ink-300);margin-top:3px;font-size:12px}.ecosystemQuickLinks strong{color:var(--orange-200);font-size:18px}.filesPage{background:var(--surface-app);max-width:1280px;min-height:100vh;margin:0 auto;padding:32px}.filesHeader{justify-content:space-between;align-items:center;gap:24px;margin-bottom:22px;display:flex}.filesEyebrow{color:var(--text-brand);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.filesHeader h1{color:var(--text-strong);margin:0 0 6px;font-size:30px}.filesHeader p{color:var(--text-muted);margin:0;font-size:15px}.filesHeader a{color:var(--text-link);font-size:14px;font-weight:600;text-decoration:none}.fileTypeSummary{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px;display:grid}.fileTypeSummary article{background:var(--white);border:1px solid var(--ink-200);border-radius:var(--radius-md);padding:15px;box-shadow:0 5px 14px #1d19340a}.fileTypeSummary b,.fileTypeSummary span{display:block}.fileTypeSummary b{color:var(--text-strong);font-size:14px}.fileTypeSummary span{color:var(--text-muted);margin-top:5px;font-size:12px;line-height:1.45}.uploadPanel{border-top:3px solid var(--orange-600)}.panelHeading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.panelHeading h2{color:var(--text-strong);margin:0;font-size:17px}.panelHeading p{color:var(--text-subtle);margin:4px 0 0;font-size:12px}.privateBadge{background:var(--surface-app);color:var(--green-700);border:1px solid var(--mint-300);border-radius:99px;padding:7px 10px;font-size:12px;font-weight:600}.uploadForm{grid-template-columns:1fr 1fr;gap:14px;display:grid}.uploadForm label{color:var(--text-body);flex-direction:column;gap:6px;font-size:12px;font-weight:600;display:flex}.uploadForm input,.uploadForm select,.fileFilters select{border:1px solid var(--ink-200);border-radius:var(--radius-md);background:var(--white);min-height:42px;color:var(--ink-800);padding:9px 11px}.uploadForm input[type=file]{padding:8px;font-weight:500}.uploadForm button{align-self:end;min-height:42px}.uploadForm button:disabled{opacity:.6;cursor:wait}.filesList{margin-top:18px}.fileFilters{gap:8px;display:flex}.fileFilters select{min-width:180px;font-size:12px}.fileRow{border-top:1px solid var(--ink-200);align-items:center;gap:12px;padding:13px 0;display:flex}.fileIcon{border-radius:var(--radius-md);background:var(--surface-app);width:42px;height:42px;color:var(--text-brand);flex:none;place-items:center;font-size:12px;font-weight:600;display:grid}.fileInfo{flex:1;min-width:0}.fileInfo b,.fileInfo span,.fileInfo small{display:block}.fileInfo b{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.fileInfo span{color:var(--text-muted);margin-top:4px;font-size:12px}.fileInfo small{color:var(--text-body);margin-top:4px;font-size:12px}.fileRow button{background:var(--surface-app);color:var(--lilac-700);cursor:pointer;border:0;border-radius:8px;padding:8px 12px;font-size:12px;font-weight:600}.filesEmpty{text-align:center;border-top:1px solid var(--ink-200);padding:30px 12px}.filesEmpty b,.filesEmpty span{display:block}.filesEmpty b{color:var(--ink-800)}.filesEmpty span{color:var(--text-subtle);margin-top:5px;font-size:12px}@media (max-width:980px){.ecosystemHub{grid-template-columns:1fr}.fileTypeSummary{grid-template-columns:1fr 1fr}}@media (max-width:760px){.ecosystemQuickLinks,.uploadForm,.fileTypeSummary{grid-template-columns:1fr}.filesPage{padding:18px}.filesHeader,.panelHeading{flex-direction:column;align-items:flex-start}.filesHeader h1{font-size:25px}.fileFilters{flex-direction:column;width:100%}.fileFilters select{width:100%}.ecosystemHub{padding:17px}.ecosystemIntro h2{font-size:21px}}.odontogramWorkspace{grid-template-columns:minmax(0,1.25fr) minmax(370px,.82fr);align-items:stretch;gap:14px;margin-top:16px;display:grid}.archBoard,.clinicalInspector{background:#fff;border:1px solid #dde6ed;border-radius:14px;min-width:0}.archBoard{padding:18px 14px 14px;overflow:hidden}.archBoardTitle{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;padding:0 4px;display:flex}.archBoardTitle b,.archBoardTitle span{display:block}.archBoardTitle b{color:var(--text-strong);font-size:14px}.archBoardTitle div>span{color:var(--text-subtle);margin-top:4px;font-size:9px}.fdiBadge{background:var(--surface-app);color:var(--lilac-700);letter-spacing:.08em;border-radius:999px;padding:5px 8px;font-weight:600;font-size:12px!important}.anatomicalArch{background:radial-gradient(at 50% 94%,#f4bead38,#0000 68%);border:0;gap:1px;min-height:118px;padding:22px 2px 6px}.anatomicalArch.bottom{background:radial-gradient(at 50% 6%,#f4bead38,#0000 68%);padding:5px 2px 22px}.anatomicalArch .toothWrap{transform:translateY(var(--arch-offset))}.anatomicalArch.bottom .toothWrap{transform:translateY(calc(var(--arch-offset) * -1))}.anatomicalArch .tooth{background:0 0;border:0;border-radius:12px;min-width:0;padding:0}.anatomicalArch .tooth:hover{background:#fff7f0;transform:translateY(-2px)}.anatomicalArch .tooth.selected{background:#fff3e9;box-shadow:0 0 0 2px #ff6a00,0 8px 20px #ff6a0029}.anatomicalArch .tooth>span{color:var(--text-body);font-size:8px;font-weight:800}.anatomicalArch .toothSvg{filter:drop-shadow(0 4px 4px #5c43241f);width:100%;max-width:47px;height:70px}.anatomicalArch .toothBody{fill:#fffdf7;stroke:#cfbda5}.anatomicalArch .toothDetail{stroke:#dccfbd}.archDivider{color:var(--text-subtle);grid-template-columns:auto 1fr auto;align-items:center;gap:9px;margin:4px 10px;font-size:8px;display:grid}.archDivider i{background:#e6ecef;height:1px}.odontogramLegend.compact{border-top:1px solid #edf1f4;max-height:72px;margin:17px 0 0;padding-top:12px;overflow:auto}.clinicalInspector{background:var(--surface-app);overflow:hidden}.anatomicalHint{border:0;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;height:100%;min-height:570px;margin:0;padding:35px;display:flex}.hintTooth{opacity:.72;width:100px;height:135px;margin-bottom:18px}.hintTooth .toothSvg{filter:drop-shadow(0 12px 12px #4c3b2629);width:100%;height:100%}.anatomicalEditor{background:#fff;border:0;border-radius:14px;margin:0;overflow:visible}.anatomicalEditor .inspectorHeader{border:0;padding:15px 16px 8px}.anatomicalEditor .inspectorHeader h3{font-size:19px}.anatomicalEditor .inspectorHeader>button{width:27px;height:27px}.previewToggle{border:1px solid var(--ink-200);background:var(--surface-app);border-radius:8px;width:max-content;margin:-39px 49px 7px auto;padding:3px;display:flex}.previewToggle button{min-width:60px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:7px 10px;font-size:9px;font-weight:600}.previewToggle button.active{background:var(--gradient-button);color:var(--white);box-shadow:0 2px 7px #ff5a1f40}.selectedToothStage{background:radial-gradient(circle at 50% 35%,#fff 0,#f9f7f2 49%,#eef2f4 100%);border-radius:12px;place-items:center;height:270px;margin:7px 14px 10px;display:grid;overflow:hidden}.dentalPreview{filter:drop-shadow(0 15px 12px #ff5a1f29);width:100%;max-width:310px;height:100%}.previewTooth{stroke:var(--orange-600);stroke-width:2px}.previewShadow{fill:#9c330b1f}.previewDetail,.previewGroove{fill:none;stroke:var(--orange-600);stroke-width:3px;stroke-linecap:round;opacity:.75}.surfaceRegion{fill:#0000;stroke:#0000;stroke-width:3px;cursor:pointer;transition:all .16s}.surfaceRegion:hover{fill:#ff6a001a;stroke:#ff6a0080}.surfaceRegion.active{fill:#ff6a0042;stroke:#ff6a00}.surfaceRegion.active.caries{fill:#ef6d6d7a;stroke:#d94343}.surfaceRegion.active.restoration{fill:#65a0d780;stroke:#397fbf}.surfaceRegion.active.temporary_restoration{fill:#8b7ed875;stroke:#7062bf}.surfaceRegion.active.sealant{fill:#33b6c46b;stroke:#2199a5}.surfaceRegion.active.fracture{fill:#c34f646b;stroke:#a7354b}.surfaceRegion.active.observation{fill:#54a2776b;stroke:#357c55}.previewLabels text{fill:var(--ink-500);pointer-events:none;font-size:10px;font-weight:600}.frontalPreview .surfaceRegion{opacity:.85}.faceSection{padding:0 14px}.faceSection>b,.clinicalCondition>b,.surfaceNote>b{color:var(--ink-800);margin-bottom:7px;font-size:10px;display:block}.faceStrip{grid-template-columns:repeat(5,1fr);gap:5px;display:grid}.faceStrip button{cursor:pointer;min-width:0;color:var(--text-muted);background:#fff;border:1px solid #dfe7ed;border-radius:8px;padding:6px 3px}.faceStrip button.active{color:var(--text-brand);background:#fff7f1;border-color:#ff6a00;box-shadow:0 0 0 2px #ff6a0014}.faceStrip small{white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:7px;font-weight:800;display:block;overflow:hidden}.faceGlyph{background:linear-gradient(145deg,#fffdf6,#eadbc7);border:1px solid #cfbda5;border-radius:45% 45% 38% 38%;width:26px;height:32px;margin:auto;display:block;position:relative}.faceGlyph i{background:#d8c6ad;border-radius:999px;display:block;position:absolute}.faceGlyph.mesial i{width:5px;height:21px;top:5px;left:2px}.faceGlyph.distal i{width:5px;height:21px;top:5px;right:2px}.faceGlyph.vestibular i{height:7px;top:3px;left:6px;right:6px}.faceGlyph.lingual i,.faceGlyph.palatal i{height:7px;bottom:3px;left:6px;right:6px}.faceGlyph.occlusal i,.faceGlyph.incisal i{background:#f1a263;inset:7px 5px}.faceStrip button.active .faceGlyph{border-color:#ff6a00}.faceStrip button.active .faceGlyph i{background:#ff6a00}.anatomicalEditor>.selectedSurface{background:#fff1e7;border-radius:9px;margin:10px 14px;padding:10px 12px}.anatomicalEditor>.selectedSurface b{color:var(--text-brand);font-size:15px}.clinicalCondition{padding:0 14px}.anatomicalEditor .conditionPalette{grid-template-columns:1fr 1fr;gap:6px;margin:0}.anatomicalEditor .conditionPalette button{padding:7px;font-size:8px}.anatomicalEditor>.surfaceNote{margin:11px 14px 0;position:relative}.anatomicalEditor>.surfaceNote textarea{min-height:72px;padding-bottom:21px}.anatomicalEditor>.surfaceNote>small{color:var(--text-subtle);font-size:7px;position:absolute;bottom:7px;right:8px}.saveClinicalRecord{width:calc(100% - 28px);margin:9px 14px 12px}.wholeToothDetails{background:#fbfcfd;border:1px solid #e2e8ed;border-radius:9px;margin:0 14px 12px}.wholeToothDetails summary{cursor:pointer;color:var(--ink-800);justify-content:space-between;align-items:center;gap:8px;padding:10px;font-size:9px;font-weight:800;display:flex}.wholeToothDetails summary span{color:var(--text-brand)}.wholeToothDetails>p{color:var(--text-subtle);margin:0 10px 8px;font-size:8px}.wholeToothDetails>div{grid-template-columns:1fr 1fr;gap:5px;padding:0 9px 9px;display:grid}.wholeToothDetails button{cursor:pointer;background:#fff;border:1px solid #dfe7ed;border-radius:7px;align-items:center;gap:6px;padding:7px;font-size:8px;display:flex}.wholeToothDetails button.active{background:#fff7f1;border-color:#ff6a00}.anatomicalEditor>.toothFindings{border-top:1px solid #e5ebef;padding:12px 14px}@media (max-width:1180px){.odontogramWorkspace{grid-template-columns:1fr}.clinicalInspector{min-height:0}.anatomicalHint{min-height:280px}.selectedToothStage{height:300px}.anatomicalArch .toothSvg{max-width:55px}}@media (max-width:760px){.archBoard{padding:13px 8px}.anatomicalArch,.anatomicalArch.bottom{grid-template-columns:repeat(8,minmax(38px,1fr));row-gap:27px;overflow-x:auto}.anatomicalArch.primaryArch{grid-template-columns:repeat(5,minmax(43px,1fr))}.faceStrip{grid-template-columns:repeat(5,minmax(64px,1fr));overflow-x:auto}.selectedToothStage{height:245px}.previewToggle{margin:0 14px 7px auto}.odontogramLegend.compact{max-height:92px}}.realArchStage{aspect-ratio:1;background:#fff;width:min(100%,760px);margin:-6px auto 0;position:relative;overflow:visible}.realArchStage>img{object-fit:contain;mix-blend-mode:multiply;width:100%;height:100%;display:block}.archHotspots{z-index:2;grid-template-columns:repeat(16,1fr);gap:0;display:grid;position:absolute;left:4%;right:4%}.realArchStage.primary .archHotspots{grid-template-columns:repeat(10,1fr);left:7%;right:7%}.upperHotspots{height:31%;top:8%}.lowerHotspots{height:37%;top:48%}.realArchStage.primary .upperHotspots{height:30%;top:15%}.realArchStage.primary .lowerHotspots{height:36%;top:52%}.archHotspot{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:48% 48% 34% 34%;min-width:0;padding:0;transition:all .15s;position:relative}.archHotspot:hover,.archHotspot:focus-visible{background:#ff6a0014;border-color:#ff6a009e;outline:none}.archHotspot.selected{background:#ff65001f;border-color:#ff6500;box-shadow:0 0 0 3px #ff65001f}.archHotspot>span{color:var(--ink-800);text-shadow:0 1px 2px #fff,0 0 5px #fff;font-size:9px;font-weight:900;position:absolute;left:50%;transform:translate(-50%)}.upperHotspots .archHotspot>span{top:-21px}.lowerHotspots .archHotspot>span{bottom:-21px}.hotspotStatus{border:2px solid #fff;border-radius:50%;width:9px;height:9px;position:absolute;top:2px;right:2px;box-shadow:0 1px 4px #00000038}.hotspotStatus.caries{background:#ef6d6d}.hotspotStatus.restoration{background:#65a0d7}.hotspotStatus.temporary_restoration{background:#8b7ed8}.hotspotStatus.sealant{background:#33b6c4}.hotspotStatus.fracture{background:#c34f64}.hotspotStatus.crown{background:#d4a84d}.hotspotStatus.missing{background:#9aa6af}.hotspotStatus.implant{background:#7b67b7}.hotspotStatus.extraction{background:#d76060}.hotspotStatus.endo{background:#ef9b45}.hotspotStatus.observation{background:#54a277}.archCenterLabels{color:var(--text-muted);z-index:3;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;font-size:8px;display:grid;position:absolute;top:43.8%;left:3%;right:3%}.archCenterLabels i{background:#e3e8eb;height:1px}.archBoard{flex-direction:column;display:flex}.archBoard .odontogramLegend.compact{margin-top:auto}.selectedToothStage{background:#fff;height:300px}.dentalPreview.photoPreview{filter:none;max-width:360px}.photoPreview image{pointer-events:none}.photoPreview .surfaceRegion{stroke-width:7px}.photoPreview .surfaceRegion.active{fill:#ff6a0040;stroke:#ff6500}.photoPreview .surfaceRegion:hover{fill:#ff6a001f;stroke:#ff9d5c}.photoPreview .previewLabels text{fill:var(--lilac-700);paint-order:stroke;stroke:var(--white);stroke-width:5px;stroke-linejoin:round;font-size:17px}@media (max-width:1180px){.realArchStage{width:min(100%,680px)}}@media (max-width:760px){.realArchStage{width:100%;min-width:470px;margin-left:50%;transform:translate(-50%)}.archBoard{overflow-x:auto}.archHotspot>span{font-size:8px}.selectedToothStage{height:270px}}.realArchStage .archHotspots{pointer-events:none;height:auto;display:block;position:absolute;inset:0}.realArchStage .upperHotspots,.realArchStage .lowerHotspots,.realArchStage.primary .upperHotspots,.realArchStage.primary .lowerHotspots{height:auto;top:0;left:0;right:0}.realArchStage .archHotspot{pointer-events:auto;border-radius:44% 44% 38% 38%;position:absolute;transform:none}.realArchStage .archHotspot.upper>span{top:-20px;bottom:auto}.realArchStage .archHotspot.lower>span{top:auto;bottom:-20px}.realArchStage .archHotspot.selected{transform:scale(1.045)}.realArchStage .archHotspot{transform:rotate(var(--hotspot-angle,0deg));transform-origin:50% 65%;border-radius:42% 42% 34% 34%}.realArchStage .archHotspot:hover,.realArchStage .archHotspot:focus-visible{transform:rotate(var(--hotspot-angle,0deg)) scale(1.04)}.realArchStage .archHotspot.selected{transform:rotate(var(--hotspot-angle,0deg)) scale(1.04);background:#ff65001a;border-width:3px}.realArchStage .archHotspot.upper>span,.realArchStage .archHotspot.lower>span{transform:translateX(-50%) rotate(calc(var(--hotspot-angle,0deg) * -1))}.toothState.wear,.hotspotStatus.wear{background:#b7791f}.toothState.infiltration,.hotspotStatus.infiltration{background:#c2410c}.toothState.sensitivity,.hotspotStatus.sensitivity{background:#ec4899}.toothState.veneer,.hotspotStatus.veneer{background:#a78bfa}.toothState.inlay_onlay,.hotspotStatus.inlay_onlay{background:#38bdf8}.toothState.root_canal_treated,.hotspotStatus.root_canal_treated{background:#f59e0b}.toothState.post_core,.hotspotStatus.post_core{background:#64748b}.toothState.prosthesis,.hotspotStatus.prosthesis{background:#8b5cf6}.toothState.bridge,.hotspotStatus.bridge{background:#6366f1}.toothState.periodontal,.hotspotStatus.periodontal{background:#10b981}.toothState.whitening,.hotspotStatus.whitening{background:#eab308}.toothState.orthodontics,.hotspotStatus.orthodontics{background:#0ea5e9}.surfaceRegion.active.wear{fill:#b7791f66;stroke:#9a6417}.surfaceRegion.active.infiltration{fill:#c2410c66;stroke:#9a3412}.surfaceRegion.active.sensitivity{fill:#ec489959;stroke:#be185d}.treatmentDetails>strong{color:var(--ink-800);padding:2px 10px 7px;font-size:12px;display:block}.treatmentDetails>strong:not(:first-of-type){border-top:1px solid var(--ink-200);padding-top:9px}.wholeToothDetails>.treatmentChoices{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:0 9px 10px;display:grid}.treatmentChoices button{min-width:0}.treatmentChoices button i{flex:none}@media (min-width:1450px){.wholeToothDetails>.treatmentChoices{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:520px){.wholeToothDetails>.treatmentChoices{grid-template-columns:1fr}}.drawnArchStage{width:100%;max-width:980px;margin:var(--space-2) auto 0;position:relative}.drawnArchStage .archTooth{z-index:1;border-radius:var(--radius-md);color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;margin:0;padding:0;display:block;position:absolute}.drawnArchStage .archTooth:before{content:"";inset:calc(var(--space-1) * -1) calc(var(--space-1) / -2);border-radius:inherit;transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out);border:2px solid #0000;position:absolute}.drawnArchStage .archTooth:hover:before{border-color:var(--orange-200);background:var(--orange-50)}.drawnArchStage .archTooth:focus-visible{outline:none}.drawnArchStage .archTooth:focus-visible:before{border-color:var(--border-focus);box-shadow:var(--ring)}.drawnArchStage .archTooth.selected:before{border-color:var(--orange-600);background:var(--orange-100);box-shadow:var(--ring)}.drawnArchStage .archToothArt{width:auto;height:auto;box-shadow:none;pointer-events:none;transform:rotate(var(--tooth-angle,0deg));transition:transform var(--dur-fast) var(--ease-out);background:0 0;border:0;border-radius:0;margin:0;padding:0;display:block;position:absolute;inset:0}.drawnArchStage .archTooth.upper .archToothArt{transform-origin:50% 100%}.drawnArchStage .archTooth.lower .archToothArt{transform-origin:50% 0}.drawnArchStage .archTooth:active .archToothArt{transform:rotate(var(--tooth-angle,0deg)) scale(.95)}.drawnArchStage .archToothArt .toothSvg{width:100%;max-width:none;height:100%}.drawnArchStage .archToothNumber{padding:0 calc(var(--space-1) / 2);border-radius:var(--radius-pill);color:var(--ink-800);font-size:var(--text-sm);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;line-height:1.4;position:absolute;left:50%;transform:translate(-50%)}.drawnArchStage .archTooth.upper .archToothNumber{bottom:calc(100% + var(--space-2))}.drawnArchStage .archTooth.lower .archToothNumber{top:calc(100% + var(--space-2))}.drawnArchStage .archTooth.selected .archToothNumber{background:var(--orange-600);color:var(--white)}.drawnArchStage .hotspotStatus{width:var(--space-3);height:var(--space-3);z-index:2;left:50%;right:auto;transform:translate(-50%)}.drawnArchStage .archTooth.upper .hotspotStatus{top:auto;bottom:var(--space-1)}.drawnArchStage .archTooth.lower .hotspotStatus{top:var(--space-1)}.drawnArchStage .archCenterLabels{font-size:var(--text-xs);z-index:0;left:0;right:0;transform:translateY(-50%)}.archBoardTitle div>span,.archBoard .odontogramLegend.compact span{font-size:var(--text-xs)}@media (max-width:760px){.drawnArchStage{min-width:560px}}@media (prefers-reduced-motion:reduce){.drawnArchStage .archTooth:before,.drawnArchStage .archToothArt{transition:none}}.anatomicalEditor{container-type:inline-size}.anatomicalEditor .previewToggle{margin:0 var(--space-4) var(--space-2)}.anatomicalEditor .previewToggle button{min-height:var(--control-h-md);min-width:calc(var(--space-20) + var(--space-2));padding:var(--space-2) var(--space-4);font-size:var(--text-base);font-weight:var(--weight-semibold)}.anatomicalEditor .selectedToothStage{height:auto;padding:var(--space-2) 0}.surfacePreviewFrame{place-items:center;gap:var(--space-1);grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"top top top""left art right""bottom bottom bottom";width:100%;display:grid}.surfacePreviewFrame .dentalPreview.photoPreview{width:100%;height:calc(var(--space-20) * 3);max-width:calc(var(--space-20) * 3.75);grid-area:art}.previewLabel{min-height:var(--control-h-sm);min-width:var(--control-h-sm);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);color:var(--lilac-700);font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out);background:0 0;border:1px solid #0000;line-height:1.2}.previewLabel.top{grid-area:top}.previewLabel.bottom{grid-area:bottom}.previewLabel.left{grid-area:left}.previewLabel.right{grid-area:right}.previewLabel.left,.previewLabel.right{writing-mode:vertical-rl;padding:var(--space-3) var(--space-1)}.previewLabel.left{transform:rotate(180deg)}.previewLabel:hover{background:var(--orange-50)}.previewLabel:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.previewLabel.active{border-color:var(--orange-300);background:var(--orange-50);color:var(--text-brand)}@container (min-width:470px){.previewLabel.left,.previewLabel.right{writing-mode:horizontal-tb;padding:var(--space-1) var(--space-3);transform:none}}.anatomicalEditor .faceSection>b,.anatomicalEditor .clinicalCondition b,.anatomicalEditor .surfaceNote>b,.wholeToothQuick>b{color:var(--ink-800);font-size:var(--text-md);font-weight:var(--weight-bold);margin-bottom:var(--space-2);display:block}.anatomicalEditor .faceStrip{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr))}.anatomicalEditor .faceStrip button{min-height:calc(var(--space-16) + var(--space-2));padding:var(--space-2) var(--space-1);transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.anatomicalEditor .faceStrip small{margin-top:var(--space-1);font-size:var(--text-base);font-weight:var(--weight-semibold);line-height:1.25}@container (min-width:560px){.anatomicalEditor .faceStrip{grid-template-columns:repeat(5,minmax(0,1fr))}}.anatomicalEditor>.selectedSurface span{font-size:var(--text-xs)}.anatomicalEditor>.selectedSurface b{font-size:var(--text-lg)}.clinicalConditionHead{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.toothSavingState{color:var(--text-muted);font-size:var(--text-sm)}.anatomicalEditor .conditionPalette{gap:var(--space-2)}.anatomicalEditor .conditionPalette button,.wholeToothQuick button,.wholeToothDetails .treatmentChoices button{min-height:var(--space-12);gap:var(--space-2);padding:var(--space-2) var(--space-3);color:var(--text-strong);font-size:var(--text-base);text-align:left;overflow-wrap:anywhere;transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out);line-height:1.25}.anatomicalEditor .conditionPalette .toothState,.wholeToothQuick .toothState,.wholeToothDetails .toothState{flex:0 0 var(--space-3);width:var(--space-3);height:var(--space-3);border-radius:var(--radius-xs)}.anatomicalEditor .conditionPalette button:hover,.wholeToothQuick button:hover,.wholeToothDetails .treatmentChoices button:hover{border-color:var(--orange-300)}.anatomicalEditor .conditionPalette button:active,.wholeToothQuick button:active,.wholeToothDetails .treatmentChoices button:active,.anatomicalEditor .faceStrip button:active{transform:scale(.97)}.anatomicalEditor .conditionPalette button.active,.wholeToothQuick button.active,.wholeToothDetails .treatmentChoices button.active{border-color:var(--orange-600);background:var(--orange-50);box-shadow:var(--ring);font-weight:var(--weight-semibold)}.anatomicalEditor .conditionPalette button:focus-visible,.wholeToothQuick button:focus-visible,.wholeToothDetails .treatmentChoices button:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.wholeToothQuick{margin:var(--space-3) var(--space-4) 0}.wholeToothQuick>div{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.wholeToothQuick button{border:1px solid var(--ink-200);border-radius:var(--radius-sm);background:var(--white);cursor:pointer;align-items:center;display:flex}.wholeToothDetails summary{min-height:var(--space-12);font-size:var(--text-base)}.wholeToothDetails>p{font-size:var(--text-sm)}.anatomicalEditor>.surfaceNote>small{font-size:var(--text-xs)}@media (max-width:420px){.anatomicalEditor .conditionPalette,.wholeToothQuick>div{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.anatomicalEditor .conditionPalette button,.wholeToothQuick button,.wholeToothDetails .treatmentChoices button,.anatomicalEditor .faceStrip button,.previewLabel{transition:none}}.brandOdontoFlow>div,.logoMark{background:var(--white);overflow:hidden}.brandOdontoFlow>div{width:58px;height:48px;padding:5px}.brandOdontoFlow b{font-size:18px}.brandOdontoFlow small{max-width:260px;font-size:12px;line-height:1.35}.sidebar .logoMark{border-radius:var(--radius-md);flex:0 0 48px;width:48px;height:42px;padding:5px}.sidebar .logo>div:last-child{min-width:0}.sidebar .logo span{font-size:12px;line-height:1.35}.quoteBrand img.odontoflowQuoteLogo{background:var(--white);object-fit:contain;border:0;border-radius:0;width:158px;height:auto;max-height:48px}.quoteBrand img.clinicQuoteLogo{object-fit:cover;border-radius:50%;width:58px;height:58px}.masterBrand{align-items:center;gap:12px;margin-bottom:8px;display:flex}.masterBrand>img{border-radius:var(--radius-md);background:var(--white);object-fit:contain;width:58px;height:42px;padding:4px}.masterBrand>div{gap:3px;display:grid}.masterBrand p{margin:0}.masterBrand small{color:var(--text-muted);font-size:12px;font-weight:600}@media (max-width:720px){.brandOdontoFlow small{white-space:normal}.quoteBrand img.odontoflowQuoteLogo{width:125px}.masterBrand>img{width:48px;height:36px}}.masterLeadsPage{background:var(--surface-app);min-height:100vh;color:var(--text-strong);font-family:var(--font-sans);padding:38px max(20px,50vw - 600px)}.masterLeadsPage>header{justify-content:space-between;align-items:flex-start;gap:25px;margin-bottom:28px;display:flex}.masterLeadsPage>header span{color:var(--text-brand);letter-spacing:.08em;font-size:12px;font-weight:600}.masterLeadsPage h1{margin:7px 0;font-size:38px}.masterLeadsPage header p{color:var(--text-muted);margin:0}.masterLeadsPage header a{border:1px solid var(--ink-200);border-radius:var(--radius-md);background:var(--white);color:var(--ink-800);padding:11px 14px;font-weight:600;text-decoration:none}.masterLeadsMetrics{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px;display:grid}.masterLeadsMetrics article{border:1px solid var(--ink-200);border-radius:var(--radius-lg);background:var(--white);gap:7px;padding:20px;display:grid}.masterLeadsMetrics span{color:var(--text-muted);font-size:13px}.masterLeadsMetrics b{font-size:30px}.masterLeadsTable{border:1px solid var(--ink-200);border-radius:var(--radius-lg);background:var(--white);overflow:auto}.masterLeadsTable table{border-collapse:collapse;width:100%}.masterLeadsTable th,.masterLeadsTable td{text-align:left;vertical-align:top;border-bottom:1px solid var(--ink-200);padding:15px;font-size:14px}.masterLeadsTable th{background:var(--surface-app);color:var(--text-body);text-transform:uppercase;font-size:12px}.masterLeadsTable td:first-child{gap:4px;display:grid}.masterLeadsTable td span,.masterLeadsTable td small{color:var(--text-muted);display:block}.masterLeadsTable td a{color:var(--text-link)}.masterLeadsError{border-radius:var(--radius-md);background:var(--surface-app);color:var(--danger);padding:15px}@media (max-width:700px){.masterLeadsPage>header{display:grid}.masterLeadsMetrics{grid-template-columns:1fr}.masterLeadsPage h1{font-size:30px}}.onboardingLoading{background:var(--surface-app);min-height:100vh;color:var(--ink-800);place-items:center;font-weight:600;display:grid}.onboardingPage{background:var(--surface-app);min-height:100vh;color:var(--text-strong);font-family:var(--font-sans);padding:42px max(20px,50vw - 520px)}.onboardingPage>header>a{color:var(--text-link);font-weight:600;text-decoration:none}.onboardingPage>header>span{color:var(--text-brand);letter-spacing:.09em;margin-top:35px;font-size:12px;font-weight:600;display:block}.onboardingPage h1{letter-spacing:-.04em;margin:8px 0;font-size:clamp(34px,5vw,56px)}.onboardingPage>header>p{max-width:700px;color:var(--text-muted);font-size:17px;line-height:1.6}.onboardingProgress{border-radius:var(--radius-lg);background:var(--ink-800);color:var(--white);margin:28px 0 18px;padding:25px}.onboardingProgress>div{align-items:end;gap:10px;display:flex}.onboardingProgress>div b{color:var(--text-brand);font-size:42px}.onboardingProgress>div span{padding-bottom:6px}.onboardingProgress>i{background:var(--ink-700);border-radius:999px;height:10px;margin-top:18px;display:block;overflow:hidden}.onboardingProgress>i em{background:var(--gradient-button);border-radius:999px;height:100%;display:block}.onboardingProgress p{color:var(--ink-200);margin:10px 0 0;font-size:13px}.onboardingSteps{gap:12px;display:grid}.onboardingSteps article{border:1px solid var(--ink-200);border-radius:var(--radius-lg);background:var(--white);grid-template-columns:48px 1fr auto;align-items:center;gap:17px;padding:20px;display:grid}.onboardingSteps article>span{border-radius:var(--radius-md);background:var(--surface-app);width:42px;height:42px;color:var(--lilac-700);place-items:center;font-weight:600;display:grid}.onboardingSteps article.done>span{background:var(--surface-app);color:var(--green-700)}.onboardingSteps h2{margin:0;font-size:18px}.onboardingSteps p{color:var(--text-muted);margin:5px 0;font-size:14px;line-height:1.5}.onboardingSteps small{color:var(--text-subtle)}.onboardingSteps article>div:last-child{gap:7px;min-width:145px;display:grid}.onboardingSteps a,.onboardingSteps button,.onboardingComplete a{border:1px solid var(--orange-600);border-radius:var(--radius-md);background:var(--gradient-button);color:var(--white);text-align:center;cursor:pointer;padding:10px 12px;font-weight:600;text-decoration:none}.onboardingSteps button{background:var(--white);color:var(--text-brand)}.onboardingComplete{border-radius:var(--radius-lg);background:var(--surface-app);color:var(--green-700);margin-top:18px;padding:25px}.onboardingComplete b{font-size:21px}.onboardingComplete a{margin-top:8px;display:inline-block}.onboardingError{border-radius:var(--radius-md);background:var(--surface-app);color:var(--danger);margin:18px 0;padding:14px}@media (max-width:700px){.onboardingPage{padding:25px 15px}.onboardingSteps article{grid-template-columns:42px 1fr}.onboardingSteps article>div:last-child{grid-column:1/-1;grid-template-columns:1fr 1fr}.onboardingPage h1{font-size:36px}}.adoptionPage{background:var(--surface-app);min-height:100vh;color:var(--text-strong);font-family:var(--font-sans);padding:38px max(18px,50vw - 590px)}.adoptionPage>header{justify-content:space-between;gap:20px;display:flex}.adoptionPage>header span{color:var(--text-brand);font-size:12px;font-weight:600}.adoptionPage h1{margin:6px 0;font-size:40px}.adoptionPage header p{color:var(--text-muted)}.adoptionPage>header>a{border:1px solid var(--ink-200);border-radius:var(--radius-md);background:var(--white);height:max-content;color:var(--ink-800);padding:11px;font-weight:600;text-decoration:none}.adoptionFunnel{grid-template-columns:repeat(6,1fr);gap:9px;margin:28px 0;display:grid}.adoptionFunnel article{border-radius:var(--radius-lg);background:var(--ink-800);color:var(--white);gap:5px;padding:17px;display:grid}.adoptionFunnel small{color:var(--text-brand)}.adoptionFunnel b{font-size:30px}.adoptionFunnel span{color:var(--ink-200);font-size:12px}.sofiaPriority{border-left:5px solid var(--orange-600);border-radius:var(--radius-md);background:var(--white);padding:18px}.sofiaPriority h2{margin:0}.sofiaPriority p{color:var(--text-muted);margin:6px 0 0}.adoptionGrid{grid-template-columns:1fr 1fr;gap:13px;margin-top:18px;display:grid}.adoptionGrid>article{border:1px solid var(--ink-200);border-radius:var(--radius-lg);background:var(--white);padding:18px}.adoptionGrid>article.urgent{border-color:var(--red-500)}.adoptionGrid>article.attention{border-color:var(--orange-200)}.adoptionGrid article>header{justify-content:space-between;gap:15px;display:flex}.adoptionGrid h3{margin:0}.adoptionGrid header span{color:var(--text-muted);font-size:12px}.adoptionGrid header>b{background:var(--surface-app);border-radius:99px;height:max-content;padding:6px 9px;font-size:12px}.adoptionGrid .urgent header>b{background:var(--surface-app);color:var(--danger)}.adoptionGrid .attention header>b{background:var(--surface-app);color:var(--text-brand)}.adoptionGrid article>div{gap:22px;margin:20px 0 10px;display:flex}.adoptionGrid article>div span{color:var(--text-muted);font-size:12px;display:grid}.adoptionGrid article>div b{color:var(--text-strong);font-size:20px}.adoptionGrid article>i{background:var(--ink-100);border-radius:99px;height:7px;display:block}.adoptionGrid article>i em{background:var(--gradient-button);border-radius:99px;height:100%;display:block}.adoptionGrid footer{gap:8px;margin-top:15px;display:flex}.adoptionGrid footer a{border:1px solid var(--ink-200);color:var(--text-link);border-radius:8px;padding:8px 10px;font-size:12px;font-weight:600;text-decoration:none}.adoptionError{background:var(--surface-app);color:var(--danger);margin:20px 0;padding:14px}@media (max-width:850px){.adoptionFunnel{grid-template-columns:repeat(3,1fr)}.adoptionGrid{grid-template-columns:1fr}}@media (max-width:520px){.adoptionFunnel{grid-template-columns:1fr 1fr}.adoptionPage h1{font-size:32px}.adoptionPage>header{display:grid}}.healthLoading{background:var(--surface-app);min-height:100vh;color:var(--ink-800);place-items:center;font-weight:600;display:grid}.healthPage{background:var(--surface-app);min-height:100vh;color:var(--text-strong);font-family:var(--font-sans);padding:40px max(18px,50vw - 550px)}.healthPage>header>a{color:var(--text-link);font-weight:600;text-decoration:none}.healthPage>header>span{color:var(--text-brand);letter-spacing:.09em;margin-top:30px;font-size:12px;font-weight:600;display:block}.healthPage h1{letter-spacing:-.04em;margin:8px 0 25px;font-size:clamp(34px,5vw,52px)}.healthHero{border-radius:var(--radius-xl);background:var(--ink-800);color:var(--white);grid-template-columns:230px 1fr;align-items:center;gap:35px;padding:28px;display:grid}.healthHero>div{display:grid}.healthHero small{color:var(--ink-300)}.healthHero>div>b{color:var(--text-brand);font-size:64px}.healthHero>div>b em{color:var(--ink-300);font-size:16px}.healthHero>div>strong{font-size:17px}.healthHero>p{border-left:1px solid var(--lilac-500);color:var(--ink-200);padding-left:30px;font-size:17px;line-height:1.6}.healthHero>p span{color:var(--text-brand);margin-top:8px;font-weight:600;display:block}.healthScores{grid-template-columns:repeat(5,1fr);gap:10px;margin:17px 0;display:grid}.healthScores article,.healthMetrics article{border:1px solid var(--ink-200);border-radius:var(--radius-md);background:var(--white);padding:16px}.healthScores article>div{justify-content:space-between;display:flex}.healthScores span,.healthMetrics span,.healthMetrics small{color:var(--text-muted);font-size:12px}.healthScores i{background:var(--ink-100);border-radius:99px;height:7px;margin-top:13px;display:block}.healthScores i em{background:var(--gradient-button);border-radius:99px;height:100%;display:block}.healthMetrics{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.healthMetrics article{gap:7px;display:grid}.healthMetrics b{font-size:24px}.healthRecommendations{margin-top:20px}.healthRecommendations h2{font-size:22px}.healthRecommendations article{border:1px solid var(--ink-200);border-radius:var(--radius-md);background:var(--white);grid-template-columns:40px 1fr auto;align-items:center;gap:14px;margin-bottom:9px;padding:16px;display:grid}.healthRecommendations article>span{border-radius:var(--radius-md);background:var(--surface-app);place-items:center;width:36px;height:36px;font-weight:600;display:grid}.healthRecommendations article.urgent{border-left:5px solid var(--red-500)}.healthRecommendations article.attention{border-left:5px solid var(--orange-600)}.healthRecommendations article.opportunity{border-left:5px solid var(--lilac-500)}.healthRecommendations p{color:var(--text-muted);margin:5px 0 0;font-size:13px}.healthRecommendations a{border-radius:var(--radius-md);background:var(--gradient-button);color:var(--white);padding:10px 12px;font-size:12px;font-weight:600;text-decoration:none}.healthDisclaimer{color:var(--text-subtle);margin:18px 0;display:block}.healthError{border-radius:var(--radius-md);background:var(--surface-app);color:var(--danger);padding:15px}@media (max-width:760px){.healthHero{grid-template-columns:1fr}.healthHero>p{border-left:0;border-top:1px solid var(--lilac-500);padding:20px 0 0}.healthScores,.healthMetrics{grid-template-columns:1fr 1fr}.healthRecommendations article{grid-template-columns:36px 1fr}.healthRecommendations a{text-align:center;grid-column:1/-1}}@media (max-width:480px){.healthScores,.healthMetrics{grid-template-columns:1fr}.healthPage{padding:24px 14px}}.content .recordQuickActions{margin:var(--space-4) 0 0;justify-content:flex-start;gap:var(--space-2)}html body .recordPhotoAction{border-radius:var(--radius-pill);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-strong);align-items:center;display:inline-flex}@media (max-width:760px){.content .recordPatientIdentity{grid-template-columns:auto minmax(0,1fr) auto}.content .recordPhotoAction{padding:var(--space-2) var(--space-3);white-space:nowrap;grid-column:auto}.content .recordQuickActions>button{flex:auto}}.odontogramToolbar{flex-wrap:wrap}.archViewToggle button{justify-content:center;align-items:center;gap:var(--space-1);display:inline-flex}.photoArchStage{border-radius:var(--radius-md);background:var(--white);width:100%;position:relative;overflow:hidden}.photoArchStage>img{-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;display:block}.photoTooth{cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out);background:0 0;border:2px solid #0000;border-radius:46%;padding:0;position:absolute}.photoTooth:hover{border-color:color-mix(in srgb,var(--orange-500) 55%,transparent);background:color-mix(in srgb,var(--orange-500) 8%,transparent)}.photoTooth.selected{border-color:var(--orange-500);background:color-mix(in srgb,var(--orange-500) 12%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--orange-500) 22%,transparent)}.photoTooth:focus-visible{outline:2px solid var(--orange-500);outline-offset:2px}.photoTooth .hotspotStatus{width:12px;height:12px;top:6%;left:50%;right:auto;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.photoTooth{transition:none}}.faceStrip .faceArt{object-fit:contain;width:48px;height:48px;transition:transform var(--dur-fast) var(--ease-out);margin:0 auto;display:block}.faceStrip button.active .faceArt{transform:scale(1.08)}.anatomicalEditor>.selectedSurface small{margin-top:var(--space-1);color:var(--text-body);font-size:var(--text-xs);line-height:1.4;display:block}.faceGuideHint.anatomicalHint{text-align:left;padding:var(--space-5);justify-content:flex-start;align-items:stretch}.faceGuideHint.odontogramHint>b{font-size:var(--text-base);color:var(--text-strong)}.faceGuideHint.odontogramHint>span{font-size:var(--text-xs);color:var(--text-muted)}.faceGuide{margin:var(--space-4) 0 0;gap:var(--space-2);padding:0;list-style:none;display:grid}.faceGuide li{gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--white);border:1px solid var(--ink-200);grid-template-columns:56px minmax(0,1fr);align-items:center;display:grid}.faceGuide img{object-fit:contain;width:56px;height:56px}.faceGuideHint .faceGuide b{font-size:var(--text-sm);color:var(--text-strong);display:block}.faceGuideHint .faceGuide span{font-size:var(--text-xs);color:var(--text-muted);margin-top:2px;line-height:1.4;display:block}@media (prefers-reduced-motion:reduce){.faceStrip .faceArt{transition:none}}.photoArchScroll{overscroll-behavior-inline:contain;max-width:100%;overflow-x:auto}.faceStrip .faceArt{width:64px;height:64px}@media (max-width:760px){.photoArchScroll .photoArchStage{width:680px}}@media (min-width:761px){.odontogramToolbar>.archViewToggle{margin-right:auto}}.quoteChecks{gap:var(--space-2);margin:var(--space-2) 0;padding:var(--space-3);border:1px solid color-mix(in srgb,var(--butter-500) 40%,transparent);border-radius:var(--radius-md);background:var(--status-pending-bg);color:var(--status-pending-fg);font-size:var(--text-sm);display:grid}.quoteChecks ul{padding-left:var(--space-5);margin:0}.quoteChecks button{justify-self:start}.quoteChecksTable{width:100%;font-size:var(--text-xs);color:var(--text-body);background:var(--surface-card)}.quoteChecksTable th,.quoteChecksTable td{padding:var(--space-1) var(--space-2);text-align:left;white-space:nowrap}.subscriptionGateSwitches{justify-content:center;align-items:center;gap:var(--space-3);margin:var(--space-4) 0 0;flex-wrap:wrap;display:flex}.subscriptionGateSwitches .billingIntervalNote{color:var(--text-muted);font-size:var(--text-sm);margin:0}
