@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.96)}}.animate-fade-in{animation:fadeIn .2s ease-out forwards}.animate-fade-out{animation:fadeOut .3s ease-out forwards}.animate-scale-in{animation:scaleIn .2s cubic-bezier(.16,1,.3,1) forwards}.animate-scale-out{animation:scaleOut .15s ease-out forwards}html,body,button,input,select,textarea,div,span,table,th,td{font-family:Inter,sans-serif!important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--occlusa-blue: #438fce;--occlusa-primary-blue: #438fce;--occlusa-brand-blue: #438fce;--primary-color: #438fce;--bg-canvas: #f3f4f6;--border-light: #e5e7eb;--occlusa-z-app-header: 1100;--occlusa-z-floating-menu: 900;--occlusa-z-sidebar-floating-menu: 1100;--occlusa-z-modal: 2000;--occlusa-z-floating-menu-in-modal: 2100;--occlusa-z-portal-menu: 10002;--occlusa-z-portal-modal: 10010;--occlusa-z-portal-floating: 10020;--occlusa-z-toast: 10050;--occlusa-control-height: 38px;--occlusa-focus-ring: 0 0 0 2px rgba(67, 143, 206, .25);font-family:Inter,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}ul,ol,menu{list-style:none}html{width:100%;height:100%;scrollbar-gutter:stable}body{margin:0;padding:0;min-width:320px;min-height:100vh;overflow:hidden;scrollbar-gutter:stable;background:var(--bg-canvas, #f3f4f6)}#root{width:100%;min-height:100vh;height:100%;overflow:hidden;background:var(--bg-canvas, #f3f4f6)}.modal-backdrop,.dialog-panel,.scrollable-content,.occlusa-modal-backdrop,.occlusa-modal-overlay,.occlusa-modal,.admin-content-scroll,.admin-nav{scrollbar-gutter:stable}.modal-form-group{margin-top:1rem;margin-bottom:.5rem}button{transition:background-color .2s ease,opacity .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}body,html,*{user-select:none;-webkit-user-select:none}input,textarea,[contenteditable=true]{user-select:text;-webkit-user-select:text}button:focus,input:focus,select:focus,textarea:focus,[tabindex]:focus{outline:none}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:none!important;border-color:var(--occlusa-blue, #438fce);box-shadow:var(--occlusa-focus-ring)}@media print{body.printing-treatment-plan{overflow:visible!important;background:#fff!important}body.printing-treatment-plan #root{height:auto!important;overflow:visible!important}body.printing-treatment-plan .operational-nav-header,body.printing-treatment-plan .app-layout-sidebar,body.printing-treatment-plan .right-rail,body.printing-treatment-plan .right-patient-sidebar,body.printing-treatment-plan .charting-sidebar,body.printing-treatment-plan .charting-teeth-chart,body.printing-treatment-plan .charting-toolbar,body.printing-treatment-plan .treatment-plan-print-hide,body.printing-treatment-plan .treatment-plan-folder-tab-menu-btn,body.printing-treatment-plan .treatment-plan-folder-tab-add,body.printing-treatment-plan .treatment-plan-procedure-row-grip,body.printing-treatment-plan .treatment-plan-visit-accordion-menu-btn,body.printing-treatment-plan .treatment-plan-visit-accordion-chevron-btn,body.printing-treatment-plan .treatment-plan-visit-footer-actions,body.printing-treatment-plan .popover-menu,body.printing-treatment-plan .popover-menu-host,body.printing-treatment-plan .share-tp-btn,body.printing-treatment-plan .occlusa-modal-overlay{display:none!important}body.printing-treatment-plan .treatment-plan-print-root,body.printing-treatment-plan .treatment-plan-print-root *{visibility:visible!important}body.printing-treatment-plan .treatment-plan-print-root{position:absolute;left:0;top:0;width:100%;background:#fff!important;color:#111827!important;box-shadow:none!important;border:none!important}body.printing-treatment-plan .treatment-plan-visits-scroll{overflow:visible!important;max-height:none!important}body.printing-chart{overflow:visible!important;background:#fff!important}body.printing-chart #root{height:auto!important;overflow:visible!important}body.printing-chart .operational-nav-header,body.printing-chart .app-layout-sidebar,body.printing-chart .right-rail,body.printing-chart .right-patient-sidebar,body.printing-chart .charting-tabs,body.printing-chart .panel-charting-context,body.printing-chart .panel-procedures,body.printing-chart .treatment-plan-panel,body.printing-chart .treatment-plan-print-hide,body.printing-chart .popover-menu,body.printing-chart .popover-menu-host,body.printing-chart .occlusa-modal-overlay{display:none!important}body.printing-chart .charting-print-root,body.printing-chart .charting-print-root *{visibility:visible!important}body.printing-chart .charting-print-root{position:absolute;left:0;top:0;width:100%;background:#fff!important;box-shadow:none!important;border:none!important}}.admin-floating-menu:not(.patient-notes-row-menu){z-index:var(--occlusa-z-floating-menu)}.occlusa-modal-overlay,.modal-overlay,.one-time-note-lock-overlay,.occlusa-modal-backdrop{z-index:var(--occlusa-z-modal);animation:fadeIn .15s ease-out forwards}.occlusa-modal,.billing-modal-panel,.clinic-settings-modal,.modal-content,.insurance-modal-panel,.charting-shortcut-list-modal,.apply-macro-modal,.visit-notes-modal,.procedures-macros-modal,.patient-ledger-modal,.custom-payer-bulk-modal,.add-disclosure-modal-content,.checkout-modal,.edit-tag-modal,.add-tag-modal-content,.rename-modal-content,.medical-alerts-modal,.line-item-selector-modal,.schedule-edit-recare-modal,.schedule-cancel-appointment-modal,.action-modal,.admin-floating-menu{animation:scaleIn .2s cubic-bezier(.16,1,.3,1) forwards}.animate-fade-out{animation:fadeOut .3s ease-out forwards!important}.animate-scale-out{animation:scaleOut .15s ease-out forwards!important}.occlusa-modal-backdrop.animate-fade-out>*,.occlusa-modal-overlay.animate-fade-out>*{animation:scaleOut .15s ease-out forwards!important}@keyframes occlusa-toast-slide-up{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.patient-context-toast,.toast,.global-toast,.practice-settings-toast,.note-lock-success-toast,.success-toast,.charting-shortcuts-toast,.profile-page-toast,.insurance-page-toast,.patient-section-page-toast,.insurance-plan-coming-soon-toast,.perio-edit-exam-snackbar{inset:auto auto 24px 50%!important;transform:translate(-50%)!important;z-index:var(--occlusa-z-toast, 10050)!important}.global-toast.global-toast--top-right{top:1rem!important;right:1rem!important;left:auto!important;bottom:auto!important;transform:none!important}button,input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea,.custom-select-trigger,.practice-settings-input,.practice-settings-btn,.billing-feature-btn,.operatories-page__add-button,.operatories-modal-actions button,.clinic-settings-btn,.admin-btn,[class*=-btn]:not([class*=-btn-group]){transition:background-color .2s ease-in-out,border-color .2s ease-in-out,color .2s ease-in-out,box-shadow .2s ease-in-out,opacity .2s ease-in-out}button:disabled,input:disabled,select:disabled,textarea:disabled,.custom-select-trigger:disabled,[class*=-btn]:disabled{transition:background-color .2s ease-in-out,border-color .2s ease-in-out,color .2s ease-in-out,box-shadow .2s ease-in-out,opacity .2s ease-in-out}.clinic-detail-tab,.clinic-detail-tab--active,.practice-tab,.practice-tab.active,.admin-nav-item,.admin-nav-item.active,.admin-nav-child,.admin-nav-child.active,.admin-quick-link-item,.admin-quick-link-item.active,.right-rail-tab,.right-rail-tab--active,.calendar-day,.calendar-day.selected,.calendar-day.today,.mini-calendar-day,.mini-calendar-day--selected,.mini-calendar-day--today,.patient-files-workspace-tree-item--active{border-left:none!important}.desktop-container{position:relative;width:100%;min-height:100vh;background:linear-gradient(to bottom,var(--occlusa-blue, #438fce),#438fce);display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:Inter,system-ui,-apple-system,sans-serif;overflow-y:auto;padding:29px 19px;box-sizing:border-box}.main-content-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:19px;width:100%;max-width:638px}.login-card{background:#fff;width:100%;max-width:638px;border-radius:14px;display:flex;flex-direction:column;align-items:center;padding:34px 38px 38px;box-shadow:0 8px 24px #00000024;box-sizing:border-box}.logo-container{width:168px;height:168px;margin-bottom:24px}.logo-image{width:100%;height:100%;object-fit:contain;pointer-events:none}.login-form{width:100%;display:flex;flex-direction:column;gap:14px;margin-bottom:22px}.login-form .form-group{position:relative;width:100%}.login-form-input{width:100%;height:48px;border:1px solid #e5e7eb;border-radius:10px;padding:0 17px;font-family:inherit;font-weight:500;font-size:17px;color:#1f2937;background:#fff;box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease;appearance:none;-webkit-appearance:none}.login-form-input::placeholder{color:#9ca3af;opacity:1;font-weight:500}.login-form-input:focus{outline:none;border-color:var(--occlusa-blue, #438fce);box-shadow:0 0 0 2px #438fce26}.login-form-input:focus::placeholder{opacity:.7}.login-form-input:-webkit-autofill,.login-form-input:-webkit-autofill:hover,.login-form-input:-webkit-autofill:focus{-webkit-text-fill-color:#1f2937;box-shadow:0 0 0 1000px #fff inset;border:1px solid #e5e7eb;transition:background-color 5000s ease-in-out 0s}.login-form-input:-webkit-autofill:focus{border-color:var(--occlusa-blue, #438fce);box-shadow:0 0 0 2px #438fce26,0 0 0 1000px #fff inset}.login-button{width:auto;min-width:108px;height:auto;padding:8px 22px;background:var(--occlusa-blue, #438fce);border:none;border-radius:10px;color:#fff;font-family:inherit;font-weight:600;font-size:16px;line-height:1.25;cursor:pointer;transition:background-color .2s ease,transform .1s ease;display:inline-flex;align-items:center;justify-content:center}.login-button:hover:not(:disabled){background:var(--occlusa-blue, #438fce)}.login-button:active:not(:disabled){transform:scale(.98)}.login-button:disabled{opacity:.65;cursor:not-allowed}.footer-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;max-width:638px}.footer-text{width:100%;font-family:inherit;font-weight:400;font-size:13px;color:#ffffffb8;line-height:1.45;text-align:left}.footer-text p{margin:0 0 10px}.footer-link{color:#ffffffd9;text-decoration:underline;cursor:pointer;transition:opacity .2s;text-decoration-skip-ink:none;text-underline-position:from-font}.footer-link:hover{opacity:.9}.footer-links{white-space:pre-wrap;font-size:13px;margin-top:5px;color:#ffffffad}@media(max-width:768px){.desktop-container{padding:24px 17px}.login-card{padding:29px 29px 34px;border-radius:12px}.logo-container{width:144px;height:144px;margin-bottom:19px}.login-form{gap:12px;margin-bottom:19px}.login-form-input{height:46px;font-size:17px;padding:0 14px}.login-button{padding:7px 19px;font-size:14px}}@media(max-width:480px){.login-card{padding:24px 22px 29px}.logo-container{width:130px;height:130px;margin-bottom:17px}.login-form-input{height:43px;font-size:16px;border-radius:8px}.login-button{padding:7px 17px;font-size:14px;border-radius:8px}}.occlusa-silent-route-fallback{min-height:100vh;min-height:100dvh;width:100%;background:#f8fafc}.occlusa-boot-overlay{position:fixed;inset:0;z-index:var(--occlusa-z-portal-menu, 10002);pointer-events:auto}.occlusa-loading-screen{box-sizing:border-box;min-height:100vh;min-height:100dvh;width:100%;height:100%;display:flex;align-items:center;justify-content:center;margin:0;padding:0;background:#f8fafc;font-family:Inter,sans-serif}.occlusa-boot-overlay .occlusa-loading-screen{min-height:100%}.occlusa-loading-screen--embedded{min-height:0;height:100%;flex:1 1 0%;align-self:stretch;background:var(--bg-canvas, #f3f4f6);animation:app-layout-route-loading-fade-in .18s ease-out forwards}@keyframes app-layout-route-loading-fade-in{0%{opacity:0}to{opacity:1}}.occlusa-loading-screen__content{position:relative;display:block;width:88px;height:88px;padding-bottom:2.75rem;box-sizing:content-box;margin:0}.occlusa-loading-screen__logo{display:block;width:88px;height:88px;margin:0;object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none;transform:translateZ(0);backface-visibility:hidden;will-change:transform;animation:occlusa-logo-spin-wobble 3.4s infinite}.occlusa-loading-screen__label{position:absolute;top:calc(88px + 1.25rem);left:50%;transform:translate(-50%);margin:0;width:max-content;white-space:nowrap;text-align:center;font-family:Inter,sans-serif;font-size:1.25rem;font-weight:600;letter-spacing:.06em;line-height:1.2;color:#64748b;-webkit-user-select:none;user-select:none;overflow:hidden}.occlusa-loading-screen__label:after{content:"";position:absolute;top:0;bottom:0;left:0;width:45%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.15) 35%,rgba(255,255,255,.7) 50%,rgba(255,255,255,.15) 65%,transparent 100%);transform:translate(-160%);pointer-events:none;animation:occlusa-loading-label-shine 1.7s ease-in-out infinite}@keyframes occlusa-loading-label-shine{0%{transform:translate(-160%)}75%{transform:translate(260%)}to{transform:translate(260%)}}@keyframes occlusa-logo-spin-wobble{0%{transform:translateZ(0) rotate(0);animation-timing-function:cubic-bezier(.25,.1,.2,1)}14%{transform:translateZ(0) rotate(392deg);animation-timing-function:cubic-bezier(.33,1.35,.5,1)}20%{transform:translateZ(0) rotate(336deg);animation-timing-function:cubic-bezier(.33,1.25,.5,1)}26%{transform:translateZ(0) rotate(376deg);animation-timing-function:cubic-bezier(.33,1.2,.5,1)}31%{transform:translateZ(0) rotate(348deg);animation-timing-function:cubic-bezier(.33,1.15,.5,1)}36%{transform:translateZ(0) rotate(369deg);animation-timing-function:cubic-bezier(.33,1.1,.5,1)}40%{transform:translateZ(0) rotate(354deg);animation-timing-function:cubic-bezier(.33,1.05,.5,1)}43%{transform:translateZ(0) rotate(364deg);animation-timing-function:cubic-bezier(.33,1,.55,1)}46%{transform:translateZ(0) rotate(357deg);animation-timing-function:cubic-bezier(.33,1,.55,1)}48%{transform:translateZ(0) rotate(361deg);animation-timing-function:ease-out}50%{transform:translateZ(0) rotate(360deg);animation-timing-function:cubic-bezier(.25,.1,.2,1)}64%{transform:translateZ(0) rotate(752deg);animation-timing-function:cubic-bezier(.33,1.35,.5,1)}70%{transform:translateZ(0) rotate(696deg);animation-timing-function:cubic-bezier(.33,1.25,.5,1)}76%{transform:translateZ(0) rotate(736deg);animation-timing-function:cubic-bezier(.33,1.2,.5,1)}81%{transform:translateZ(0) rotate(708deg);animation-timing-function:cubic-bezier(.33,1.15,.5,1)}86%{transform:translateZ(0) rotate(729deg);animation-timing-function:cubic-bezier(.33,1.1,.5,1)}90%{transform:translateZ(0) rotate(714deg);animation-timing-function:cubic-bezier(.33,1.05,.5,1)}93%{transform:translateZ(0) rotate(724deg);animation-timing-function:cubic-bezier(.33,1,.55,1)}96%{transform:translateZ(0) rotate(717deg);animation-timing-function:cubic-bezier(.33,1,.55,1)}98%{transform:translateZ(0) rotate(721deg);animation-timing-function:ease-out}to{transform:translateZ(0) rotate(720deg)}}.permission-denied-panel{margin:1.5rem;padding:1.25rem 1.5rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff;max-width:32rem}.permission-denied-panel-title{margin:0 0 .5rem;font-size:1.125rem;font-weight:600;color:#0f172a;font-family:Inter,sans-serif}.permission-denied-panel-text{margin:0;color:#475569;font-size:.875rem;line-height:1.45;font-family:Inter,sans-serif}.permission-denied-panel--route{margin:2rem auto}.global-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:var(--occlusa-z-toast, 10050);display:inline-flex;align-items:center;gap:12px;max-width:min(480px,calc(100vw - 32px));padding:14px 20px;border-radius:8px;font-family:Inter,sans-serif;font-size:14px;font-weight:500;line-height:1.4;box-shadow:0 4px 20px #0003;animation:occlusa-toast-slide-up .3s ease-out}.global-toast--top-right{top:1rem;right:1rem;left:auto;bottom:auto;transform:none;animation:occlusa-toast-slide-in-top-right .3s ease-out}@keyframes occlusa-toast-slide-in-top-right{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}.global-toast--success{background:#16a34a;color:#fff}.global-toast--error{background:#dc2626;color:#fff}.global-toast--info{background:var(--occlusa-blue, #438fce);color:#fff}.global-toast--loading{background:#1e293b;color:#fff}.global-toast__message{flex:1;min-width:0}.global-toast__close{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;color:inherit;font-size:18px;line-height:1;cursor:pointer;opacity:.85;transition:opacity .2s ease-in-out}.global-toast__close:hover{opacity:1}.session-expired-modal-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:1rem;background:#00000073;animation:fadeIn .18s ease forwards}.session-expired-modal-panel{width:100%;max-width:28rem;padding:1.25rem 1.5rem;border-radius:8px;background:#fff;border:1px solid var(--border-light, #e5e7eb);box-shadow:0 20px 60px #00000040;animation:scaleIn .2s cubic-bezier(.16,1,.3,1) forwards}.session-expired-modal-title{margin:0 0 .5rem;font-family:Inter,sans-serif;font-size:1.125rem;font-weight:600;color:#111827}.session-expired-modal-message{margin:0 0 1.25rem;font-family:Inter,sans-serif;font-size:.875rem;line-height:1.5;color:#4b5563}.session-expired-modal-actions{display:flex;justify-content:flex-end}.session-expired-modal-btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1.25rem;border:1px solid var(--occlusa-blue, #438fce);border-radius:6px;background:var(--occlusa-blue, #438fce);color:#fff;font-family:Inter,sans-serif;font-size:.875rem;font-weight:600;cursor:pointer;transition:background-color .2s ease-in-out,border-color .2s ease-in-out,opacity .2s ease-in-out}.session-expired-modal-btn:hover{background:#3a7db8;border-color:#3a7db8}.session-expired-modal-btn:focus-visible{outline:none;box-shadow:var(--occlusa-focus-ring)}
