@import "https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap";.odo-root{--odo-blue:#0857de;--odo-blue-hover:#0a4fc6;--odo-blue-text:#2a59d1;--odo-blue-soft:#e9efff;--odo-ink:#15171d;--odo-text:#3d4250;--odo-text-soft:#5d6271;--odo-muted:#8b90a0;--odo-faint:#c3c8d5;--odo-line:#e3e4ec;--odo-bg:#ecebf2;--odo-bg-deep:#e6e4ee;--odo-card:#fff;--odo-panel:#f0eff6eb;--odo-plaque:#2a6bc3;--odo-bleeding:#d9254e;--odo-pus:#f3a41c;--odo-gum:#e1595c;--odo-pocket:#78c3ec;--odo-pocket-fill:#7ec4e44d;--odo-decay:#fdb0b5;--odo-chip-active:#e2553f;--odo-restoration:#c3a0ee;--odo-shadow-card:0 18px 44px #272b5414;--odo-shadow-tile:0 12px 26px #282c5a14;--odo-ease:cubic-bezier(.22, .9, .24, 1);background:linear-gradient(180deg, #efeef4 0%, var(--odo-bg) 48%, var(--odo-bg-deep) 100%);height:100%;min-height:600px;color:var(--odo-text);isolation:isolate;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;position:relative;overflow:hidden}.odo-root *{box-sizing:border-box}.odo-heading{font-family:Poppins,Inter,system-ui,sans-serif}.odo-canvas{z-index:2;touch-action:none;outline:none;width:100%;height:100%;display:block;position:absolute;inset:0}.odo-layer{pointer-events:none;position:absolute;inset:0}.odo-layer>*{pointer-events:auto}.odo-svg{z-index:3;width:100%;height:100%;position:absolute;inset:0;overflow:visible;pointer-events:none!important}.odo-overview{transition:opacity .36s var(--odo-ease), transform .52s var(--odo-ease);flex-direction:column;padding:18px 24px 10px;display:flex;position:absolute;inset:0}.odo-root[data-view=detail] .odo-overview-chrome{opacity:0;pointer-events:none;transform:translateY(-18px)scale(.985)}.odo-overview-chrome{z-index:4;transition:opacity .32s var(--odo-ease), transform .48s var(--odo-ease);position:relative}.odo-patient-card{background:var(--odo-card);border-radius:999px;align-items:center;gap:18px;min-height:104px;padding:12px 34px 12px 12px;display:flex;box-shadow:0 16px 40px #282c5a12}.odo-avatar{width:80px;height:80px;color:var(--odo-blue-text);background:linear-gradient(140deg,#dbe6ff,#f2e9ff);border-radius:999px;flex:none;place-items:center;font-family:Poppins,Inter,sans-serif;font-size:26px;font-weight:600;display:grid;overflow:hidden;box-shadow:0 0 0 4px #fff,0 6px 16px #1e285a1f}.odo-avatar img{object-fit:cover;width:100%;height:100%}.odo-patient-identity{flex:0 auto;min-width:0}.odo-patient-code{color:var(--odo-text-soft);letter-spacing:.02em;font-size:11px;font-weight:500}.odo-patient-name{color:#1b1d22;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-family:Poppins,Inter,sans-serif;font-size:29px;font-weight:400;line-height:1.15;overflow:hidden}.odo-patient-name strong{font-weight:600}.odo-patient-status{color:var(--odo-text-soft);margin-top:6px;font-size:11px;font-weight:500}.odo-patient-actions{flex:none;align-items:center;gap:8px;margin-left:10px;display:flex}.odo-round-button{width:46px;height:46px;color:var(--odo-blue);cursor:pointer;background:#fff;border:1px solid #e7e9f0;border-radius:999px;place-items:center;transition:transform .16s,box-shadow .16s,border-color .16s;display:grid;box-shadow:0 4px 12px #1e285a0d}.odo-round-button:hover:not(:disabled){border-color:#d5dcf2;transform:translateY(-1px);box-shadow:0 8px 18px #1e3ca01f}.odo-round-button:disabled{cursor:not-allowed;opacity:.45}.odo-call-button{background:var(--odo-blue);color:#fff;cursor:pointer;border:0;border-radius:999px;place-items:center;width:78px;height:46px;transition:transform .16s,background .16s;display:grid;box-shadow:0 10px 22px #0857de47}.odo-call-button:hover:not(:disabled){background:var(--odo-blue-hover);transform:translateY(-1px)}.odo-call-button:disabled{cursor:not-allowed;opacity:.4;box-shadow:none}.odo-patient-facts{flex:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 26px;min-width:0;max-width:560px;margin-left:auto;display:grid}.odo-fact{min-width:0}.odo-fact-label{color:var(--odo-muted);font-size:10.5px;font-weight:500;display:block}.odo-fact-value{color:#1b1d22;text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:12.5px;font-weight:500;display:block;overflow:hidden}.odo-fact-link{color:#1b1d22;font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-size:12.5px;font-weight:500;-webkit-text-decoration:underline #0857de59;text-decoration:underline #0857de59}.odo-fact-link:hover{color:var(--odo-blue)}.odo-tabs{scrollbar-width:none;justify-content:space-between;gap:4px;margin:16px 6px 0 48px;display:flex;overflow-x:auto}.odo-tabs::-webkit-scrollbar{display:none}.odo-tab{color:#8f94a1;min-width:64px;font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1 0 auto;align-items:center;gap:5px;padding:4px 6px 10px;font-size:11.5px;font-weight:500;transition:color .16s;display:flex;position:relative}.odo-tab .material-symbols-outlined{font-variation-settings:"FILL" 0, "wght" 300, "GRAD" 0, "opsz" 20;color:#a7acb9;font-size:17px;transition:color .16s}.odo-tab:hover{color:var(--odo-text)}.odo-tab[aria-selected=true],.odo-tab[aria-selected=true] .material-symbols-outlined{color:var(--odo-blue-text)}.odo-tab[aria-selected=true]:after{background:var(--odo-blue);content:"";border-radius:2px;width:56px;height:2px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.odo-tab-external{opacity:.6;margin-left:1px;font-size:9px!important}.odo-toolbar{flex-wrap:wrap;align-items:center;gap:8px 18px;margin:14px 0 10px;padding-left:18px;display:flex}.odo-toolbar-title{color:var(--odo-ink);margin-right:10px;font-family:Poppins,Inter,sans-serif;font-size:21px;font-weight:600}.odo-pill-group{gap:8px;display:flex}.odo-pill{height:32px;color:var(--odo-blue-text);font:inherit;white-space:nowrap;cursor:pointer;background:#fff;border:0;border-radius:999px;padding:0 15px;font-size:11.5px;font-weight:500;transition:background .18s,color .18s,box-shadow .18s,transform .16s;box-shadow:0 4px 12px #1e285a0d}.odo-pill:hover{transform:translateY(-1px)}.odo-pill[aria-pressed=true]{background:var(--odo-blue);color:#fff;box-shadow:0 8px 18px #0857de40}.odo-toolbar-spacer{flex:1}.odo-save-indicator{color:var(--odo-muted);white-space:nowrap;align-items:center;gap:6px;font-size:11px;font-weight:500;display:inline-flex}.odo-save-indicator[data-state=error]{color:#c2410c}.odo-save-dot{background:#34c38f;border-radius:999px;width:7px;height:7px}.odo-save-indicator[data-state=saving] .odo-save-dot{background:var(--odo-pus)}.odo-save-indicator[data-state=error] .odo-save-dot{background:#ea580c}.odo-undo-button{height:30px;color:var(--odo-text-soft);font:inherit;cursor:pointer;background:#ffffffb3;border:0;border-radius:999px;align-items:center;gap:4px;padding:0 12px;font-size:11.5px;font-weight:500;display:inline-flex}.odo-undo-button:hover:not(:disabled){color:var(--odo-blue-text);background:#fff}.odo-undo-button:disabled{cursor:default;opacity:.4}.odo-undo-button .material-symbols-outlined{font-size:16px}.odo-chart-area{flex:auto;min-height:0;margin-bottom:40px;position:relative}.odo-chart-card{z-index:1;background:var(--odo-card);box-shadow:var(--odo-shadow-card);transition:opacity .36s var(--odo-ease), transform .52s var(--odo-ease), box-shadow .3s ease;border-radius:22px;position:absolute}.odo-root[data-view=detail] .odo-chart-card{opacity:0;transform:scale(.97)}.odo-chart-card[data-mode=quickselect]{box-shadow:0 0 0 2px #0857de29, var(--odo-shadow-card)}.odo-perio-labels{letter-spacing:.2em;text-transform:uppercase;flex-direction:column;align-items:flex-end;font-size:8.5px;font-weight:700;line-height:13px;display:flex;position:absolute;right:8px}.odo-perio-labels span:first-child{color:var(--odo-plaque)}.odo-perio-labels span:nth-child(2){color:var(--odo-bleeding)}.odo-perio-labels span:nth-child(3){color:var(--odo-pus)}.odo-arch-toggles{flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:absolute}.odo-arch-button{color:#b9bec9;cursor:pointer;background:#fff;border:0;border-radius:999px;place-items:center;width:36px;height:36px;transition:background .18s,color .18s,transform .16s;display:grid;box-shadow:0 6px 14px #1e285a12}.odo-arch-button:hover{color:#8f95a4;transform:scale(1.06)}.odo-arch-button[aria-pressed=true]{background:var(--odo-blue);color:#fff;box-shadow:0 8px 18px #0857de4d}.odo-corner-button{color:#b4b9c6;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:32px;height:32px;transition:color .16s,background .16s;display:grid;position:absolute;bottom:-36px}.odo-corner-button:hover,.odo-corner-button[aria-expanded=true]{color:var(--odo-blue-text);background:#ffffffb3}.odo-dot-grid{--odo-dot-size:8px;--odo-dot-gap:5px;grid-template-columns:repeat(3, var(--odo-dot-size));grid-auto-rows:var(--odo-dot-size);column-gap:var(--odo-dot-gap);row-gap:calc(13px - var(--odo-dot-size));display:grid;position:absolute;transform:translate(-50%)}.odo-dot{width:var(--odo-dot-size,8px);height:var(--odo-dot-size,8px);background:#fff;border:1px solid #c9cdd8;border-radius:999px;padding:0;transition:background .16s,border-color .16s,transform .16s}.odo-dot[data-on=true][data-kind=plaque]{background:var(--odo-plaque);border-color:var(--odo-plaque)}.odo-dot[data-on=true][data-kind=bleeding]{background:var(--odo-bleeding);border-color:var(--odo-bleeding)}.odo-dot[data-on=true][data-kind=pus]{background:var(--odo-pus);border-color:var(--odo-pus)}button.odo-dot{cursor:pointer}button.odo-dot:hover{border-color:var(--odo-blue);transform:scale(1.35)}.odo-tooth-number{color:#59606d;min-width:26px;font:inherit;text-align:center;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:2px 4px;font-size:12px;font-weight:500;transition:color .16s,background .16s,box-shadow .16s;position:absolute;transform:translate(-50%,-50%)}.odo-tooth-number:hover,.odo-tooth-number[data-hover=true]{color:var(--odo-blue)}.odo-tooth-number[data-selected=true]{background:var(--odo-blue);color:#fff;box-shadow:0 6px 14px #0857de4d}.odo-tooth-number[data-missing=true]{color:#b9bec9;text-decoration:line-through}.odo-perio-line{fill:none;stroke:var(--odo-gum);stroke-width:1.6px;stroke-linejoin:round}.odo-pocket-line{fill:none;stroke:var(--odo-pocket);stroke-width:1.6px;stroke-linejoin:round}.odo-pocket-area{fill:var(--odo-pocket-fill);stroke:none}.odo-mm-line{stroke:#d9dae3;stroke-width:1px;stroke-dasharray:6 9}.odo-perio-fade{transition:opacity .28s}.odo-popover{z-index:6;width:300px;color:var(--odo-text);animation:odo-pop .22s var(--odo-ease);background:#fff;border-radius:16px;padding:16px 18px;font-size:12px;position:absolute;box-shadow:0 22px 50px #1e225029}.odo-popover h3{color:var(--odo-ink);margin:0 0 10px;font-family:Poppins,Inter,sans-serif;font-size:14px;font-weight:600}.odo-legend-row{align-items:center;gap:10px;padding:4px 0;display:flex}.odo-legend-swatch{border-radius:4px;flex:none;width:22px;height:12px}.odo-help-list{margin:0;padding-left:16px;line-height:1.55}.odo-quickbar{z-index:5;max-width:calc(100% - 32px);animation:odo-rise .26s var(--odo-ease);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:8px 10px 8px 16px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 18px 40px #1e225029}.odo-quickbar-count{color:var(--odo-ink);white-space:nowrap;margin-right:4px;font-size:12px;font-weight:600}.odo-quickbar-actions{scrollbar-width:none;gap:6px;display:flex;overflow-x:auto}.odo-quickbar-button{height:30px;color:var(--odo-blue-text);font:inherit;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #e3e6ef;border-radius:999px;padding:0 12px;font-size:11.5px;font-weight:500}.odo-quickbar-button:hover:not(:disabled){border-color:var(--odo-blue);background:var(--odo-blue-soft)}.odo-quickbar-button:disabled{cursor:not-allowed;opacity:.45}.odo-quickbar-button[data-tone=danger]{color:#c2410c}.odo-quickbar-status{height:30px;color:var(--odo-text);font:inherit;border:1px solid #e3e6ef;border-radius:999px;padding:0 10px;font-size:11.5px}.odo-toast{z-index:7;color:#fff;animation:odo-rise .24s var(--odo-ease);background:#1f2433;border-radius:12px;align-items:center;gap:12px;padding:10px 12px 10px 16px;font-size:12.5px;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 16px 36px #0a0e284d}.odo-toast button{color:#fff;font:inherit;cursor:pointer;background:#ffffff1f;border:0;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:600}.odo-loading{z-index:3;color:var(--odo-muted);pointer-events:none;align-items:center;gap:10px;font-size:12px;font-weight:500;display:flex;position:absolute;transform:translate(-50%,-50%)}.odo-spinner{border:2px solid #d9dde8;border-top-color:var(--odo-blue);border-radius:999px;width:16px;height:16px;animation:.8s linear infinite odo-spin}.odo-detail{z-index:4;pointer-events:none;position:absolute;inset:0}.odo-detail>*{pointer-events:auto}.odo-detail{transition:visibility linear}.odo-root[data-view=overview] .odo-detail{visibility:hidden;transition-delay:.42s}.odo-root[data-view=overview] .odo-detail *{pointer-events:none!important}.odo-detail-fade{z-index:3;height:120px;position:absolute;pointer-events:none!important}.odo-detail-fade[data-edge=top]{background:linear-gradient(#efeef4 8%,#efeef400);top:0}.odo-detail-fade[data-edge=bottom]{background:linear-gradient(#e8e7ef00,#e8e7ef 92%);bottom:0}.odo-ruler{z-index:4;touch-action:none;width:56px;position:absolute;top:0;bottom:0;overflow:hidden;transform:translate(-50%);-webkit-mask-image:linear-gradient(#0000 0,#000 22% 78%,#0000 100%);mask-image:linear-gradient(#0000 0,#000 22% 78%,#0000 100%)}.odo-ruler-track{transition:transform .52s var(--odo-ease);position:absolute;left:0;right:0}.odo-ruler-item{width:38px;height:38px;color:var(--odo-faint);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;margin-left:-19px;font-size:13px;font-weight:500;transition:color .2s,background .2s,box-shadow .2s,transform .2s;display:grid;position:absolute;left:50%}.odo-ruler-item:hover{color:var(--odo-text-soft)}.odo-ruler-item[data-selected=true]{color:var(--odo-blue-text);background:#fff;font-weight:600;box-shadow:0 8px 20px #1e285a1f}.odo-ruler-item[data-missing=true]{text-decoration:line-through}.odo-ruler-item[data-flag=true]:after{background:var(--odo-bleeding);content:"";border-radius:999px;width:5px;height:5px;position:absolute;top:7px;right:7px}.odo-view-tools{z-index:4;flex-direction:column;gap:8px;display:flex;position:absolute;transform:translate(-50%)}.odo-view-tool{width:34px;height:34px;color:var(--odo-text-soft);cursor:pointer;background:#ffffffd9;border:0;border-radius:999px;place-items:center;transition:color .16s,transform .16s,opacity .2s;display:grid;box-shadow:0 6px 14px #1e285a14}.odo-view-tool:hover{color:var(--odo-blue);transform:scale(1.06)}.odo-view-hint{color:#a3a8b6;white-space:nowrap;font-size:11px;font-weight:500;position:absolute;transform:translate(-50%);pointer-events:none!important}.odo-chips{z-index:5;width:0;position:absolute}.odo-chip{color:#7b8090;min-height:44px;font:inherit;text-align:center;cursor:pointer;animation:odo-chip-in .36s var(--odo-ease) both;background:0 0;border:1.5px dashed #b7bac6;border-radius:13px;place-items:center;padding:6px 12px;font-size:13px;font-weight:500;line-height:1.15;transition:background .2s,color .2s,border-color .2s,box-shadow .22s,opacity .26s;display:grid;position:absolute;transform:translate(-50%,-50%)}.odo-chip:hover:not(:disabled){color:var(--odo-text);border-color:#959aa8}.odo-chip[aria-pressed=true]{color:var(--odo-chip-active);background:#fff;border-color:#0000;box-shadow:0 10px 24px #ef706833}.odo-chip[data-kind=restoration][aria-pressed=true]{color:#7d4fd6;box-shadow:0 10px 24px #8c64e633}.odo-chip[data-hover=true]{border-color:var(--odo-chip-active)}.odo-chip:disabled{cursor:default;opacity:.5}.odo-panel{background:var(--odo-panel);-webkit-backdrop-filter:blur(14px);width:clamp(320px,38%,560px);transition:transform .56s var(--odo-ease), opacity .36s ease;border-radius:28px;flex-direction:column;display:flex;position:absolute;top:22px;bottom:22px;right:26px;overflow:hidden;box-shadow:0 30px 70px #24285a1a,inset 0 0 0 1px #ffffffa6}.odo-root[data-view=overview] .odo-panel{opacity:0;transform:translate(40px)}.odo-panel-scroll{scrollbar-width:thin;flex:1;padding:44px 46px 34px 56px;overflow-y:auto}.odo-panel-header{align-items:center;gap:10px;display:flex}.odo-back-button{color:#9aa0ad;cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;width:30px;height:30px;margin-left:-34px;transition:background .16s,color .16s;display:grid}.odo-back-button:hover{color:var(--odo-blue);background:#fffc}.odo-panel-title{color:var(--odo-ink);letter-spacing:-.01em;margin:0;font-family:Poppins,Inter,sans-serif;font-size:34px;font-weight:600;line-height:1.1}.odo-panel-subtitle{color:var(--odo-muted);margin:6px 0 0;font-size:12px;font-weight:500}.odo-typewriter-caret{background:var(--odo-blue);vertical-align:-.08em;width:2px;height:.9em;margin-left:2px;animation:.7s steps(2,end) infinite odo-blink;display:inline-block}.odo-tiles{gap:10px;margin-top:22px;display:grid}.odo-tiles[data-columns="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}.odo-tiles[data-columns="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}.odo-tile{min-height:102px;color:var(--odo-blue-text);font:inherit;text-align:center;cursor:pointer;box-shadow:var(--odo-shadow-tile);animation:odo-tile-in .42s var(--odo-ease) both;background:#fff;border:0;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:14px 6px 12px;font-size:12.5px;font-weight:500;transition:transform .18s,box-shadow .18s,background .2s,color .2s;display:flex}.odo-tiles[data-columns="3"] .odo-tile{min-height:118px;font-size:13px}.odo-tile svg{width:30px;height:30px}.odo-tile:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 16px 30px #282c5a1f}.odo-tile[aria-pressed=true]{background:var(--odo-blue);color:#fff;box-shadow:0 16px 30px #0857de4d}.odo-tile[data-tone=active]{box-shadow:0 0 0 2px #0857de59, var(--odo-shadow-tile)}.odo-tile:disabled{cursor:not-allowed;opacity:.5}.odo-section{margin-top:26px}.odo-section-title{color:var(--odo-ink);margin:0 0 12px;font-family:Poppins,Inter,sans-serif;font-size:15px;font-weight:600}.odo-empty-text{color:#9a9fac;margin:0;font-size:18px;line-height:1.5}.odo-treat-box{animation:odo-rise .3s var(--odo-ease);background:#dfe2ef;border-radius:10px;align-items:center;gap:16px;padding:16px 18px 16px 20px;display:flex}.odo-treat-box+.odo-treat-box{margin-top:8px}.odo-treat-text{color:#4b505d;flex:1;margin:0;font-size:13.5px;line-height:1.55}.odo-treat-actions{flex:none;gap:6px;display:flex}.odo-done-button{height:24px;color:var(--odo-text);font:inherit;cursor:pointer;background:#fff;border:0;border-radius:5px;padding:0 14px;font-size:11.5px;font-weight:500;box-shadow:0 2px 6px #1e285a0f}.odo-done-button:hover{background:var(--odo-blue);color:#fff}.odo-icon-button{color:#9aa0ad;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;width:24px;height:24px;display:grid}.odo-icon-button:hover{color:#c2410c;background:#ffffffb3}.odo-icon-button .material-symbols-outlined{font-size:16px}.odo-record-list{flex-direction:column;gap:6px;display:flex}.odo-record{color:var(--odo-text);background:#ffffffa6;border-radius:10px;align-items:center;gap:10px;padding:9px 10px 9px 12px;font-size:12.5px;display:flex}.odo-record-swatch{border-radius:4px;flex:none;width:10px;height:10px}.odo-record-text{flex:1;min-width:0}.odo-record-tag{color:var(--odo-text-soft);background:#eef0f7;border-radius:999px;flex:none;padding:2px 8px;font-size:10.5px;font-weight:600}.odo-record-tag[data-status=monitor]{color:#a86308;background:#fff4dd}.odo-record-tag[data-status=done]{color:#1c7a4a;background:#e3f6ec}.odo-endo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 22px;display:grid}.odo-endo-column{flex-direction:column;gap:4px;display:flex}.odo-endo-item{position:relative}.odo-endo-button{color:#4b505d;width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:6px 4px;font-size:14px;display:flex}.odo-endo-button:hover{background:#fff9}.odo-endo-button svg{flex:none;width:20px;height:20px}.odo-endo-result{color:var(--odo-text-soft);background:#eef0f7;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600}.odo-endo-result[data-tone=alert]{color:#b4233f;background:#ffe4e8}.odo-endo-result[data-tone=warn]{color:#9a5a00;background:#fff1d6}.odo-endo-result[data-tone=ok]{color:#1c7a4a;background:#e3f6ec}.odo-endo-chevron{color:#c4c8d3;transition:transform .2s}.odo-endo-item[data-open=true] .odo-endo-chevron{transform:rotate(90deg)}.odo-endo-options{animation:odo-rise .2s var(--odo-ease);flex-wrap:wrap;gap:6px;padding:4px 0 8px 34px;display:flex}.odo-mini-button{height:26px;color:var(--odo-blue-text);font:inherit;cursor:pointer;background:#fff;border:1px solid #dfe2ec;border-radius:8px;padding:0 10px;font-size:11.5px;font-weight:500}.odo-mini-button[aria-pressed=true]{border-color:var(--odo-blue);background:var(--odo-blue);color:#fff}.odo-mini-button[data-tone=muted]{color:var(--odo-muted)}.odo-mini-input{width:64px;height:26px;color:var(--odo-text);font:inherit;background:#fff;border:1px solid #dfe2ec;border-radius:8px;padding:0 8px;font-size:12px}.odo-perio-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px;display:grid}.odo-perio-card{color:var(--odo-text);font:inherit;text-align:center;cursor:pointer;background:#fff;border:0;border-radius:8px;padding:0;transition:box-shadow .16s,transform .16s;position:relative;box-shadow:0 6px 16px #1e285a0f}.odo-perio-card:hover{transform:translateY(-1px);box-shadow:0 10px 22px #1e285a1a}.odo-perio-card[aria-expanded=true]{box-shadow:0 0 0 2px var(--odo-blue), 0 10px 22px #1e285a1a}.odo-perio-values{border-bottom:1px solid #eef0f5;justify-content:center;align-items:center;gap:14px;height:36px;font-size:15px;display:flex;position:relative}.odo-perio-values .odo-perio-depth{color:#3a3f4b;font-weight:500}.odo-perio-values .odo-perio-margin{color:#aab0bc}.odo-perio-values .odo-perio-sep{background:#e4e7ee;width:1px;height:14px}.odo-perio-flags{flex-direction:column;gap:3px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.odo-perio-flags[data-edge=left]{left:14px}.odo-perio-flags[data-edge=right]{right:14px}.odo-perio-flags i{border-radius:999px;width:4px;height:4px}.odo-perio-label{color:#3a3f4b;padding:8px 4px 9px;font-size:13.5px;display:block}.odo-perio-editor{animation:odo-rise .22s var(--odo-ease);background:#fff;border-radius:12px;margin-top:12px;padding:14px 16px;box-shadow:0 12px 28px #1e285a1a}.odo-perio-editor-title{color:var(--odo-ink);margin:0 0 10px;font-size:12.5px;font-weight:600}.odo-stepper-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.odo-stepper{background:#f4f5fa;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;display:flex}.odo-stepper span{color:var(--odo-text-soft);font-size:11px;font-weight:600}.odo-stepper output{min-width:26px;color:var(--odo-ink);text-align:center;font-size:15px;font-weight:600}.odo-stepper button{width:26px;height:26px;color:var(--odo-blue-text);cursor:pointer;background:#fff;border:0;border-radius:7px;place-items:center;font-size:16px;display:grid;box-shadow:0 2px 6px #1e285a14}.odo-flag-row{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.odo-flag-toggle{height:28px;color:var(--odo-text);font:inherit;cursor:pointer;background:#fff;border:1px solid #e0e3ec;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:11.5px;font-weight:500;display:inline-flex}.odo-flag-toggle i{border-radius:999px;width:7px;height:7px}.odo-flag-toggle[aria-pressed=true]{border-color:currentColor;font-weight:600}.odo-tooth-extra{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.odo-perio-editor:has(.odo-keypad-wrap){box-shadow:none;background:0 0;padding:0}.odo-keypad-wrap{outline:none}.odo-keypad{background:#fff;border-radius:12px;padding:10px 12px 14px;box-shadow:0 10px 26px #1e285a14}.odo-keypad-tabs{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:10px;display:grid}.odo-keypad-tabs button{color:#4b505d;font:inherit;cursor:pointer;background:0 0;border:0;padding:10px 6px 12px;font-size:14px;font-weight:500}.odo-keypad-tabs button[aria-selected=true]{color:var(--odo-blue-text)}.odo-keypad-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.odo-keypad-key{color:#3a3f4b;height:50px;font:inherit;cursor:pointer;background:#fff;border:1px solid #eceef4;border-radius:6px;font-size:16px;transition:background .14s,color .14s,transform .12s}.odo-keypad-key:hover:not(:disabled){border-color:#c9d6f7;transform:translateY(-1px)}.odo-keypad-key[aria-pressed=true]{border-color:var(--odo-blue);background:var(--odo-blue);color:#fff}.odo-keypad-key:disabled{cursor:default;opacity:.35}.odo-keypad-flags{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.odo-keypad-flag{color:#3a3f4b;height:44px;font:inherit;cursor:pointer;background:#fff;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;font-size:14px;display:inline-flex;box-shadow:0 6px 16px #1e285a12}.odo-keypad-flag i{border:1.5px solid;border-radius:999px;width:7px;height:7px}.odo-keypad-flag[aria-pressed=true]{background:var(--odo-blue);color:#fff;box-shadow:0 10px 20px #0857de40}.odo-keypad-flag[aria-pressed=true] i{background:#fff!important;border-color:#fff!important}.odo-probing-panel{z-index:5;-webkit-backdrop-filter:blur(14px);animation:odo-pop .32s var(--odo-ease);background:#ecebf3f0;border-radius:24px;padding:24px 24px 18px 46px;position:absolute;overflow-y:auto;box-shadow:0 30px 70px #24285a24,inset 0 0 0 1px #ffffffb3}.odo-probing-panel .odo-panel-title{font-size:26px}.odo-probing-panel .odo-perio-values{height:30px;font-size:14px}.odo-probing-panel .odo-perio-label{padding:6px 4px 7px;font-size:12.5px}.odo-probing-panel .odo-perio-grid{gap:8px 10px}.odo-probing-panel .odo-perio-editor{margin-top:10px}.odo-probing-panel .odo-keypad-tabs button{padding:6px 4px 8px;font-size:13px}.odo-probing-panel .odo-keypad-grid{gap:6px}.odo-probing-panel .odo-keypad-key{height:38px;font-size:15px}.odo-probing-panel .odo-keypad-flags{gap:8px;margin-top:10px}.odo-probing-panel .odo-keypad-flag{height:36px;font-size:13px}.odo-close-button{color:#8b90a0;cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;width:32px;height:32px;margin-left:auto;display:grid}.odo-close-button:hover{color:#c2410c;background:#fffc}.odo-close-button .material-symbols-outlined{font-size:20px}.odo-next-tooth{z-index:5;color:#6b7080;width:104px;height:104px;font:inherit;text-align:left;cursor:pointer;animation:odo-pop .36s var(--odo-ease) 80ms both;background:#fff;border:0;border-radius:999px;justify-content:center;align-items:center;gap:6px;font-size:13.5px;line-height:1.25;transition:transform .16s,color .16s;display:flex;position:absolute;box-shadow:0 16px 34px #1e285a1f}.odo-next-tooth:hover:not(:disabled){color:var(--odo-blue-text);transform:scale(1.04)}.odo-next-tooth:disabled{cursor:default;opacity:.5}.odo-probe-check{background:var(--odo-blue);color:#fff;width:24px;height:24px;animation:odo-pop .26s var(--odo-ease);border:2px solid #fff;border-radius:999px;place-items:center;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 6px 14px #0857de59;pointer-events:none!important}.odo-probe-check .material-symbols-outlined{font-variation-settings:"FILL" 0, "wght" 700, "GRAD" 0, "opsz" 20;font-size:15px}.odo-tooth-number[data-highlight=true]{color:#fff;background:#ef6a50;box-shadow:0 6px 14px #ef6a5059}.odo-option-grid{gap:12px;display:grid}.odo-option-grid[data-layout=wide]{grid-template-columns:repeat(2,minmax(0,1fr))}.odo-option-grid[data-layout=compact]{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.odo-option-grid[data-layout=quad]{grid-template-columns:repeat(4,minmax(0,1fr))}.odo-option{min-height:56px;color:var(--odo-blue-text);font:inherit;cursor:pointer;box-shadow:var(--odo-shadow-tile);animation:odo-tile-in .38s var(--odo-ease) both;background:#fff;border:0;border-radius:14px;padding:10px 12px;font-size:14px;font-weight:500;transition:background .2s,color .2s,transform .16s,box-shadow .2s}.odo-option-grid[data-layout=compact] .odo-option{min-height:64px;font-size:13.5px}.odo-option:hover{transform:translateY(-2px)}.odo-option[aria-pressed=true]{background:var(--odo-blue);color:#fff;box-shadow:0 14px 28px #0857de47}.odo-step-hint{color:var(--odo-muted);margin:8px 0 0;font-size:12px}.odo-step-note{color:var(--odo-text-soft);background:#fff9;border-radius:10px;margin:10px 0 0;padding:10px 12px;font-size:12px}.odo-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:30px;display:grid}.odo-action{min-height:56px;color:var(--odo-blue-text);font:inherit;cursor:pointer;box-shadow:var(--odo-shadow-tile);background:#fff;border:0;border-radius:14px;font-size:14px;font-weight:500;transition:background .2s,color .2s,transform .16s,opacity .2s}.odo-action:hover:not(:disabled){transform:translateY(-2px)}.odo-action[data-primary=true]:not(:disabled):hover,.odo-action[aria-pressed=true]{background:var(--odo-blue);color:#fff}.odo-action:disabled{cursor:not-allowed;opacity:.45;transform:none}.odo-tab-panel{z-index:4;min-height:0;animation:odo-rise .26s var(--odo-ease);flex:auto;margin-top:16px;padding:4px 6px 24px;position:relative;overflow-y:auto}.odo-module-loading{color:var(--odo-muted);flex:1;justify-content:center;align-items:center;gap:10px;font-size:13px;display:flex}.odo-tab-panel-inner{max-width:1180px;margin:0 auto}.odo-card{box-shadow:var(--odo-shadow-card);background:#fff;border-radius:20px}.odo-card-pad{padding:22px 24px}.odo-card-title{color:var(--odo-ink);margin:0;font-family:Poppins,Inter,sans-serif;font-size:16px;font-weight:600}.odo-card-subtitle{color:var(--odo-muted);margin:4px 0 0;font-size:12px}.odo-kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;display:grid}.odo-kpi{box-shadow:var(--odo-shadow-card);background:#fff;border-radius:18px;padding:18px 20px}.odo-kpi-label{color:var(--odo-muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:600}.odo-kpi-value{color:var(--odo-ink);margin-top:8px;font-family:Poppins,Inter,sans-serif;font-size:28px;font-weight:600;line-height:1}.odo-kpi-helper{color:var(--odo-text-soft);margin-top:6px;font-size:12px}.odo-table{border-collapse:collapse;width:100%;font-size:13px}.odo-table th{border-bottom:1px solid var(--odo-line);color:var(--odo-muted);letter-spacing:.06em;text-align:left;text-transform:uppercase;padding:10px 12px;font-size:11px;font-weight:600}.odo-table td{color:var(--odo-text);vertical-align:middle;border-bottom:1px solid #f0f1f6;padding:12px}.odo-table tr:last-child td{border-bottom:0}.odo-badge{color:var(--odo-text-soft);white-space:nowrap;background:#eef0f7;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.odo-badge[data-tone=blue]{background:var(--odo-blue-soft);color:var(--odo-blue-text)}.odo-badge[data-tone=green]{color:#1c7a4a;background:#e3f6ec}.odo-badge[data-tone=amber]{color:#9a5a00;background:#fff1d6}.odo-badge[data-tone=red]{color:#b4233f;background:#ffe4e8}.odo-button{background:var(--odo-blue);color:#fff;height:36px;font:inherit;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-size:12.5px;font-weight:600;display:inline-flex;box-shadow:0 8px 18px #0857de38}.odo-button:hover:not(:disabled){background:var(--odo-blue-hover)}.odo-button:disabled{cursor:not-allowed;opacity:.5}.odo-button[data-variant=ghost]{color:var(--odo-blue-text);background:#fff;box-shadow:0 4px 12px #1e285a0f}.odo-button[data-variant=ghost]:hover:not(:disabled){background:var(--odo-blue-soft)}.odo-button .material-symbols-outlined{font-size:18px}.odo-field{flex-direction:column;gap:6px;display:flex}.odo-field label,.odo-field-label{color:var(--odo-text-soft);letter-spacing:.04em;font-size:11px;font-weight:600}.odo-input,.odo-select,.odo-textarea{width:100%;min-height:38px;color:var(--odo-ink);font:inherit;background:#fff;border:1px solid #e0e3ec;border-radius:10px;padding:8px 12px;font-size:13px}.odo-textarea{resize:vertical;min-height:84px}.odo-input:focus,.odo-select:focus,.odo-textarea:focus{border-color:var(--odo-blue);outline:3px solid #0857de1f}.odo-form-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;display:grid}.odo-check{cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.odo-check:hover{background:#f6f7fb}.odo-check input{width:17px;height:17px;accent-color:var(--odo-blue)}.odo-check[data-done=true] span{color:var(--odo-muted);text-decoration:line-through}.odo-progress{background:#eef0f6;border-radius:999px;height:6px;overflow:hidden}.odo-progress>i{background:var(--odo-blue);border-radius:999px;height:100%;transition:width .3s;display:block}.odo-shade-grid{grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:8px;display:grid}.odo-shade{color:var(--odo-text);font:inherit;cursor:pointer;background:#f6f7fb;border:2px solid #0000;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:8px 4px;font-size:11.5px;font-weight:600;display:flex}.odo-shade i{border-radius:8px 8px 12px 12px;width:26px;height:34px;box-shadow:inset 0 -6px 10px #0000000f}.odo-shade[aria-pressed=true]{border-color:var(--odo-blue);background:#fff}.odo-empty-state{color:var(--odo-muted);text-align:center;flex-direction:column;align-items:center;gap:10px;padding:40px 20px;font-size:13px;display:flex}.odo-empty-state .material-symbols-outlined{color:#c3c8d5;font-size:34px}.odo-thumb-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.odo-thumb{background:#f6f7fb;border-radius:14px;flex-direction:column;gap:8px;padding:12px;font-size:12px;display:flex}.odo-thumb .material-symbols-outlined{color:#9aa6c4;font-size:30px}.odo-patient-empty{place-items:center;padding:24px;display:grid;position:absolute;inset:0}.odo-patient-empty-card{text-align:center;max-width:460px;box-shadow:var(--odo-shadow-card);background:#fff;border-radius:26px;flex-direction:column;align-items:center;padding:36px 34px;display:flex}.odo-patient-empty-card h1{color:var(--odo-ink);margin:14px 0 6px;font-family:Poppins,Inter,sans-serif;font-size:22px;font-weight:600}.odo-patient-empty-card p{color:var(--odo-text-soft);margin:0 0 20px;font-size:13.5px;line-height:1.55}.odo-storage-note{color:#8a5a00;background:#fff8e6;border-radius:12px;align-items:flex-start;gap:8px;margin-top:14px;padding:10px 12px;font-size:11.5px;line-height:1.5;display:flex}.odo-storage-note .material-symbols-outlined{font-size:16px}@keyframes odo-pop{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes odo-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.odo-quickbar,.odo-toast{animation-name:odo-rise-centered}@keyframes odo-rise-centered{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}@keyframes odo-tile-in{0%{opacity:0;transform:translateY(10px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes odo-chip-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.92)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes odo-blink{to{visibility:hidden}}@keyframes odo-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.odo-root *,.odo-root :before,.odo-root :after{transition-duration:1ms!important;animation-duration:1ms!important}}@media (width<=1280px){.odo-patient-card{gap:14px;padding-right:24px}.odo-patient-name{font-size:24px}.odo-patient-facts{gap:8px 16px}.odo-panel-scroll{padding:34px 30px 28px 46px}.odo-panel-title{font-size:30px}}@media (width<=1100px){.odo-patient-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.odo-patient-facts .odo-fact:nth-child(n+5){display:none}}.odo-table-scroll{max-width:100%;overflow-x:auto}.odo-wide-scroll{height:100%}@media (width<=860px){.odo-wide-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.odo-wide-scroll>.odo-root{min-width:820px}.odo-wide-scroll .odo-toolbar{flex-wrap:wrap;row-gap:8px}}@media (width<=640px){.odo-overview{padding:12px 10px 8px}.odo-tab-panel{padding:4px 0 20px}.odo-card-pad{padding:16px 14px}}
