.dental-audience-sections { background:#fff; color:#142136; }
.dental-audience { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.08fr); align-items:center; gap:clamp(40px,6vw,100px); padding-block:90px; font-family:"Montserrat",sans-serif; }
.dental-audience--reverse { grid-template-columns:minmax(0,1.08fr) minmax(0,1fr); }
.dental-audience__copy .product-section-meta { margin-bottom:32px; text-transform:uppercase; }
.dental-audience h2 { margin:0 0 36px; font-size:clamp(32px,3.2vw,50px); line-height:1.12; letter-spacing:-.045em; }
.dental-audience p { margin:0; color:#394656; font-size:clamp(17px,1.35vw,20px); line-height:1.65; }.dental-audience strong { font-weight:700; color:#142136; }
.dental-detail-graphic { container-type:inline-size; position:relative; width:100%; aspect-ratio:1; margin:0; border-radius:24px; overflow:hidden; font-family:"Montserrat",sans-serif; color:#30343d; line-height:1.35; }.dental-detail-graphic > div { font-size:1.55cqw; }
.dental-scheduler-scene { background:#c5ebef; }.dental-mobile-scheduler { position:absolute; top:3.5%; left:27.25%; width:45.5%; min-height:97%; overflow:hidden; border-radius:3.5cqw 3.5cqw 0 0; background:#fff; }
.dental-mobile-scheduler > header { padding:6.5cqw 3.3cqw 3.3cqw; background:#172337; color:#fff; }.dental-mobile-scheduler > header > div { display:flex; align-items:center; gap:2cqw; font-size:1.9cqw; }.dental-scheduler-mark { display:grid; place-items:center; flex-shrink:0; width:6.5cqw; height:6.5cqw; border:3px double #ff876f; border-radius:50%; font-size:5cqw; line-height:1; }.dental-scheduler-select { display:flex; justify-content:space-between; margin-top:3cqw; padding:.7cqw 1.8cqw; border:1px solid white; border-radius:4cqw; font-size:1.45cqw; }.dental-scheduler-select i { font-style:normal; }
.dental-scheduler-intro { padding:2.5cqw 2cqw; text-align:center; }.dental-scheduler-intro > b { font-size:2.5cqw; letter-spacing:.3cqw; }.dental-scheduler-intro > span { display:block; margin-top:2cqw; font-size:1.6cqw; }.dental-scheduler-intro u { color:#189fc4; font-weight:700; }
.dental-scheduler-month { display:flex; align-items:center; justify-content:space-between; padding:1.5cqw 2cqw; background:#f8f8f8; border-block:1px solid #eee; font-size:1.55cqw; }.dental-scheduler-month > span { font-size:2.6cqw; }
.dental-scheduler-week, .dental-scheduler-days { display:grid; grid-template-columns:repeat(7,1fr); }.dental-scheduler-week { background:#fafafa; }.dental-scheduler-week > span { padding:1.5cqw 0; text-align:center; font-size:1.1cqw; }
.dental-scheduler-days > span { display:grid; place-items:center; height:6.5cqw; border-top:1px solid #ececec; border-right:1px solid #ececec; font-size:1.2cqw; font-weight:600; }.dental-scheduler-days > .is-muted { color:#c3c3c3; }.dental-scheduler-days > .is-selected { background:#30466f; color:#fff; }.dental-scheduler-days > .is-available { background:#fff4f0; outline:1px solid #ff927e; outline-offset:-1px; }.dental-scheduler-days b { display:grid; place-items:center; width:2.6cqw; height:2.6cqw; border-radius:50%; background:#30313a; color:#fff; }
.dental-scheduler-times { padding:2.2cqw 3.5cqw 0; border-top:1px solid #eee; text-align:center; }.dental-scheduler-times > b { font-size:2.4cqw; letter-spacing:.2cqw; }.dental-scheduler-times > div { display:flex; justify-content:space-between; gap:.8cqw; margin:2.2cqw 0 1.7cqw; }.dental-scheduler-times > div > span { padding:.15cqw .8cqw; border:1px solid #999; border-radius:2cqw; color:#777; font-size:1.5cqw; white-space:nowrap; }.dental-scheduler-times > strong { display:block; padding:1.7cqw 0; background:#30466f; color:#fff; font-size:2.2cqw; }
.dental-status-scene { background:#8e949f; }.dental-status-sidebar { position:absolute; inset:0 auto 0 0; width:28%; padding:2cqw; display:flex; flex-direction:column; gap:4cqw; border-right:1px solid #ddd; }.dental-status-profile { position:absolute; top:4%; left:33%; right:2%; display:grid; }.dental-status-profile > b { font-size:3.2cqw; font-weight:400; }.dental-status-profile small { font-size:1.3cqw; }.dental-status-profile > span { margin-top:1cqw; text-align:right; }.dental-status-shade { position:absolute; inset:0; background:#17233777; }
.dental-status-report { position:absolute; top:15%; left:16%; width:97%; height:85%; background:white; }.dental-status-report > header { display:flex; justify-content:space-between; padding:1.7cqw; background:#fafafa; font-size:1.7cqw; }.dental-status-report > header > span { color:#149ec3; font-weight:700; }.dental-status-columns { display:grid; grid-template-columns:1.35fr 1fr; gap:4cqw; padding:4cqw; }.dental-status-card { border:1px solid #eee; background:white; box-shadow:0 .2cqw 1.5cqw #0001; }.dental-status-card + .dental-status-card { margin-top:4cqw; }.dental-status-card > header { display:flex; justify-content:space-between; align-items:center; gap:1cqw; padding:2cqw; min-height:6cqw; border-bottom:1px solid #eee; background:#f8f8f8; font-size:1.8cqw; font-weight:700; }.dental-status-card header small { color:#999; font-size:1.5cqw; font-weight:400; white-space:nowrap; }.dental-status-card:first-child header small { color:#149ec3; }
.dental-status-chart { position:relative; display:grid; place-items:center; height:26.5cqw; }.dental-status-donut { position:relative; width:18.5cqw; aspect-ratio:1; border-radius:50%; background:conic-gradient(#2dd4b5 0 75%,#ff7c78 75% 100%); }.dental-status-donut::before { content:""; position:absolute; inset:25%; border-radius:50%; background:white; }.dental-status-donut b { position:absolute; inset:0; display:grid; place-items:center; font-size:1.8cqw; }.dental-status-attention { position:absolute; top:2cqw; right:2cqw; font-size:1.3cqw; text-align:center; line-height:1.05; }.dental-status-attention b { display:block; padding:.3cqw 1.2cqw; margin-bottom:.6cqw; border:1px solid #ff7575; border-radius:3cqw; font-size:1.6cqw; }
.dental-status-card dl { margin:0; }.dental-status-card dl > div { display:flex; align-items:center; justify-content:space-between; gap:1cqw; padding:2cqw; min-height:7.3cqw; border-bottom:1px solid #eee; font-size:1.75cqw; }.dental-status-card dd { min-width:7cqw; margin:0; border:1px solid #ff795f; border-radius:2cqw; background:#fff2ee; text-align:center; font-weight:700; }.dental-status-due > span { display:block; padding:2.8cqw 2cqw; border-bottom:1px solid #eee; }.dental-status-due > span:first-of-type { margin-top:5cqw; }
.dental-roster-scene { background:#30466f; }.dental-roster-app { position:absolute; top:6.7%; left:0; width:93.5%; min-height:95%; border-radius:2cqw 2cqw 0 0; overflow:hidden; background:#fafafa; }.dental-roster-toolbar { display:flex; align-items:center; justify-content:space-between; height:5.5cqw; padding:1cqw 1.6cqw; background:#fff; border-bottom:1px solid #ddd; }.dental-roster-toolbar > span { width:40%; border:1px solid #ddd; border-radius:3cqw; padding:.4cqw 1.3cqw; color:#a1a1a1; font-size:1.2cqw; }.dental-roster-toolbar > b { font-size:1.8cqw; color:#888; }.dental-roster-toolbar i { display:inline-grid; place-items:center; width:3cqw; height:3cqw; background:#a9775e; border-radius:50%; color:white; font-size:1cqw; font-style:normal; }
.dental-roster-nav { display:flex; align-items:end; gap:3cqw; height:11cqw; padding:2cqw; border-bottom:1px solid #ddd; color:#888; font-size:1.3cqw; }.dental-roster-nav strong { padding-bottom:1.3cqw; margin-bottom:-2cqw; border-bottom:1px solid #ff795f; color:#30343d; font-size:1.3cqw; }.dental-roster-nav > b { align-self:center; margin-left:auto; padding:1.8cqw 3cqw; border-radius:.4cqw; background:#30466f; color:white; font-size:1.5cqw; }.dental-roster-nav > i { align-self:center; display:grid; place-items:center; width:4.5cqw; height:4.5cqw; background:white; box-shadow:0 .5cqw 1.3cqw #0001; border-radius:50%; color:#ff795f; font-size:3cqw; font-style:normal; }
.dental-roster-table-wrap { margin:3.5cqw 3.5cqw 0 0; border:1px solid #eee; padding-top:5cqw; background:#fafafa; }.dental-roster-table-wrap table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:1.4cqw; }.dental-roster-table-wrap th { width:35%; padding:1.6cqw 1.8cqw; border:1px solid #eee; color:#555; text-align:left; font-size:1.25cqw; font-weight:500; letter-spacing:.05cqw; }.dental-roster-table-wrap th:last-child { width:30%; }.dental-roster-table-wrap th span { float:right; color:#bbb; }.dental-roster-table-wrap td { padding:.7cqw 1.8cqw; font-weight:600; }.dental-roster-table-wrap tr:nth-child(odd) td { background:white; }.dental-roster-table-wrap tr:nth-child(even) td { background:#f5f5f5; }
@media (max-width:850px) { .dental-audience, .dental-audience--reverse { grid-template-columns:1fr; gap:40px; padding-block:64px; }.dental-audience--reverse .dental-audience__copy { grid-row:1; }.dental-detail-graphic { max-width:650px; justify-self:center; }.dental-audience h2 { margin-bottom:28px; } }

.dental-scheduler-mark { border: 0; }
.dental-scheduler-mark svg { display: block; width: 100%; height: 100%; }

/* Match the reference roster's compact toolbar, selection gutter, and single-line rows. */
.dental-roster-app { top:6.7%; width:93.4%; border-top-left-radius:0; background:#fafafa; }
.dental-roster-toolbar { height:5.4cqw; padding:.8cqw 1.5cqw; }
.dental-roster-toolbar > span { width:40%; font-size:1.1cqw; }
.dental-roster-tools { display:flex; align-items:center; gap:1.8cqw; }
.dental-roster-tools svg { width:1.9cqw; height:1.9cqw; fill:none; stroke:#93989a; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.dental-roster-tools .notification-dot { fill:#ff795f; stroke:white; stroke-width:1; }
.dental-roster-toolbar .dental-roster-tools i { background:#a9775e; width:3.1cqw; height:3.1cqw; }
.dental-roster-nav { height:10.8cqw; padding:2cqw; gap:3.1cqw; background:#f8f8f8; }
.dental-roster-nav > b { display:flex; align-items:center; gap:.6cqw; padding:1.8cqw 3cqw; font-size:1.4cqw; }
.dental-roster-import svg { width:1.8cqw; height:1.8cqw; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.dental-roster-table-wrap { position:relative; margin:3.5cqw 3.5cqw 0 0; padding-top:5.4cqw; box-shadow:0 0 1.3cqw #00000008; }
.dental-roster-table-wrap::after { content:""; position:absolute; right:.8cqw; top:11.2cqw; width:.65cqw; height:11cqw; background:#d9d9d9; border-radius:1cqw; }
.dental-roster-table-wrap th { width:33.8%; height:5cqw; padding:1cqw 1.8cqw; font-size:1.28cqw; white-space:nowrap; }
.dental-roster-table-wrap th:nth-child(3) { width:33.2%; }
.dental-roster-table-wrap th:last-child { width:27.2%; }
.dental-roster-table-wrap .dental-roster-select { width:5.8%; padding:0; text-align:center; color:#bbb; }
.dental-roster-table-wrap td { height:3.6cqw; padding:.55cqw 1.8cqw; font-size:1.4cqw; line-height:1.25; white-space:nowrap; }

.dental-roster-classification { display:inline-flex; align-items:center; justify-content:center; min-width:9cqw; padding:.35cqw 1.5cqw; border:1px solid #ff5264; border-radius:999px; background:#fff0f1; color:#30343d; font-size:1.25cqw; line-height:1.25; font-weight:600; }
.dental-roster-classification--drc1 { border-color:#00c792; background:#e5faf3; }
.dental-roster-classification--drc2 { border-color:#efa900; background:#fff9e8; }

.dental-roster-nav > strong { position:relative; padding-bottom:0; margin-bottom:0; border-bottom:0; line-height:inherit; }
.dental-roster-nav > strong::after { content:""; position:absolute; height:1px; background:#ff795f; left:-1.8cqw; right:-1.8cqw; bottom:-2cqw; }
