[hidden] { display: none !important; }
.web .sidebar { overflow-y: auto; }
.web .sidebar > * { flex-shrink: 0; }
.web-connection-message { position: fixed; top: 0; left: 0; right: 0; z-index: 2000; margin: 0; padding: 12px 18px; background: #fff0d6; color: #653b00; border-bottom: 1px solid #d3a34f; font-size: 16px; }
.login-screen { min-height: 100dvh; display: grid; place-items: center; padding: 24px; background: #f4f6fa; }
.login-card { width: min(420px,100%); padding: 36px; background: white; border: 1px solid #e5eaf1; border-radius: 14px; box-shadow: 0 16px 60px #1423330c; }
.login-brand { color: #142333; font-size: 28px; font-weight: 700; }
.login-card h1 { font-size: 22px; margin: 12px 0; }.login-card p { color: #52677f; font-size: 14px; }
.login-card label { display: flex; flex-direction: column; gap: 8px; margin: 20px 0; font-weight: 600; font-size: 14px; }
.login-card input { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #d6e0ee; border-radius: 7px; }
.login-card .button { width: 100%; min-height: 46px; }
.web-logout { min-height: 40px; }.web .heading-actions { flex-wrap: wrap; justify-content: flex-end; }
.web-users { margin-top: 20px; padding: 22px; }.web-users h2 { margin-top: 0; }
.web .production-scroll { -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
@media (pointer: coarse), (max-width: 1100px) {
  .web button, .web .dialog-close { min-height: 44px; }
  .web input, .web select, .web textarea { font-size: 16px; }
  .web input:not([type="checkbox"]):not([type="radio"]) { min-height: 44px; }
  .web .order-client-select, .web .item-product-select, .web .item-completion-select, .web .item-worker select, .web .production-input, .web .order-status-control select { min-height: 44px; height: 44px; }
  .web .item-worker { font-size: 10px; }.web .item-worker select { width: 64px; padding: 3px; }
  .web .item-actions { flex-wrap: wrap; }.web .item-actions .item-edit { width: 44px; }.web .item-actions .item-save { min-width: 70px; }
  .web .item-actions .item-delete { width: 44px; }
  .web .item-actions .item-edit, .web .item-actions .item-delete, .web .item-actions .item-save { min-height: 44px; }
  .web .order-cancel-button { width: 44px; }.web .collapse-button { min-width: 44px; }
  .web .module-toolbar { flex-wrap: wrap; gap: 10px; }.web .production-card .search-field { flex-basis: 240px; max-width: none; min-width: 180px; }
  .web .select-control, .web .search-field { min-height: 44px; }
  .web .editor-field input, .web .editor-field select { min-height: 46px; }
  .web .table-scroll { -webkit-overflow-scrolling: touch; }
}
@media(max-width:1100px) {
  .web main { padding: 20px 16px; }.web .topbar { padding: 0 16px; height: 64px; }
  .web .metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }.web .process-strip { overflow-x: auto; }
  .web .process-grid { min-width: 490px; }.web .page-heading { gap: 12px; }.web .page-heading h1 { font-size: 25px; }
  .web footer { padding-left: 16px; padding-right: 16px; }.web dialog { width: min(760px,calc(100% - 24px)); max-height: calc(100dvh - 24px); }
}
@media(max-width:900px) {
  .web .sidebar { width: 78px; padding: 20px 8px; }.web .workspace { margin-left: 78px; width: calc(100% - 78px); }
  .web .brand { font-size: 0; margin: 0 10px 28px; }.web .brand small, .web .nav-caption, .web .sidebar-bottom, .web .sidebar-version { display: none; }
  .web .brand-symbol { font-size: 22px; }.web .nav-button { font-size: 10px; flex-direction: column; justify-content: center; gap: 4px; padding: 8px 4px; min-height: 56px; }
  .web .nav-button .icon { width: 22px; height: 22px; }.web .nav-count { position: absolute; right: 2px; top: 2px; min-width: 18px; font-size: 9px; padding: 2px; }
  .web .nav-button[data-route="completed"] .nav-label { font-size: 9px; line-height: 1.35; }
  .web .page-heading { flex-wrap: wrap; }.web .topbar .breadcrumb { font-size: 12px; }.web .user-avatar, .web .offline-pill { display: none; }
  .web .heading-actions { justify-content: flex-start; }.web .side-stack { grid-template-columns: 1fr; }.web .dialog-body { padding: 18px; }
}
@media(max-width:600px) {
  .web .sidebar { width: 62px; }.web .workspace { margin-left: 62px; width: calc(100% - 62px); }.web .brand { margin-left: 3px; }
  .web .editor-grid, .web .detail-grid { grid-template-columns: 1fr; }.web .topbar .breadcrumb span { display: none; }
  .web .metrics { grid-template-columns: 1fr; }.web .dialog-body .detail-list { grid-template-columns: 1fr; }
  .web .production-card .search-field { min-width: 0; width: 100%; }.web .module-toolbar .select-control { max-width: 100%; }
}
