/* ClearlyDent v1.1 — local premium interface. Logical properties support FR / AR. */
:root{--premium-ink:#153744;--premium-muted:#607681;--premium-teal:#117d78;--premium-line:#dfe8e6;--premium-cream:#f5f5f0;--premium-radius:20px}
.dental-app{background:radial-gradient(ellipse at 98% -8%,#dbeee75c,transparent 44%),#f5f6f2;color:var(--premium-ink)}
.dental-app .workspace{padding-block-start:30px;max-width:1760px}.dental-app .topbar{background:#ffffffe8;min-height:84px;border-color:#e1e8e5}.dental-app .topbar h1{font-weight:650;letter-spacing:-.55px}.dental-app .panel{border-radius:var(--premium-radius);border-color:#e1e8e3;box-shadow:0 5px 24px #173d3e04}.dental-app .btn{font-size:13px;min-height:42px}.dental-app input,.dental-app select,.dental-app textarea{font-size:14px}.dental-app .nav-link{font-size:13px;min-height:42px}.dental-app .nav-group-links .nav-link{font-size:12.5px}.dental-app .nav-group>summary{font-size:11.5px;padding-block:13px}.dental-app .sidebar{background:linear-gradient(169deg,#143643,#0b2935);border-inline-end:0}.dental-app .brand strong{font-size:21px;letter-spacing:-.5px}.dental-app .sidebar .brand small{font-size:10px;letter-spacing:.04em}.dental-app .sidebar .brand-mark{border-color:#40616c}.dental-app .nav-link.active{background:#dcf2e615;box-shadow:inset 3px 0 #9bdcc7;color:#e6f8ef}.dental-app .sidebar .nav-link.active .icon{color:#9bdcc7}
/* A professional sign-in screen; the authentication form keeps its native flow. */
body.dental-premium-auth{display:block;min-height:100vh;margin:0;padding:32px;background:radial-gradient(ellipse at 87% 8%,#e3efea 0,transparent 42%),#f3f4ee;color:#153744;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Tahoma,sans-serif}
.dp-login-shell{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(400px,1fr);width:min(1240px,100%);min-height:min(820px,calc(100vh - 64px));margin:0 auto;border:1px solid #dde7e3;border-radius:27px;overflow:hidden;background:#fffefa;box-shadow:0 28px 100px #133c4410}
.dp-login-story{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 95% 35%,#3f786861,transparent 53%),linear-gradient(145deg,#0f3341,#183f46);padding:44px 49px 37px;display:flex;flex-direction:column;color:#e7f3ed}
.dp-login-story:before,.dp-login-story:after{content:"";position:absolute;z-index:-1;pointer-events:none;border:1px solid #8bc6aa17;border-radius:45%;width:600px;height:600px;inset-inline-end:-380px;top:130px;transform:rotate(-22deg)}.dp-login-story:after{width:760px;height:760px;inset-inline-end:-435px;top:55px;border-color:#a6cbb016}
.dp-login-brand{display:flex;align-items:center;gap:12px}.dp-login-brand>img{width:48px;height:48px;border-radius:13px;border:1px solid #427064;object-fit:contain}.dp-login-brand strong{display:block;font-size:24px;line-height:1.2;font-weight:650;letter-spacing:-.55px}.dp-login-brand span{display:block;font-size:11px;color:#a6c6bd;margin-top:5px}.dp-login-story-copy{margin-top:53px;max-width:450px}.dp-login-overline{display:block;color:#b0dac7;font-size:11px;line-height:1.7;letter-spacing:.065em;margin-bottom:14px}.dp-login-story h1{font-size:clamp(38px,4vw,53px);line-height:1.12;letter-spacing:-1.8px;font-weight:500;margin:0 0 20px;color:#f4f8ef}.dp-login-story-copy>p{font-size:14px;line-height:1.85;color:#bbd2cb;margin:0;max-width:420px}
.dp-login-workflow{margin-top:32px;border:1px solid #6e96884a;border-radius:17px;background:linear-gradient(135deg,#e4f6e80d,#cbe7dd03);padding:21px 22px}.dp-login-workflow-heading{display:flex;align-items:center;gap:10px}.dp-login-workflow-heading>span{color:#b5dec9;display:flex}.dp-login-workflow-heading strong{font-size:12px;font-weight:500;color:#d8e9df;line-height:1.5}.dp-login-workflow ol{list-style:none;margin:24px 0 18px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.dp-login-workflow li{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;color:#d3eadd}.dp-login-workflow li+li:before{content:"";width:16px;height:1px;background:#70928361;position:absolute;inset-inline-start:-20px;top:18px}.dp-login-workflow li>span{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;border:1px solid #94b8a641;background:#e5f1e909;color:#c2dfc3}.dp-login-workflow li small{font-size:10px;color:#90b7a8}.dp-login-workflow li strong{grid-column:1/-1;font-size:12px;font-weight:500;line-height:1.4}.dp-login-workflow>p{margin:0;padding-top:13px;border-top:1px solid #7b9d8b2e;font-size:11px;line-height:1.6;color:#a4c4b5}
.dp-login-features{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:18px}.dp-login-features li{display:flex;align-items:flex-start;gap:12px}.dp-login-features li>.icon{color:#a7ceb8;flex-shrink:0;margin-top:2px}.dp-login-features strong{display:block;font-size:12px;font-weight:550;color:#dcebe1}.dp-login-features small{display:block;font-size:11px;line-height:1.65;color:#a6c2b6;margin-top:3px}
.dp-login-access{display:flex;flex-direction:column;position:relative;padding:29px 44px 23px;background:#fffefa}.dp-login-languages{display:flex;justify-content:flex-end;gap:4px;align-self:flex-end;padding:4px;border:1px solid #e2e9e3;border-radius:11px;background:#f7f9f4}.dp-login-languages a,.dp-login-languages button{color:#6c8075;background:transparent;border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;min-height:30px;padding:5px 12px;font-size:12px;font-weight:500;text-decoration:none;line-height:1.4;font-family:inherit}.dp-login-languages [aria-current=true],.dp-login-languages [aria-pressed=true]{background:#fff;color:#1c5a4c;box-shadow:0 2px 8px #173d3510;border:1px solid #dde8dd}.dp-login-form-wrap{width:100%;max-width:366px;margin:auto; padding-block:28px}.dp-login-wordmark{display:block;width:211px;height:auto;max-width:75%;margin:0 0 31px}.dp-login-access-label{display:flex;align-items:center;gap:7px;font-size:11px;line-height:1.4;color:#688370;margin-bottom:13px}.dp-login-access h2{font-size:29px;line-height:1.22;font-weight:600;letter-spacing:-.8px;color:#183f46;margin:0 0 12px}.dp-login-subtitle{font-size:13px;line-height:1.75;color:#73857d;margin:0 0 27px}.dp-login-form{display:grid;gap:18px}.dp-login-form>label,.dp-password-field>label{display:grid;gap:8px;color:#405b55;font-size:12px;font-weight:550}.dp-login-form input,.dp-login-form select{width:100%;height:47px;padding:12px 14px;background:#fff;border:1px solid #d9e4dc;box-shadow:0 1px 3px #183d3502;border-radius:9px;font-family:inherit;font-weight:400;font-size:14px;line-height:1.4;color:#254a44;outline:none}.dp-login-form input::placeholder{color:#98a89f}.dp-login-form input:focus,.dp-login-form select:focus{border-color:#5a9d8c;box-shadow:0 0 0 3px #0c7f6810}.dp-login-form input:read-only{background:#f8faf5;color:#6b8173}.dp-login-form label>small{color:#819084;font-size:11px;line-height:1.5;font-weight:400}.dp-password-field{display:grid;gap:8px}.dp-password-field>div{position:relative}.dp-password-field input{padding-inline-end:78px}.dp-password-field button{position:absolute;inset-inline-end:5px;top:5px;bottom:5px;padding:0 11px;border:0;border-radius:6px;background:transparent;color:#658471;font-family:inherit;font-weight:500;font-size:11px;line-height:1.4;cursor:pointer}.dp-password-field button:hover{background:#eff6ed}.dp-login-form .dp-login-submit{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:47px;margin-top:3px;background:#177d72;border:1px solid #177d72;box-shadow:0 4px 14px #0c71551c;color:#fff;padding:12px 17px;border-radius:9px;font-size:13px;font-weight:600}.dp-login-form .dp-login-submit:hover{background:#10685f;border-color:#10685f}.dp-login-form .alert{margin:0;padding:12px 14px;font-size:12px;line-height:1.7}
.dp-login-role-note{display:flex;align-items:flex-start;gap:9px;margin-top:22px;padding:15px 16px;background:#f3f7ed;border:1px solid #e1e9d8;border-radius:10px;color:#648066}.dp-login-role-note>.icon{flex-shrink:0;margin-top:2px}.dp-login-role-note p{margin:0;font-size:11px;line-height:1.7}.dp-login-help{font-size:11px;color:#8a978b;text-align:center;line-height:1.7;margin:18px 0 0}.dp-login-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px;color:#8c9a8d;font-size:11px;line-height:1.5;margin-top:12px;padding-top:20px;border-top:1px solid #edf0e7}.dp-login-footer a{font-weight:600;color:#597b61;text-decoration:none}.dp-login-footer>span{display:block;flex-basis:100%;text-align:center;font-size:10px;letter-spacing:.015em;margin-top:4px}
/* Overview hierarchy and genuine financial data. */
.cdh-welcome{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:35px;align-items:center;margin:0 0 24px;background:linear-gradient(115deg,#143843,#19454b);border:1px solid #234c51;border-radius:23px;padding:32px 36px;color:#eff6ee;position:relative;overflow:hidden}.cdh-welcome:after{content:"";position:absolute;width:430px;height:430px;inset-inline-end:-125px;top:-140px;border:1px solid #accdb719;border-radius:45%;transform:rotate(22deg);pointer-events:none}.cdh-welcome .dent-hero-copy .eyebrow{font-size:12px;color:#b8d9cb;margin-bottom:11px}.cdh-welcome .dent-hero-copy h2{font-size:clamp(28px,2.7vw,40px);font-weight:500;line-height:1.17;letter-spacing:-1.2px;color:#f1f8ef;margin-bottom:14px}.cdh-welcome .dent-hero-copy>p:not(.eyebrow){max-width:600px;color:#b5d1c8;font-size:13px;line-height:1.75}.cdh-welcome .hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.cdh-welcome .btn{min-height:39px;font-size:12px}.cdh-welcome .dent-hero-date{position:relative;z-index:1;border-inline-start:1px solid #84a58d37;padding-inline-start:28px}.cdh-welcome .dent-hero-date strong{font-size:29px}.cdh-welcome .dent-hero-date span,.cdh-welcome .dent-hero-date small{font-size:11px}.cdh-role-note{display:flex;gap:8px;align-items:flex-start;color:#7e9185;font-size:11px;line-height:1.6;margin:17px 0}.cdh-role-note .icon{flex-shrink:0;margin-top:2px}.cdh-role-note p{margin:0}
.dental-app .dent-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:24px;gap:15px}.dental-app .dent-stats article{padding:20px 22px;border-radius:17px;background:#fff;border-color:#dfe8e1}.dental-app .dent-stats .metric-value{font-size:32px;font-weight:550;letter-spacing:-1px}.dental-app .dent-stats .metric-label>span{font-size:12px;color:#516d65}.dental-app .dent-stats small{font-size:11px;line-height:1.6}.dental-app .dent-chair-panel{margin-bottom:24px}.dental-app .dent-chair-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.dental-app .dent-chair-card{padding:18px;border-radius:13px}.dental-app .dent-chair-card strong{font-size:13px}.dental-app .dent-chair-card small,.dental-app .dent-chair-status{font-size:11px}.dental-app .dent-agenda td{font-size:12px;padding-block:17px}.dental-app .dent-agenda th{font-size:10.5px;color:#728475;letter-spacing:.02em}.dental-app .dent-module-link h3{font-size:13px!important}.dental-app .dent-module-link p{font-size:11px}.dental-app .dent-module-link{padding:18px;gap:13px}
.cdh-finance{margin-bottom:24px;overflow:hidden}.cdh-finance .section-heading{align-items:flex-start;gap:22px}.cdh-finance .section-heading h2{font-size:21px;letter-spacing:-.5px;margin-top:4px}.cdh-finance .section-heading p{font-size:12px;margin-top:7px;max-width:660px}.cdh-finance-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.cdh-period-switch{display:flex;gap:3px;border:1px solid #dce6dc;border-radius:10px;background:#f5f8f0;padding:4px;flex-shrink:0}.cdh-period-switch button,.cdh-period-switch a{border:0;background:transparent;color:#759076;font-family:inherit;font-weight:500;font-size:12px;line-height:1.4;border-radius:7px;padding:7px 13px;min-height:33px;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.cdh-period-switch [aria-pressed=true],.cdh-period-switch .active{color:#245e47;background:#fff;border:1px solid #dbe7d5;padding:6px 12px;box-shadow:0 2px 7px #21452c08}.cdh-finance-date{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.cdh-finance-date input,.cdh-finance-date select{max-width:105px;min-height:35px;height:35px;padding:6px 8px;font-size:12px;background:#fff}.cdh-finance-date .btn{font-size:11px;min-height:35px;padding:7px 11px}.cdh-finance-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #e3eade;border-bottom:1px solid #e3eade;margin:23px -24px 0;padding:23px 24px;gap:20px;background:linear-gradient(110deg,#f8faf4,#fffffc)}.cdh-finance-summary>div+div{border-inline-start:1px solid #e0e8da;padding-inline-start:23px}.cdh-finance-summary span{display:flex;align-items:center;gap:7px;font-size:11px;color:#768b74;line-height:1.5}.cdh-finance-summary i{width:6px;height:6px;border-radius:50%;display:inline-block;flex-shrink:0;background:#3e8c7c}.cdh-finance-summary .expense i{background:#c4ae7f}.cdh-finance-summary .cash i{background:#4b7581}.cdh-finance-summary .billed i{background:#91a57c}.cdh-finance-summary strong{display:block;font-size:clamp(19px,1.75vw,28px);color:#284b48;letter-spacing:-.7px;font-weight:550;margin-top:10px;line-height:1.15;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.cdh-finance-summary small{font-size:10px;display:block;margin-top:7px;color:#8b9986}
.cdh-chart-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:23px 0 18px}.cdh-chart-heading strong{font-size:12px;font-weight:550;color:#4f6f5a}.cdh-legend{display:flex;gap:14px;flex-wrap:wrap;align-items:center;font-size:10px;color:#7f927b}.cdh-legend>span{display:flex;align-items:center;gap:6px}.cdh-legend i{width:7px;height:7px;display:block;border-radius:2px;background:#3e8c7c}.cdh-legend .expense i{background:#d3bd8d}.cdh-chart-wrap{overflow-x:auto;padding-bottom:4px}.cdh-chart{height:224px;min-width:450px;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(17px,1fr);gap:8px;align-items:end;border-bottom:1px solid #dce6d8;padding:0 2px 0;position:relative;background:repeating-linear-gradient(to top,transparent 0,transparent calc(25% - 1px),#edf2e8 calc(25% - 1px),#edf2e8 25%)}.cdh-chart-group{height:100%;min-width:0;display:flex;gap:4px;justify-content:center;align-items:flex-end;position:relative;padding-inline:clamp(1px,1vw,13px)}.cdh-chart-group .bar{display:block;width:min(31px,50%);height:var(--bar-height,0%);background:linear-gradient(0deg,#508e79,#82b59c);border-radius:5px 5px 0 0;min-height:0}.cdh-chart-group .bar.expense{background:linear-gradient(0deg,#bfaa7a,#ddcca3)}.cdh-chart-labels{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(17px,1fr);gap:8px;min-width:450px;margin-top:9px;padding-inline:2px}.cdh-chart-labels span{text-align:center;font-size:10px;color:#82967c;white-space:nowrap}.cdh-chart-range-month .cdh-chart,.cdh-chart-range-month .cdh-chart-labels{min-width:630px;gap:4px}.cdh-chart-range-month .cdh-chart-group{padding-inline:1px;gap:2px}.cdh-chart-range-month .bar{border-radius:3px 3px 0 0}.cdh-chart-range-5years .cdh-chart-group{padding-inline:30%}.cdh-chart-help{margin:19px 0 0;font-size:11px;line-height:1.7;color:#83957a;max-width:860px}.cdh-chart-table{margin-top:17px;border-top:1px solid #e5ebdf;padding-top:14px}.cdh-chart-table summary{font-size:11px;color:#5d7c62;cursor:pointer;min-height:22px}.cdh-chart-table table{margin-top:12px;min-width:490px}.cdh-chart-table td,.cdh-chart-table th{font-size:11px}.cdh-finance-footer{margin-top:20px;display:flex;gap:14px;align-items:center;justify-content:space-between;border-top:1px solid #e7ecdf;padding-top:18px}.cdh-finance-footer .text-link{font-size:11px}.cdh-finance-footnote{font-size:10px;color:#829479;line-height:1.6}.cdh-installment-strip{display:flex;align-items:center;gap:22px;flex-wrap:wrap;border:1px solid #e2e8d9;background:#f8faf2;border-radius:12px;padding:16px 19px;margin-top:20px}.cdh-installment-strip>div{display:flex;flex-direction:column;gap:5px}.cdh-installment-strip span{font-size:11px;color:#718567}.cdh-installment-strip strong{font-size:18px;color:#476341;font-weight:550;letter-spacing:-.35px}.cdh-installment-strip .overdue strong{color:#a5794a}.cdh-installment-strip .text-link{margin-inline-start:auto;font-size:11px}.cdh-finance-note{display:flex;align-items:flex-start;gap:9px;background:#f8faf1;border:1px solid #e3eadb;border-radius:11px;padding:15px;color:#688360;font-size:12px;line-height:1.65}.cdh-finance-note .icon{flex-shrink:0;margin-top:2px}.cdh-finance-empty{min-height:180px;display:grid;place-items:center;text-align:center;color:#82947a;font-size:13px}
[dir=rtl] .dp-login-story h1,[dir=rtl] .cdh-welcome .dent-hero-copy h2{letter-spacing:0;line-height:1.4;font-size:clamp(30px,3.3vw,46px)}[dir=rtl] .dp-login-access h2{letter-spacing:0;line-height:1.55;font-size:28px}[dir=rtl] .dp-login-overline{letter-spacing:0}[dir=rtl] .dp-login-submit .icon-chevron{transform:scaleX(-1)}[dir=rtl] .dental-app .nav-link.active{box-shadow:inset -3px 0 #9bdcc7}[dir=rtl] .cdh-finance-summary strong{letter-spacing:0}
@media(min-width:1600px){.cdh-welcome{padding:36px 43px}.dp-login-shell{margin-block:2.5vh}}
@media(max-width:1280px){.dental-app .workspace{padding-inline:24px}.dp-login-story{padding:38px 36px}.dp-login-access{padding-inline:34px}.dp-login-story-copy{margin-top:40px}.cdh-finance .section-heading{flex-wrap:wrap}.cdh-finance-controls{width:100%;justify-content:space-between}.cdh-finance-summary{gap:14px}.cdh-finance-summary>div+div{padding-inline-start:14px}.cdh-welcome{padding:28px 30px}.cdh-welcome .dent-hero-copy h2{font-size:33px}}
@media(max-width:960px){body.dental-premium-auth{padding:20px}.dp-login-shell{grid-template-columns:minmax(0,1fr) minmax(340px,1fr);border-radius:20px;min-height:calc(100vh - 40px)}.dp-login-story{padding:33px 27px}.dp-login-access{padding:24px 27px}.dp-login-story h1{font-size:40px}.dp-login-story-copy>p{font-size:13px}.dp-login-workflow{padding:16px}.dp-login-workflow ol{gap:12px}.dp-login-workflow li strong{font-size:11px}.dp-login-features{gap:16px}.dp-login-features small{font-size:10.5px}.dp-login-access h2{font-size:27px}.cdh-finance-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.cdh-finance-summary>div:nth-child(3){border-inline-start:0;padding-inline-start:0}.cdh-finance-summary strong{font-size:25px}.cdh-welcome{grid-template-columns:minmax(0,1fr) 160px;gap:20px}.cdh-welcome .dent-hero-date{padding-inline-start:18px}.cdh-welcome .dent-hero-copy h2{font-size:30px}}
@media(max-width:740px){body.dental-premium-auth{padding:0;background:#fffefa}.dp-login-shell{display:flex;flex-direction:column;border:0;border-radius:0;min-height:100vh;box-shadow:none}.dp-login-access{order:0;padding:22px 28px 26px;min-height:100vh}.dp-login-story{order:1;padding:35px 30px 38px}.dp-login-form-wrap{max-width:400px;padding-block:26px}.dp-login-wordmark{width:198px;margin-bottom:29px}.dp-login-story-copy{margin-top:32px;max-width:560px}.dp-login-story h1{font-size:40px}.dp-login-story-copy>p{max-width:500px}.dp-login-workflow{max-width:500px}.dp-login-features{grid-template-columns:1fr;max-width:500px}.dp-login-story:before,.dp-login-story:after{display:none}.cdh-welcome{grid-template-columns:1fr;padding:27px 24px;gap:22px;border-radius:19px}.cdh-welcome .dent-hero-copy h2{font-size:31px}.cdh-welcome .dent-hero-date{display:none}.cdh-finance-controls{gap:10px}.cdh-finance .section-heading h2{font-size:20px}.dental-app .workspace{padding:22px 18px 65px}.cdh-finance-summary{margin-inline:-20px;padding-inline:20px}.dental-app .cdh-finance{padding:20px}.cdh-chart{height:190px}.cdh-chart-heading{align-items:flex-start;gap:12px;flex-direction:column}.cdh-installment-strip{gap:18px}.cdh-installment-strip .text-link{width:100%;margin-inline-start:0}.cdh-finance-footer{align-items:flex-start;flex-direction:column}.cdh-period-switch button,.cdh-period-switch a{padding-inline:15px}.cdh-finance-summary strong{font-size:24px}.cdh-chart-labels span{font-size:9px}.cdh-finance-date input,.cdh-finance-date select{max-width:98px}.dp-login-footer{margin-top:24px}}
@media(prefers-reduced-motion:reduce){.dental-premium-auth *,.dental-app *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Secondary text remains readable at compact sizes. */
.dp-login-form label>small,.dp-login-help,.dp-login-footer{color:#657969}.cdh-finance-summary span,.cdh-finance-summary small,.cdh-legend,.cdh-chart-help,.cdh-chart-labels span,.cdh-finance-footnote{color:#607958}.cdh-chart-labels span{font-size:11px}
