/* ClearlyDent · dental workspace. All assets are local. */
:root{--ink:#183c46;--navy:#0b2c39;--navy-2:#123e49;--accent:#087e82;--accent-strong:#086d71;--gold:#b19055;--bg:#f5f3ee;--surface:#fff;--surface-2:#f8f8f3;--line:#dfe7e1;--border:var(--line);--muted:#637d81;--radius:15px;--sidebar:260px;--shadow:0 3px 18px #123c4204;--shadow-lg:0 22px 70px #0b2c391a}
.dental-app{background:radial-gradient(ellipse at 93% 0,#d9eee75c,transparent 38%),#f5f3ee;font-size:14px;line-height:1.55}
.dental-app .sidebar{background:linear-gradient(166deg,#0d303d,#082632);padding:25px 15px 16px;border-inline-end:1px solid #32545c}
.dental-app .sidebar-head{padding:0 8px 25px}
.dental-app .brand{gap:11px}.dental-app .brand-mark{background:#082e3a;width:42px;height:42px;flex-basis:42px;border-radius:11px;overflow:hidden;border:1px solid #2a5863}.dental-app .brand strong{font-size:19px;letter-spacing:-.5px;font-weight:650}.dental-app .brand small{font-size:11px;max-width:165px;line-height:1.5;color:#9fbabd}
.dental-app .practice-chip{border-color:#31515d;background:#193b462e;padding:10px 11px;border-radius:10px;font-size:12px}.dental-app .practice-chip-mark{color:#8ed7cb}
.dental-app .nav-link{padding:10px 12px;font-size:12.5px;color:#c6d8d9;border-radius:8px;min-height:39px}.dental-app .nav-link.active{background:linear-gradient(90deg,#2e645f6b,#2e645f27);box-shadow:inset 2px 0 #89d4b8;color:#ebfff6}.dental-app .nav-link.active .icon{color:#9cdbc5}.dental-app .nav-link:hover{background:#234a536b}.dental-app .nav-group>summary{padding:12px 9px;color:#96b9be;font-size:12px;letter-spacing:.01em}.dental-app .nav-group[open]>summary{color:#c4ddda}.dental-app .nav-group-links .nav-link{padding-inline-start:15px;font-size:12px}.dental-app .nav-group-links .nav-link>.icon{width:17px;height:17px;color:#99bcbf}.dental-app .nav-group-links .nav-link.active>.icon{color:#a0e2d5}.dental-app .nav-pinned{padding-bottom:14px;border-color:#2c4e58}.dental-app .sidebar-foot{border-color:#2c4e58}.dental-app .user-chip .avatar{background:#dcece4;color:#28594d;border-radius:10px}
.dental-app .topbar{background:#fdfefbe8;backdrop-filter:blur(14px);border-color:#dce6df;min-height:82px;padding:16px 32px}.dental-app .page-kicker{font-size:11px;letter-spacing:.04em;color:#698280}.dental-app .topbar h1{font-size:22px;letter-spacing:-.6px;font-weight:600;color:#1e424c}.dental-app .topbar-call{background:#edf5ed;color:#3a6a54;border-color:#d8e6d4;font-size:12px}.dental-app .lang-switch{background:#fffdfa}.dental-app .workspace{max-width:1720px;padding:29px 32px 64px}.dental-app .panel{border-color:#dfe6df;background:#fffffdf5;box-shadow:0 2px 16px #253d3303;border-radius:15px;padding:24px}.dental-app .panel h2{font-size:19px;font-weight:600;color:#22434b}.dental-app .btn{border-radius:9px;font-size:12px;letter-spacing:0;min-height:40px;font-weight:600}.dental-app .btn.primary{background:#087b7b;border-color:#087b7b}.dental-app .btn.soft{background:#eaf4ed;color:#416c5a;border-color:#d6e6d9}.dental-app .btn.primary:hover{background:#07666b}.dental-app .eyebrow{font-size:12px;color:#5e7f70;letter-spacing:.075em}.dental-app .section-heading{margin-bottom:18px}.dental-app .section-heading p{font-size:12px;line-height:1.7}.dental-app .text-link{color:#527d66;font-size:12px}.dental-app .snapshot-heading{margin-top:3px;margin-bottom:12px}.dental-app .snapshot-heading p{font-size:11px}.dental-app .table-wrap{scrollbar-color:#acc4b6 transparent}.dental-app .badge{font-size:11px;border-radius:5px}.dental-app .empty-state{padding:28px 14px;font-size:12px}.dental-app .empty-state .icon{color:#82a59a}
.dent-hero{display:grid;grid-template-columns:minmax(0,1fr) 225px;gap:28px;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 88% 70%,#3d776e40,transparent 45%),linear-gradient(105deg,#113541,#153f48);border:1px solid #204e55;border-radius:18px;color:#fff;padding:35px 39px;margin-bottom:26px;min-height:247px}.dent-hero:before{content:"";position:absolute;width:570px;height:570px;border:1px solid #a7d5b713;border-radius:48% 52% 59% 41%;inset-inline-end:-80px;top:-200px;transform:rotate(-24deg);z-index:-1}.dent-hero:after{content:"";position:absolute;width:430px;height:430px;border:1px solid #a7d5b715;border-radius:52% 48% 43% 57%;inset-inline-end:12px;top:-126px;z-index:-1}.dent-hero-copy{align-self:center}.dent-hero-copy .eyebrow{color:#acd3c2;font-size:12px;letter-spacing:0;text-transform:none;margin-bottom:13px}.dent-hero-copy h2{font-size:clamp(29px,2.7vw,40px);font-weight:500;letter-spacing:-1.25px;line-height:1.14;max-width:590px;margin:0 0 15px;color:#f2f8ef}.dent-hero-copy>p:not(.eyebrow){font-size:12px;line-height:1.8;color:#b7d0ce;max-width:570px;margin:0}.dent-hero .hero-actions{margin-top:23px;gap:10px}.dent-hero .btn{font-size:12px;min-height:37px;padding:9px 14px}.dent-hero-primary{background:#dcebd7;color:#315c4a;border-color:#dcebd7}.dent-hero-primary:hover{background:#e8f6e3}.dent-hero-secondary{color:#e0eeea;background:#effff903;border-color:#52736e}.dent-hero-secondary:hover{background:#ffffff0c}.dent-hero-date{display:flex;flex-direction:column;justify-content:center;align-items:center;padding-inline-start:24px;border-inline-start:1px solid #4d6c6659;gap:6px;text-align:center;color:#b5cfc8}.dent-date-icon{display:grid;place-items:center;margin-bottom:9px;width:55px;height:55px;border:1px solid #688c795e;border-radius:17px;color:#b3d8ba;background:#b4dbb809}.dent-hero-date>span{font-size:11px;letter-spacing:.04em}.dent-hero-date>strong{font-size:27px;font-weight:500;letter-spacing:-.7px;color:#ebf4e5;line-height:1.2;font-variant-numeric:tabular-nums}.dent-hero-date>small{font-size:11px;line-height:1.8}.dent-hero-practice{display:block!important;margin-top:8px;border-top:1px solid #4d6c6659;padding-top:10px;width:100%;overflow-wrap:anywhere}
.dent-stats{gap:15px}.dent-stats article{border-color:#e0e7df;background:#fffefa;padding:21px 21px 18px}.dent-stats .metric-label>span{font-size:12px;font-weight:500;color:#4d696f}.dent-stats .metric-icon{background:#edf4ed;color:#6b9783;width:31px;height:31px;border-radius:9px}.dent-stats .metric-icon.amber{background:#f7efdd;color:#b49455}.dent-stats .metric-icon.teal{background:#e6f4ef;color:#398c82}.dent-stats .metric-value{font-size:33px;letter-spacing:-1.25px;font-weight:500;color:#234a51;margin:10px 0 5px}.dent-stats small{font-size:11px;color:#7b8b87}
.dent-chair-panel{padding:22px 24px!important}.dent-chair-panel .section-heading h2{font-size:17px}.dent-chair-panel .section-heading .eyebrow{font-size:11px}.dent-chair-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:13px}.dent-chair-card{display:flex;gap:14px;align-items:center;border:1px solid #e1e8df;background:#fbfcf8;padding:16px 17px;border-radius:11px}.dent-chair-card.busy{background:#edf6ef;border-color:#c9dfd1}.dent-chair-card.waiting{background:#fcf9f0;border-color:#eaddbb}.dent-chair-symbol{display:grid;place-items:center;width:45px;height:45px;border-radius:12px;background:#ecf1e8;color:#7e9c7b;flex-shrink:0}.dent-chair-card.busy .dent-chair-symbol{background:#d9eee1;color:#438c6f}.dent-chair-card.waiting .dent-chair-symbol{background:#f6ebd3;color:#a38a59}.dent-chair-card strong{display:block;font-size:12px;color:#3d615b;font-weight:600}.dent-chair-card small{display:block;margin-top:4px;font-size:11px;color:#7b8f84}.dent-chair-status{display:flex;align-items:center;gap:6px;margin-top:11px;color:#5c7f68;font-size:11px}.dent-chair-status i{width:5px;height:5px;background:#90b49c;border-radius:50%}.busy .dent-chair-status i{background:#388d73}.waiting .dent-chair-status{color:#a1854f}.waiting .dent-chair-status i{background:#c7a35e}
.dent-columns{grid-template-columns:minmax(0,1fr) 294px;gap:22px}.dent-agenda{min-width:650px}.dent-agenda th{background:#f7f8f2;color:#859288;font-size:11px;padding:12px 9px;letter-spacing:.06em}.dent-agenda td{padding:17px 9px;color:#587275;font-size:12px}.dent-agenda .patient-name{color:#284f54;font-weight:600}.dent-agenda .cell-note{font-size:11px;color:#84958b}.dent-agenda .time-cell{font-weight:600;color:#376268}.dent-path-panel .section-heading h2{font-size:18px}.dent-module-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.dent-module-link{display:grid;grid-template-columns:40px minmax(0,1fr) 13px;align-items:center;gap:12px;border:1px solid #e1e9e0;border-radius:11px;padding:16px;background:#fcfdf8;transition:background .15s,border-color .15s}.dent-module-link:hover{background:#f2f8ef;border-color:#b9d3bf}.dent-module-icon{display:grid;place-items:center;width:40px;height:40px;background:#edf4e9;border-radius:11px;color:#719a7d}.dent-module-link h3{font-size:12px!important;font-weight:600!important;margin:0 0 5px;color:#345b56}.dent-module-link p{font-size:11px;line-height:1.7;margin:0;color:#809288}.dent-module-link>.icon{color:#8dab96}.dent-coordination-card{background:linear-gradient(145deg,#e6f0e2,#eef4e6);border:1px solid #d3e2cd;border-radius:15px;padding:25px 23px;margin-bottom:20px}.dent-coordination-card .coordination-icon{background:#d6e7cc;border-color:#c9dcbf;color:#6a9566;width:43px;height:43px;margin-bottom:18px}.dent-coordination-card .eyebrow{font-size:11px;color:#779276}.dent-coordination-card h2{font-size:24px;font-weight:500;line-height:1.3;letter-spacing:-.7px;color:#426b4d;margin:9px 0 12px}.dent-coordination-card>p:not(.eyebrow){font-size:12px;line-height:1.85;color:#6b8868;margin:0}.dent-coordination-card .role-tags{margin:19px 0}.dent-coordination-card .role-tags span{font-size:11px;border-color:#c6d8bb;background:#f7fcf133;color:#6a8662}.dent-coordination-card .btn{background:#f8fcf2;border-color:#d3e1c9;color:#6a8863;font-size:12px;width:100%}.dent-resource-summary>.eyebrow{display:block;font-size:11px;margin-bottom:6px}.dent-resource-line{display:flex;flex-direction:column;gap:8px;padding:16px 0;border-bottom:1px solid #e3eadf}.dent-resource-line:last-child{border-bottom:0;padding-bottom:0}.dent-resource-line>span{display:flex;align-items:center;gap:8px;font-size:12px;color:#718475}.dent-resource-line strong{font-size:21px;font-weight:500;color:#48664f;letter-spacing:-.4px}.dental-footer-edition{margin-inline-start:auto;color:#93a196;font-size:12px}.dental-app .app-footer{background:#fbfcf7;border-color:#dfe7db;color:#899788}.dental-app .app-footer a,.dental-app .app-footer strong{color:#64816c}.dental-app .module-card{background:#fffef9;border-color:#e0e8dc}.dental-app .module-card-icon{background:#edf5e8;color:#6e9b77}.dental-app .filter-chip.active{background:#3e775f;border-color:#3e775f}
.dental-auth{background:radial-gradient(ellipse at 80% 18%,#d2ebe276,transparent 45%),#f5f3ed}.dental-auth .login-shell{border:1px solid #e1e6da;box-shadow:0 25px 100px #254e3d10;background:#fffefb;max-width:1120px}.dental-auth .login-hero{background:radial-gradient(ellipse at 85% 76%,#376d6355,transparent 60%),#103641;border-radius:0;color:#fff;padding:50px}.dental-auth .login-hero h1{font-size:40px;font-weight:500;line-height:1.17;letter-spacing:-1.2px;color:#edf5e8;max-width:460px}.dental-auth .login-hero>p{font-size:13px;line-height:1.9;color:#b7d1c8}.dental-auth .login-hero>.eyebrow{color:#a3c8b5;font-size:11px;line-height:1.7}.dental-auth-symbol{width:76px;height:76px;border-radius:19px;border:1px solid #52746c85;object-fit:contain;margin-bottom:35px}.dental-auth .role-cards{grid-template-columns:1fr;gap:10px;margin-top:35px}.dental-auth .role-card{display:flex;flex-direction:row;align-items:center;gap:13px;background:#365a4d21;border:1px solid #456b5e55;padding:14px;border-radius:10px;text-align:start;min-height:0}.dental-auth .role-card strong{font-size:12px;color:#c4d9c9;font-weight:500}.dental-auth .role-card>.icon{color:#a9cdae;margin:0}.dental-auth .login{background:#fffefb;padding:45px 45px 35px;box-shadow:none}.dental-auth-wordmark{display:block;width:220px;height:auto;max-width:80%;margin:16px 0 26px}.dental-auth .login>.eyebrow{font-size:11px;color:#7e927f}.dental-auth .login h2{font-size:25px;font-weight:550;letter-spacing:-.6px;color:#365846;margin:8px 0 27px}.dental-auth .login label{font-size:12px;color:#5d785e}.dental-auth .login input{background:#fdfef9;border-color:#dce5d6;border-radius:9px}.dental-auth .login button.primary{background:#3e785e;border-color:#3e785e}.dental-auth .auth-language .btn{min-height:30px;font-size:12px;background:#f5f8ef;color:#6a8867}.dental-auth .auth-language [aria-current]{background:#e8f1df;border-color:#cbdabc}.dental-auth .auth-footer{font-size:12px;color:#7c927b}.dental-auth .auth-footer a{color:#527d5d}
[dir=rtl] .dental-app{font-family:Tahoma,"Segoe UI",Arial,sans-serif;line-height:1.8}[dir=rtl] .dental-app .nav-link.active{box-shadow:inset -2px 0 #89d4b8}[dir=rtl] .dental-app .topbar h1,[dir=rtl] .dent-hero h2,[dir=rtl] .dent-coordination-card h2,[dir=rtl] .dental-auth h1,[dir=rtl] .dental-auth h2{letter-spacing:0;line-height:1.5}[dir=rtl] .dent-hero h2{font-size:32px}[dir=rtl] .dental-app .eyebrow,[dir=rtl] .dent-agenda th{letter-spacing:0}[dir=rtl] .dent-hero-copy>p{font-size:12px;line-height:2}[dir=rtl] .dent-coordination-card h2{font-size:23px}[dir=rtl] .dental-app .icon-chevron{transform:scaleX(-1)}[dir=rtl] .dental-auth .login-hero h1{font-size:34px;line-height:1.6}
@media(min-width:1650px){.dent-columns{grid-template-columns:minmax(0,1fr) 330px}.dent-module-link h3{font-size:12px!important}.dent-module-link p{font-size:12px}.dent-agenda td{font-size:12px}.dent-stats .metric-value{font-size:36px}}
@media(max-width:1250px){.dent-hero{padding:30px;grid-template-columns:minmax(0,1fr) 180px}.dent-hero-copy h2{font-size:32px}.dent-columns{grid-template-columns:minmax(0,1fr) 265px;gap:17px}.dent-module-grid{grid-template-columns:1fr}.dental-app .workspace{padding:25px 25px 60px}.dental-app .topbar{padding-inline:25px}.dent-chair-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dent-chair-card{padding:14px 12px;gap:9px}.dent-chair-symbol{width:35px;height:35px}.dent-chair-symbol .icon{width:24px;height:24px}}
@media(max-width:1100px){.dental-app .sidebar{width:var(--sidebar)}.dent-columns{grid-template-columns:minmax(0,1fr) 290px}.dent-module-grid{grid-template-columns:1fr 1fr}.dental-app .workspace{padding:25px 27px 60px}}
@media(max-width:900px){.dent-columns{grid-template-columns:1fr}.dent-columns>.workspace-secondary{display:grid;grid-template-columns:1fr 1fr;gap:18px}.dent-columns>.workspace-secondary>.panel,.dent-columns>.workspace-secondary>.dent-coordination-card{margin-bottom:0}.dent-columns>.workspace-secondary>.workspace-permission-note{grid-column:1/-1}.dent-chair-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.dental-auth .login-hero{padding:35px}.dental-auth .login{padding:35px}.dental-auth .login-hero h1{font-size:34px}.dental-auth .role-cards{margin-top:25px}.dental-auth-symbol{margin-bottom:22px}}
@media(max-width:650px){.dental-app .workspace{padding:20px 16px 58px}.dental-app .topbar{padding:14px 16px;min-height:75px}.dental-app .topbar h1{font-size:19px}.dental-app .topbar-call>span{display:none}.dental-app .topbar-call{padding:8px;min-width:34px}.dental-app .topbar-actions{gap:6px}.dental-app .topbar-search{display:none}.dent-hero{grid-template-columns:1fr;padding:26px;min-height:0;gap:24px;border-radius:14px}.dent-hero-copy h2{font-size:31px;max-width:380px}.dent-hero-copy>p:not(.eyebrow){font-size:12px}.dent-hero-date{flex-direction:row;justify-content:flex-start;gap:10px;border-inline-start:0;border-top:1px solid #4d6c6659;padding:17px 0 0;flex-wrap:wrap}.dent-date-icon{width:34px;height:34px;border-radius:10px;margin:0}.dent-date-icon .icon{width:23px;height:23px}.dent-hero-date>strong{font-size:21px}.dent-hero-date>span:not(.dent-hero-practice){display:none}.dent-hero-practice{display:none!important}.dent-stats{grid-template-columns:1fr 1fr;gap:10px}.dent-stats article{padding:16px}.dent-stats .metric-label>span{font-size:12px}.dent-stats .metric-value{font-size:30px}.dent-stats small{font-size:11px}.dent-stats .metric-icon{width:27px;flex-basis:27px;height:27px}.dental-app .panel{padding:20px}.dent-chair-panel{padding:20px!important}.dent-chair-grid{grid-template-columns:1fr}.dent-chair-card{padding:14px 17px}.dent-chair-symbol{width:42px;height:42px}.dent-chair-card>div{flex:1;position:relative}.dent-chair-status{position:absolute;inset-inline-end:0;top:0;margin-top:2px;font-size:11px;max-width:115px}.dent-chair-card strong{padding-inline-end:105px}.dent-module-grid{grid-template-columns:1fr}.dent-columns>.workspace-secondary{grid-template-columns:1fr}.dental-app .section-heading{gap:12px}.dental-app .section-heading h2{font-size:17px}.dental-app .section-heading .text-link{font-size:11px}.dental-footer-edition{display:none}.dental-auth .login-shell{border:0;margin:0;border-radius:0}.dental-auth .login-hero{padding:30px 27px}.dental-auth .login-hero h1{font-size:32px;max-width:350px}.dental-auth .role-cards{display:none}.dental-auth .login{padding:30px 27px}.dental-auth-symbol{width:58px;height:58px;margin-bottom:18px}.dental-auth-wordmark{width:180px;margin-top:6px;margin-bottom:24px}[dir=rtl] .dent-hero h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){.dental-app *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* ClearlyDent public and patient portal identity. */
.dental-portal-icon{display:block;flex-shrink:0;width:44px;height:44px;border-radius:12px;object-fit:contain}.dental-public-wordmark{display:block;width:min(280px,100%);height:auto;margin-block:0 26px}.checkin-card .dental-public-wordmark{margin-inline:auto}.portal-body .dental-auth-wordmark{margin-inline:auto}.portal-body .portal-brand{gap:12px}

/* Keep secondary clinical labels legible on the light canvas. */
.dent-stats small,.dent-chair-card small,.dent-module-link p,.dent-agenda th,.dent-agenda .cell-note,.dental-app .section-heading p{color:#60796c}.dent-coordination-card>p:not(.eyebrow),.dent-coordination-card .role-tags span,.dent-coordination-card .btn{color:#4a704f}
