@media (max-width: 700px) {
  html, body { width: 100%; height: 100%; min-height: 0; overflow: hidden; overscroll-behavior: none; }
  body { position: fixed; inset: 0; }
  .login-shell { min-height: 100dvh; padding: max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom)); }
  .login-card { width: 100%; padding: 30px 24px; border-radius: 22px; }
  .login-card h1 { font-size: 36px; }
  .login-card input, .login-card button { min-height: 48px; }
  .login-card input, .employee-form input { font-size: 16px; }

  .cabinet { height: 100dvh; }
  .topbar { height: calc(60px + env(safe-area-inset-top)); padding: env(safe-area-inset-top) max(6px, env(safe-area-inset-right)) 0 max(6px, env(safe-area-inset-left)); gap: 2px; }
  .brand { min-width: 42px; }
  .brand-mark.small { width: 40px; height: 40px; }
  .brand > span:last-child, .account #userName { display: none; }
  .tabs { flex: 1; justify-content: center; gap: 0; min-width: 0; }
  .tab { flex: 1 1 0; min-width: 0; padding: 0 3px; font-size: 12px; }
  .account { margin-left: 0; gap: 3px; }
  .quiet-button, .icon-button { min-width: 42px; min-height: 42px; padding: 8px; }
  .quiet-button::after { content: "Люди"; font-size: 12px; }
  .panel { height: calc(100dvh - 60px - env(safe-area-inset-top)); }
  .route-panel, .route-panel iframe { min-height: 0; overflow: hidden; }

  dialog { width: 100%; max-width: none; max-height: 100dvh; margin: 0; padding: 18px 14px; border-radius: 0; overflow-y: auto; }
  .dialog-head { position: sticky; top: -18px; z-index: 2; margin: -18px -14px 14px; padding: 14px; background: #101a27; border-bottom: 1px solid #263547; }
  .dialog-head h2 { font-size: 23px; }
  .employee-form { grid-template-columns: 1fr; margin: 12px 0 18px; padding: 14px; }
  .employee-form input, .employee-form button { min-height: 46px; }
  .user-row { grid-template-columns: 1fr auto; padding: 13px 10px; }
  .status-button { min-height: 42px; }
}
