/* Shared mobile ergonomics; preserve invoice printing. */
@media screen {
    :root { --primary:#0f766e; --primary-dark:#115e59; --page:#f3f6fa; --muted:#56677b; --shadow:0 8px 24px #1e293b06; }
    .page-content { width:100%; max-width:1720px; margin-inline:auto; }
    .input-control, select, textarea { min-width:0; }
    .input-control:focus-visible, select:focus-visible, textarea:focus-visible { outline:3px solid #99f6e4; outline-offset:1px; border-color:#0f766e; }
    button:focus-visible, a:focus-visible { outline:3px solid #38bdf8; outline-offset:3px; }
    .button { font-weight:650; letter-spacing:-.01em; }
    .button.primary { background:#0f766e; color:white; border-color:#0f766e; }
    .button.primary:hover:enabled { background:#115e59; }
    .sidebar-nav .nav-item { border-radius:12px; }
    .mobile-header { border-bottom:1px solid #e2e8f0; }
}
@media screen and (max-width:768px) {
    body { font-size:15px; }
    .page-content { padding:20px 14px calc(100px + env(safe-area-inset-bottom)); }
    h1 { font-size:26px; letter-spacing:-.035em; line-height:1.2; }
    .input-control, input, select, textarea { font-size:16px; }
    .button, .button.compact, .close-button { min-height:44px; }
    .heading-actions { gap:8px; flex-wrap:wrap; }
    .page-heading, .programs-heading, .social-heading, .employees-heading { gap:16px; flex-wrap:wrap; align-items:flex-start; }
    .field-group { min-width:0; }
    .mobile-bottom-nav { padding-bottom:env(safe-area-inset-bottom); background:#fff; box-shadow:0 -4px 24px #0f172a09; border-top:1px solid #e2e8f0; }
    .mobile-bottom-nav .mobile-nav-item { min-height:54px; }
    .mobile-bottom-nav .mobile-nav-item.active { color:#0f766e; background:#f0fdfa; border-radius:12px; }
    .alert { overflow-wrap:anywhere; line-height:1.6; }
}
