@font-face{font-family:Commissioner;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/commissioner-greek-400-normal-DS8oOZ8C.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Commissioner;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/commissioner-latin-400-normal-Csr6jJda.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Commissioner;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/commissioner-greek-500-normal-coyf7bmX.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Commissioner;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/commissioner-latin-500-normal-Ph6lXY9C.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Commissioner;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/commissioner-greek-600-normal-B6OkAASU.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Commissioner;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/commissioner-latin-600-normal-DNCq5je2.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Commissioner;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/commissioner-greek-700-normal-BCgC5jRt.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Commissioner;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/commissioner-latin-700-normal-CK5O0d_6.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--page: #fdfbf8;--sand: #f7efe7;--sand-deep: #f1e6db;--card: #ffffff;--line: #ebe3da;--line-strong: #d9cfc4;--ink: #2a2520;--muted: #625a52;--faint: #8a8076;--brand: #0f6b62;--brand-ink: #0f6b62;--brand-hover: #0b5650;--brand-soft: #e3f1ee;--brand-line: #b9dcd5;--brand-deep: #08332f;--treat: #f26a35;--treat-ink: #b3461a;--treat-soft: #fde9df;--treat-line: #f5c3ab;--treat-coin: #fcd9c8;--treat-deep: #2b1206;--sage: var(--brand-soft);--sage-line: var(--brand-line);--sage-ink: var(--brand-ink);--sage-hover: var(--brand-hover);--planned-ink: #b3461a;--planned-line: #f2a27f;--implant-line: #dcd2c7;--danger-hover: #912018;--missing-ink: #6f665d;--warn: #8a5a00;--warn-soft: #fdf0d8;--warn-line: #f0d6a6;--danger: #b42318;--danger-soft: #fef3f2;--danger-line: #fecdca;--implant-ink: #5b5249;--implant-soft: #efe9e2;--shadow: 0 1px 2px rgb(60 40 20 / .05), 0 10px 24px -14px rgb(60 40 20 / .22);--shadow-lift: 0 2px 4px rgb(60 40 20 / .06), 0 22px 44px -20px rgb(60 40 20 / .32);--radius: 20px;--radius-sm: 12px;--sans: "Commissioner", system-ui, -apple-system, "Segoe UI", sans-serif;--ease: cubic-bezier(.23, 1, .32, 1);--ease-drawer: cubic-bezier(.32, .72, 0, 1);--text: var(--ink);--accent: var(--brand);--accent-text: var(--brand-ink);--accent-soft: var(--brand-soft);--ok: var(--brand-ink);--ok-soft: var(--brand-soft);--shell: var(--sand);color-scheme:light}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;font:400 15px/1.5 var(--sans);color:var(--ink);background:var(--page);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow-wrap:break-word}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3{text-wrap:balance}::selection{background:var(--brand-line);color:var(--brand-deep)}:focus-visible{outline:3px solid var(--brand-ink);outline-offset:3px;border-radius:10px}::placeholder{color:#8a8076;opacity:1}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.85}a{color:inherit;text-underline-offset:3px}.mono{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}*{scrollbar-color:var(--line-strong) transparent}.page{min-height:100%;display:grid;grid-template-columns:minmax(0,1fr);place-items:start center;padding:max(20px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom))}.shell{width:min(1200px,100%);min-width:0;display:flex;flex-direction:column;gap:16px}.shell-head,.shell-foot{display:flex;align-items:center;justify-content:space-between;gap:16px}.shell-head{padding:4px 0 8px;border-bottom:1px solid var(--line)}.shell-foot{padding:12px 16px;border-radius:var(--radius);background:var(--sand);color:var(--muted);font-size:14px}.title{display:flex;align-items:center;gap:10px;min-width:0}.title h1{font-size:24px;line-height:1.25;font-weight:700;letter-spacing:-.015em;margin:0;overflow-wrap:anywhere;text-wrap:balance}.title-stack{display:flex;flex-direction:column;min-width:0;gap:2px}.clinic-name{font-size:14px;color:var(--muted);overflow-wrap:anywhere}.info-dot{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--line-strong);color:var(--muted);font:600 13px/17px var(--sans);text-align:center}.head-actions{display:flex;align-items:center;gap:10px;flex:none}.shell-head{flex-wrap:wrap;row-gap:12px}.shell-head .title{flex:1 1 260px}.pill{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:4px 14px 4px 4px;border-radius:999px;border:1px solid var(--line-strong);background:var(--card);font-size:15px;font-weight:500;transition:border-color .16s ease,box-shadow .16s ease}@media (hover: hover) and (pointer: fine){.pill:hover{border-color:var(--brand-line);box-shadow:var(--shadow)}}.avatar{width:34px;height:34px;border-radius:50%;flex:none;background:var(--brand-soft);color:var(--brand-ink);font:700 13px/34px var(--sans);text-align:center}.clinic-switch select{font:500 14px var(--sans);color:var(--ink);background:var(--card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23625a52' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4.5 6 7.5l3-3'/%3E%3C/svg%3E") no-repeat right 10px center;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line-strong);border-radius:999px;padding:6px 30px 6px 12px;min-height:36px;max-width:280px;cursor:pointer}.segmented{display:inline-flex;padding:4px;gap:2px;border-radius:999px;background:var(--sand)}.segmented button,.segmented a{border:0;background:transparent;min-height:40px;padding:8px 16px;border-radius:999px;font-size:15px;color:var(--muted);font-weight:500;text-decoration:none;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;transition:background-color .16s ease,color .16s ease,box-shadow .16s ease}@media (hover: hover) and (pointer: fine){.segmented button:hover,.segmented a:hover{color:var(--ink)}}.segmented button.is-on,.segmented a.is-on{background:var(--card);color:var(--ink);font-weight:600;box-shadow:0 1px 2px #3c281414,0 0 0 1px var(--line)}.segmented.small button,.segmented.small a{min-height:36px;padding:6px 12px;font-size:14px}.segmented.wrap{flex-wrap:wrap;border-radius:var(--radius)}.layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(340px,1fr);gap:16px;align-items:start}.layout>*{min-width:0}.shell.is-patient-shell{width:min(720px,100%)}.layout.is-patient,.is-patient-shell .layout,.is-patient-shell .layout-even{grid-template-columns:minmax(0,1fr)}.layout.is-patient .viewer{min-height:560px}.layout.is-patient .panel{max-height:none}.layout.is-patient .tooth-label{min-width:30px;height:30px;font-size:15px;padding:0 6px}.layout.is-patient .tooth-label:after{top:-7px;right:-7px;bottom:-7px;left:-7px}.layout-even{grid-template-columns:1fr 1fr}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.viewer{position:relative;min-height:640px;overflow:hidden;background:var(--sand);border-color:var(--sand-deep);box-shadow:none}.canvas-wrap{position:absolute;top:0;right:0;bottom:112px;left:0;touch-action:none}.viewer-overlay{position:absolute;left:20px;right:20px;z-index:30;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;pointer-events:none}.viewer-overlay>*{pointer-events:auto}.viewer-overlay.top{top:18px}.viewer-overlay.bottom{bottom:16px;align-items:center;font-size:14px;color:var(--muted)}.big{font-size:30px;font-weight:700;letter-spacing:-.02em;line-height:1.15;margin:0;font-variant-numeric:tabular-nums}.big-unit{font-size:16px;color:var(--muted);font-weight:500;letter-spacing:0}.viewer-tools{display:flex;gap:6px}.tool{width:44px;height:44px;border-radius:999px;border:1px solid var(--line-strong);background:var(--card);color:var(--muted);display:grid;place-items:center;font:600 15px var(--sans);transition:color .15s ease,border-color .15s ease,background-color .15s ease,transform .12s ease}@media (hover: hover) and (pointer: fine){.tool:hover{color:var(--ink);border-color:var(--brand-line)}}.tool:active{transform:scale(.95)}.tool.is-on{color:var(--brand-ink);border-color:var(--brand);background:var(--brand-soft)}.jaw-slider{display:flex;align-items:center;gap:10px;min-height:44px}.jaw-slider .val{width:40px;text-align:right;color:var(--ink);font-variant-numeric:tabular-nums}.jaw-slider input{width:130px;accent-color:var(--brand-ink)}.legend{position:absolute;left:20px;right:20px;bottom:66px;z-index:30;display:flex;flex-wrap:wrap;gap:6px;font-size:13px;color:var(--ink);pointer-events:none}.legend span{display:inline-flex;align-items:center;gap:7px;padding:4px 10px 4px 6px;border-radius:999px;background:#ffffffd9;border:1px solid var(--line);font-weight:500}.lg{width:14px;height:14px;border-radius:50%;display:inline-block;border:1.5px solid var(--line-strong);background:#fffaf3}.lg-done{background:var(--treat);border-color:var(--treat)}.lg-planned{background:var(--treat-soft);border-color:var(--planned-line);box-shadow:inset 0 0 0 2px #fff}.lg-crown{background:var(--card);border:3px solid var(--treat)}.lg-implant{background:var(--implant-soft);border-color:var(--implant-ink)}.lg-record{background:var(--card);border-color:var(--ink);border-width:2px}.lg-missing{border-style:dashed;background:transparent}.callout{position:absolute;right:20px;top:74px;z-index:30;font-size:14px;color:var(--treat-ink);text-align:right;pointer-events:none;max-width:46%}.callout-num{font-weight:600}.callout-sub{color:var(--muted);font-size:13px;margin-top:3px}.tooth-label{position:relative;border:0;margin:0;cursor:pointer;-webkit-tap-highlight-color:transparent;display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 5px;border-radius:999px;font:600 13px/1 var(--sans);font-variant-numeric:tabular-nums;color:var(--muted);background:#ffffffeb;box-shadow:0 0 0 1px var(--line);-webkit-user-select:none;user-select:none;white-space:nowrap;transition:color .15s ease,background-color .15s ease,box-shadow .15s ease,transform .16s var(--ease)}.tooth-label:not(.has-history):not(.has-record):not(.is-selected):not(.is-missing){min-width:22px;height:22px;padding:0 3px;color:var(--muted)}.tooth-label:after{content:"";position:absolute;top:-9px;right:-9px;bottom:-9px;left:-9px;border-radius:999px}.tooth-label.has-history{color:var(--treat-deep);background:var(--treat-coin);box-shadow:0 0 0 1px var(--treat-line)}.tooth-label.has-record{color:var(--ink);background:#fff;box-shadow:inset 0 0 0 1.5px var(--ink)}.tooth-label.is-missing{color:var(--missing-ink);text-decoration:line-through;background:transparent;box-shadow:0 0 0 1px var(--line-strong);box-shadow:inset 0 0 0 1px var(--line-strong)}.tooth-label.is-selected{color:#fff;background:var(--brand);box-shadow:0 0 0 3px #0f6b6238}.jaw-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:14px;color:var(--muted);font-size:15px;z-index:1}.jaw-loading-arch{width:min(240px,60%);height:auto}.jaw-loading-arch path{fill:none;stroke:var(--line-strong);stroke-width:10;stroke-linecap:round;stroke-dasharray:2 16;animation:arch-breathe 1.6s ease-in-out infinite alternate}.jaw-loading-arch path+path{animation-delay:.2s}@keyframes arch-breathe{0%{opacity:.45}to{opacity:1}}.canvas-wrap>div:last-child{transition:opacity .24s var(--ease)}.canvas-wrap:not(.is-ready)>div:last-child{opacity:0}.leader-label{position:absolute;bottom:0;white-space:nowrap;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:6px 10px;box-shadow:var(--shadow);animation:fade .16s ease-out}.leader-label.is-right{left:4px}.leader-label.is-left{right:4px;text-align:right}.leader-title{font-size:14px;font-weight:600;color:var(--treat-ink)}.leader-sub{font-size:13px;color:var(--muted);margin-top:1px}.panel{display:flex;flex-direction:column;max-height:760px;min-height:0}.panel-inner{padding:20px;overflow-y:auto;overscroll-behavior:contain}.section-label{font-size:16px;color:var(--ink);font-weight:600;margin:4px 4px 10px;letter-spacing:-.005em}.section-label:not(:first-child){margin-top:26px}.rows{list-style:none;margin:0;padding:0;display:grid;gap:2px}.rows>li{min-width:0}.row{width:100%;min-height:56px;display:flex;align-items:center;gap:14px;padding:10px 12px;border:0;border-radius:14px;background:transparent;text-align:left;transition:background-color .15s ease}@media (hover: hover) and (pointer: fine){.row:hover,.row.is-hover{background:var(--sand)}}a.row{text-decoration:none;color:inherit}.row.is-static{cursor:default}@media (hover: hover) and (pointer: fine){.row.is-static:hover{background:transparent}}.row.is-request{background:var(--brand-soft)}@media (hover: hover) and (pointer: fine){.row.is-request:hover{background:var(--brand-soft)}}.row-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.row-title{font-size:15px;font-weight:600;overflow-wrap:anywhere;line-height:1.35}.row-sub{font-size:14px;color:var(--muted);overflow-wrap:anywhere;line-height:1.4}.row .btn-sm{flex:none}.badge{flex:none;min-width:40px;height:40px;padding:0 8px;border-radius:999px;border:1.5px solid var(--line-strong);display:grid;place-items:center;font:700 15px var(--sans);font-variant-numeric:tabular-nums;background:var(--card);color:var(--ink);transition:border-color .15s ease,color .15s ease,background-color .15s ease}.badge.is-accent{border-color:var(--treat-line);color:var(--treat-deep);background:var(--treat-coin)}.badge.is-hover{border-color:var(--brand);box-shadow:0 0 0 3px #0f6b6224}.status{display:inline-flex;align-items:center;gap:7px;padding:4px 11px 4px 9px;border-radius:999px;font:600 13px/1.3 var(--sans);border:1px solid transparent;white-space:nowrap}.status:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;flex:none}.status-healthy,.status-ok{color:var(--brand-ink);background:var(--brand-soft);border-color:var(--brand-line)}.status-warn{color:var(--warn);background:var(--warn-soft);border-color:var(--warn-line)}.status-danger{color:var(--danger);background:var(--danger-soft);border-color:var(--danger-line)}.status-neutral{color:var(--muted);background:var(--sand);border-color:var(--line)}.status-recorded{color:var(--ink);background:var(--card);border-color:var(--line-strong)}.status-treated{color:var(--treat-ink);background:var(--treat-soft);border-color:var(--treat-line)}.status-planned{color:var(--planned-ink);background:#fff;border:1.5px dashed var(--planned-line)}.status-planned:before{background:transparent;box-shadow:inset 0 0 0 2px currentColor}.status-implant{color:var(--implant-ink);background:var(--implant-soft);border-color:var(--implant-line)}.status-missing{color:var(--missing-ink);background:transparent;border:1px dashed var(--line-strong)}.status-missing:before{background:transparent;box-shadow:inset 0 0 0 1.5px currentColor}.tooth-head{display:flex;align-items:center;gap:14px;padding:2px 2px 14px}.tooth-head .badge{height:52px;min-width:52px;font-size:20px}.tooth-title{flex:1;min-width:0}.tooth-title h2{margin:0 0 2px;font-size:20px;font-weight:700;letter-spacing:-.01em}.tooth-title .mono{font-size:14px;color:var(--muted)}.chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 2px 14px;border-bottom:1px solid var(--line);margin-bottom:14px}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;font:500 13px var(--sans);border:1px solid var(--line-strong);color:var(--muted);background:var(--card)}.chip-planned{color:var(--planned-ink);border:1.5px dashed var(--planned-line)}.chip-tooth{color:var(--treat-deep);background:var(--treat-coin);border-color:var(--treat-line);font-weight:600;font-variant-numeric:tabular-nums}.icon-btn{width:44px;height:44px;border-radius:999px;border:0;background:transparent;color:var(--muted);display:grid;place-items:center;flex:none;transition:background-color .15s ease,color .15s ease}@media (hover: hover) and (pointer: fine){.icon-btn:hover{background:var(--sand);color:var(--ink)}}.back-link{margin-left:-10px}.plain-note{margin:0 2px 16px;padding:12px 14px;border-radius:var(--radius-sm);background:var(--treat-soft);color:var(--ink);font-size:15px;line-height:1.5}.timeline{list-style:none;margin:0;padding:0 4px}.tl-item{position:relative;display:flex;gap:14px;padding-bottom:20px}.tl-item:before{content:"";position:absolute;left:6px;top:18px;bottom:0;width:2px;border-radius:1px;background:var(--line)}.tl-item:last-child:before{display:none}.tl-dot{flex:none;width:14px;height:14px;margin-top:4px;border-radius:50%;background:var(--treat);box-shadow:0 0 0 4px var(--treat-soft)}.timeline.is-log .tl-dot{width:10px;height:10px;margin:6px 2px 0;background:var(--faint);box-shadow:0 0 0 4px var(--sand)}.timeline.is-log .tl-item:before{left:6px}.log-day+.log-day{margin-top:18px}.log-day-label{font-size:14px;font-weight:600;color:var(--muted);margin:0 4px 10px}.log-day-label:first-letter{text-transform:uppercase}.confirm-title{margin:0;font-size:20px;line-height:1.3;font-weight:700;letter-spacing:-.01em;text-wrap:balance}.confirm-body{color:var(--ink);font-size:15px;line-height:1.5}.confirm-list{margin:0;padding-left:20px;display:grid;gap:8px}.confirm-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.tl-item.is-record .tl-dot{background:var(--card);box-shadow:inset 0 0 0 2px var(--ink),0 0 0 4px var(--sand)}.tl-item.is-planned .tl-dot{background:#fff;border:2px dashed var(--planned-line);box-shadow:none}.tl-body{flex:1;min-width:0}.tl-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.tl-title{font-size:15px;font-weight:600}.tl-date{margin-left:auto;font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}.tl-meta{font-size:14px;color:var(--muted);margin-top:2px}.tl-notes{margin:8px 0 0;font-size:15px;line-height:1.5;color:var(--ink);max-width:65ch}.tl-files{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.file-chip{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:4px 12px 4px 4px;border-radius:12px;border:1px solid var(--line-strong);font:500 14px var(--sans);color:var(--ink);max-width:100%}button.file-chip{background:var(--card);cursor:pointer;transition:border-color .15s ease,color .15s ease,box-shadow .15s ease}@media (hover: hover) and (pointer: fine){button.file-chip:hover{border-color:var(--brand-line);color:var(--brand-ink);box-shadow:var(--shadow)}}.file-chip .file-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-thumb{width:30px;height:30px;border-radius:var(--radius-sm);display:inline-block;flex:none}.file-xray{background:linear-gradient(135deg,#2b2f36,#5b6370)}.file-photo{background:linear-gradient(135deg,#f6c9b5,#e9967a)}.file-document{background:linear-gradient(135deg,#efe9e2,#b9aea2)}.file-add{border-style:dashed;padding:4px 14px;color:var(--brand-ink)}.file-add:disabled{cursor:progress;opacity:.8}.empty{color:var(--muted);font-size:15px;padding:10px 4px}.surface-cross{flex:none;overflow:visible}.surface-cross path{stroke:var(--line-strong);stroke-width:1.5;fill:#fffaf3;transition:fill .15s ease}.surface-cross .sc-done,.surface-cross .sc-on{fill:var(--treat);stroke:var(--treat-ink)}.surface-cross .sc-planned{fill:var(--treat-soft);stroke:var(--planned-line);stroke-dasharray:3 2}.surface-cross.is-interactive path{cursor:pointer}@media (hover: hover) and (pointer: fine){.surface-cross.is-interactive path:hover{fill:var(--treat-soft)}}@media (hover: hover) and (pointer: fine){.surface-cross.is-interactive path.sc-on:hover{fill:var(--treat)}}.surface-cross path:focus{outline:none}.surface-cross path:focus-visible{outline:none;stroke:var(--ink);stroke-width:2.5}.sc-text{font:700 13px var(--sans);fill:var(--muted);text-anchor:middle;dominant-baseline:middle;pointer-events:none}.surface-cross .sc-on+.sc-text,.sc-text.is-on{fill:#fff}.btn-primary,.btn-ghost,.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 22px;border-radius:999px;font:600 15px/1.2 var(--sans);text-decoration:none;text-align:center;white-space:nowrap;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .12s ease}.btn-primary{border:0;background:var(--brand-ink);color:#fff;box-shadow:0 8px 20px -12px #0f6b62cc}@media (hover: hover) and (pointer: fine){.btn-primary:hover{background:var(--brand-hover)}}.btn-ghost{border:1.5px solid var(--line-strong);background:var(--card);color:var(--ink)}@media (hover: hover) and (pointer: fine){.btn-ghost:hover{border-color:var(--brand-ink);color:var(--brand-ink)}}.btn-danger{border:0;background:var(--danger);color:#fff}@media (hover: hover) and (pointer: fine){.btn-danger:hover{background:var(--danger-hover)}}.btn-primary:active,.btn-ghost:active,.btn-danger:active{transform:scale(.97)}.row,.icon-btn,.pill,.segmented button,.segmented a,.toggle-row{transition:background-color .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .16s var(--ease)}.icon-btn:active,.pill:active,.segmented button:active,.segmented a:active,.tooth-label:active{transform:scale(.95)}button.row:active,a.row:active,.toggle-row:active{transform:scale(.985)}.btn-primary:disabled,.btn-ghost:disabled,.btn-danger:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-sm{min-height:40px;padding:8px 16px;font-size:14px}.btn-block{width:100%}a.btn-primary,a.btn-ghost{text-decoration:none}.link-btn{border:0;background:none;padding:4px 0;min-height:32px;font-size:14px;color:var(--brand-ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--brand-line);text-underline-offset:4px}@media (hover: hover) and (pointer: fine){.link-btn:hover{text-decoration-color:currentColor}}.btn-ghost.is-danger{color:var(--danger);border-color:var(--danger-line)}@media (hover: hover) and (pointer: fine){.btn-ghost.is-danger:hover{border-color:var(--danger);background:var(--danger-soft)}}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#2a25205c;display:grid;place-items:center;padding:16px;animation:fade .18s ease-out}.sheet{width:min(540px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;background:var(--card);border-radius:24px;box-shadow:var(--shadow-lift);padding:24px;display:flex;flex-direction:column;gap:18px;animation:rise .24s var(--ease)}.sheet-narrow{width:min(440px,100%)}.sheet-grip{display:none}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.sheet-head h2{margin:0;font-size:20px;font-weight:700;letter-spacing:-.01em}.sheet-sub{font-size:14px;color:var(--muted);margin-top:2px}.sheet-form{display:flex;flex-direction:column;gap:18px}.sheet-foot{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:7px;flex:1;min-width:0}.field-row{display:flex;gap:14px}.field-label{font:600 14px var(--sans);color:var(--ink)}.field select,.field input,.field textarea,.filter-bar select{width:100%;min-height:48px;padding:11px 14px;border-radius:var(--radius-sm);border:1.5px solid var(--line-strong);background:var(--card);font-size:15px;color:var(--ink);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.field select,.filter-bar select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:38px;background:var(--card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%23625a52' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 5.5 7 9l3.5-3.5'/%3E%3C/svg%3E") no-repeat right 14px center}.field select:focus,.field input:focus,.field textarea:focus,.filter-bar select:focus,.search:focus{border-color:var(--brand-ink);box-shadow:0 0 0 4px var(--brand-soft)}.field textarea{resize:vertical;min-height:96px}.surface-pick{display:flex;align-items:center;gap:18px}.hint{margin:0;font-size:14px;color:var(--muted);line-height:1.5}input[aria-invalid=true]{border-color:var(--danger)!important}.form-error{margin:0;padding:12px 14px;border-radius:var(--radius-sm);font-size:14px;line-height:1.45;color:var(--danger);background:var(--danger-soft);border:1px solid var(--danger-line)}.err-text{color:var(--danger)}.check{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.45;cursor:pointer}.check input{margin-top:2px;accent-color:var(--brand-ink);width:20px;height:20px;flex:none}.copy-row{display:flex;gap:8px}.copy-row input{flex:1;min-width:0;font-size:14px}.filter-bar{display:flex;align-items:center;gap:10px;padding:0 18px 12px;flex-wrap:wrap}.filter-bar select{width:auto;min-height:44px;max-width:100%}.inline-form{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;padding:4px}.inline-form .field{flex:1 1 200px;margin:0}.member-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.member-actions select{font:inherit;font-size:14px;color:var(--ink);background:var(--card);border:1.5px solid var(--line-strong);border-radius:10px;padding:7px 10px;min-height:40px}.dropzone{display:flex;align-items:center;gap:12px;padding:16px;border-radius:16px;border:1.5px dashed var(--line-strong);background:var(--page);font-size:15px;color:var(--muted)}.dropzone .mono{font-size:14px}.dropzone.is-live{transition:border-color .15s ease,background-color .15s ease}.dropzone.is-over{border-color:var(--brand);background:var(--brand-soft)}.dz-text{display:flex;flex-direction:column;gap:2px}.dz-sub{font-size:13px}.picked{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:6px}.picked-row{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 12px;border:1px solid var(--line);border-radius:var(--radius-sm)}.picked-row.is-error{border-color:var(--danger-line)}.picked-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.picked-name{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.picked-sub{font-size:13px;color:var(--muted)}.kind-select{padding:7px 10px;border-radius:10px;border:1.5px solid var(--line-strong);background:var(--card);font-size:14px}.field .picked select.kind-select{width:auto;flex:none;min-height:40px;padding:6px 30px 6px 10px;font-size:14px}.progress{height:4px;border-radius:2px;background:var(--line);overflow:hidden}.progress>span{display:block;height:100%;background:var(--brand);transform-origin:left;transition:transform .12s linear}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(12px) scale(.985)}}@keyframes slideup{0%{transform:translateY(100%)}}@keyframes pop{0%{opacity:0;transform:translateY(-4px) scale(.97)}}@keyframes fade-out{to{opacity:0}}@keyframes sink{to{opacity:0;transform:translateY(8px) scale(.985)}}@keyframes slidedown{to{transform:translateY(100%)}}@keyframes toast-in{0%{opacity:0;transform:translateY(8px) scale(.98)}}@keyframes toast-out{to{opacity:0;transform:translateY(4px)}}.sheet-backdrop.is-closing{animation:fade-out .16s ease forwards;pointer-events:none}.sheet-backdrop.is-closing .sheet{animation:sink .16s var(--ease) forwards}.toaster{position:fixed;left:0;right:0;bottom:max(24px,env(safe-area-inset-bottom));z-index:300;display:grid;justify-items:center;pointer-events:none;padding:0 16px}.toast{display:inline-flex;align-items:center;gap:10px;max-width:min(460px,100%);padding:12px 18px 12px 14px;border-radius:999px;background:var(--card);color:var(--ink);border:1px solid var(--brand-line);box-shadow:var(--shadow-lift);font-size:15px;font-weight:600;line-height:1.35;pointer-events:auto;animation:toast-in .22s var(--ease)}.toast svg{color:var(--brand);flex:none}.toast.is-leaving{animation:toast-out .16s ease forwards}.skeleton-rows{display:grid;gap:2px;padding:2px 0}.skeleton-row{display:flex;align-items:center;gap:14px;min-height:56px;padding:10px 12px}.sk-coin{width:40px;height:40px;border-radius:50%;background:var(--sand);flex:none}.sk-lines{flex:1;display:grid;gap:8px}.sk-line{height:12px;border-radius:6px;background:var(--sand);width:60%}.skeleton-row:nth-child(3) .sk-line:first-child{width:48%}.skeleton-row:nth-child(4) .sk-line:first-child{width:54%}.sk-line.is-short{width:34%;height:10px}.skeleton-row{animation:arch-breathe 1.2s ease-in-out infinite alternate}.skeleton-row:nth-child(2n){animation-delay:.15s}.menu-wrap{position:relative}.menu{position:absolute;right:0;top:calc(100% + 8px);z-index:60;min-width:250px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lift);padding:8px;animation:pop .15s var(--ease);transform-origin:top right}.menu-head{padding:10px 12px 12px;border-bottom:1px solid var(--line);margin-bottom:6px}.menu-name{font-weight:600;font-size:15px}.menu-sub{font-size:14px;color:var(--muted);margin-top:2px;overflow-wrap:anywhere}.menu button,.menu-link{width:100%;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;border:0;background:transparent;padding:10px 12px;border-radius:12px;font-size:15px;text-decoration:none}@media (hover: hover) and (pointer: fine){.menu button:hover,.menu-link:hover{background:var(--sand)}}.menu-lang{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 12px;font-size:15px;min-height:48px}.menu .lang-switch button,.lang-switch.small button{width:auto;min-height:34px;padding:4px 12px;font-size:14px;justify-content:center}.lang-switch button{font-weight:600}.bell{position:relative;width:44px;height:44px;border-radius:999px;border:1px solid var(--line-strong);background:var(--card)}@media (hover: hover) and (pointer: fine){.bell:hover{border-color:var(--brand-line)}}.bell-badge{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--brand-ink);color:#fff;font:700 12px/20px var(--sans);text-align:center;font-variant-numeric:tabular-nums;box-shadow:0 0 0 2px var(--page)}.notif-menu{width:min(370px,calc(100vw - 24px));padding:8px}.notif-head{display:flex;align-items:center;justify-content:space-between;padding:6px 8px}.notif-head .section-label{margin:0}.notif-list{list-style:none;margin:0;padding:0;max-height:min(440px,60vh);overflow-y:auto}.notif{width:100%;display:flex;gap:12px;text-align:left;border:0;background:transparent;padding:12px 10px;border-radius:14px}@media (hover: hover) and (pointer: fine){.notif:hover{background:var(--sand)}}.notif-dot{width:9px;height:9px;border-radius:50%;margin-top:7px;flex:none;background:transparent}.notif.is-unread .notif-dot{background:var(--brand)}.notif-main{display:flex;flex-direction:column;gap:3px;min-width:0}.notif-title{font-size:15px;font-weight:600}.notif:not(.is-unread) .notif-title{font-weight:500}.notif-body{font-size:14px;color:var(--muted);line-height:1.45}.notif-time{font-size:13px;color:var(--muted)}.list-card{min-height:420px}.list-tools{padding:18px 18px 8px}.search{width:100%;min-height:48px;padding:11px 16px 11px 44px;border-radius:999px;border:1.5px solid var(--line-strong);background:var(--card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%23625a52' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='8' cy='8' r='5.5'/%3E%3Cpath d='m12.2 12.2 3.8 3.8'/%3E%3C/svg%3E") no-repeat 16px center;font-size:15px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.list-card>.rows{padding:6px 10px 12px}.pad{padding:10px 18px}.layout-even .list-card{min-height:0}.empty-state{padding:56px 24px;text-align:center}.empty-title{font-weight:700;font-size:20px;margin:0 0 6px}.empty-state .muted{margin:0 auto;max-width:360px;font-size:15px;line-height:1.55}.state-card{min-height:420px;display:grid;place-content:center;text-align:center;padding:28px}.center-msg{min-height:60vh;display:grid;place-items:center;font-size:15px;color:var(--muted)}.foot-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.week-bar{display:flex;align-items:center;gap:10px;padding:18px 18px 10px}.week-label{flex:1;text-align:center;font-size:16px;font-weight:600}.days{padding:0 10px 14px}.day{padding:12px 8px 6px;border-top:1px solid var(--line)}.day:first-child{border-top:0}.day-head{display:flex;align-items:center;gap:8px;margin:2px 4px 8px;font-size:16px;font-weight:700}.day.is-past .day-head{color:var(--muted);font-weight:600}.day-empty{margin:0 4px 8px;font-size:14px;color:var(--muted)}.day.is-empty-run{padding-block:10px}.day.is-empty-run .day-head{font-size:15px;font-weight:600;color:var(--muted);margin-bottom:0}.title-meta{font-size:14px;color:var(--muted);overflow-wrap:anywhere}.appts{list-style:none;margin:0;padding:0;display:grid;gap:8px}.appt{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:16px;min-width:0;background:var(--card);border:1px solid var(--line);box-shadow:0 1px 2px #3c28140a}.appt.is-cancelled{background:transparent;border-style:dashed;box-shadow:none}.appt.is-cancelled .appt-who{text-decoration:line-through;color:var(--muted)}.appt.is-clash{border-color:#f0d6a6;box-shadow:inset 4px 0 0 -1px transparent;background:linear-gradient(var(--warn-soft),var(--warn-soft)) padding-box}.appt-time{display:flex;flex-direction:column;align-items:flex-start;width:70px;flex:none;font-size:16px;font-weight:700;gap:0;font-variant-numeric:tabular-nums}.appt-time .muted{font-size:13px;font-weight:500}.appt-date{font-size:13px;font-weight:600;color:var(--brand-ink);margin-bottom:2px}.appt:has(.appt-date) .appt-time{width:96px}.appt-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.appt-who{font-size:16px;font-weight:600;text-decoration:none;overflow-wrap:anywhere}a.appt-who{display:inline-block;padding:2px 0}@media (hover: hover) and (pointer: fine){a.appt-who:hover{color:var(--brand-ink);text-decoration:underline}}.appt-sub{font-size:14px;color:var(--muted);overflow-wrap:anywhere;line-height:1.4}.appt-note{font-size:14px;color:var(--muted)}.appt-actions{display:flex;gap:8px;flex:none}.appts.compact .appt{padding:10px 12px}.panel-inner .appts+.section-label{margin-top:26px}.clash-live:empty{display:none}.clash-live .notice{margin:0}.clash-live .link-btn{min-height:0;padding:0;font-size:15px;color:var(--warn);text-decoration-color:currentColor}.duration-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.duration-row .segmented{flex:none}.duration-more{width:auto;min-height:44px;border-radius:999px;padding-inline:14px 34px}.duration-more.is-on{border-color:var(--brand);color:var(--brand-ink);font-weight:600}.clash-note{font-size:13px;font-weight:600;color:var(--warn)}.next-visit{display:grid;gap:14px;padding:22px 22px 20px;border-radius:var(--radius);background:var(--sage);border:1px solid var(--sage-line);color:var(--ink)}.next-visit-label{font-size:15px;font-weight:600;color:var(--sage-ink);margin:0}.next-visit-when{font-size:24px;line-height:1.25;font-weight:700;letter-spacing:-.015em;margin:0;max-width:24ch;text-wrap:balance}.next-visit-when .time{display:block;font-variant-numeric:tabular-nums}.next-visit-where{font-size:15px;line-height:1.5;color:var(--ink);margin:0}.next-visit-where .muted{color:var(--muted)}.next-visit-actions{display:flex;flex-wrap:wrap;gap:8px}.btn-sage{background:var(--sage-ink);color:#fff;border:0;box-shadow:none}@media (hover: hover) and (pointer: fine){.btn-sage:hover{background:var(--sage-hover)}}.next-visit .btn-ghost{border-color:var(--sage-line)}@media (hover: hover) and (pointer: fine){.next-visit .btn-ghost:hover{border-color:var(--sage-ink);color:var(--sage-ink)}}.next-visit .link-btn{color:var(--sage-ink);text-decoration-color:var(--sage-line)}.is-patient .status-recorded{color:var(--ink);background:var(--card);border-color:var(--line-strong)}.status-treated{color:var(--treat-ink)}.is-patient .avatar{background:var(--sage);color:var(--sage-ink)}.is-patient .segmented button.is-on,.is-patient .segmented a.is-on{color:var(--sage-ink)}.done-moment{display:grid;justify-items:center;gap:10px;text-align:center;padding:12px 0 4px}.done-check{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--sage);color:var(--sage-ink);box-shadow:0 0 0 8px #e3f1ee99}.done-moment h2{margin:4px 0 0;font-size:24px;font-weight:700}.done-moment p{margin:0;color:var(--muted);font-size:15px;max-width:34ch}.prefs-intro{font-size:15px;line-height:1.55;margin:0 4px 14px;color:var(--muted)}.prefs{display:grid;gap:4px}.toggle-row{display:flex;align-items:center;gap:14px;min-height:56px;padding:10px 12px;border-radius:14px;cursor:pointer;font-size:15px}@media (hover: hover) and (pointer: fine){.toggle-row:hover{background:var(--sand)}}.switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:46px;height:28px;border-radius:999px;background:var(--line-strong);position:relative;cursor:pointer;flex:none;transition:background-color .18s ease;margin:0}.switch:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #3c281440;transition:transform .2s var(--ease)}.switch:checked{background:var(--brand-ink)}.switch:checked:after{transform:translate(18px)}.switch:focus-visible{outline:3px solid var(--brand-ink);outline-offset:3px}.auth-card{width:min(440px,100%);justify-self:center;align-self:center;background:var(--card);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-lift);padding:32px 28px 26px}.page:has(.auth-card){place-items:center;background:radial-gradient(1200px 600px at 50% -10%,var(--sand),transparent 70%) var(--page)}.auth-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.auth-brand{display:inline-flex;align-items:center;gap:10px;font-size:20px;font-weight:700;letter-spacing:-.01em;color:var(--ink);text-decoration:none}.auth-brand svg{flex:none}.auth-card h1{margin:0;font-size:30px;line-height:1.2;font-weight:700;letter-spacing:-.02em}.auth-sub{margin:8px 0 0;font-size:15px;line-height:1.55;color:var(--muted)}.auth-form{display:flex;flex-direction:column;gap:16px;margin-top:24px}.auth-card>.btn-primary,.auth-card>.btn-ghost{margin-top:24px}.auth-foot{font-size:14px;margin:20px 0 0;line-height:1.55;color:var(--muted)}.auth-foot a{color:var(--brand-ink);font-weight:600}.auth-back{margin-top:18px}.forgot-link{align-self:flex-end;font-size:14px;font-weight:600;color:var(--brand-ink);margin-top:-4px;padding:6px 0;text-decoration:none}@media (hover: hover) and (pointer: fine){.forgot-link:hover{text-decoration:underline}}.signup-link{margin-top:12px}.legal-body{font-size:15px;line-height:1.65;margin:0 0 20px;max-width:65ch}.pending-state .muted+.muted{margin-top:8px}.demo-banner{position:sticky;top:0;z-index:50;padding:9px 16px;text-align:center;font-size:14px;line-height:1.4;background:var(--warn-soft);color:#5c3d00;border-bottom:1px solid var(--warn-line)}.demo-logins{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.demo-logins .section-label{margin:0 0 10px;font-size:15px}.demo-login-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.demo-logins .auth-foot{margin-top:14px}.mfa-step{display:flex;flex-direction:column;gap:16px;margin-top:20px}.mfa-steps{margin:0;padding-left:20px;font-size:15px;line-height:1.6}.mfa-lead{margin:0;font-size:15px;line-height:1.55}.qr-wrap{display:grid;place-items:center}.qr{width:196px;height:196px;padding:12px;background:#fff;border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow)}.qr svg{width:100%;height:100%;display:block}.qr-loading{display:grid;place-items:center}.key-row{text-align:center}.secret-key{font-size:15px;font-weight:600;letter-spacing:.08em;padding:8px 12px;border-radius:10px;background:var(--sand);-webkit-user-select:all;user-select:all;word-break:break-all;font-variant-numeric:tabular-nums}.code-input{font-size:26px!important;font-weight:700;letter-spacing:.3em;text-align:center;padding:12px!important;font-variant-numeric:tabular-nums}.code-switch{align-self:flex-start;margin-top:2px}.codes{margin:0;padding:18px 18px 18px 42px;display:grid;grid-template-columns:1fr 1fr;gap:8px 22px;border-radius:16px;background:#fffaf3;border:1px solid var(--line-strong);font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.04em;box-shadow:0 1px #fff inset,var(--shadow)}.codes li{-webkit-user-select:all;user-select:all}.codes li::marker{color:var(--muted);font-weight:500}.codes-actions{display:flex;gap:8px;flex-wrap:wrap}.security-card{max-width:680px;min-height:0}.security-card+.security-card{margin-top:16px}.sec-actions{display:flex;gap:10px;flex-wrap:wrap;padding:14px 12px 6px}.sec-form{padding:12px}.sec-form p{margin:0;font-size:15px}.sec-note{font-size:14px;line-height:1.55;margin:16px 12px 0;color:var(--muted)}.notice{margin:0 0 16px;padding:14px 16px;border-radius:14px;font-size:15px;line-height:1.5;background:var(--warn-soft);color:var(--warn);border:1px solid var(--warn-line)}.notice-ok{background:var(--sage);color:var(--sage-ink);border-color:var(--sage-line)}.export-note{font-size:14px;color:var(--muted)}.app-lock{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--page);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:max(24px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom));text-align:center}.app-lock h1{margin:6px 0 0;font-size:24px;font-weight:700}.app-lock p{margin:0;font-size:15px;color:var(--muted)}.app-lock .btn-primary{margin-top:12px;min-width:220px}.lock-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-ink)}.app-root{min-height:100%;height:100%}.viewer-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0f0d0b;color:#efe9e2;display:grid;grid-template-rows:auto 1fr auto;animation:fade .16s ease-out}.vm-head,.vm-tools{display:flex;align-items:center;gap:10px;padding:max(10px,env(safe-area-inset-top)) 16px 10px;background:#ffffff0a;border-bottom:1px solid rgb(255 255 255 / .08)}.vm-tools{border-top:1px solid rgb(255 255 255 / .08);border-bottom:0;padding:10px 16px max(10px,env(safe-area-inset-bottom));flex-wrap:wrap;font-size:14px;color:#c9c1b8}.vm-tools label{display:flex;align-items:center;gap:8px;min-height:44px}.vm-tools input[type=range]{width:120px;accent-color:var(--brand)}.vm-zoom{margin-left:auto;color:#efe9e2;font-variant-numeric:tabular-nums}.vm-title{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.vm-name{font-weight:600;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vm-sub{font-size:13px;color:#b3aaa0}.vm-btn{min-height:40px;border:1px solid rgb(255 255 255 / .18);background:transparent;color:inherit;border-radius:999px;padding:8px 14px;font:600 14px var(--sans);transition:background-color .15s ease}@media (hover: hover) and (pointer: fine){.vm-btn:hover{background:#ffffff1a}}.vm-btn.is-on{background:var(--brand-ink);border-color:var(--brand-ink);color:#fff}.vm-icon{width:44px;height:44px;padding:0;display:grid;place-items:center}.vm-stage{position:relative;overflow:hidden;display:grid;place-items:center;touch-action:none}.vm-img{max-width:100%;max-height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;transition:filter .12s ease;will-change:transform}.vm-pdf{width:100%;height:100%;border:0;background:#fff}.vm-msg{text-align:center;color:#c9c1b8;display:grid;gap:14px;justify-items:center;font-size:15px;padding:20px}.vm-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:1px solid rgb(255 255 255 / .18);background:#00000080;color:#fff;display:grid;place-items:center}.vm-prev{left:12px}.vm-next{right:12px}.email-intro{margin:0 0 14px;font-size:15px;line-height:1.55;color:var(--muted)}.email-lang{margin-bottom:18px}.email-group{margin:0 0 24px}.email-group .section-label{margin:0 0 10px}.email-pair{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}@media (min-width: 900px){.email-pair.is-two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.email-card{border:1px solid var(--line);border-radius:16px;padding:14px 16px;background:var(--page);min-width:0}.email-meta{font-size:13px;font-weight:600;color:var(--muted);margin-bottom:6px}.email-subject{font-weight:700;font-size:15px;margin-bottom:8px;overflow-wrap:anywhere}.email-text{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:14px;line-height:1.6;margin:0;color:var(--ink)}.email-inapp{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line);font-size:14px;line-height:1.5}@media (max-width: 1060px){.layout{grid-template-columns:minmax(0,1fr)}.viewer{min-height:min(820px,86dvh)}.panel{max-height:none}.shell-foot{position:sticky;bottom:0;z-index:40;border-radius:var(--radius) var(--radius) 0 0;margin-inline:-24px;padding-bottom:max(12px,env(safe-area-inset-bottom));box-shadow:0 -10px 24px -16px #3c28144d;background:var(--sand)}}.panel-inner{overflow-x:hidden}@media (max-width: 860px){.page{padding:max(12px,env(safe-area-inset-top)) 14px max(14px,env(safe-area-inset-bottom))}.layout,.layout-even{grid-template-columns:minmax(0,1fr)}.viewer{min-height:0;height:66dvh}.canvas-wrap{bottom:120px}.panel{max-height:none}.big{font-size:30px}.legend{bottom:64px;left:14px;right:14px}.viewer-overlay{left:14px;right:14px}.jaw-slider input{width:96px}.callout{top:64px}.shell-foot{position:sticky;bottom:0;z-index:40;border-radius:var(--radius) var(--radius) 0 0;margin-inline:-14px;padding-bottom:max(12px,env(safe-area-inset-bottom));box-shadow:0 -10px 24px -16px #3c28144d;background:var(--sand)}.sheet-backdrop{place-items:end stretch;padding:0}.sheet{width:100%;border-radius:24px 24px 0 0;max-height:92dvh;padding:20px 18px max(20px,env(safe-area-inset-bottom));animation-name:slideup;animation-duration:.28s;animation-timing-function:var(--ease-drawer)}.sheet-backdrop.is-closing .sheet{animation:slidedown .2s var(--ease-drawer) forwards}.toaster{bottom:calc(max(12px,env(safe-area-inset-bottom)) + 84px)}.sheet-grip{display:block;width:40px;height:5px;border-radius:3px;background:var(--line-strong);margin:-6px auto 0}.field-row{flex-direction:column}.appt{flex-wrap:wrap}.appt-actions{width:100%;justify-content:flex-end}.menu{right:-4px}.notif-menu{position:fixed;left:12px;right:12px;top:calc(env(safe-area-inset-top) + 72px);width:auto}.title h1{font-size:24px}}@media (max-width: 460px){body{font-size:16px}.info-dot,.pill-name{display:none}.pill{padding-right:4px}.shell-head{flex-wrap:wrap;row-gap:12px;gap:8px}.head-actions{width:100%;justify-content:space-between;gap:8px}.head-actions .segmented{flex:1;justify-content:space-between}.head-actions .segmented a{flex:1;padding-inline:6px;font-size:14px}.head-actions .segmented{min-width:0}.head-actions .pill{padding:4px}.head-actions .pill svg{display:none}.tooth-label{min-width:22px;height:22px;font-size:13px;padding:0 3px}.tooth-label:after{top:-11px;right:-11px;bottom:-11px;left:-11px}.legend{gap:6px;bottom:58px}.legend span{padding:3px 9px 3px 6px;font-size:13px;gap:6px}.legend .lg{width:12px;height:12px}.viewer-overlay.bottom>span:first-child{display:none}.viewer-overlay.bottom{justify-content:flex-end}.jaw-slider>span:first-child{white-space:nowrap}.canvas-wrap{bottom:150px}.layout.is-patient .tooth-label{min-width:26px;height:26px;font-size:14px;padding:0 4px}.layout.is-patient .tooth-label:after{top:-9px;right:-9px;bottom:-9px;left:-9px}.row{flex-wrap:wrap;row-gap:6px}.row>.row-main{flex:1 1 calc(100% - 60px)}.row>.badge+.row-main~.status,.row>.avatar+.row-main~.status,.row>.badge+.row-main~.btn-sm{margin-left:54px}.confirm-actions{flex-direction:column-reverse}.confirm-actions>button{width:100%}.notif-menu{top:calc(env(safe-area-inset-top) + 124px)}.shell-foot{flex-wrap:wrap;row-gap:8px;padding:10px 14px max(12px,env(safe-area-inset-bottom));margin-inline:-14px}.shell-foot .btn-primary{white-space:nowrap}.codes{grid-template-columns:1fr}.vm-tools input[type=range]{width:90px}.demo-login-row{grid-template-columns:1fr}.next-visit-when{font-size:24px}.tooth-title h2{font-size:16px;line-height:1.3}.tooth-head{gap:10px}.tooth-head .badge{height:44px;min-width:44px;font-size:16px}.auth-card{padding:26px 20px 22px;border-radius:24px}}@media (pointer: coarse){input:not(.code-input),select,textarea{font-size:16px!important}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition-property:opacity,color,background-color,border-color,box-shadow,fill,stroke!important;scroll-behavior:auto!important}.sheet,.menu,.toast{animation:fade .16s ease!important}.toast.is-leaving{animation:fade-out .14s ease forwards!important}.skeleton-row,.jaw-loading-arch path{animation:none!important}*:active{transform:none!important}}
