/* Shared presentation only: scoped to application workspaces, screen media and light theme.
   Native controls, financial/status colors, RTL content and printed documents retain their semantics. */
@media screen {
    /* One page-heading treatment in both clients; dialogs and print pages are outside these paths. */
    :root:not(.dark):not([data-theme="dark"]) :is(
        .dahs-main .jf-page-header,
        .dahs-main .pkg-panel-header, .dahs-main .expense-panel-header,
        #root .jafam-workspace-heading
    ) {
        background: var(--surface-primary);
        color: var(--text-primary);
        border: 1px solid var(--border-default);
        border-inline-start: 3px solid var(--primary);
        border-radius: var(--radius-card);
        box-shadow: var(--shadow-card);
        padding: 16px 20px;
    }
    :root:not(.dark):not([data-theme="dark"]) :is(
        .dahs-main .jf-page-header__title,
        .dahs-main .pkg-title, .dahs-main .expense-panel-title,
        #root .jafam-workspace-heading h1
    ) { font-size: 1.125rem; line-height: 1.75; font-weight: 800; color: var(--text-primary); }
    :root:not(.dark):not([data-theme="dark"]) :is(
        #root .jafam-workspace-heading
    ) :is(p, button[aria-label="بازگشت"]) { color: var(--text-secondary); }
    /* Pale labels previously sat on gradient headers. Make those labels readable on the shared surface. */
    :root:not(.dark):not([data-theme="dark"]) #root .jafam-workspace-heading :is(.text-blue-100,.text-emerald-100,.text-emerald-50,
        .text-teal-100,.text-cyan-100,.text-violet-100,.text-rose-100,.text-amber-100) {
        color: var(--text-secondary);
    }
    :root:not(.dark):not([data-theme="dark"]) :is(.dahs-main, #root main[dir="rtl"]) {
        --workspace-gap: 12px;
        --workspace-radius: var(--radius-card);
        color: var(--text-primary);
        background-color: var(--app-background);
    }
    :root:not(.dark):not([data-theme="dark"]) :is(.dahs-main, #root main[dir="rtl"])
        :is(.jf-page-header, .doctor-doctors-card, .jf-query-panel, .pkg-panel, .expense-panel) {
        border-radius: var(--workspace-radius);
        border-color: var(--border-default);
        box-shadow: var(--shadow-card);
    }
    :is(.dahs-main, #root main[dir="rtl"]) :is(button,a,input,select,textarea):focus-visible {
        outline: 2px solid var(--link);
        outline-offset: 2px;
    }
    :is(.dahs-main, #root main[dir="rtl"]) :is(table,.mud-table-container) {
        font-variant-numeric: tabular-nums;
    }
    :is(.dahs-main, #root main[dir="rtl"]) table :is(th,td) {
        vertical-align: middle;
    }
    :is(.dahs-main, #root main[dir="rtl"]) table th {
        font-size: .8125rem;
        line-height: 1.6;
    }
    :is(.dahs-main, #root main[dir="rtl"]) [role="alert"] {
        overflow-wrap: anywhere;
    }
    .dahs-navigation-brand {
        display: flex; align-items: center; gap: 8px; padding: 12px 8px;
        border-bottom: 1px solid var(--border-default); flex: 0 0 auto;
    }
    .dahs-navigation-brand > a {
        display: flex; align-items: center; gap: 10px; min-width: 0;
        color: inherit; text-decoration: none;
    }
    .dahs-navigation-logo { flex: 0 0 40px; width: 40px; height: 40px; object-fit: contain; }
    .dahs-navigation-brand-copy strong { display: block; }
    .dahs-navigation-brand-copy span { font-size: .75rem; }
    html:not([data-personnel-navigation="ready"]) .dahs-navigation-dismiss { display: none; }
    html:not([data-personnel-navigation="ready"]) .dahs-sidebar.is-collapsed .dahs-navigation-brand-copy { display: none; }
    @media (max-width: 1279px) {
        #root .jafam-package-table { overflow-x: auto; }
        #root .jafam-package-table > table { min-width: 1200px; table-layout: auto; }
        #root .jafam-package-table th { white-space: nowrap; }
        /* Fixed bottom panels escape the table's scroll clipping on narrow screens. */
        #root .jafam-package-popover {
            position: fixed; inset: auto 16px 16px; width: auto; max-width: none;
            max-height: 70vh; overflow-y: auto; z-index: 50;
        }
    }
    @media (max-width: 760px) {
        :is(.dahs-main, #root main[dir="rtl"]) :is(.jf-page-header__actions,.doctor-doctors-toolbar) {
            flex-wrap: wrap; gap: var(--workspace-gap);
        }
        :is(.dahs-main, #root main[dir="rtl"]) :is(.jf-page-header__actions,.doctor-doctors-toolbar) button {
            min-height: 44px;
        }
    }
}
