:root{--cmc-navy:#103868;--cmc-mid:#3868a0;--cmc-sky:#70a0d0;--cmc-gray:#888888;--cmc-white:#ffffff;--cmc-ink:#1a2233;--cmc-surface:#f7f9fc;--cmc-border:#e1e7ef;--cmc-success:#1f8f4a;--cmc-warn:#b7791f;--cmc-error:#b91c1c;--radius:10px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{color:var(--cmc-ink);background:var(--cmc-white);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.5}a{color:var(--cmc-mid);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{color:var(--cmc-navy);margin:0 0 .5em}.container{max-width:1080px;margin:0 auto;padding:24px}.app-header{flex-wrap:wrap;justify-content:space-between;gap:8px 16px;padding:12px 24px;border-bottom:1px solid var(--cmc-border);background:var(--cmc-white)}.app-header,.app-header-left{display:flex;align-items:center}.app-header-left{gap:16px}.app-header-phone{display:inline-flex;align-items:center;gap:6px;padding-left:16px;border-left:1px solid var(--cmc-border);font-size:14px;color:var(--cmc-navy);white-space:nowrap}.app-header-phone strong{font-weight:700}.app-header-phone:focus-visible{outline:2px solid var(--cmc-sky);outline-offset:2px}.app-header .brand{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--cmc-navy)}.app-header-actions{display:flex;align-items:center;gap:16px;margin-left:auto}.app-header .brand img{height:36px;width:auto}.btn{display:inline-flex;align-items:center;gap:8px;border:1px solid transparent;border-radius:var(--radius);padding:10px 18px;font-size:15px;font-weight:600;cursor:pointer;text-decoration:none}.btn-primary{background:var(--cmc-navy);color:var(--cmc-white)}.btn-primary:hover{background:var(--cmc-mid);text-decoration:none}.btn-secondary{background:var(--cmc-white);color:var(--cmc-navy);border-color:var(--cmc-border)}.btn-secondary:hover{background:var(--cmc-surface);text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--cmc-sky);outline-offset:2px}.card{border:1px solid var(--cmc-border);border-radius:var(--radius);background:var(--cmc-white);padding:20px}.surface{background:var(--cmc-surface)}.muted{color:var(--cmc-gray)}.chip{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600}.chip-draft{background:#eef1f6;color:var(--cmc-gray)}.chip-submitted{background:#e7f0fb;color:var(--cmc-mid)}.chip-production{background:#fff4e2;color:var(--cmc-warn)}.chip-completed{background:#e6f4ec;color:var(--cmc-success)}.chip-rejected{background:#fdeaea;color:var(--cmc-error)}.chip-hold{background:#ffe9d6;color:#b45309}.table{width:100%;border-collapse:collapse}.table td,.table th{text-align:left;padding:12px 10px;border-bottom:1px solid var(--cmc-border)}.table th{color:var(--cmc-gray);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.table tr:hover td{background:var(--cmc-surface)}.segmented{display:inline-flex;border:1px solid var(--cmc-border);border-radius:999px;overflow:hidden}.segmented button{border:none;background:var(--cmc-white);padding:7px 16px;font-size:13px;font-weight:600;color:var(--cmc-gray);cursor:pointer}.segmented button[aria-pressed=true]{background:var(--cmc-navy);color:var(--cmc-white)}.th-sort{display:inline-flex;align-items:center;gap:5px;border:none;background:none;padding:0;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.th-sort-on,.th-sort:hover{color:var(--cmc-navy)}.th-sort .caret{font-size:9px;opacity:.45}.th-sort-on .caret{opacity:1}.th-sort:focus-visible{outline:2px solid var(--cmc-sky);outline-offset:2px;border-radius:4px}.rowbtn{border:1px solid var(--cmc-border);background:var(--cmc-white);border-radius:8px;padding:4px 12px;font-size:12px;font-weight:600;color:var(--cmc-navy);cursor:pointer}.rowbtn:hover{background:var(--cmc-surface)}.rowbtn:disabled{opacity:.5;cursor:not-allowed}.rowbtn:focus-visible{outline:2px solid var(--cmc-sky);outline-offset:2px}.row-archived td,.rowgroup td{color:var(--cmc-gray);background:var(--cmc-surface)}.rowgroup td{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:8px 10px}.archive-toggle{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--cmc-gray);cursor:pointer;white-space:nowrap}.archive-toggle input{accent-color:var(--cmc-navy);cursor:pointer}.stepper{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.stepper .step{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;border:1px dashed var(--cmc-border);background:transparent;color:var(--cmc-gray);font-size:13px;font-weight:600}.stepper .step.done{border:1px solid transparent;background:#e6f4ec;color:var(--cmc-success)}.stepper .step.done:before{content:"✓";font-weight:700}.stepper .step.active{background:var(--cmc-navy)}.stepper .step.active,.stepper .step.hold{border:1px solid transparent;color:var(--cmc-white)}.stepper .step.hold{background:#b45309}.stepper .step.canceled{border:1px solid transparent;background:var(--cmc-error);color:var(--cmc-white)}.tl-event-note{margin-top:6px;padding:8px 10px;border-left:3px solid var(--cmc-border);background:var(--cmc-surface);border-radius:0 8px 8px 0;font-size:13px}.case-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-gap:20px;gap:20px;align-items:start;margin-top:20px}.case-main{min-width:0}.case-main,.case-side{display:flex;flex-direction:column;gap:16px}.case-side{position:-webkit-sticky;position:sticky;top:20px}@media (max-width:860px){.case-layout{grid-template-columns:1fr}.case-side{position:static;order:-1}}.kv{margin:0;flex-direction:column}.kv,.kv>div{display:flex}.kv>div{justify-content:space-between;align-items:baseline;gap:16px;padding:9px 0;border-bottom:1px solid var(--cmc-border)}.kv>div:last-child{border-bottom:0;padding-bottom:0}.kv dt{color:var(--cmc-gray);font-size:12px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.kv dd{margin:0;text-align:right;font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.card-title{font-size:13px;letter-spacing:.05em;margin:0 0 12px}.card-title,.summary-subhead{text-transform:uppercase;color:var(--cmc-gray)}.summary-subhead{font-size:12px;font-weight:700;letter-spacing:.04em;margin:0 0 8px}.tooth-summary{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.tooth-summary li{display:flex;gap:12px;padding:7px 0;align-items:baseline;border-bottom:1px solid var(--cmc-border)}.tooth-summary li:last-child{border-bottom:0}.tooth-tag{font-weight:700;color:var(--cmc-navy);font-size:14px;min-width:34px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tooth-lines{display:flex;flex-direction:column;gap:3px;font-size:14px}.cmc-scrim{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(16,56,104,.4);animation:cmcScrimIn .12s ease-out}.cmc-modal{width:100%;max-width:560px;max-height:88vh;display:flex;flex-direction:column;background:var(--cmc-white);border-radius:14px;box-shadow:0 24px 60px rgba(16,56,104,.24);overflow:hidden;animation:cmcModalIn .18s cubic-bezier(.16,1,.3,1)}@keyframes cmcScrimIn{0%{opacity:0}to{opacity:1}}@keyframes cmcModalIn{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.cmc-modal,.cmc-scrim{animation:none}}@media (max-width:560px){.cmc-scrim{padding:0;align-items:flex-end}.cmc-modal{max-width:none;max-height:92vh;border-radius:16px 16px 0 0}}.login-page{max-width:1000px;margin-top:32px}.login-banner{background:var(--cmc-navy);color:var(--cmc-white);border-radius:var(--radius);padding:32px 36px;margin-bottom:24px;font-size:20px}.login-banner p{margin:0}.login-banner .login-banner-title{font-size:30px;font-weight:700;line-height:1.25;margin-bottom:10px;text-wrap:balance}.login-banner .login-banner-why{margin-top:12px;font-size:15px;color:rgba(255,255,255,.85);max-width:78ch}.login-banner .login-banner-new{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.25)}.login-banner a{color:var(--cmc-white);font-weight:700;text-decoration:underline;text-underline-offset:3px}.login-banner a[href^="tel:"]{white-space:nowrap}.login-banner a:hover{color:#dbe8f6}.login-banner a:focus-visible{outline:2px solid var(--cmc-sky);outline-offset:2px;border-radius:2px}.login-body{display:grid;grid-gap:24px;gap:24px;align-items:start}.login-page:not(.login-page--wide) .login-body{max-width:460px;margin:0 auto}.login-howto h2{font-size:20px}.login-howto iframe{display:block;width:100%;aspect-ratio:16/9;border:0;background:#000;border-radius:8px}@media (min-width:860px){.login-page--wide .login-body{grid-template-columns:380px minmax(0,1fr)}}@media (max-width:560px){.login-page{margin-top:8px}.login-banner{padding:20px;font-size:17px}.login-banner .login-banner-title{font-size:22px}}.howto-link{display:inline-flex;align-items:center;gap:6px;border:none;background:none;padding:6px 2px;font:inherit;font-size:14px;font-weight:600;color:var(--cmc-navy);cursor:pointer}.howto-link:hover{color:var(--cmc-mid)}.howto-close:focus-visible,.howto-hide:focus-visible,.howto-link:focus-visible,.howto-thumb:focus-visible{outline:2px solid var(--cmc-sky);outline-offset:2px}.howto-card{display:flex;align-items:center;gap:20px;margin-top:20px;padding:14px 18px 14px 14px;border:1px solid #d6e3f1;border-radius:var(--radius);background:#f3f7fc}.howto-thumb{position:relative;flex-shrink:0;width:176px;aspect-ratio:16/9;padding:0;border:none;border-radius:8px;overflow:hidden;background:#000;cursor:pointer}.howto-thumb img{display:block;width:100%;height:100%;object-fit:cover}.howto-play{position:absolute;inset:0;margin:auto;width:40px;height:40px;border-radius:50%;background:rgba(16,56,104,.88);display:flex;align-items:center;justify-content:center}.howto-card-text{flex:1 1;min-width:0}.howto-card-title{margin:0 0 2px;font-size:16px;font-weight:700;color:var(--cmc-navy)}.howto-card-sub{margin:0;font-size:14px;color:#5c6b7d}.howto-card-actions{display:flex;align-items:center;gap:14px;flex-shrink:0}.howto-hide{border:none;background:none;padding:6px 4px;font:inherit;font-size:14px;color:#5c6b7d;text-decoration:underline;cursor:pointer}.cmc-modal.cmc-modal--video{max-width:880px}.howto-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 20px 12px 24px}.howto-modal-title{margin:0;font-size:18px;color:var(--cmc-navy)}.howto-modal-sub{margin:0;font-size:13px;color:#5c6b7d}.howto-close{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:#f3f7fc;color:var(--cmc-navy);cursor:pointer}.howto-modal-body{padding:0 24px}.howto-frame{position:relative;width:100%;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:#000}.howto-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.howto-modal-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 24px 18px}.howto-modal-foot a{font-size:14px;font-weight:600}@media (max-width:700px){.howto-card{flex-wrap:wrap;padding:14px}.howto-card-actions,.howto-thumb{width:100%}}@media (max-width:560px){.app-header-actions{flex-wrap:wrap;gap:8px 12px}.app-header-left{flex-direction:column;align-items:flex-start;gap:2px}.app-header-phone{padding-left:0;border-left:none}.app-header-actions .btn{padding:8px 12px}.app-header-practice{display:none}.howto-modal-head{padding:14px 16px 10px}.howto-modal-body{padding:0 16px}.howto-modal-foot{padding:12px 16px 16px}}