/* Shared visual refinement. Loaded after the existing theme; tenant primary colors stay authoritative. */
body.dntx-theme{--dntx-bg:#f3f6fb;--dntx-border:#e4eaf3;--dntx-muted:#64748b;--dntx-ink:#1e2e47;--dntx-shadow:0 5px 22px rgb(24 43 76 / 4%);font-size:14px}
.dntx-theme .card,.dntx-theme .surface-card,.dntx-theme .stat-card,.dntx-theme .portal-card{border-radius:16px}
.dntx-theme .btn{border-radius:10px;min-block-size:44px;transition:background .16s,border-color .16s,box-shadow .16s}
.dntx-theme .form-control,.dntx-theme .form-select{border-radius:10px;min-block-size:46px}
.dntx-theme .form-label{margin-block-end:.5rem}
.dntx-theme .form-control:focus,.dntx-theme .form-select:focus{border-color:var(--dntx-primary);box-shadow:0 0 0 3px rgb(35 99 216 / 12%)}
.dntx-theme .page-title{font-weight:800;letter-spacing:-.5px;font-size:clamp(1.35rem,2vw,1.85rem)}
.dntx-theme .card-heading{font-weight:800}
.dntx-theme .clinic-topbar,.dntx-theme .platform-topbar{padding-block:.8rem;background:rgb(255 255 255 / 97%);box-shadow:0 3px 15px rgb(24 43 76 / 3%)}
.dntx-theme .smart-input{border-radius:12px;min-block-size:46px}
.dntx-theme .toolbar-icon,.dntx-theme .toolbar-profile{border-radius:12px}
.dntx-theme .toolbar-profile-name{max-inline-size:180px}
.dntx-theme .brand-lockup small{font-family:inherit;letter-spacing:0;font-size:.7rem}
.dntx-theme .clinic-sidebar,.dntx-theme .platform-sidebar{background:linear-gradient(180deg,#101c34,#14243c)!important;scrollbar-width:thin;scrollbar-color:#56677e transparent}
.dntx-theme .nav-entry,.dntx-theme .nav-sub{border-radius:10px;font-size:.82rem;line-height:1.7}
.dntx-theme .nav-entry.active{background:var(--dntx-primary);box-shadow:0 4px 14px #050d1c35;font-weight:700}
.dntx-theme .side-group[open]>summary{background:#253958;box-shadow:none}
.dntx-theme .nav-sub.active{background:#233858;color:#fff}
.dntx-theme .sidebar-search-field{border-radius:12px}
.dntx-theme .dashboard-welcome{border:1px solid #dfe7f2;border-inline-start:0;background:linear-gradient(110deg,#fff 25%,#eef4ff);box-shadow:var(--dntx-shadow);border-radius:20px;padding:1.5rem 1.75rem;gap:1rem}
.dntx-theme .dashboard-welcome-copy{flex-basis:400px}
.dntx-theme .dashboard-kicker{display:inline-flex;gap:.4rem;align-items:center;padding:.2rem .6rem;border-radius:6px;background:#e9f0fc;font-size:.7rem;margin-block-end:.75rem}
.dntx-theme .dashboard-welcome .page-title{font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.7}
.dntx-theme .dashboard-date{display:inline-flex;gap:.5rem;align-items:center;color:#556780;font-size:.8rem;margin-block-start:.5rem}
.dntx-theme .dashboard-date .icon{width:17px;height:17px}
.dntx-theme .dashboard-section-heading{margin-block-end:.85rem}
.dntx-theme .dashboard-section-heading h2{font-size:.85rem}
.dntx-theme .primary-metrics>div>:first-child{min-block-size:160px;padding:1.2rem!important;border-block-start:0!important;border-radius:16px}
.dntx-theme .primary-metrics>div:first-child>:first-child{background:linear-gradient(135deg,var(--dntx-primary),#152c53);border:0;box-shadow:0 7px 20px #1d4a9226}
.dntx-theme .primary-metrics .metric-icon{border-radius:13px;inline-size:42px;block-size:42px}
.dntx-theme .primary-metrics .metric-number{font-size:2.1rem}
.dntx-theme .dashboard-tasks{grid-template-columns:repeat(auto-fit,minmax(min(100%,175px),1fr));gap:.7rem}
.dntx-theme .dashboard-tasks .surface-card{border-inline-start:0;border-block-start:0;border-radius:13px;box-shadow:none}
.dntx-theme .dashboard-tasks .surface-card>div:first-child{font-size:.78rem}
.dntx-theme .dashboard-tasks .metric-number{font-size:1.55rem}
.dntx-theme .dashboard-list-card{padding:1.25rem!important}
.dntx-theme .dashboard-list-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem;padding-block-end:1rem;border-block-end:1px solid var(--dntx-border);margin-block-end:1rem}
.dntx-theme .dashboard-list-head p{font-size:.75rem;color:var(--dntx-muted);margin:.3rem 0 0}
.dntx-theme .dashboard-table{min-inline-size:0!important}
.dntx-theme .dashboard-table td,.dntx-theme .dashboard-table th{padding:.8rem .6rem}
.dntx-theme .dashboard-table .dashboard-patient{display:block;max-inline-size:260px}
.dntx-theme .dashboard-table .appointment-time{font:600 .8rem/1.5 Inter,Cairo,sans-serif;white-space:nowrap}
.dntx-theme .dashboard-table .appointment-date{display:block;color:var(--dntx-muted);font-size:.7rem}
.dntx-theme .recent-patient{padding:.8rem 0!important;border-block-end:1px solid #edf1f6;min-block-size:68px}
.dntx-theme .recent-patient:last-child{border:0!important}
.dntx-theme .recent-patient .avatar-circle{border-radius:13px;inline-size:38px;block-size:38px}
.dntx-theme .recent-patient strong{font-size:.83rem}
.dntx-theme .recent-patient small{font-size:.7rem}
.dntx-theme .soft-badge,.dntx-theme .portal-chip{border-radius:7px;padding:.3rem .6rem;font-size:.72rem}
.dntx-theme .status-confirmed,.dntx-theme .status-completed,.dntx-theme .status-paid,.dntx-theme .status-active{background:#e6f5ef;color:#14664d}
.dntx-theme .status-cancelled,.dntx-theme .status-failed,.dntx-theme .status-suspended{background:#fff0f1;color:#aa3449}
.dntx-theme .status-checked_in,.dntx-theme .status-in_progress,.dntx-theme .status-pending{background:#fff4dd;color:#855d14}
.dntx-theme .table thead th{background:#f5f7fb;font-size:.75rem}
.dntx-theme .table tbody tr:hover{--bs-table-bg:#fafcff}
.dntx-theme .patient-tabs a{border-radius:10px;font-size:.8rem}
.dntx-theme .table-responsive{border-radius:10px}
.dntx-theme .clinic-content>.d-flex>.d-flex,.dntx-theme .platform-content>.d-flex>.d-flex{flex-wrap:wrap;min-inline-size:0;max-inline-size:100%}
/* Login and security pages share a calm two-column frame with natural scrolling. */
.dntx-auth,.dntx-portal:has(.auth-wrap){background:#eef3fa}
.dntx-auth .auth-stage,.dntx-portal .auth-wrap{padding:2rem;min-block-size:100dvh}
.dntx-theme .auth-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);inline-size:min(1060px,100%);align-items:stretch;border:1px solid #dce5f1;background:white;box-shadow:0 20px 65px #25385810;border-radius:26px;overflow:hidden;margin:auto}
.dntx-theme .auth-story{display:flex;flex-direction:column;justify-content:space-between;gap:2rem;padding:2.5rem;color:#e1eafa;background:radial-gradient(ellipse at 0 100%,#285999 0,transparent 65%),#11243f;min-inline-size:0;position:relative}
.dntx-theme .auth-story-brand{display:flex;align-items:center;gap:.75rem}
.dntx-theme .auth-story-brand strong{font:800 1.5rem Inter,system-ui,sans-serif;color:#fff;letter-spacing:-.7px}
.dntx-theme .auth-story .brand-mark{border-radius:12px;background:#ffffff18;border:1px solid #ffffff30}
.dntx-theme .auth-story-kicker{font-size:.8rem;color:#b5d1f6;font-weight:600;margin-block-end:1rem}
.dntx-theme .auth-story h2{color:white;font-size:clamp(1.7rem,2.8vw,2.4rem);font-weight:800;line-height:1.65;margin-block-end:1rem}
.dntx-theme .auth-story-copy>p:not(.auth-story-kicker){font-size:.9rem;line-height:2;color:#c2d2e8}
.dntx-theme .auth-benefits{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;gap:.8rem;font-size:.8rem}
.dntx-theme .auth-benefits li{display:flex;align-items:center;gap:.65rem}
.dntx-theme .auth-benefits span{display:grid;place-items:center;background:#ffffff14;border:1px solid #ffffff24;border-radius:7px;width:24px;height:24px;flex:none;color:#94dfd2}
.dntx-theme .auth-story-footer{font-size:.72rem;color:#a8bddb;margin:0}
.dntx-theme .auth-layout .auth-card{inline-size:100%;max-inline-size:none!important;padding:2.5rem!important;border:0;border-radius:0;box-shadow:none;background:#fff;align-self:center}
.dntx-auth .auth-layout .auth-heading{text-align:start;margin-block-end:1.5rem}
.dntx-auth .auth-layout .auth-brand{display:none}
.dntx-auth .auth-layout .auth-tagline{font-size:.75rem;margin:0;color:var(--dntx-primary);font-weight:700}
.dntx-auth .auth-layout .auth-card h1{text-align:start;font-size:1.45rem;margin-block-end:.5rem!important}
.dntx-theme .auth-card .login-hint{font-size:.83rem;color:var(--dntx-muted);margin-block-end:1.5rem}
.dntx-theme .auth-card .form-control{min-block-size:48px}
.dntx-theme .auth-card .btn-brand,.dntx-theme .auth-card .btn-portal{min-block-size:48px}
.dntx-theme .auth-card .auth-footer{font-family:inherit;letter-spacing:0;font-size:.7rem;margin-block-start:1.5rem}
.dntx-theme .login-password{position:relative}
.dntx-theme .login-password input{padding-inline:3.2rem}
.dntx-theme .password-toggle{position:absolute;inset-block-start:4px;inset-inline-end:4px;inline-size:40px;block-size:40px;border:0;border-radius:8px;display:grid;place-items:center;background:transparent;color:#536985}
.dntx-theme .password-toggle[hidden]{display:none}
.dntx-theme .password-toggle:hover{background:#edf3fc}
.dntx-theme .password-toggle[aria-pressed=true]{color:var(--dntx-primary);background:#eaf1ff}
.dntx-theme .password-toggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7}
@media(min-width:992px){.dntx-theme .clinic-sidebar,.dntx-theme .platform-sidebar{inline-size:250px;width:250px}.dntx-theme .clinic-sidebar .offcanvas-body,.dntx-theme .platform-sidebar .offcanvas-body{inline-size:250px;width:250px}.dntx-theme .clinic-content,.dntx-theme .platform-content{padding:1.5rem!important}.dntx-theme .clinic-sidebar .offcanvas-body{padding-block:1rem!important}}
@media(max-width:991.98px){.dntx-theme .auth-stage,.dntx-theme .auth-wrap{padding:1.25rem}.dntx-theme .auth-story{padding:2rem}.dntx-theme .auth-layout .auth-card{padding:2rem!important}}
@media(max-width:767.98px){.dntx-theme .auth-layout{grid-template-columns:minmax(0,1fr);max-inline-size:480px;border-radius:20px}.dntx-theme .auth-story{padding:1.25rem;gap:0}.dntx-theme .auth-story-copy,.dntx-theme .auth-story-footer{display:none}.dntx-theme .auth-story-brand .brand-mark{width:36px;height:36px}.dntx-theme .auth-story-brand strong{font-size:1.3rem}.dntx-theme .auth-layout .auth-card{padding:1.5rem!important}.dntx-theme .dashboard-welcome{padding:1.2rem}.dntx-theme .dashboard-list-card{padding:1rem!important}.dntx-theme .dashboard-tasks{grid-template-columns:repeat(2,minmax(0,1fr))}.dntx-theme .dashboard-tasks .surface-card{grid-template-columns:minmax(0,1fr);gap:.25rem}.dntx-theme .dashboard-tasks .metric-number{grid-column:1;grid-row:auto;order:2}.dntx-theme .dashboard-tasks .surface-card>div:last-child{order:3}.dntx-theme .dashboard-table td,.dntx-theme .dashboard-table th{padding:.7rem .35rem}.dntx-theme .dashboard-table .dashboard-patient{max-inline-size:100%;font-size:.77rem}.dntx-theme .dashboard-table .soft-badge{font-size:.65rem;padding:.25rem .4rem}}
@media(max-width:359.98px){.dntx-theme .auth-stage,.dntx-theme .auth-wrap{padding:.7rem}.dntx-theme .auth-layout .auth-card{padding:1.1rem!important}.dntx-theme .primary-metrics>div>:first-child{padding:.8rem!important}.dntx-theme .primary-metrics .metric-number{font-size:1.8rem}.dntx-theme .dashboard-table .appointment-time{font-size:.7rem}.dntx-theme .dashboard-table .appointment-date{font-size:.65rem}.dntx-theme .primary-metrics .metric-icon{width:32px;height:32px}.dntx-theme .primary-metrics .text-secondary{font-size:.72rem}}
@media(prefers-reduced-motion:reduce){.dntx-theme *{transition:none!important}}
@media print{.dntx-theme .auth-story{display:none}.dntx-theme .dashboard-welcome{background:white!important}.dntx-theme .status-confirmed,.dntx-theme .status-completed{color:#14664d}}

