#dental-estimator-app{font-family:Inter,sans-serif;background-color:hsl(var(--background));color:hsl(var(--foreground));line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#dental-estimator-app *,#dental-estimator-app *::before,#dental-estimator-app *::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:hsl(var(--border))}#dental-estimator-app h1,#dental-estimator-app h2,#dental-estimator-app h3,#dental-estimator-app h4,#dental-estimator-app h5,#dental-estimator-app h6{font-size:inherit;font-weight:inherit;margin:0}#dental-estimator-app p{margin:0}#dental-estimator-app ul{list-style:none;margin:0;padding:0}#dental-estimator-app button{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0;background-color:#fff0;background-image:none;-webkit-appearance:button;text-transform:none;cursor:pointer}#dental-estimator-app input{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}#dental-estimator-app svg{display:block;vertical-align:middle}#dental-estimator-app a{color:inherit;text-decoration:inherit}#dental-estimator-app .flex{display:flex}#dental-estimator-app .inline-flex{display:inline-flex}#dental-estimator-app .hidden{display:none}#dental-estimator-app .block{display:block}#dental-estimator-app .flex-1{flex:1 1 0%}#dental-estimator-app .flex-col{flex-direction:column}#dental-estimator-app .flex-row{flex-direction:row}#dental-estimator-app .flex-wrap{flex-wrap:wrap}#dental-estimator-app .shrink-0{flex-shrink:0}#dental-estimator-app .min-w-0{min-width:0}#dental-estimator-app .items-center{align-items:center}#dental-estimator-app .items-start{align-items:flex-start}#dental-estimator-app .justify-center{justify-content:center}#dental-estimator-app .justify-between{justify-content:space-between}#dental-estimator-app .gap-1{gap:.25rem}#dental-estimator-app .gap-1\.5{gap:.375rem}#dental-estimator-app .gap-2{gap:.5rem}#dental-estimator-app .gap-2\.5{gap:.625rem}#dental-estimator-app .gap-3{gap:.75rem}#dental-estimator-app .gap-6{gap:1.5rem}#dental-estimator-app .gap-8{gap:2rem}#dental-estimator-app .w-1\.5{width:.375rem}#dental-estimator-app .w-2{width:.5rem}#dental-estimator-app .w-3\.5{width:.875rem}#dental-estimator-app .w-4{width:1rem}#dental-estimator-app .w-5{width:1.25rem}#dental-estimator-app .w-7{width:1.75rem}#dental-estimator-app .w-8{width:2rem}#dental-estimator-app .w-14{width:3.5rem}#dental-estimator-app .w-full{width:100%}#dental-estimator-app .h-1{height:.25rem}#dental-estimator-app .h-1\.5{height:.375rem}#dental-estimator-app .h-2{height:.5rem}#dental-estimator-app .h-7{height:1.75rem}#dental-estimator-app .h-8{height:2rem}#dental-estimator-app .h-14{height:3.5rem}#dental-estimator-app .h-full{height:100%}#dental-estimator-app .min-h-screen{min-height:100vh}#dental-estimator-app .max-w-sm{max-width:24rem}#dental-estimator-app .max-w-md{max-width:28rem}#dental-estimator-app .max-w-2xl{max-width:42rem}#dental-estimator-app .max-w-4xl{max-width:56rem}#dental-estimator-app .max-w-5xl{max-width:64rem}#dental-estimator-app .p-4{padding:1rem}#dental-estimator-app .p-5{padding:1.25rem}#dental-estimator-app .p-6{padding:1.5rem}#dental-estimator-app .px-3{padding-left:.75rem;padding-right:.75rem}#dental-estimator-app .px-4{padding-left:1rem;padding-right:1rem}#dental-estimator-app .px-5{padding-left:1.25rem;padding-right:1.25rem}#dental-estimator-app .px-6{padding-left:1.5rem;padding-right:1.5rem}#dental-estimator-app .px-7{padding-left:1.75rem;padding-right:1.75rem}#dental-estimator-app .px-8{padding-left:2rem;padding-right:2rem}#dental-estimator-app .px-10{padding-left:2.5rem;padding-right:2.5rem}#dental-estimator-app .py-2{padding-top:.5rem;padding-bottom:.5rem}#dental-estimator-app .py-3{padding-top:.75rem;padding-bottom:.75rem}#dental-estimator-app .py-3\.5{padding-top:.875rem;padding-bottom:.875rem}#dental-estimator-app .py-4{padding-top:1rem;padding-bottom:1rem}#dental-estimator-app .py-6{padding-top:1.5rem;padding-bottom:1.5rem}#dental-estimator-app .py-8{padding-top:2rem;padding-bottom:2rem}#dental-estimator-app .py-12{padding-top:3rem;padding-bottom:3rem}#dental-estimator-app .py-16{padding-top:4rem;padding-bottom:4rem}#dental-estimator-app .pt-1{padding-top:.25rem}#dental-estimator-app .pb-1{padding-bottom:.25rem}#dental-estimator-app .mb-1{margin-bottom:.25rem}#dental-estimator-app .mb-1\.5{margin-bottom:.375rem}#dental-estimator-app .mb-2{margin-bottom:.5rem}#dental-estimator-app .mb-3{margin-bottom:.75rem}#dental-estimator-app .mb-4{margin-bottom:1rem}#dental-estimator-app .mb-5{margin-bottom:1.25rem}#dental-estimator-app .mb-6{margin-bottom:1.5rem}#dental-estimator-app .mb-8{margin-bottom:2rem}#dental-estimator-app .mt-0\.5{margin-top:.125rem}#dental-estimator-app .mt-1\.5{margin-top:.375rem}#dental-estimator-app .mt-2{margin-top:.5rem}#dental-estimator-app .mt-3{margin-top:.75rem}#dental-estimator-app .mt-4{margin-top:1rem}#dental-estimator-app .mt-5{margin-top:1.25rem}#dental-estimator-app .mx-auto{margin-left:auto;margin-right:auto}#dental-estimator-app .space-y-2>*+*{margin-top:.5rem}#dental-estimator-app .space-y-2\.5>*+*{margin-top:.625rem}#dental-estimator-app .space-y-4>*+*{margin-top:1rem}#dental-estimator-app .font-sans{font-family:Inter,sans-serif}#dental-estimator-app .font-serif{font-family:'Cormorant Garamond',serif}#dental-estimator-app .font-light{font-weight:300}#dental-estimator-app .font-normal{font-weight:400}#dental-estimator-app .font-medium{font-weight:500}#dental-estimator-app .font-semibold{font-weight:600}#dental-estimator-app .font-bold{font-weight:700}#dental-estimator-app .text-xs{font-size:.75rem;line-height:1rem}#dental-estimator-app .text-sm{font-size:.875rem;line-height:1.25rem}#dental-estimator-app .text-base{font-size:1rem;line-height:1.5rem}#dental-estimator-app .text-lg{font-size:1.125rem;line-height:1.75rem}#dental-estimator-app .text-xl{font-size:1.25rem;line-height:1.75rem}#dental-estimator-app .text-2xl{font-size:1.5rem;line-height:2rem}#dental-estimator-app .text-3xl{font-size:1.875rem;line-height:2.25rem}#dental-estimator-app .text-4xl{font-size:2.25rem;line-height:2.5rem}#dental-estimator-app .text-5xl{font-size:3rem;line-height:1}#dental-estimator-app .leading-tight{line-height:1.25}#dental-estimator-app .leading-snug{line-height:1.375}#dental-estimator-app .leading-relaxed{line-height:1.625}#dental-estimator-app .tracking-wide{letter-spacing:.025em}#dental-estimator-app .tracking-wider{letter-spacing:.05em}#dental-estimator-app .tracking-widest{letter-spacing:.1em}#dental-estimator-app .uppercase{text-transform:uppercase}#dental-estimator-app .text-center{text-align:center}#dental-estimator-app .text-left{text-align:left}#dental-estimator-app .select-none{user-select:none;-webkit-user-select:none}#dental-estimator-app .text-foreground{color:hsl(var(--foreground))}#dental-estimator-app .text-foreground\/50{color:hsl(var(--foreground) / .5)}#dental-estimator-app .text-muted-foreground{color:hsl(var(--muted-foreground))}#dental-estimator-app .text-muted-foreground\/30{color:hsl(var(--muted-foreground) / .3)}#dental-estimator-app .text-muted-foreground\/50{color:hsl(var(--muted-foreground) / .5)}#dental-estimator-app .text-muted-foreground\/60{color:hsl(var(--muted-foreground) / .6)}#dental-estimator-app .text-muted-foreground\/70{color:hsl(var(--muted-foreground) / .7)}#dental-estimator-app .text-primary{color:hsl(var(--primary))}#dental-estimator-app .text-primary-foreground{color:hsl(var(--primary-foreground))}#dental-estimator-app .text-card-foreground{color:hsl(var(--card-foreground))}#dental-estimator-app .text-accent-foreground{color:hsl(var(--accent-foreground))}#dental-estimator-app .bg-background{background-color:hsl(var(--background))}#dental-estimator-app .bg-card{background-color:hsl(var(--card))}#dental-estimator-app .bg-muted{background-color:hsl(var(--muted))}#dental-estimator-app .bg-primary{background-color:hsl(var(--primary))}#dental-estimator-app .bg-primary\/40{background-color:hsl(var(--primary) / .4)}#dental-estimator-app .bg-primary\/60{background-color:hsl(var(--primary) / .6)}#dental-estimator-app .bg-secondary{background-color:hsl(var(--secondary))}#dental-estimator-app .bg-accent{background-color:hsl(var(--accent))}#dental-estimator-app .bg-accent\/50{background-color:hsl(var(--accent) / .5)}#dental-estimator-app .bg-accent\/60{background-color:hsl(var(--accent) / .6)}#dental-estimator-app .border{border-width:1px}#dental-estimator-app .border-2{border-width:2px}#dental-estimator-app .border-b{border-bottom-width:1px}#dental-estimator-app .border-border{border-color:hsl(var(--border))}#dental-estimator-app .border-primary{border-color:hsl(var(--primary))}#dental-estimator-app .border-primary\/40{border-color:hsl(var(--primary) / .4)}#dental-estimator-app .rounded{border-radius:.25rem}#dental-estimator-app .rounded-lg{border-radius:.5rem}#dental-estimator-app .rounded-xl{border-radius:.75rem}#dental-estimator-app .rounded-2xl{border-radius:1rem}#dental-estimator-app .rounded-full{border-radius:9999px}#dental-estimator-app .shadow-sm{box-shadow:0 1px 2px 0 rgb(0 0 0 / .05)}#dental-estimator-app .overflow-hidden{overflow:hidden}#dental-estimator-app .relative{position:relative}#dental-estimator-app .absolute{position:absolute}#dental-estimator-app .sticky{position:sticky}#dental-estimator-app .top-0{top:0}#dental-estimator-app .inset-0{top:0;right:0;bottom:0;left:0}#dental-estimator-app .z-40{z-index:40}#dental-estimator-app .z-50{z-index:50}#dental-estimator-app .blur-md{filter:blur(12px)}#dental-estimator-app .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}#dental-estimator-app .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}#dental-estimator-app .transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}#dental-estimator-app .transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}#dental-estimator-app .duration-200{transition-duration:200ms}#dental-estimator-app .duration-500{transition-duration:500ms}#dental-estimator-app .focus\:outline-none:focus{outline:2px solid #fff0;outline-offset:2px}#dental-estimator-app .focus\:border-primary:focus{border-color:hsl(var(--primary))}#dental-estimator-app .hover\:bg-accent\/50:hover{background-color:hsl(var(--accent) / .5)}#dental-estimator-app .hover\:bg-accent:hover{background-color:hsl(var(--accent))}#dental-estimator-app .hover\:border-primary\/40:hover{border-color:hsl(var(--primary) / .4)}#dental-estimator-app .hover\:text-foreground:hover{color:hsl(var(--foreground))}#dental-estimator-app .hover\:shadow-lg:hover{box-shadow:0 10px 15px -3px rgb(0 0 0 / .1),0 4px 6px -4px rgb(0 0 0 / .1)}#dental-estimator-app .group:hover .group-hover\:-translate-x-0\.5{transform:translateX(-.125rem)}#dental-estimator-app .cursor-pointer{cursor:pointer}#dental-estimator-app .cursor-not-allowed{cursor:not-allowed}#dental-estimator-app .disabled\:opacity-50:disabled{opacity:.5}@keyframes die-pulse{0%,100%{opacity:1}50%{opacity:.5}}#dental-estimator-app .animate-pulse{animation:die-pulse 2s cubic-bezier(.4,0,.6,1) infinite}@media (min-width:640px){#dental-estimator-app .sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}#dental-estimator-app .sm\:py-12{padding-top:3rem;padding-bottom:3rem}#dental-estimator-app .sm\:p-8{padding:2rem}#dental-estimator-app .sm\:text-sm{font-size:.875rem;line-height:1.25rem}#dental-estimator-app .sm\:text-lg{font-size:1.125rem;line-height:1.75rem}#dental-estimator-app .sm\:text-2xl{font-size:1.5rem;line-height:2rem}#dental-estimator-app .sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}#dental-estimator-app .sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}#dental-estimator-app .sm\:text-5xl{font-size:3rem;line-height:1}#dental-estimator-app .sm\:w-auto{width:auto}#dental-estimator-app .sm\:flex-row{flex-direction:row}#dental-estimator-app .sm\:block{display:block}}@media (min-width:1024px){#dental-estimator-app .lg\:flex-row{flex-direction:row}#dental-estimator-app .lg\:text-left{text-align:left}#dental-estimator-app .lg\:mx-0{margin-left:0;margin-right:0}#dental-estimator-app .lg\:max-w-xs{max-width:20rem}#dental-estimator-app .lg\:w-72{width:18rem}#dental-estimator-app .lg\:gap-12{gap:3rem}}#dental-estimator-app .die-site-header{position:sticky;top:0;z-index:50;background-color:hsl(var(--background) / .95);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid hsl(var(--border))}#dental-estimator-app .die-header-inner{padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between}#dental-estimator-app #die-steps-wrapper{position:relative;display:flex;flex-direction:column;flex:1}#dental-estimator-app .die-step-panel{display:none;flex-direction:column;flex:1}#dental-estimator-app .die-step-panel.active{display:flex;animation:die-stepEnter 0.5s cubic-bezier(.16,1,.3,1) forwards}#dental-estimator-app .die-step-panel.exiting{display:flex;animation:die-stepExitForward 0.3s ease forwards;pointer-events:none;position:absolute;inset:0}#dental-estimator-app .die-step-panel.back-exiting{display:flex;animation:die-stepExitBack 0.3s ease forwards;pointer-events:none;position:absolute;inset:0}#dental-estimator-app .die-step-panel.back-entering{animation:die-stepEnterBack 0.45s cubic-bezier(.16,1,.3,1) forwards}@keyframes die-stepEnter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes die-stepExitForward{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-14px)}}@keyframes die-stepEnterBack{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes die-stepExitBack{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(20px)}}#dental-estimator-app #die-loading-overlay{position:fixed;inset:0;z-index:99999;background-color:hsl(var(--background));display:flex;flex-direction:column;opacity:0;pointer-events:none;transition:opacity 0.35s ease}#dental-estimator-app #die-loading-overlay.show{opacity:1;pointer-events:all}#dental-estimator-app #die-loading-overlay .die-loading-header-inner{padding:1rem 1.5rem;border-bottom:1px solid hsl(var(--border));display:flex;align-items:center;gap:.5rem}@keyframes die-spinLoader{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}#dental-estimator-app .die-spinner-icon{animation:die-spinLoader 1s linear infinite;display:block}@keyframes die-pulseDot{0%,100%{transform:scale(.75);opacity:.35}50%{transform:scale(1.35);opacity:1}}#dental-estimator-app .die-pulse-dot{width:6px;height:6px;border-radius:50%;background-color:hsl(var(--primary) / .5)}#dental-estimator-app .die-pulse-dot-1{animation:die-pulseDot 1.3s ease infinite 0s}#dental-estimator-app .die-pulse-dot-2{animation:die-pulseDot 1.3s ease infinite 0.22s}#dental-estimator-app .die-pulse-dot-3{animation:die-pulseDot 1.3s ease infinite 0.44s}#dental-estimator-app .option-btn.selected{border-color:hsl(var(--primary));background-color:hsl(var(--accent) / .6)}#dental-estimator-app .progress-fill{transition:width 0.7s cubic-bezier(.4,0,.2,1)}#dental-estimator-app .range-blurred{filter:blur(8px);transition:filter 0.6s ease;user-select:none;-webkit-user-select:none}#dental-estimator-app .range-revealed{filter:none;transition:filter 0.6s ease}@keyframes die-tagAppear{from{opacity:0;transform:scale(.88) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}#dental-estimator-app .tag-item{animation:die-tagAppear 0.35s ease forwards}#dental-estimator-app .reveal-btn:not(:disabled){background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));cursor:pointer}#dental-estimator-app .reveal-btn:not(:disabled):hover{box-shadow:0 10px 15px -3px rgb(0 0 0 / .1)}@keyframes die-rangeReveal{from{opacity:0;transform:scale(.94) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}#dental-estimator-app .result-range-animate{animation:die-rangeReveal 0.7s cubic-bezier(.16,1,.3,1) forwards}#dental-estimator-app .focus\:ring-2:focus{--tw-ring-shadow:0 0 0 2px hsl(var(--ring));box-shadow:var(--tw-ring-shadow)}#dental-estimator-app .focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}#dental-estimator-app .focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}#dental-estimator-app .die-panel{display:none;flex-direction:column;min-height:calc(100vh - 53px)}#dental-estimator-app .die-panel.die-panel-active{display:flex;animation:diePanelIn 0.38s cubic-bezier(.16,1,.3,1) forwards}@keyframes diePanelIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}#die-loading-overlay{position:fixed;inset:0;z-index:99999;background-color:hsl(var(--background));flex-direction:column}#dental-estimator-app .die-loading-header-inner{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid hsl(var(--border))}#dental-estimator-app .die-site-header{position:sticky;top:0;z-index:50;background-color:hsl(var(--background) / .96);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid hsl(var(--border))}#dental-estimator-app .die-header-inner{padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between}#dental-estimator-app .die-pulse-dot{display:inline-block;width:.5rem;height:.5rem;border-radius:9999px;background-color:hsl(var(--primary));animation:die-pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes die-spin{to{transform:rotate(360deg)}}#dental-estimator-app .die-spinner{animation:die-spin 1s linear infinite;transform-origin:center}#dental-estimator-app .option-btn.selected{border-color:hsl(var(--primary));background-color:hsl(var(--accent))}#dental-estimator-app .option-btn:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}#dental-estimator-app .die-progress-fill{transition:width 1.2s ease-out}#dental-estimator-app .die-sidebar-range-bar{transition:width 0.6s ease}@keyframes die-tagAppear{from{opacity:0;transform:scale(.85) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}#dental-estimator-app .tag-item{animation:die-tagAppear 0.3s ease forwards}#dental-estimator-app #die-result-single-range,#dental-estimator-app #die-result-multiple-range{will-change:transform,opacity;display:block}#die-graft-note-single,#die-graft-note-multiple{display:none}#dental-estimator-app #die-reveal-btn:not(:disabled){cursor:pointer;opacity:1!important}#dental-estimator-app #die-reveal-btn:not(:disabled):hover{box-shadow:0 10px 15px -3px rgb(0 0 0 / .15)}#dental-estimator-app input:focus{border-color:hsl(var(--primary));outline:none}