/* DNTX / Able Lite visual adaptation. Original Bootstrap 5 compatibility theme;
   no Bootstrap 4, jQuery or template demo bundles are included. */
:root {
    --dntx-ink: #25324b;
    --dntx-muted: #65738a;
    --dntx-primary: #2363d8;
    --dntx-purple: #6554c0;
    --dntx-border: #e3e9f1;
    --dntx-bg: #f4f7fa;
    --dntx-nav: #101b33;
    --dntx-nav-text: #c1cee3;
    --dntx-accent: #4680ff;
    --dntx-shadow: 0 4px 24px 0 rgb(31 47 70 / 6%);
    --bs-primary: #2363d8;
    --bs-primary-rgb: 35, 99, 216;
    --bs-link-color: #2363d8;
    --bs-link-hover-color: #194ca9;
    --bs-body-color: #25324b;
    --bs-body-bg: #f4f7fa;
    --bs-border-color: #e3e9f1;
}
body.dntx-theme {
    margin: 0;
    min-block-size: 100vh;
    color: var(--dntx-ink);
    background: var(--dntx-bg);
    font: 400 14px/1.65 Cairo, Inter, system-ui, sans-serif;
    overflow-wrap: anywhere;
}
html[lang=en] body.dntx-theme { font-family: Inter, Cairo, system-ui, sans-serif; }
.dntx-theme a { color: var(--dntx-primary); text-decoration: none; }
.dntx-theme a:hover { color: #194ca9; }
.dntx-theme :focus-visible { outline: 3px solid #2363d8; outline-offset: 3px; }
.dntx-theme .text-secondary, .dntx-theme .text-muted { color: var(--dntx-muted) !important; }
.dntx-theme h1, .dntx-theme h2, .dntx-theme h3, .dntx-theme h4 { color: var(--dntx-ink); line-height: 1.5; }
.dntx-theme h1 { letter-spacing: -.35px; }
.dntx-theme .card, .dntx-theme .surface-card, .dntx-theme .stat-card, .dntx-theme .portal-card {
    background: #fff;
    border: 1px solid var(--dntx-border);
    border-radius: 8px;
    box-shadow: var(--dntx-shadow);
    min-inline-size: 0;
}
.dntx-theme .card-header { background: #fff; border-color: var(--dntx-border); padding: 1.1rem 1.25rem; }
.dntx-theme .card-heading { font-size: 1rem; font-weight: 700; }
.dntx-theme .btn {
    border-radius: 5px;
    min-block-size: 40px;
    font-weight: 600;
    font-size: .875rem;
    padding: .55rem 1rem;
    white-space: normal;
    overflow-wrap: anywhere;
}
.dntx-theme .btn-sm { min-block-size: 34px; font-size: .8rem; padding: .35rem .7rem; }
.dntx-theme a.btn { color: var(--bs-btn-color); }
.dntx-theme a.btn:hover { color: var(--bs-btn-hover-color); }
.dntx-theme .btn-primary, .dntx-theme .btn-brand, .dntx-theme .btn-portal {
    --bs-btn-bg: var(--dntx-primary);
    --bs-btn-border-color: var(--dntx-primary);
    --bs-btn-hover-bg: #194ca9;
    --bs-btn-hover-border-color: #194ca9;
    --bs-btn-active-bg: #174597;
    --bs-btn-active-border-color: #174597;
    --bs-btn-color: #fff;
    --bs-btn-hover-color: #fff;
    --bs-btn-active-color: #fff;
    background: var(--dntx-primary);
    border: 1px solid var(--dntx-primary);
    box-shadow: 0 3px 8px rgb(35 99 216 / 18%);
    color: #fff;
}
.dntx-theme .btn-primary:hover, .dntx-theme .btn-brand:hover, .dntx-theme .btn-portal:hover { background: #194ca9; border-color: #194ca9; color: #fff; }
.dntx-theme .btn-outline-primary { --bs-btn-color: #2363d8; --bs-btn-border-color: #2363d8; --bs-btn-hover-bg: #2363d8; --bs-btn-hover-border-color: #2363d8; }
.dntx-theme .btn-outline-secondary { --bs-btn-color: #53627a; --bs-btn-border-color: #c4cedc; --bs-btn-hover-bg: #53627a; --bs-btn-hover-border-color: #53627a; }
.dntx-theme .form-control, .dntx-theme .form-select {
    border-color: #ccd6e3;
    border-radius: 5px;
    background-color: #fff;
    color: var(--dntx-ink);
    min-block-size: 43px;
    font-size: .9rem;
}
.dntx-theme .form-control:focus, .dntx-theme .form-select:focus { border-color: #4680ff; box-shadow: 0 0 0 3px rgb(70 128 255 / 16%); }
.dntx-theme .form-control.is-invalid, .dntx-theme .form-select.is-invalid { border-color: #b42335; }
.dntx-theme .form-control[readonly], .dntx-theme .form-control:disabled, .dntx-theme .form-select:disabled { background-color: #f0f3f7; }
.dntx-theme .form-label { color: #45536b; font-size: .85rem; font-weight: 600; }
.dntx-theme .form-control::placeholder { color: #758297; opacity: 1; }
.dntx-theme .form-check-input:checked { background-color: var(--dntx-primary); border-color: var(--dntx-primary); }
.dntx-theme input[type=email], .dntx-theme input[autocomplete=one-time-code] { direction: ltr; text-align: start; }
.dntx-theme .table { --bs-table-bg: #fff; --bs-table-color: #35435c; --bs-table-border-color: #eaf0f6; margin-block-end: 0; font-size: .85rem; }
.dntx-theme .table > :not(caption) > * > * { padding: .9rem .85rem; vertical-align: middle; }
.dntx-theme .table thead th { color: #53627a; background: #f6f8fb; font-size: .78rem; font-weight: 700; border-block-end-width: 1px; white-space: nowrap; }
.dntx-theme .table tbody tr:last-child td { border-block-end: 0; }
.dntx-theme .table-responsive { max-inline-size: 100%; border-radius: 5px; overscroll-behavior-inline: contain; }
.dntx-theme .table-responsive > .table { min-inline-size: 540px; }
.dntx-theme .table td { overflow-wrap: anywhere; }
.dntx-theme .table td .form-control, .dntx-theme .table td .form-select { min-inline-size: 120px; }
.dntx-theme .table td .btn { white-space: nowrap; }
.dntx-theme .alert { border-radius: 6px; font-size: .875rem; overflow-wrap: anywhere; }
.dntx-theme .badge { line-height: 1.5; white-space: normal; }
.dntx-theme .soft-badge, .dntx-theme .portal-chip { display: inline-flex; align-items: center; padding: .25rem .65rem; background: #eaf1ff; color: #1e55b6; border-radius: 4px; font-size: .75rem; font-weight: 600; }
.dntx-theme .pagination { flex-wrap: wrap; gap: 3px; }
.dntx-theme .page-link { border-radius: 4px; color: var(--dntx-primary); }
.dntx-theme .active > .page-link { background: var(--dntx-primary); border-color: var(--dntx-primary); color: #fff; }
.dntx-theme .empty-state, .dntx-theme .empty-box { padding: 2rem 1rem; color: var(--dntx-muted); text-align: center; }
.dntx-theme .empty-box { border: 1px dashed #c4cedc; border-radius: 6px; }
.dntx-theme pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.dntx-theme .min-width-0 { min-width: 0; }
/* Grid items otherwise use their table's min-content width, bypassing overflow. */
.dntx-theme .d-grid > * { min-inline-size: 0; }
.dntx-theme .icon { block-size: 20px; inline-size: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
.dntx-theme .skip-link { position: fixed; inset-block-start: .5rem; inset-inline-start: .5rem; z-index: 2000; padding: .65rem 1rem; background: #fff; border: 2px solid var(--dntx-primary); border-radius: 4px; transform: translateY(-180%); }
.dntx-theme .skip-link:focus { transform: none; }

/* Centered Able-style sign-in card. Tall MFA/recovery pages scroll naturally. */
.dntx-auth, .dntx-portal:has(.auth-wrap) { background: radial-gradient(ellipse at top, #e7effc 0, #f4f7fa 60%); }
.dntx-auth .auth-stage, .dntx-portal .auth-wrap { min-block-size: 100vh; min-block-size: 100dvh; display: flex; align-items: center; justify-content: center; padding: 2rem 1rem; }
.dntx-auth .auth-card, .dntx-portal .auth-card { inline-size: 100%; max-inline-size: 460px; margin: 0; padding: 2.25rem !important; border: 0; border-block-start: 4px solid var(--dntx-accent); border-radius: 8px; box-shadow: 0 10px 40px rgb(31 47 70 / 10%); }
.dntx-auth .auth-heading { text-align: center; margin-block-end: 1.75rem; }
.dntx-auth .auth-brand { display: inline-flex; align-items: center; gap: .7rem; text-align: start; color: var(--dntx-nav); }
.dntx-theme .brand-mark, .dntx-theme .portal-mark { display: inline-flex; align-items: center; justify-content: center; inline-size: 42px; block-size: 42px; flex-shrink: 0; border-radius: 8px; background: linear-gradient(135deg, #4680ff, #2363d8); color: #fff; padding: 8px; }
.dntx-theme .brand-mark .icon { inline-size: 25px; block-size: 25px; }
.dntx-auth .auth-brand strong { display: block; font: 800 1.75rem/1.1 Inter, system-ui, sans-serif; letter-spacing: -.8px; }
.dntx-auth .auth-brand small { font: 500 .7rem/1.5 Inter, system-ui, sans-serif; color: var(--dntx-muted); letter-spacing: .6px; }
.dntx-auth .auth-tagline { margin: .9rem 0 0; font-size: .8rem; color: var(--dntx-muted); }
.dntx-auth .auth-card h1 { font-size: 1.2rem; text-align: center; margin-block-end: 1.5rem !important; }
.dntx-auth .auth-card > form > .btn-brand { min-block-size: 46px; }
.dntx-auth .auth-footer { margin-block-start: 1.5rem; padding-block-start: 1rem; border-block-start: 1px solid var(--dntx-border); color: var(--dntx-muted); text-align: center; font: 500 .7rem/1.5 Inter, system-ui, sans-serif; }

/* App shells use Bootstrap 5 offcanvas for focus trapping/Escape/backdrop. */
.dntx-theme .app-shell { min-block-size: 100vh; }
.dntx-theme .clinic-sidebar, .dntx-theme .platform-sidebar { --bs-offcanvas-width: 265px; width: 265px; color: var(--dntx-nav-text); background: var(--dntx-nav) !important; border: 0; flex-shrink: 0; }
.dntx-theme .clinic-sidebar .offcanvas-body, .dntx-theme .platform-sidebar .offcanvas-body { min-height: 0; padding: 1.25rem .9rem !important; }
.dntx-theme .clinic-sidebar .offcanvas-header, .dntx-theme .platform-sidebar .offcanvas-header { border-block-end: 1px solid #26344d; }
.dntx-theme .clinic-sidebar .btn-close, .dntx-theme .platform-sidebar .btn-close { filter: invert(1) grayscale(100%) brightness(200%); }
.dntx-theme .brand-lockup { display: flex; align-items: center; gap: .7rem; color: #fff; padding: .5rem .65rem 1.25rem; border-block-end: 1px solid #26344d; }
.dntx-theme .brand-lockup strong { display: block; color: #fff; font: 800 1.5rem/1.15 Inter, system-ui, sans-serif; letter-spacing: -.6px; }
.dntx-theme .brand-lockup small { display: block; color: #b4c3dc; font: 400 .65rem/1.6 Inter, system-ui, sans-serif; letter-spacing: .7px; }
.dntx-theme .clinic-sidebar .text-secondary, .dntx-theme .platform-sidebar .text-secondary { color: #9dafcc !important; }
.dntx-theme .nav-entry, .dntx-theme .nav-sub { display: flex; align-items: center; gap: .7rem; inline-size: 100%; min-inline-size: 0; color: var(--dntx-nav-text); border-radius: 5px; font-size: .85rem; font-weight: 500; padding: .7rem .8rem; min-block-size: 44px; }
.dntx-theme .nav-entry .icon { inline-size: 18px; block-size: 18px; }
.dntx-theme .nav-entry:hover, .dntx-theme .nav-sub:hover { background: #1d2d4b; color: #fff; }
.dntx-theme .nav-entry.active, .dntx-theme .side-group[open] > summary { background: #2363d8; color: #fff; box-shadow: 0 3px 10px rgb(0 0 0 / 12%); }
.dntx-theme .nav-sub { padding-inline-start: 2.7rem; font-size: .8rem; }
.dntx-theme .side-group summary { list-style: none; cursor: pointer; }
.dntx-theme .side-group summary::-webkit-details-marker { display: none; }
.dntx-theme .clinic-sidebar .border-top, .dntx-theme .platform-sidebar .border-top { border-color: #26344d !important; }
.dntx-theme .clinic-sidebar .btn-outline-secondary, .dntx-theme .platform-sidebar .btn-outline-secondary { --bs-btn-color: #dce6f7; --bs-btn-border-color: #465673; --bs-btn-hover-bg: #263959; --bs-btn-hover-border-color: #5e7496; }
.dntx-theme .clinic-sidebar :focus-visible, .dntx-theme .platform-sidebar :focus-visible { outline-color: #9fc0ff; }
.dntx-theme .clinic-main, .dntx-theme .platform-main { width: 100%; min-inline-size: 0; }
.dntx-theme .clinic-topbar, .dntx-theme .platform-topbar { background: #fff; border-block-end: 1px solid var(--dntx-border); min-block-size: 73px; padding: 1rem 1.75rem; position: sticky; inset-block-start: 0; z-index: 1020; }
.dntx-theme .platform-topbar { display: flex; align-items: center; gap: .75rem; }
.dntx-theme .platform-user { max-inline-size: 220px; }
.dntx-theme .clinic-content, .dntx-theme .platform-content { inline-size: 100%; max-inline-size: 1720px; margin-inline: auto; }
.dntx-theme .smart-wrap { min-inline-size: 0; }
.dntx-theme .smart-input { background: #f4f7fa; border-color: #e3e9f1; border-radius: 5px; }
.dntx-theme .smart-results { max-block-size: min(65vh, 480px); overflow: auto; border-radius: 6px; }
.dntx-theme .search-result { min-inline-size: 0; }
.dntx-theme .search-result > span:last-child { min-inline-size: 0; overflow-wrap: anywhere; }
.dntx-theme .avatar-circle { display: inline-flex; align-items: center; justify-content: center; inline-size: 40px; block-size: 40px; border-radius: 50%; background: #eaf1ff; color: #2457b2; font-weight: 700; flex-shrink: 0; }
.dntx-theme .page-title { font-size: clamp(1.3rem, 2vw, 1.75rem); font-weight: 700; }
.dntx-theme .page-subtitle, .dntx-theme .page-eyebrow { color: var(--dntx-muted); }
.dntx-theme .metric-number, .dntx-theme .portal-metric { font-family: Inter, Cairo, sans-serif; font-size: clamp(1.6rem, 3vw, 2rem); line-height: 1.35; font-weight: 700; letter-spacing: -.7px; }
.dntx-theme .metric-icon { border-radius: 50%; background: #eaf1ff; color: #2363d8; }
.dntx-theme .metric-icon.green { background: #e4f6ef; color: #11795c; }
.dntx-theme .metric-icon.purple { background: #efebfc; color: #6945b4; }
.dntx-theme .metric-icon.rose { background: #feecf0; color: #b23b64; }
.dntx-theme .dashboard-metric { border-block-start: 3px solid var(--dntx-accent); }
.dntx-theme .dashboard-metrics > div > .surface-card, .dntx-theme .dashboard-metrics > div > .portal-card { border-block-start: 3px solid var(--dntx-accent); }
.dntx-theme .dashboard-metrics > div:nth-child(4n+2) > :first-child { border-block-start-color: #20a67a; }
.dntx-theme .dashboard-metrics > div:nth-child(4n+3) > :first-child { border-block-start-color: #8871d6; }
.dntx-theme .dashboard-metrics > div:nth-child(4n+4) > :first-child { border-block-start-color: #d65a80; }
.dntx-theme .portal-mark { font-weight: 800; }
.dntx-theme .portal-label { color: var(--dntx-muted); font-size: .8rem; margin-block-end: .5rem; }
.dntx-theme .portal-top { background: #fff; border-block-end: 1px solid var(--dntx-border); box-shadow: 0 2px 14px rgb(31 47 70 / 4%); }
.dntx-theme .portal-top > .container > .d-flex { flex-wrap: wrap; min-inline-size: 0; }
.dntx-theme .portal-brand { display: inline-flex; align-items: center; gap: .7rem; color: var(--dntx-nav); min-inline-size: 0; }
.dntx-theme .portal-brand strong { font-family: Inter, sans-serif; font-size: 1.2rem; }
.dntx-theme .portal-brand small { font-size: .7rem; }
.dntx-theme .portal-shell { min-block-size: 100vh; }
.dntx-theme .portal-shell main { min-inline-size: 0; }
.dntx-theme .auth-wrap .portal-brand { gap: .5rem; }
.dntx-theme .auth-wrap .portal-mark { inline-size: 36px; block-size: 36px; }

@media (min-width: 992px) {
    .dntx-theme .clinic-sidebar, .dntx-theme .platform-sidebar { position: sticky; inset-block-start: 0; block-size: 100vh; block-size: 100dvh; align-self: flex-start; }
    .dntx-theme .clinic-sidebar .offcanvas-body, .dntx-theme .platform-sidebar .offcanvas-body { block-size: 100%; overflow-y: auto; overscroll-behavior-block: contain; }
}
@media (max-width: 991.98px) {
    .dntx-theme .clinic-topbar, .dntx-theme .platform-topbar { padding: .75rem 1rem; gap: .65rem !important; }
    .dntx-theme .clinic-sidebar, .dntx-theme .platform-sidebar { max-inline-size: calc(100vw - 40px); }
    .dntx-theme .clinic-sidebar .offcanvas-body, .dntx-theme .platform-sidebar .offcanvas-body { overflow-y: auto; flex: 1; }
    .dntx-theme .clinic-content > .d-flex, .dntx-theme .platform-content > .d-flex { flex-wrap: wrap; gap: .75rem; }
}
@media (max-width: 575.98px) {
    .dntx-auth .auth-card, .dntx-portal .auth-card { padding: 1.5rem !important; }
    .dntx-auth .auth-stage, .dntx-portal .auth-wrap { padding: 1rem .75rem; }
    .dntx-theme .clinic-content, .dntx-theme .platform-content { padding: 1rem !important; }
    .dntx-theme .portal-top > .container { gap: .75rem !important; }
    .dntx-theme .portal-top > .container > .d-flex { inline-size: 100%; gap: .4rem !important; }
    .dntx-theme .portal-top .btn { min-block-size: 38px; }
    .dntx-theme .smart-input { padding-inline-end: .65rem; font-size: .8rem; }
    .dntx-theme .platform-user { max-inline-size: 110px; }
    .dntx-theme .metric-number { font-size: 1.6rem; }
    .dntx-theme .clinic-content .d-flex.justify-content-between { flex-wrap: wrap; gap: .65rem; }
}
@media (prefers-reduced-motion: reduce) {
    .dntx-theme *, .dntx-theme *::before, .dntx-theme *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
@media print {
    .dntx-theme .clinic-sidebar, .dntx-theme .platform-sidebar, .dntx-theme .clinic-topbar, .dntx-theme .platform-topbar, .dntx-theme .skip-link { display: none !important; }
    body.dntx-theme { background: #fff; }
    .dntx-theme .table-responsive { overflow: visible; }
    .dntx-theme .surface-card, .dntx-theme .portal-card, .dntx-theme .stat-card { box-shadow: none; }
}

/* Dashboard composition follows the supplied Able Lite visual language. */
.dntx-theme .dashboard-welcome { position: relative; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1.5rem; padding: 1.6rem 1.75rem; background: linear-gradient(115deg, #fff 45%, #edf3ff); border: 1px solid var(--dntx-border); border-inline-start: 4px solid var(--dntx-accent); border-radius: 8px; box-shadow: var(--dntx-shadow); }
.dntx-theme .dashboard-welcome-copy { flex: 1 1 360px; min-inline-size: 0; }
.dntx-theme .dashboard-kicker { display: block; color: #2457b2; font-size: .72rem; font-weight: 700; margin-block-end: .65rem; }
.dntx-theme .dashboard-quick-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .6rem; }
.dntx-theme .dashboard-quick-actions .btn { display: inline-flex; align-items: center; justify-content: center; gap: .35rem; min-block-size: 44px; }
.dntx-theme .dashboard-section-heading { display: flex; align-items: center; gap: .85rem; margin-block-end: 1rem; }
.dntx-theme .dashboard-section-heading h2 { flex-shrink: 0; font-size: .9rem; font-weight: 700; margin: 0; }
.dntx-theme .dashboard-section-rule { height: 1px; background: var(--dntx-border); flex: 1; }
.dntx-theme .primary-metrics > div > :first-child { min-block-size: 150px; padding: 1.35rem !important; }
.dntx-theme .primary-metrics .metric-number { font-size: clamp(1.8rem, 3vw, 2.3rem); }
.dntx-theme .primary-metrics > div:first-child > :first-child { position: relative; background: linear-gradient(135deg, #2363d8, #174cae); color: #fff; border-color: #2363d8; box-shadow: 0 8px 22px rgb(35 99 216 / 19%); }
.dntx-theme .primary-metrics > div:first-child .text-secondary { color: #eaf1ff !important; }
.dntx-theme .primary-metrics > div:first-child .metric-icon { background: rgb(255 255 255 / 17%); color: #fff; }
.dntx-theme .dashboard-tasks { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 205px), 1fr)); gap: .8rem; margin-inline: 0; margin-block-start: 0; }
.dntx-theme .dashboard-tasks > div { inline-size: auto; max-inline-size: 100%; margin: 0; padding: 0; }
.dntx-theme .dashboard-tasks .surface-card { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; gap: .2rem .6rem; border-inline-start: 3px solid #ccdafa; }
.dntx-theme .dashboard-tasks .surface-card > div:first-child { grid-column: 1; margin: 0 !important; }
.dntx-theme .dashboard-tasks .metric-number { grid-column: 2; grid-row: 1 / span 2; align-self: center; font-size: 1.6rem; }
.dntx-theme .dashboard-tasks .surface-card > div:last-child { grid-column: 1; margin: 0 !important; font-size: .72rem; }
.dntx-theme .dashboard-tasks .metric-icon { display: none; }
.dntx-theme .dashboard-tasks a:hover { border-color: #4680ff; box-shadow: 0 6px 20px rgb(35 99 216 / 10%); }
.dntx-theme .dashboard-list-card > .d-flex:first-child { padding-block-end: 1rem; border-block-end: 1px solid var(--dntx-border); }
.dntx-theme .clinic-topbar .btn, .dntx-theme .platform-topbar .btn, .dntx-theme .portal-top .btn { min-block-size: 44px; }
.dntx-theme .offcanvas-header .btn-close { inline-size: 44px; block-size: 44px; box-sizing: border-box; margin: 0; flex-shrink: 0; }

/* Shared SweetAlert feedback: text-only messages and accessible mobile controls. */
.dntx-theme .dntx-alert-container { padding: 1rem; }
.dntx-theme .dntx-alert-container .swal2-popup { inline-size: min(30rem, calc(100vw - 2rem)); max-inline-size: 100%; max-block-size: calc(100vh - 2rem); max-block-size: calc(100dvh - 2rem); overflow-y: auto; overscroll-behavior: contain; padding: 1.5rem; border: 1px solid var(--dntx-border); border-radius: 10px; box-shadow: 0 15px 70px rgb(16 27 51 / 20%); font-family: inherit; color: var(--dntx-ink); }
.dntx-theme .dntx-alert-container .swal2-title { padding: 0; font-size: 1.15rem; line-height: 1.7; overflow-wrap: anywhere; }
.dntx-theme .dntx-alert-container .swal2-html-container { margin: .8rem 0 0; font-size: .9rem; overflow-wrap: anywhere; }
.dntx-theme .dntx-alert-container .swal2-actions { gap: .65rem; inline-size: 100%; margin: 1.4rem 0 0; flex-wrap: wrap; }
.dntx-theme .dntx-alert-container .swal2-actions .btn { flex: 1 1 100px; margin: 0; min-block-size: 44px; }
.dntx-theme .dntx-alert-container .swal2-icon { margin-block: .3rem 1.2rem; }
.dntx-theme .dntx-alert-container .swal2-popup.swal2-toast { inline-size: min(25rem, calc(100vw - 2rem)); padding: .9rem; border-inline-start: 4px solid var(--dntx-accent); }
.dntx-theme .dntx-alert-container .swal2-toast .swal2-title { font-size: .9rem; }
.dntx-theme .dntx-alert-container .swal2-toast .swal2-html-container { font-size: .8rem; }
.dntx-theme .dntx-alert-container .swal2-timer-progress-bar { background: var(--dntx-accent); }
@media (max-width: 575.98px) {
    .dntx-theme .dashboard-welcome { padding: 1.2rem; gap: 1rem; }
    .dntx-theme .dashboard-welcome-copy { flex-basis: 100%; }
    .dntx-theme .dashboard-quick-actions { inline-size: 100%; }
    .dntx-theme .dashboard-quick-actions .btn { flex: 1 1 max-content; max-inline-size: 100%; font-size: .8rem; }
    .dntx-theme .primary-metrics > div > :first-child { min-block-size: 145px; padding: 1rem !important; }
    .dntx-theme .primary-metrics .metric-icon { inline-size: 34px; block-size: 34px; }
    .dntx-theme .primary-metrics .text-secondary { font-size: .76rem; }
    .dntx-theme .primary-metrics .metric-number { font-size: 1.8rem; }
    .dntx-theme .dashboard-tasks { grid-template-columns: minmax(0, 1fr); }
    .dntx-theme .dntx-alert-container .swal2-popup { padding: 1.2rem; }
    .dntx-theme .dntx-alert-container .swal2-title { font-size: 1rem; }
    .dntx-theme .btn-sm { min-block-size: 40px; }
}

/* Compact clinical workspace and shared account tools. */
.dntx-theme .account-toolbar { display:flex; align-items:center; gap:.5rem; flex-shrink:0; }
.dntx-theme .toolbar-popover { position:relative; }
.dntx-theme .toolbar-popover>summary { list-style:none; cursor:pointer; }
.dntx-theme .toolbar-popover>summary::-webkit-details-marker { display:none; }
.dntx-theme .toolbar-icon { display:inline-flex; position:relative; align-items:center; justify-content:center; gap:.4rem; min-inline-size:44px; min-block-size:44px; padding:.55rem; border:1px solid var(--dntx-border); border-radius:12px; background:#fff; color:var(--dntx-ink); }
.dntx-theme .toolbar-icon:hover,.dntx-theme .toolbar-popover[open]>summary { background:#eef4ff; border-color:#bdcff2; }
.dntx-theme .toolbar-icon svg,.dntx-theme .toolbar-chevron { inline-size:21px; block-size:21px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.dntx-theme .toolbar-profile { display:flex; align-items:center; gap:.65rem; min-block-size:44px; padding:.25rem .55rem; border:1px solid transparent; border-radius:12px; }
.dntx-theme .toolbar-profile-name { display:grid; max-inline-size:150px; line-height:1.5; }
.dntx-theme .toolbar-profile-name strong { white-space:nowrap; text-overflow:ellipsis; overflow:hidden; }
.dntx-theme .toolbar-profile-name small { color:var(--dntx-muted); font-size:.7rem; }
.dntx-theme .toolbar-panel { position:absolute; inset-inline-end:0; inset-block-start:calc(100% + .7rem); inline-size:310px; max-inline-size:calc(100vw - 24px); max-block-size:65vh; overflow:auto; background:#fff; border:1px solid var(--dntx-border); border-radius:16px; box-shadow:0 16px 48px rgb(16 27 51 / 16%); padding:.5rem; z-index:1050; }
.dntx-theme .toolbar-panel-title { padding:.65rem .7rem; font-size:1rem; margin:0; border-block-end:1px solid var(--dntx-border); }
.dntx-theme .toolbar-panel-caption { padding:.65rem .7rem .25rem; font-size:.75rem; font-weight:700; color:var(--dntx-muted); }
.dntx-theme .toolbar-panel>a,.dntx-theme .toolbar-menu-logout { display:block; width:100%; padding:.7rem; border:0; border-radius:8px; text-align:start; color:var(--dntx-ink); background:transparent; }
.dntx-theme .toolbar-panel>a:hover,.dntx-theme .toolbar-menu-logout:hover { background:#eef4ff; }
.dntx-theme .toolbar-identity { display:grid; padding:.8rem .7rem; border-block-end:1px solid var(--dntx-border); overflow-wrap:anywhere; }
.dntx-theme .toolbar-identity small { color:var(--dntx-muted); }
.dntx-theme .toolbar-menu-logout,.dntx-theme .toolbar-logout { color:#b93850; }
.dntx-theme .notification-dot { position:absolute; inset-block-start:8px; inset-inline-end:8px; width:7px; height:7px; border-radius:50%; background:#e75a73; }
.dntx-theme .patient-summary { border-block-start:3px solid var(--dntx-accent); }
.dntx-theme .patient-workspace-heading { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-block-start:1.2rem; font-size:.8rem; font-weight:700; color:var(--dntx-muted); }
.dntx-theme .patient-tabs { display:flex; flex-wrap:wrap; gap:.45rem; padding-block:.4rem; border:0; }
.dntx-theme .patient-tabs a { display:block; padding:.65rem .85rem; border:1px solid var(--dntx-border); border-radius:10px; color:var(--dntx-muted); font-size:.82rem; white-space:nowrap; min-block-size:44px; background:#f8fafd; }
.dntx-theme .patient-tabs a.active,.dntx-theme .patient-tabs a:hover { color:#fff; background:var(--dntx-primary); border-color:var(--dntx-primary); }
.dntx-theme .patient-workspace { scroll-margin-block-start:90px; }
.dntx-theme .patient-workspace>[hidden] { display:none!important; }
.dntx-theme .patient-workspace section[id] { scroll-margin-block-start:95px; }
.dntx-theme .dashboard-welcome { background:linear-gradient(115deg,#fff,#eef4ff); border:1px solid #dce6f7; border-radius:18px; padding:1.5rem; }
.dntx-theme .primary-metrics .surface-card { border-block-start:3px solid #4680ff; border-radius:14px; }
.dntx-theme .primary-metrics>div:nth-child(2) .surface-card { border-block-start-color:#7a67d8; }
.dntx-theme .primary-metrics>div:nth-child(3) .surface-card { border-block-start-color:#28a58b; }
.dntx-theme .primary-metrics>div:nth-child(4) .surface-card { border-block-start-color:#db9b48; }
@media(max-width:767.98px) {
 .dntx-theme .clinic-topbar { flex-wrap:wrap; }
 .dntx-theme .clinic-topbar .smart-wrap { order:5; flex-basis:100%; min-inline-size:0; }
 .dntx-theme .toolbar-profile-name,.dntx-theme .toolbar-chevron,.dntx-theme .toolbar-logout span { display:none; }
 .dntx-theme .toolbar-profile { padding:0; }
 .dntx-theme .toolbar-popover { position:static; }
 .dntx-theme .toolbar-panel { position:fixed; inset-inline:12px; inset-block-start:76px; inline-size:auto; max-inline-size:none; }
 .dntx-theme .patient-tabs { flex-wrap:nowrap; overflow-x:auto; overscroll-behavior-inline:contain; max-inline-size:100%; padding-block-end:.65rem; }
 .dntx-theme .patient-tabs a { flex:0 0 auto; }
 .dntx-theme .patient-workspace { scroll-margin-block-start:150px; }
 .dntx-theme .dashboard-welcome { padding:1.1rem; }
 .dntx-theme .table-responsive { max-inline-size:100%; }
 .dntx-theme .portal-top>.container>div { flex-wrap:wrap; justify-content:flex-start; max-inline-size:100%; }
 .dntx-theme .portal-top .btn { min-block-size:44px; }
}
@media(prefers-reduced-motion:reduce) { .dntx-theme * { scroll-behavior:auto!important; } }
@media print {
 .dntx-theme .patient-workspace>[hidden] { display:block!important; }
 .dntx-theme .account-toolbar,.dntx-theme .patient-workspace-heading,.dntx-theme .patient-tabs { display:none!important; }
}
.dntx-theme [data-patient-show-all][hidden] { display:none!important; }
/* Tenant identity and accessible, replayable role tour. */
.dntx-theme .btn-outline-primary { --bs-btn-color:var(--dntx-primary);--bs-btn-border-color:var(--dntx-primary);--bs-btn-hover-bg:var(--dntx-primary);--bs-btn-hover-border-color:var(--dntx-primary); }
.dntx-theme .brand-mark { background:var(--dntx-primary); }
.workspace-tour { border:1px solid #dce6f7; border-radius:20px; padding:1.5rem; width:min(460px,calc(100vw - 24px)); color:#25324b; background:#fff; box-shadow:0 20px 70px #101b3333; }
.workspace-tour::backdrop { background:rgb(16 27 51 / 45%); }
.workspace-tour [data-tour-steps] { display:none!important; }
.tour-highlight { outline:3px solid #4680ff!important; outline-offset:3px; }
@media print { .workspace-tour { display:none!important; } .prescription-document { box-shadow:none!important;border:0!important; } }
@media(max-width:575.98px) { .account-toolbar { gap:.3rem!important; } .dntx-theme .toolbar-icon { min-inline-size:40px;padding:.4rem; } }
.dntx-theme .btn-primary:hover,.dntx-theme .btn-brand:hover { background:var(--dntx-primary);border-color:var(--dntx-primary);filter:brightness(.9); }
@media(max-width:359.98px) { .dntx-theme .clinic-topbar { gap:.4rem!important; padding-inline:.6rem; } .dntx-theme .account-toolbar { gap:.2rem!important; } }
