:root{--ink-900: #0E1B2A;--ink-700: #2A3A4D;--ink-500: #55657A;--ink-400: #7A889A;--line-300: #D5DCE5;--line-200: #E6EBF1;--surface-0: #FFFFFF;--surface-porcelain: #FAF7F2;--surface-cool: #F3F6FA;--surface-sunk: #EEF1F5;--surface-raised: #FFFFFF;--linden-700: #086157;--linden-600: #0B7A6E;--linden-500: #12998A;--linden-100: #D9F2EE;--linden-50: #EEF9F7;--on-primary: #FFFFFF;--coral-600: #C8421B;--coral-500: #F0643C;--coral-100: #FDE5DC;--iris-600: #4F5BD5;--iris-100: #E4E6FB;--amber-700: #8A5A00;--amber-500: #E9A23B;--amber-100: #FCEFD6;--leaf-600: #2E7D4F;--leaf-100: #DDF1E4;--rose-600: #C2314B;--rose-100: #FADDE3;--scrim: rgba(14, 27, 42, .42);--white: #FFFFFF;--grad-stage: radial-gradient(120% 90% at 50% 0%, #FFFFFF 0%, #F4F8FA 55%, #E9F1F3 100%);--grad-brand: linear-gradient(135deg, #12998A 0%, #086157 100%);--grad-today: linear-gradient(135deg, #F58A62 0%, #F0643C 100%);--stage-bg: #F4F8FA;--tooth-enamel: #FDFBF5;--tooth-enamel-shade: #EDE6D6;--tooth-outline: #B9AE96;--tooth-dentin: #F3DFA9;--tooth-dentin-shade: #E3C983;--tooth-pulp: #F2A0A0;--tooth-pulp-soft: #F6BDB6;--tooth-pulp-hot: #E0556A;--gum: #F4A9A0;--gum-shade: #E58C84;--bone: #EFE5CF;--bone-dot: #DCCDAC;--ligament: #D9A79C;--decay: #8A6A45;--decay-soft: #B59A78;--calculus: #CDB95A;--filling: #F8F3E3;--temp-crown: #F1E7C9;--final-crown: #FFFFFF;--metal: #A9B4C0;--metal-dark: #7C8A99;--canal-fill: #E8A070;--clot: #B5566A;--clot-soft: #D08A96;--font-ui: "Figtree", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display: "Newsreader", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--text-display: 500 3rem/1.08 var(--font-display);--text-h1: 500 2.125rem/1.15 var(--font-display);--text-h2: 600 1.5rem/1.25 var(--font-ui);--text-h3: 600 1.1875rem/1.3 var(--font-ui);--text-body: 400 1rem/1.55 var(--font-ui);--text-body-strong: 600 1rem/1.55 var(--font-ui);--text-small: 500 .875rem/1.45 var(--font-ui);--text-micro: 600 .75rem/1.35 var(--font-ui);--text-number: 500 2.5rem/1 var(--font-display);--text-mono: 400 .8125rem/1.5 var(--font-mono);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--sp-16: 64px;--sp-20: 80px;--r-xs: 6px;--r-sm: 10px;--r-md: 14px;--r-lg: 20px;--r-xl: 28px;--r-pill: 999px;--shadow-1: 0 1px 2px rgba(14,27,42,.06), 0 1px 1px rgba(14,27,42,.04);--shadow-2: 0 2px 6px rgba(14,27,42,.06), 0 10px 24px -8px rgba(14,27,42,.12);--shadow-3: 0 8px 20px rgba(14,27,42,.1), 0 32px 64px -16px rgba(14,27,42,.24);--shadow-press: inset 0 2px 4px rgba(14,27,42,.14);--glow-today: 0 0 0 6px rgba(240,100,60,.18), 0 0 28px rgba(240,100,60,.35);--glow-brand: 0 0 0 4px rgba(18,153,138,.2);--card-border: none;--dur-1: .12s;--dur-2: .2s;--dur-3: .32s;--dur-4: .52s;--dur-5: .9s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-enter: cubic-bezier(.05, .7, .1, 1);--ease-exit: cubic-bezier(.3, 0, .8, .15);--ease-spring: cubic-bezier(.34, 1.56, .64, 1)}[data-theme=dark]{--surface-cool: #0C1420;--surface-0: #131E2D;--surface-sunk: #0F1826;--surface-raised: #1A2738;--line-200: #223145;--line-300: #2E4058;--ink-900: #E8EEF5;--ink-700: #C3CFDC;--ink-500: #9FB0C3;--ink-400: #71839A;--linden-600: #3CC8B4;--linden-700: #2FB3A0;--linden-500: #4FD6C2;--on-primary: #06231F;--linden-50: #12302E;--linden-100: rgba(60,200,180,.16);--coral-600: #FF8A66;--coral-100: rgba(255,138,102,.16);--iris-600: #8E97F5;--iris-100: rgba(142,151,245,.16);--amber-700: #F2B85B;--amber-100: rgba(242,184,91,.16);--leaf-600: #5CCB8A;--leaf-100: rgba(92,203,138,.16);--rose-600: #F2738A;--rose-100: rgba(242,115,138,.16);--shadow-1: 0 0 0 1px var(--line-200);--shadow-2: 0 0 0 1px var(--line-200);--shadow-3: 0 24px 64px rgba(0,0,0,.6);--stage-bg: #16233A;--grad-stage: radial-gradient(120% 90% at 50% 0%, #1F3050 0%, #16233A 70%);color-scheme:dark}.hc{--ink-900: #000000;--ink-700: #000000;--ink-500: #1A1A1A;--line-200: var(--ink-700);--line-300: #2A3A4D;--linden-600: #086157;--shadow-1: none;--shadow-2: none;--card-border: 2px solid #2A3A4D;--grad-stage: #FFFFFF;--grad-today: #C8421B;--grad-brand: #086157}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html,body,#root{height:100%}body{margin:0;font:var(--text-body);color:var(--ink-900);background:var(--surface-porcelain);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4,p{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{touch-action:manipulation;-webkit-user-select:none;user-select:none;cursor:pointer}a{color:var(--linden-700)}img,svg{display:block}:focus{outline:none}:focus-visible{outline:3px solid var(--iris-600);outline-offset:2px;box-shadow:0 0 0 2px #fff;border-radius:4px}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.mono{font:var(--text-mono)}.tabular{font-variant-numeric:tabular-nums}.muted{color:var(--ink-500)}.overline{font:var(--text-micro);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-500)}.row{display:flex;align-items:center;gap:var(--sp-2)}.col{display:flex;flex-direction:column;gap:var(--sp-2)}.grow{flex:1 1 auto;min-width:0}.wrap{flex-wrap:wrap}.spacer{flex:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:48px;padding:0 var(--sp-5);border-radius:var(--r-md);border:1.5px solid transparent;font:var(--text-body-strong);white-space:nowrap;position:relative;transition:background var(--dur-1) var(--ease-standard),transform var(--dur-1) var(--ease-standard),box-shadow var(--dur-1)}.btn:active{transform:scale(.98);box-shadow:var(--shadow-press)}.btn[disabled],.btn.is-disabled{opacity:.45;pointer-events:none}.btn-lg{min-height:60px;padding:0 var(--sp-6);font-size:1.0625rem}.btn-md{min-height:48px}.btn-sm{min-height:32px;padding:0 var(--sp-3);border-radius:var(--r-sm);font:var(--text-small);font-weight:600}.btn-primary{background:var(--linden-600);color:var(--on-primary)}.btn-primary:active{background:var(--linden-700)}.btn-secondary{background:var(--surface-0);border-color:var(--line-300);color:var(--ink-900)}.btn-quiet{background:transparent;color:var(--ink-700)}.btn-danger{background:var(--rose-600);color:#fff}.btn-today{background:var(--grad-today);color:#fff}@media(hover:hover){.btn-primary:hover{background:var(--linden-500)}.btn-secondary:hover,.btn-quiet:hover{background:var(--surface-sunk)}}.btn .spin{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.icon-btn{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1.5px solid var(--line-300);background:var(--surface-0);color:var(--ink-700);flex:none}.icon-btn.sq{border-radius:var(--r-sm)}.icon-btn.sm{width:32px;height:32px;border-radius:var(--r-sm);border-color:transparent;background:transparent}.icon-btn[aria-pressed=true]{background:var(--linden-100);color:var(--linden-700);border-color:var(--linden-600)}@media(hover:hover){.icon-btn:hover{background:var(--surface-sunk)}}.chip{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:44px;padding:0 var(--sp-4);border-radius:var(--r-pill);border:1.5px solid var(--line-300);background:var(--surface-0);font:var(--text-small);font-weight:600}.chip[aria-pressed=true]{background:var(--linden-100);border-color:var(--linden-600);color:var(--linden-700)}.pill{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:var(--r-pill);font:var(--text-micro);letter-spacing:.04em;white-space:nowrap}.pill svg{flex:none}.pill-today{background:var(--coral-100);color:var(--coral-600)}.pill-estimate{background:var(--amber-100);color:var(--amber-700)}.pill-gray{background:var(--surface-sunk);color:var(--ink-500)}.pill-amber{background:var(--amber-100);color:var(--amber-700)}.pill-leaf{background:var(--leaf-100);color:var(--leaf-600)}.pill-iris{background:var(--iris-100);color:var(--iris-600)}.pill-rose{background:var(--rose-100);color:var(--rose-600)}.pill-linden{background:var(--linden-100);color:var(--linden-700)}.badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--r-pill);font:var(--text-micro);background:var(--coral-500);color:#fff}.badge.amber{background:var(--amber-500);color:var(--ink-900)}.st-open{background:var(--surface-sunk);color:var(--ink-500)}.st-in_treatment{background:var(--iris-100);color:var(--iris-600)}.st-ready{background:var(--linden-100);color:var(--linden-700)}.st-handoff{background:var(--coral-100);color:var(--coral-600)}.st-question_waiting{background:var(--amber-100);color:var(--amber-700)}.st-signed,.st-complete{background:var(--leaf-100);color:var(--leaf-600)}.st-turnover{background:var(--surface-0);color:var(--leaf-600);box-shadow:inset 0 0 0 1.5px var(--leaf-600)}.pulse-dot{width:7px;height:7px;border-radius:50%;background:currentColor;animation:pulseDot 1.6s ease-in-out infinite}@keyframes pulseDot{50%{opacity:.35}}.card{background:var(--surface-0);border-radius:var(--r-lg);padding:var(--sp-6);box-shadow:var(--shadow-2);border:var(--card-border);position:relative}.card-console{border-radius:var(--r-md);padding:var(--sp-4);box-shadow:var(--shadow-1)}.card-well{background:var(--surface-sunk);box-shadow:none}.card-title{font:var(--text-h2)}.card-sub{font:var(--text-h3)}.amber-bar{box-shadow:var(--shadow-2),inset 4px 0 0 var(--amber-500)}.seg{display:inline-flex;padding:4px;gap:2px;background:var(--surface-sunk);border-radius:var(--r-md);position:relative}.seg button{min-height:40px;padding:0 var(--sp-4);border:0;background:transparent;border-radius:calc(var(--r-md) - 4px);font:var(--text-small);font-weight:600;color:var(--ink-700);transition:background var(--dur-2),box-shadow var(--dur-2)}.seg button[aria-pressed=true],.seg button[aria-selected=true]{background:var(--surface-0);box-shadow:var(--shadow-1);color:var(--ink-900)}.seg.touch button{min-height:48px}.field{display:flex;flex-direction:column;gap:6px}.field>span{font:var(--text-small);color:var(--ink-700)}.input,.select,.textarea{min-height:48px;padding:0 var(--sp-3);border-radius:var(--r-sm);border:1.5px solid var(--line-300);background:var(--surface-0);color:var(--ink-900)}.textarea{padding:var(--sp-3);min-height:96px;resize:vertical;line-height:1.45}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{border-color:var(--iris-600)}.switch{display:inline-flex;align-items:center;gap:var(--sp-3);min-height:48px;cursor:pointer}.switch input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:44px;height:26px;border-radius:13px;background:var(--line-300);position:relative;transition:background var(--dur-2);flex:none;margin:0}.switch input:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:var(--shadow-1);transition:transform var(--dur-2) var(--ease-standard)}.switch input:checked{background:var(--linden-600)}.switch input:checked:after{transform:translate(18px)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);z-index:50;animation:fadeIn var(--dur-3) var(--ease-standard)}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:51;background:var(--surface-0);border-radius:var(--r-xl) var(--r-xl) 0 0;box-shadow:var(--shadow-3);display:flex;flex-direction:column;animation:sheetUp var(--dur-4) var(--ease-enter);max-height:92dvh;padding-bottom:env(safe-area-inset-bottom)}.sheet-side{left:auto;top:0;bottom:0;width:480px;border-radius:var(--r-xl) 0 0 var(--r-xl);max-height:none;animation:sheetLeft var(--dur-4) var(--ease-enter)}.sheet .grab{width:40px;height:5px;border-radius:3px;background:var(--line-300);margin:10px auto 4px;flex:none}.dialog{position:fixed;z-index:61;left:50%;top:50%;transform:translate(-50%,-50%);width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow:auto;background:var(--surface-0);border-radius:var(--r-lg);box-shadow:var(--shadow-3);padding:var(--sp-6);animation:dialogIn var(--dur-3) var(--ease-enter)}.dialog-scrim{z-index:60}@keyframes fadeIn{0%{opacity:0}}@keyframes sheetUp{0%{transform:translateY(100%)}}@keyframes sheetLeft{0%{transform:translate(100%)}}@keyframes dialogIn{0%{opacity:0;transform:translate(-50%,calc(-50% + 12px))}}.toasts{position:fixed;z-index:80;bottom:24px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.toasts.right{left:auto;right:24px;transform:none;align-items:flex-end}.toast{pointer-events:auto;background:var(--ink-900);color:#fff;padding:12px 18px;border-radius:var(--r-md);box-shadow:var(--shadow-3);font:var(--text-small);font-weight:600;display:flex;gap:10px;align-items:center;animation:toastIn var(--dur-3) var(--ease-enter);max-width:520px}[data-theme=dark] .toast{background:#e8eef5;color:#0e1b2a}.toast.success svg{color:#7fe0a6}.toast.error{background:var(--rose-600);color:#fff}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)}}.banner{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--surface-0);box-shadow:var(--shadow-2);border-radius:var(--r-md)}.banner-answer{background:var(--linden-100);box-shadow:var(--shadow-2),inset 4px 0 0 var(--linden-600)}.banner-warning{background:var(--amber-100);color:var(--amber-700);box-shadow:none}.banner-offline{background:var(--rose-100);color:var(--rose-600);box-shadow:none}.kbd{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;font:500 12px/1 var(--font-mono);color:var(--ink-700);border:1px solid var(--line-300);border-bottom-width:2px;border-radius:var(--r-xs);background:var(--surface-0)}.avatar{display:inline-grid;place-items:center;border-radius:50%;font-weight:700;flex:none;color:var(--ink-900)}.conn-dot{position:relative;width:8px;height:8px;border-radius:50%;flex:none}.conn-dot.live{background:var(--leaf-600)}.conn-dot.live:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2px solid var(--leaf-600);opacity:0;animation:ring 3s ease-out infinite}.conn-dot.slow{background:var(--amber-500)}.conn-dot.offline{background:var(--rose-600)}@keyframes ring{0%{opacity:.6;transform:scale(.6)}40%,to{opacity:0;transform:scale(1.6)}}.demo-marker{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:var(--r-pill);font:var(--text-micro);letter-spacing:.04em;color:var(--ink-500);background:#ffffffb3;border:1px solid var(--line-200);white-space:nowrap}.demo-marker.fixed{position:fixed;left:12px;bottom:12px;z-index:40;pointer-events:none}[data-theme=dark] .demo-marker{background:#131e2db3}.skel{background:var(--surface-sunk);border-radius:var(--r-sm);position:relative;overflow:hidden}.skel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);transform:translate(-100%);animation:shimmer 1.4s infinite}@keyframes shimmer{to{transform:translate(100%)}}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--sp-3);padding:var(--sp-10) var(--sp-6);color:var(--ink-500)}.empty h3{font:var(--text-h3);color:var(--ink-900)}.tabs-u{display:flex;gap:var(--sp-5);border-bottom:1px solid var(--line-200)}.tabs-u button{border:0;background:none;padding:10px 2px;min-height:40px;font:var(--text-small);font-weight:600;color:var(--ink-500);border-bottom:2px solid transparent;margin-bottom:-1px;display:inline-flex;gap:6px;align-items:center}.tabs-u button[aria-selected=true]{color:var(--ink-900);border-bottom-color:var(--linden-600)}.shake{animation:shake .36s var(--ease-standard)}@keyframes shake{0%,to{transform:translate(0)}16%{transform:translate(-8px)}33%{transform:translate(8px)}50%{transform:translate(-8px)}66%{transform:translate(8px)}83%{transform:translate(-8px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.12s!important;animation-iteration-count:1!important;transition-duration:.12s!important}.skel:after{display:none}}.less-motion *,.less-motion *:before,.less-motion *:after{animation-duration:.12s!important;animation-iteration-count:1!important;transition-duration:.12s!important}.phone-gate{display:none}@media(max-width:699px){.phone-gate{display:flex;position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--surface-porcelain);flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;text-align:center}.phone-gate h1{font:var(--text-h1)}}
