@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, var(--dkc-bg-efeef4,#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{background:linear-gradient(140deg, var(--dkc-bg-dbe6ff,#dbe6ff), var(--dkc-bg-f2e9ff,#f2e9ff));width:80px;height:80px;color:var(--odo-blue-text);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:var(--dkc-fg-1b1d22,#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{border:1px solid var(--dkc-line-e7e9f0,#e7e9f0);background:var(--dkc-bg-ffffff,#fff);width:46px;height:46px;color:var(--odo-blue);cursor:pointer;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:var(--dkc-line-d5dcf2,#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:var(--dkc-fg-1b1d22,#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:var(--dkc-fg-1b1d22,#1b1d22);font:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--dkc-fg-0857de-a35,#0857de59);text-decoration-color:var(--dkc-fg-0857de-a35,#0857de59);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-size:12.5px;font-weight:500}.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{background:var(--dkc-bg-ffffff,#fff);height:32px;color:var(--odo-blue-text);font:inherit;white-space:nowrap;cursor:pointer;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:var(--dkc-fg-c2410c,#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{background:var(--dkc-bg-ffffff-a70,#ffffffb3);height:30px;color:var(--odo-text-soft);font:inherit;cursor:pointer;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){background:var(--dkc-bg-ffffff,#fff);color:var(--odo-blue-text)}.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{background:var(--dkc-bg-ffffff,#fff);color:#b9bec9;cursor:pointer;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]{background:var(--dkc-bg-ffffff-a70,#ffffffb3);color:var(--odo-blue-text)}.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);border:1px solid var(--dkc-line-c9cdd8,#c9cdd8);background:var(--dkc-bg-ffffff,#fff);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{min-width:26px;color:var(--dkc-fg-59606d,#59606d);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:var(--dkc-bg-d9dae3,#d9dae3);stroke-width:1px;stroke-dasharray:6 9}.odo-perio-fade{transition:opacity .28s}.odo-popover{z-index:6;background:var(--dkc-bg-ffffff,#fff);width:300px;color:var(--odo-text);animation:odo-pop .22s var(--odo-ease);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;background:var(--dkc-bg-ffffff,#fff);max-width:calc(100% - 32px);animation:odo-rise .26s var(--odo-ease);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{border:1px solid var(--dkc-line-e3e6ef,#e3e6ef);background:var(--dkc-bg-ffffff,#fff);height:30px;color:var(--odo-blue-text);font:inherit;white-space:nowrap;cursor:pointer;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:var(--dkc-fg-c2410c,#c2410c)}.odo-quickbar-status{border:1px solid var(--dkc-line-e3e6ef,#e3e6ef);height:30px;color:var(--odo-text);font:inherit;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{background:var(--dkc-bg-ffffff-a12,#ffffff1f);color:#fff;font:inherit;cursor:pointer;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 var(--dkc-line-d9dde8,#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(180deg, var(--dkc-bg-efeef4,#efeef4) 8%, var(--dkc-bg-efeef4-a0,#efeef400));top:0}.odo-detail-fade[data-edge=bottom]{background:linear-gradient(0deg, var(--dkc-bg-e8e7ef,#e8e7ef) 8%, var(--dkc-bg-e8e7ef-a0,#e8e7ef00));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]{background:var(--dkc-bg-ffffff,#fff);color:var(--odo-blue-text);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{background:var(--dkc-bg-ffffff-a85,#ffffffd9);width:34px;height:34px;color:var(--odo-text-soft);cursor:pointer;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{border:1.5px dashed var(--dkc-line-b7bac6,#b7bac6);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-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]{background:var(--dkc-bg-ffffff,#fff);color:var(--odo-chip-active);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{background:var(--dkc-bg-ffffff-a80,#fffc);color:var(--odo-blue)}.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{background:var(--dkc-bg-ffffff,#fff);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;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{background:var(--dkc-bg-dfe2ef,#dfe2ef);animation:odo-rise .3s var(--odo-ease);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:var(--dkc-fg-4b505d,#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{background:var(--dkc-bg-ffffff,#fff);height:24px;color:var(--odo-text);font:inherit;cursor:pointer;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{background:var(--dkc-bg-ffffff-a70,#ffffffb3);color:var(--dkc-fg-c2410c,#c2410c)}.odo-icon-button .material-symbols-outlined{font-size:16px}.odo-record-list{flex-direction:column;gap:6px;display:flex}.odo-record{background:var(--dkc-bg-ffffff-a65,#ffffffa6);color:var(--odo-text);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{background:var(--dkc-bg-eef0f7,#eef0f7);color:var(--odo-text-soft);border-radius:999px;flex:none;padding:2px 8px;font-size:10.5px;font-weight:600}.odo-record-tag[data-status=monitor]{background:var(--dkc-bg-fff4dd,#fff4dd);color:var(--dkc-fg-a86308,#a86308)}.odo-record-tag[data-status=done]{background:var(--dkc-bg-e3f6ec,#e3f6ec);color:var(--dkc-fg-1c7a4a,#1c7a4a)}.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{width:100%;color:var(--dkc-fg-4b505d,#4b505d);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:var(--dkc-bg-ffffff-a60,#fff9)}.odo-endo-button svg{flex:none;width:20px;height:20px}.odo-endo-result{background:var(--dkc-bg-eef0f7,#eef0f7);color:var(--odo-text-soft);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600}.odo-endo-result[data-tone=alert]{background:var(--dkc-bg-ffe4e8,#ffe4e8);color:var(--dkc-fg-b4233f,#b4233f)}.odo-endo-result[data-tone=warn]{background:var(--dkc-bg-fff1d6,#fff1d6);color:var(--dkc-fg-9a5a00,#9a5a00)}.odo-endo-result[data-tone=ok]{background:var(--dkc-bg-e3f6ec,#e3f6ec);color:var(--dkc-fg-1c7a4a,#1c7a4a)}.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{border:1px solid var(--dkc-line-dfe2ec,#dfe2ec);background:var(--dkc-bg-ffffff,#fff);height:26px;color:var(--odo-blue-text);font:inherit;cursor:pointer;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{border:1px solid var(--dkc-line-dfe2ec,#dfe2ec);background:var(--dkc-bg-ffffff,#fff);width:64px;height:26px;color:var(--odo-text);font:inherit;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{background:var(--dkc-bg-ffffff,#fff);color:var(--odo-text);font:inherit;text-align:center;cursor:pointer;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 var(--dkc-line-eef0f5,#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:var(--dkc-fg-3a3f4b,#3a3f4b);font-weight:500}.odo-perio-values .odo-perio-margin{color:#aab0bc}.odo-perio-values .odo-perio-sep{background:var(--dkc-bg-e4e7ee,#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:var(--dkc-fg-3a3f4b,#3a3f4b);padding:8px 4px 9px;font-size:13.5px;display:block}.odo-perio-editor{background:var(--dkc-bg-ffffff,#fff);animation:odo-rise .22s var(--odo-ease);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:var(--dkc-bg-f4f5fa,#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{background:var(--dkc-bg-ffffff,#fff);width:26px;height:26px;color:var(--odo-blue-text);cursor:pointer;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{border:1px solid var(--dkc-line-e0e3ec,#e0e3ec);background:var(--dkc-bg-ffffff,#fff);height:28px;color:var(--odo-text);font:inherit;cursor:pointer;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:var(--dkc-bg-ffffff,#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:var(--dkc-fg-4b505d,#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{border:1px solid var(--dkc-line-eceef4,#eceef4);background:var(--dkc-bg-ffffff,#fff);height:50px;color:var(--dkc-fg-3a3f4b,#3a3f4b);font:inherit;cursor:pointer;border-radius:6px;font-size:16px;transition:background .14s,color .14s,transform .12s}.odo-keypad-key:hover:not(:disabled){border-color:var(--dkc-line-c9d6f7,#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{background:var(--dkc-bg-ffffff,#fff);height:44px;color:var(--dkc-fg-3a3f4b,#3a3f4b);font:inherit;cursor:pointer;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{border-color:var(--dkc-line-ffffff,#fff)!important;background:var(--dkc-bg-ffffff,#fff)!important}.odo-probing-panel{z-index:5;background:var(--dkc-bg-ecebf3-a94,#ecebf3f0);-webkit-backdrop-filter:blur(14px);animation:odo-pop .32s var(--odo-ease);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{background:var(--dkc-bg-ffffff-a80,#fffc);color:var(--dkc-fg-c2410c,#c2410c)}.odo-close-button .material-symbols-outlined{font-size:20px}.odo-next-tooth{z-index:5;background:var(--dkc-bg-ffffff,#fff);width:104px;height:104px;color:var(--dkc-fg-6b7080,#6b7080);font:inherit;text-align:left;cursor:pointer;animation:odo-pop .36s var(--odo-ease) 80ms both;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{border:2px solid var(--dkc-line-ffffff,#fff);background:var(--odo-blue);color:#fff;width:24px;height:24px;animation:odo-pop .26s var(--odo-ease);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{background:var(--dkc-bg-ffffff,#fff);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;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{background:var(--dkc-bg-ffffff-a60,#fff9);color:var(--odo-text-soft);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{background:var(--dkc-bg-ffffff,#fff);min-height:56px;color:var(--odo-blue-text);font:inherit;cursor:pointer;box-shadow:var(--odo-shadow-tile);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{background:var(--dkc-bg-ffffff,#fff);box-shadow:var(--odo-shadow-card);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{background:var(--dkc-bg-ffffff,#fff);box-shadow:var(--odo-shadow-card);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{border-bottom:1px solid var(--dkc-line-f0f1f6,#f0f1f6);color:var(--odo-text);vertical-align:middle;padding:12px}.odo-table tr:last-child td{border-bottom:0}.odo-badge{background:var(--dkc-bg-eef0f7,#eef0f7);color:var(--odo-text-soft);white-space:nowrap;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]{background:var(--dkc-bg-e3f6ec,#e3f6ec);color:var(--dkc-fg-1c7a4a,#1c7a4a)}.odo-badge[data-tone=amber]{background:var(--dkc-bg-fff1d6,#fff1d6);color:var(--dkc-fg-9a5a00,#9a5a00)}.odo-badge[data-tone=red]{background:var(--dkc-bg-ffe4e8,#ffe4e8);color:var(--dkc-fg-b4233f,#b4233f)}.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]{background:var(--dkc-bg-ffffff,#fff);color:var(--odo-blue-text);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{border:1px solid var(--dkc-line-e0e3ec,#e0e3ec);background:var(--dkc-bg-ffffff,#fff);width:100%;min-height:38px;color:var(--odo-ink);font:inherit;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:var(--dkc-bg-f6f7fb,#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:var(--dkc-bg-eef0f6,#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{background:var(--dkc-bg-f6f7fb,#f6f7fb);color:var(--odo-text);font:inherit;cursor:pointer;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:var(--dkc-bg-ffffff,#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:var(--dkc-bg-f6f7fb,#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{background:var(--dkc-bg-ffffff,#fff);text-align:center;max-width:460px;box-shadow:var(--odo-shadow-card);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{background:var(--dkc-bg-fff8e6,#fff8e6);color:var(--dkc-fg-8a5a00,#8a5a00);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}}
