.feedback-float__fab{position:fixed;left:16px;bottom:16px;z-index:200;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px 8px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.5);background:#ffffffd1;box-shadow:0 10px 28px #0ea5e938,0 2px 10px #0f172a14,inset 0 1px #ffffffd9;color:#0f172a;font-size:13px;font-weight:700;letter-spacing:.02em;cursor:pointer;backdrop-filter:blur(16px) saturate(170%);-webkit-backdrop-filter:blur(16px) saturate(170%);transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.feedback-float__fab:hover{transform:translateY(-1px);background:#ffffffeb}.feedback-float__fab:focus-visible{outline:2px solid rgba(14,165,233,.5);outline-offset:2px}.feedback-float__fab-icon{display:flex;width:28px;height:28px;flex:none;align-items:center;justify-content:center;border-radius:999px;background:linear-gradient(135deg,#7dd3fc,#0ea5e9 45%,#0284c7);color:#fff}.feedback-float__overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1600;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--feedback-overlay-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.feedback-float__dialog{width:min(100%,460px);max-height:90vh;overflow:auto;border:var(--feedback-dialog-border);border-radius:var(--feedback-dialog-radius);background:var(--feedback-dialog-bg);box-shadow:var(--feedback-dialog-shadow);backdrop-filter:var(--feedback-dialog-blur);-webkit-backdrop-filter:var(--feedback-dialog-blur);padding:28px;outline:none;animation:feedback-float-fade-in .22s ease,feedback-float-rise-in .22s ease}.feedback-float__title{margin:0 0 8px;color:var(--feedback-title-color);font-size:clamp(1.125rem,1.5vw,1.375rem);font-weight:700;line-height:1.35}.feedback-float__lead{margin:0 0 20px;color:var(--feedback-muted-color);font-size:.9375rem;line-height:1.65}.feedback-float__field{margin-bottom:16px}.feedback-float__label{display:block;margin-bottom:8px;color:var(--feedback-muted-color);font-size:.875rem;font-weight:600}.feedback-float__segments{display:flex;gap:8px}.feedback-float__segment{flex:1;min-height:40px;padding:8px 10px;border-radius:12px;border:1px solid rgba(148,163,184,.35);background:#ffffff6b;color:#0f172a;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease}.feedback-float__segment.is-active{border-color:#0ea5e98c;background:#0ea5e924;box-shadow:inset 0 0 0 1px #0ea5e933}.feedback-float__segment:focus-visible{outline:2px solid rgba(14,165,233,.45);outline-offset:2px}.feedback-float__textarea{width:100%;min-height:132px;resize:vertical;box-sizing:border-box;padding:12px;border:1px solid rgba(148,163,184,.35);border-radius:14px;background:#ffffff80;box-shadow:inset 0 2px 10px #0ea5e914;color:#0f172a;font-size:.9375rem;line-height:1.6;font-family:inherit}.feedback-float__textarea:focus{outline:2px solid rgba(14,165,233,.4);outline-offset:1px}.feedback-float__meta{margin:0 0 8px;color:var(--feedback-muted-color);font-size:.75rem}.feedback-float__count{margin:6px 0 0;text-align:right;color:var(--feedback-muted-color);font-size:.75rem}.feedback-float__error{margin:0 0 16px;padding:10px 12px;border:1px solid rgba(239,68,68,.22);border-radius:10px;background:#fef2f2d1;color:#b91c1c;font-size:.85rem;line-height:1.6}.feedback-float__actions{display:flex;gap:12px;margin-top:8px}.feedback-float__button{flex:1;min-height:44px;padding:10px 18px;border-radius:12px;font-size:.95rem;font-weight:600;line-height:1.2;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}.feedback-float__button:not(:disabled):hover{transform:translateY(-1px)}.feedback-float__button:focus-visible{outline:2px solid rgba(14,165,233,.45);outline-offset:2px}.feedback-float__button:disabled{cursor:not-allowed;opacity:.64;transform:none}.feedback-float__button--cancel{border:1px solid rgba(255,255,255,.45);background:#fff6;color:#0f172a}.feedback-float__button--submit{border:1px solid rgba(14,165,233,.4);background:linear-gradient(135deg,#7dd3fc,#0ea5e9 45%,#0284c7);box-shadow:0 8px 28px #0ea5e966;color:#fff}.feedback-float__button-label{display:inline-flex;align-items:center;justify-content:center;gap:8px}.feedback-float__spinner{width:14px;height:14px;flex:none;border-radius:50%;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;animation:feedback-float-spin .72s linear infinite}.feedback-float__success{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 8px 8px;text-align:center}.feedback-float__success-icon{display:flex;width:48px;height:48px;align-items:center;justify-content:center;border-radius:999px;background:#0ea5e924;color:#0284c7}.feedback-float__success-title{margin:0;font-family:inherit;color:var(--feedback-title-color);font-size:1.125rem;font-weight:700}.feedback-float__success-text{margin:0;color:var(--feedback-muted-color);font-size:.9375rem;line-height:1.6}@keyframes feedback-float-spin{to{transform:rotate(360deg)}}@keyframes feedback-float-fade-in{0%{opacity:0}to{opacity:1}}@keyframes feedback-float-rise-in{0%{transform:translateY(8px) scale(.98)}to{transform:translateY(0) scale(1)}}@media (max-width: 640px){.feedback-float__overlay{padding:16px}.feedback-float__dialog{padding:22px 20px}.feedback-float__fab-label{display:none}.feedback-float__fab{padding:8px}}@media (prefers-reduced-motion: reduce){.feedback-float__fab,.feedback-float__dialog,.feedback-float__button{animation:none;transition:none}.feedback-float__fab:hover,.feedback-float__button:not(:disabled):hover{transform:none}}.confirm-action-modal__overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1600;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--confirm-action-overlay-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.confirm-action-modal__dialog{width:min(100%,420px);border:var(--confirm-action-dialog-border);border-radius:var(--confirm-action-dialog-radius);background:var(--confirm-action-dialog-bg);box-shadow:var(--confirm-action-dialog-shadow);backdrop-filter:var(--confirm-action-dialog-blur);-webkit-backdrop-filter:var(--confirm-action-dialog-blur);padding:28px;outline:none;animation:confirm-action-modal-fade-in .22s ease,confirm-action-modal-rise-in .22s ease}.confirm-action-modal__title{margin:0 0 10px;color:var(--confirm-action-title-color);font-size:clamp(1.125rem,1.5vw,1.375rem);font-weight:700;line-height:1.35}.confirm-action-modal__message{margin:0 0 24px;color:var(--confirm-action-message-color);font-size:clamp(.9375rem,1.2vw,1rem);line-height:1.7;white-space:pre-line}.confirm-action-modal__error{margin:-12px 0 20px;padding:10px 12px;border:1px solid rgba(239,68,68,.22);border-radius:10px;background:#fef2f2d1;color:#b91c1c;font-size:.85rem;line-height:1.6}.confirm-action-modal__actions{display:flex;gap:12px}.confirm-action-modal__button{flex:1;min-height:44px;padding:10px 18px;border-radius:12px;font-size:.95rem;font-weight:600;line-height:1.2;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease,background-color .16s ease}.confirm-action-modal__button:not(:disabled){cursor:pointer}.confirm-action-modal__button:not(:disabled):hover{transform:translateY(-1px)}.confirm-action-modal__button:focus-visible{outline:2px solid var(--confirm-action-focus-ring);outline-offset:2px}.confirm-action-modal__button:disabled{cursor:not-allowed;opacity:.64;box-shadow:none;transform:none}.confirm-action-modal__button--cancel{border:var(--confirm-action-cancel-border);background:var(--confirm-action-cancel-bg);backdrop-filter:var(--confirm-action-cancel-blur);-webkit-backdrop-filter:var(--confirm-action-cancel-blur);color:var(--confirm-action-cancel-color)}.confirm-action-modal__button--confirm{border:var(--confirm-action-confirm-border);background:var(--confirm-action-confirm-bg);box-shadow:var(--confirm-action-confirm-shadow);color:#fff}.confirm-action-modal__button-label{display:inline-flex;align-items:center;justify-content:center;gap:8px}.confirm-action-modal__spinner{width:14px;height:14px;flex:none;border-radius:50%;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;animation:confirm-action-modal-spin .72s linear infinite}@keyframes confirm-action-modal-spin{to{transform:rotate(360deg)}}@keyframes confirm-action-modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes confirm-action-modal-rise-in{0%{transform:translateY(8px) scale(.98)}to{transform:translateY(0) scale(1)}}@media (max-width: 640px){.confirm-action-modal__overlay{padding:16px}.confirm-action-modal__dialog{padding:22px 20px}}@media (prefers-reduced-motion: reduce){.confirm-action-modal__dialog,.confirm-action-modal__button{animation:none;transition:none}.confirm-action-modal__spinner{animation-duration:2.4s}.confirm-action-modal__button:not(:disabled):hover{transform:none}}.neo-tc{width:100%;display:grid;gap:12px;color:#334155}.neo-tc--compact{gap:10px}.neo-tc-scroll{overflow-x:auto;padding:4px 2px 6px}.neo-tc-inner{min-width:544px;display:flex;flex-direction:column;gap:6px}.neo-tc-arch-label{text-align:center;font-size:11px;font-weight:700;letter-spacing:.12em;color:#64748b}.neo-tc-arch-label--bottom{margin-top:2px}.neo-tc-row{display:flex;align-items:center;justify-content:center;gap:8px}.neo-tc-segment{display:flex;gap:3px}.neo-tc-midline{width:2px;min-height:54px;align-self:stretch;margin:0 4px;border-radius:999px;background:#cbd5e1}.neo-tc-divider{height:1px;margin:4px 12px;background:linear-gradient(90deg,transparent,rgba(148,163,184,.45),transparent)}.neo-tc-tooth{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:44px;height:54px;padding:0;border:none;border-radius:8px;background:transparent;outline:2px solid transparent;box-shadow:none;cursor:pointer;transition:transform .12s ease,outline-color .12s ease,box-shadow .12s ease}.neo-tc--editable .neo-tc-tooth:hover{transform:scale(1.05)}.neo-tc-tooth.is-selected{outline-color:#2563eb85;box-shadow:0 0 0 4px #bfdbfebd}.neo-tc-tooth:focus-visible{outline-color:#2563eb85}.neo-tc-tooth.is-readonly{cursor:default}.neo-tc--readonly .neo-tc-tooth:hover{transform:none}.neo-tc-tooth svg{display:block}.neo-tc-tooth__silhouette{fill:var(--neo-tc-fill);stroke:var(--neo-tc-stroke);stroke-width:3}.neo-tc-tooth__label{font-size:28px;font-weight:800;fill:var(--neo-tc-label)}.neo-tc-legend{display:flex;flex-wrap:wrap;gap:8px 14px;color:#475569;font-size:12px}.neo-tc-legend__item{display:inline-flex;align-items:center;gap:6px}.neo-tc-legend__swatch{width:13px;height:13px;flex:0 0 auto;border-radius:4px;background:var(--neo-tc-fill);border:1.5px solid var(--neo-tc-stroke)}.neo-tc-float{position:fixed;z-index:1650;max-width:min(720px,calc(100vw - 24px));transform:translate(-50%);border-radius:14px;border:1px solid rgba(148,163,184,.28);background:#fffffffa;box-shadow:0 10px 32px #0f172a2e;padding:8px 10px;pointer-events:auto}.neo-tc-float.is-above{transform:translate(-50%,-100%)}.neo-tc-float.is-below{transform:translate(-50%)}.neo-tc-float.is-entering.is-above{animation:neo-tc-float-in-above .18s ease-out both}.neo-tc-float.is-entering.is-below{animation:neo-tc-float-in-below .18s ease-out both}.neo-tc-float.is-leaving.is-above{animation:neo-tc-float-out-above .16s ease-in both;pointer-events:none}.neo-tc-float.is-leaving.is-below{animation:neo-tc-float-out-below .16s ease-in both;pointer-events:none}@keyframes neo-tc-float-in-above{0%{opacity:0;transform:translate(-50%,calc(-100% + 8px)) scale(.96)}to{opacity:1;transform:translate(-50%,-100%) scale(1)}}@keyframes neo-tc-float-in-below{0%{opacity:0;transform:translate(-50%,-8px) scale(.96)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes neo-tc-float-out-above{0%{opacity:1;transform:translate(-50%,-100%) scale(1)}to{opacity:0;transform:translate(-50%,calc(-100% + 6px)) scale(.97)}}@keyframes neo-tc-float-out-below{0%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,-6px) scale(.97)}}.neo-tc-float__cap{display:block;margin-bottom:6px;font-size:11px;font-weight:700;letter-spacing:.08em;color:#64748b}.neo-tc-float__row{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;max-width:100%;padding-bottom:2px}.neo-tc-float__pill{flex:0 0 auto;border:1px solid rgba(148,163,184,.24);border-radius:999px;background:#f8fafc;color:#334155;padding:8px 13px;font-size:13px;font-weight:700;white-space:nowrap;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease,transform .14s ease}.neo-tc-float__pill:hover{transform:translateY(-1px);border-color:#3b82f652;background:#eff6ff}.neo-tc-float__pill.is-active{border-color:#2563eb4d;background:#dbeafe;color:#1d4ed8}@media (prefers-reduced-motion: reduce){.neo-tc-tooth,.neo-tc-float__pill{transition:none}.neo-tc-float.is-entering.is-above,.neo-tc-float.is-entering.is-below,.neo-tc-float.is-leaving.is-above,.neo-tc-float.is-leaving.is-below{animation:none}}*,*:before,*:after{box-sizing:border-box}:root{--liquid-mesh-bg: radial-gradient( ellipse 110% 75% at 8% 18%, rgba(224, 242, 254, .95) 0%, transparent 52% ), radial-gradient(ellipse 95% 65% at 92% 12%, rgba(186, 230, 253, .75) 0%, transparent 48%), radial-gradient(ellipse 85% 55% at 72% 88%, rgba(165, 243, 252, .55) 0%, transparent 50%), radial-gradient(ellipse 70% 48% at 28% 82%, rgba(207, 250, 254, .5) 0%, transparent 46%), linear-gradient(165deg, #ffffff 0%, #f0f9ff 28%, #e0f2fe 55%, #f8fafc 78%, #ffffff 100%);--liquid-text: #0f172a;--liquid-focus: #0284c7;--app-header-surface: rgba(255, 255, 255, .24);--app-brand-mosaic-gradient: linear-gradient( 90deg, #4f46e5 0%, #6366f1 14%, #7c3aed 28%, #c026d3 42%, #db2777 56%, #ec4899 70%, #a855f7 84%, #4f46e5 100% );--patient-detail-motion-ms: .42s;--patient-detail-panel-ms: .48s}html,body{margin:0;padding:0;font-family:Noto Sans JP,Hiragino Sans,Meiryo,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--liquid-text);background:var(--liquid-mesh-bg);background-attachment:fixed;min-height:100%}#root{min-height:100vh}.login-page-shell{height:100vh;height:100dvh}.startup-loading-screen{position:relative;isolation:isolate;min-height:100vh;min-height:100dvh;display:grid;place-items:center;overflow:hidden;padding:24px;color:#0f172a;background:radial-gradient(circle at 18% 20%,rgba(186,230,253,.88),transparent 34%),radial-gradient(circle at 82% 76%,rgba(196,181,253,.5),transparent 36%),linear-gradient(155deg,#f8fdff,#eaf7ff 48%,#f8f7ff)}.startup-loading-screen__orb{position:absolute;z-index:-1;width:min(42vw,520px);aspect-ratio:1;border-radius:50%;filter:blur(14px);opacity:.56}.startup-loading-screen__orb--left{top:-20%;left:-12%;background:#7dd3fc85}.startup-loading-screen__orb--right{right:-13%;bottom:-26%;background:#c084fc57}.startup-loading-screen__panel{width:min(100%,440px);display:flex;flex-direction:column;align-items:center;padding:34px 32px 28px;border:1px solid rgba(255,255,255,.78);border-radius:24px;background:#ffffff9e;box-shadow:0 24px 70px #0f172a1f;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);text-align:center}.startup-loading-screen__brand{margin-bottom:24px;color:#6d28d9;font-family:Quicksand,Noto Sans JP,sans-serif;font-size:19px;font-weight:600;letter-spacing:.14em}.startup-loading-screen__spinner{width:44px;height:44px;margin-bottom:20px;border:4px solid rgba(14,165,233,.18);border-top-color:#0284c7;border-right-color:#7c3aed;border-radius:50%;animation:startupLoadingSpin .9s linear infinite}.startup-loading-screen h1{margin:0;font-size:clamp(18px,3vw,22px);line-height:1.45}.startup-loading-screen p{margin:8px 0 20px;color:#64748b;font-size:13px;line-height:1.7}.startup-loading-screen__task{width:100%;min-height:42px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:10px 13px;border:1px solid rgba(148,163,184,.22);border-radius:12px;background:#f8fafcb8;color:#334155;font-size:12px;text-align:left}.startup-loading-screen__task strong{color:#0369a1;font-size:11px}.startup-loading-screen__task-dot{width:8px;height:8px;border-radius:50%;background:#0ea5e9;box-shadow:0 0 0 4px #0ea5e91f}.startup-loading-screen__slow{width:100%;margin-top:14px;padding-top:14px;border-top:1px solid rgba(148,163,184,.2)}.startup-loading-screen__slow p{margin:0 0 10px;color:#475569;font-size:12px}.startup-loading-screen__slow button{min-height:38px;padding:0 16px;border:1px solid rgba(2,132,199,.28);border-radius:10px;background:#ffffffd1;color:#0369a1;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.startup-loading-screen__slow button:focus-visible{outline:2px solid #0284c7;outline-offset:2px}@keyframes startupLoadingSpin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.startup-loading-screen__spinner{animation:none}}.diagnosis-info-focus-visible:focus-visible{outline:2px solid var(--liquid-focus);outline-offset:2px}.dental-grid-slot:focus-visible{outline:2px solid var(--liquid-focus);outline-offset:2px}.liquid-pressable:active:not(:disabled){transform:scale(.97);opacity:.92}.neo-hover-lift{transition:transform .2s ease,box-shadow .2s ease,background .22s ease,background-color .15s ease,opacity .15s ease}@media (hover: hover) and (pointer: fine){.neo-hover-lift:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 18px #0f172a24}.neo-hover-lift:active:not(:disabled){transform:translateY(-1px);box-shadow:0 3px 10px #0f172a1a}}@keyframes appBrandLogoGradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.app-brand-logo-quicksand{font-family:Quicksand,Noto Sans JP,sans-serif;font-weight:300;letter-spacing:.16em;background:var(--app-brand-mosaic-gradient);background-size:300% 100%;background-position:0% 50%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:appBrandLogoGradientShift 14s ease-in-out infinite;display:inline-block}.patient-detail-tabs{width:100%}.patient-detail-tablist{position:relative;margin-bottom:20px;width:100%;overflow:visible}.patient-detail-tablist__rail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:stretch;position:relative;width:100%}.patient-detail-tablist__rail:before{content:"";position:absolute;z-index:0;inset:0 auto 0 0;width:calc((100% - 10px)/2);border-radius:14px;background:var(--app-header-surface, rgba(255, 255, 255, .24));box-shadow:0 10px 28px #0f172a1f,0 3px 9px #0f172a14,inset 0 1px #ffffffad;transform:translate(0);transition:transform .3s cubic-bezier(.22,1,.36,1);pointer-events:none}.patient-detail-tablist__rail.is-imageAnalysis:before{transform:translate(calc(100% + 10px))}.patient-detail-tab{z-index:1;width:100%;min-width:0;display:inline-flex;align-items:center;justify-content:center;position:relative;padding:14px 16px;border:none;border-radius:14px;background:transparent;color:#0f172a8f;box-shadow:none;cursor:pointer;text-align:center;white-space:nowrap;transition:color .22s ease}.patient-detail-tab__label{position:relative;display:inline-block;font-size:clamp(1.5rem,1.3rem + .35vw,1.75rem);font-weight:700;line-height:1.15;letter-spacing:-.02em}.patient-detail-tab.is-active{color:var(--liquid-text)}.patient-detail-tab:not(.is-active):hover{color:#0f172ac7}.patient-detail-tab:focus-visible{outline:2px solid rgba(79,70,229,.38);outline-offset:3px}@media (prefers-reduced-motion: reduce){.patient-detail-tab,.patient-detail-tablist__rail:before{transition:none}}.patient-detail-panel-stack{position:relative;perspective:1800px;transform-style:preserve-3d;isolation:isolate}.patient-detail-panel{min-width:0;transform-origin:center top;backface-visibility:hidden;transform-style:preserve-3d}.patient-detail-panel.is-current{position:relative;z-index:2;opacity:1;visibility:visible;pointer-events:auto;transform:translateZ(0) scale(1)}.patient-detail-panel.is-entering{animation:patientDetailPanelEnter var(--patient-detail-panel-ms) cubic-bezier(.22,1,.36,1) both}.patient-detail-panel.is-exiting{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;opacity:1;visibility:visible;pointer-events:none;animation:patientDetailPanelExit var(--patient-detail-panel-ms) cubic-bezier(.22,1,.36,1) both}.patient-detail-panel.is-hidden{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;opacity:0;visibility:hidden;pointer-events:none;transform:translate3d(0,20px,-160px) scale(.94)}.patient-detail-panel.is-animating{will-change:opacity,transform}@keyframes patientDetailPanelEnter{0%{opacity:0;transform:translate3d(0,20px,-160px) scale(.94)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes patientDetailPanelExit{0%{opacity:1;transform:translateZ(0) scale(1)}to{opacity:0;transform:translate3d(0,20px,-160px) scale(.94)}}.drum-scroll-hide::-webkit-scrollbar{display:none}.ui-thin-scroll{scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.45) transparent}.ui-thin-scroll::-webkit-scrollbar{width:6px;height:6px}.ui-thin-scroll::-webkit-scrollbar-button,.thin-thumb-scroll::-webkit-scrollbar-button,.neo-main-scroll::-webkit-scrollbar-button{display:none;width:0;height:0}.ui-thin-scroll::-webkit-scrollbar-track{background:transparent;margin-block:12px;margin-inline:12px}.ui-thin-scroll::-webkit-scrollbar-thumb{background-color:#94a3b861;border-radius:999px;border:2px solid transparent;background-clip:padding-box;min-height:28px}.ui-thin-scroll::-webkit-scrollbar-thumb:hover{background-color:#64748bb8;border:1px solid transparent;background-clip:padding-box}.ui-thin-scroll::-webkit-scrollbar-thumb:active{background-color:#475569d9}.ui-thin-scroll::-webkit-scrollbar-corner{background:transparent}.thin-thumb-scroll{scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.45) transparent}.thin-thumb-scroll::-webkit-scrollbar{height:6px;width:6px}.thin-thumb-scroll::-webkit-scrollbar-track{background:transparent;margin-inline:10px}.thin-thumb-scroll::-webkit-scrollbar-thumb{background-color:#94a3b866;border-radius:999px;border:2px solid transparent;background-clip:padding-box}.thin-thumb-scroll::-webkit-scrollbar-thumb:hover{background-color:#64748bb3;border:1px solid transparent;background-clip:padding-box}.neo-main-scroll{scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.35) transparent}.neo-main-scroll::-webkit-scrollbar{width:5px}.neo-main-scroll::-webkit-scrollbar-track{background:transparent;margin-block:8px}.neo-main-scroll::-webkit-scrollbar-thumb{background-color:#94a3b859;border-radius:999px;border:1px solid transparent;background-clip:padding-box}.neo-main-scroll::-webkit-scrollbar-thumb:hover{background-color:#94a3b899}.latest-tooth-formula__collapse{display:grid;grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows .24s cubic-bezier(.22,1,.36,1),opacity .18s ease,visibility 0s linear .24s}.latest-tooth-formula.is-expanded .latest-tooth-formula__collapse{grid-template-rows:1fr;opacity:1;visibility:visible;transition:grid-template-rows .24s cubic-bezier(.22,1,.36,1),opacity .2s ease 35ms,visibility 0s linear}.latest-tooth-formula__content{min-height:0;overflow:hidden;display:grid;gap:12px;margin-top:0;transition:margin-top .24s cubic-bezier(.22,1,.36,1)}.latest-tooth-formula.is-expanded .latest-tooth-formula__content{margin-top:14px}@media (prefers-reduced-motion: reduce){.latest-tooth-formula,.latest-tooth-formula__collapse,.latest-tooth-formula__content{transition:none!important}}@keyframes neo-gear-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.neo-gear-btn svg{transition:transform .3s ease}.neo-gear-btn:hover svg{animation:neo-gear-spin 3s linear infinite}.neo-stats-scroll{scrollbar-width:thin;scrollbar-color:rgba(100,116,139,.48) transparent}.neo-stats-scroll::-webkit-scrollbar{height:2px}.neo-stats-scroll::-webkit-scrollbar-button{display:none;width:0;height:0}.neo-stats-scroll::-webkit-scrollbar-track{background:transparent;margin-inline:8px}.neo-stats-scroll::-webkit-scrollbar-thumb{min-width:32px;border-radius:999px;background:#64748b73}.neo-stats-scroll::-webkit-scrollbar-thumb:hover{background:#475569b3}@container (max-width: 1050px){.neo-exam-context{flex-wrap:wrap;white-space:normal!important}}@container (max-width: 620px){.neo-exam-context__patient,.neo-exam-context__focus{flex-wrap:wrap!important;white-space:normal!important}}.float-scan-arrow__svg{display:block;overflow:visible}.float-scan-arrow__mover{opacity:1}.float-focus-viewport::-webkit-scrollbar{display:none}@media (prefers-reduced-motion: reduce){.float-scan-arrow animate{display:none}.float-scan-arrow__flow{display:none}}@keyframes ui-shimmer-sweep{0%{background-position:100% 0}to{background-position:-100% 0}}.ui-shimmer{display:block;border-radius:6px;background:linear-gradient(90deg,#94a3b829,#94a3b852,#94a3b829 90%);background-size:200% 100%;animation:ui-shimmer-sweep 1.35s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.ui-shimmer{animation:none;background:#94a3b838}}@keyframes ppdRecPulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion: reduce){.app-brand-logo-quicksand{animation:none;background-position:50% 50%}.patient-detail-panel{animation:none!important}.patient-detail-panel.is-current{opacity:1;visibility:visible;transform:none}.patient-detail-panel.is-exiting,.patient-detail-panel.is-hidden{opacity:0;visibility:hidden;transform:none}.neo-gear-btn:hover svg{animation:none}}.neo-manual-panel{opacity:0;transform:translateY(8px) translateZ(-24px) scale(.96);transform-origin:center top;backface-visibility:hidden;will-change:opacity,transform;transition:left .28s ease-out,top .28s ease-out,opacity .18s ease,transform .26s cubic-bezier(.22,1,.36,1)}.neo-manual-panel.is-visible{opacity:1;transform:translateY(0) translateZ(0) scale(1)}.neo-manual-panel.is-dragging{transition:none}@media (prefers-reduced-motion: reduce){.neo-manual-panel,.neo-manual-panel.is-visible,.neo-manual-panel.is-dragging{opacity:1;transform:none;transition:none}}.image-analysis-modal-shell__close{width:40px;height:40px;padding:0;border:1px solid rgba(148,163,184,.34);border-radius:999px;background:#ffffffe6;box-shadow:0 4px 16px #0f172a21;color:#0f172a;cursor:pointer;font-size:20px;line-height:1}.image-analysis-modal-shell__close:disabled{cursor:not-allowed;opacity:.55}.image-analysis-modal-shell--frameless .xvision-workspace{min-height:calc(98vh - 12px)}.xvision-workspace{--xvision-line: rgba(148, 163, 184, .25);--xvision-ink: #12141c;--xvision-muted: #72798a;display:grid;grid-template-columns:300px minmax(0,1fr);min-height:min(760px,calc(96vh - 112px));overflow:hidden;border:1px solid var(--xvision-line);border-radius:16px;background:#f5f6f8}.xvision-workspace__sidebar{min-width:0;padding:24px 17px;overflow-y:auto;background:#fff;border-right:1px solid var(--xvision-line)}.xvision-workspace__brand{padding:2px 4px 18px}.xvision-workspace__brand-mark{color:#2a2d3a;font-size:2rem;font-weight:250;letter-spacing:.02em;line-height:1}.xvision-workspace__brand-mark span{font-size:1.45em}.xvision-workspace__brand p{margin:9px 0 0;color:#8b91a1;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.xvision-workspace__health{display:flex;align-items:center;gap:8px;margin-top:14px;color:#4a5060;font-size:.76rem}.xvision-workspace__health>span{width:7px;height:7px;border-radius:50%;background:#94a3b8}.xvision-workspace__health.is-ready>span{background:#16a34a;box-shadow:0 0 0 3px #16a34a2b}.xvision-workspace__health.is-error>span{background:#dc2626}.xvision-workspace__health.is-pending>span{background:#2563eb;box-shadow:0 0 0 3px #2563eb26;animation:xvisionPulse 1.1s ease-in-out infinite}.xvision-workspace__side-section{display:grid;gap:8px;padding:16px 0;border-top:1px solid rgba(226,232,240,.78)}.xvision-workspace__side-section h3{margin:0;color:#8b91a1;font-size:.68rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.xvision-workspace__side-section p{margin:0;color:#8b91a1;font-size:.7rem;line-height:1.45}.xvision-workspace__device{padding:4px;border-radius:999px;background:#f1f3f6}.xvision-workspace__device span{display:block;padding:7px 10px;border-radius:999px;background:#fff;box-shadow:0 1px 3px #0f172a1a;color:var(--xvision-ink);font-size:.72rem;font-weight:750;text-align:center}.xvision-workspace__master-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:11px 12px;border:1px solid #e4e6ec;border-radius:10px;background:#fafbfc;color:var(--xvision-ink);cursor:pointer;font-size:.78rem;font-weight:650}.xvision-workspace__master-toggle:disabled{cursor:not-allowed;opacity:.48}.xvision-workspace__layer-toggles{display:grid;gap:6px;margin-top:8px}.xvision-workspace__layer-toggles button{padding:7px 9px;border:1px solid #e4e6ec;border-radius:8px;background:transparent;color:#64748b;cursor:pointer;font-size:.72rem;text-align:left}.xvision-workspace__layer-toggles button.is-on{border-color:#2563eb47;background:#2563eb12;color:#1d4ed8}.xvision-workspace__switch{position:relative;width:38px;height:22px;flex:0 0 auto;border-radius:999px;background:#e2e8f0;transition:background .18s ease}.xvision-workspace__switch>span{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0f172a33;transition:transform .18s ease}.xvision-workspace__master-toggle.is-on .xvision-workspace__switch{background:#2563eb}.xvision-workspace__master-toggle.is-on .xvision-workspace__switch>span,.xvision-analyzer-card.is-enabled .xvision-workspace__switch>span{transform:translate(16px)}.xvision-workspace__analyzers{display:grid;gap:9px}.xvision-analyzer-card{--xvision-accent: #2563eb;display:grid;gap:9px;width:100%;padding:12px;overflow:hidden;border:1.5px solid #e4e6ec;border-radius:13px;background:#fff;color:var(--xvision-ink);cursor:pointer;text-align:left;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.xvision-analyzer-card:hover:not(:disabled){border-color:color-mix(in srgb,var(--xvision-accent) 45%,#e4e6ec)}.xvision-analyzer-card.is-enabled{border-color:color-mix(in srgb,var(--xvision-accent) 58%,#e4e6ec);background:linear-gradient(180deg,color-mix(in srgb,var(--xvision-accent) 6%,#fff),#fff 52%);box-shadow:0 0 0 3px color-mix(in srgb,var(--xvision-accent) 12%,transparent)}.xvision-analyzer-card:disabled{cursor:wait}.xvision-analyzer-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.xvision-analyzer-card__head>span:first-child{display:grid;gap:3px}.xvision-analyzer-card__head strong{font-size:.82rem;font-weight:720}.xvision-analyzer-card__head small{color:#636b7d;font-size:.67rem;line-height:1.35}.xvision-analyzer-card.is-enabled .xvision-workspace__switch{background:var(--xvision-accent)}.xvision-analyzer-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;color:#8b91a1;font-size:.64rem}.xvision-analyzer-card__meta span:first-child{padding:2px 7px;border-radius:999px;background:#f1f5f9;font-weight:750}.xvision-analyzer-card__meta .is-done{color:#15803d;background:#dcfce7}.xvision-analyzer-card__meta .is-running{color:#1d4ed8;background:#dbeafe}.xvision-analyzer-card__meta .is-error{color:#b91c1c;background:#fee2e2}.xvision-analyzer-card__progress{height:4px;overflow:hidden;border-radius:999px;background:#f1f5f9}.xvision-analyzer-card__progress>span{display:block;width:0;height:100%;border-radius:inherit;background:var(--xvision-accent)}.xvision-analyzer-card__progress.is-running>span{width:40%;animation:xvisionProgress 1.05s ease-in-out infinite}.xvision-workspace__filters{display:grid;gap:6px;padding:10px 11px;border:1px solid #e4e6ec;border-radius:11px;background:#fafbfc}.xvision-workspace__filters.is-disabled{opacity:.52}.xvision-workspace__filters strong{color:#8b91a1;font-size:.64rem;letter-spacing:.04em;text-transform:uppercase}.xvision-workspace__filters>div{display:flex;flex-wrap:wrap;gap:4px}.xvision-workspace__filters button{padding:3px 7px;border:1px solid #e2e8f0;border-radius:999px;background:#f8fafc;color:#94a3b8;cursor:pointer;font-size:.63rem;font-weight:650;text-decoration:line-through}.xvision-workspace__filters button.is-on{border-color:#2563eb61;background:#dbeafe;color:#2563eb;text-decoration:none}.xvision-workspace__filters button.is-locked{cursor:not-allowed;opacity:.48}.xvision-workspace__run{width:100%;margin-top:2px;padding:10px 13px;border:1px solid #2563eb;border-radius:999px;background:#2563eb;color:#fff;cursor:pointer;font-size:.78rem;font-weight:700}.xvision-workspace__run:disabled{cursor:wait;opacity:.55}.xvision-workspace__retry{width:100%;padding:9px 12px;border:1px solid rgba(185,28,28,.3);border-radius:999px;background:#fee2e2ad;color:#991b1b;cursor:pointer;font-size:.75rem;font-weight:700}.xvision-workspace__retry:disabled{cursor:wait;opacity:.58}.xvision-workspace__timestamp{margin-top:10px;color:#8b91a1;font-size:.66rem;line-height:1.4;text-align:center}.xvision-registration__steps{display:grid;gap:9px;margin:2px 0 4px;padding:0;list-style:none}.xvision-registration__model-progress{height:5px;overflow:hidden;border-radius:999px;background:#e2e8f0}.xvision-registration__model-progress>span{display:block;height:100%;border-radius:inherit;background:#2563eb;transition:width .22s ease}.xvision-registration__steps li{display:flex;align-items:center;gap:9px;color:#94a3b8;font-size:.76rem;font-weight:620}.xvision-registration__steps li>span{display:grid;width:20px;height:20px;flex:0 0 auto;place-items:center;border-radius:50%;background:#f1f5f9;font-size:.68rem}.xvision-registration__steps li.is-done{color:#15803d}.xvision-registration__steps li.is-done>span{background:#dcfce7}.xvision-registration__steps li.is-active{color:#1d4ed8}.xvision-registration__steps li.is-active>span{background:#dbeafe;box-shadow:0 0 0 4px #2563eb1a;animation:xvisionPulse 1.1s ease-in-out infinite}.xvision-registration__steps li.is-error{color:#b91c1c}.xvision-registration__steps li.is-error>span{background:#fee2e2}.xvision-registration__file{display:grid;gap:3px;margin-top:4px;padding:11px 12px;border:1px solid #e4e6ec;border-radius:10px;background:#fafbfc}.xvision-registration__file strong{overflow:hidden;color:#2a2d3a;font-size:.74rem;text-overflow:ellipsis;white-space:nowrap}.xvision-registration__file span{color:#8b91a1;font-size:.66rem}.xvision-registration__empty{padding:64px 20px;color:#94a3b8;font-size:.82rem;line-height:1.5;text-align:center}.xvision-dropzone{display:flex;width:calc(100% - 32px);min-height:236px;flex-direction:column;align-items:center;justify-content:center;gap:10px;margin:16px;padding:24px;border:2px dashed rgba(148,163,184,.5);border-radius:14px;background:#94a3b80f;color:#e2e8f0;cursor:pointer;text-align:center;transition:border-color .14s ease,background .14s ease}.xvision-dropzone:hover:not(:disabled),.xvision-dropzone:focus-visible{border-color:#60a5fa;background:#60a5fa1f}.xvision-dropzone.is-dragover{border-color:#60a5fa;border-style:solid;background:#60a5fa2e}.xvision-dropzone:disabled{cursor:not-allowed;opacity:.6}.xvision-dropzone__icon{width:42px;height:42px;border:2px solid rgba(148,163,184,.6);border-radius:12px;background:linear-gradient(#93c5fd,#93c5fd) center / 18px 2px no-repeat,linear-gradient(#93c5fd,#93c5fd) center / 2px 18px no-repeat}.xvision-dropzone strong{font-size:.92rem}.xvision-dropzone small{color:#94a3b8;font-size:.74rem}.xvision-workspace__main{min-width:0;padding:20px 22px 28px;overflow-y:auto}.xvision-workspace__error{margin-bottom:14px;padding:12px 14px;border:1px solid rgba(220,38,38,.2);border-radius:10px;background:#fef2f2;color:#b91c1c;font-size:.78rem}.xvision-preview,.xvision-chart{overflow:hidden;border:1px solid #e4e6ec;border-radius:14px;background:#fff;box-shadow:0 1px 2px #0f172a0a,0 6px 20px #0f172a0d}.xvision-preview>header,.xvision-chart>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid #e4e6ec}.xvision-preview h3,.xvision-chart h3{margin:0;color:var(--xvision-ink);font-size:.9rem}.xvision-preview header p,.xvision-chart header p{margin:3px 0 0;color:#72798a;font-size:.72rem}.xvision-preview header>span,.xvision-chart header>span{flex:0 0 auto;padding:4px 8px;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:.68rem;font-weight:700}.xvision-preview__stage{position:relative;min-height:300px;background:#0b1220;display:grid;place-items:center}.xvision-preview__frame{position:relative;width:fit-content;max-width:100%;margin-inline:auto;line-height:0}.xvision-preview__frame>img{display:block;max-width:100%;max-height:58vh;width:auto;height:auto;-webkit-user-select:none;user-select:none}.xvision-preview__hidden-badge{position:absolute;top:12px;right:12px;z-index:4;padding:6px 10px;border-radius:999px;background:#0f172ac2;color:#e2e8f0;font-size:.72rem;font-weight:650;line-height:1;white-space:nowrap}.xvision-preview__running{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:16px;background:#0b1220ad;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);color:#f8fafc;line-height:1.3;text-align:center}.xvision-preview__running>span{width:32px;height:32px;border:3px solid rgba(147,197,253,.25);border-top-color:#60a5fa;border-radius:50%;animation:xvisionSpin .7s linear infinite}.xvision-preview__running strong{font-size:.9rem}.xvision-preview__running small{color:#cbd5e1;font-size:.7rem}.xvision-preview__tooltip{position:fixed;z-index:1700;display:grid;min-width:150px;max-width:260px;gap:2px;padding:9px 11px;border-radius:9px;background:#0f172af0;box-shadow:0 8px 24px #00000059;color:#f8fafc;font-size:.7rem;line-height:1.4;pointer-events:none;transform:translate(-50%,calc(-100% - 10px))}.xvision-preview__tooltip strong{font-size:.78rem}.xvision-preview__tooltip span{color:#cbd5e1}.xvision-chart{margin-top:18px;padding-bottom:14px}.xvision-chart>:not(header){margin-inline:16px}.xvision-chart__empty{margin-top:14px;padding:20px 16px;border:1px dashed #cbd5e1;border-radius:10px;color:#72798a;font-size:.78rem}@keyframes xvisionSpin{to{transform:rotate(360deg)}}@keyframes xvisionProgress{0%{transform:translate(-120%)}to{transform:translate(340%)}}@keyframes xvisionPulse{50%{opacity:.4}}@media (max-width: 960px){.xvision-workspace{grid-template-columns:1fr}.xvision-workspace__sidebar{border-right:0;border-bottom:1px solid var(--xvision-line)}}@media (prefers-reduced-motion: reduce){.xvision-workspace__health>span,.xvision-analyzer-card__progress>span,.xvision-preview__running>span{animation:none!important}}.neo-exam-low-performance *,.neo-exam-low-performance *:before,.neo-exam-low-performance *:after{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.neo-exam-low-performance svg *{filter:none!important}.neo-exam-low-performance svg filter{display:none!important}
