/* Clinic work surfaces, 1.12.0. Visual layer only; routing and data stay unchanged. */
:root {
  --bg: #e9eceb;
  --surface: #f8f7f3;
  --surface-2: #eef0ef;
  --surface-3: #e1e6e7;
  --text: #293740;
  --muted: #54636c;
  --faint: #617079;
  --border: #cdd5d8;
  --accent: #3c607b;
  --accent-hover: #2d4d64;
  --accent-soft: #e2e9ed;
  --shadow-sm: 0 1px 2px #263e5010, 0 5px 16px #263e5007;
  --shadow-md: 0 18px 48px #263e501c;
}
body { background: linear-gradient(135deg, #edeFef, #e7ebeb); }
.sidebar { background: linear-gradient(165deg, #465460, #374651); box-shadow: 5px 0 24px #263e500b; }
.brand { padding-bottom: 24px; }
.brand-mark { background: #526f83; box-shadow: inset 0 1px 0 #ffffff26; }
.brand-copy strong { font-weight: 680; }
.brand-copy span { font-size: 10px; line-height: 1.5; letter-spacing: .04em; }
.nav-item { min-height: 46px; font-weight: 600; }
.nav-item.compact { min-height: 44px; }
.nav-item.is-active { background: #d6e3ec20; border-color: #d0dee93b; box-shadow: inset 3px 0 #b7ccd9; }
html[dir="rtl"] .nav-item.is-active { box-shadow: inset -3px 0 #b7ccd9; }
.nav-badge { padding: 3px 8px; font-weight: 650; }
.topbar { background: #ecefefdE; box-shadow: none; }
.global-search { background: #f7f7f4; box-shadow: 0 1px 3px #263e5005; }
.interface-language select { min-height: 44px; background: var(--surface); }
.primary-button, .secondary-button, .danger-button, .icon-button, .link-button {
  min-height: 44px; font-weight: 650; box-shadow: none;
}
.primary-button { background: var(--accent); }
.primary-button:hover { background: var(--accent-hover); box-shadow: 0 4px 12px #263e5015; }
.secondary-button, .icon-button { background: var(--surface); }
.text-button { min-height: 44px; font-weight: 650; }
h1 { font-weight: 660; letter-spacing: -.032em; line-height: 1.17; }
h2 { font-weight: 650; letter-spacing: -.022em; }
h3 { font-weight: 650; line-height: 1.4; }
.eyebrow { color: #516a7b; letter-spacing: .115em; font-size: 10px; font-weight: 720; }
.section-heading { margin-bottom: 16px; }
.page-header p { max-width: 68ch; }
.hero-panel {
  min-height: 274px; gap: 32px; border: 1px solid #c6d0d5;
  color: var(--text); background: radial-gradient(ellipse at 90% 30%, #cdd5da65, transparent 55%),
    linear-gradient(115deg, #f6f3ec, #e7ebed);
  box-shadow: 0 8px 28px #354c5d0b;
}
.hero-panel::after { border-color: #839dac21; box-shadow: 0 0 0 42px #839dac06, 0 0 0 85px #839dac04; pointer-events: none; }
.hero-copy h1 { color: #2d404d; font-weight: 660; letter-spacing: -.035em; font-size: clamp(32px, 3.3vw, 46px); }
.hero-copy .eyebrow { color: #526d7d; }
.hero-copy > p { color: #51646e; font-size: 16px; max-width: 58ch; }
.hero-search { border-color: #b9c8d0; background: #fbfbf8; box-shadow: 0 3px 10px #263e5009; }
.hero-search:focus-within { border-color: var(--focus); box-shadow: var(--ring); }
.hero-search button { font-weight: 650; min-height: 44px; }
.example-links { color: #5c6d77; }
.emblem-ring { width: 156px; height: 156px; border-color: #a5b8c45c; box-shadow: inset 0 0 0 12px #a5b8c409, 0 0 0 16px #a5b8c40a; }
.emblem-ring span { background: #c6d6df36; color: #668193; font-size: 52px; }
.hero-emblem small { color: #596f7c; letter-spacing: .09em; }
.quick-card, .language-card, .document-card, .settings-card, .compact-list {
  background: var(--surface); box-shadow: var(--shadow-sm);
}
.quick-card, .language-card, .document-card { border-color: #d0d7d9; }
.quick-card:hover, .language-card:hover, .document-card:hover {
  transform: translateY(-1px); border-color: #93a7b3; box-shadow: 0 6px 18px #263e5010;
}
.quick-card:active, .language-card:active, .document-card:active { transform: none; }
.quick-card { gap: 14px; }
.quick-card strong { font-weight: 650; }
.quick-card small { font-size: 12px; line-height: 1.55; }
.quick-icon { background: #e7edef; color: #496a80; box-shadow: none; border: 1px solid #d7e1e5; }
.language-card { min-height: 142px; }
.language-card strong { font-weight: 650; }
.language-card p { color: #54636c; font-size: 13px; }
.language-card::after { font-size: 56px; font-weight: 620; color: #e5eaea; bottom: -12px; }
.language-card:hover::after { color: #dce4e7; transform: none; }
.language-chip { background: #e6ecee; color: #476378; font-weight: 650; padding: 4px 9px; }
.compact-row { min-height: 74px; }
.compact-row-copy strong { font-weight: 600; line-height: 1.45; }
.compact-row-copy small { font-size: 12px; }
.file-icon.pdf { background: #f3eeea; color: #8d5448; border-color: #dfcbc3; }
.attention-panel { background: #f1efe8; border-color: #d7d0bf; box-shadow: var(--shadow-sm); }
.check-list { gap: 16px; }
.check-list strong { font-size: 13px; font-weight: 650; }
.check-list small { font-size: 12px; line-height: 1.55; }
.public-read-only-banner { background: #e8eef0; box-shadow: none; border-color: #c6d2d8; }
.public-read-only-banner p { font-size: 13px; line-height: 1.55; }
.library-toolbar { gap: 12px; }
.scope-switch, .view-switch { background: #e2e8e9; }
.scope-switch button, .view-switch button { min-height: 44px; font-weight: 600; }
.scope-switch button.is-active, .view-switch button.is-active { background: var(--surface); box-shadow: 0 1px 4px #263e5010; }
.filter-disclosure { background: #f0f2f0; box-shadow: none; }
.filter-disclosure > summary { min-height: 44px; }
.results-bar { min-height: 52px; }
.card-copy h3 { font-weight: 620; line-height: 1.5; }
.card-actions { gap: 7px; }
.card-actions .open-card { background: #e5edef; border-color: #c0cfd6; color: #365b72; }
.card-actions .open-card:hover { background: #d9e4e8; }
.card-footer { border-top-color: #dce2e3; }
.training-hero { color: var(--text); background: linear-gradient(120deg, #e1e8ec, #edf0ed); box-shadow: var(--shadow-sm); border: 1px solid #c6d0d5; }
.training-hero h2 { color: #2d404d; font-weight: 650; }
.training-hero p { color: #51646e; }
.training-meta span { color: #49616f; border-color: #bbcbd3; background: #f3f5f166; font-size: 11px; }
.atlas-art { border-color: #9eb0bb80; }
.atlas-art span { color: #6b8390; }
.atlas-art i { background: #7d97a6; box-shadow: 0 0 0 6px #9eb0bb15; }
.settings-card { min-width: 0; overflow-wrap: anywhere; }
.settings-card dd { min-width: 0; font-weight: 650; text-align: end; }
.settings-card dl div { gap: 12px; }
.settings-card button { max-width: 100%; white-space: normal; text-align: center; }
.document-modal-shell { background: var(--surface); }
.document-modal-header { background: var(--surface); }
.document-modal-header h2 { font-weight: 630; line-height: 1.4; letter-spacing: -.02em; text-wrap: balance; }
.metadata-panel { background: #eef1ef; }
.reader-toolbar { background: #eef0ed; gap: 10px; }
.document-card h3 { text-wrap: pretty; line-height: 1.5; }
.document-card:focus-within { outline: 2px solid var(--accent); outline-offset: 3px; }
.document-modal-shell { box-shadow: 0 28px 100px #25343f38; }
.metadata-panel { font-variant-numeric: tabular-nums; }
.metadata-panel dt { letter-spacing: .01em; }
.hero-copy h1, .page-header h1 { text-wrap: balance; }
.quick-card strong { letter-spacing: -.015em; }
.knowledge-frame-wrap { box-shadow: 0 3px 14px #263e5009; }
/* Percentage height cannot fill a min-height-only mobile wrapper. */
.knowledge-view .knowledge-frame-wrap { position: relative; }
.knowledge-view .knowledge-frame-wrap iframe { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
/* The embedded reference has its own visible heading; retain the host landmark. */
.knowledge-view .compact-page-header > div { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.knowledge-view .compact-page-header { justify-content: flex-end; min-height: 44px; }
@media (max-width: 760px) { .knowledge-view .compact-page-header { align-items: flex-end; } }
/* Original vector symbols share one stroke and never depend on emoji fonts. */
.ui-symbol { width: 21px; height: 21px; display: block; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; }
.nav-icon .ui-symbol { width: 20px; height: 20px; }
.search-icon { transform: none; display: grid; place-items: center; }
.search-icon .ui-symbol, .hero-search .ui-symbol { width: 19px; height: 19px; flex: 0 0 auto; }
.mobile-tab > span:first-child { display: grid; place-items: center; }
html[dir="rtl"] h1, html[dir="rtl"] h2, html[dir="rtl"] h3 { letter-spacing: 0; }
html[dir="rtl"] .quick-card b { transform: scaleX(-1); }
html[dir="rtl"] .quick-card:hover b { transform: scaleX(-1) translateX(2px); }
@media (hover: none) {
  .quick-card:hover, .language-card:hover, .document-card:hover { transform: none; box-shadow: var(--shadow-sm); }
}
@media (max-width: 900px) { .hero-panel { min-height: 0; } }
@media (max-width: 760px) {
  .hero-panel { padding: 26px 20px; }
  .hero-copy h1 { font-size: clamp(29px, 8.6vw, 34px); }
  .hero-copy > p { font-size: 15px; }
  .hero-search { margin-top: 22px; padding-inline-start: 12px; gap: 8px; }
  .quick-card { min-height: 86px; }
  .language-card { min-height: 120px; }
  .mobile-tabbar { background: #f2f4f0f5; box-shadow: 0 -4px 18px #263e500b; border-color: #c9d3d7; }
  .mobile-tab { font-weight: 650; }
  .mobile-tab.is-active { background: #dfe8ec; }
  .mobile-tab-add > span:first-child { box-shadow: none; }
  .topbar { grid-template-columns: 44px minmax(0, 1fr) 52px; }
  .mobile-menu { width: 44px; }
  .training-hero { padding: 26px 20px; }
  .settings-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 380px) { .topbar { grid-template-columns: 44px minmax(0, 1fr) 46px; } }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
