/* ClearlyDent Practice · shared workspace, local assets only */
:root {
  --ink: #183540;
  --navy: #102f3e;
  --navy-2: #163c49;
  --accent: #087f75;
  --accent-strong: #07695f;
  --gold: #bd8c43;
  --bg: #f3f6f4;
  --surface: #ffffff;
  --surface-2: #f7faf8;
  --line: #dfe7e3;
  --border: var(--line);
  --muted: #657a80;
  --danger: #be424c;
  --radius: 16px;
  --shadow: 0 3px 12px rgba(16,47,62,.025);
  --shadow-lg: 0 20px 60px rgba(16,47,62,.12);
  --sidebar: 254px;
}
html { scroll-padding-top: 95px; }
body { font-family: "Segoe UI", -apple-system, BlinkMacSystemFont, Arial, sans-serif; color: var(--ink); background: var(--bg); font-size: 14px; -webkit-font-smoothing: antialiased; }
[dir="rtl"] body { font-family: Tahoma, "Segoe UI", Arial, sans-serif; line-height: 1.8; }
a, button, summary { -webkit-tap-highlight-color: transparent; }
button, a, summary, input, select, textarea { touch-action: manipulation; }
button:disabled, .btn:disabled { cursor: not-allowed; opacity: .6; }
:focus-visible { outline: 3px solid #1e9789; outline-offset: 4px; }
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; inset-block-start: -100px; inset-inline-start: 18px; z-index: 99999; background: #fff; border: 2px solid var(--accent); color: var(--ink); padding: 12px 18px; border-radius: 10px; }
.skip-link:focus { inset-block-start: 12px; }
.sidebar { padding: 24px 14px 14px; background: #102f3e; box-shadow: none; }
.sidebar-head { padding: 0 9px 22px; gap: 10px; }
.brand { gap: 11px; }
.brand-mark { flex: 0 0 39px; width: 39px; height: 39px; border-radius: 12px; box-shadow: none; background: #087f75; }
.brand-mark img { width: 100%; height: 100%; object-fit: contain; }
.brand strong { font-size: 17px; font-weight: 650; letter-spacing: -.4px; color: #fff; max-width: 160px; }
.brand small { margin-top: 1px; font-size: 10px; text-transform: none; letter-spacing: .02em; color: #9bb8bd; }
.practice-chip { display: flex; align-items: center; gap: 8px; margin: 0 7px 20px; padding: 10px; border: 1px solid #2c4b57; border-radius: 9px; color: #c5d8db; font-size: 11px; }
.practice-chip > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.practice-chip-mark { display: flex; color: #8fcabe; }
.side-nav { display: block; flex: 1; padding: 0 2px 18px; scrollbar-color: #33525c transparent; }
.nav-pinned { padding-bottom: 17px; margin-bottom: 7px; border-bottom: 1px solid #284653; }
.nav-link { gap: 11px; padding: 10px 12px; min-height: 40px; border-radius: 8px; color: #c0d1d6; font-size: 12px; line-height: 1.45; transition: background .16s, color .16s; }
.nav-link > span { min-width: 0; }
.nav-link:hover, [dir=rtl] .nav-link:hover { transform: none; background: #1a3d4c; color: #fff; }
.nav-link.active { background: #235148; color: #fff; font-weight: 650; box-shadow: inset 3px 0 #73d0b6; }
[dir=rtl] .nav-link.active { box-shadow: inset -3px 0 #73d0b6; }
.nav-link.active .icon { color: #9de5cf; }
.nav-pinned .nav-link { margin-bottom: 4px; }
.nav-group { margin: 3px 0; }
.nav-group > summary { list-style: none; display: flex; gap: 9px; align-items: center; padding: 12px 9px; color: #9cb6be; cursor: pointer; font-size: 11px; font-weight: 650; border-radius: 8px; }
.nav-group > summary::-webkit-details-marker { display: none; }
.nav-group > summary:hover { color: #fff; background: #1a3c49; }
.nav-group > summary > span { flex: 1; }
.nav-group > summary small { color: #78979f; font-size: 10px; font-weight: 400; }
.nav-chevron { transition: transform .15s; }
.nav-group[open] > summary .nav-chevron { transform: rotate(90deg); }
[dir=rtl] .nav-group:not([open]) > summary .nav-chevron { transform: rotate(180deg); }
.nav-group-links { display: grid; gap: 2px; padding-bottom: 10px; }
.nav-group-links .nav-link { padding-inline-start: 16px; font-size: 12px; }
.nav-group-links .nav-link > .icon { width: 16px; height: 16px; color: #8cabb2; }
.sidebar-foot { flex-shrink: 0; padding: 17px 8px 3px; border-color: #2b4753; }
.user-chip .avatar { width: 34px; height: 34px; border-radius: 50%; background: #30505c; color: #e2eeec; font-size: 12px; }
.user-chip strong { font-size: 11px; font-weight: 600; }
.user-chip small { font-size: 10px; color: #99b2ba; }
.sidebar-foot .icon-button { width: 30px; height: 32px; border: 0; border-radius: 7px; color: #9cb6bd; background: transparent; }
.sidebar-close { display: none; }
.app-main { min-width: 0; }
.topbar { min-height: 83px; padding: 17px 30px; background: rgba(255,255,255,.93); border-bottom: 1px solid #e0e7e4; backdrop-filter: blur(10px); }
.topbar-left { min-width: 0; gap: 13px; }
.topbar-left > div { min-width: 0; }
.page-kicker { font-size: 9px; letter-spacing: .1em; color: #62766e; font-weight: 600; }
.page-kicker > span { color: #bcc9ca; margin: 0 5px; }
.topbar h1 { font-size: 21px; font-weight: 650; letter-spacing: -.5px; line-height: 1.3; margin-top: 4px; }
.topbar-actions { flex-shrink: 0; gap: 10px; }
.topbar-actions .icon-button { width: 36px; height: 36px; border-color: #e4eae7; border-radius: 9px; color: #6b7f86; }
.topbar-call { font-size: 11px; font-weight: 650; min-height: 36px; padding: 8px 12px; background: #edf7f2; color: #1a6a5b; border: 1px solid #cde6da; border-radius: 8px; }
.language-control { display: flex; align-items: center; margin: 0; }
.lang-switch { width: auto; min-width: 66px; min-height: 36px; padding: 7px 22px 7px 10px; border-radius: 8px; font-size: 11px; font-weight: 650; color: #526a73; border: 1px solid #e4eae7; }
[dir=rtl] .lang-switch { padding: 7px 10px 7px 22px; }
.notification-dot { border-width: 1px; font-size: 9px; min-width: 16px; height: 16px; inset-inline-end: -4px; inset-block-start: -4px; right: auto; }
.workspace { max-width: 1640px; padding: 28px 30px 66px; min-width: 0; }
.workspace:focus { outline: 0; }
.app-footer { font-size: 11px; background: #fff; border-color: #e0e7e4; color: #62766e; padding: 19px 24px; }
.app-footer a { display: inline; color: #647b83; }
.app-footer a:hover { color: var(--accent-strong); }
.app-footer strong { font-weight: 650; color: #335a65; }
.btn { font-weight: 650; font-size: 12px; border-radius: 9px; min-height: 40px; padding: 10px 14px; }
.btn:hover, .icon-button:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(16,47,62,.07); }
.btn.primary { background: var(--accent-strong); box-shadow: none; }
.btn.soft { background: #edf7f2; color: #1a6a5b; border-color: #d6e9df; }
.icon-button { border-radius: 9px; }
.text-link { display: inline-flex; gap: 7px; align-items: center; font-size: 11px; font-weight: 650; color: #127263; white-space: nowrap; }
.text-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.panel { padding: 24px; border-radius: 15px; min-width: 0; margin-bottom: 20px; }
.panel h2 { font-size: 18px; font-weight: 650; letter-spacing: -.4px; margin: 5px 0 6px; }
.panel h3 { font-size: 16px; font-weight: 650; }
.panel > p { color: var(--muted); }
.section-heading { display: flex; gap: 20px; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.section-heading > div { min-width: 0; }
.section-heading h2 { display: flex; align-items: center; gap: 8px; margin: 4px 0 6px; font-size: 18px; font-weight: 650; letter-spacing: -.4px; }
.section-heading p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.65; }
.eyebrow { font-size: 10px; font-weight: 650; letter-spacing: .07em; text-transform: uppercase; color: #527365; margin: 0; }
.workspace-hero { display: grid; grid-template-columns: minmax(0,1fr) 210px; gap: 24px; min-height: 242px; overflow: hidden; position: relative; padding: 33px 36px; border-radius: 18px; color: #fff; background: radial-gradient(ellipse at 86% 20%,rgba(39,102,103,.4),transparent 60%),#103746; margin-bottom: 25px; }
.workspace-hero::before { content: ""; position: absolute; inset-inline-end: 90px; inset-block-start: -180px; width: 480px; height: 480px; border: 1px solid rgba(170,218,205,.065); border-radius: 50%; pointer-events: none; }
.workspace-hero::after { content: ""; position: absolute; inset-inline-end: 26px; inset-block-start: -230px; width: 600px; height: 600px; border: 1px solid rgba(170,218,205,.05); border-radius: 50%; pointer-events: none; }
.workspace-hero-copy, .workspace-day { position: relative; z-index: 1; }
.workspace-hero .eyebrow { color: #a5c8be; letter-spacing: .025em; text-transform: none; font-size: 11px; margin-bottom: 12px; }
.workspace-hero h2 { max-width: 640px; font-size: clamp(29px,3vw,40px); font-weight: 550; line-height: 1.16; letter-spacing: -1.35px; margin: 0 0 13px; }
.workspace-hero-copy > p:not(.eyebrow) { color: #b8cfd0; font-size: 12px; max-width: 590px; margin: 0; line-height: 1.85; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 23px; }
.hero-actions .btn { font-size: 11px; min-height: 38px; border-radius: 8px; padding-inline: 14px; }
.hero-primary { color: #1c504b; background: #d4eee1; border-color: #d4eee1; }
.hero-primary:hover { background: #e4f8ed; }
.hero-secondary { color: #dce8e7; background: rgba(255,255,255,.025); border-color: #46656e; }
.hero-secondary:hover { background: rgba(255,255,255,.07); }
.workspace-day { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; border-inline-start: 1px solid #385a63; padding-inline-start: 25px; text-align: center; }
.workspace-day > span { color: #a4c0c3; font-size: 10px; text-transform: uppercase; letter-spacing: .09em; }
.workspace-day > strong { color: #e2efea; font-size: 21px; font-weight: 500; font-variant-numeric: tabular-nums; letter-spacing: .02em; }
.workspace-day > small { font-size: 10px; color: #acc5c6; max-width: 170px; overflow-wrap: anywhere; }
.day-symbol { display: grid; place-items: center; width: 54px; height: 54px; margin-bottom: 6px; border: 1px solid #51716e; color: #b0d8c4; border-radius: 17px; background: rgba(170,218,195,.045); }
.day-rule { width: 32px; height: 1px; background: #45696f; margin: 5px 0; }
.snapshot-heading { margin-bottom: 12px; }
.snapshot-heading .eyebrow { font-size: 10px; color: #607d76; }
.snapshot-heading p { margin-top: 3px; font-size: 10px; color: #62766e; }
.workspace-stats { grid-template-columns: repeat(auto-fit,minmax(165px,1fr)); gap: 15px; margin: 0 0 23px; }
.workspace-stats article { padding: 20px 19px 18px; border-radius: 13px; box-shadow: none; }
.workspace-stats article::after { content: none; }
.metric-label { display: flex; align-items: center; gap: 10px; justify-content: space-between; min-height: 29px; }
.workspace-stats .metric-label > span { color: #516c75; font-size: 11px; font-weight: 600; }
.metric-icon { display: grid; place-items: center; flex: 0 0 30px; height: 30px; background: #f1f5f3; color: #70938b; border-radius: 9px; font-style: normal; }
.metric-icon.amber, .resource-icon.amber { color: #ae8742; background: #fbf5e9; }
.metric-icon.teal { color: #31877b; background: #eaf6f1; }
.workspace-stats .metric-value { font-size: 32px; font-weight: 550; color: #183d48; line-height: 1.3; letter-spacing: -1.1px; margin: 12px 0 8px; font-variant-numeric: tabular-nums; }
.workspace-stats small { font-size: 9.5px; color: #62766e; line-height: 1.7; }
.workspace-columns { display: grid; grid-template-columns: minmax(0,1fr) 292px; gap: 21px; }
.workspace-primary, .workspace-secondary { min-width: 0; }
.schedule-panel { padding-bottom: 5px; }
.schedule-panel .section-heading { margin-bottom: 17px; }
.table-wrap { min-width: 0; max-width: 100%; overscroll-behavior-inline: contain; border-radius: 0; scrollbar-width: thin; scrollbar-color: #a3bdb3 transparent; }
.agenda-table { min-width: 490px; }
.agenda-table th { padding: 11px 10px; background: #f8faf9; font-size: 9px; text-transform: uppercase; color: #62766e; font-weight: 600; border-bottom: 1px solid #e7eeeb; letter-spacing: .06em; }
.agenda-table td { padding: 17px 10px; font-size: 11px; border-bottom-color: #edf1ee; }
.agenda-table tr:last-child td { border-bottom: 0; }
.agenda-table tbody tr:hover { background: #fbfdfb; }
.time-cell { color: #2b535d; font-weight: 650; font-variant-numeric: tabular-nums; }
.patient-name { color: #254c56; font-weight: 650; }
a.patient-name:hover { color: var(--accent-strong); text-decoration: underline; }
.cell-note { display: block; color: #62766e; margin-top: 3px; font-size: 9px; }
.badge { font-size: 9px; font-weight: 600; padding: 5px 8px; border-radius: 6px; background: #f1f4f4; color: #6c8389; white-space: nowrap; }
.badge.green { color: #3a8064; background: #eaf5ec; }
.badge.amber { color: #805c1b; background: #fbf3dd; }
.badge.teal { color: #2a7a6c; background: #e7f4ef; }
.workspace-resource-grid { display: grid; gap: 10px; }
.resource-card { display: grid; grid-template-columns: 35px minmax(0,1fr) auto; gap: 11px; align-items: center; padding: 13px; border: 1px solid #e6ece8; border-radius: 10px; background: #fcfdfb; transition: border-color .15s, background .15s; }
.resource-card:hover { border-color: #9fc7b7; background: #f7fcf8; }
.resource-icon { display: grid; place-items: center; width: 35px; height: 35px; border-radius: 9px; background: #eef5f1; color: #5c9283; }
.resource-card strong { display: block; color: #345b64; font-size: 11px; font-weight: 600; }
.resource-card small { display: block; margin-top: 4px; color: #62766e; font-size: 10px; line-height: 1.6; }
.resource-card > .icon { color: #829d9c; }
.resource-value { color: #3c655f; font-size: 12px; font-weight: 650; font-variant-numeric: tabular-nums; text-align: end; }
.quick-panel { padding: 23px 20px; }
.quick-panel .section-heading { margin-bottom: 14px; }
.quick-panel .section-heading h2 { font-size: 12px; font-weight: 500; line-height: 1.65; letter-spacing: 0; color: #62766e; margin-top: 8px; }
.quick-panel .eyebrow { color: #54786e; }
.action-list { display: grid; gap: 6px; }
.action-list a { display: grid; grid-template-columns: 33px minmax(0,1fr) 15px; gap: 10px; align-items: center; padding: 10px 8px; border-radius: 9px; transition: background .15s; }
.action-list a:hover { background: #f1f8f3; }
.action-icon { display: grid; place-items: center; width: 33px; height: 33px; border-radius: 10px; background: #f1f6f2; color: #598779; }
.action-list strong { font-size: 11px; font-weight: 550; color: #446670; line-height: 1.7; }
.action-list a > .icon { color: #99b0a8; }
.coordination-card { padding: 24px; border: 1px solid #dbe6de; border-radius: 15px; background: #eaf2ed; }
.coordination-icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; background: #d7e9df; border: 1px solid #c9e1d2; color: #50856d; margin-bottom: 20px; }
.coordination-card > .eyebrow { font-size: 9px; color: #51715d; margin-bottom: 8px; }
.coordination-card h2 { font-size: 21px; color: #32574a; line-height: 1.35; letter-spacing: -.55px; font-weight: 550; margin: 0 0 12px; }
.coordination-card > p:not(.eyebrow) { font-size: 11px; color: #577163; line-height: 1.9; margin: 0; }
.role-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 19px 0; }
.role-tags > span { padding: 5px 7px; font-size: 8px; color: #51715d; border: 1px solid #cddfd2; border-radius: 5px; background: rgba(255,255,255,.25); }
.coordination-card .btn { width: 100%; font-size: 11px; color: #456d58; background: #f8fcf8; border-color: #cfdfd3; }
.workspace-permission-note { display: flex; gap: 7px; padding: 3px 5px; font-size: 10px; color: #62766e; line-height: 1.8; margin-top: 19px; }
.workspace-permission-note > .icon { margin-top: 3px; }
.empty-state { border: 0; background: none; padding: 38px 18px; color: #62766e; font-size: 12px; }
.empty-state p { margin: 12px 0; }
.empty-state .text-link { justify-content: center; }
.directory-hero { display: flex; justify-content: space-between; align-items: center; gap: 30px; padding: 12px 0 26px; }
.directory-hero h2 { font-size: clamp(27px,3vw,36px); font-weight: 550; line-height: 1.2; letter-spacing: -1px; color: #204652; margin: 10px 0 13px; }
.directory-hero p { color: #71878b; font-size: 12px; max-width: 660px; margin: 0; line-height: 1.8; }
.directory-count { flex-shrink: 0; display: flex; align-items: center; gap: 11px; border-inline-start: 1px solid #d5e2d9; padding-inline-start: 24px; max-width: 180px; }
.directory-count strong { font-size: 40px; font-weight: 450; line-height: 1.1; letter-spacing: -1.3px; color: #3f7560; }
.directory-count span { font-size: 11px; line-height: 1.7; color: #62766e; }
.module-filter-panel { padding: 20px; background: #fff; border: 1px solid var(--line); border-radius: 14px; }
.module-search { display: flex; align-items: center; gap: 12px; max-width: 590px; color: #83a091; }
.module-search input { border: 0; border-bottom: 1px solid #e3ebe5; border-radius: 0; padding: 10px 0; font-size: 13px; color: #365c64; }
.module-search input:focus { box-shadow: none; border-color: #71a892; }
.module-search input::placeholder { color: #62766e; }
.filter-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.filter-chip { padding: 8px 12px; background: #f8faf7; border: 1px solid #e0e9e1; color: #62766e; font-size: 11px; border-radius: 7px; cursor: pointer; }
.filter-chip:hover { background: #eaf4ed; border-color: #c5ddcc; }
.filter-chip.active { background: #2c6655; border-color: #2c6655; color: #fff; }
.directory-guidance { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; color: #62766e; font-size: 10px; line-height: 1.8; margin: 16px 3px 27px; }
.directory-guidance .text-link { margin-inline-start: auto; }
.module-section { margin-bottom: 32px; }
.module-section .section-heading { margin-bottom: 16px; }
.module-section .section-heading h2 { font-size: 17px; }
.module-section .section-heading h2 > .icon { color: #527365; }
.section-counter { display: grid; place-items: center; min-width: 26px; height: 26px; padding: 3px; border-radius: 8px; background: #e8efea; color: #6d8d7b; font-size: 11px; }
.module-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.module-card { display: grid; grid-template-columns: 41px minmax(0,1fr); gap: 15px; background: #fff; padding: 22px 19px; border: 1px solid #dfe8e1; border-radius: 13px; transition: border-color .15s, box-shadow .15s; }
.module-card:hover { border-color: #8bb9a1; box-shadow: 0 4px 20px rgba(48,97,72,.045); }
.module-card-icon { display: grid; place-items: center; width: 41px; height: 41px; background: #f0f6f1; color: #548574; border-radius: 12px; }
.module-card h3 { color: #355963; font-size: 13px; line-height: 1.55; font-weight: 650; margin: 2px 0 7px; }
.module-card p { font-size: 10px; color: #62766e; line-height: 1.85; margin: 0; }
.module-card-open { display: flex; align-items: center; gap: 7px; grid-column: 2; color: #628d78; font-size: 10px; font-weight: 600; margin-top: 1px; }
.admin-hero { grid-template-columns: minmax(0,1fr) 240px; }
.admin-hero-facts { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; align-content: center; gap: 15px; padding-inline-start: 24px; border-inline-start: 1px solid #385a63; }
.admin-hero-facts > div { display: flex; flex-direction: column; gap: 7px; padding: 4px 0; }
.admin-hero-facts span { font-size: 10px; color: #a5c6c3; }
.admin-hero-facts strong { font-size: 30px; font-weight: 450; line-height: 1.2; }
.admin-hero-facts > p { grid-column: 1/-1; color: #d2e4de; font-size: 11px; line-height: 1.9; margin: 7px 0 0; }
.admin-hero-facts small { color: #85aaa8; font-size: 10px; }
.admin-section { margin: 28px 0 34px; }
.admin-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; }
.admin-card-grid.essential-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.admin-card { position: relative; display: flex; flex-direction: column; background: #fff; padding: 24px 22px 20px; border: 1px solid #dfe7e2; border-radius: 13px; transition: border-color .15s, box-shadow .15s; }
.admin-card:hover { border-color: #8fb4a3; box-shadow: 0 4px 20px rgba(48,97,72,.045); }
.admin-card.featured { background: #fafffa; border-color: #d9e8dc; }
.admin-card-icon { width: 41px; height: 41px; display: grid; place-items: center; color: #648b7e; border: 1px solid #e7eee6; border-radius: 11px; background: #f2f6f0; margin-bottom: 19px; }
.admin-card.featured .admin-card-icon { background: #e5f2e9; color: #3d795f; border-color: #d5e7d9; }
.admin-card h3 { margin: 0 0 9px; color: #315963; font-size: 14px; font-weight: 650; line-height: 1.55; }
.admin-card p { margin: 0 0 20px; color: #62766e; font-size: 11px; line-height: 1.85; }
.admin-card-link { display: flex; align-items: center; gap: 7px; margin-top: auto; font-size: 10px; font-weight: 600; color: #638b78; }
input, select, textarea { border-color: #dce5df; border-radius: 8px; font-size: 13px; }
input[type=checkbox], input[type=radio] { width: auto; accent-color: #18745f; }
.form-grid > *, .grid2 > *, .settings-shell > * { min-width: 0; }
.form-grid label { color: #527069; font-weight: 600; }
.form-grid label input, .form-grid label select, .form-grid label textarea { font-weight: 400; }
input::placeholder, textarea::placeholder { color: #9aaba4; }
input:focus, select:focus, textarea:focus { border-color: #8db4a4; box-shadow: 0 0 0 3px #edf6ef; }
.alert { border-radius: 10px; font-size: 12px; line-height: 1.75; }
.callout { border-radius: 10px; color: #6b867c; font-size: 12px; line-height: 1.8; background: #f5f8f3; }
.toolbar, .searchbar { flex-wrap: wrap; }
.timeline-item::before { left: auto; right: auto; inset-inline-start: 5px; }
[dir=rtl] .eyebrow, [dir=rtl] .page-kicker, [dir=rtl] .brand strong, [dir=rtl] .topbar h1, [dir=rtl] .workspace-hero h2, [dir=rtl] .section-heading h2, [dir=rtl] .directory-hero h2 { letter-spacing: 0; }
[dir=rtl] .workspace-hero h2 { line-height: 1.5; }
[dir=rtl] .nav-group-links .nav-link { font-size: 12px; }
[dir=rtl] .nav-group > summary { font-size: 11px; }
[dir=rtl] .module-card-open > .icon, [dir=rtl] .text-link > .icon:last-child, [dir=rtl] .resource-card > .icon, [dir=rtl] .hero-secondary > .icon, [dir=rtl] .admin-card-link > .icon { transform: rotate(180deg); }
.auth { background: #f0f4f1; min-height: 100vh; display: flex; flex-direction: column; justify-content: center; padding: 22px; }
.login-shell { min-height: 620px; width: min(1080px,100%); margin: 24px auto; border-radius: 24px; border: 1px solid #dce7df; box-shadow: 0 18px 60px rgba(22,67,49,.09); }
.login-hero { background: radial-gradient(ellipse at 20% 15%,#1f554d,transparent 80%),#113747; padding: 48px; }
.login-hero .brand-mark { width: 50px; height: 50px; border-radius: 14px; margin-bottom: 25px; }
.login-hero .eyebrow { color: #a3c9b5; font-size: 10px; }
.login-hero h1 { font-size: clamp(30px,4vw,45px); line-height: 1.17; letter-spacing: -1.2px; font-weight: 550; margin: 20px 0 19px; }
.login-hero p { font-size: 13px; line-height: 1.9; color: #a8c7c1; }
.role-cards { gap: 10px; margin-top: 28px; }
.role-card { border-radius: 11px; padding: 13px; text-align: start; background: rgba(255,255,255,.035); border-color: rgba(194,226,212,.16); grid-template-columns: 22px minmax(0,1fr); }
.role-card strong { font-size: 11px; font-weight: 600; }
.role-card small { font-size: 9px; color: #8dafaa; }
.role-card:hover, .role-card.active { transform: none; border-color: #74a899; }
.login-shell > .login { padding: 45px; align-self: center; border: 0; text-align: start; }
.login h2 { color: #2e564e; font-size: 26px; font-weight: 550; margin: 9px 0; letter-spacing: -.5px; }
.login > p { color: #62766e; font-size: 12px; line-height: 1.9; }
.login label { color: #607c6b; font-weight: 600; margin-top: 21px; font-size: 11px; }
.login label input { margin-top: 7px; }
.login .btn { margin-top: 12px; background: #2b7056; }
.login > small { display: block; font-size: 10px; color: #62766e; margin-top: 17px; line-height: 1.8; }
.auth-footer { color: #62766e; font-size: 11px; text-align: center; padding: 0 20px 12px; }
.auth-footer a { color: #5e816c; }
.auth-language { display: flex; justify-content: flex-end; gap: 8px; margin-bottom: 24px; }
.auth-language a { padding: 5px 8px; color: #62766e; font-size: 11px; border-radius: 6px; }
.auth-language a.active { color: #3f7254; background: #edf5ee; }
@media (min-width: 1550px) {
  .workspace { padding-inline: 38px; }
  .topbar { padding-inline: 38px; }
  .workspace-columns { grid-template-columns: minmax(0,1fr) 318px; }
  .workspace-resource-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 1250px) {
  .workspace { padding-inline: 23px; }
  .topbar { padding-inline: 23px; }
  .workspace-columns { grid-template-columns: minmax(0,1fr) 265px; gap: 17px; }
  .workspace-hero { padding: 28px; grid-template-columns: minmax(0,1fr) 180px; }
  .workspace-hero h2 { font-size: 32px; }
  .workspace-hero-copy > p:not(.eyebrow) { font-size: 11px; }
  .workspace-stats { gap: 11px; }
  .workspace-stats article { padding: 16px 14px; }
  .workspace-stats .metric-label > span { font-size: 10px; }
  .module-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .admin-card-grid.essential-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .admin-card-grid { gap: 12px; }
}
@media (max-width: 1100px) {
  .sidebar { transform: translateX(-105%); transition: transform .2s ease; width: 270px; }
  [dir=rtl] .sidebar { transform: translateX(105%); }
  .nav-open .sidebar, [dir=rtl] .nav-open .sidebar { transform: none; }
  .app-main { margin-inline-start: 0; }
  .sidebar-close, .menu-button { display: grid; }
  .sidebar-close { flex: 0 0 30px; width: 30px; height: 30px; border: 0; font-size: 21px; }
  .scrim { display: block; position: fixed; inset: 0; z-index: 35; border: 0; background: rgba(12,35,47,.45); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .2s; border-radius: 0; width: 100%; height: 100%; }
  .nav-open .scrim { opacity: 1; visibility: visible; pointer-events: auto; }
  .nav-open-body { overflow: hidden; }
  .workspace-columns { grid-template-columns: minmax(0,1fr) 284px; }
  .workspace-hero h2 { font-size: 35px; }
}
@media (max-width: 800px) {
  .topbar { min-height: 75px; padding: 13px 18px; gap: 12px; }
  .topbar h1 { font-size: 18px; }
  .topbar-actions { gap: 7px; }
  .topbar-call > span { display: none; }
  .topbar-call { width: 36px; height: 36px; padding: 0; }
  .topbar-search { display: none !important; }
  .workspace { padding: 22px 18px 60px; }
  .workspace-columns { grid-template-columns: 1fr; }
  .workspace-secondary { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 17px; align-items: start; }
  .workspace-secondary .panel { margin-bottom: 0; }
  .workspace-permission-note { grid-column: 1/-1; margin-top: 0; }
  .workspace-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .workspace-stats .metric-label > span { font-size: 11px; }
  .workspace-hero { grid-template-columns: minmax(0,1fr) 160px; padding: 25px; }
  .workspace-hero h2 { font-size: 31px; }
  .workspace-day { padding-inline-start: 20px; }
  .workspace-day > strong { font-size: 18px; }
  .admin-hero-facts { padding-inline-start: 16px; }
  .admin-hero-facts span { font-size: 9px; }
  .admin-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .auth { padding: 0; }
  .login-shell { grid-template-columns: 1fr; min-height: 0; width: 100%; margin: 0; border: 0; border-radius: 0; }
  .login-hero { padding: 30px 28px; }
  .login-hero h1 { max-width: 600px; font-size: 32px; }
  .role-cards { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .login-shell > .login { width: 100%; padding: 35px 28px; }
  .auth-footer { margin-top: 18px; }
}
@media (max-width: 550px) {
  .topbar { padding: 12px; }
  .topbar-left { gap: 9px; }
  .page-kicker { font-size: 8px; letter-spacing: 0; }
  .topbar h1 { font-size: 16px; margin-top: 3px; }
  .topbar-actions .icon-button { display: none; }
  .topbar-actions .topbar-call { display: inline-flex; }
  .lang-switch { min-width: 56px; font-size: 10px; }
  .workspace { padding: 16px 12px 46px; }
  .workspace-hero { grid-template-columns: minmax(0,1fr); gap: 18px; padding: 24px 22px; border-radius: 15px; min-height: 0; margin-bottom: 21px; }
  .workspace-hero h2 { font-size: 30px; max-width: 290px; letter-spacing: -.7px; }
  .workspace-hero-copy > p:not(.eyebrow) { font-size: 11px; max-width: 100%; }
  .workspace-hero .eyebrow { font-size: 10px; }
  .workspace-day { flex-direction: row; justify-content: flex-start; flex-wrap: wrap; gap: 8px; border-inline-start: 0; border-top: 1px solid #3b5b62; padding: 15px 0 0; text-align: start; }
  .workspace-day > strong { font-size: 12px; }
  .workspace-day > span { font-size: 9px; }
  .workspace-day > small { font-size: 9px; max-width: none; }
  .workspace-day > small:last-child { display: none; }
  .day-symbol, .day-rule { display: none; }
  .hero-actions { gap: 8px; margin-top: 20px; }
  .hero-actions .btn { font-size: 10px; padding-inline: 12px; }
  .workspace-stats { gap: 10px; margin-bottom: 20px; }
  .workspace-stats article { padding: 15px 14px; border-radius: 11px; }
  .workspace-stats .metric-label > span { font-size: 10px; }
  .metric-icon { flex-basis: 26px; height: 26px; border-radius: 7px; }
  .metric-icon .icon { width: 15px; height: 15px; }
  .workspace-stats .metric-value { font-size: 29px; margin: 10px 0 7px; }
  .workspace-stats small { font-size: 8.5px; }
  .snapshot-heading .text-link { font-size: 10px; }
  .panel { padding: 20px 16px; border-radius: 13px; }
  .schedule-panel { padding-bottom: 4px; }
  .section-heading { gap: 14px; align-items: flex-start; }
  .section-heading h2 { font-size: 16px; }
  .section-heading p { font-size: 10px; }
  .section-heading .text-link { font-size: 10px; }
  .section-heading .text-link > .icon { width: 13px; height: 13px; }
  .resource-panel .section-heading { flex-wrap: wrap; }
  .resource-card { padding: 12px 10px; gap: 9px; }
  .resource-card small { font-size: 9px; }
  .resource-value { font-size: 10px; max-width: 105px; }
  .workspace-secondary { grid-template-columns: 1fr; }
  .quick-panel { margin-bottom: 0; }
  .action-list { grid-template-columns: 1fr; }
  .coordination-card { padding: 23px; }
  .coordination-card h2 { font-size: 22px; }
  .role-tags > span { font-size: 9px; }
  .app-footer { padding-bottom: 75px; font-size: 10px; }
  .app-footer .footer-dot, .app-footer > span:last-child { display: inline; }
  .directory-hero { align-items: flex-start; gap: 18px; padding: 8px 1px 23px; }
  .directory-hero h2 { font-size: 28px; max-width: 270px; }
  .directory-hero p { font-size: 11px; }
  .directory-count { display: none; }
  .module-filter-panel { padding: 16px; border-radius: 12px; }
  .filter-chips { gap: 7px; }
  .filter-chip { font-size: 10px; padding: 7px 9px; }
  .module-card-grid, .admin-card-grid, .admin-card-grid.essential-grid { grid-template-columns: 1fr; }
  .module-card { padding: 20px; gap: 16px; }
  .module-card h3 { font-size: 14px; }
  .module-card p { font-size: 11px; }
  .admin-card { padding: 22px; }
  .admin-card-grid.essential-grid { gap: 12px; }
  .admin-hero-facts { padding: 15px 0 0; border-inline-start: 0; border-top: 1px solid #3b5b62; gap: 11px; }
  .admin-hero-facts > div { flex-direction: row; gap: 10px; align-items: center; }
  .admin-hero-facts strong { font-size: 21px; }
  .admin-hero-facts > p { margin: 0; font-size: 10px; }
  .admin-hero-facts > p > br { display: none; }
  .admin-hero-facts > p > small { margin-inline-start: 8px; }
  .role-cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .role-card { padding: 11px; }
  .login-hero h1 { font-size: 31px; }
  .login-hero { padding: 28px 22px; }
  .login-shell > .login { padding: 30px 24px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .btn:hover, .icon-button:hover, .metric:hover, .quick a:hover, .quick button:hover { transform: none; }
}
@media print {
  .sidebar, .topbar, .scrim, .skip-link, .workspace-permission-note, .app-footer .footer-dot { display: none !important; }
  .app-main { margin: 0; }
  .workspace { padding: 0; max-width: none; }
  .workspace-hero { color: #173f45; background: #edf4ef; print-color-adjust: exact; }
  .workspace-hero p, .workspace-hero small, .workspace-day > strong { color: #496e67; }
  .hero-actions { display: none; }
  .workspace-columns { display: block; }
  .panel, .workspace-stats article { box-shadow: none; break-inside: avoid; }
  .app-footer { border: 0; padding: 18px; }
}

.workspace-setup-cards { margin-bottom: 25px; }
.workspace-setup-cards .eyebrow { margin-bottom: 9px; }
.workspace-stats .metric-value .metric-denominator { display: inline; font-size: 16px; font-weight: 400; color: #62766e; letter-spacing: 0; }
.module-switch { min-height: 52px; padding: 15px; gap: 13px; background: #fbfdf9; cursor: pointer; }
.module-switch strong { font-size: 12px; font-weight: 600; }
.module-switch input { width: 18px; height: 18px; flex-shrink: 0; }
.workspace-form-actions { display: flex; justify-content: flex-end; margin-top: 23px; padding-top: 20px; border-top: 1px solid var(--line); }
/* The three entry cards remain legible without squeezing the team labels. */
.login-hero .role-cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
.login-hero .role-card:last-child:nth-child(3) { grid-column: 1 / -1; }
.login-hero .role-card strong { overflow-wrap: anywhere; line-height: 1.7; }
.login .auth-language .btn { width: auto; min-height: 29px; margin: 0; padding: 5px 9px; background: transparent; border: 1px solid transparent; box-shadow: none; color: #61786c; }
.login .auth-language .btn:hover { background: #f2f7f2; border-color: #dce8dd; }
html[lang=fr] .auth-language a[lang=fr], html[lang=ar] .auth-language a[lang=ar], html[lang=en] .auth-language a[lang=en], html[lang=de] .auth-language a[lang=de] { background: #edf5ee; border-color: #d8e8db; color: #2c6749; }
/* Practice language manager */
.language-admin-grid{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(0,1.8fr);gap:24px;align-items:start}.language-list{display:grid;gap:8px;margin:16px 0}.language-row{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid var(--line,#dce7e6);border-radius:13px;color:inherit;text-decoration:none;flex-wrap:wrap}.language-row>span:nth-child(2){flex:1;min-width:110px}.language-row strong,.language-row small{display:block}.language-row small{font-size:11px;color:var(--muted,#50666c);margin-top:5px}.language-row.selected{background:#edf8f5;border-color:#67aea1}.language-glyph{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#e8f0f1;font-size:12px;font-weight:800;letter-spacing:.04em}.language-toggles{display:flex;gap:24px;flex-wrap:wrap}.language-toggles label,.checkbox-row{display:flex;align-items:center;gap:9px}.language-toggles input,.checkbox-row input{width:18px!important;height:18px!important}.catalog-editor{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.6;white-space:pre;tab-size:2}.catalog-search{margin:20px 0}.catalog-reference{max-height:520px;overflow:auto}.catalog-reference th{position:sticky;top:0;background:#edf4f3}.catalog-reference code{font-size:11px;overflow-wrap:anywhere}.catalog-reference td{max-width:420px;white-space:normal}.wide{width:100%;justify-content:center}.workspace-hero.compact{padding:28px;min-height:0}.workspace-hero.compact h2{font-size:26px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.section-heading h3{margin-top:0}@media(max-width:1050px){.language-admin-grid{grid-template-columns:1fr}.language-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.language-list{grid-template-columns:1fr}.section-heading{flex-direction:column}.language-toggles{flex-direction:column;gap:10px}}
.essential-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.module-status-list{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.module-status-list .badge{padding:8px 11px}@media(max-width:1100px){.essential-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.essential-grid{grid-template-columns:1fr}}
