:root {
  --crm-purple: #565d62;
  --crm-bg: #f9fbf5;
  --crm-surface: #ffffff;
  --crm-surface-soft: rgba(255, 255, 255, 0.86);
  --crm-border: #e4ebdc;
  --crm-border-strong: #dfe8d4;
  --crm-muted: #565d62;
  --crm-title: #16233b;
  --crm-text: #33415c;
  --crm-primary: #8dd62c;
  --crm-primary-dark: #78bb24;
  --crm-success: #1ca56d;
  --crm-warning: #f6a625;
  --crm-danger: #f25555;
  --crm-sidebar-start: #5e656a;
  --crm-sidebar-end: #4f565b;
  --crm-topbar-start: #5e656a;
  --crm-topbar-end: #4f565b;
  --crm-shadow: 0 18px 48px rgba(31, 52, 90, 0.10);
  --crm-shadow-soft: 0 10px 24px rgba(28, 43, 75, 0.08);
  --crm-radius: 1.35rem;
}

/* v189: apartment inspection date UI, glass cleanup, button icon contrast */
.apartment-inspection-date-form {
  display: grid;
  gap: .5rem;
  padding: .75rem;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 1rem;
  background: #f8fafc;
}

.apartment-inspection-date-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  align-items: center;
}

.apartment-inspection-date-actions .form-control {
  max-width: 220px;
}

.apartment-inspection-date-actions .btn {
  min-width: 132px;
}

.glass-head-actions {
  display: flex;
  justify-content: flex-end;
}

.glass-row-saved {
  box-shadow: inset 0 0 0 1px rgba(141, 214, 44, .4);
  background: rgba(141, 214, 44, .08);
}

.glass-page .bulk-actions-panel .btn.btn-danger,
.glass-page .bulk-actions-panel .btn.btn-danger:hover,
.glass-page .bulk-actions-panel .btn.btn-danger:focus,
.glass-page .bulk-actions-panel .btn.btn-danger:focus-visible {
  background: linear-gradient(180deg, #ef4444 0%, #dc2626 100%) !important;
  border-color: #dc2626 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 12px 24px rgba(220, 38, 38, .18) !important;
}

.glass-page .bulk-actions-panel .btn.btn-danger:hover,
.glass-page .bulk-actions-panel .btn.btn-danger:focus,
.glass-page .bulk-actions-panel .btn.btn-danger:focus-visible {
  background: linear-gradient(180deg, #dc2626 0%, #b91c1c 100%) !important;
  border-color: #b91c1c !important;
}

.glass-page .bulk-actions-panel .btn.btn-danger *,
.glass-page .bulk-actions-panel .btn.btn-danger i,
.glass-page .bulk-actions-panel .btn.btn-danger .bi,
.glass-page .bulk-actions-panel .btn.btn-danger .bi::before {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.glass-page .bulk-actions-panel .btn.btn-danger:disabled,
.glass-page .bulk-actions-panel .btn.btn-danger.disabled {
  opacity: .6;
  box-shadow: none !important;
}

.glass-page .form-control,
.glass-page .form-select,
.glass-page .developer-select-button {
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
  box-shadow: inset 0 0 0 1000px #ffffff !important;
}

.glass-page input:-webkit-autofill,
.glass-page input:-webkit-autofill:hover,
.glass-page input:-webkit-autofill:focus,
.glass-page textarea:-webkit-autofill,
.glass-page textarea:-webkit-autofill:hover,
.glass-page textarea:-webkit-autofill:focus,
.glass-page select:-webkit-autofill,
.glass-page select:-webkit-autofill:hover,
.glass-page select:-webkit-autofill:focus {
  -webkit-text-fill-color: #111827 !important;
  -webkit-box-shadow: 0 0 0 1000px #ffffff inset !important;
  caret-color: #5f9824 !important;
}

.glass-page .glass-measure-item-row .form-control,
.glass-page .glass-measure-item-row .form-select,
.glass-page .glass-measure-item-row input,
.glass-page .glass-measure-item-row textarea,
.glass-page .glass-qty-input {
  font-weight: 400 !important;
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
}

.glass-page .glass-measure-start-btn,
.glass-page .glass-measure-start-btn:hover,
.glass-page .glass-measure-start-btn:focus,
.glass-page .glass-measure-start-btn:focus-visible,
.glass-page .glass-measure-start-btn span,
.glass-page .glass-measure-start-btn i,
.glass-page .glass-measure-start-btn .bi,
.glass-page .glass-measure-start-btn .bi::before {
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
}

.glass-page .btn-primary i,
.glass-page .btn-primary .bi,
.glass-page .btn-primary .bi::before,
.glass-page .btn-success i,
.glass-page .btn-success .bi,
.glass-page .btn-success .bi::before,
.material-form-footer .btn-primary i,
.material-form-footer .btn-primary .bi,
.material-form-footer .btn-primary .bi::before,
.material-detail-actions .btn-primary i,
.material-detail-actions .btn-primary .bi,
.material-detail-actions .btn-primary .bi::before {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body:has(.materials-page-head) .material-icon-delete-btn {
  background: linear-gradient(180deg, #ef4444 0%, #dc2626 100%) !important;
  border-color: #dc2626 !important;
  color: #ffffff !important;
  box-shadow: 0 12px 24px rgba(220, 38, 38, .18) !important;
}

body:has(.materials-page-head) .material-icon-delete-btn:hover,
body:has(.materials-page-head) .material-icon-delete-btn:focus,
body:has(.materials-page-head) .material-icon-delete-btn:focus-visible {
  background: linear-gradient(180deg, #dc2626 0%, #b91c1c 100%) !important;
  border-color: #b91c1c !important;
}

body:has(.materials-page-head) .material-icon-delete-btn i,
body:has(.materials-page-head) .material-icon-delete-btn .bi,
body:has(.materials-page-head) .material-icon-delete-btn .bi::before {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-size: 1rem !important;
}

@media (max-width: 767px) {
  .apartment-inspection-date-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .apartment-inspection-date-actions .form-control,
  .apartment-inspection-date-actions .btn {
    max-width: none;
    width: 100%;
  }
}

/* v182: same loader for hidden mobile version in iOS standalone mode. */
body.mobile-dev-flag .mobile-dev-screen.site-page-loader {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  min-width: 100vw !important;
  height: 100vh !important;
  min-height: 100vh !important;
  height: 100dvh !important;
  min-height: 100dvh !important;
  padding: max(env(safe-area-inset-top), 1rem) 1rem max(env(safe-area-inset-bottom), 1rem) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 50% 40%, rgba(141, 214, 44, .16), transparent 22rem),
    linear-gradient(180deg, #fbfdf7 0%, #f7faef 100%) !important;
  z-index: 9999 !important;
}

body.mobile-dev-flag .mobile-dev-screen.site-page-loader .site-page-loader-card {
  margin: 0 auto !important;
}

body.mobile-dev-flag .mobile-dev-screen .mobile-loading-dots {
  display: none !important;
}

/* v183 true final override: iOS install hint and bottom nav scroll boundary. */
body.auth-body .ios-install-button span:last-child {
  white-space: nowrap !important;
}

body.auth-body #iosInstallModal .modal-dialog {
  width: min(90vw, 24rem) !important;
  max-width: min(90vw, 24rem) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.auth-body #iosInstallModal .ios-install-modal {
  max-height: min(86dvh, 39rem) !important;
  padding: clamp(.72rem, 3vw, 1rem) !important;
}

body.auth-body #iosInstallModal .ios-install-hero {
  grid-template-columns: clamp(3rem, 12vw, 3.8rem) minmax(0, 1fr) !important;
  gap: .72rem !important;
}

body.auth-body #iosInstallModal .ios-install-modal h2 {
  font-size: clamp(1.35rem, 5.8vw, 1.78rem) !important;
  line-height: 1.02 !important;
}

body.auth-body #iosInstallModal .ios-install-subtitle {
  font-size: clamp(.82rem, 3.5vw, .96rem) !important;
  line-height: 1.16 !important;
}

body.auth-body #iosInstallModal .ios-install-steps-arrows li {
  grid-template-columns: 2rem minmax(0, 1fr) !important;
  align-items: center !important;
  gap: .48rem !important;
  min-height: 2.85rem !important;
  padding: .42rem .54rem !important;
}

body.auth-body #iosInstallModal .ios-install-steps-arrows li > div {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: .45rem !important;
  min-width: 0 !important;
  width: 100% !important;
}

body.auth-body #iosInstallModal .ios-step-text {
  min-width: 0 !important;
  line-height: 1.08 !important;
}

body.auth-body #iosInstallModal .ios-step-symbol,
body.auth-body #iosInstallModal .ios-install-steps-arrows li i {
  justify-self: end !important;
  margin: 0 !important;
  white-space: nowrap !important;
  line-height: 1 !important;
}

body.auth-body #iosInstallModal .ios-install-steps-arrows li i {
  font-size: 1.3rem !important;
}

body.auth-body #iosInstallModal .ios-step-symbol {
  font-size: clamp(.78rem, 3.4vw, .92rem) !important;
}

body.auth-body #iosInstallModal .ios-install-actions::before {
  content: "*" !important;
}

@media (max-width: 767.98px) {
  body.app-body {
    padding-bottom: 0 !important;
  }

  body.app-body:not(.worker-layout) .app-main,
  body.app-body:not(.worker-layout) .objects-content,
  body.app-body:not(.worker-layout) .documents-standalone-content {
    padding-bottom: calc(5.05rem + env(safe-area-inset-bottom)) !important;
  }

  body.app-body:not(.worker-layout) .mobile-bottom-nav {
    bottom: 0 !important;
    margin-bottom: env(safe-area-inset-bottom) !important;
  }

  html.standalone-app body.app-body:not(.worker-layout) .mobile-bottom-nav,
  body.standalone-app.app-body:not(.worker-layout) .mobile-bottom-nav {
    bottom: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: max(.44rem, env(safe-area-inset-bottom)) !important;
  }
}

/* v185 true final override: account logout button is mobile-only. */
.account-logout-form {
  display: none !important;
}

@media (max-width: 767.98px) {
  .account-logout-form {
    display: block !important;
  }
}

/* v184 true final override: intermediate widths show loader; category icons stay mobile-only. */
.viewport-transition-loader {
  display: none !important;
}

.remarks-tab-icon {
  display: none !important;
}

@media (min-width: 768px) and (max-width: 1199.98px) {
  body.app-body:not(.mobile-dev-flag) {
    overflow: hidden !important;
  }

  body.app-body:not(.mobile-dev-flag) .viewport-transition-loader {
    position: fixed !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100vw !important;
    min-height: 100vh !important;
    min-height: 100dvh !important;
    background:
      radial-gradient(circle at 50% 40%, rgba(141, 214, 44, .16), transparent 22rem),
      linear-gradient(180deg, #fbfdf7 0%, #f7faef 100%) !important;
    z-index: 9998 !important;
    pointer-events: auto !important;
  }
}

@media (max-width: 767.98px) {
  .remarks-tab-icon {
    display: inline-flex !important;
  }
}

/* v185: account logout button is mobile-only. */
.account-logout-form {
  display: none !important;
}

@media (max-width: 767.98px) {
  .account-logout-form {
    display: block !important;
  }
}

/* v184: show loader in the in-between viewport and keep category icons mobile-only. */
.viewport-transition-loader {
  display: none !important;
}

.remarks-tab-icon {
  display: none !important;
}

@media (min-width: 768px) and (max-width: 1199.98px) {
  body.app-body:not(.mobile-dev-flag) {
    overflow: hidden !important;
  }

  body.app-body:not(.mobile-dev-flag) .viewport-transition-loader {
    position: fixed !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100vw !important;
    min-height: 100vh !important;
    min-height: 100dvh !important;
    background:
      radial-gradient(circle at 50% 40%, rgba(141, 214, 44, .16), transparent 22rem),
      linear-gradient(180deg, #fbfdf7 0%, #f7faef 100%) !important;
    z-index: 9998 !important;
    pointer-events: auto !important;
  }
}

@media (max-width: 767.98px) {
  .remarks-tab-icon {
    display: inline-flex !important;
  }
}

/* v183 true final override: iOS install hint and bottom nav scroll boundary. */
body.auth-body .ios-install-button span:last-child {
  white-space: nowrap !important;
}

body.auth-body #iosInstallModal .modal-dialog {
  width: min(90vw, 24rem) !important;
  max-width: min(90vw, 24rem) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.auth-body #iosInstallModal .ios-install-modal {
  max-height: min(86dvh, 39rem) !important;
  padding: clamp(.72rem, 3vw, 1rem) !important;
}

body.auth-body #iosInstallModal .ios-install-hero {
  grid-template-columns: clamp(3rem, 12vw, 3.8rem) minmax(0, 1fr) !important;
  gap: .72rem !important;
}

body.auth-body #iosInstallModal .ios-install-modal h2 {
  font-size: clamp(1.35rem, 5.8vw, 1.78rem) !important;
  line-height: 1.02 !important;
}

body.auth-body #iosInstallModal .ios-install-subtitle {
  font-size: clamp(.82rem, 3.5vw, .96rem) !important;
  line-height: 1.16 !important;
}

body.auth-body #iosInstallModal .ios-install-steps-arrows li {
  grid-template-columns: 2rem minmax(0, 1fr) !important;
  align-items: center !important;
  gap: .48rem !important;
  min-height: 2.85rem !important;
  padding: .42rem .54rem !important;
}

body.auth-body #iosInstallModal .ios-install-steps-arrows li > div {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: .45rem !important;
  min-width: 0 !important;
  width: 100% !important;
}

body.auth-body #iosInstallModal .ios-step-text {
  min-width: 0 !important;
  line-height: 1.08 !important;
}

body.auth-body #iosInstallModal .ios-step-symbol,
body.auth-body #iosInstallModal .ios-install-steps-arrows li i {
  justify-self: end !important;
  margin: 0 !important;
  white-space: nowrap !important;
  line-height: 1 !important;
}

body.auth-body #iosInstallModal .ios-install-steps-arrows li i {
  font-size: 1.3rem !important;
}

body.auth-body #iosInstallModal .ios-step-symbol {
  font-size: clamp(.78rem, 3.4vw, .92rem) !important;
}

body.auth-body #iosInstallModal .ios-install-actions::before {
  content: "*" !important;
}

@media (max-width: 767.98px) {
  body.app-body {
    padding-bottom: 0 !important;
  }

  body.app-body:not(.worker-layout) .app-main,
  body.app-body:not(.worker-layout) .objects-content,
  body.app-body:not(.worker-layout) .documents-standalone-content {
    padding-bottom: calc(5.05rem + env(safe-area-inset-bottom)) !important;
  }

  body.app-body:not(.worker-layout) .mobile-bottom-nav {
    bottom: 0 !important;
    margin-bottom: env(safe-area-inset-bottom) !important;
  }

  html.standalone-app body.app-body:not(.worker-layout) .mobile-bottom-nav,
  body.standalone-app.app-body:not(.worker-layout) .mobile-bottom-nav {
    bottom: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: max(.44rem, env(safe-area-inset-bottom)) !important;
  }
}

/* v183 final override: iOS install hint and bottom nav scroll boundary. */
body.auth-body .ios-install-button span:last-child {
  white-space: nowrap !important;
}

body.auth-body #iosInstallModal .modal-dialog {
  width: min(90vw, 24rem) !important;
  max-width: min(90vw, 24rem) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.auth-body #iosInstallModal .ios-install-modal {
  max-height: min(86dvh, 39rem) !important;
  padding: clamp(.72rem, 3vw, 1rem) !important;
}

body.auth-body #iosInstallModal .ios-install-hero {
  grid-template-columns: clamp(3rem, 12vw, 3.8rem) minmax(0, 1fr) !important;
  gap: .72rem !important;
}

body.auth-body #iosInstallModal .ios-install-modal h2 {
  font-size: clamp(1.35rem, 5.8vw, 1.78rem) !important;
  line-height: 1.02 !important;
}

body.auth-body #iosInstallModal .ios-install-subtitle {
  font-size: clamp(.82rem, 3.5vw, .96rem) !important;
  line-height: 1.16 !important;
}

body.auth-body #iosInstallModal .ios-install-steps-arrows li {
  grid-template-columns: 2rem minmax(0, 1fr) !important;
  align-items: center !important;
  gap: .48rem !important;
  min-height: 2.85rem !important;
  padding: .42rem .54rem !important;
}

body.auth-body #iosInstallModal .ios-install-steps-arrows li > div {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: .45rem !important;
  min-width: 0 !important;
  width: 100% !important;
}

body.auth-body #iosInstallModal .ios-step-text {
  min-width: 0 !important;
  line-height: 1.08 !important;
}

body.auth-body #iosInstallModal .ios-step-symbol,
body.auth-body #iosInstallModal .ios-install-steps-arrows li i {
  justify-self: end !important;
  margin: 0 !important;
  white-space: nowrap !important;
  line-height: 1 !important;
}

body.auth-body #iosInstallModal .ios-install-steps-arrows li i {
  font-size: 1.3rem !important;
}

body.auth-body #iosInstallModal .ios-step-symbol {
  font-size: clamp(.78rem, 3.4vw, .92rem) !important;
}

body.auth-body #iosInstallModal .ios-install-actions::before {
  content: "*" !important;
}

@media (max-width: 767.98px) {
  body.app-body {
    padding-bottom: 0 !important;
  }

  body.app-body:not(.worker-layout) .app-main,
  body.app-body:not(.worker-layout) .objects-content,
  body.app-body:not(.worker-layout) .documents-standalone-content {
    padding-bottom: calc(5.05rem + env(safe-area-inset-bottom)) !important;
  }

  body.app-body:not(.worker-layout) .mobile-bottom-nav {
    bottom: 0 !important;
    margin-bottom: env(safe-area-inset-bottom) !important;
  }

  html.standalone-app body.app-body:not(.worker-layout) .mobile-bottom-nav,
  body.standalone-app.app-body:not(.worker-layout) .mobile-bottom-nav {
    bottom: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: max(.44rem, env(safe-area-inset-bottom)) !important;
  }
}

/* v183: iOS install hint readability and mobile scroll stop above bottom nav. */
body.auth-body .ios-install-button span:last-child {
  white-space: nowrap !important;
}

body.auth-body #iosInstallModal .modal-dialog {
  width: min(90vw, 24rem) !important;
  max-width: min(90vw, 24rem) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.auth-body #iosInstallModal .ios-install-modal {
  max-height: min(86dvh, 39rem) !important;
  padding: clamp(.72rem, 3vw, 1rem) !important;
}

body.auth-body #iosInstallModal .ios-install-hero {
  grid-template-columns: clamp(3rem, 12vw, 3.8rem) minmax(0, 1fr) !important;
  gap: .72rem !important;
}

body.auth-body #iosInstallModal .ios-install-modal h2 {
  font-size: clamp(1.35rem, 5.8vw, 1.78rem) !important;
  line-height: 1.02 !important;
}

body.auth-body #iosInstallModal .ios-install-subtitle {
  font-size: clamp(.82rem, 3.5vw, .96rem) !important;
  line-height: 1.16 !important;
}

body.auth-body #iosInstallModal .ios-install-steps-arrows li {
  grid-template-columns: 2rem minmax(0, 1fr) !important;
  align-items: center !important;
  gap: .48rem !important;
  min-height: 2.85rem !important;
  padding: .42rem .54rem !important;
}

body.auth-body #iosInstallModal .ios-install-steps-arrows li > div {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: .45rem !important;
  min-width: 0 !important;
  width: 100% !important;
}

body.auth-body #iosInstallModal .ios-step-text {
  min-width: 0 !important;
  line-height: 1.08 !important;
}

body.auth-body #iosInstallModal .ios-step-symbol,
body.auth-body #iosInstallModal .ios-install-steps-arrows li i {
  justify-self: end !important;
  white-space: nowrap !important;
}

body.auth-body #iosInstallModal .ios-step-symbol {
  font-size: clamp(.78rem, 3.4vw, .92rem) !important;
}

body.auth-body #iosInstallModal .ios-install-steps-arrows li i {
  margin: 0 !important;
  font-size: 1.3rem !important;
  line-height: 1 !important;
}

body.auth-body #iosInstallModal .ios-install-actions::before {
  content: "*" !important;
}

@media (max-width: 767.98px) {
  body.app-body {
    padding-bottom: 0 !important;
  }

  body.app-body:not(.worker-layout) .app-main,
  body.app-body:not(.worker-layout) .objects-content,
  body.app-body:not(.worker-layout) .documents-standalone-content {
    padding-bottom: calc(5.05rem + env(safe-area-inset-bottom)) !important;
  }

  body.app-body:not(.worker-layout) .mobile-bottom-nav {
    bottom: 0 !important;
    margin-bottom: env(safe-area-inset-bottom) !important;
  }

  html.standalone-app body.app-body:not(.worker-layout) .mobile-bottom-nav,
  body.standalone-app.app-body:not(.worker-layout) .mobile-bottom-nav {
    bottom: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: max(.44rem, env(safe-area-inset-bottom)) !important;
  }
}

/* Mobile/iOS polish v181: object topbar, assignments tab and tighter cards. */
html.standalone-app,
html.standalone-app body,
body.standalone-app,
body.standalone-app.app-body {
  min-height: 100dvh !important;
  background: #f7faef !important;
}

body.standalone-app.app-body {
  padding-bottom: calc(4.55rem + env(safe-area-inset-bottom)) !important;
}

@media (max-width: 767.98px) {
  html,
  body,
  * {
    -webkit-tap-highlight-color: transparent;
  }

  .task-row-link,
  .assignment-task-row,
  .apartment-mobile-card,
  .remarks-export-table-shell tbody tr,
  .assignment-contractor-table tbody tr {
    -webkit-touch-callout: none;
  }

  .task-row-link:hover,
  .task-row-link:focus,
  .task-row-link:active,
  .assignment-task-row:hover,
  .assignment-task-row:focus,
  .assignment-task-row:active,
  .remarks-export-scope .js-bulk-row.is-selected,
  .remarks-export-scope .js-bulk-row.is-selected > *,
  .remarks-export-scope .task-row-link.is-selected > *,
  .assignment-shell .js-bulk-row.is-selected td,
  .assignment-task-row.is-selected td {
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: none !important;
  }

  .mobile-project-topbar {
    position: sticky;
    top: 0;
    z-index: 1035;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .7rem;
    margin: 0;
    padding: calc(.74rem + env(safe-area-inset-top)) .78rem .74rem;
    color: #fff;
    background: linear-gradient(135deg, #111a20, #1d252c);
    border-bottom: 1px solid rgba(255, 255, 255, .12);
    box-shadow: 0 12px 28px rgba(8, 16, 20, .16);
  }

  .mobile-project-title {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: .98rem;
    font-weight: 950;
  }

  .mobile-project-change {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.25rem;
    padding: 0 .72rem;
    border-radius: .72rem;
    color: #fff !important;
    text-decoration: none;
    font-size: .78rem;
    font-weight: 850;
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .16);
  }

  .app-layout > .app-main > .app-topbar {
    display: none !important;
  }

  .documents-standalone-layout > .objects-topbar,
  .objects-layout > .objects-topbar {
    display: none !important;
  }

  .mobile-bottom-nav {
    bottom: env(safe-area-inset-bottom) !important;
    padding: .44rem !important;
    border-radius: 1.22rem 1.22rem max(1.22rem, env(safe-area-inset-bottom)) max(1.22rem, env(safe-area-inset-bottom)) !important;
  }

  body.standalone-app .mobile-bottom-nav {
    bottom: 0 !important;
    padding-bottom: max(.44rem, env(safe-area-inset-bottom)) !important;
  }

  .mobile-nav-item.active {
    color: #fff !important;
    background: linear-gradient(135deg, #83d925, #57ad13) !important;
    box-shadow: 0 12px 28px rgba(93, 177, 20, .3) !important;
    opacity: 1 !important;
  }

  .mobile-nav-item.active i,
  .mobile-nav-item.active span {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    opacity: 1 !important;
  }

  .account-logout-form {
    margin-top: .72rem;
  }

  .account-logout-btn {
    width: 100%;
    min-height: 2.75rem;
    border-radius: .82rem;
    font-weight: 850;
  }

  .dashboard-page.dashboard-redesign {
    padding-bottom: calc(5rem + env(safe-area-inset-bottom)) !important;
  }

  .dashboard-info-columns {
    margin-bottom: 0 !important;
    gap: .72rem !important;
  }

  .dashboard-page.dashboard-redesign > *:last-child {
    margin-bottom: 0 !important;
  }

  .remarks-tabs {
    overflow: visible !important;
  }

  .remarks-tabs .crm-tabs {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-width: 0 !important;
    width: 100%;
    gap: .45rem !important;
  }

  .remarks-tabs .crm-tabs.justify-content-end {
    margin-top: .45rem;
  }

  .remarks-tabs .nav-item {
    min-width: 0;
  }

  .remarks-tabs .nav-link {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-width: 0;
    padding: .5rem .45rem !important;
    font-size: .78rem !important;
    text-align: center;
  }

  .remarks-tabs .nav-link[href*="category_id"]::before {
    margin-right: .28rem;
    font-size: .95rem;
    line-height: 1;
  }

  .remarks-tabs .nav-link:not(.active)::before {
    opacity: .86;
  }

  .remarks-export-table-shell .status-pill,
  .remarks-export-table-shell .badge,
  .remarks-export-table-shell .deadline-badge,
  .remarks-export-table-shell .glass-ordered-badge,
  .task-card-mode-cell .status-pill {
    display: inline-flex !important;
    width: fit-content !important;
    max-width: 100%;
    justify-self: start;
    align-self: center;
    white-space: nowrap;
  }

  .remarks-export-table-shell .task-card-mode-cell,
  .remarks-export-table-shell .task-status-cell {
    align-items: start;
  }

  .assignments-page-head {
    display: none !important;
  }

  .assignment-subtabs {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: .48rem !important;
    margin: .72rem 0 !important;
    padding: .1rem !important;
  }

  .assignment-subtab {
    min-height: 2.6rem;
    justify-content: center;
    border-radius: .9rem !important;
    font-size: .84rem;
  }

  .assignment-subtab.active {
    color: #fff !important;
    background: linear-gradient(135deg, #83d925, #57ad13) !important;
    border-color: transparent !important;
  }

  .assignment-toolbar-grid-restored {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .72rem !important;
  }

  .assignment-search-card-compact,
  .assignment-smart-card-compact,
  .assignment-shell,
  .assignment-issued-card {
    border-radius: 1.05rem !important;
    border: 1px solid rgba(128, 183, 69, .18) !important;
    box-shadow: 0 14px 34px rgba(20, 32, 18, .08) !important;
  }

  .assignment-search-form-compact,
  .assignment-smart-form,
  .assignment-bulk-form-restored {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .62rem !important;
  }

  .assignment-search-actions,
  .assignment-smart-actions,
  .assignment-bulk-panel-restored-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: .55rem !important;
    width: 100%;
  }

  .assignment-smart-actions,
  .assignment-bulk-panel-restored-actions {
    grid-template-columns: 1fr !important;
  }

  .assignment-search-actions .btn,
  .assignment-smart-actions .btn,
  .assignment-bulk-panel-restored-actions .btn,
  .assignment-bulk-form-restored .form-control,
  .assignment-smart-form .form-control,
  .assignment-search-form-compact .form-control,
  .assignment-page-custom-select .developer-select-button {
    min-height: 2.75rem !important;
    border-radius: .84rem !important;
  }

  .assignment-contractor-table,
  .assignment-contractor-table thead,
  .assignment-contractor-table tbody,
  .assignment-contractor-table tr,
  .assignment-contractor-table td {
    display: block !important;
    width: 100% !important;
  }

  .assignment-contractor-table thead,
  .assignment-contractor-table colgroup {
    display: none !important;
  }

  .assignment-contractor-table tbody {
    display: grid !important;
    gap: .72rem;
    padding: .72rem;
  }

  .assignment-contractor-table tbody tr {
    padding: .8rem !important;
    border: 1px solid rgba(128, 183, 69, .2) !important;
    border-radius: 1rem !important;
    background: #fff !important;
    box-shadow: 0 12px 28px rgba(20, 32, 18, .07) !important;
  }

  .assignment-contractor-table td {
    border: 0 !important;
    padding: .28rem 0 !important;
    background: transparent !important;
  }

  .assignment-contractor-table .assignment-check-cell {
    display: flex !important;
    justify-content: flex-end;
    padding-bottom: .2rem !important;
  }

  .assignment-contractor-table .assignment-room-pill,
  .assignment-contractor-table .assignment-user-pill,
  .assignment-contractor-table .assignment-user-empty,
  .assignment-issued-table .assignment-room-pill {
    width: fit-content !important;
    max-width: 100%;
  }

  .assignment-contractor-table .task-text {
    font-size: .95rem;
    line-height: 1.42;
  }

  .assignment-issued-table,
  .assignment-issued-table thead,
  .assignment-issued-table tbody,
  .assignment-issued-table tr,
  .assignment-issued-table td {
    display: block !important;
    width: 100% !important;
  }

  .assignment-issued-table thead,
  .assignment-issued-table colgroup {
    display: none !important;
  }

  .assignment-issued-table tbody {
    display: grid !important;
    gap: .62rem;
    padding: .62rem;
  }

  .assignment-issued-row {
    padding: .75rem !important;
    border-radius: .95rem;
    border: 1px solid rgba(128, 183, 69, .18);
    background: #fff !important;
  }

  .assignment-issued-table td {
    border: 0 !important;
    padding: .28rem 0 !important;
    background: transparent !important;
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  min-height: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  background: var(--crm-bg);
}

body {
  font-family: Inter, "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  background: var(--crm-bg);
  color: var(--crm-text);
}

html {
  background: var(--crm-bg);
}

a {
  text-decoration: none;
}

.app-body {
  overflow-x: hidden;
  background: var(--crm-bg);
}

.app-layout,
.objects-layout {
  position: relative;
  z-index: 1;
}

.app-layout {
  display: flex;
  min-height: 100vh;
  background: var(--crm-bg);
  margin: 0;
  padding: 0;
}

.app-sidebar {
  width: 230px;
  flex: 0 0 230px;
  display: flex;
  flex-direction: column;
  padding: 1rem 0.95rem 1rem;
  background:
    radial-gradient(circle at top left, rgba(141, 214, 44, 0.20), transparent 14rem),
    linear-gradient(180deg, var(--crm-sidebar-start), var(--crm-sidebar-end));
  border-right: 1px solid rgba(255, 255, 255, 0.05);
  color: rgba(255, 255, 255, 0.88);
  min-height: 100vh;
  margin: 0;
}

.sidebar-brand {
  margin-bottom: 1.2rem;
  padding: 0.35rem 0.3rem 1rem;
}

.sidebar-brand-link,
.auth-brand {
  display: flex;
  align-items: center;
  gap: 0.95rem;
  color: #fff;
}

.brand-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 0.8rem;
  background: linear-gradient(180deg, #9fdf4c, #78bb24);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 10px 24px rgba(141, 214, 44, 0.35);
  color: #fff;
  font-size: 1.25rem;
  font-weight: 800;
}

.brand-logo {
  display: block;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 0.8rem;
  box-shadow: 0 10px 24px rgba(141, 214, 44, 0.35);
  flex: 0 0 auto;
}

.brand-text,
.auth-brand-title {
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: -0.03em;
}

.sidebar-nav {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.sidebar-link {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  min-height: 3rem;
  padding: 0.85rem 0.95rem;
  border-radius: 1rem;
  color: rgba(233, 238, 249, 0.78);
  position: relative;
  overflow: hidden;
  transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.sidebar-link::before {
  content: "";
  position: absolute;
  left: 0.55rem;
  top: 50%;
  width: 0.22rem;
  height: 0;
  border-radius: 999px;
  background: #9fdf4c;
  opacity: 0;
  transform: translateY(-50%);
  transition: height 0.22s ease, opacity 0.22s ease;
}

.sidebar-link i {
  font-size: 1.15rem;
  transition: transform 0.18s ease;
}

.sidebar-link:hover,
.sidebar-link:focus {
  color: #fff;
  background: rgba(255, 255, 255, 0.06);
  transform: translateX(2px);
}

.sidebar-link:hover i,
.sidebar-link:focus i,
.sidebar-link.active i {
  transform: scale(1.08);
}

.sidebar-link.active {
  color: #fff;
  background: linear-gradient(135deg, rgba(141, 214, 44, 0.42), rgba(141, 214, 44, 0.18));
  box-shadow: inset 0 0 0 1px rgba(141, 214, 44, 0.16), 0 12px 30px rgba(25, 41, 78, 0.28);
  animation: sidebarActivePop 0.22s ease both;
}

.sidebar-link.active::before {
  height: 1.35rem;
  opacity: 1;
}

@keyframes sidebarActivePop {
  from {
    transform: translateX(-3px);
  }
  to {
    transform: translateX(0);
  }
}

.sidebar-subnav {
  display: grid;
  gap: 0.35rem;
  margin: -0.15rem 0 0.2rem 2.35rem;
}

.sidebar-sublink {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 2.35rem;
  padding: 0.55rem 0.75rem;
  border-radius: 0.75rem;
  color: rgba(233, 238, 249, 0.68);
  font-size: 0.92rem;
  text-decoration: none;
  transition: background-color 0.18s ease, color 0.18s ease;
}

.sidebar-sublink:hover,
.sidebar-sublink:focus {
  color: #fff;
  background: rgba(255, 255, 255, 0.06);
}

.sidebar-sublink.active {
  color: #fff;
  background: rgba(255, 255, 255, 0.1);
}

.sidebar-footer {
  margin-top: auto;
  padding: 1rem 0.2rem 0;
}

.support-card {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1rem;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.support-icon {
  width: 2.3rem;
  height: 2.3rem;
  border-radius: 0.85rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.08);
  color: #dfe7fb;
}

.support-title {
  color: #fff;
  font-weight: 700;
  margin-bottom: 0.2rem;
}

.support-text {
  color: rgba(233, 238, 249, 0.65);
  font-size: 0.88rem;
  line-height: 1.4;
}

.app-main {
  min-width: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  background: var(--crm-bg);
}

.app-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.6rem;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.03), transparent 60%),
    linear-gradient(135deg, var(--crm-topbar-start), var(--crm-topbar-end));
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  position: sticky;
  top: 0;
  z-index: 10;
  margin: 0;
}

.topbar-nav {
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

.topbar-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  padding: 0.65rem 1rem;
  border-radius: 0.95rem;
  color: rgba(240, 244, 255, 0.74);
  font-weight: 600;
  transition: color 0.18s ease, background-color 0.18s ease;
}

.topbar-link:hover,
.topbar-link:focus {
  color: #fff;
  background: rgba(255, 255, 255, 0.05);
}

.topbar-link.active {
  color: #fff;
  background: rgba(255, 255, 255, 0.04);
}

.topbar-link.active::after {
  content: "";
  position: absolute;
  left: 1rem;
  right: 1rem;
  bottom: -1rem;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, #8dd62c, #9fdf4c);
}

.topbar-actions {
  display: flex;
  align-items: center;
  gap: 0.85rem;
}

.topbar-icon,
.topbar-avatar {
  width: 2.55rem;
  height: 2.55rem;
  border-radius: 0.9rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

.topbar-user {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  color: #fff;
  font-weight: 600;
}

.topbar-user::after {
  margin-left: 0.2rem;
}

.topbar-project {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  color: #fff;
  font-weight: 700;
}

.topbar-project span {
  font-size: 1rem;
}

.topbar-project .btn {
  border-color: rgba(255, 255, 255, 0.28);
  color: #fff;
  background: rgba(255, 255, 255, 0.06);
}

.topbar-project .btn:hover,
.topbar-project .btn:focus {
  color: #fff;
  background: rgba(255, 255, 255, 0.12);
}

.app-content {
  padding: 1.65rem;
}

.flash-stack {
  display: grid;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.auth-body {
  min-height: 100vh;
  overflow: hidden;
}

.auth-shell {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: clamp(1rem, 3vh, 2rem);
  position: relative;
  background:
    radial-gradient(circle at top left, rgba(141, 214, 44, 0.18), transparent 20rem),
    radial-gradient(circle at bottom right, rgba(141, 214, 44, 0.14), transparent 18rem),
    linear-gradient(180deg, #f9fbf5 0%, #f7faef 100%);
}

.auth-brand {
  position: absolute;
  top: clamp(1.2rem, 4vh, 2.5rem);
  left: 50%;
  transform: translateX(-50%);
  margin-bottom: 0;
  color: var(--crm-title);
  width: max-content;
}

.auth-brand .brand-mark {
  width: 3rem;
  height: 3rem;
  font-size: 1.55rem;
}

.auth-brand-title {
  color: var(--crm-title);
  font-size: 1.65rem;
}

.auth-brand-subtitle {
  color: var(--crm-muted);
  font-size: 0.96rem;
}

.auth-flashes {
  position: absolute;
  top: calc(clamp(1.2rem, 4vh, 2.5rem) + 4.6rem);
  width: min(100%, 460px);
  z-index: 5;
}

.login-wrap {
  width: min(100%, 460px);
  margin: 0;
}

.login-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(217, 225, 239, 0.95);
  border-radius: 1.65rem;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 26px 70px rgba(31, 52, 90, 0.16);
  backdrop-filter: blur(16px);
}

.login-card-glow {
  position: absolute;
  inset: -45% -20% auto auto;
  width: 16rem;
  height: 16rem;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(141, 214, 44, 0.18), transparent 64%);
  pointer-events: none;
}

.login-head {
  display: flex;
  align-items: center;
  gap: 0.95rem;
  margin-bottom: 1.45rem;
}

.login-icon {
  width: 3rem;
  height: 3rem;
  border-radius: 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  color: #fff;
  background: linear-gradient(180deg, #9fdf4c, #8dd62c);
  box-shadow: 0 14px 28px rgba(141, 214, 44, 0.28);
  font-size: 1.35rem;
}

.login-brand-mark {
  font-weight: 900;
  font-size: 1.45rem;
}

.login-brand-subtitle {
  margin-top: .18rem;
  color: var(--crm-muted);
  font-size: .9rem;
  line-height: 1.25;
}

.login-kicker {
  color: var(--crm-primary);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 800;
  margin-bottom: 0.2rem;
}

.login-head h1 {
  margin: 0;
  color: var(--crm-title);
  font-size: 1.6rem;
  font-weight: 850;
  letter-spacing: -0.03em;
}

.login-form .form-label {
  color: var(--crm-title);
  font-weight: 750;
  margin-bottom: 0.45rem;
}

.login-input-wrap {
  position: relative;
}

.login-input-wrap > i {
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--crm-muted);
  z-index: 2;
}

.login-input-wrap .form-control {
  min-height: 3rem;
  padding-left: 2.75rem;
  border-radius: 1rem;
  border-color: var(--crm-border-strong);
  background: #fefdfe;
  font-weight: 650;
}

.login-input-wrap .form-control:focus {
  background: #fff;
  border-color: rgba(141, 214, 44, 0.55);
  box-shadow: 0 0 0 0.22rem rgba(141, 214, 44, 0.12);
}

.password-field .form-control {
  padding-right: 3rem;
}

.login-captcha-box {
  padding: 0.95rem;
  border: 1px solid rgba(217, 225, 239, 0.92);
  border-radius: 1.2rem;
  background:
    radial-gradient(circle at top right, rgba(141, 214, 44, 0.11), transparent 10rem),
    #fefdfe;
}

.captcha-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.7rem;
  color: var(--crm-title);
  font-weight: 500;
}

.captcha-title small {
  color: var(--crm-muted);
  font-weight: 700;
}

.captcha-question {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  margin-bottom: 0.75rem;
  border-radius: 1rem;
  color: var(--crm-title);
  background: #fff;
  border: 1px dashed rgba(141, 214, 44, 0.36);
  font-size: 1.22rem;
  font-weight: 500;
  letter-spacing: 0.02em;
}

.login-form-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 0.75rem 0 1.05rem;
}

.login-submit {
  min-height: 3.05rem;
  border-radius: 1rem;
  font-weight: 850;
  box-shadow: 0 16px 30px rgba(141, 214, 44, 0.26);
}

.worker-topbar-title-empty {
  min-height: 2.25rem;
  min-width: 1px;
}

.objects-layout {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  background: var(--crm-bg);
}

.objects-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  min-height: 5.75rem;
  padding: 1rem 2.25rem;
  background:
    radial-gradient(circle at 12% 20%, rgba(141, 214, 44, 0.22), transparent 18rem),
    linear-gradient(135deg, #172132, #0c1b37);
  color: #fff;
  position: sticky;
  top: 0;
  z-index: 20;
  margin: 0;
}

.objects-topbar .sidebar-brand-link {
  color: #fff;
}

.objects-documents-button {
  border-color: rgba(255, 255, 255, 0.28);
  color: #fff;
  background: rgba(255, 255, 255, 0.06);
}

.objects-documents-button:hover,
.objects-documents-button:focus {
  color: #fff;
  background: rgba(255, 255, 255, 0.12);
}

.documents-standalone-layout {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background:
    radial-gradient(circle at 8% 6%, rgba(141, 214, 44, 0.08), transparent 18rem),
    radial-gradient(circle at 96% 0%, rgba(28, 165, 109, 0.10), transparent 16rem),
    var(--crm-bg);
}

.objects-content {
  padding: 3rem 3.6rem 3.5rem;
}

.objects-page {
  max-width: 1480px;
  margin: 0 auto;
}

.objects-head {
  margin-bottom: 1.8rem;
}

.objects-title {
  margin: 0;
  color: var(--crm-title);
  font-size: 2.15rem;
  line-height: 1.15;
  font-weight: 800;
}

.objects-subtitle {
  margin: 0.75rem 0 0;
  color: #5f6f8e;
  font-size: 1.02rem;
}

.objects-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.65rem;
}

.objects-empty {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 2rem;
  min-height: 14.5rem;
  padding: 2.1rem 2.2rem;
  border: 1px solid rgba(208, 218, 236, 0.9);
  border-radius: 0.75rem;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(247, 250, 255, 0.92)),
    radial-gradient(circle at 12% 20%, rgba(141, 214, 44, 0.12), transparent 14rem);
  box-shadow: 0 22px 60px rgba(26, 45, 82, 0.10);
  overflow: hidden;
}

.objects-empty::after {
  content: "";
  position: absolute;
  inset: auto 2rem 0 auto;
  width: 12rem;
  height: 0.35rem;
  border-radius: 999px 999px 0 0;
  background: linear-gradient(90deg, rgba(141, 214, 44, 0.16), rgba(28, 165, 109, 0.18));
}

.objects-empty-visual {
  position: relative;
  width: 7rem;
  height: 7rem;
  border-radius: 0.75rem;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(235, 241, 255, 0.86)),
    linear-gradient(135deg, #f7faef, #ffffff);
  border: 1px solid rgba(207, 217, 238, 0.9);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82), 0 18px 34px rgba(141, 214, 44, 0.12);
}

.objects-empty-icon {
  position: absolute;
  inset: 1.15rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.65rem;
  background: linear-gradient(135deg, #8dd62c, #78bb24);
  color: #fff;
  font-size: 2.45rem;
  box-shadow: 0 14px 28px rgba(141, 214, 44, 0.28);
}

.objects-empty-dot {
  position: absolute;
  display: block;
  border-radius: 50%;
  border: 3px solid #fff;
  box-shadow: 0 8px 18px rgba(24, 42, 74, 0.16);
}

.objects-empty-dot-primary {
  right: -0.55rem;
  top: 1.1rem;
  width: 1.5rem;
  height: 1.5rem;
  background: #8dd62c;
}

.objects-empty-dot-success {
  left: 0.75rem;
  bottom: -0.45rem;
  width: 1.15rem;
  height: 1.15rem;
  background: #1ca56d;
}

.objects-empty-copy {
  max-width: 620px;
}

.objects-empty-kicker {
  margin: 0 0 0.45rem;
  color: #8dd62c;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.objects-empty h2 {
  margin: 0;
  color: var(--crm-title);
  font-size: 1.55rem;
  line-height: 1.2;
  font-weight: 800;
}

.objects-empty-copy > p:last-child {
  margin: 0.75rem 0 0;
  color: #5d6d89;
  font-size: 1rem;
  line-height: 1.6;
}

.objects-empty-hints {
  display: grid;
  gap: 0.7rem;
  min-width: 13.5rem;
}

.objects-empty-hint {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.72rem 0.85rem;
  border: 1px solid rgba(222, 229, 242, 0.95);
  border-radius: 0.6rem;
  background: rgba(255, 255, 255, 0.72);
  color: #34425d;
  font-weight: 700;
  box-shadow: 0 8px 18px rgba(31, 52, 90, 0.05);
}

.objects-empty-hint i {
  color: #8dd62c;
  font-size: 1.1rem;
}

.objects-empty-minimal {
  grid-template-columns: auto minmax(0, 1fr);
  max-width: 820px;
  min-height: auto;
  padding: 1.35rem 1.5rem;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: var(--crm-shadow-soft);
}

.objects-empty-minimal::after,
.objects-empty-minimal .objects-empty-dot,
.objects-empty-minimal .objects-empty-hints {
  display: none;
}

.objects-empty-minimal .objects-empty-icon {
  position: static;
  width: 3.4rem;
  height: 3.4rem;
  border-radius: 0.7rem;
  font-size: 1.55rem;
  box-shadow: 0 12px 24px rgba(141, 214, 44, 0.18);
}

.objects-empty-minimal h2 {
  font-size: 1.25rem;
}

.object-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 23rem;
  padding: 1.6rem;
  border: 1px solid var(--crm-border);
  border-radius: 0.6rem;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: var(--crm-shadow-soft);
  cursor: pointer;
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease, background 0.22s ease;
}

.object-card:hover,
.object-card:focus-within {
  border-color: rgba(141, 214, 44, 0.38);
  background: #fff;
  box-shadow: 0 24px 55px rgba(18, 42, 89, 0.18);
  transform: translateY(-7px);
}

.object-card-actions {
  position: absolute;
  top: 1rem;
  right: 1rem;
  display: flex;
  gap: 0.45rem;
}

.object-card-actions form {
  margin: 0;
}

.object-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  min-height: 0;
  padding: 0;
  border: 1px solid #dfe8d4;
  border-radius: 0.65rem;
  background: rgba(255, 255, 255, 0.92);
  color: #8dd62c;
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.object-action:hover,
.object-action:focus {
  background: #f7faef;
  border-color: rgba(141, 214, 44, 0.28);
  color: #78bb24;
}

.object-action-danger {
  color: #dc3545;
}

.object-action-danger:hover,
.object-action-danger:focus {
  background: #fff1f2;
  border-color: rgba(220, 53, 69, 0.24);
  color: #b02a37;
}

.remarks-tabs {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.inline-edit-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border: 0;
  border-radius: 0.6rem;
  background: #f7faef;
  color: #8dd62c;
  transition: background 0.18s ease, transform 0.18s ease;
}

.inline-edit-btn:hover,
.inline-edit-btn:focus {
  background: #dfe8ff;
  transform: translateY(-1px);
}

.inline-editor {
  display: grid;
  gap: 0.6rem;
}

.inline-editing-host {
  position: relative;
}

.inline-editor-floating {
  position: absolute;
  left: 0;
  top: calc(100% + 0.4rem);
  width: min(780px, 92vw);
  max-width: 100%;
  padding: 0.75rem;
  border: 1px solid #cfd9ee;
  border-radius: 0.95rem;
  background: #fff;
  box-shadow: 0 12px 26px rgba(19, 38, 77, 0.18);
  z-index: 40;
}

.inline-editor-floating textarea.form-control {
  min-height: 8rem;
  resize: vertical;
}

.inline-editor-actions {
  display: flex;
  gap: 0.5rem;
  justify-content: flex-end;
}

.crm-modal .modal-content {
  border: 1px solid var(--crm-border);
  border-radius: 1rem;
  box-shadow: var(--crm-shadow);
}

.crm-modal .modal-body {
  padding: 1.75rem;
  text-align: center;
}

.modal-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.8rem;
  height: 3.8rem;
  margin-bottom: 1rem;
  border-radius: 1rem;
  font-size: 1.7rem;
}

.modal-icon-danger {
  color: #dc3545;
  background: #fff1f2;
}

.crm-modal h2 {
  margin: 0 0 0.65rem;
  color: var(--crm-title);
  font-size: 1.35rem;
  font-weight: 800;
}

.crm-modal p {
  margin: 0 0 1.35rem;
  color: #61708d;
  line-height: 1.55;
}

.modal-actions {
  display: flex;
  justify-content: center;
  gap: 0.75rem;
}

.modal-actions form {
  margin: 0;
}

.confirm-modal-page {
  position: relative;
  display: grid;
  place-items: center;
  min-height: calc(100vh - 11.75rem);
  padding: 2rem 1rem;
}

.confirm-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 30;
  background:
    radial-gradient(circle at 50% 28%, rgba(255, 255, 255, 0.18), transparent 18rem),
    rgba(12, 23, 43, 0.48);
  backdrop-filter: blur(8px);
  animation: confirmBackdropIn 0.22s ease-out both;
}

.confirm-modal-card {
  position: relative;
  z-index: 31;
  width: min(100%, 520px);
  padding: 2rem;
  border: 1px solid rgba(255, 255, 255, 0.78);
  border-radius: 0.9rem;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 252, 255, 0.96)),
    #fff;
  box-shadow: 0 30px 80px rgba(7, 15, 31, 0.34);
  animation: confirmModalIn 0.26s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.confirm-modal-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.45rem;
  height: 2.45rem;
  border: 1px solid #dfe8d4;
  border-radius: 0.75rem;
  background: rgba(255, 255, 255, 0.82);
  color: #565d62;
  transition: color 0.18s ease, background-color 0.18s ease, border-color 0.18s ease;
}

.confirm-modal-close:hover,
.confirm-modal-close:focus {
  color: var(--crm-title);
  background: #f9fbf5;
  border-color: #cfe4b4;
}

.confirm-modal-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4.6rem;
  height: 4.6rem;
  margin-bottom: 1.15rem;
  border-radius: 0.9rem;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.42), transparent),
    #fff0f2;
  color: #dc3545;
  font-size: 2rem;
  box-shadow: inset 0 0 0 1px rgba(220, 53, 69, 0.08), 0 16px 34px rgba(220, 53, 69, 0.12);
}

.confirm-modal-kicker {
  margin: 0 3rem 0.45rem 0;
  color: #dc3545;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.confirm-modal-card h1 {
  margin: 0;
  color: var(--crm-title);
  font-size: 1.8rem;
  line-height: 1.12;
  font-weight: 800;
}

.confirm-modal-text {
  margin: 0.85rem 0 0;
  color: #565d62;
  line-height: 1.6;
}

.confirm-modal-warning {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-top: 1.35rem;
  padding: 0.95rem 1rem;
  border: 1px solid #ffd7dc;
  border-radius: 0.7rem;
  background: #fff6f7;
  color: #7c3842;
  line-height: 1.45;
}

.confirm-modal-warning i {
  color: #dc3545;
  font-size: 1.05rem;
  line-height: 1.45;
}

.confirm-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
  margin-top: 1.65rem;
}

.confirm-modal-actions .btn {
  min-width: 7rem;
}

@keyframes confirmBackdropIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes confirmModalIn {
  from {
    opacity: 0;
    transform: translateY(18px) scale(0.96);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.object-icon,
.object-add-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4.3rem;
  height: 4.3rem;
  border-radius: 1rem;
  background: linear-gradient(180deg, #f1f5ff, #e7eeff);
  color: var(--crm-primary);
  font-size: 2rem;
}

.object-title {
  margin: 1.4rem 0 0.65rem;
  color: var(--crm-title);
  font-size: 1.2rem;
  font-weight: 800;
  line-height: 1.25;
}

.object-address {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 1.5rem;
  color: #565d62;
  font-size: 0.94rem;
}

.object-address i {
  color: #8dd62c;
}

.object-description {
  min-height: 3.2rem;
  margin: 1.15rem 0 1rem;
  color: #565d62;
  line-height: 1.55;
}

.object-meta {
  display: grid;
  gap: 0.35rem;
  margin-bottom: 1.35rem;
  color: #565d62;
  font-size: 0.92rem;
}

.object-meta-stats {
  margin-top: auto;
  gap: 0.45rem;
}

.object-stat-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.3rem 0;
  border-bottom: 1px dashed rgba(83, 100, 128, 0.25);
}

.object-stat-row:last-child {
  border-bottom: 0;
}

.object-stat-row b {
  color: var(--crm-title);
  font-weight: 700;
}

.stat-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.05rem;
  height: 2.05rem;
  padding: 0 0.55rem;
  border-radius: 999px;
  border: 1px solid transparent;
}

.stat-badge-white {
  color: #16233b;
  background: #fff;
  border-color: #dfe8d4;
  box-shadow: 0 6px 16px rgba(31, 52, 90, 0.10);
}

.stat-badge-success {
  color: #137a53;
  background: #ebfaf3;
  border-color: #a8e6cb;
}

.stat-badge-danger {
  color: #b12f42;
  background: #fff2f4;
  border-color: #f4bbc5;
}

.stat-badge-orange {
  color: #fff;
  background: #f6a625;
  border-color: #f6a625;
}

.object-add-panel {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 1.4rem;
  max-width: 880px;
  margin: 2rem auto 0;
  padding: 1.35rem 1.5rem;
  border: 1px solid var(--crm-border);
  border-radius: 0.6rem;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: var(--crm-shadow-soft);
}

.object-add-panel h2 {
  margin: 0 0 0.35rem;
  color: var(--crm-title);
  font-size: 1.25rem;
  font-weight: 800;
}

.object-add-panel p {
  margin: 0;
  color: #565d62;
}

.object-back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  margin-bottom: 1.5rem;
  color: #78bb24;
  font-weight: 600;
}

.object-form-shell {
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  max-width: 990px;
  margin: 0 auto;
  border: 1px solid var(--crm-border);
  border-radius: 0.65rem;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--crm-shadow);
}

.object-form-visual {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 34rem;
  padding: 2rem;
  border-right: 1px solid var(--crm-border);
  background: linear-gradient(180deg, #ffffff, #fefdfe);
}

.building-illustration {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 14rem;
  height: 14rem;
  border-radius: 50%;
  background: linear-gradient(180deg, #f7faef, #dde9ff);
  color: rgba(141, 214, 44, 0.5);
  font-size: 6.5rem;
}

.building-plus {
  position: absolute;
  right: 0.4rem;
  bottom: 1.2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4.4rem;
  height: 4.4rem;
  border-radius: 50%;
  background: linear-gradient(135deg, #8dd62c, #78bb24);
  color: #fff;
  font-size: 2.3rem;
  box-shadow: 0 16px 30px rgba(141, 214, 44, 0.32);
}

.object-form-panel {
  padding: 2.65rem 2.15rem 2.15rem;
}

.object-form-actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.85rem;
}

.card {
  border: 1px solid var(--crm-border);
  border-radius: var(--crm-radius);
  background: var(--crm-surface-soft);
  backdrop-filter: blur(10px);
  box-shadow: var(--crm-shadow-soft);
}

.card.shadow-sm {
  box-shadow: var(--crm-shadow);
}

.page-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.25rem;
}

.page-title {
  margin: 0 0 0.35rem;
  color: var(--crm-title);
  font-size: clamp(1.7rem, 1vw + 1.35rem, 2.35rem);
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: -0.04em;
}

.page-subtitle {
  margin: 0;
  color: var(--crm-muted);
  font-size: 0.98rem;
}

.section-title {
  margin: 0 0 1rem;
  color: var(--crm-title);
  font-size: 1.15rem;
  font-weight: 700;
}

.table-shell,
.content-card,
.filter-card {
  border-radius: var(--crm-radius);
}

.table-shell {
  overflow: hidden;
}

.table-shell .card-body,
.content-card .card-body,
.filter-card .card-body {
  padding: 1.25rem 1.35rem;
}

.table {
  margin-bottom: 0;
  --bs-table-bg: transparent;
}

.table > :not(caption) > * > * {
  padding: 0.95rem 0.9rem;
  border-bottom-color: #ebf0f7;
  vertical-align: middle;
}

.table thead th {
  font-weight: 700;
  color: #5a6987;
  background: rgba(242, 246, 252, 0.85);
  white-space: nowrap;
  border-bottom-color: #e4eaf4;
}

.table-hover > tbody > tr:hover > * {
  background: rgba(54, 93, 255, 0.03);
}

.table-success > * {
  --bs-table-bg: rgba(40, 167, 69, 0.08);
}

.table-warning > * {
  --bs-table-bg: rgba(255, 193, 7, 0.10);
}

.task-table {
  font-size: 0.92rem;
  table-layout: fixed;
  min-width: 1320px;
}

.task-table-shell {
  overflow: hidden;
}

.task-col-apartment {
  width: 5rem;
}

.task-col-finish {
  width: 7rem;
}

.task-col-mode {
  width: 7rem;
}

.task-col-date {
  width: 8.5rem;
}

.task-col-status {
  width: 10.5rem;
}

.task-col-actions {
  width: 15.5rem;
}

.task-table .task-text {
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.55;
}

.done-task .task-text {
  text-decoration: line-through;
  color: #198754;
}

.inline-edit {
  color: var(--crm-primary);
}

.actions-cell form {
  margin: 0;
}

.actions-cell {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.actions-cell .btn-sm {
  width: 2.35rem;
  height: 2.35rem;
  min-height: 0;
  padding: 0;
  border-radius: 0.7rem;
}

.problem-action-form {
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

.problem-comment-wrap {
  align-items: center;
  gap: 0.4rem;
  width: 15rem;
}

.problem-comment-wrap:not(.d-none) {
  display: flex;
}

.problem-comment-wrap .form-control-sm {
  min-height: 2.35rem;
  border-radius: 0.7rem;
}

.form-label {
  margin-bottom: 0.55rem;
  color: #5b6782;
  font-size: 0.93rem;
  font-weight: 600;
}

.form-control,
.form-select {
  min-height: 3rem;
  border-radius: 0.95rem;
  border: 1px solid var(--crm-border-strong);
  background: rgba(255, 255, 255, 0.96);
  color: var(--crm-title);
  box-shadow: none;
}

textarea.form-control {
  min-height: 7rem;
}

.form-control:focus,
.form-select:focus {
  border-color: rgba(141, 214, 44, 0.45);
  box-shadow: 0 0 0 0.25rem rgba(141, 214, 44, 0.12);
}

.password-field {
  position: relative;
}

.password-field .form-control {
  padding-right: 3.1rem;
}

.password-toggle,
.password-preview-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  color: #5e6c87;
}

.password-toggle {
  position: absolute;
  right: 0.7rem;
  top: 50%;
  width: 2rem;
  height: 2rem;
  transform: translateY(-50%);
}

.password-toggle:hover,
.password-toggle:focus,
.password-preview-toggle:hover,
.password-preview-toggle:focus {
  color: var(--crm-primary);
}

.password-preview {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  min-width: 12rem;
}

.password-preview span {
  color: #565d62;
}

.form-check-input {
  border-color: #cfe4b4;
}

.form-check-input:checked {
  background-color: var(--crm-primary);
  border-color: var(--crm-primary);
}

.btn {
  min-height: 2.95rem;
  padding: 0.72rem 1.15rem;
  border-radius: 0.95rem;
  font-weight: 600;
  box-shadow: none;
}

.btn-sm {
  min-height: 2.2rem;
  padding: 0.45rem 0.75rem;
  border-radius: 0.8rem;
  font-size: 0.86rem;
}

.btn-primary {
  border-color: transparent;
  background: linear-gradient(135deg, #8dd62c, #8dd62c);
  box-shadow: 0 10px 24px rgba(141, 214, 44, 0.22);
}

.btn-primary:hover,
.btn-primary:focus {
  background: linear-gradient(135deg, #78bb24, #8dd62c);
}

.btn-outline-primary {
  color: var(--crm-primary);
  border-color: rgba(141, 214, 44, 0.2);
  background: rgba(255, 255, 255, 0.85);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
  background: var(--crm-primary);
  border-color: var(--crm-primary);
}

.btn-outline-secondary {
  color: #565d62;
  border-color: #dbe3f0;
  background: rgba(255, 255, 255, 0.9);
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus {
  color: var(--crm-title);
  background: #f7faef;
  border-color: #ccd7e8;
}

.btn-success {
  border-color: transparent;
  background: linear-gradient(135deg, #1ca56d, #27bf7b);
  box-shadow: 0 10px 24px rgba(28, 165, 109, 0.18);
}

.btn-outline-success {
  color: var(--crm-success);
  border-color: rgba(28, 165, 109, 0.26);
  background: rgba(255, 255, 255, 0.92);
}

.btn-outline-success:hover,
.btn-outline-success:focus {
  background: var(--crm-success);
  border-color: var(--crm-success);
}

.btn-link {
  min-height: auto;
  padding: 0;
}

.alert {
  border: 1px solid transparent;
  border-radius: 1rem;
  box-shadow: var(--crm-shadow-soft);
}

.alert-success {
  color: #0f6a46;
  background: #edf9f2;
  border-color: #cdeedb;
}

.alert-danger {
  color: #9d2e2e;
  background: #fff0f0;
  border-color: #ffd5d5;
}

.alert-warning {
  color: #9a6a07;
  background: #fff7e8;
  border-color: #ffe3a7;
}

.badge {
  border-radius: 999px;
  padding: 0.48rem 0.7rem;
  font-weight: 700;
}

.badge.bg-warning,
.text-bg-warning {
  color: #724b00 !important;
}

.bg-purple,
.btn-outline-purple:hover {
  background-color: var(--crm-purple) !important;
  color: #fff !important;
}

.btn-outline-purple {
  color: var(--crm-purple);
  border-color: var(--crm-purple);
}

.crm-tabs {
  gap: 0.65rem;
  border-bottom: 0;
}

.crm-tabs .nav-link {
  border: 1px solid var(--crm-border);
  border-radius: 1rem;
  padding: 0.78rem 1rem;
  color: #5e6c87;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: var(--crm-shadow-soft);
}

.crm-tabs .nav-link:hover,
.crm-tabs .nav-link:focus {
  border-color: rgba(141, 214, 44, 0.18);
  color: var(--crm-primary);
}

.crm-tabs .nav-link.active {
  border-color: transparent;
  color: #fff;
  background: linear-gradient(135deg, #8dd62c, #8dd62c);
}

.pagination {
  gap: 0.5rem;
  margin-top: 1.2rem;
}

.page-link {
  border: 1px solid var(--crm-border);
  border-radius: 0.9rem;
  color: #4f5f7d;
  background: rgba(255, 255, 255, 0.92);
}

.page-item.disabled .page-link {
  background: rgba(255, 255, 255, 0.7);
  color: #94a0b5;
}

.dropdown-menu {
  border: 1px solid var(--crm-border);
  border-radius: 1rem;
  padding: 0.55rem;
  box-shadow: var(--crm-shadow);
  background: rgba(255, 255, 255, 0.98);
}

.dropdown-item {
  border-radius: 0.8rem;
  padding: 0.7rem 0.85rem;
}

.dropdown-item:hover,
.dropdown-item:focus {
  background: #f7faef;
}

.metric-card,
.category-card {
  height: 100%;
  background: var(--crm-surface);
}

.dashboard-metric-card,
.dashboard-category-card {
  opacity: 0;
  animation: dashboardFadeUp 0.44s ease-out both;
  animation-delay: var(--delay, 0ms);
}

.dashboard-metric-card {
  position: relative;
  border-radius: 0.9rem;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.dashboard-metric-card::after {
  content: "";
  position: absolute;
  inset: auto 1rem 0 1rem;
  height: 0.24rem;
  border-radius: 999px 999px 0 0;
  background: linear-gradient(90deg, rgba(141, 214, 44, 0.16), rgba(28, 165, 109, 0.18));
  transform: scaleX(0.45);
  transform-origin: left;
  transition: transform 0.2s ease;
}

.dashboard-metric-card:hover,
.dashboard-category-card:hover {
  border-color: rgba(141, 214, 44, 0.28);
  box-shadow: 0 24px 55px rgba(18, 42, 89, 0.16);
  transform: translateY(-4px);
}

.dashboard-metric-card:hover::after {
  transform: scaleX(1);
}

.metric-card .card-body,
.category-card .card-body {
  padding: 1.3rem 1.45rem;
}

.dashboard-page {
  display: flex;
  flex-direction: column;
}

.dashboard-polished {
  gap: 0.35rem;
}

.dashboard-hero {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: 1.35rem;
  padding: 1.6rem 1.75rem;
  border: 1px solid rgba(220, 229, 244, 0.92);
  border-radius: 0.9rem;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(247, 250, 255, 0.92)),
    radial-gradient(circle at 88% 12%, rgba(141, 214, 44, 0.14), transparent 16rem);
  box-shadow: 0 22px 60px rgba(31, 52, 90, 0.10);
  overflow: hidden;
  animation: dashboardFadeUp 0.42s ease-out both;
}

.dashboard-hero::after {
  content: "";
  position: absolute;
  right: 2rem;
  bottom: 0;
  width: 12rem;
  height: 0.35rem;
  border-radius: 999px 999px 0 0;
  background: linear-gradient(90deg, rgba(141, 214, 44, 0.22), rgba(28, 165, 109, 0.24));
}

.dashboard-eyebrow {
  margin: 0 0 0.45rem;
  color: #8dd62c;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.dashboard-hero-stat {
  display: grid;
  place-items: center;
  width: 7.8rem;
  height: 7.8rem;
  border-radius: 50%;
  border: 1px solid #dfe8d4;
  background: #fff;
  box-shadow: 0 16px 34px rgba(141, 214, 44, 0.14);
  flex: 0 0 auto;
}

.dashboard-hero-stat span {
  color: var(--crm-title);
  font-size: 1.65rem;
  line-height: 1;
  font-weight: 800;
}

.dashboard-hero-stat small {
  color: var(--crm-muted);
  font-weight: 700;
}

.dashboard-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1.25rem;
}

.dashboard-heading {
  min-width: min(100%, 420px);
}

.dashboard-title {
  margin: 0 0 0.35rem;
  font-size: clamp(1.95rem, 1vw + 1.45rem, 2.55rem);
  line-height: 1.1;
  font-weight: 800;
  color: var(--crm-title);
  letter-spacing: -0.04em;
}

.dashboard-subtitle {
  color: var(--crm-muted);
  font-size: 1rem;
}

.dashboard-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.8rem;
}

.dashboard-actions form {
  margin: 0;
}

.dashboard-btn {
  min-height: 4.2rem;
  padding: 0.8rem 1.35rem;
  border-radius: 1.1rem;
}

.dashboard-btn-primary {
  background: linear-gradient(135deg, #8dd62c, #8dd62c);
  border-color: transparent;
  color: #fff;
}

.dashboard-btn-primary:hover,
.dashboard-btn-primary:focus {
  background: linear-gradient(135deg, #294ddd, #4467ec);
  color: #fff;
}

.dashboard-btn-outline-primary {
  color: var(--crm-title);
  border-color: #dfe8d4;
  background: rgba(255, 255, 255, 0.96);
}

.dashboard-btn-outline-primary:hover,
.dashboard-btn-outline-primary:focus,
.dashboard-btn-outline-success:hover,
.dashboard-btn-outline-success:focus {
  color: var(--crm-title);
  background: #f7faef;
  border-color: #cfe4b4;
}

.dashboard-btn-outline-success {
  color: var(--crm-title);
  border-color: #dfe8d4;
  background: rgba(255, 255, 255, 0.96);
}

.metric-row {
  display: flex;
  align-items: center;
  gap: 1.1rem;
}

.metric-icon {
  width: 3.9rem;
  height: 3.9rem;
  border-radius: 1.15rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #f7faef;
  font-size: 1.55rem;
  flex: 0 0 auto;
}

.metric-content {
  min-width: 0;
}

.metric-label {
  color: #565d62;
  font-size: 1rem;
  margin-bottom: 0.35rem;
}

.metric-value {
  font-size: clamp(2.05rem, 0.7vw + 1.85rem, 2.9rem);
  line-height: 1;
  font-weight: 800;
  color: var(--crm-title);
  letter-spacing: -0.05em;
}

.metric-icon-primary { color: #8dd62c; }
.metric-icon-success { color: #78bb24; }
.metric-icon-danger { color: #f25555; }
.metric-icon-purple { color: #8dd62c; }
.metric-icon-warning { color: #f6a625; }
.metric-icon-slate { color: #565d62; }

.dashboard-section {
  margin-bottom: 1rem;
  font-size: 1.75rem;
  font-weight: 800;
  color: var(--crm-title);
  letter-spacing: -0.03em;
}

.category-card {
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.category-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--crm-shadow);
}

.category-card-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 0.6rem;
}

.category-card-title {
  margin: 0;
  font-size: 1.28rem;
  font-weight: 700;
  color: var(--crm-title);
}

.category-color {
  width: 1rem;
  height: 1rem;
  border-radius: 999px;
  flex: 0 0 auto;
  box-shadow: 0 0 0 6px rgba(141, 214, 44, 0.08);
}

.category-card-meta {
  color: var(--crm-muted);
  font-size: 0.97rem;
}

.category-progress {
  margin-top: 1rem;
  width: 100%;
  height: 1rem;
  border-radius: 999px;
  overflow: hidden;
  background: #e9eef7;
}

.category-progress-bar {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-width: 0;
  height: 100%;
  padding-inline: 0.65rem;
  border-radius: inherit;
  color: #fff;
  font-size: 0.78rem;
  font-weight: 700;
  white-space: nowrap;
  animation: dashboardProgress 0.78s ease-out both;
}

@keyframes dashboardFadeUp {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes dashboardProgress {
  from {
    width: 0;
  }
}

.detail-data dt {
  color: #6f7d97;
  font-weight: 700;
}

.detail-data dd {
  color: var(--crm-title);
}

.section-outline-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.28rem 0.62rem;
  border: 1px solid color-mix(in srgb, var(--section-color) 75%, #dfe8d4 25%);
  border-radius: 999px;
  color: color-mix(in srgb, var(--section-color) 80%, #1a2540 20%);
  background: color-mix(in srgb, var(--section-color) 10%, #ffffff 90%);
  font-size: 0.82rem;
  font-weight: 700;
}

.comment-item {
  padding: 0.95rem 1rem;
  border: 1px solid var(--crm-border);
  border-radius: 1rem;
  background: rgba(248, 250, 254, 0.85);
}

.comment-meta {
  margin-bottom: 0.35rem;
  color: var(--crm-muted);
  font-size: 0.86rem;
}

.comment-body {
  color: var(--crm-title);
}

.mapping-list {
  max-height: 520px;
  overflow: auto;
  padding-right: 0.3rem;
}

.preview-table {
  max-height: 420px;
  overflow: auto;
}

.excel-import-layout {
  display: grid;
  grid-template-columns: minmax(280px, 520px);
  gap: 1.25rem;
  justify-content: center;
  align-items: start;
}

.excel-import-layout-wide {
  grid-template-columns: repeat(2, minmax(280px, 520px));
}

.excel-import-card .card-body {
  padding: 1.6rem;
}

.excel-import-icon,
.excel-empty-preview i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  margin-bottom: 1rem;
  border-radius: 1rem;
  background: linear-gradient(180deg, #f1f5ff, #e7eeff);
  color: var(--crm-primary);
  font-size: 1.9rem;
}

.excel-import-text,
.excel-empty-preview p {
  color: #60708c;
  line-height: 1.55;
}

.excel-dropzone {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 10.5rem;
  padding: 1.4rem;
  border: 1px dashed #b9c8e6;
  border-radius: 1rem;
  background: #f9fbf5;
  color: var(--crm-title);
  text-align: center;
  cursor: pointer;
  transition: border-color 0.18s ease, background-color 0.18s ease;
}

.excel-dropzone:hover,
.excel-dropzone:focus {
  border-color: rgba(141, 214, 44, 0.48);
  background: #f1f6ff;
}

.excel-dropzone i {
  margin-bottom: 0.6rem;
  color: var(--crm-primary);
  font-size: 2.1rem;
}

.excel-dropzone span {
  font-weight: 800;
}

.excel-dropzone small {
  margin-top: 0.3rem;
  color: #565d62;
}

.excel-file-input {
  margin-top: 0.85rem;
}

.excel-empty-preview .card-body {
  min-height: 20rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.timeline {
  border-left: 2px solid #e4eaf5;
  padding-left: 1rem;
}

.timeline-item {
  position: relative;
  margin-bottom: 1rem;
  line-height: 1.6;
}

.timeline-item::before {
  content: "";
  position: absolute;
  left: -1.45rem;
  top: 0.35rem;
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 50%;
  background: var(--crm-primary);
  box-shadow: 0 0 0 6px rgba(141, 214, 44, 0.12);
}

.status-pill {
  display: inline-flex;
  align-items: center;
  padding: 0.14rem 0.5rem;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}

.status-pill-success {
  color: #137a53;
  background: #ebfaf3;
  border-color: #a8e6cb;
}

.status-pill-muted {
  color: #57657e;
  background: #f9fbf5;
  border-color: #dfe8d4;
}

.status-pill-danger {
  color: #b12f42;
  background: #fff2f4;
  border-color: #f4bbc5;
}

code {
  color: #8dd62c;
  background: #f7faef;
  border-radius: 0.5rem;
  padding: 0.15rem 0.42rem;
}

.navbar .dropdown:hover > .dropdown-menu {
  display: block;
}

.navbar .dropdown:hover > .dropdown-toggle::after {
  transform: rotate(180deg);
}

@media (max-width: 1199px) {
  .app-content {
    padding: 1.25rem;
  }

  .dashboard-actions {
    justify-content: flex-start;
  }

  .objects-content {
    padding: 2.25rem;
  }

  .objects-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .objects-empty {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .objects-empty-hints {
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    min-width: 0;
  }
}

@media (max-width: 991px) {
  .app-layout {
    flex-direction: column;
  }

  .app-sidebar {
    width: 100%;
    flex-basis: auto;
    padding-bottom: 0.85rem;
  }

  .sidebar-nav {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  }

  .support-card {
    margin-top: 0.5rem;
  }

  .app-topbar {
    position: static;
    padding: 1rem 1.15rem;
  }

  .topbar-link.active::after {
    bottom: -0.8rem;
  }

  .sticky-lg-top {
    position: static !important;
  }

  .objects-topbar {
    flex-wrap: wrap;
    padding: 1rem 1.25rem;
  }

  .objects-content {
    padding: 1.6rem 1.15rem 2rem;
  }

  .object-form-shell {
    grid-template-columns: 1fr;
  }

  .excel-import-layout {
    grid-template-columns: 1fr;
  }

  .excel-import-layout-wide {
    grid-template-columns: 1fr;
  }

  .object-form-visual {
    min-height: 16rem;
    border-right: 0;
    border-bottom: 1px solid var(--crm-border);
  }
}

@media (max-width: 767px) {
  .app-content {
    padding: 1rem 0.9rem;
  }

  .page-title,
  .dashboard-title {
    font-size: 1.75rem;
  }

  .dashboard-section {
    font-size: 1.4rem;
  }

  .metric-card .card-body,
  .category-card .card-body,
  .table-shell .card-body,
  .content-card .card-body,
  .filter-card .card-body {
    padding: 1rem;
  }

  .dashboard-btn {
    width: 100%;
  }

  .dashboard-actions {
    width: 100%;
  }

  .dashboard-actions > * {
    width: 100%;
  }

  .metric-row {
    align-items: flex-start;
  }

  .metric-icon {
    width: 3.3rem;
    height: 3.3rem;
    font-size: 1.35rem;
  }

  .topbar-nav {
    flex-wrap: wrap;
  }

  .topbar-project {
    flex-wrap: wrap;
  }

  .objects-title {
    font-size: 1.75rem;
  }

  .objects-grid {
    grid-template-columns: 1fr;
  }

  .objects-empty {
    grid-template-columns: 1fr;
    gap: 1.35rem;
    padding: 1.35rem;
  }

  .objects-empty-visual {
    width: 5.7rem;
    height: 5.7rem;
  }

  .objects-empty-icon {
    inset: 0.9rem;
    font-size: 2rem;
  }

  .objects-empty-hints {
    grid-template-columns: 1fr;
  }

  .object-add-panel {
    grid-template-columns: 1fr;
  }

  .object-form-panel {
    padding: 1.35rem 1rem;
  }

  .object-form-actions {
    flex-direction: column-reverse;
  }

  .object-form-actions .btn {
    width: 100%;
  }

  .modal-actions {
    flex-direction: column;
  }

  .modal-actions .btn,
  .modal-actions form {
    width: 100%;
  }

  .confirm-modal-page {
    min-height: calc(100vh - 8rem);
    padding: 1rem 0.25rem;
  }

  .confirm-modal-card {
    padding: 1.35rem;
  }

  .confirm-modal-card h1 {
    font-size: 1.5rem;
  }

  .confirm-modal-actions {
    flex-direction: column-reverse;
  }

  .confirm-modal-actions .btn {
    width: 100%;
  }
}

.deadline-label {
  margin-top: 0.25rem;
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.deadline-soon {
  color: #f59f00;
}

.deadline-expired {
  color: #dc3545;
}

.related-task-list {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.related-task-item {
  display: block;
  padding: 0.75rem 0.85rem;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 0.9rem;
  color: inherit;
  text-decoration: none;
  background: rgba(248, 250, 252, 0.9);
}

.related-task-item:hover {
  background: #fff;
  border-color: rgba(13, 110, 253, 0.25);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}

.related-task-point {
  display: block;
  margin-bottom: 0.25rem;
  font-weight: 800;
  color: #565d62;
}

.related-task-text {
  display: -webkit-box;
  overflow: hidden;
  color: #64748b;
  font-size: 0.86rem;
  line-height: 1.35;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

.report-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 1rem;
}

.report-card h2 {
  margin: 0;
  color: var(--crm-title);
  font-size: 1.05rem;
  font-weight: 800;
}

.report-card summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.1rem 1.2rem;
  cursor: pointer;
  list-style: none;
}

.report-card summary::-webkit-details-marker {
  display: none;
}

.report-card summary b {
  display: block;
  color: var(--crm-title);
  font-weight: 400;
}

.report-card summary em {
  color: var(--crm-muted);
  font-style: normal;
}

.report-summary-actions {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  flex: 0 0 auto;
}

.report-card p {
  margin: 0.35rem 0 0;
  color: var(--crm-muted);
}

.report-card-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  margin-bottom: 1rem;
}

.report-task-list,
.notification-list {
  display: grid;
  gap: 0.75rem;
}

.report-task-list {
  padding: 0 1.2rem 1.2rem;
  max-height: 520px;
  overflow: auto;
}

.report-task-item {
  display: grid;
  gap: 0.2rem;
  padding: 0.75rem;
  border: 1px solid var(--crm-border);
  border-radius: 0.7rem;
  background: #f9fbf5;
}

.report-task-item span {
  color: #565d62;
  line-height: 1.45;
}

.notification-card {
  overflow: hidden;
}

.notification-card summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.2rem;
  cursor: pointer;
  list-style: none;
}

.notification-card summary::-webkit-details-marker {
  display: none;
}

.notification-card summary b {
  display: block;
  color: var(--crm-title);
}

.notification-card summary em {
  color: #5d6d89;
  font-style: normal;
}

.notification-counts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-end;
}

.notification-details {
  display: grid;
  gap: 0.65rem;
  padding: 0 1.2rem 1.2rem;
}

.notification-details h2 {
  margin: 0.65rem 0 0;
  color: var(--crm-title);
  font-size: 1rem;
  font-weight: 800;
}

.notification-details p {
  margin: 0;
  padding: 0.75rem;
  border-radius: 0.7rem;
  background: #f9fbf5;
  color: #565d62;
}

.status-pill-info {
  background: rgba(13, 202, 240, .16);
  color: #087990;
}
.status-pill-warning {
  background: rgba(255, 193, 7, .20);
  color: #997404;
}

/* Apartments section */
.apartments-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1rem;
}

.apartment-card {
  display: flex;
  flex-direction: column;
  gap: 0.95rem;
  min-height: 245px;
  padding: 1.1rem;
  color: inherit;
  background: #fff;
  border: 1px solid var(--crm-border);
  border-radius: 1.1rem;
  box-shadow: 0 10px 30px rgba(31, 45, 61, 0.06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.apartment-card:hover {
  color: inherit;
  border-color: rgba(13, 110, 253, .32);
  box-shadow: 0 18px 45px rgba(31, 45, 61, 0.12);
  transform: translateY(-2px);
}

.apartment-card-link {
  display: grid;
  gap: .95rem;
  color: inherit;
  text-decoration: none;
}

.apartment-card-link:hover {
  color: inherit;
}

.apartments-filter-form .btn {
  min-height: 2.4rem;
  white-space: nowrap;
}

.apartments-apply-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-inline: .9rem;
}

.apartment-po-form {
  display: grid;
  gap: .45rem;
  padding: .75rem;
  border: 1px solid #dfe7f4;
  border-radius: .85rem;
  background: linear-gradient(180deg, #fbfcff, #f6f9ff);
}

.apartment-po-form .form-label {
  margin: 0;
  color: var(--crm-muted);
  font-size: .78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.apartment-po-row,
.apartment-po-form-inline {
  display: flex;
  align-items: center;
  gap: .55rem;
}

.apartment-po-form-inline {
  align-items: stretch;
}

.apartment-po-options {
  flex-wrap: wrap;
}

.po-option {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
  padding: .38rem .7rem;
  border: 1px solid #d8e2f1;
  border-radius: 999px;
  background: #fff;
  color: #565d62;
  font-size: .84rem;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease;
}

.btn-check:focus + .po-option,
.po-option:hover {
  border-color: rgba(13, 110, 253, .36);
  box-shadow: 0 0 0 .18rem rgba(13, 110, 253, .08);
}

.btn-check:checked + .po-option-not_ready,
.po-option-not_ready.is-static {
  border-color: rgba(220, 53, 69, .28);
  background: #fff1f2;
  color: #b02a37;
}

.btn-check:checked + .po-option-to_throw,
.po-option-to_throw.is-static {
  border-color: rgba(255, 193, 7, .38);
  background: #fff7df;
  color: #8a6500;
}

.btn-check:checked + .po-option-thrown,
.po-option-thrown.is-static {
  border-color: rgba(25, 135, 84, .28);
  background: #eaf7ef;
  color: #146c43;
}

.apartment-card-top,
.apartment-progress-head,
.apartment-task-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.apartment-card-top {
  flex-wrap: wrap;
}

.apartment-card-label {
  color: var(--crm-muted);
  font-size: .8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.apartment-card-number {
  color: var(--crm-title);
  font-size: 1.75rem;
  font-weight: 900;
  line-height: 1.1;
}

.apartment-card-info {
  display: grid;
  gap: .45rem;
  color: #565d62;
  font-size: .92rem;
}

.apartment-card-info span {
  display: flex;
  align-items: center;
  gap: .45rem;
  min-width: 0;
}

.apartment-card-info i {
  color: #7c8aa5;
}

.slim-progress {
  height: .45rem;
  border-radius: 99px;
  background: #edf2f7;
}

.slim-progress .progress-bar {
  border-radius: 99px;
}

.apartment-stat-row,
.apartment-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .55rem;
}

.apartment-stat-row span,
.apartment-summary-grid > div {
  padding: .55rem;
  border-radius: .75rem;
  background: #f9fbf5;
  color: #565d62;
  font-size: .86rem;
  text-align: center;
}

.apartment-summary-grid {
  grid-template-columns: repeat(4, 1fr);
}

.apartment-summary-grid span {
  display: block;
  color: var(--crm-muted);
  font-size: .78rem;
}

.apartment-summary-grid b {
  display: block;
  color: var(--crm-title);
  font-size: 1.35rem;
}

.apartment-data-list {
  display: grid;
  gap: .65rem;
}

.apartment-data-row,
.apartment-data-note,
.apartment-data-po,
.inspection-note-form {
  display: grid;
  gap: .35rem;
  padding: .75rem;
  border: 1px solid #edf1f7;
  border-radius: .85rem;
  background: #f9fbf5;
}

.apartment-data-row {
  grid-template-columns: minmax(7rem, 42%) minmax(0, 1fr);
  align-items: center;
}

.apartment-data-row span,
.apartment-data-note span,
.apartment-data-po > span {
  color: var(--crm-muted);
  font-size: .78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.apartment-data-row b,
.apartment-data-note p {
  min-width: 0;
  margin: 0;
  color: var(--crm-title);
  word-break: break-word;
}

.inspection-note-form .btn {
  justify-self: start;
}

.po-notification-widget {
  position: fixed;
  right: 1.25rem;
  bottom: 1.25rem;
  z-index: 35;
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  padding: .75rem .95rem;
  border: 1px solid rgba(255, 193, 7, .45);
  border-radius: 999px;
  background: #fff8e1;
  color: #8a6500;
  text-decoration: none;
  box-shadow: 0 14px 34px rgba(31, 45, 61, .16);
}

.po-notification-widget span {
  font-size: .82rem;
  font-weight: 900;
}

.po-notification-widget b {
  display: inline-grid;
  place-items: center;
  min-width: 1.75rem;
  height: 1.75rem;
  padding: 0 .35rem;
  border-radius: 999px;
  background: #ffc107;
  color: #3f2d00;
  font-size: .9rem;
}

.apartment-task-list,
.apartment-activity-list {
  display: grid;
  gap: .75rem;
}

.apartment-task-item,
.apartment-activity-item,
.empty-info-box {
  display: block;
  padding: .9rem;
  color: inherit;
  text-decoration: none;
  border: 1px solid var(--crm-border);
  border-radius: .85rem;
  background: #f9fbf5;
}

.apartment-task-item:hover {
  color: inherit;
  border-color: rgba(13, 110, 253, .32);
  background: #fff;
}

.apartment-task-item.is-done .apartment-task-text {
  text-decoration: line-through;
  color: #6f7f95;
}

.apartment-task-point {
  color: var(--crm-title);
  font-weight: 800;
}

.apartment-task-text {
  margin-top: .45rem;
  color: #344563;
  line-height: 1.45;
}

.apartment-task-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem .8rem;
  margin-top: .65rem;
  color: var(--crm-muted);
  font-size: .82rem;
}

.apartment-big-progress {
  padding: .75rem;
  border-radius: .85rem;
  background: #f9fbf5;
}

.empty-info-box {
  color: var(--crm-muted);
}

/* Materials module */
.materials-page-head {
  align-items: flex-start;
}

.materials-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.materials-tabs .crm-tabs {
  gap: 8px;
  flex-wrap: wrap;
}

.materials-table th,
.materials-table td {
  vertical-align: top;
}

.material-date {
  font-size: 12px;
  color: #6c757d;
  margin-bottom: 8px;
  font-weight: 700;
}

.material-task-list {
  display: grid;
  gap: 8px;
}

.material-task-item {
  display: grid;
  gap: 2px;
  padding: 8px 10px;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 14px;
  background: rgba(248, 250, 252, .8);
}

.material-apartment {
  font-size: 12px;
  color: #64748b;
  font-weight: 800;
}

.material-spent-item {
  padding: 7px 0;
  border-bottom: 1px solid rgba(15, 23, 42, .06);
}

.material-spent-item:last-child {
  border-bottom: 0;
}

.material-form-card,
.material-writeoff-form .content-card {
  border: 0;
  border-radius: 24px;
  box-shadow: 0 18px 45px rgba(15, 23, 42, .08);
}

.material-edit-table thead th,
.material-tasks-table thead th {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #64748b;
  background: #f8fafc;
}

.material-edit-table td,
.material-edit-table th,
.material-tasks-table td,
.material-tasks-table th {
  border-color: rgba(15, 23, 42, .08);
}

.material-form-title {
  font-size: 15px;
  font-weight: 900;
  color: #565d62;
  margin-bottom: 14px;
}

.material-form-footer {
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: flex-end;
  margin-top: 18px;
  flex-wrap: wrap;
}

.manual-writeoff-shell {
  display: flex;
  justify-content: flex-start;
}

.material-manual-card {
  width: min(880px, 100%);
}

.material-manual-card .card-body {
  padding: 24px;
}

.material-manual-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(15, 23, 42, .08);
}

.manual-writeoff-grid {
  display: grid;
  grid-template-columns: minmax(180px, .8fr) minmax(260px, 1.2fr) minmax(120px, .55fr);
  gap: 14px;
  align-items: end;
}

.manual-writeoff-grid .manual-task-field {
  grid-column: 1 / -1;
}

.material-manual-card textarea {
  min-height: 112px;
  resize: vertical;
}

.material-manual-card .form-control,
.material-manual-card .form-select {
  min-height: 44px;
}

.material-request-edit-card {
  width: 100%;
  max-width: none;
}

.material-request-edit-card .card-body {
  padding: clamp(20px, 2vw, 28px);
}

.material-request-edit-card .section-title {
  margin-bottom: 18px;
  font-size: 1.05rem;
}

.material-edit-note {
  margin: 4px 0 12px;
  color: #565d62;
  font-size: .86rem;
}

.material-request-edit-table-wrap {
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 16px;
  overflow: hidden;
}

.material-request-edit-card .material-edit-table {
  margin-bottom: 0;
}

.material-request-edit-card .material-edit-table th {
  padding: 12px 16px;
}

.material-request-edit-card .material-edit-table td {
  padding: 11px 16px;
}

.material-request-edit-card .material-edit-table .form-control {
  min-height: 42px;
  border-radius: 12px;
}

.material-add-row-btn {
  margin-top: 12px;
  border-radius: 12px;
  font-weight: 800;
}

.material-tasks-box {
  max-height: 650px;
  overflow: auto;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 18px;
}

.material-tasks-box table {
  margin-bottom: 0;
}

.material-tasks-box thead th {
  position: sticky;
  top: 0;
  z-index: 2;
}

.material-balance-hint {
  margin-top: 16px;
  padding: 14px;
  border-radius: 18px;
  background: #f8fafc;
  border: 1px solid rgba(15, 23, 42, .08);
}

.material-balance-chip {
  display: inline-flex;
  align-items: center;
  padding: 7px 10px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, .08);
  color: #334155;
  font-size: 13px;
  font-weight: 700;
  margin: 0 6px 6px 0;
}

@media (max-width: 768px) {
  .materials-actions,
  .material-form-footer {
    justify-content: stretch;
  }

  .materials-actions .btn,
  .material-form-footer .btn {
    width: 100%;
  }
}

.material-quick-box {
  border: 1px solid rgba(30, 57, 96, 0.1);
  background: #f8fafc;
  border-radius: 18px;
  padding: 16px;
}
.material-quick-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.material-preset-btn span {
  opacity: .7;
  font-size: .78rem;
  margin-left: 6px;
}
.task-manual-form textarea,
.material-form-card textarea {
  resize: vertical;
}

/* Assignment, worker, glass and polished materials screens */
.materials-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.materials-summary-card,
.assignment-report-card,
.worker-task-card {
  animation: softRise 0.45s ease both;
  animation-delay: var(--delay, 0ms);
}

.materials-summary-card {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.1rem 1.2rem;
  border-radius: 1.25rem;
  background: linear-gradient(135deg, #ffffff, #f9fbf5);
  border: 1px solid rgba(22, 38, 66, 0.08);
  box-shadow: 0 14px 36px rgba(22, 38, 66, 0.08);
}

.materials-summary-icon {
  width: 3rem;
  height: 3rem;
  border-radius: 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #f7faef;
  color: #565d62;
  font-size: 1.25rem;
}

.materials-summary-label {
  color: #6b7280;
  font-size: 0.9rem;
}

.materials-summary-value {
  color: #565d62;
  font-size: 1.65rem;
  font-weight: 800;
  line-height: 1.1;
}

.materials-tabs-polished .nav-link,
.crm-tabs .nav-link {
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
}

.materials-tabs-polished .nav-link:hover,
.crm-tabs .nav-link:hover {
  transform: translateY(-1px);
}

.materials-animated-card,
.assignment-shell,
.glass-table-shell,
.glass-order-shell {
  animation: softRise 0.35s ease both;
  border: 0;
  box-shadow: 0 16px 40px rgba(22, 38, 66, 0.08);
  overflow: hidden;
}

.materials-table tbody tr,
.task-table tbody tr {
  transition: background-color .18s ease, transform .18s ease;
}

.materials-table tbody tr:hover,
.task-table tbody tr:hover {
  transform: translateX(2px);
}

.assignment-user-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.assignment-user-name {
  font-size: 1.05rem;
  font-weight: 800;
  color: #565d62;
}

.assignment-counters {
  display: flex;
  gap: .4rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.assignment-report-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.assignment-task-mini-list {
  display: grid;
  gap: .6rem;
}

.assignment-task-mini {
  position: relative;
  padding: .8rem .9rem;
  border-radius: .9rem;
  background: #f8fafc;
  border: 1px solid rgba(15, 23, 42, 0.06);
}

.assignment-task-mini.done {
  background: #effaf3;
  border-color: rgba(25, 135, 84, 0.18);
}

.worker-page {
  max-width: 980px;
  margin: 0 auto;
}

.worker-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
  padding: 1.5rem;
  border-radius: 1.4rem;
  background: linear-gradient(135deg, #10233f, #1d3d6a);
  color: #fff;
  box-shadow: 0 20px 50px rgba(16, 35, 63, .22);
}

.worker-hero .dashboard-title,
.worker-hero .dashboard-subtitle,
.worker-hero .dashboard-eyebrow {
  color: #fff;
}

.worker-counter {
  min-width: 4.25rem;
  height: 4.25rem;
  border-radius: 1.25rem;
  background: rgba(255,255,255,.12);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  font-weight: 900;
}

.worker-task-list {
  display: grid;
  gap: .9rem;
}

.worker-task-card {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1rem;
  align-items: center;
  padding: 1rem;
  border-radius: 1.2rem;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.07);
}

.worker-task-card.done {
  opacity: .72;
  background: #f4fbf7;
}

.worker-task-meta {
  display: flex;
  gap: .45rem;
  flex-wrap: wrap;
  margin-bottom: .5rem;
}

.worker-task-meta span {
  border-radius: 999px;
  background: #eef2f7;
  padding: .22rem .55rem;
  font-size: .82rem;
  font-weight: 700;
  color: #334155;
}

.worker-task-text {
  font-size: 1.02rem;
  color: #565d62;
  margin-bottom: .55rem;
}

.worker-done-mark {
  color: #198754;
  font-weight: 800;
}

.glass-inline-form {
  display: grid;
  grid-template-columns: minmax(170px, 1fr) 170px auto;
  gap: .55rem;
  align-items: center;
}

@keyframes softRise {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 992px) {
  .materials-summary-grid,
  .assignment-report-grid {
    grid-template-columns: 1fr;
  }
  .worker-task-card,
  .glass-inline-form {
    grid-template-columns: 1fr;
  }
}

/* Object scoped dashboard / smart assignment polish */
.smart-assign-card {
  border: 1px solid rgba(141, 214, 44, 0.13);
  background: linear-gradient(135deg, rgba(255,255,255,0.97), rgba(245,248,255,0.93));
  box-shadow: 0 18px 44px rgba(22, 34, 58, 0.08);
  animation: materialCardIn 0.32s ease both;
}
.smart-assign-note {
  padding: 0.85rem 1rem;
  border-radius: 1rem;
  background: rgba(141, 214, 44, 0.08);
  color: #27324a;
  border: 1px solid rgba(141, 214, 44, 0.12);
}
.dashboard-metric-card {
  transition: transform .18s ease, box-shadow .18s ease;
}
.dashboard-metric-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 42px rgba(22, 34, 58, 0.11);
}

/* Footer / bug reports / worker task updates */
.crm-footer {
  margin: 2rem auto 0;
  padding: 1rem 1.25rem;
  text-align: center;
  color: #565d62;
  font-weight: 700;
  letter-spacing: .01em;
  border-top: 1px solid rgba(15, 23, 42, .08);
}
.auth-footer {
  border-top: 0;
  color: rgba(255,255,255,.72);
}
.report-error-btn {
  border-color: rgba(255,255,255,.35);
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(10px);
}
.report-error-btn:hover {
  background: rgba(255,255,255,.18);
  border-color: rgba(255,255,255,.6);
}
.error-report-modal {
  border: 0;
  border-radius: 1.35rem;
  overflow: hidden;
  box-shadow: 0 26px 80px rgba(15, 23, 42, .22);
}
.site-errors-list {
  display: grid;
  gap: 1rem;
}
.site-error-card {
  animation: softRise .22s ease both;
}
.site-error-card.closed {
  opacity: .72;
}
.site-error-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  margin-bottom: .85rem;
}
.site-error-message {
  font-size: 1rem;
  line-height: 1.55;
  color: #565d62;
  white-space: pre-wrap;
}
.site-error-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin-top: .9rem;
  color: #565d62;
  font-size: .88rem;
}
.site-error-meta span {
  padding: .32rem .6rem;
  background: #f7faef;
  border-radius: 999px;
}
.site-error-url {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.site-error-trace summary {
  cursor: pointer;
  color: #475467;
  font-weight: 700;
}
.site-error-trace pre {
  margin-top: .7rem;
  padding: 1rem;
  border-radius: 1rem;
  background: #565d62;
  color: #e5e7eb;
  max-height: 360px;
  overflow: auto;
  font-size: .82rem;
}
.site-error-500-icon {
  width: 4rem;
  height: 4rem;
  border-radius: 1.25rem;
  margin: 0 auto 1rem;
  background: #fff3cd;
  color: #b58100;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
}
.worker-layout .app-topbar {
  justify-content: space-between;
}
.worker-topbar-title span {
  font-weight: 800;
}
.worker-hero-modern {
  background: radial-gradient(circle at 20% 0%, rgba(255,255,255,.22), transparent 32%), linear-gradient(135deg, #565d62, #8dd62c);
}
.worker-tabs {
  display: flex;
  gap: .6rem;
  flex-wrap: wrap;
}
.worker-tab {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  text-decoration: none;
  padding: .62rem .9rem;
  border-radius: 999px;
  background: #fff;
  color: #475467;
  border: 1px solid rgba(15, 23, 42, .08);
  font-weight: 800;
  box-shadow: 0 10px 25px rgba(15, 23, 42, .05);
  transition: .18s ease;
}
.worker-tab span {
  min-width: 1.55rem;
  height: 1.55rem;
  border-radius: 999px;
  background: #eef2f7;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: .78rem;
}
.worker-tab.active,
.worker-tab:hover {
  color: #fff;
  background: #78bb24;
  transform: translateY(-1px);
}
.worker-tab.active span,
.worker-tab:hover span {
  color: #78bb24;
  background: #fff;
}
.worker-task-card {
  align-items: stretch;
}
.worker-task-action {
  min-width: 260px;
}
.worker-status-form {
  display: grid;
  gap: .2rem;
}
.worker-task-comment {
  margin: .45rem 0 .55rem;
  padding: .55rem .7rem;
  border-radius: .9rem;
  background: #f8fafc;
  color: #475467;
  border: 1px solid rgba(15, 23, 42, .06);
  font-size: .92rem;
}
.material-writeoff-form .material-edit-table th,
.material-writeoff-form .material-edit-table td {
  vertical-align: middle;
}
.material-writeoff-form .material-edit-table input {
  min-width: 0;
}
@media (max-width: 992px) {
  .site-error-head,
  .worker-task-card {
    grid-template-columns: 1fr;
  }
  .worker-task-action {
    min-width: 0;
  }
  .report-error-btn {
    padding-inline: .65rem;
  }
}

/* Worker mobile app + cleaner dashboard redesign */
.worker-layout {
  background: linear-gradient(180deg, #f7faef 0%, #f6f8fb 40%, #f6f8fb 100%);
}
.worker-layout .app-sidebar {
  display: none;
}
.worker-layout .app-main {
  width: 100%;
  min-width: 0;
}
.worker-layout .app-topbar {
  position: sticky;
  top: 0;
  z-index: 30;
  min-height: 64px;
  padding: .85rem clamp(.85rem, 3vw, 1.5rem);
  background: rgba(15, 23, 42, .92);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.worker-layout .app-content {
  padding: clamp(.85rem, 3vw, 1.5rem);
  padding-bottom: max(1.25rem, env(safe-area-inset-bottom));
}
.worker-layout .topbar-actions {
  gap: .5rem;
}
.worker-layout .report-error-btn {
  min-height: 38px;
  border-radius: 999px;
}
.worker-layout .topbar-user {
  min-height: 38px;
  border-radius: 999px;
  padding: .35rem .6rem .35rem .35rem;
  background: rgba(255,255,255,.09);
}
.worker-layout .topbar-user span:last-child {
  max-width: 9rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.worker-page {
  max-width: 760px;
}
.worker-hero-modern {
  position: relative;
  overflow: hidden;
  min-height: 168px;
  align-items: flex-start;
  border-radius: 1.65rem;
  padding: 1.25rem;
}
.worker-hero-modern::after {
  content: "";
  position: absolute;
  right: -3rem;
  bottom: -3rem;
  width: 12rem;
  height: 12rem;
  border-radius: 50%;
  background: rgba(255,255,255,.12);
}
.worker-hero-modern > * {
  position: relative;
  z-index: 1;
}
.worker-counter {
  min-width: 4rem;
  height: 4rem;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.16);
}
.worker-tabs {
  position: sticky;
  top: 64px;
  z-index: 25;
  padding: .65rem 0;
  background: linear-gradient(180deg, rgba(246,248,251,.98), rgba(246,248,251,.90));
  backdrop-filter: blur(10px);
}
.worker-tab {
  min-height: 44px;
  padding: .72rem 1rem;
}
.worker-task-list {
  gap: 1rem;
}
.worker-task-card {
  border-radius: 1.45rem;
  padding: 1rem;
  box-shadow: 0 16px 38px rgba(15, 23, 42, .08);
}
.worker-task-card.done {
  opacity: 1;
  background: linear-gradient(135deg, #ffffff, #f2fbf6);
  border-color: rgba(25, 135, 84, .16);
}
.worker-task-meta span:first-child {
  background: #e8efff;
  color: #78bb24;
}
.worker-task-text {
  font-size: 1.08rem;
  line-height: 1.45;
  font-weight: 700;
}
.worker-task-action textarea {
  min-height: 72px;
  border-radius: 1rem;
}
.worker-task-action .btn {
  min-height: 50px;
  border-radius: 1rem;
  font-weight: 900;
}
.worker-done-mark {
  padding: .75rem .9rem;
  border-radius: 1rem;
  background: rgba(25, 135, 84, .1);
}

.dashboard-redesign {
  display: grid;
  gap: 1.1rem;
}
.dashboard-redesign-hero,
.dashboard-focus-card,
.dashboard-info-card,
.dashboard-specialist-card {
  animation: dashboardFadeUp .36s ease both;
}
.dashboard-redesign-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  padding: 1.35rem;
  border-radius: 1.6rem;
  background: radial-gradient(circle at 18% 0%, rgba(141, 214, 44, .22), transparent 34%), linear-gradient(135deg, #565d62, #263a63);
  color: #fff;
  box-shadow: 0 22px 56px rgba(17, 24, 39, .18);
  overflow: hidden;
}
.dashboard-redesign-hero .dashboard-title,
.dashboard-redesign-hero .dashboard-subtitle,
.dashboard-redesign-hero .dashboard-eyebrow {
  color: #fff;
}
.dashboard-progress-panel {
  min-width: 280px;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: .9rem;
  border-radius: 1.3rem;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.14);
}
.dashboard-progress-ring {
  --value: 0;
  width: 5.5rem;
  height: 5.5rem;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: conic-gradient(#8dd62c calc(var(--value) * 1%), rgba(255,255,255,.16) 0);
  position: relative;
  flex: 0 0 auto;
}
.dashboard-progress-ring::before {
  content: "";
  position: absolute;
  inset: .55rem;
  border-radius: inherit;
  background: #565d62;
}
.dashboard-progress-ring span {
  position: relative;
  z-index: 1;
  color: #fff;
  font-weight: 900;
}
.dashboard-progress-meta {
  color: rgba(255,255,255,.84);
  font-weight: 800;
}
.dashboard-overview-grid {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 1rem;
}
.dashboard-focus-card,
.dashboard-info-card,
.dashboard-specialist-card {
  position: relative;
  border-radius: 1.35rem;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, .07);
  box-shadow: 0 14px 36px rgba(15, 23, 42, .07);
}
.dashboard-focus-card {
  padding: 1.2rem;
}
.dashboard-focus-primary {
  background: linear-gradient(135deg, #fff, #f2f6ff);
}
.dashboard-card-head,
.dashboard-info-title,
.dashboard-specialist-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
}
.dashboard-card-head h2 {
  margin: .1rem 0 0;
  font-size: 1.05rem;
  font-weight: 900;
  color: #565d62;
}
.dashboard-card-head i {
  width: 2.6rem;
  height: 2.6rem;
  border-radius: .95rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #f7faef;
  color: #8dd62c;
  font-size: 1.25rem;
}
.dashboard-big-number {
  margin: .9rem 0 1rem;
  font-size: clamp(2.4rem, 8vw, 4rem);
  line-height: .9;
  font-weight: 950;
  letter-spacing: -.06em;
  color: #565d62;
}
.dashboard-mini-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .6rem;
}
.dashboard-mini-stats-two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.dashboard-mini-stats div,
.dashboard-line-list div {
  padding: .75rem;
  border-radius: 1rem;
  background: #f9fbf5;
}
.dashboard-mini-stats span,
.dashboard-line-list span {
  display: block;
  color: #565d62;
  font-size: .86rem;
  font-weight: 700;
}
.dashboard-mini-stats b,
.dashboard-line-list b {
  display: block;
  color: #565d62;
  font-size: 1.25rem;
  font-weight: 900;
}
.dashboard-info-columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.dashboard-info-card {
  padding: 1rem;
}
.dashboard-info-title {
  justify-content: flex-start;
  font-weight: 900;
  color: #565d62;
  margin-bottom: .75rem;
}
.dashboard-info-title i {
  color: #8dd62c;
}
.dashboard-line-list {
  display: grid;
  gap: .55rem;
}
.dashboard-small-text {
  font-size: .85rem !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dashboard-section-redesign {
  margin-top: .3rem;
}
.dashboard-roadmap-card {
  position: relative;
  overflow: hidden;
  padding: 1.25rem;
  border-radius: 1.45rem;
  background: linear-gradient(135deg, #ffffff, #f9fbf5 58%, #f7faef);
  border: 1px solid rgba(141, 214, 44, .12);
  box-shadow: 0 18px 44px rgba(15, 23, 42, .08);
  animation: dashboardFadeUp .4s ease both;
}
.dashboard-roadmap-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto auto;
  width: 240px;
  height: 240px;
  background: radial-gradient(circle, rgba(141, 214, 44, .16) 0%, rgba(141, 214, 44, 0) 68%);
  pointer-events: none;
}
.dashboard-roadmap-head {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  margin-bottom: 1rem;
}
.dashboard-roadmap-eyebrow {
  margin: 0 0 .35rem;
  color: #8dd62c;
  font-size: .82rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.dashboard-roadmap-head h2 {
  margin: 0;
  color: #565d62;
  font-size: clamp(1.3rem, 2vw, 1.75rem);
  font-weight: 950;
}
.dashboard-roadmap-subtitle {
  max-width: 860px;
  margin: .45rem 0 0;
  color: #5f6b7c;
  font-size: .96rem;
  line-height: 1.6;
}
.dashboard-roadmap-badge {
  flex: 0 0 auto;
  padding: .5rem .85rem;
  border-radius: 999px;
  background: rgba(141, 214, 44, .1);
  color: #8dd62c;
  font-weight: 900;
  font-size: .88rem;
  box-shadow: inset 0 0 0 1px rgba(141, 214, 44, .14);
}
.dashboard-roadmap-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .85rem;
}
.dashboard-roadmap-item {
  display: flex;
  align-items: flex-start;
  gap: .85rem;
  padding: .95rem 1rem;
  border-radius: 1.1rem;
  background: rgba(255, 255, 255, .86);
  border: 1px solid rgba(15, 23, 42, .06);
  box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
}
.dashboard-roadmap-item i {
  width: 2.55rem;
  height: 2.55rem;
  flex: 0 0 2.55rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: .95rem;
  background: linear-gradient(135deg, #8dd62c, #9fdf4c);
  color: #fff;
  font-size: 1.1rem;
  box-shadow: 0 10px 18px rgba(141, 214, 44, .18);
}
.dashboard-roadmap-item h3 {
  margin: .05rem 0 .3rem;
  color: #565d62;
  font-size: 1rem;
  font-weight: 900;
}
.dashboard-roadmap-item p {
  margin: 0;
  color: #5f6b7c;
  font-size: .92rem;
  line-height: 1.55;
}
.dashboard-specialists-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.dashboard-specialist-card {
  padding: 1rem;
  animation-delay: var(--delay, 0ms);
  overflow: hidden;
}
.dashboard-specialist-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: .25rem;
  background: var(--category-color, #8dd62c);
}
.dashboard-specialist-top h3 {
  margin: 0;
  font-size: 1rem;
  color: #565d62;
  font-weight: 900;
}
.dashboard-specialist-top p {
  margin: .25rem 0 .65rem;
  color: #565d62;
  font-size: .9rem;
}
.dashboard-specialist-top span {
  flex: 0 0 auto;
  border-radius: 999px;
  padding: .35rem .65rem;
  background: #f7faef;
  color: #8dd62c;
  font-weight: 900;
}

@media (max-width: 991px) {
  .dashboard-redesign-hero,
  .dashboard-overview-grid,
  .dashboard-info-columns,
  .dashboard-specialists-grid,
  .dashboard-roadmap-grid {
    grid-template-columns: 1fr;
  }
  .dashboard-progress-panel {
    min-width: 0;
  }
  .dashboard-roadmap-head {
    flex-direction: column;
  }
}

@media (max-width: 767px) {
  .worker-layout .app-topbar {
    padding: .7rem .75rem;
  }
  .worker-layout .worker-topbar-title span {
    font-size: .95rem;
  }
  .worker-layout .topbar-actions .report-error-btn {
    font-size: 0;
    width: 38px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .worker-layout .topbar-actions .report-error-btn i {
    margin: 0 !important;
    font-size: 1rem;
  }
  .worker-layout .topbar-user span:last-child {
    display: none;
  }
  .worker-layout .topbar-user::after {
    display: none;
  }
  .worker-hero-modern {
    min-height: 0;
    padding: 1.05rem;
    border-radius: 1.35rem;
  }
  .worker-hero-modern .dashboard-title {
    font-size: 1.45rem;
    line-height: 1.12;
  }
  .worker-hero-modern .dashboard-subtitle {
    font-size: .92rem;
  }
  .worker-counter {
    min-width: 3.2rem;
    height: 3.2rem;
    border-radius: 1rem;
    font-size: 1.35rem;
  }
  .worker-tabs {
    top: 56px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .45rem;
  }
  .worker-tab {
    justify-content: center;
    min-height: 46px;
    padding: .55rem .45rem;
    font-size: .86rem;
  }
  .worker-tab span {
    min-width: 1.35rem;
    height: 1.35rem;
  }
  .worker-task-card {
    padding: .9rem;
    border-radius: 1.25rem;
  }
  .worker-task-text {
    font-size: 1.02rem;
  }
  .worker-task-meta span {
    font-size: .78rem;
  }
  .worker-status-form .form-label,
  .worker-status-form textarea {
    font-size: .9rem;
  }
  .dashboard-redesign-hero,
  .dashboard-focus-card,
  .dashboard-info-card,
  .dashboard-specialist-card {
    border-radius: 1.15rem;
  }
  .dashboard-redesign-hero {
    padding: 1rem;
  }
  .dashboard-progress-panel {
    align-items: center;
  }
  .dashboard-progress-ring {
    width: 4.6rem;
    height: 4.6rem;
  }
  .dashboard-mini-stats,
  .dashboard-mini-stats-two {
    grid-template-columns: 1fr;
  }
  .dashboard-line-list div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
  }
  .dashboard-line-list b {
    text-align: right;
  }
}

/* Worker mobile app + cleaner dashboard redesign */
.worker-layout {
  background: linear-gradient(180deg, #f7faef 0%, #f6f8fb 40%, #f6f8fb 100%);
}
.worker-layout .app-sidebar {
  display: none;
}
.worker-layout .app-main {
  width: 100%;
  min-width: 0;
}
.worker-layout .app-topbar {
  position: sticky;
  top: 0;
  z-index: 30;
  min-height: 64px;
  padding: .85rem clamp(.85rem, 3vw, 1.5rem);
  background: rgba(15, 23, 42, .92);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.worker-layout .app-content {
  padding: clamp(.85rem, 3vw, 1.5rem);
  padding-bottom: max(1.25rem, env(safe-area-inset-bottom));
}
.worker-layout .topbar-actions {
  gap: .5rem;
}
.worker-layout .report-error-btn {
  min-height: 38px;
  border-radius: 999px;
}
.worker-layout .topbar-user {
  min-height: 38px;
  border-radius: 999px;
  padding: .35rem .6rem .35rem .35rem;
  background: rgba(255,255,255,.09);
}
.worker-layout .topbar-user span:last-child {
  max-width: 9rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.worker-page {
  max-width: 760px;
}
.worker-hero-modern {
  position: relative;
  overflow: hidden;
  min-height: 168px;
  align-items: flex-start;
  border-radius: 1.65rem;
  padding: 1.25rem;
}
.worker-hero-modern::after {
  content: "";
  position: absolute;
  right: -3rem;
  bottom: -3rem;
  width: 12rem;
  height: 12rem;
  border-radius: 50%;
  background: rgba(255,255,255,.12);
}
.worker-hero-modern > * {
  position: relative;
  z-index: 1;
}
.worker-counter {
  min-width: 4rem;
  height: 4rem;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.16);
}
.worker-tabs {
  position: sticky;
  top: 64px;
  z-index: 25;
  padding: .65rem 0;
  background: linear-gradient(180deg, rgba(246,248,251,.98), rgba(246,248,251,.90));
  backdrop-filter: blur(10px);
}
.worker-tab {
  min-height: 44px;
  padding: .72rem 1rem;
}
.worker-task-list {
  gap: 1rem;
}
.worker-task-card {
  border-radius: 1.45rem;
  padding: 1rem;
  box-shadow: 0 16px 38px rgba(15, 23, 42, .08);
}
.worker-task-card.done {
  opacity: 1;
  background: linear-gradient(135deg, #ffffff, #f2fbf6);
  border-color: rgba(25, 135, 84, .16);
}
.worker-task-meta span:first-child {
  background: #e8efff;
  color: #78bb24;
}
.worker-task-text {
  font-size: 1.08rem;
  line-height: 1.45;
  font-weight: 700;
}
.worker-task-action textarea {
  min-height: 72px;
  border-radius: 1rem;
}
.worker-task-action .btn {
  min-height: 50px;
  border-radius: 1rem;
  font-weight: 900;
}
.worker-done-mark {
  padding: .75rem .9rem;
  border-radius: 1rem;
  background: rgba(25, 135, 84, .1);
}

.dashboard-redesign {
  display: grid;
  gap: 1.1rem;
}
.dashboard-redesign-hero,
.dashboard-focus-card,
.dashboard-info-card,
.dashboard-specialist-card {
  animation: dashboardFadeUp .36s ease both;
}
.dashboard-redesign-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  padding: 1.35rem;
  border-radius: 1.6rem;
  background: radial-gradient(circle at 18% 0%, rgba(141, 214, 44, .22), transparent 34%), linear-gradient(135deg, #565d62, #263a63);
  color: #fff;
  box-shadow: 0 22px 56px rgba(17, 24, 39, .18);
  overflow: hidden;
}
.dashboard-redesign-hero .dashboard-title,
.dashboard-redesign-hero .dashboard-subtitle,
.dashboard-redesign-hero .dashboard-eyebrow {
  color: #fff;
}
.dashboard-progress-panel {
  min-width: 280px;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: .9rem;
  border-radius: 1.3rem;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.14);
}
.dashboard-progress-ring {
  --value: 0;
  width: 5.5rem;
  height: 5.5rem;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: conic-gradient(#8dd62c calc(var(--value) * 1%), rgba(255,255,255,.16) 0);
  position: relative;
  flex: 0 0 auto;
}
.dashboard-progress-ring::before {
  content: "";
  position: absolute;
  inset: .55rem;
  border-radius: inherit;
  background: #565d62;
}
.dashboard-progress-ring span {
  position: relative;
  z-index: 1;
  color: #fff;
  font-weight: 900;
}
.dashboard-progress-meta {
  color: rgba(255,255,255,.84);
  font-weight: 800;
}
.dashboard-overview-grid {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 1rem;
}
.dashboard-focus-card,
.dashboard-info-card,
.dashboard-specialist-card {
  position: relative;
  border-radius: 1.35rem;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, .07);
  box-shadow: 0 14px 36px rgba(15, 23, 42, .07);
}
.dashboard-focus-card {
  padding: 1.2rem;
}
.dashboard-focus-primary {
  background: linear-gradient(135deg, #fff, #f2f6ff);
}
.dashboard-card-head,
.dashboard-info-title,
.dashboard-specialist-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
}
.dashboard-card-head h2 {
  margin: .1rem 0 0;
  font-size: 1.05rem;
  font-weight: 900;
  color: #565d62;
}
.dashboard-card-head i {
  width: 2.6rem;
  height: 2.6rem;
  border-radius: .95rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #f7faef;
  color: #8dd62c;
  font-size: 1.25rem;
}
.dashboard-big-number {
  margin: .9rem 0 1rem;
  font-size: clamp(2.4rem, 8vw, 4rem);
  line-height: .9;
  font-weight: 950;
  letter-spacing: -.06em;
  color: #565d62;
}
.dashboard-mini-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .6rem;
}
.dashboard-mini-stats-two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.dashboard-mini-stats div,
.dashboard-line-list div {
  padding: .75rem;
  border-radius: 1rem;
  background: #f9fbf5;
}
.dashboard-mini-stats span,
.dashboard-line-list span {
  display: block;
  color: #565d62;
  font-size: .86rem;
  font-weight: 700;
}
.dashboard-mini-stats b,
.dashboard-line-list b {
  display: block;
  color: #565d62;
  font-size: 1.25rem;
  font-weight: 900;
}
.dashboard-info-columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.dashboard-info-card {
  padding: 1rem;
}
.dashboard-info-title {
  justify-content: flex-start;
  font-weight: 900;
  color: #565d62;
  margin-bottom: .75rem;
}
.dashboard-info-title i {
  color: #8dd62c;
}
.dashboard-line-list {
  display: grid;
  gap: .55rem;
}
.dashboard-small-text {
  font-size: .85rem !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dashboard-section-redesign {
  margin-top: .3rem;
}
.dashboard-specialists-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.dashboard-specialist-card {
  padding: 1rem;
  animation-delay: var(--delay, 0ms);
  overflow: hidden;
}
.dashboard-specialist-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: .25rem;
  background: var(--category-color, #8dd62c);
}
.dashboard-specialist-top h3 {
  margin: 0;
  font-size: 1rem;
  color: #565d62;
  font-weight: 900;
}
.dashboard-specialist-top p {
  margin: .25rem 0 .65rem;
  color: #565d62;
  font-size: .9rem;
}
.dashboard-specialist-top span {
  flex: 0 0 auto;
  border-radius: 999px;
  padding: .35rem .65rem;
  background: #f7faef;
  color: #8dd62c;
  font-weight: 900;
}

@media (max-width: 991px) {
  .dashboard-redesign-hero,
  .dashboard-overview-grid,
  .dashboard-info-columns,
  .dashboard-specialists-grid {
    grid-template-columns: 1fr;
  }
  .dashboard-progress-panel {
    min-width: 0;
  }
}

@media (max-width: 767px) {
  .worker-layout .app-topbar {
    padding: .7rem .75rem;
  }
  .worker-layout .worker-topbar-title span {
    font-size: .95rem;
  }
  .worker-layout .topbar-actions .report-error-btn {
    font-size: 0;
    width: 38px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .worker-layout .topbar-actions .report-error-btn i {
    margin: 0 !important;
    font-size: 1rem;
  }
  .worker-layout .topbar-user span:last-child {
    display: none;
  }
  .worker-layout .topbar-user::after {
    display: none;
  }
  .worker-hero-modern {
    min-height: 0;
    padding: 1.05rem;
    border-radius: 1.35rem;
  }
  .worker-hero-modern .dashboard-title {
    font-size: 1.45rem;
    line-height: 1.12;
  }
  .worker-hero-modern .dashboard-subtitle {
    font-size: .92rem;
  }
  .worker-counter {
    min-width: 3.2rem;
    height: 3.2rem;
    border-radius: 1rem;
    font-size: 1.35rem;
  }
  .worker-tabs {
    top: 56px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .45rem;
  }
  .worker-tab {
    justify-content: center;
    min-height: 46px;
    padding: .55rem .45rem;
    font-size: .86rem;
  }
  .worker-tab span {
    min-width: 1.35rem;
    height: 1.35rem;
  }
  .worker-task-card {
    padding: .9rem;
    border-radius: 1.25rem;
  }
  .worker-task-text {
    font-size: 1.02rem;
  }
  .worker-task-meta span {
    font-size: .78rem;
  }
  .worker-status-form .form-label,
  .worker-status-form textarea {
    font-size: .9rem;
  }
  .dashboard-redesign-hero,
  .dashboard-focus-card,
  .dashboard-info-card,
  .dashboard-specialist-card {
    border-radius: 1.15rem;
  }
  .dashboard-redesign-hero {
    padding: 1rem;
  }
  .dashboard-progress-panel {
    align-items: center;
  }
  .dashboard-progress-ring {
    width: 4.6rem;
    height: 4.6rem;
  }
  .dashboard-mini-stats,
  .dashboard-mini-stats-two {
    grid-template-columns: 1fr;
  }
  .dashboard-line-list div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
  }
  .dashboard-line-list b {
    text-align: right;
  }
}


/* Hudoverdiev footer, bottom-left error button, error badges, verifier role */
.crm-footer {
  width: 100%;
  margin: 2rem 0 0;
  padding: 1rem 0 0;
  text-align: left;
  border-top: 0;
}
.crm-footer span,
.crm-footer {
  color: #475467;
  font-weight: 800;
  letter-spacing: .01em;
}
.crm-footer span {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .55rem .85rem;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 999px;
  background: rgba(255,255,255,.75);
  box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
}
.crm-footer span::before {
  content: "A";
  display: inline-grid;
  place-items: center;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: .55rem;
  background: linear-gradient(135deg, #565d62, #344054);
  color: #fff;
  font-size: .78rem;
  font-weight: 900;
}
.auth-footer {
  color: rgba(255,255,255,.78);
}
.auth-footer span {
  border-color: rgba(255,255,255,.22);
  color: rgba(255,255,255,.82);
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(10px);
}
.floating-error-corner {
  position: fixed;
  left: max(1rem, env(safe-area-inset-left));
  bottom: max(1rem, env(safe-area-inset-bottom));
  z-index: 1050;
}
.report-error-floating {
  min-height: 42px;
  padding: .6rem .9rem;
  border: 1px solid rgba(15, 23, 42, .08) !important;
  border-radius: 999px;
  background: rgba(255, 255, 255, .9) !important;
  color: #565d62 !important;
  box-shadow: 0 16px 42px rgba(15, 23, 42, .16);
  backdrop-filter: blur(14px);
  font-weight: 800;
}
.report-error-floating:hover {
  transform: translateY(-2px);
  background: #fff !important;
  box-shadow: 0 20px 48px rgba(15, 23, 42, .2);
}
.nav-count-badge,
.dropdown-count-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.35rem;
  height: 1.35rem;
  padding: 0 .35rem;
  border-radius: 999px;
  background: #f04438;
  color: #fff;
  font-size: .75rem;
  font-weight: 900;
  box-shadow: 0 6px 16px rgba(240, 68, 56, .3);
}
.sidebar-link .nav-count-badge {
  margin-left: auto;
}
.site-error-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
}
.report-only-layout .app-sidebar {
  width: 240px;
}
.report-only-layout .sidebar-nav {
  padding-top: .75rem;
}
.report-only-layout .app-content {
  max-width: 1280px;
}
@media (max-width: 767px) {
  .floating-error-corner {
    left: .75rem;
    bottom: .75rem;
  }
  .report-error-floating {
    width: 44px;
    height: 44px;
    padding: 0;
    justify-content: center;
    font-size: 0;
  }
  .report-error-floating i {
    margin: 0 !important;
    font-size: 1.05rem;
  }
  .crm-footer {
    padding-bottom: 4.5rem;
  }
  .crm-footer span {
    font-size: .82rem;
    padding: .5rem .7rem;
  }
}


/* Compact premise labels + calmer dashboard palette */
.apartment-card-full-label {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: .42rem .7rem;
  border-radius: 999px;
  background: #f7f8fb;
  border: 1px solid rgba(15, 23, 42, .08);
  color: #565d62;
  font-size: .95rem;
  font-weight: 900;
  letter-spacing: -.01em;
}

.dashboard-redesign-hero {
  background:
    radial-gradient(circle at 92% 12%, rgba(52, 64, 84, .09), transparent 32%),
    linear-gradient(135deg, #ffffff, #f8fafc) !important;
  color: #565d62 !important;
  border: 1px solid rgba(15, 23, 42, .08);
  box-shadow: 0 14px 38px rgba(15, 23, 42, .07);
}
.dashboard-redesign-hero .dashboard-title,
.dashboard-redesign-hero .dashboard-subtitle,
.dashboard-redesign-hero .dashboard-eyebrow {
  color: #565d62 !important;
}
.dashboard-redesign-hero .dashboard-subtitle {
  color: #565d62 !important;
}
.dashboard-redesign-hero .dashboard-eyebrow {
  color: #475467 !important;
}
.dashboard-progress-panel {
  background: #ffffff !important;
  border: 1px solid rgba(15, 23, 42, .08) !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .06);
}
.dashboard-progress-ring {
  background: conic-gradient(#12b76a calc(var(--value) * 1%), #eef2f6 0) !important;
}
.dashboard-progress-ring::before {
  background: #ffffff !important;
}
.dashboard-progress-ring span {
  color: #565d62 !important;
}
.dashboard-progress-meta {
  color: #475467 !important;
}
.dashboard-focus-primary {
  background: linear-gradient(135deg, #ffffff, #fbfcfe) !important;
}
.dashboard-card-head i,
.dashboard-info-title i {
  background: #f2f4f7 !important;
  color: #344054 !important;
}
.dashboard-mini-stats div,
.dashboard-line-list div {
  background: #f8fafc !important;
  border: 1px solid rgba(15, 23, 42, .05);
}
.dashboard-specialist-top span {
  background: #f2f4f7 !important;
  color: #344054 !important;
}
.dashboard-specialist-card {
  box-shadow: 0 12px 30px rgba(15, 23, 42, .06) !important;
}
.dashboard-specialist-card::before {
  opacity: .78;
}

/* Final UI polish: small centered footer, compact error button, deadline badges */
.crm-footer {
  width: 100% !important;
  margin: 1.5rem auto 0 !important;
  padding: .75rem 0 0 !important;
  text-align: center !important;
  border-top: 0 !important;
}
.crm-footer span {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: .32rem;
  padding: .28rem .56rem !important;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, .055) !important;
  background: rgba(255,255,255,.52) !important;
  color: #565d62 !important;
  font-size: .74rem !important;
  line-height: 1.1;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .045) !important;
}
.crm-footer span::before {
  width: 1rem !important;
  height: 1rem !important;
  border-radius: .36rem !important;
  font-size: .55rem !important;
  background: linear-gradient(135deg, #344054, #565d62) !important;
}
.auth-footer span {
  color: rgba(255,255,255,.72) !important;
  background: rgba(255,255,255,.06) !important;
  border-color: rgba(255,255,255,.14) !important;
}

.floating-error-corner {
  left: max(1rem, env(safe-area-inset-left)) !important;
  bottom: max(1rem, env(safe-area-inset-bottom)) !important;
}
.report-error-floating {
  min-height: 38px !important;
  padding: .46rem .72rem !important;
  border: 1px solid rgba(15, 23, 42, .16) !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, rgba(17, 24, 39, .92), rgba(52, 64, 84, .9)) !important;
  color: #fff !important;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .24) !important;
  backdrop-filter: blur(12px);
  font-size: .82rem !important;
  font-weight: 800 !important;
  letter-spacing: -.01em;
  gap: .38rem;
}
.report-error-floating i {
  color: #fdb022;
  font-size: .98rem;
}
.report-error-floating:hover {
  transform: translateY(-2px) scale(1.01);
  background: linear-gradient(135deg, #565d62, #344054) !important;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .3) !important;
}
.sidebar-link,
.sidebar-link > span:not(.nav-count-badge),
.dropdown-item span {
  white-space: nowrap;
}

.deadline-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: .18rem .45rem;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 900;
  line-height: 1.1;
}
.deadline-badge-danger {
  background: #fff1f0;
  color: #b42318;
  border: 1px solid #fecdca;
}
.deadline-badge-warning {
  background: #fffaeb;
  color: #b54708;
  border: 1px solid #fedf89;
}
.apartment-deadline-line {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .35rem;
}
.apartment-data-deadline-row b {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: .25rem;
}
.delete-error-modal {
  border: 0;
  border-radius: 1.35rem;
  overflow: hidden;
  box-shadow: 0 28px 80px rgba(15, 23, 42, .22);
}
.delete-error-modal .modal-body {
  padding: 1.35rem;
}
.delete-error-icon {
  width: 3rem;
  height: 3rem;
  margin: 0 auto .9rem;
  border-radius: 1rem;
  display: grid;
  place-items: center;
  background: #fff1f0;
  color: #d92d20;
  font-size: 1.35rem;
}
.delete-error-title {
  margin: 0 0 .4rem;
  font-weight: 900;
  color: #565d62;
}
.delete-error-text {
  margin: 0 0 1rem;
  color: #565d62;
  font-size: .92rem;
}
.delete-error-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .6rem;
}

@media (max-width: 767px) {
  .report-error-floating {
    width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
    justify-content: center;
    font-size: 0 !important;
  }
  .report-error-floating span {
    display: none;
  }
  .report-error-floating i {
    margin: 0 !important;
    font-size: 1rem !important;
  }
  .crm-footer {
    padding-bottom: 4rem !important;
  }
  .crm-footer span {
    font-size: .68rem !important;
    padding: .24rem .48rem !important;
  }
}

/* Patch: dashboard counters and apartment card stats alignment */
.apartment-stat-row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0.55rem !important;
  align-items: stretch !important;
}

.apartment-stat-row span {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.15rem !important;
  min-height: 3.15rem !important;
  padding: 0.65rem 0.45rem !important;
  border-radius: 0.95rem !important;
  background: #f7f9fd !important;
  border: 1px solid #e8eef7 !important;
  font-size: 0.78rem !important;
  color: #565d62 !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.apartment-stat-row span b {
  display: block !important;
  font-size: 1.12rem !important;
  line-height: 1 !important;
  color: #16233b !important;
}

.dashboard-mini-stats.dashboard-mini-stats-two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 992px) {
  .dashboard-mini-stats.dashboard-mini-stats-two {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .apartment-stat-row {
    gap: 0.4rem !important;
  }
  .apartment-stat-row span {
    min-height: 2.8rem !important;
    padding: 0.55rem 0.25rem !important;
    font-size: 0.72rem !important;
  }
  .apartment-stat-row span b {
    font-size: 1rem !important;
  }
}

/* Patch: object type checkboxes and contractor search polish */
.object-type-box {
  padding: 1rem;
  border: 1px solid #e7edf6;
  border-radius: 1.15rem;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}
.object-type-title {
  font-size: .82rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #64748b;
  margin-bottom: .75rem;
}
.object-type-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .7rem;
}
.object-type-card {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: .7rem;
  padding: .85rem;
  border: 1px solid #dce6f2;
  border-radius: 1rem;
  background: #fff;
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}
.object-type-card:hover {
  transform: translateY(-1px);
  border-color: #b8c7dc;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .08);
}
.object-type-card .form-check-input {
  margin-top: .2rem;
  flex: 0 0 auto;
}
.object-type-card:has(.form-check-input:checked) {
  border-color: #52657e;
  background: #f6f8fb;
  box-shadow: inset 0 0 0 1px rgba(82, 101, 126, .08);
}
.object-type-icon {
  width: 2rem;
  height: 2rem;
  border-radius: .75rem;
  display: grid;
  place-items: center;
  background: #eef3f8;
  color: #344054;
  flex: 0 0 auto;
}
.object-type-card strong,
.object-type-card small {
  display: block;
}
.object-type-card strong {
  font-size: .92rem;
  color: #565d62;
}
.object-type-card small {
  margin-top: .1rem;
  font-size: .76rem;
  color: #565d62;
  line-height: 1.25;
}
.object-type-disabled .object-type-icon {
  background: #fff7ed;
  color: #c2410c;
}
.object-type-note {
  margin-top: .75rem;
  font-size: .82rem;
  color: #565d62;
}

.contractor-search-result-note {
  font-size: .82rem;
  color: #565d62;
}

@media (max-width: 767px) {
  .object-type-grid {
    grid-template-columns: 1fr;
  }
}

/* Передача fixes: readable login footer, compact error button, search highlight, AVR badges */
.auth-footer {
  margin-top: auto !important;
  padding: 1rem 0 1.25rem !important;
}
.auth-footer span {
  color: #565d62 !important;
  background: rgba(255,255,255,.88) !important;
  border-color: rgba(15,23,42,.12) !important;
  box-shadow: 0 12px 30px rgba(15,23,42,.12) !important;
}
.auth-footer span::before {
  background: linear-gradient(135deg, #565d62, #344054) !important;
  color: #fff !important;
}
.report-error-floating {
  white-space: nowrap;
}
.search-result-summary {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .55rem .8rem;
  border-radius: 999px;
  background: #f8fafc;
  border: 1px solid rgba(15,23,42,.08);
  color: #475467;
  font-weight: 700;
}
.search-highlight {
  background: #fff3a3;
  color: #565d62;
  padding: 0 2px;
  border-radius: 4px;
  font-weight: 600;
}
.badge-avr-needed,
.badge-avr-signed,
.badge-deadline-normal,
.badge-deadline-expiring,
.badge-deadline-expired,
.badge-no-remarks,
.deadline-badge-normal,
.deadline-badge-expiring,
.deadline-badge-expired,
.deadline-badge-no-remarks,
.deadline-badge-resolved {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: .2rem .5rem;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 900;
  line-height: 1.1;
  border: 1px solid transparent;
}
.badge-avr-needed,
.badge-deadline-normal,
.deadline-badge-normal {
  background: #f7faef;
  color: #175cd3;
  border-color: #bfdbfe;
}
.badge-avr-signed,
.badge-no-remarks,
.deadline-badge-no-remarks,
.deadline-badge-resolved {
  background: #ecfdf3;
  color: #067647;
  border-color: #abefc6;
}
.badge-deadline-expiring,
.deadline-badge-expiring {
  background: #fffaeb;
  color: #b54708;
  border-color: #fedf89;
}
.badge-deadline-expired,
.deadline-badge-expired {
  background: #fff1f0;
  color: #b42318;
  border-color: #fecdca;
}
.apartment-avr-line,
.apartment-avr-form,
.apartment-avr-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem;
}
.apartment-avr-form {
  padding: .65rem .75rem;
  border-radius: 1rem;
  background: #f8fafc;
  border: 1px solid rgba(15,23,42,.08);
}
.apartment-avr-actions .btn,
.apartment-avr-form .form-control {
  min-height: 34px;
}
@media (max-width: 767px) {
  .report-error-floating {
    width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
  }
  .report-error-floating span { display: none !important; }
  .apartment-avr-form { align-items: stretch; }
  .apartment-avr-actions { width: 100%; }
}

/* Materials v2 */
.materials-summary-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.materials-summary-icon-warning {
  background: #fff7ed;
  color: #c2410c;
}
.material-rename-form {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) auto;
  gap: .45rem;
  align-items: center;
  max-width: 520px;
}
.material-balance-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 4.2rem;
  padding: .35rem .65rem;
  border-radius: 999px;
  font-weight: 800;
  font-size: .86rem;
}
.material-balance-badge.is-positive { background: #e9f8ef; color: #0f7a3b; }
.material-balance-badge.is-negative { background: #fff0f0; color: #b42318; }
.material-balance-badge.is-zero { background: #eef2f7; color: #475467; }
.material-tasks-box {
  max-height: 68vh;
  overflow: auto;
  border-radius: 1rem;
  border: 1px solid rgba(15, 23, 42, .08);
}
.material-tasks-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #f8fafc;
}
.material-task-list {
  display: grid;
  gap: .45rem;
}
.material-task-item {
  display: flex;
  gap: .5rem;
  align-items: flex-start;
  padding: .45rem .55rem;
  border-radius: .75rem;
  background: #f8fafc;
}
.material-apartment {
  flex: 0 0 auto;
  font-weight: 800;
  color: #78bb24;
}
.material-spent-item {
  margin-bottom: .35rem;
  padding: .35rem .55rem;
  border-radius: .7rem;
  background: #eefcf3;
  color: #166534;
  font-weight: 600;
}

/* Glass measurements v2 */
.glass-card-header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  background: #f8fafc;
  border-bottom: 1px solid rgba(15, 23, 42, .08);
}
.glass-measure-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(80px, 1fr));
  gap: .45rem;
  min-width: 560px;
}
.glass-measure-form .glass-comment-input {
  grid-column: span 2;
}
.glass-status-badge,
.glass-ordered-badge {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .28rem .58rem;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 800;
  white-space: nowrap;
}
.glass-status-none { background: #eef2f7; color: #475467; }
.glass-status-needed { background: #e0f2fe; color: #0369a1; }
.glass-status-measured { background: #fef3c7; color: #92400e; }
.glass-ordered-badge {
  background: #ede9fe;
  color: #5b21b6;
  margin-left: .35rem;
}
.glass-ordered-badge::before,
.glass-ordered-dot::before {
  content: "";
  width: .48rem;
  height: .48rem;
  border-radius: 999px;
  background: #7c3aed;
  display: inline-block;
  box-shadow: 0 0 0 4px rgba(124, 58, 237, .12);
}
.glass-ordered-dot {
  display: inline-flex;
  vertical-align: middle;
  margin-left: .35rem;
}
.glass-measure-table .done-task .task-text,
.glass-table-shell .done-task .task-text {
  text-decoration: line-through;
  opacity: .78;
}

@media (max-width: 992px) {
  .materials-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .material-rename-form {
    grid-template-columns: 1fr;
  }
  .glass-measure-form {
    min-width: 0;
    grid-template-columns: 1fr;
  }
  .glass-measure-form .glass-comment-input {
    grid-column: auto;
  }
}
@media (max-width: 576px) {
  .materials-summary-grid {
    grid-template-columns: 1fr;
  }
}

/* Deadline/search/double-click fixes */
.task-open-hint {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  margin: 0 0 .75rem;
  padding: .5rem .75rem;
  border-radius: 999px;
  background: #f8fafc;
  border: 1px solid rgba(15,23,42,.08);
  color: #565d62;
  font-size: .86rem;
  font-weight: 700;
}
.task-row-link[data-href] {
  cursor: pointer;
}
.problem-action-form {
  position: relative;
}
.problem-comment-wrap:not(.d-none) {
  display: grid !important;
  grid-template-columns: minmax(170px, 1fr) 2.35rem 2.35rem;
  align-items: center;
  gap: .35rem;
  width: min(22rem, 72vw);
  max-width: 100%;
}
.problem-comment-wrap .btn-sm {
  width: 2.35rem;
  height: 2.35rem;
  min-width: 2.35rem;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.error-report-modal .modal-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .55rem;
  flex-wrap: nowrap;
}
.error-report-modal .modal-footer .btn {
  min-width: 118px;
  white-space: nowrap;
}
@media (max-width: 575px) {
  .problem-comment-wrap:not(.d-none) {
    grid-template-columns: 1fr 2.35rem 2.35rem;
    width: min(100%, 92vw);
  }
  .error-report-modal .modal-footer {
    flex-direction: column-reverse;
    align-items: stretch;
  }
  .error-report-modal .modal-footer .btn {
    width: 100%;
  }
}

/* Mobile adaptation */
.mobile-menu-toggle,
.mobile-sidebar-backdrop,
.mobile-open-task {
  display: none;
}

html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

img,
svg,
video,
canvas {
  max-width: 100%;
}

.table-responsive {
  max-width: 100%;
}

.page-head,
.remarks-page-head,
.materials-page-head,
.dashboard-head,
.dashboard-card-head,
.glass-card-header {
  min-width: 0;
}

.page-title,
.page-subtitle,
.card,
.content-card,
.table-shell,
.apartment-card,
.object-card,
.site-error-card,
.materials-summary-card,
.dashboard-focus-card,
.dashboard-info-card,
.dashboard-specialist-card {
  overflow-wrap: anywhere;
}

@media (max-width: 1024px) {
  .app-content {
    padding: 1.15rem;
  }

  .stats-grid,
  .dashboard-overview-grid,
  .dashboard-info-columns,
  .dashboard-specialists-grid,
  .materials-summary-grid,
  .assignment-report-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .apartments-grid,
  .objects-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .topbar-project {
    min-width: 0;
  }

  .topbar-project span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

@media (max-width: 768px) {
  body.app-body {
    overflow-x: hidden;
  }

  body.mobile-menu-open {
    overflow: hidden;
  }

  .mobile-menu-toggle {
    position: fixed;
    top: .72rem;
    left: .72rem;
    z-index: 1062;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    min-width: 2.85rem;
    min-height: 2.85rem;
    padding: .55rem .7rem;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 1rem;
    background: linear-gradient(135deg, #26344b, #151f31);
    color: #fff;
    box-shadow: 0 12px 30px rgba(15,23,42,.24);
  }

  .mobile-menu-toggle i {
    font-size: 1.35rem;
    line-height: 1;
  }

  .mobile-menu-toggle span {
    font-size: .86rem;
    font-weight: 800;
  }

  .mobile-sidebar-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1050;
    display: block;
    pointer-events: none;
    opacity: 0;
    background: rgba(15, 23, 42, .48);
    backdrop-filter: blur(4px);
    transition: opacity .18s ease;
  }

  .mobile-menu-open .mobile-sidebar-backdrop {
    pointer-events: auto;
    opacity: 1;
  }

  .app-layout {
    display: block;
    min-width: 0;
  }

  .app-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 1061;
    width: min(86vw, 320px);
    min-height: 100dvh;
    max-height: 100dvh;
    padding: 1rem .85rem 1.25rem;
    overflow-y: auto;
    transform: translateX(-105%);
    transition: transform .22s ease;
    box-shadow: 24px 0 60px rgba(15,23,42,.28);
  }

  .mobile-menu-open .app-sidebar {
    transform: translateX(0);
  }

  .sidebar-brand {
    padding-right: 3rem;
    margin-bottom: .75rem;
  }

  .sidebar-nav {
    display: grid;
    grid-template-columns: 1fr;
    gap: .45rem;
  }

  .sidebar-link {
    min-height: 3.1rem;
    padding: .78rem .9rem;
    border-radius: .95rem;
  }

  .app-main {
    width: 100%;
    min-width: 0;
  }

  .app-topbar {
    position: sticky;
    top: 0;
    z-index: 1010;
    min-height: 4.25rem;
    padding: .72rem .78rem .72rem 4.25rem;
    gap: .55rem;
    align-items: center;
  }

  .topbar-actions {
    gap: .45rem;
    flex: 0 0 auto;
  }

  .topbar-user span:last-child,
  .topbar-user::after {
    display: none;
  }

  .topbar-icon,
  .topbar-avatar {
    width: 2.45rem;
    height: 2.45rem;
    border-radius: .85rem;
  }

  .topbar-project {
    flex: 1 1 auto;
    gap: .45rem;
    min-width: 0;
  }

  .topbar-project .btn {
    min-height: 2.25rem;
    padding: .35rem .55rem;
    font-size: .78rem;
    white-space: nowrap;
  }

  .app-content,
  .objects-content {
    width: 100%;
    max-width: 100%;
    padding: .95rem .75rem 5.2rem;
  }

  .auth-shell {
    padding: 1.25rem .75rem;
  }

  .auth-brand {
    align-self: stretch;
    justify-content: center;
  }

  .auth-shell .card {
    width: 100%;
    max-width: 100%;
    border-radius: 1.25rem;
  }

  .page-head,
  .remarks-page-head,
  .materials-page-head,
  .dashboard-head,
  .glass-card-header,
  .objects-head {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: .75rem;
    align-items: stretch !important;
  }

  .page-title,
  .dashboard-title,
  .objects-title {
    font-size: clamp(1.38rem, 8vw, 1.82rem) !important;
    line-height: 1.12;
  }

  .page-subtitle,
  .dashboard-subtitle,
  .objects-subtitle {
    font-size: .9rem;
    line-height: 1.45;
  }

  .content-card,
  .table-shell,
  .filter-card,
  .dashboard-redesign-hero,
  .dashboard-focus-card,
  .dashboard-info-card,
  .dashboard-specialist-card,
  .apartment-card,
  .object-card,
  .site-error-card,
  .materials-summary-card {
    border-radius: 1.05rem !important;
  }

  .table-shell .card-body,
  .content-card .card-body,
  .filter-card .card-body,
  .card-body {
    padding: .9rem !important;
  }

  .stats-grid,
  .dashboard-overview-grid,
  .dashboard-info-columns,
  .dashboard-specialists-grid,
  .materials-summary-grid,
  .assignment-report-grid,
  .objects-grid,
  .apartments-grid,
  .row.row-cols-1,
  .row.row-cols-md-2,
  .row.row-cols-lg-3,
  .row.row-cols-xl-4 {
    grid-template-columns: 1fr !important;
  }

  .dashboard-mini-stats,
  .dashboard-mini-stats-two,
  .apartment-stat-row,
  .apartment-summary-grid {
    grid-template-columns: 1fr !important;
    gap: .45rem;
  }

  .dashboard-big-number {
    font-size: clamp(2rem, 14vw, 3.2rem) !important;
  }

  .crm-tabs,
  .materials-tabs .crm-tabs,
  .remarks-tabs .crm-tabs {
    display: flex;
    flex-wrap: nowrap !important;
    gap: .45rem;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    padding: .15rem .05rem .65rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }

  .remarks-tabs {
    overflow: hidden;
  }

  .crm-tabs .nav-item {
    flex: 0 0 auto;
  }

  .crm-tabs .nav-link {
    min-height: 2.55rem;
    padding: .62rem .82rem;
    border-radius: .85rem;
    white-space: nowrap;
    font-size: .88rem;
  }

  form.row,
  .search-form,
  .filters,
  .form-grid,
  .apartments-filter-form,
  .assignment-user-head,
  .material-rename-form,
  .material-form-footer,
  .apartment-avr-form,
  .apartment-po-form-inline,
  .apartment-po-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: stretch !important;
    gap: .7rem !important;
  }

  form.row > [class*="col-"],
  .search-form > *,
  .filters > *,
  .form-grid > *,
  .apartment-avr-actions,
  .materials-actions,
  .dashboard-actions,
  .topbar-actions .dropdown-menu {
    min-width: 0;
  }

  .form-control,
  .form-select,
  textarea,
  input,
  select {
    max-width: 100%;
  }

  textarea.form-control {
    min-height: 7rem;
  }

  .btn,
  button,
  .form-control,
  .form-select {
    min-height: 2.65rem;
  }

  .btn-sm,
  .form-control-sm,
  .form-select-sm {
    min-height: 2.35rem;
  }

  .d-flex.gap-2,
  .action-buttons,
  .materials-actions,
  .dashboard-actions,
  .modal-actions,
  .object-form-actions,
  .apartment-avr-actions {
    flex-wrap: wrap;
  }

  .d-flex.gap-2 > .btn,
  .materials-actions .btn,
  .dashboard-actions .btn,
  .object-form-actions .btn,
  .apartment-avr-actions .btn,
  .material-form-footer .btn {
    flex: 1 1 100%;
    width: 100%;
  }

  .table-responsive {
    overflow-x: visible;
  }

  .task-table,
  .materials-table,
  .material-tasks-table,
  .assignment-shell .table {
    min-width: 0 !important;
    width: 100% !important;
    table-layout: auto;
  }

  .mobile-card-table,
  .mobile-card-table thead,
  .mobile-card-table tbody,
  .mobile-card-table th,
  .mobile-card-table td,
  .mobile-card-table tr {
    display: block;
    width: 100%;
  }

  .mobile-card-table thead {
    display: none;
  }

  .mobile-card-table tbody {
    display: grid;
    gap: .75rem;
    padding: .75rem;
  }

  .mobile-card-table tbody tr {
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 1rem;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 10px 24px rgba(15,23,42,.06);
  }

  .mobile-card-table tbody tr.table-success,
  .mobile-card-table tbody tr.done-task {
    background: #f0fdf4;
  }

  .mobile-card-table tbody tr.table-warning {
    background: #fffbeb;
  }

  .mobile-card-table td {
    display: grid;
    grid-template-columns: minmax(6.4rem, 36%) minmax(0, 1fr);
    gap: .7rem;
    align-items: start;
    min-height: 0;
    padding: .72rem .82rem !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(15,23,42,.06) !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }

  .mobile-card-table td:last-child {
    border-bottom: 0 !important;
  }

  .mobile-card-table td::before {
    content: attr(data-label);
    color: #565d62;
    font-size: .75rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .03em;
    line-height: 1.35;
  }

  .mobile-card-table td[data-label=""],
  .mobile-card-table td[colspan] {
    grid-template-columns: 1fr;
  }

  .mobile-card-table td[data-label=""]::before,
  .mobile-card-table td[colspan]::before {
    display: none;
  }

  .mobile-card-table td.text-end {
    text-align: left !important;
  }

  .mobile-card-table td.text-end > form,
  .mobile-card-table td.text-end > .btn,
  .mobile-card-table td:last-child > form,
  .mobile-card-table td:last-child > .btn {
    justify-self: stretch;
  }

  .mobile-card-table td form:not(.glass-measure-form):not(.problem-action-form) .btn,
  .mobile-card-table td > .btn,
  .mobile-card-table td .status-action-form .btn {
    width: 100%;
  }

  .task-col-finish,
  .task-col-mode,
  .task-col-date,
  .task-col-status,
  .task-col-actions,
  .task-col-apartment {
    width: auto;
  }

  .mobile-open-task {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    margin-top: .45rem;
    width: 100%;
  }

  .task-open-hint {
    display: flex;
    border-radius: .9rem;
    width: 100%;
  }

  .apartment-card-link {
    padding: 0;
  }

  .apartment-card-top,
  .apartment-progress-head,
  .apartment-task-head,
  .apartment-data-row {
    display: grid;
    grid-template-columns: 1fr;
    align-items: start;
    gap: .55rem;
  }

  .apartment-card-number {
    font-size: 1.45rem;
  }

  .apartment-card-info span,
  .apartment-task-meta {
    align-items: flex-start;
    overflow-wrap: anywhere;
  }

  .po-notification-widget {
    right: .75rem;
    bottom: 4.25rem;
    max-width: calc(100vw - 1.5rem);
  }

  .material-tasks-box {
    max-height: none;
    overflow: visible;
    border: 0;
  }

  .material-task-item {
    grid-template-columns: auto minmax(0, 1fr);
    padding: .75rem;
  }

  .material-task-item input[type="checkbox"] {
    width: 1.25rem;
    height: 1.25rem;
    margin-top: .15rem;
  }

  .glass-card-header .btn,
  .materials-page-head .btn,
  .remarks-page-head .btn {
    width: 100%;
  }

  .glass-measure-form {
    min-width: 0 !important;
    display: grid;
    grid-template-columns: 1fr !important;
    gap: .55rem;
  }

  .glass-measure-form .glass-comment-input {
    grid-column: auto !important;
  }

  .glass-status-badge,
  .glass-ordered-badge,
  .status-pill,
  .deadline-badge,
  .badge-avr-needed,
  .badge-avr-signed,
  .badge-no-remarks {
    white-space: normal;
    max-width: 100%;
  }

  .modal-dialog {
    max-width: calc(100vw - 24px) !important;
    margin: .75rem auto !important;
  }

  .modal-content,
  .crm-modal .modal-content,
  .error-report-modal,
  .delete-error-modal {
    max-height: calc(100dvh - 24px);
    overflow: hidden;
    border-radius: 1.05rem !important;
  }

  .modal-body,
  .crm-modal .modal-body {
    overflow-y: auto;
  }

  .modal-header,
  .modal-footer {
    gap: .6rem;
    padding: .85rem !important;
  }

  .modal-footer {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .modal-footer .btn {
    width: 100%;
  }

  .floating-error-corner {
    right: .75rem;
    bottom: .75rem;
    z-index: 1030;
  }

  .report-error-floating {
    border-radius: 999px !important;
  }

  .inline-editor-floating,
  .problem-comment-wrap:not(.d-none) {
    width: 100% !important;
    max-width: 100% !important;
  }

  .inline-editor-actions,
  .problem-comment-wrap:not(.d-none) {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .problem-comment-wrap .btn-sm {
    width: 100% !important;
    min-width: 0 !important;
  }

  .assignment-shell .table-responsive,
  .materials-animated-card .table-responsive,
  .glass-table-shell .table-responsive,
  .task-table-shell .table-responsive {
    border-radius: 1rem;
  }
}

@media (max-width: 480px) {
  .mobile-menu-toggle {
    top: .55rem;
    left: .55rem;
    min-width: 2.65rem;
    min-height: 2.65rem;
    padding: .48rem .58rem;
  }

  .mobile-menu-toggle span {
    display: none;
  }

  .app-topbar {
    min-height: 3.75rem;
    padding-left: 3.65rem;
  }

  .app-content,
  .objects-content {
    padding-inline: .55rem;
  }

  .table-shell .card-body,
  .content-card .card-body,
  .filter-card .card-body,
  .card-body {
    padding: .75rem !important;
  }

  .mobile-card-table tbody {
    padding: .55rem;
    gap: .6rem;
  }

  .mobile-card-table td {
    grid-template-columns: 1fr;
    gap: .25rem;
    padding: .62rem .7rem !important;
  }

  .mobile-card-table td::before {
    font-size: .72rem;
  }

  .btn,
  .form-control,
  .form-select {
    min-height: 2.75rem;
  }

  .crm-tabs .nav-link {
    font-size: .82rem;
    padding-inline: .7rem;
  }

  .apartment-card,
  .object-card,
  .site-error-card,
  .materials-summary-card {
    padding: .85rem !important;
  }

  .auth-brand-title {
    font-size: 1.35rem;
  }

  .auth-brand-subtitle {
    font-size: .8rem;
  }
}

@media (max-width: 360px) {
  .app-content,
  .objects-content {
    padding-inline: .45rem;
  }

  .page-title,
  .dashboard-title,
  .objects-title {
    font-size: 1.3rem !important;
  }

  .mobile-card-table td {
    padding: .55rem .6rem !important;
  }

  .crm-tabs .nav-link {
    min-height: 2.35rem;
    padding: .55rem .62rem;
    font-size: .78rem;
  }

  .topbar-project .btn {
    display: none;
  }
}

/* Interface polish: Передача title, question error button, stable object type selector */
.report-error-btn,
.report-error-floating {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  max-width: 42px !important;
  max-height: 42px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  background: linear-gradient(135deg, #565d62, #344054) !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, .18) !important;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .22) !important;
  text-decoration: none !important;
  line-height: 1 !important;
}

.report-error-btn:hover,
.report-error-floating:hover {
  transform: translateY(-2px);
  background: linear-gradient(135deg, #565d62, #565d62) !important;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .3) !important;
}

.report-error-btn .report-error-icon,
.report-error-floating .report-error-icon {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  margin: 0 !important;
  color: #fff !important;
  font-size: 1.18rem !important;
  font-weight: 900;
  line-height: 1;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.floating-error-corner {
  left: auto !important;
  right: max(1rem, env(safe-area-inset-right)) !important;
  bottom: max(1rem, env(safe-area-inset-bottom)) !important;
}

.object-type-options,
.object-type-grid.object-type-options {
  display: flex !important;
  flex-wrap: wrap;
  gap: 10px;
  align-items: stretch;
  width: 100%;
}

.object-type-option,
.object-type-card.object-type-option {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex: 1 1 180px;
  min-width: 0;
  white-space: normal;
  cursor: pointer;
}

.object-type-option > span:last-child,
.object-type-card.object-type-option > span:last-child {
  min-width: 0;
}

.object-type-option input,
.object-type-card.object-type-option input,
.object-type-option .form-check-input,
.object-type-card.object-type-option .form-check-input {
  margin: 0 !important;
  flex: 0 0 auto;
}

.object-type-option strong,
.object-type-option small {
  overflow-wrap: anywhere;
}

@media (max-width: 900px) {
  .object-type-options,
  .object-type-grid.object-type-options {
    flex-direction: column;
    align-items: stretch;
  }

  .object-type-option,
  .object-type-card.object-type-option {
    width: 100%;
    flex: 1 1 auto;
    justify-content: flex-start;
  }
}

@media (max-width: 768px) {
  .floating-error-corner {
    right: max(.75rem, env(safe-area-inset-right)) !important;
    bottom: max(.75rem, env(safe-area-inset-bottom)) !important;
    z-index: 1030;
  }

  .report-error-btn,
  .report-error-floating {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    max-width: 44px !important;
    max-height: 44px !important;
    font-size: 1rem !important;
  }

  .report-error-btn .report-error-icon,
  .report-error-floating .report-error-icon {
    display: inline-flex !important;
    font-size: 1.18rem !important;
  }
}


/* Hotfix pack: interface polish 2026-05 */
.auth-body { min-height: 100vh; }
.auth-shell { min-height: 100vh !important; display: flex !important; flex-direction: column !important; justify-content: center !important; align-items: center !important; padding: 24px 16px !important; }
.auth-shell .login-wrap { margin: auto 0 !important; width: min(100%, 420px) !important; }
.auth-footer { margin-top: auto !important; flex-shrink: 0; }
.app-main, .objects-content, .app-content { min-height: 0; }
.objects-content, .app-content { display: flex; flex-direction: column; flex: 1 1 auto; }
.objects-content > .crm-footer, .app-content > .crm-footer { margin-top: auto; }
.crm-filter-form .filter-actions, .filter-actions { display: flex !important; align-items: end; gap: 8px; }
.crm-filter-form .filter-actions .btn, .filter-actions .btn { min-height: 42px; white-space: nowrap; }
@media (max-width: 768px) { .crm-filter-form .filter-actions, .filter-actions { flex-direction: column; align-items: stretch; } .crm-filter-form .filter-actions .btn, .filter-actions .btn { width: 100%; } }
.task-open-hint { display: none !important; }
.premise-badge { display: inline-flex; align-items: center; max-width: 100%; padding: .22rem .5rem; border-radius: 999px; font-weight: 800; font-size: .82rem; line-height: 1.15; white-space: nowrap; background: #f2f4f7; color: #344054; border: 1px solid rgba(15,23,42,.08); }
.commercial-badge { background: #f7faef; color: #3538cd; border-color: #c7d7fe; }
.apartment-badge { background: #ecfdf3; color: #067647; border-color: #abefc6; }
.compact-task-form { max-width: 820px; margin: 0 auto; }
.compact-task-form .card-body { padding: clamp(16px, 3vw, 28px); }
.material-request-title-row { display: flex; align-items: center; gap: .5rem; max-width: 540px; }
.material-request-title-text { font-weight: 800; color: #565d62; overflow-wrap: anywhere; }
.material-title-edit-toggle { flex: 0 0 auto; }
.material-rename-form { margin-top: .55rem; display: grid; grid-template-columns: minmax(160px, 1fr) auto auto; gap: .45rem; align-items: center; max-width: 640px; }
.material-rename-form.d-none { display: none !important; }
.sync-log-table td, .sync-log-table th { vertical-align: top; }
.sync-actions { display: inline-flex; justify-content: flex-end; gap: .4rem; }
.sync-actions form { margin: 0; }
.delete-error-actions, .modal-actions { display: flex; justify-content: center; gap: .55rem; flex-wrap: wrap; }
.problem-comment-wrap:not(.d-none) { display: grid !important; grid-template-columns: minmax(160px, 1fr) 38px 38px; align-items: center; gap: .35rem; width: min(24rem, 75vw); }
.problem-comment-wrap .btn-sm { min-width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; }
@media (max-width: 575px) { .material-request-title-row { align-items: flex-start; } .material-rename-form { grid-template-columns: 1fr; } .sync-actions { width: 100%; justify-content: flex-start; } .problem-comment-wrap:not(.d-none) { grid-template-columns: 1fr 38px 38px; width: 100%; } }

/* Place the login brand and logout notice beside the authorization card. */
.auth-shell {
  display: grid !important;
  grid-template-columns: minmax(240px, 340px) minmax(320px, 420px);
  grid-template-rows: 1fr auto auto 1fr auto;
  align-content: center !important;
  justify-content: center !important;
  align-items: center !important;
  column-gap: clamp(32px, 7vw, 96px);
  row-gap: 14px;
}

.auth-shell .auth-brand {
  grid-column: 1;
  grid-row: 2;
  align-self: end;
  margin: 0 !important;
  transform: translateY(72px);
}

.auth-shell .auth-flashes {
  grid-column: 1;
  grid-row: 3;
  align-self: start;
  width: 100%;
  margin: 0 !important;
  transform: translateY(72px);
}

.auth-shell .login-wrap {
  grid-column: 2;
  grid-row: 2 / 5;
  align-self: center;
  margin: 0 !important;
}

.auth-shell .auth-footer {
  grid-column: 1 / -1;
  grid-row: 5;
  margin-top: 24px !important;
}

@media (max-width: 820px) {
  .auth-shell {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
  }

  .auth-shell .auth-brand {
    align-self: stretch;
    justify-content: center;
    transform: none;
  }

  .auth-shell .auth-flashes,
  .auth-shell .login-wrap {
    width: min(100%, 420px) !important;
    transform: none;
  }

  .auth-shell .login-wrap {
    margin: 0 !important;
  }
}

/* Final layout fixes: sticky footer, centered auth screen, neutral premise numbers, sync modals. */
.app-main {
  min-height: 100vh !important;
}

.app-content,
.objects-content {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
}

.app-content > .crm-footer,
.objects-content > .crm-footer {
  margin-top: auto !important;
}

.auth-shell {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 1.1rem !important;
  padding: 32px 16px !important;
}

.auth-shell .auth-brand {
  align-self: center !important;
  justify-content: center !important;
  margin: 0 !important;
  transform: none !important;
}

.auth-shell .auth-flashes {
  width: min(100%, 420px) !important;
  margin: 0 !important;
  transform: none !important;
}

.auth-shell .login-wrap {
  width: min(100%, 420px) !important;
  margin: 0 !important;
  transform: none !important;
}

.auth-shell .auth-footer {
  margin-top: auto !important;
}

/* Auth screen hard reset: keep brand, flash messages and form in one centered column. */
.auth-shell {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 100vh !important;
  gap: 1rem !important;
}

.auth-shell .auth-brand,
.auth-shell .auth-flashes,
.auth-shell .login-wrap,
.auth-shell .auth-footer {
  grid-column: auto !important;
  grid-row: auto !important;
  align-self: center !important;
  transform: none !important;
}

.auth-shell .auth-brand {
  order: 1;
  width: min(100%, 420px);
  justify-content: center !important;
}

.auth-shell .auth-flashes {
  order: 2;
  width: min(100%, 420px) !important;
}

.auth-shell .login-wrap {
  order: 3;
  width: min(100%, 420px) !important;
}

.auth-shell .auth-footer {
  order: 4;
  margin-top: auto !important;
}

.premise-number,
.premise-badge {
  display: inline !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: inherit !important;
  font-weight: 700;
  white-space: nowrap;
}

.commercial-badge,
.apartment-badge {
  background: transparent !important;
  color: inherit !important;
  border-color: transparent !important;
}

.sync-confirm-modal .modal-content,
.crm-modal .modal-content {
  border: 1px solid rgba(208, 218, 236, .95);
  border-radius: 1rem;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,251,255,.98)),
    #fff;
  box-shadow: 0 30px 90px rgba(15, 23, 42, .22);
}

.crm-modal .modal-body {
  padding: clamp(1.35rem, 4vw, 2rem);
}

.modal-icon-warning {
  color: #b54708;
  background: #fffaeb;
  box-shadow: inset 0 0 0 1px rgba(245, 158, 11, .16);
}

.sync-confirm-modal h2,
.crm-modal h2 {
  color: var(--crm-title);
}

.sync-confirm-modal p,
.crm-modal p {
  color: #565d62;
}

.sync-confirm-modal .modal-actions,
.crm-modal .modal-actions {
  align-items: center;
}

.sync-confirm-modal .modal-actions .btn,
.crm-modal .modal-actions .btn {
  min-width: 7.5rem;
}

.remarks-filter-form .remarks-filter-actions {
  justify-content: flex-end;
  align-self: end;
}

.remarks-filter-form .contractor-filter-actions {
  justify-content: flex-start;
}

.remarks-filter-form .remarks-filter-actions .btn {
  min-width: 5.75rem;
}

.premise-number,
.task-col-apartment,
.task-table td:first-child {
  font-weight: 400 !important;
}

.task-status-cell {
  min-width: 8.2rem;
}

@media (min-width: 768px) {
  .remarks-filter-form {
    flex-wrap: nowrap;
  }
}

/* Final interaction fixes: true centered auth, clickable Bootstrap modals, separated floating buttons. */
.app-layout,
.objects-layout {
  z-index: auto !important;
}

.modal {
  z-index: 1080 !important;
}

.modal-backdrop {
  z-index: 1070 !important;
}

.modal.show .modal-dialog,
.modal.show .modal-content {
  pointer-events: auto !important;
}

.auth-shell {
  justify-content: center !important;
  padding: 24px 16px !important;
}

.auth-shell .auth-footer {
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  bottom: max(1.25rem, env(safe-area-inset-bottom)) !important;
  transform: translateX(-50%) !important;
  width: max-content !important;
  margin: 0 !important;
  z-index: 2;
}

.po-notification-widget {
  right: 5.25rem !important;
  bottom: max(1.25rem, env(safe-area-inset-bottom)) !important;
}

.floating-error-corner {
  right: max(1rem, env(safe-area-inset-right)) !important;
  bottom: max(1rem, env(safe-area-inset-bottom)) !important;
  z-index: 1030 !important;
}

@media (max-width: 575px) {
  .po-notification-widget {
    right: max(.85rem, env(safe-area-inset-right)) !important;
    bottom: calc(max(.85rem, env(safe-area-inset-bottom)) + 3.75rem) !important;
  }
}

@media (min-width: 821px) {
  .auth-shell .auth-brand,
  .auth-shell .auth-flashes,
  .auth-shell .login-wrap {
    transform: translateY(40px) !important;
  }
}

/* Final CRM fixes: materials, confirmations, exports, apartments. */
.btn-success,
.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.btn-success:visited {
  color: #fff !important;
}
.download-excel-btn span,
.download-excel-btn i {
  pointer-events: none;
}
.materials-summary-grid-compact {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.material-request-title-text {
  font-weight: 500 !important;
}
@media (min-width: 992px) {
  .materials-table-responsive {
    overflow-x: visible !important;
  }
}
.material-select-row {
  cursor: pointer;
}
.js-bulk-row {
  cursor: pointer;
  transition: background-color .16s ease, box-shadow .16s ease;
}
.js-bulk-row:hover {
  background: #f9fbf5;
}
.js-bulk-row.is-selected,
.material-select-row.is-selected {
  background: #f7faef !important;
  box-shadow: inset 4px 0 0 #8dd62c;
}
.bulk-actions-panel {
  display: flex;
  align-items: center;
  gap: .65rem;
  padding: .7rem 1rem;
  border-bottom: 1px solid #dcefc0;
  background: linear-gradient(180deg, #f7faef, #f9fbf5);
}
.bulk-actions-count {
  margin-right: auto;
  color: #1f2937;
  font-weight: 700;
}
.bulk-delete-all-btn {
  margin-left: .35rem;
  border-color: rgba(180, 35, 24, .38) !important;
  background: #fff5f5 !important;
}
.crm-confirm-card p {
  white-space: pre-line;
}
button.disabled,
.btn.disabled {
  pointer-events: none;
}
@media (max-width: 760px) {
  .bulk-actions-panel {
    align-items: stretch;
    flex-direction: column;
  }
  .bulk-actions-panel .btn {
    width: 100%;
  }
  .bulk-actions-count {
    margin-right: 0;
  }
}
.actions-cell {
  display: flex;
  align-items: center;
  gap: .35rem;
  min-width: 176px;
}
.actions-cell[data-current-status="done"] .status-action-form[data-status-action="not_started"],
.actions-cell[data-current-status="finishers"] .status-action-form[data-status-action="not_started"],
.actions-cell[data-current-status="contractor"] .status-action-form[data-status-action="not_started"] {
  order: -10;
}
.inspection-note-form .btn {
  align-self: flex-start;
  margin-top: .55rem;
}
.crm-confirm-overlay {
  position: fixed;
  inset: 0;
  z-index: 2100;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(15, 23, 42, .44);
  backdrop-filter: blur(8px);
}
.crm-confirm-card {
  width: min(460px, 100%);
  border-radius: 28px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 24px 80px rgba(15, 23, 42, .24);
  border: 1px solid rgba(255, 255, 255, .72);
  padding: 28px;
  text-align: center;
}
.crm-confirm-card h2 {
  margin: 12px 0 8px;
  font-size: 1.35rem;
  font-weight: 900;
  color: #565d62;
}
.crm-confirm-card p {
  margin: 0 0 20px;
  color: #475467;
}
.crm-confirm-card .modal-actions {
  display: flex;
  justify-content: center;
  gap: .65rem;
  flex-wrap: wrap;
}
.btn-danger {
  border-color: transparent;
  background: linear-gradient(135deg, #dc2626, #ef4444);
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(220, 38, 38, .18);
}
.btn-outline-danger {
  color: #b42318;
  border-color: rgba(180, 35, 24, .22);
  background: rgba(255, 255, 255, .92);
}
.btn-outline-danger:hover,
.btn-outline-danger:focus {
  color: #fff;
  background: #dc2626;
  border-color: #dc2626;
}
@media (max-width: 575px) {
  .materials-summary-grid-compact { grid-template-columns: 1fr !important; }
  .actions-cell { min-width: 0; }
  .material-request-edit-card .card-body {
    padding: 18px;
  }
  .material-request-edit-card .material-edit-table th,
  .material-request-edit-card .material-edit-table td {
    padding: 9px;
  }
  .material-manual-card .card-body {
    padding: 18px;
  }
  .manual-writeoff-grid {
    grid-template-columns: 1fr;
  }
  .material-manual-card .material-form-footer .btn {
    width: 100%;
  }
}

/* PO floating button: align with the question button in apartment tab */
.po-notification-widget {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  max-width: 42px !important;
  max-height: 42px !important;
  padding: 0 !important;
  right: calc(max(1rem, env(safe-area-inset-right)) + 3.25rem) !important;
  bottom: max(1rem, env(safe-area-inset-bottom)) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #565d62, #344054) !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, .18) !important;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .22) !important;
  line-height: 1 !important;
}

.po-notification-widget:hover {
  transform: translateY(-2px);
  background: linear-gradient(135deg, #565d62, #565d62) !important;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .3) !important;
}

.po-notification-widget span {
  color: #fff !important;
  font-size: .82rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.po-notification-widget b {
  position: absolute !important;
  top: -7px !important;
  right: -7px !important;
  min-width: 18px !important;
  width: auto !important;
  height: 18px !important;
  padding: 0 5px !important;
  border-radius: 999px !important;
  display: inline-grid !important;
  place-items: center !important;
  background: #ffc107 !important;
  color: #3f2d00 !important;
  font-size: .68rem !important;
  font-weight: 900 !important;
  border: 2px solid #fff !important;
}

@media (max-width: 575px) {
  .po-notification-widget {
    right: calc(max(.85rem, env(safe-area-inset-right)) + 3.15rem) !important;
    bottom: max(.85rem, env(safe-area-inset-bottom)) !important;
  }
}

/* Glass/material practical fixes */
.material-select-row:hover,
.material-select-row.is-selected {
  background: #f7faef !important;
}
.material-select-row.is-selected td:first-child {
  box-shadow: inset 4px 0 0 #8dd62c;
}
.glass-filter-form .glass-filter-actions,
.materials-filter-form .filter-actions {
  display: flex;
  align-items: end;
  gap: .55rem;
}
.glass-filter-form .glass-filter-actions .btn,
.materials-filter-form .filter-actions .btn {
  min-height: 42px;
  min-width: 104px;
}
.glass-status-form {
  display: grid;
  grid-template-columns: minmax(120px, 1fr) 132px auto;
  gap: .4rem;
  align-items: center;
  min-width: 360px;
}
.glass-status-ordered {
  background: #ede9fe;
  color: #5b21b6;
}
.glass-status-replaced {
  background: #ecfdf3;
  color: #067647;
}
.glass-ordered-table .form-check-input:disabled {
  opacity: .35;
}
.material-detail-actions {
  align-items: center;
}
.material-detail-actions form {
  margin: 0;
}
.js-material-request-edit-form.d-none,
.js-material-request-view.d-none {
  display: none !important;
}
@media (max-width: 992px) {
  .glass-status-form {
    grid-template-columns: 1fr;
    min-width: 0;
  }
  .glass-filter-form .glass-filter-actions,
  .materials-filter-form .filter-actions {
    align-items: stretch;
  }
  .glass-filter-form .glass-filter-actions .btn,
  .materials-filter-form .filter-actions .btn {
    width: 100%;
  }
}

/* Glass measurement UI cleanup */
.glass-measure-start-btn {
  border-radius: 999px;
  font-weight: 800;
  box-shadow: 0 10px 22px rgba(37, 99, 235, .18);
  white-space: nowrap;
}
.glass-measure-form-compact {
  display: grid;
  grid-template-columns: minmax(90px, 1fr) auto minmax(90px, 1fr) 76px auto;
  gap: .45rem;
  align-items: center;
  min-width: 440px;
}
.glass-measure-form-compact .form-control {
  min-height: 36px;
}
.glass-size-separator {
  font-weight: 900;
  color: #64748b;
  text-align: center;
}
.glass-qty-input {
  max-width: 76px;
}
.glass-order-row.is-selected {
  background: #f7faef !important;
}
.glass-order-row.is-selected td {
  background: #f7faef !important;
}
.glass-order-row.is-selected td.d-none {
  background: transparent !important;
}
.glass-status-button-form {
  display: flex;
  align-items: center;
  gap: .45rem;
  flex-wrap: wrap;
}
.glass-status-choice {
  border: 1px solid #d0d5dd;
  background: #fff;
  color: #344054;
  min-height: 34px;
  padding: .35rem .75rem;
  border-radius: 999px;
  font-weight: 800;
  transition: .16s ease;
}
.glass-status-choice:hover {
  border-color: #8dd62c;
  color: #78bb24;
  background: #f7faef;
}
.glass-status-choice.is-active.is-ordered {
  border-color: #7c3aed;
  background: #ede9fe;
  color: #5b21b6;
}
.glass-status-choice.is-active.is-replaced {
  border-color: #12b76a;
  background: #ecfdf3;
  color: #067647;
}
@media (max-width: 992px) {
  .glass-measure-form-compact {
    grid-template-columns: 1fr;
    min-width: 0;
  }
  .glass-size-separator {
    display: none;
  }
  .glass-qty-input {
    max-width: none;
  }
}

/* Polished glass/assignment fixes */
.glass-measure-icon-btn {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  padding: 0;
  box-shadow: 0 8px 18px rgba(37, 99, 235, .18);
}
.glass-measure-icon-btn i { margin: 0; font-size: 1rem; }
.glass-replaced-badge {
  background: #dcfce7;
  color: #166534;
  border-color: rgba(22, 101, 52, .16);
}
.assignment-toolbar-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
  gap: 14px;
  align-items: start;
}
.assignment-page-head-main {
  min-width: 0;
}
.assignment-head-actions .btn {
  border-radius: 14px;
  font-weight: 700;
}
.assignment-search-form {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: end;
}
.assignment-smart-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  gap: 12px;
  align-items: end;
}
.assignment-search-icon,
.assignment-help-icon,
.assignment-section-title span {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #eef2ff;
  color: #3047c7;
  flex: 0 0 auto;
}
.assignment-search-actions {
  display: flex;
  gap: 8px;
  align-items: center;
}
.assignment-search-field,
.assignment-smart-card label {
  min-width: 0;
}
.assignment-summary-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.assignment-summary-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 120px;
  padding: 10px 12px;
  border-radius: 14px;
  background: #f8fafc;
  border: 1px solid rgba(15, 23, 42, .08);
}
.assignment-summary-item span {
  color: #64748b;
  font-size: .74rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.assignment-summary-item b {
  color: #565d62;
  font-size: .98rem;
}
.assignment-help-card .card-body {
  display: flex;
  align-items: center;
  gap: 12px;
  height: 100%;
}
.assignment-smart-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.assignment-section-title {
  display: flex;
  align-items: center;
  gap: 12px;
}
.assignment-modern-shell,
.assignment-smart-card,
.assignment-search-card,
.assignment-help-card {
  border: 1px solid rgba(15, 23, 42, .08);
  box-shadow: 0 12px 30px rgba(15, 23, 42, .06);
}
.assignment-issue-panel {
  background: linear-gradient(180deg, rgba(248, 250, 252, .95), rgba(255, 255, 255, .98));
}
.assignment-bulk-form {
  margin-bottom: .25rem;
}
.assignment-bulk-helper {
  height: 100%;
  display: flex;
  align-items: flex-end;
}
.assignment-bulk-panel {
  justify-content: flex-start;
  flex-wrap: wrap;
}
.assignment-bulk-panel .js-check-all,
.assignment-bulk-panel .js-bulk-submit {
  white-space: nowrap;
}
.assignment-modern-table thead th {
  background: #f8fafc;
  color: #475569;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.assignment-table-wrap {
  overflow: auto;
}
.assignment-modern-table {
  width: 100%;
  table-layout: fixed;
}
.assignment-modern-table th:nth-child(1),
.assignment-modern-table td:nth-child(1) {
  width: 0;
  padding-left: 0;
  padding-right: 0;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  transition: width .16s ease, opacity .16s ease, padding .16s ease;
}
.assignment-shell.has-bulk-selection .assignment-modern-table td:nth-child(1) {
  width: 46px;
  padding-left: .75rem;
  padding-right: .5rem;
  opacity: 1;
  pointer-events: auto;
}
.assignment-shell.has-bulk-selection .assignment-modern-table th:nth-child(1) {
  width: 46px;
  padding-left: .75rem;
  padding-right: .5rem;
}
.assignment-modern-table thead .js-bulk-master {
  display: none;
}
.assignment-modern-table th:nth-child(2),
.assignment-modern-table td:nth-child(2) {
  width: 15%;
}
.assignment-modern-table th:nth-child(3),
.assignment-modern-table td:nth-child(3) {
  width: auto;
}
.assignment-modern-table th:nth-child(4),
.assignment-modern-table td:nth-child(4) {
  width: 110px;
}
.assignment-modern-table th:nth-child(5),
.assignment-modern-table td:nth-child(5) {
  width: 260px;
}
.assignment-modern-table th:nth-child(6),
.assignment-modern-table td:nth-child(6) {
  width: 112px;
}
.assignment-task-row {
  cursor: pointer;
}
.assignment-modern-table tbody tr:hover {
  transform: none;
  background: #f9fbf5;
}
.assignment-task-row.is-selected td {
  background: #f7faef !important;
  box-shadow: inset 4px 0 0 #8dd62c;
}
.assignment-task-row.done-task td {
  background: #ecfdf5 !important;
}
.assignment-room-pill,
.assignment-point-pill,
.assignment-user-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 999px;
  padding: 4px 9px;
  background: #f1f5f9;
  color: #334155;
  font-size: .86rem;
  font-weight: 600;
  white-space: nowrap;
}
.assignment-point-pill {
  background: #fff7ed;
  color: #9a3412;
}
.assignment-user-pill {
  background: #ecfdf5;
  color: #166534;
  font-weight: 500;
}
.assignment-assignee-cell {
  min-width: 0;
}
.assignment-assignee-current {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .35rem;
  margin-bottom: .35rem;
}
.assignment-assignee-edit-trigger {
  border: 0;
  cursor: pointer;
  transition: background-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.assignment-assignee-edit-trigger:hover,
.assignment-assignee-edit-trigger:focus {
  background: #dcfce7;
  box-shadow: 0 0 0 3px rgba(34, 197, 94, .14);
  transform: translateY(-1px);
}
.assignment-modern-table .task-text {
  min-width: 240px;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.assignment-task-check {
  margin-top: .08rem;
}
.assignment-user-pill,
.assignment-user-empty,
.assignment-room-pill {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (min-width: 993px) {
  .assignment-smart-card,
  .assignment-search-card {
    height: 100%;
  }
}
@media (max-width: 992px) {
  .assignment-toolbar-grid,
  .assignment-search-form,
  .assignment-smart-form {
    grid-template-columns: 1fr;
  }
  .assignment-search-icon { display: none; }
  .assignment-search-actions { width: 100%; }
  .assignment-search-actions .btn { flex: 1; }
  .assignment-summary-strip {
    flex-direction: column;
  }
  .assignment-bulk-helper {
    align-items: flex-start;
  }
}
.glass-replaced-badge::before {
  background: #16a34a;
  box-shadow: 0 0 0 4px rgba(22, 163, 74, .14);
}

/* Glass measurements multi-position order form */
.glass-multi-measure-form {
  display: block;
  min-width: 720px;
}
.glass-measure-items {
  display: grid;
  gap: .55rem;
}
.glass-measure-item-row {
  display: grid;
  grid-template-columns: minmax(130px, 1.1fr) minmax(88px, .8fr) auto minmax(88px, .8fr) 72px 34px;
  gap: .45rem;
  align-items: center;
  padding: .5rem;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 14px;
  background: #f8fafc;
}
.glass-type-select {
  font-weight: 800;
  color: #1e3a8a;
  background-color: #f7faef;
  border-color: #bfdbfe;
}
.glass-remove-item {
  width: 34px;
  height: 34px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
}
.glass-measure-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: .5rem;
  margin-top: .6rem;
}
.glass-ordered-size-line {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  max-width: 360px;
  margin-bottom: .35rem;
  padding: .4rem .55rem;
  border-radius: 12px;
  background: #f8fafc;
  border: 1px solid rgba(15, 23, 42, .08);
}
.glass-ordered-size-line span {
  white-space: nowrap;
  color: #475467;
  font-weight: 700;
}
@media (max-width: 992px) {
  .glass-multi-measure-form {
    min-width: 0;
  }
  .glass-measure-item-row {
    grid-template-columns: 1fr;
  }
  .glass-measure-item-row .glass-size-separator {
    display: none;
  }
  .glass-measure-actions {
    justify-content: stretch;
  }
  .glass-measure-actions .btn {
    flex: 1 1 auto;
  }
}

.assignment-counters-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.assignment-worker-pdf {
  border-radius: 999px;
  font-weight: 700;
}

/* Fix: compact order form in Measurements -> Order */
.glass-measure-table {
  width: 100%;
  table-layout: fixed;
}
.glass-measure-table th:nth-child(1),
.glass-measure-table td:nth-child(1) {
  width: 92px;
}
.glass-measure-table th:nth-child(2),
.glass-measure-table td:nth-child(2) {
  width: 34%;
}
.glass-measure-table th:nth-child(3),
.glass-measure-table td:nth-child(3) {
  width: auto;
}
.glass-measure-table td,
.glass-measure-table th {
  vertical-align: top;
}
.glass-measure-table .task-text {
  overflow-wrap: anywhere;
  word-break: break-word;
}
.glass-multi-measure-form {
  min-width: 0 !important;
  max-width: 100%;
}
.glass-measure-item-row {
  grid-template-columns: minmax(116px, 1.05fr) minmax(74px, .8fr) 14px minmax(74px, .8fr) 56px 32px !important;
  gap: .35rem !important;
  padding: .42rem !important;
}
.glass-measure-item-row .form-control,
.glass-measure-item-row .form-select {
  min-width: 0;
  font-size: .84rem;
  padding-left: .48rem;
  padding-right: .48rem;
}
.glass-measure-actions {
  flex-wrap: wrap;
}
@media (max-width: 1280px) {
  .glass-measure-table,
  .glass-measure-table thead,
  .glass-measure-table tbody,
  .glass-measure-table tr,
  .glass-measure-table th,
  .glass-measure-table td {
    display: block;
    width: 100% !important;
  }
  .glass-measure-table thead {
    display: none;
  }
  .glass-measure-table tr {
    padding: .9rem;
    border-bottom: 1px solid rgba(15, 23, 42, .08);
  }
  .glass-measure-table td {
    border: 0;
    padding: .35rem 0 !important;
  }
  .glass-measure-table td:first-child::before {
    content: '№: ';
    color: #64748b;
    font-weight: 700;
  }
  .glass-measure-table td:nth-child(2)::before {
    content: 'Замечание';
    display: block;
    margin-bottom: .2rem;
    color: #64748b;
    font-weight: 700;
  }
  .glass-measure-table td:nth-child(3)::before {
    content: 'Позиции для заказа';
    display: block;
    margin-bottom: .45rem;
    color: #64748b;
    font-weight: 700;
  }
}
@media (max-width: 760px) {
  .glass-measure-item-row {
    grid-template-columns: 1fr !important;
  }
  .glass-measure-item-row .glass-size-separator {
    display: none;
  }
  .glass-measure-actions .btn {
    width: 100%;
  }
}

/* Polished daily assignment report */
.assignment-report-hero {
  padding: 1.15rem 1.25rem;
  border-radius: 1.35rem;
  background: linear-gradient(135deg, #ffffff 0%, #f7faef 62%, #f7faef 100%);
  border: 1px solid rgba(15, 23, 42, .08);
  box-shadow: 0 18px 44px rgba(15, 23, 42, .07);
}
.assignment-report-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .9rem;
}
.assignment-report-metric {
  display: flex;
  align-items: center;
  gap: .85rem;
  padding: 1rem;
  border-radius: 1.1rem;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, .08);
  box-shadow: 0 12px 30px rgba(15, 23, 42, .055);
}
.assignment-report-metric > span {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #eef2ff;
  color: #3047c7;
  font-size: 1.15rem;
}
.assignment-report-metric.done > span {
  background: #ecfdf3;
  color: #067647;
}
.assignment-report-metric.left > span {
  background: #fff7ed;
  color: #c2410c;
}
.assignment-report-metric small {
  display: block;
  color: #565d62;
  font-weight: 700;
}
.assignment-report-metric b {
  display: block;
  color: #565d62;
  font-size: 1.55rem;
  line-height: 1;
}
.assignment-report-filter-card {
  border: 0;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .06);
}
.assignment-report-filter-form {
  display: grid;
  grid-template-columns: 210px minmax(240px, 1fr) auto;
  gap: .8rem;
  align-items: end;
}
.assignment-report-filter-actions {
  display: flex;
  gap: .5rem;
}
.assignment-report-card {
  border: 1px solid rgba(15, 23, 42, .08);
  box-shadow: 0 16px 40px rgba(15, 23, 42, .07);
}
.assignment-report-card.is-empty {
  opacity: .72;
}
.assignment-report-user-head {
  align-items: center;
}
.assignment-report-user-main {
  display: flex;
  align-items: center;
  gap: .8rem;
  min-width: 0;
}
.assignment-report-avatar {
  width: 44px;
  height: 44px;
  border-radius: 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #78bb24;
  background: #f7faef;
  flex: 0 0 auto;
  font-size: 1.15rem;
}
.assignment-report-table-wrap {
  overflow: hidden;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 1rem;
}
.assignment-report-table {
  font-size: .9rem;
}
.assignment-report-table thead th {
  background: #f8fafc;
  color: #475467;
  font-size: .76rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  border-bottom: 1px solid rgba(15, 23, 42, .08);
}
.assignment-report-table td {
  vertical-align: top;
  overflow-wrap: anywhere;
}
.assignment-report-table tr.is-done td {
  background: #f0fdf4;
}
.assignment-report-empty {
  min-height: 112px;
  border-radius: 1rem;
  background: #f8fafc;
  color: #565d62;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  font-weight: 700;
}
.assignment-report-empty i {
  font-size: 1.45rem;
}
@media (max-width: 1024px) {
  .assignment-report-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .assignment-report-filter-form {
    grid-template-columns: 1fr;
  }
  .assignment-report-filter-actions .btn {
    flex: 1;
  }
}
@media (max-width: 640px) {
  .assignment-report-summary {
    grid-template-columns: 1fr;
  }
  .assignment-report-user-head,
  .assignment-counters-actions {
    align-items: stretch;
    justify-content: stretch;
  }
  .assignment-counters-actions > * {
    flex: 1 1 auto;
    text-align: center;
  }
}

/* Final fixes: assignments without point column + adaptive Measurements -> Order */
.assignment-modern-table .task-text {
  min-width: 240px;
}

.glass-order-page-card {
  overflow: hidden;
}
.glass-order-page-header {
  align-items: flex-start;
  gap: 1rem;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(248, 250, 252, .95)),
    radial-gradient(circle at 0 0, rgba(141, 214, 44, .10), transparent 14rem);
}
.glass-order-toolbar {
  justify-content: flex-end;
}
.glass-pdf-btn {
  border-radius: 14px;
  font-weight: 800;
  white-space: nowrap;
}
.glass-order-card-body {
  padding: 0;
  background: #f8fafc;
}
.glass-order-list {
  display: grid;
  gap: 14px;
  padding: 16px;
}
.glass-order-card {
  display: grid;
  grid-template-columns: minmax(240px, .72fr) minmax(0, 1.45fr);
  gap: 16px;
  align-items: start;
  padding: 16px;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 18px;
  background:
    linear-gradient(180deg, #ffffff, #fbfdff);
  box-shadow: 0 16px 34px rgba(15, 23, 42, .07);
}
.glass-order-card.done-task .glass-order-remark {
  text-decoration: line-through;
  opacity: .72;
}
.glass-order-info {
  min-width: 0;
}
.glass-order-room {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #f7faef;
  color: #78bb24;
  font-weight: 900;
  font-size: .88rem;
}
.glass-order-remark {
  color: #101828;
  line-height: 1.45;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.glass-order-card .glass-multi-measure-form {
  min-width: 0 !important;
  max-width: 100%;
  width: 100%;
}
.glass-order-card .glass-measure-items {
  display: grid;
  gap: 9px;
}
.glass-order-card .glass-measure-item-row,
.glass-order-card .glass-measure-item-card {
  display: grid;
  grid-template-columns: minmax(200px, 1.05fr) minmax(130px, .9fr) minmax(150px, 1fr) minmax(86px, .5fr) !important;
  gap: 10px !important;
  align-items: end;
  padding: 12px !important;
  border-radius: 14px;
  background: #f8fafc;
  border: 1px solid rgba(15, 23, 42, .08);
}
.glass-field {
  display: grid;
  gap: 5px;
  min-width: 0;
}
.glass-field > span {
  color: #565d62;
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .02em;
}
.glass-order-card .glass-field .form-control,
.glass-order-card .glass-field .form-select {
  height: 38px;
  min-width: 0;
  border-radius: 12px;
  font-weight: 700;
}
.glass-order-card .glass-type-field .form-select {
  border-color: #bfdbfe;
  background-color: #f7faef;
  color: #1e3a8a;
  font-weight: 900;
  box-shadow: inset 0 0 0 1px rgba(37, 99, 235, .04);
}
.glass-order-card .glass-qty-input {
  max-width: none;
}
.glass-order-card .glass-measure-actions {
  justify-content: flex-end;
  gap: 8px;
  margin-top: 12px;
}
.glass-order-card .glass-measure-actions .btn {
  border-radius: 12px;
  font-weight: 800;
}
.glass-empty-state {
  border-radius: 18px;
  background: #fff;
  border: 1px dashed rgba(15, 23, 42, .18);
}
@media (max-width: 1200px) {
  .glass-order-card {
    grid-template-columns: 1fr;
  }
  .glass-order-card .glass-multi-measure-form {
    grid-column: 1 / -1;
  }
}
@media (max-width: 760px) {
  .glass-order-page-header {
    flex-direction: column;
  }
  .glass-order-toolbar {
    width: 100%;
  }
  .glass-order-toolbar .btn {
    flex: 1 1 auto;
  }
  .glass-pdf-btn {
    width: 100%;
    justify-content: center;
  }
  .glass-order-list {
    padding: 10px;
  }
  .glass-order-card {
    grid-template-columns: 1fr;
    padding: 12px;
    border-radius: 16px;
  }
  .glass-order-select {
    padding-top: 0;
  }
  .glass-order-card .glass-measure-item-row,
  .glass-order-card .glass-measure-item-card {
    grid-template-columns: 1fr !important;
  }
  .glass-order-card .glass-remove-item {
    width: 100%;
  }
  .glass-order-card .glass-measure-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
}

.material-bulk-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  background: #fff;
  border-bottom: 1px solid #e4ebdc;
}

.material-bulk-header .btn {
  white-space: nowrap;
}

@media (max-width: 760px) {
  .material-bulk-header {
    flex-direction: column;
  }
  .material-bulk-header .btn {
    width: 100%;
  }
}

/* Fix PDF readability + prettier Measurements order select */
.glass-type-select-shell {
  position: relative;
  display: flex;
  align-items: center;
  min-width: 0;
}
.glass-type-select-shell .glass-type-select {
  width: 100%;
  min-height: 42px;
  padding-left: 42px !important;
  padding-right: 38px !important;
  border: 1px solid rgba(37, 99, 235, .28) !important;
  border-radius: 15px !important;
  color: #78bb24 !important;
  background: linear-gradient(180deg, #f9fbf5 0%, #eef6ff 100%) !important;
  box-shadow: 0 8px 18px rgba(37, 99, 235, .08), inset 0 0 0 1px rgba(255,255,255,.75) !important;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}
.glass-type-select-shell .glass-type-select:focus {
  border-color: #3b82f6 !important;
  box-shadow: 0 0 0 4px rgba(59, 130, 246, .14), 0 8px 18px rgba(37, 99, 235, .1) !important;
}
.glass-type-select-icon {
  position: absolute;
  left: 14px;
  z-index: 2;
  color: #8dd62c;
  font-size: 1rem;
  pointer-events: none;
}
.glass-type-select-arrow {
  position: absolute;
  right: 13px;
  z-index: 2;
  color: #8dd62c;
  font-size: .9rem;
  pointer-events: none;
}
.glass-order-card .glass-type-field .form-select.glass-type-select {
  background-image: none !important;
}
@media (max-width: 760px) {
  .glass-type-select-shell .glass-type-select {
    min-height: 44px;
  }
}

/* Final fixes: material writeoff UX, measurement type buttons, CRM validation. */
.material-unit-pill {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: .25rem .65rem;
  border-radius: 999px;
  background: #f7faef;
  color: #78bb24;
  font-size: .78rem;
  font-weight: 900;
  white-space: nowrap;
}
.js-writeoff-quantity-block {
  padding: .85rem;
  border-radius: 16px;
  border: 1px solid rgba(37, 99, 235, .16);
  background: linear-gradient(180deg, #f9fbf5, #ffffff);
}
.material-tasks-table .material-select-row {
  cursor: pointer;
}
.material-tasks-table .material-select-row:hover td,
.material-tasks-table .material-select-row.is-selected td {
  background: #f7faef !important;
}
.material-tasks-table .material-select-row.is-selected td:first-child {
  box-shadow: inset 4px 0 0 #8dd62c;
}
.material-selected-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  flex-wrap: wrap;
  margin: .65rem 0 .85rem;
  padding: .65rem .8rem;
  border-radius: 14px;
  background: #f7faef;
  color: #1e3a8a;
  border: 1px solid rgba(37, 99, 235, .16);
}
.material-selected-strip b {
  font-size: 1.05rem;
}
.material-writeoff-form .material-form-footer {
  display: flex;
  gap: .65rem;
  flex-wrap: wrap;
  align-items: center;
}
.glass-type-button-group {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  min-width: 0;
  padding: 3px;
  border-radius: 12px;
  background: #f9fbf5;
}
.glass-type-choice {
  min-height: 30px;
  padding: .34rem .55rem;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: #475467;
  font-size: .78rem;
  font-weight: 800;
  line-height: 1;
  text-align: center;
  transition: .16s ease;
  white-space: nowrap;
}
.glass-type-choice:hover {
  color: #78bb24;
  background: #fff;
}
.glass-type-choice.is-active {
  color: #fff;
  background: #8dd62c;
  box-shadow: 0 6px 14px rgba(37, 99, 235, .18);
}
.glass-order-card .glass-measure-item-row,
.glass-order-card .glass-measure-item-card {
  grid-template-columns: max-content minmax(130px, .7fr) minmax(170px, 1fr) minmax(74px, .35fr) 34px !important;
  align-items: end;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}
.glass-order-card .glass-type-field {
  display: flex;
  align-items: center;
  gap: 8px;
}
.glass-order-card .glass-type-field > span {
  margin-bottom: 0;
  color: #344054;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: 0;
  white-space: nowrap;
}
.glass-order-card .glass-field .form-control,
.glass-order-card .glass-field .form-select {
  height: 34px;
  border-radius: 10px;
}
.glass-order-card .glass-remove-item {
  width: 34px;
  height: 34px;
  border-radius: 10px;
}
.glass-size-field input,
.glass-comment-field input {
  font-weight: 750 !important;
}
.crm-validation-toast {
  position: fixed;
  top: 86px;
  right: 24px;
  z-index: 3000;
  display: grid;
  grid-template-columns: 42px minmax(220px, 1fr) 32px;
  gap: .8rem;
  align-items: start;
  max-width: min(430px, calc(100vw - 32px));
  padding: .95rem;
  border-radius: 18px;
  background: rgba(255, 255, 255, .96);
  border: 1px solid rgba(239, 68, 68, .22);
  box-shadow: 0 20px 50px rgba(15, 23, 42, .18);
  backdrop-filter: blur(14px);
  animation: crmToastIn .18s ease both;
}
.crm-validation-toast.d-none {
  display: none !important;
}
.crm-validation-toast-icon {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  color: #dc2626;
  background: #fff1f2;
  font-size: 1.15rem;
}
.crm-validation-toast-title {
  color: #565d62;
  font-weight: 900;
  line-height: 1.15;
}
.crm-validation-toast-text {
  margin-top: .2rem;
  color: #565d62;
  font-size: .9rem;
  line-height: 1.35;
}
.crm-validation-toast-close {
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 10px;
  color: #565d62;
  background: #f9fbf5;
}
.crm-validation-toast-close:hover {
  color: #565d62;
  background: #e9eef7;
}
.form-control.is-invalid,
.form-select.is-invalid {
  border-color: #ef4444 !important;
  box-shadow: 0 0 0 4px rgba(239, 68, 68, .11) !important;
}
@keyframes crmToastIn {
  from { opacity: 0; transform: translateY(-8px) scale(.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@media (max-width: 1200px) {
  .glass-order-card .glass-measure-item-row,
  .glass-order-card .glass-measure-item-card {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 760px) {
  .glass-type-button-group {
    width: 100%;
    overflow-x: auto;
  }
  .glass-order-card .glass-type-field {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }
  .glass-order-card .glass-measure-item-row,
  .glass-order-card .glass-measure-item-card {
    grid-template-columns: 1fr !important;
  }
  .glass-order-card .glass-remove-item {
    width: 100%;
  }
  .crm-validation-toast {
    top: 16px;
    right: 16px;
    left: 16px;
    max-width: none;
  }
}

/* Final assignment/report fixes */
.assignment-assignee-cell {
  min-width: 0;
}
.assignment-assignee-current {
  margin-bottom: .35rem;
}
.assignment-assignee-current .assignment-user-pill,
.assignment-assignee-current .assignment-user-empty {
  max-width: 100%;
}
.assignment-user-empty {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 999px;
  padding: 4px 9px;
  background: #f8fafc;
  color: #64748b;
  font-size: .86rem;
  font-weight: 700;
  white-space: nowrap;
}
.assignment-inline-controls {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  align-items: center;
}
.assignment-assignee-editor {
  display: grid;
  grid-template-columns: minmax(140px, 1fr) auto auto;
  gap: .4rem;
  align-items: center;
  width: 100%;
}
.assignment-assignee-editor[hidden] {
  display: none;
}
.assignment-assignee-editor .form-select {
  min-height: 34px;
  border-radius: 999px;
  font-size: .82rem;
}
.assignment-inline-controls .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  min-height: 34px;
  padding: 0 .75rem;
  border-radius: 999px;
  white-space: nowrap;
}
.assignment-report-status-actions form {
  margin: 0;
}
.assignment-report-status-actions .btn {
  white-space: nowrap;
  border-radius: 999px;
  font-weight: 800;
}
@media (max-width: 1200px) {
  .assignment-assignee-cell { min-width: 0; }
  .assignment-assignee-editor { grid-template-columns: 1fr; }
  .assignment-inline-controls .btn { width: 100%; }
}

/* PO button: orange, but same compact size as the question button */
.po-notification-widget {
  background: linear-gradient(135deg, #f97316, #f59e0b) !important;
  color: #fff !important;
  border-color: rgba(251, 146, 60, .55) !important;
  box-shadow: 0 16px 36px rgba(249, 115, 22, .34) !important;
}
.po-notification-widget:hover {
  background: linear-gradient(135deg, #ea580c, #f97316) !important;
  box-shadow: 0 20px 46px rgba(249, 115, 22, .42) !important;
}
.po-notification-widget b {
  background: #fff7ed !important;
  color: #c2410c !important;
  border-color: #fff !important;
}


/* Independent documents section */
.documents-home-button,
.documents-object-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  min-height: 2.85rem;
  padding: 0.55rem 1.05rem;
  border: 1px solid rgba(255, 255, 255, 0.38);
  border-radius: 999px;
  color: #f9fbf5;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03)),
    linear-gradient(135deg, rgba(141, 214, 44, 0.30), rgba(28, 165, 109, 0.16));
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.12);
  text-decoration: none;
  font-weight: 900;
  letter-spacing: 0.01em;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.documents-home-button::after,
.documents-object-link::after {
  content: "";
  position: absolute;
  inset: 0.2rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  pointer-events: none;
}
.documents-home-button:hover,
.documents-object-link:hover {
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 20px 44px rgba(37, 99, 235, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.16);
  border-color: rgba(255, 255, 255, 0.56);
}
.documents-home-button-icon {
  width: 2rem;
  height: 2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.14);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.14), 0 8px 18px rgba(15, 23, 42, 0.16);
  font-size: 1.1rem;
}
.documents-layout {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  background:
    radial-gradient(circle at 6% 6%, rgba(37, 99, 235, 0.10), transparent 18rem),
    radial-gradient(circle at 96% 0%, rgba(28, 165, 109, 0.12), transparent 16rem),
    var(--crm-bg);
}
.documents-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  min-height: 5.75rem;
  padding: 1rem 2.25rem;
  background:
    radial-gradient(circle at 14% 20%, rgba(86, 156, 255, 0.28), transparent 18rem),
    linear-gradient(135deg, #152034, #0d2445 58%, #103a52);
  color: #fff;
  position: sticky;
  top: 0;
  z-index: 20;
  margin: 0;
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.18);
}
.documents-topbar .sidebar-brand-link,
.documents-topbar .topbar-user {
  color: #fff;
}
.documents-object-link {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(235, 245, 255, 0.94)),
    radial-gradient(circle at 15% 25%, rgba(45, 212, 191, 0.28), transparent 7rem);
}
.documents-content {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 3rem 3.6rem 3.5rem;
}
.documents-content .page-head {
  padding: 1.35rem 1.45rem;
  border: 1px solid rgba(208, 218, 236, 0.9);
  border-radius: 1.1rem;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 18px 44px rgba(26, 45, 82, 0.08);
}
.documents-content .document-type-card,
.documents-content .content-card {
  border-radius: 1rem;
}
@media (max-width: 760px) {
  .documents-topbar,
  .objects-topbar {
    align-items: flex-start;
    flex-direction: column;
    padding: 1rem;
  }
  .documents-topbar-actions,
  .objects-topbar .topbar-actions {
    width: 100%;
    flex-wrap: wrap;
  }
  .documents-home-button,
  .documents-object-link {
    flex: 1 1 auto;
  }
  .documents-content,
  .objects-content {
    padding: 1.5rem 1rem 2rem;
  }
}

/* Document flow */
.document-flow-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 18px;
}
.document-flow-tab {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 9px 14px;
  border: 1px solid #d0d5dd;
  border-radius: 8px;
  background: #fff;
  color: #344054;
  text-decoration: none;
  font-weight: 700;
}
.document-flow-tab.active,
.document-flow-tab:hover {
  border-color: #8dd62c;
  color: #78bb24;
  background: #f7faef;
}
.document-type-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.document-selected-head {
  display: flex;
  justify-content: flex-start;
  margin-bottom: 14px;
}
.document-back-button {
  border-radius: 14px;
  font-weight: 800;
}
.document-type-card {
  min-height: 178px;
  padding: 18px;
  border: 1px solid #e4e7ec;
  border-radius: 8px;
  background: #fff;
  color: #101828;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
  box-shadow: 0 12px 30px rgba(16, 24, 40, .06);
}
.document-type-card:hover {
  border-color: #8dd62c;
  transform: translateY(-1px);
}
.document-type-card.is-disabled {
  opacity: .62;
}
.document-type-icon {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: #f0f9ff;
  color: #0369a1;
  font-size: 22px;
}
.document-type-card strong {
  font-size: 17px;
}
.document-type-card small,
.document-option small {
  color: #565d62;
  line-height: 1.35;
}
.document-flow-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 18px;
  align-items: start;
}
.document-flow-panel {
  border-radius: 8px;
}
.document-flow-section-head,
.document-result-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}
.document-fields-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.document-option-list {
  display: grid;
  gap: 10px;
}
.document-option {
  display: grid;
  grid-template-columns: 20px 1fr;
  gap: 10px;
  padding: 12px;
  border: 1px solid #e4e7ec;
  border-radius: 8px;
  background: #fff;
}
.document-option strong,
.document-option small {
  display: block;
}
.document-result-card {
  margin-top: 18px;
}
.document-change-list {
  display: grid;
  gap: 12px;
}
.document-change {
  padding: 14px;
  border: 1px solid #e4e7ec;
  border-radius: 8px;
  background: #fcfcfd;
}
.document-change-title {
  font-weight: 800;
  margin-bottom: 8px;
}
.document-diff-line {
  display: grid;
  grid-template-columns: 76px 1fr;
  gap: 10px;
  align-items: start;
  margin-top: 8px;
}
.document-diff-line span {
  color: #565d62;
  font-weight: 700;
}
.document-diff-line p {
  margin: 0;
  padding: 9px 10px;
  border-radius: 8px;
  background: #fff1f3;
}
.document-diff-line-after p {
  background: #ecfdf3;
}
@media (max-width: 1100px) {
  .document-type-grid,
  .document-flow-layout {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 760px) {
  .document-type-grid,
  .document-flow-layout,
  .document-fields-grid {
    grid-template-columns: 1fr;
  }
  .document-result-head {
    flex-direction: column;
  }
  .document-result-head .btn {
    width: 100%;
  }
}

/* Addendum document flow refinements */
.object-card-footer {
  margin-top: 14px;
}
.document-flow-main-panel {
  min-width: 0;
}
.document-flow-help-panel {
  position: sticky;
  top: 18px;
  align-self: start;
}
.document-upload-box {
  padding: 14px;
  border: 1px solid #e4e7ec;
  border-radius: 14px;
  background: #f8fafc;
}
.document-owner-switch {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  padding: 14px;
  border: 1px solid #e4e7ec;
  border-radius: 14px;
  background: #fff;
}
.document-owner-switch-title {
  grid-column: 1 / -1;
  font-weight: 900;
  color: #101828;
}
.document-owner-option {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px;
  border: 1px solid #e4e7ec;
  border-radius: 12px;
  cursor: pointer;
  background: #f8fafc;
}
.document-owner-option:hover {
  border-color: #8dd62c;
  background: #f7faef;
}
.document-owner-option strong,
.document-owner-option small {
  display: block;
}
.document-owner-option small {
  color: #565d62;
  margin-top: 2px;
}
.document-owner-option-number strong {
  font-size: 1.35rem;
  line-height: 1;
}
.document-owner-option-number span {
  display: grid;
  gap: 2px;
}
.document-field-group {
  padding-top: 18px;
  margin-top: 18px;
  border-top: 1px solid #eef2f7;
}
.document-field-group:first-of-type {
  padding-top: 0;
  margin-top: 0;
  border-top: 0;
}
.document-field-group-title {
  margin: 0 0 12px;
  font-size: 1rem;
  font-weight: 900;
  color: #101828;
}
.document-fields-grid-wide {
  grid-template-columns: 1fr;
}
.document-field-block textarea {
  resize: vertical;
}
.document-label-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 6px;
}
.document-label-row .form-label {
  margin-bottom: 0;
}
.document-hint-icon {
  width: 1.8rem;
  height: 1.8rem;
  border: 1px solid #dcefc0;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #f7faef;
  color: #8dd62c;
  flex: 0 0 auto;
}
.document-hint-icon:hover {
  background: #dcefc0;
}
.document-quick-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}
.document-quick-btn {
  border: 1px solid #d0d5dd;
  border-radius: 999px;
  padding: 3px 9px;
  background: #fff;
  color: #344054;
  font-size: .75rem;
  font-weight: 800;
}
.document-quick-btn:hover {
  border-color: #8dd62c;
  color: #78bb24;
  background: #f7faef;
}
.document-help-list {
  display: grid;
  gap: 12px;
}
.document-help-list div {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 10px;
  align-items: start;
  color: #475467;
  line-height: 1.35;
}
.document-help-list i {
  color: #8dd62c;
  font-size: 1.1rem;
}
@media (max-width: 1050px) {
  .document-flow-help-panel {
    position: static;
  }
  .document-owner-switch,
  .document-fields-grid-wide {
    grid-template-columns: 1fr;
  }
}

.required-dot {
  color: #dc2626;
  margin-left: 4px;
  font-weight: 900;
}
.document-quick-hint {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #8dd62c;
  font-size: .75rem;
  font-weight: 800;
  white-space: nowrap;
}
.document-preset-panel {
  display: none;
  margin-top: 8px;
  padding: 10px;
  border: 1px solid #dcefc0;
  border-radius: 14px;
  background: #f7faef;
}
.document-field-block:focus-within .document-preset-panel,
.document-field-block:hover .document-preset-panel {
  display: block;
}
.document-preset-title {
  margin-bottom: 7px;
  color: #78bb24;
  font-size: .78rem;
  font-weight: 900;
}
.document-preset-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.document-field-advanced {
  grid-column: 1 / -1;
}
.document-field-advanced textarea {
  min-height: 120px;
}

/* Final global notifications */
.crm-toast-stack {
  position: fixed !important;
  right: calc(max(1rem, env(safe-area-inset-right)) + 56px) !important;
  bottom: max(1rem, env(safe-area-inset-bottom)) !important;
  z-index: 3060 !important;
  display: grid !important;
  gap: 10px !important;
  width: min(420px, calc(100vw - 92px)) !important;
  margin: 0 !important;
  pointer-events: none;
  transform: none !important;
}
.crm-toast-stack.auth-flashes {
  width: min(420px, calc(100vw - 92px)) !important;
  transform: none !important;
}
.crm-toast {
  position: relative;
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) 32px;
  gap: 12px;
  align-items: start;
  min-height: 72px;
  margin: 0 !important;
  padding: 12px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(15, 23, 42, .09) !important;
  color: #565d62 !important;
  background: rgba(255, 255, 255, .96) !important;
  box-shadow: 0 22px 56px rgba(15, 23, 42, .18) !important;
  backdrop-filter: blur(16px);
  pointer-events: auto;
  overflow: hidden;
  animation: crmToastBottomIn .2s ease both;
}
.crm-toast::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: #8dd62c;
}
.crm-toast-success::before { background: #16a34a; }
.crm-toast-warning::before { background: #f59e0b; }
.crm-toast-danger::before { background: #dc2626; }
.crm-toast-info::before { background: #8dd62c; }
.crm-toast-icon {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  font-size: 1.08rem;
}
.crm-toast-success .crm-toast-icon {
  color: #15803d;
  background: #dcfce7;
}
.crm-toast-warning .crm-toast-icon {
  color: #b45309;
  background: #fef3c7;
}
.crm-toast-danger .crm-toast-icon {
  color: #dc2626;
  background: #fee2e2;
}
.crm-toast-info .crm-toast-icon {
  color: #78bb24;
  background: #dcefc0;
}
.crm-toast-body {
  min-width: 0;
}
.crm-toast-title {
  color: #101828;
  font-size: .92rem;
  font-weight: 900;
  line-height: 1.18;
}
.crm-toast-text {
  margin-top: 3px;
  color: #475467;
  font-size: .9rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.crm-toast-close {
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #565d62;
  background: #f9fbf5;
  transition: background-color .16s ease, color .16s ease, transform .16s ease;
}
.crm-toast-close:hover {
  color: #565d62;
  background: #e9eef7;
  transform: scale(1.04);
}
.floating-error-corner {
  left: auto !important;
  right: max(1rem, env(safe-area-inset-right)) !important;
  bottom: max(1rem, env(safe-area-inset-bottom)) !important;
  z-index: 3070 !important;
}
.report-error-floating {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  max-width: 42px !important;
  max-height: 42px !important;
  padding: 0 !important;
}
.crm-validation-toast {
  top: auto !important;
  right: calc(max(1rem, env(safe-area-inset-right)) + 56px) !important;
  bottom: max(1rem, env(safe-area-inset-bottom)) !important;
  z-index: 3080 !important;
  animation: crmToastBottomIn .2s ease both !important;
}
@keyframes crmToastBottomIn {
  from { opacity: 0; transform: translateY(10px) scale(.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@media (max-width: 575px) {
  .crm-toast-stack,
  .crm-toast-stack.auth-flashes,
  .crm-validation-toast {
    right: max(.85rem, env(safe-area-inset-right)) !important;
    bottom: calc(max(.85rem, env(safe-area-inset-bottom)) + 56px) !important;
    left: max(.85rem, env(safe-area-inset-left)) !important;
    width: auto !important;
    max-width: none !important;
  }
  .crm-toast {
    grid-template-columns: 38px minmax(0, 1fr) 30px;
    border-radius: 16px !important;
  }
  .crm-toast-icon {
    width: 38px;
    height: 38px;
  }
  .floating-error-corner {
    right: max(.85rem, env(safe-area-inset-right)) !important;
    bottom: max(.85rem, env(safe-area-inset-bottom)) !important;
  }
}

/* User fixes 2026-06: Measurements order + ordered export + compact assignments. */
.glass-excel-btn {
  border-radius: 14px;
  font-weight: 800;
  white-space: nowrap;
}
.glass-request-panel {
  justify-content: flex-start;
}
.glass-request-panel .btn {
  font-weight: 800;
  border-radius: 12px;
}
.glass-order-card .glass-type-field {
  align-items: stretch !important;
  flex-direction: column !important;
  gap: 6px !important;
}
.glass-order-card .glass-type-field > span {
  margin-bottom: 0 !important;
}
.glass-order-card .glass-type-button-group {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 5px !important;
  width: 100%;
  max-width: 190px;
  padding: 4px;
}
.glass-order-card .glass-type-choice {
  width: 100%;
  min-height: 34px;
  justify-content: center;
  text-align: center;
  white-space: normal;
}
.glass-order-card .glass-measure-item-row,
.glass-order-card .glass-measure-item-card {
  grid-template-columns: minmax(175px, .68fr) minmax(130px, .65fr) minmax(170px, 1fr) minmax(74px, .32fr) !important;
  align-items: end !important;
}
@media (max-width: 900px) {
  .glass-ordered-actions,
  .glass-ordered-actions .btn,
  .glass-excel-btn {
    width: 100%;
    justify-content: center;
  }
  .glass-order-card .glass-type-button-group {
    max-width: none;
  }
  .glass-order-card .glass-measure-item-row,
  .glass-order-card .glass-measure-item-card {
    grid-template-columns: 1fr !important;
  }
}

.assignments-page-head {
  margin-bottom: 14px;
}
.assignment-toolbar-grid {
  grid-template-columns: minmax(0, 1fr) minmax(360px, 380px) !important;
  gap: 12px !important;
}
.assignment-search-card .card-body,
.assignment-smart-card .card-body {
  padding: 1.05rem 1.15rem;
}
.assignment-section-title {
  gap: 10px !important;
}
.assignment-section-title span,
.assignment-search-icon {
  width: 36px !important;
  height: 36px !important;
  border-radius: 12px !important;
}
.assignment-search-form {
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 10px !important;
}
.assignment-search-form .assignment-search-icon {
  display: none !important;
}
.assignment-smart-form {
  grid-template-columns: 1fr !important;
  gap: 9px !important;
}
.assignment-smart-actions {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 8px !important;
}
.assignment-smart-actions .btn,
.assignment-search-actions .btn,
.assignment-head-actions .btn {
  min-height: 40px;
  border-radius: 12px !important;
  font-weight: 800;
}
.assignment-summary-strip {
  gap: 8px !important;
}
.assignment-summary-item {
  min-width: 108px !important;
  padding: 8px 10px !important;
}
.smart-assign-note {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.smart-assign-note span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 9px;
  border-radius: 999px;
  background: #f8fafc;
  border: 1px solid rgba(15, 23, 42, .08);
  color: #475467;
  font-size: .82rem;
  font-weight: 700;
}
.assignment-issue-panel {
  padding: 1rem 1.15rem !important;
}
.assignment-bulk-form {
  align-items: end !important;
}
.assignment-bulk-helper {
  align-items: center !important;
  min-height: 38px;
}
.assignment-modern-table {
  font-size: .9rem;
  min-width: 980px;
}
.assignment-modern-table thead th {
  padding-top: .65rem;
  padding-bottom: .65rem;
}
.assignment-modern-table td {
  padding-top: .55rem;
  padding-bottom: .55rem;
  vertical-align: middle;
}
.assignment-modern-table th:nth-child(2),
.assignment-modern-table td:nth-child(2) {
  width: 120px !important;
}
.assignment-modern-table th:nth-child(4),
.assignment-modern-table td:nth-child(4) {
  width: 120px !important;
}
.assignment-modern-table th:nth-child(5),
.assignment-modern-table td:nth-child(5) {
  width: 220px !important;
}
.assignment-modern-table th:nth-child(6),
.assignment-modern-table td:nth-child(6) {
  width: 104px !important;
}
.assignment-task-text {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-height: 2.8em;
  line-height: 1.35;
}
.assignment-room-pill,
.assignment-user-pill,
.assignment-user-empty {
  font-size: .8rem !important;
  padding: 4px 8px !important;
}
.assignment-assignee-current {
  margin-bottom: .15rem !important;
}
.assignment-inline-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.assignment-inline-controls .btn span {
  display: none;
}
.assignment-assignee-editor {
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 5px;
  width: 100%;
}
.assignment-assignee-editor:not([hidden]) {
  display: grid;
}
.assignment-bulk-panel {
  padding: .6rem .75rem !important;
}
@media (max-width: 1180px) {
  .assignment-toolbar-grid {
    grid-template-columns: 1fr !important;
  }
  .assignment-smart-form {
    grid-template-columns: minmax(0, 1fr) 180px auto !important;
  }
}
@media (max-width: 760px) {
  .assignment-search-form,
  .assignment-smart-form,
  .assignment-smart-actions {
    grid-template-columns: 1fr !important;
  }
  .assignment-search-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
  }
  .assignment-modern-table {
    min-width: 860px;
  }
}

/* User fixes 2026-06-11: restored assignments, ordered measurements, addendum polish. */
.assignment-subtabs {
  display: inline-flex;
  gap: 8px;
  padding: 6px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, .08);
  box-shadow: 0 10px 26px rgba(15, 23, 42, .055);
}
.assignment-subtab {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 16px;
  border-radius: 13px;
  color: #475467;
  font-weight: 850;
  text-decoration: none;
  transition: .16s ease;
}
.assignment-subtab span {
  min-width: 22px;
  min-height: 22px;
  padding: 0 7px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(37, 99, 235, .1);
  color: #8dd62c;
  font-size: .78rem;
}
.assignment-subtab:hover,
.assignment-subtab.active {
  background: #8dd62c;
  color: #fff;
  box-shadow: 0 12px 26px rgba(37, 99, 235, .18);
}
.assignment-subtab.active span,
.assignment-subtab:hover span {
  background: rgba(255, 255, 255, .22);
  color: #fff;
}
.assignment-toolbar-grid-restored {
  grid-template-columns: minmax(0, .82fr) minmax(420px, 1.18fr) !important;
  align-items: stretch !important;
}
.assignment-search-card-compact .card-body,
.assignment-smart-card-compact .card-body {
  padding: 1rem 1.1rem !important;
}
.assignment-search-form-compact {
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: end !important;
}
.assignment-search-form-compact .form-label,
.assignment-smart-form .form-label,
.assignment-bulk-form-restored .form-label {
  color: #565d62;
  font-size: .76rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.assignment-smart-card-compact .assignment-smart-form {
  grid-template-columns: minmax(0, 1fr) 170px auto !important;
}
.assignment-smart-actions .btn,
.assignment-search-actions .btn,
.assignment-bulk-panel-restored-actions .btn {
  min-height: 42px;
  border-radius: 13px !important;
  font-weight: 850;
  white-space: nowrap;
}
.assignment-smart-actions {
  grid-template-columns: 1fr 1fr !important;
}
.assignment-issue-panel-restored {
  background: linear-gradient(180deg, #fff, #f9fbf5) !important;
}
.assignment-bulk-form-restored {
  align-items: end !important;
}
.assignment-bulk-panel-restored-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.assignment-shell.has-bulk-selection .assignment-modern-table th:nth-child(1),
.assignment-shell.has-bulk-selection .assignment-modern-table td:nth-child(1),
.assignment-modern-table th:nth-child(1),
.assignment-modern-table td:nth-child(1) {
  width: 46px !important;
  padding-left: .75rem !important;
  padding-right: .5rem !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  overflow: visible !important;
}
.assignment-modern-table thead .js-bulk-master {
  display: inline-block !important;
}
.assignment-modern-table th:nth-child(2),
.assignment-modern-table td:nth-child(2) { width: 118px !important; }
.assignment-modern-table th:nth-child(4),
.assignment-modern-table td:nth-child(4) { width: 120px !important; }
.assignment-modern-table th:nth-child(5),
.assignment-modern-table td:nth-child(5) { width: 245px !important; }
.assignment-modern-table th:nth-child(6),
.assignment-modern-table td:nth-child(6) { width: 106px !important; }
.assignment-task-row.is-selected td,
.assignment-shell .js-bulk-row.is-selected td {
  background: #f1f6ff !important;
  box-shadow: none !important;
}
.assignment-task-row.is-selected td:first-child,
.assignment-shell .js-bulk-row.is-selected td:first-child {
  box-shadow: none !important;
}
.assignment-user-empty {
  justify-content: center;
  min-width: 34px;
}
.assignment-issued-layout {
  display: grid;
  gap: 14px;
}
.assignment-issued-card {
  border: 1px solid rgba(15, 23, 42, .08);
  box-shadow: 0 14px 34px rgba(15, 23, 42, .06);
  overflow: hidden;
}
.assignment-issued-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: linear-gradient(180deg, #fff, #f9fbf5);
  border-bottom: 1px solid rgba(15, 23, 42, .08);
}
.assignment-issued-user {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.assignment-issued-user > span {
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 13px;
  background: #ecfdf3;
  color: #067647;
}
.assignment-issued-user b,
.assignment-issued-user small {
  display: block;
}
.assignment-issued-user small {
  color: #565d62;
  font-weight: 700;
}
.assignment-issued-count {
  padding: 7px 10px;
  border-radius: 999px;
  color: #78bb24;
  background: #f7faef;
  font-weight: 900;
  white-space: nowrap;
}
.assignment-issued-table thead th {
  background: #f8fafc;
  color: #475569;
  font-size: .76rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.assignment-issued-table .task-text {
  max-width: 760px;
}
.assignment-open-task-btn {
  border-radius: 11px;
  font-weight: 850;
}
.assignment-issued-empty i {
  display: block;
  margin-bottom: 8px;
  font-size: 1.6rem;
}
@media (max-width: 1180px) {
  .assignment-toolbar-grid-restored,
  .assignment-smart-card-compact .assignment-smart-form {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 760px) {
  .assignment-subtabs,
  .assignment-subtab,
  .assignment-bulk-panel-restored-actions {
    width: 100%;
  }
  .assignment-subtabs,
  .assignment-bulk-panel-restored-actions,
  .assignment-search-form-compact,
  .assignment-search-actions,
  .assignment-smart-actions {
    grid-template-columns: 1fr !important;
    display: grid !important;
  }
  .assignment-subtab {
    justify-content: center;
  }
}

.glass-ordered-table {
  table-layout: fixed;
  min-width: 1120px;
}
.glass-ordered-table thead th {
  background: #f8fafc;
  color: #475569;
  font-size: .76rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  border-bottom: 1px solid rgba(15, 23, 42, .08);
  white-space: nowrap;
}
.glass-ordered-table td {
  vertical-align: middle;
}
.glass-ordered-table th:nth-child(1),
.glass-ordered-table td:nth-child(1) { width: 48px; }
.glass-ordered-table th:nth-child(2),
.glass-ordered-table td:nth-child(2) { width: 92px; }
.glass-ordered-table th:nth-child(3),
.glass-ordered-table td:nth-child(3) { width: 31%; }
.glass-ordered-table th:nth-child(4),
.glass-ordered-table td:nth-child(4) { width: 250px; }
.glass-ordered-table th:nth-child(5),
.glass-ordered-table td:nth-child(5) { width: 120px; }
.glass-ordered-table th:nth-child(6),
.glass-ordered-table td:nth-child(6) { width: 205px; }
.glass-ordered-table th:nth-child(7),
.glass-ordered-table td:nth-child(7) { width: 130px; }
.glass-ordered-table th:nth-child(8),
.glass-ordered-table td:nth-child(8) { width: 86px; }
.glass-select-col {
  text-align: center;
}
.glass-actions-col,
.glass-row-delete-form {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  margin: 0;
}
.glass-ordered-table .glass-order-row.is-selected td {
  background: #f1f6ff !important;
  box-shadow: none !important;
}
.glass-ordered-table .task-text {
  overflow-wrap: anywhere;
  line-height: 1.35;
}
.glass-ordered-size-line {
  max-width: none !important;
}
.glass-table-shell .table-responsive {
  border-radius: 0 0 18px 18px;
}
.glass-ordered-table tbody tr:only-child td[colspan] {
  background: #f8fafc !important;
  border-bottom: 0;
}
.glass-order-card .glass-measure-item-row,
.glass-order-card .glass-measure-item-card {
  grid-template-columns: 190px minmax(170px, .8fr) minmax(260px, 1fr) 104px !important;
  align-items: start !important;
  column-gap: 18px !important;
}
.glass-order-card .glass-field {
  align-self: start !important;
}
.glass-order-card .glass-field .form-control,
.glass-order-card .glass-field .form-select {
  margin-top: 0 !important;
}
.glass-order-card .glass-type-button-group {
  max-width: 190px !important;
}
@media (max-width: 1100px) {
  .glass-order-card .glass-measure-item-row,
  .glass-order-card .glass-measure-item-card {
    grid-template-columns: 1fr !important;
  }
  .glass-order-card .glass-type-button-group {
    max-width: none !important;
  }
}

.document-flow-layout {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px) !important;
  gap: 22px !important;
  align-items: start;
}
.document-flow-main-panel,
.document-flow-help-panel,
.document-step-card {
  border-radius: 20px !important;
}
.document-flow-main-panel > .card-body,
.document-flow-help-panel > .card-body {
  padding: clamp(1rem, 2vw, 1.45rem) !important;
}
.document-flow-section-head {
  margin-bottom: 16px;
}
.document-flow-section-head .section-title {
  font-size: 1.24rem;
  font-weight: 950;
}
.document-flow-section-head p {
  font-size: .92rem;
}
.document-step-card {
  padding: 12px;
  border: 1px solid rgba(15, 23, 42, .10);
  background: #fff;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .035);
}
.document-field-group {
  margin-top: 10px !important;
  padding: 12px !important;
}
.document-step-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.document-step-number {
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  border-radius: 999px;
  background: #8dd62c;
  color: #fff;
  font-size: .78rem;
  font-weight: 950;
  box-shadow: 0 8px 18px rgba(37, 99, 235, .22);
}
.document-step-head h3 {
  margin: 0;
  color: #101828;
  font-size: .98rem;
  font-weight: 950;
}
.document-step-head small {
  color: #565d62;
  font-weight: 800;
}
.document-upload-drop {
  min-height: 66px;
  display: grid;
  place-items: center;
  gap: 2px;
  padding: 14px;
  border: 1.5px dashed #d0d5dd;
  border-radius: 14px;
  background: linear-gradient(180deg, #fbfdff, #fff);
  color: #475467;
  cursor: pointer;
  text-align: center;
  transition: .16s ease;
}
.document-upload-drop:hover {
  border-color: #8dd62c;
  background: #f7faef;
}
.document-upload-drop input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  overflow: hidden;
}
.document-upload-drop span {
  color: #8dd62c;
  font-size: 1.15rem;
}
.document-upload-drop b {
  color: #1d2939;
  font-size: .88rem;
}
.document-upload-drop small {
  color: #565d62;
}
.document-owner-switch {
  display: block !important;
}
.document-owner-options-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.document-owner-option {
  min-height: 44px !important;
  padding: 8px 12px !important;
  border-radius: 13px !important;
  justify-content: center;
}
.document-owner-option span {
  justify-content: center;
}
.document-owner-option:has(input:checked) {
  border-color: #8dd62c;
  background: #f7faef;
  box-shadow: inset 0 0 0 1px rgba(37, 99, 235, .18);
}
.document-fields-grid-wide {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}
.document-field-block {
  min-width: 0;
}
.document-label-row .form-label {
  font-size: .78rem;
  font-weight: 900 !important;
  color: #565d62;
}
.document-field-block .form-control,
.document-field-block .form-select {
  min-height: 42px;
  border-radius: 13px;
  border-color: #d0d5dd;
  font-size: .92rem;
}
.document-field-block textarea.form-control {
  min-height: 76px;
}
.document-field-advanced textarea.form-control {
  min-height: 82px !important;
}
.document-help-list div {
  grid-template-columns: 32px 1fr !important;
  align-items: center !important;
  padding: 8px 0;
}
.document-help-list i {
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: #f7faef;
}
.document-flow-help-panel {
  position: sticky;
  top: 84px;
}
.document-flow-help-panel .btn {
  min-height: 46px;
  border-radius: 12px;
  font-weight: 900;
  box-shadow: 0 14px 28px rgba(37, 99, 235, .22);
}
@media (max-width: 1050px) {
  .document-flow-layout,
  .document-fields-grid-wide,
  .document-owner-options-grid {
    grid-template-columns: 1fr !important;
  }
  .document-flow-help-panel {
    position: static;
  }
}

/* Final polish: show assignment controls only after selecting tasks; align glass order inputs at the top. */
.assignment-issue-panel-restored .assignment-bulk-form-restored {
  display: none !important;
}
.assignment-shell.has-bulk-selection .assignment-issue-panel-restored .assignment-bulk-form-restored {
  display: flex !important;
}
.assignment-shell.has-bulk-selection .assignment-issue-panel-restored {
  background: linear-gradient(180deg, #ffffff, #f9fbf5) !important;
}
.assignment-issue-panel-restored .assignment-section-title {
  margin-bottom: 0 !important;
}
.assignment-shell.has-bulk-selection .assignment-issue-panel-restored .assignment-section-title {
  margin-bottom: 1rem !important;
}
.assignment-issue-panel-restored .assignment-section-title .small::after {
  content: ' Поля выдачи появятся после выбора строки.';
}
.assignment-shell.has-bulk-selection .assignment-issue-panel-restored .assignment-section-title .small::after {
  content: '';
}
.glass-order-card .glass-multi-measure-form,
.glass-order-card .glass-measure-items,
.glass-order-card .glass-measure-item-row,
.glass-order-card .glass-measure-item-card {
  margin-top: 0 !important;
  align-self: start !important;
}
.glass-order-card .glass-measure-item-row,
.glass-order-card .glass-measure-item-card {
  align-items: start !important;
}
.glass-order-card .glass-type-field,
.glass-order-card .glass-size-field,
.glass-order-card .glass-comment-field,
.glass-order-card .glass-qty-field {
  align-self: start !important;
}
.glass-order-card .glass-field > span {
  min-height: 18px;
  display: inline-flex;
  align-items: center;
}

/* ======================================================================
   Design-system pass + mobile app shell
   Цель: единая визуальная система и мобильный интерфейс в стиле экранов ТЗ.
   ====================================================================== */
:root {
  --crm-font-sans: Inter, "SF Pro Display", "Segoe UI", Roboto, system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  --crm-bg: #f7faef;
  --crm-surface: #ffffff;
  --crm-surface-soft: #f8fafd;
  --crm-border: #e6edf7;
  --crm-border-strong: #d5dfef;
  --crm-muted: #75829a;
  --crm-title: #17213a;
  --crm-text: #344054;
  --crm-primary: #2f63ff;
  --crm-primary-dark: #214bd8;
  --crm-primary-soft: #f7faef;
  --crm-success: #13a66b;
  --crm-success-soft: #eaf8f0;
  --crm-warning: #f5a524;
  --crm-warning-soft: #fff6df;
  --crm-danger: #ef5350;
  --crm-danger-soft: #fff0ef;
  --crm-sidebar-start: #13264c;
  --crm-sidebar-end: #0b1732;
  --crm-topbar-start: #142852;
  --crm-topbar-end: #0b1836;
  --crm-radius-sm: .72rem;
  --crm-radius-md: .95rem;
  --crm-radius-lg: 1.18rem;
  --crm-radius-xl: 1.45rem;
  --crm-shadow: 0 18px 48px rgba(22, 34, 61, .10);
  --crm-shadow-soft: 0 10px 26px rgba(22, 34, 61, .075);
  --crm-focus-ring: 0 0 0 .22rem rgba(47, 99, 255, .14);
}

body {
  font-family: var(--crm-font-sans);
  font-size: 15px;
  line-height: 1.52;
  letter-spacing: -.006em;
  color: var(--crm-text);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6,
.page-title,
.dashboard-title,
.objects-title,
.section-title,
.card-title {
  color: var(--crm-title);
  letter-spacing: -.035em;
  font-weight: 850;
  line-height: 1.12;
}

.page-title,
.dashboard-title,
.objects-title {
  font-size: clamp(1.8rem, 2.35vw, 2.65rem);
}

.page-subtitle,
.dashboard-subtitle,
.objects-subtitle,
.text-muted,
.form-text {
  color: var(--crm-muted) !important;
}

.app-sidebar,
.objects-topbar,
.app-topbar {
  background:
    radial-gradient(circle at 12% 0%, rgba(70, 111, 255, .28), transparent 17rem),
    linear-gradient(180deg, var(--crm-topbar-start), var(--crm-topbar-end));
}

.app-sidebar {
  box-shadow: 14px 0 42px rgba(7, 17, 39, .10);
}

.sidebar-link,
.sidebar-sublink,
.dropdown-item,
.mobile-nav-item {
  font-weight: 720;
}

.card,
.content-card,
.table-shell,
.filter-card,
.object-card,
.apartment-card,
.site-error-card,
.dashboard-redesign-hero,
.dashboard-focus-card,
.dashboard-info-card,
.dashboard-specialist-card,
.materials-summary-card,
.assignment-report-card,
.document-type-card,
.document-step-card,
.glass-order-card {
  border: 1px solid var(--crm-border) !important;
  border-radius: var(--crm-radius-xl) !important;
  background: var(--crm-surface) !important;
  box-shadow: var(--crm-shadow-soft) !important;
}

.content-card .card-body,
.table-shell .card-body,
.filter-card .card-body,
.card > .card-body {
  padding: clamp(1rem, 2vw, 1.35rem);
}

.btn {
  --bs-btn-border-radius: .86rem;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .38rem;
  font-weight: 780;
  letter-spacing: -.012em;
  box-shadow: none;
}

.btn-sm {
  min-height: 36px;
  border-radius: .72rem;
  font-weight: 760;
}

.btn-primary,
.btn-success,
.btn-danger,
.btn-warning {
  border: 0;
  box-shadow: 0 10px 24px rgba(47, 99, 255, .15);
}

.btn-primary {
  background: linear-gradient(135deg, #8dd62c, #78bb24);
}

.btn-primary:hover,
.btn-primary:focus-visible {
  background: linear-gradient(135deg, #315fff, #1f46d5);
}

.btn-success {
  background: linear-gradient(135deg, #1fc984, #0d9d62);
  box-shadow: 0 10px 24px rgba(19, 166, 107, .16);
}

.btn-outline-primary,
.btn-outline-secondary,
.btn-outline-success,
.btn-outline-light {
  background: rgba(255,255,255,.82);
  border-color: var(--crm-border-strong);
  color: var(--crm-title);
}

.btn-outline-light {
  color: #fff;
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.22);
}

.form-label {
  margin-bottom: .36rem;
  color: var(--crm-title);
  font-weight: 760;
  font-size: .86rem;
}

.form-control,
.form-select,
.input-group-text {
  min-height: 42px;
  border-radius: .86rem;
  border-color: var(--crm-border-strong);
  background-color: #fbfcff;
  color: var(--crm-title);
  font-weight: 560;
  box-shadow: none !important;
}

.form-control::placeholder {
  color: #9aa7bb;
}

.form-control:focus,
.form-select:focus {
  border-color: rgba(47, 99, 255, .52);
  box-shadow: var(--crm-focus-ring) !important;
  background-color: #fff;
}

.table {
  margin-bottom: 0;
  color: var(--crm-text);
}

.table thead th {
  color: #68758d;
  background: #f8fafd !important;
  border-bottom-color: var(--crm-border) !important;
  font-size: .76rem;
  text-transform: uppercase;
  letter-spacing: .045em;
  font-weight: 850;
}

.table td,
.table th {
  vertical-align: middle;
  border-color: rgba(225, 233, 246, .8) !important;
}

.badge,
.status-pill,
.deadline-badge,
.stat-badge,
.glass-status-badge,
.glass-ordered-badge,
.assignment-room-pill,
.assignment-point-pill,
.assignment-user-pill {
  border-radius: 999px !important;
  font-weight: 820 !important;
  letter-spacing: -.01em;
}

.crm-tabs {
  gap: .45rem;
}

.crm-tabs .nav-link {
  border-radius: .86rem !important;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #66738b;
  background: #fff;
  border: 1px solid var(--crm-border) !important;
  font-weight: 800;
}

.crm-tabs .nav-link.active {
  color: #fff !important;
  background: linear-gradient(135deg, #8dd62c, #78bb24) !important;
  box-shadow: 0 10px 24px rgba(47, 99, 255, .18);
}

.mobile-app-topbar,
.mobile-bottom-nav {
  display: none;
}

@media (max-width: 768px) {
  html {
    background: #f7faef;
  }

  body.app-body {
    background:
      radial-gradient(circle at 50% -15%, rgba(77, 118, 255, .12), transparent 19rem),
      #f7faef;
    font-size: 14px;
    padding-top: calc(58px + env(safe-area-inset-top));
    padding-bottom: calc(76px + env(safe-area-inset-bottom));
  }

  .mobile-app-topbar {
    position: fixed;
    inset: 0 0 auto 0;
    z-index: 1042;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    align-items: center;
    gap: 10px;
    min-height: calc(58px + env(safe-area-inset-top));
    padding: calc(.55rem + env(safe-area-inset-top)) .9rem .58rem;
    background:
      radial-gradient(circle at 16% 0%, rgba(82, 124, 255, .36), transparent 12rem),
      linear-gradient(180deg, #5e656a 0%, #4f565b 100%);
    border-bottom-left-radius: 1.25rem;
    border-bottom-right-radius: 1.25rem;
    box-shadow: 0 14px 34px rgba(8, 18, 42, .18);
    color: #fff;
  }

  .mobile-top-avatar,
  .mobile-top-icon {
    width: 34px;
    height: 34px;
    min-width: 34px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    justify-self: start;
    color: #fff;
    background: linear-gradient(135deg, #9fdf4c, #8dd62c);
    border: 1px solid rgba(255,255,255,.16);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 8px 18px rgba(18, 45, 112, .35);
    font-weight: 900;
    text-decoration: none;
  }

  .mobile-top-icon {
    justify-self: end;
    background: rgba(255,255,255,.09);
    box-shadow: none;
    font-size: 1.05rem;
  }

  .mobile-top-title {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #fff;
    text-align: center;
    font-size: 1.04rem;
    font-weight: 900;
    letter-spacing: -.025em;
  }

  .app-layout,
  .objects-layout,
  .documents-standalone-layout {
    display: block !important;
    min-height: calc(100dvh - 58px);
    background: transparent;
  }

  .app-layout > .mobile-menu-toggle {
    display: none !important;
  }

  .app-sidebar {
    top: 0;
    padding-top: calc(1rem + env(safe-area-inset-top));
  }

  .app-main,
  .objects-content,
  .documents-content {
    width: 100%;
    min-width: 0;
  }

  .app-topbar {
    position: relative !important;
    top: auto !important;
    z-index: 1;
    min-height: 0;
    margin: .65rem .75rem .65rem;
    padding: .62rem .7rem !important;
    border: 1px solid var(--crm-border);
    border-radius: 1rem;
    background: rgba(255,255,255,.9) !important;
    box-shadow: 0 10px 24px rgba(20, 36, 68, .06);
    backdrop-filter: blur(16px);
  }

  .app-topbar .topbar-actions {
    display: none !important;
  }

  .app-topbar .topbar-project,
  .app-topbar .worker-topbar-title {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .6rem;
    color: var(--crm-title);
    font-size: .88rem;
    font-weight: 850;
  }

  .app-topbar .topbar-project span,
  .app-topbar .worker-topbar-title span {
    color: var(--crm-title);
  }

  .app-topbar .topbar-project .btn {
    min-height: 32px;
    padding: .35rem .65rem;
    border-radius: .72rem;
    color: #526078;
    background: #fff;
    border-color: var(--crm-border);
    box-shadow: none;
  }

  .objects-topbar,
  .documents-standalone-layout .objects-topbar {
    position: relative;
    display: block;
    min-height: 0;
    margin: .65rem .75rem .65rem;
    padding: 0;
    background: transparent !important;
    border: 0;
    box-shadow: none;
  }

  .objects-topbar > .sidebar-brand-link,
  .documents-standalone-layout .objects-topbar > .sidebar-brand-link,
  .objects-topbar .topbar-user,
  .documents-standalone-layout .objects-topbar .topbar-user {
    display: none !important;
  }

  .objects-topbar .topbar-actions,
  .documents-standalone-layout .objects-topbar .topbar-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .55rem;
    width: 100%;
  }

  .objects-topbar .topbar-actions > .dropdown,
  .documents-standalone-layout .objects-topbar .topbar-actions > .dropdown {
    display: none !important;
  }

  .objects-topbar .btn,
  .documents-standalone-layout .objects-topbar .btn {
    width: 100%;
    min-height: 42px;
    border-radius: .9rem;
    font-size: .86rem;
    white-space: nowrap;
  }

  .app-content,
  .objects-content,
  .documents-content {
    padding: .1rem .75rem 0 !important;
  }

  .dashboard-redesign-hero {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .85rem;
    padding: 1rem !important;
  }

  .dashboard-redesign-copy .dashboard-eyebrow,
  .metric-label {
    font-size: .73rem;
    text-transform: none;
    letter-spacing: 0;
  }

  .dashboard-title {
    font-size: 1.55rem !important;
  }

  .dashboard-subtitle {
    font-size: .88rem !important;
  }

  .dashboard-progress-panel {
    justify-content: flex-start;
    gap: .85rem;
  }

  .dashboard-progress-ring {
    width: 78px !important;
    height: 78px !important;
    flex-basis: 78px !important;
  }

  .dashboard-focus-card,
  .dashboard-info-card,
  .dashboard-specialist-card,
  .object-card,
  .apartment-card,
  .content-card,
  .table-shell,
  .filter-card,
  .materials-summary-card,
  .report-card,
  .site-error-card,
  .document-type-card,
  .document-step-card,
  .glass-order-card {
    border-radius: 1rem !important;
    box-shadow: 0 8px 22px rgba(20, 36, 68, .055) !important;
  }

  .page-head,
  .remarks-page-head,
  .materials-page-head,
  .objects-head,
  .dashboard-head {
    margin-bottom: .75rem !important;
  }

  .page-head > div:first-child,
  .remarks-page-head > div:first-child,
  .materials-page-head > div:first-child,
  .objects-head {
    display: none !important;
  }

  .page-head .d-flex,
  .remarks-page-head .d-flex,
  .materials-page-head .d-flex {
    width: 100%;
  }

  .remarks-tabs {
    margin-top: .15rem;
    margin-bottom: .65rem !important;
  }

  .remarks-tabs .crm-tabs,
  .materials-tabs .crm-tabs,
  .crm-tabs {
    gap: .42rem;
    padding-bottom: .35rem;
  }

  .crm-tabs .nav-link {
    min-height: 36px;
    padding: .52rem .78rem;
    font-size: .82rem;
    border-radius: .78rem !important;
  }

  .crm-filter-form,
  .remarks-filter-form,
  .apartments-filter-form,
  .assignment-search-form,
  .assignment-smart-form,
  .assignment-report-filter-form {
    gap: .55rem !important;
  }

  .form-label {
    font-size: .78rem;
  }

  .form-control,
  .form-select,
  .btn {
    min-height: 44px;
    border-radius: .88rem;
  }

  .btn-sm,
  .form-control-sm,
  .form-select-sm {
    min-height: 38px;
  }

  .dashboard-overview-grid,
  .dashboard-info-columns,
  .dashboard-specialists-grid,
  .objects-grid,
  .apartments-grid,
  .report-grid,
  .assignment-report-summary,
  .materials-summary-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .7rem !important;
  }

  .objects-page,
  .dashboard-page,
  .materials-page,
  .apartments-page,
  .report-grid,
  .document-type-grid {
    max-width: 100%;
  }

  .object-card {
    padding: 1rem !important;
  }

  .object-icon {
    width: 58px !important;
    height: 58px !important;
    border-radius: 1.05rem !important;
  }

  .object-title,
  .apartment-card-number,
  .dashboard-card-head h2,
  .dashboard-info-title,
  .materials-summary-card h2 {
    font-size: 1.02rem !important;
    letter-spacing: -.025em;
  }

  .mobile-card-table tbody {
    padding: .62rem !important;
    gap: .64rem !important;
  }

  .mobile-card-table tbody tr {
    border-radius: .95rem !important;
    border-color: var(--crm-border) !important;
    box-shadow: 0 8px 22px rgba(20, 36, 68, .055) !important;
  }

  .mobile-card-table td {
    grid-template-columns: minmax(5.6rem, 34%) minmax(0,1fr) !important;
    padding: .66rem .75rem !important;
  }

  .mobile-card-table td::before {
    font-size: .7rem !important;
    color: #7b879b !important;
  }

  .floating-error-corner {
    right: .75rem !important;
    bottom: calc(78px + env(safe-area-inset-bottom)) !important;
  }

  .mobile-bottom-nav {
    position: fixed;
    left: max(.6rem, env(safe-area-inset-left));
    right: max(.6rem, env(safe-area-inset-right));
    bottom: max(.55rem, env(safe-area-inset-bottom));
    z-index: 1041;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .12rem;
    min-height: 62px;
    padding: .42rem .44rem;
    border: 1px solid rgba(213, 223, 239, .88);
    border-radius: 1.15rem;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 18px 42px rgba(12, 27, 57, .16);
    backdrop-filter: blur(20px);
  }

  .mobile-nav-item,
  .mobile-bottom-nav .mobile-menu-toggle {
    position: static !important;
    display: inline-flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .18rem;
    width: 100%;
    min-width: 0 !important;
    min-height: 50px !important;
    padding: .28rem .18rem !important;
    border: 0 !important;
    border-radius: .9rem !important;
    background: transparent !important;
    color: #565d62;
    box-shadow: none !important;
    text-decoration: none;
    line-height: 1.05;
  }

  .mobile-nav-item i {
    font-size: 1.13rem;
    line-height: 1;
  }

  .mobile-nav-item span {
    display: block !important;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: .67rem !important;
    font-weight: 840;
    letter-spacing: -.015em;
  }

  .mobile-nav-item.active {
    color: var(--crm-primary) !important;
    background: #f7faef !important;
  }

  .mobile-nav-item.active i {
    transform: translateY(-1px);
  }

  .mobile-more-trigger {
    cursor: pointer;
    appearance: none;
  }

  .crm-footer {
    display: none !important;
  }
}

@media (max-width: 480px) {
  body.app-body {
    padding-top: calc(56px + env(safe-area-inset-top));
  }

  .mobile-app-topbar {
    min-height: calc(56px + env(safe-area-inset-top));
    grid-template-columns: 38px minmax(0, 1fr) 38px;
    padding-left: .72rem;
    padding-right: .72rem;
    border-bottom-left-radius: 1.05rem;
    border-bottom-right-radius: 1.05rem;
  }

  .mobile-top-title {
    font-size: .98rem;
  }

  .mobile-top-avatar,
  .mobile-top-icon {
    width: 31px;
    height: 31px;
    min-width: 31px;
  }

  .app-content,
  .objects-content,
  .documents-content {
    padding-inline: .55rem !important;
  }

  .app-topbar,
  .objects-topbar,
  .documents-standalone-layout .objects-topbar {
    margin-inline: .55rem;
  }

  .content-card .card-body,
  .table-shell .card-body,
  .filter-card .card-body,
  .card > .card-body {
    padding: .82rem !important;
  }

  .mobile-card-table td {
    grid-template-columns: 1fr !important;
    gap: .22rem;
  }

  .mobile-bottom-nav {
    left: max(.42rem, env(safe-area-inset-left));
    right: max(.42rem, env(safe-area-inset-right));
    bottom: max(.42rem, env(safe-area-inset-bottom));
    border-radius: 1rem;
    min-height: 60px;
    padding: .36rem;
  }

  .mobile-nav-item,
  .mobile-bottom-nav .mobile-menu-toggle {
    min-height: 48px !important;
  }

  .mobile-nav-item i {
    font-size: 1.08rem;
  }

  .mobile-nav-item span {
    font-size: .62rem !important;
  }
}

.mobile-object-tools {
  display: none;
}

@media (max-width: 768px) {
  .mobile-object-tools {
    display: block;
    margin: .05rem 0 .65rem;
  }

  .mobile-search-field {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    align-items: center;
    gap: .45rem;
    min-height: 44px;
    padding: 0 .78rem;
    border: 1px solid var(--crm-border);
    border-radius: .95rem;
    background: rgba(255,255,255,.94);
    color: #8996aa;
    box-shadow: 0 8px 20px rgba(20, 36, 68, .045);
  }

  .mobile-search-field input {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: none;
    background: transparent;
    color: var(--crm-title);
    font-size: .9rem;
    font-weight: 650;
  }

  .mobile-search-field input::placeholder {
    color: #98a4b8;
  }
}

/* Targeted fixes: assignments, material balance delete, glass order rows, addendum buttons */
.assignment-issued-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.assignment-filter-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(37, 99, 235, .16);
  background: #fff;
  color: #27446f;
  font-weight: 850;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(15, 23, 42, .05);
}
.assignment-filter-pill.active,
.assignment-filter-pill:hover {
  background: #8dd62c;
  color: #fff;
  border-color: #8dd62c;
}
.assignment-task-open-link {
  color: inherit;
  text-decoration: none;
}
.assignment-task-open-link:hover {
  color: #8dd62c;
  text-decoration: underline;
}
.assignment-postpone-form {
  margin: 0;
}
.assignment-toolbar-grid-restored {
  display: grid !important;
  grid-template-columns: minmax(320px, .9fr) minmax(520px, 1.1fr) !important;
  gap: 16px !important;
  align-items: stretch;
}
.assignment-search-form-compact,
.assignment-smart-form {
  height: 100%;
}
.assignment-smart-form {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(150px, .6fr) auto;
  gap: 12px;
  align-items: end;
}
.assignment-smart-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}
.assignment-shell .assignment-check-cell {
  width: 42px;
}
.assignment-shell .assignment-check-cell .form-check-input {
  opacity: 0;
  pointer-events: none;
  transform: scale(.92);
  transition: opacity .15s ease, transform .15s ease;
}
.assignment-shell.has-bulk-selection .assignment-check-cell .form-check-input,
.assignment-shell .assignment-task-row:hover .assignment-check-cell .form-check-input {
  opacity: 1;
  pointer-events: auto;
  transform: scale(1);
}
.materials-table .material-balance-check.d-none {
  display: none !important;
}
.js-bulk-selectable.has-bulk-selection .materials-table .material-balance-check.d-none,
.materials-table tr:hover .material-balance-check.d-none {
  display: inline-block !important;
  margin-right: 10px;
}
.glass-order-card .glass-measure-item-row,
.glass-order-card .glass-measure-item-card {
  grid-template-columns: 190px minmax(180px, .8fr) minmax(240px, 1fr) 104px !important;
  align-items: center !important;
  column-gap: 18px !important;
}
.glass-order-card .glass-type-field,
.glass-order-card .glass-size-field,
.glass-order-card .glass-comment-field,
.glass-order-card .glass-qty-field,
.glass-order-card .glass-field {
  align-self: center !important;
}
.glass-order-card .glass-type-button-group {
  align-self: center !important;
}
.document-choice-group {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 4px;
  border-radius: 14px;
  background: #f9fbf5;
  border: 1px solid rgba(15, 23, 42, .06);
}
.document-choice-btn {
  min-height: 38px;
  padding: 0 14px;
  border: 0;
  border-radius: 11px;
  background: transparent;
  color: #475467;
  font-weight: 850;
  transition: .16s ease;
}
.document-choice-btn:hover {
  background: #fff;
  color: #78bb24;
}
.document-choice-btn.is-active {
  background: #8dd62c;
  color: #fff;
  box-shadow: 0 8px 20px rgba(37, 99, 235, .2);
}
.document-transfer-buttons .document-choice-btn {
  flex: 1 1 150px;
}
.document-upload-drop input[type="file"] {
  cursor: pointer;
}
@media (max-width: 1100px) {
  .assignment-toolbar-grid-restored {
    grid-template-columns: 1fr !important;
  }
  .assignment-smart-form {
    grid-template-columns: 1fr;
  }
  .assignment-smart-actions,
  .assignment-smart-actions .btn {
    width: 100%;
  }
}
@media (max-width: 760px) {
  .assignment-issued-table th,
  .assignment-issued-table td {
    white-space: normal;
  }
  .document-choice-btn {
    flex: 1 1 100%;
  }
}

/* ======================================================================
   Visual rollback: old blue palette + calmer typography weights.
   Оставляем мобильную адаптацию, но возвращаем прежние оттенки синего
   и убираем избыточную жирность шрифтов.
   ====================================================================== */
:root {
  --crm-bg: #f9fbf5;
  --crm-surface: #ffffff;
  --crm-surface-soft: rgba(255, 255, 255, 0.86);
  --crm-border: #e4ebdc;
  --crm-border-strong: #dfe8d4;
  --crm-muted: #565d62;
  --crm-title: #16233b;
  --crm-text: #33415c;
  --crm-primary: #8dd62c;
  --crm-primary-dark: #78bb24;
  --crm-primary-soft: #f7faef;
  --crm-success: #1ca56d;
  --crm-warning: #f6a625;
  --crm-danger: #f25555;
  --crm-sidebar-start: #5e656a;
  --crm-sidebar-end: #4f565b;
  --crm-topbar-start: #5e656a;
  --crm-topbar-end: #4f565b;
  --crm-shadow: 0 18px 48px rgba(31, 52, 90, 0.10);
  --crm-shadow-soft: 0 10px 24px rgba(28, 43, 75, 0.08);
  --crm-focus-ring: 0 0 0 .2rem rgba(141, 214, 44, .14);
}

body {
  font-family: Inter, "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: normal;
  color: var(--crm-text);
}

h1, h2, h3, h4, h5, h6,
.page-title,
.dashboard-title,
.objects-title,
.section-title,
.card-title {
  color: var(--crm-title);
  letter-spacing: -0.03em;
  line-height: 1.18;
}

h1,
.page-title,
.dashboard-title,
.objects-title {
  font-weight: 800;
}

h2, h3, h4, h5, h6,
.section-title,
.card-title,
.dashboard-info-title,
.dashboard-card-head h2,
.materials-summary-card h2,
.object-title,
.apartment-card-number {
  font-weight: 700 !important;
}

.app-sidebar,
.objects-topbar,
.app-topbar {
  background:
    radial-gradient(circle at top left, rgba(141, 214, 44, 0.20), transparent 14rem),
    linear-gradient(180deg, var(--crm-sidebar-start), var(--crm-sidebar-end));
}

.app-topbar,
.objects-topbar {
  background:
    radial-gradient(circle at top left, rgba(141, 214, 44, 0.16), transparent 14rem),
    linear-gradient(135deg, var(--crm-topbar-start), var(--crm-topbar-end)) !important;
}

.sidebar-link,
.sidebar-sublink,
.dropdown-item,
.mobile-nav-item {
  font-weight: 500 !important;
  letter-spacing: normal;
}

.sidebar-link.active,
.sidebar-sublink.active,
.mobile-nav-item.active {
  font-weight: 600 !important;
}

.sidebar-link {
  color: rgba(233, 238, 249, 0.78);
}

.sidebar-link.active {
  background: linear-gradient(135deg, rgba(141, 214, 44, 0.42), rgba(141, 214, 44, 0.18));
  box-shadow: inset 0 0 0 1px rgba(141, 214, 44, 0.16), 0 12px 30px rgba(25, 41, 78, 0.28);
}

.brand-mark,
.mobile-top-avatar {
  background: linear-gradient(180deg, #9fdf4c, #78bb24) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 10px 24px rgba(141, 214, 44, 0.35);
}

.brand-text,
.auth-brand-title {
  font-weight: 700;
}

.btn,
.btn-sm,
.btn-lg,
.btn-group .btn,
.action-icon-btn {
  font-weight: 600 !important;
  letter-spacing: normal;
}

.btn-primary,
.crm-tabs .nav-link.active,
.assignment-filter-pill.active,
.assignment-filter-pill:hover,
.document-choice-btn.is-active {
  background: linear-gradient(135deg, #8dd62c, #8dd62c) !important;
  border-color: transparent !important;
  box-shadow: 0 10px 24px rgba(141, 214, 44, 0.22);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:focus-visible {
  background: linear-gradient(135deg, #78bb24, #8dd62c) !important;
}

.btn-outline-primary {
  color: var(--crm-primary);
  border-color: rgba(141, 214, 44, 0.2);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
  background: var(--crm-primary);
  border-color: var(--crm-primary);
}

.crm-tabs .nav-link,
.assignment-filter-pill,
.document-choice-btn,
.form-label,
.table thead th {
  font-weight: 600 !important;
  letter-spacing: normal;
}

.form-control,
.form-select,
.input-group-text,
.mobile-search-field input {
  font-weight: 400 !important;
  letter-spacing: normal;
}

.badge,
.status-pill,
.deadline-badge,
.stat-badge,
.glass-status-badge,
.glass-ordered-badge,
.assignment-room-pill,
.assignment-point-pill,
.assignment-user-pill {
  font-weight: 700 !important;
  letter-spacing: normal;
}

.table thead th {
  text-transform: none;
  color: #536482;
}

@media (max-width: 768px) {
  body.app-body {
    background:
      radial-gradient(circle at 50% -15%, rgba(77, 118, 255, .10), transparent 19rem),
      #f9fbf5;
    font-size: 14px;
  }

  .mobile-app-topbar {
    background:
      radial-gradient(circle at 16% 0%, rgba(141, 214, 44, 0.22), transparent 12rem),
      linear-gradient(180deg, #5e656a 0%, #4f565b 100%) !important;
  }

  .mobile-top-title {
    font-weight: 700 !important;
    letter-spacing: -0.02em;
  }

  .mobile-top-avatar,
  .mobile-top-icon {
    font-weight: 700 !important;
  }

  .app-topbar .topbar-project,
  .app-topbar .worker-topbar-title {
    font-weight: 600 !important;
  }

  .dashboard-title {
    font-weight: 800 !important;
  }

  .object-title,
  .apartment-card-number,
  .dashboard-card-head h2,
  .dashboard-info-title,
  .materials-summary-card h2 {
    font-weight: 700 !important;
  }

  .mobile-nav-item span {
    font-weight: 600 !important;
    letter-spacing: normal;
  }

  .mobile-nav-item.active {
    color: var(--crm-primary) !important;
    background: #f7faef !important;
  }
}

/* Sidebar text should stay calm, like the previous version. */
.sidebar-link,
.sidebar-link.active,
.sidebar-sublink,
.sidebar-sublink.active {
  font-weight: 500 !important;
}


/* User requested fixes 2026-06-12: calmer assignment tabs, issued task actions, glass ordered selection, smart picker layout. */
.assignment-subtab,
.assignment-filter-pill {
  font-weight: 500 !important;
}
.assignment-subtab.active,
.assignment-filter-pill.active {
  font-weight: 600 !important;
}
.assignment-subtab span,
.assignment-issued-count,
.assignment-section-title b,
.assignment-issued-user b,
.assignment-issued-user small,
.smart-assign-note span {
  font-weight: 500 !important;
}
.assignment-issued-count {
  font-weight: 600 !important;
}
.assignment-issued-table thead th,
.assignment-modern-table thead th {
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}
.assignment-issued-actions {
  display: grid;
  grid-template-columns: minmax(128px, 152px) auto auto;
  gap: 8px;
  align-items: center;
  justify-content: end;
  margin: 0;
}
.assignment-issued-date-input {
  min-height: 34px !important;
  border-radius: 999px !important;
  font-size: .82rem;
}
.assignment-issued-actions .btn {
  min-height: 34px !important;
  border-radius: 999px !important;
  gap: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 500 !important;
  white-space: nowrap;
}
.assignment-issued-actions .btn i {
  font-size: .95rem;
}
.assignment-toolbar-grid-restored {
  align-items: start !important;
}
.assignment-search-card-compact,
.assignment-smart-card-compact {
  align-self: start !important;
  height: auto !important;
}
.assignment-search-form-compact,
.assignment-smart-form {
  height: auto !important;
}
.assignment-search-card-compact .card-body,
.assignment-smart-card-compact .card-body {
  overflow: visible !important;
}
.smart-assign-note {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 12px !important;
  padding: 10px !important;
  border-radius: 14px !important;
  background: #fefdfe !important;
  border: 1px solid rgba(141, 214, 44, .14) !important;
  color: #33415c !important;
  overflow: visible !important;
}
.smart-assign-note span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  min-height: 30px;
  padding: 5px 9px !important;
  border-radius: 999px !important;
  background: #fff !important;
  border: 1px solid rgba(15, 23, 42, .08) !important;
  color: #33415c !important;
  font-size: .82rem !important;
  white-space: nowrap;
}
.smart-assign-note b {
  font-weight: 600 !important;
}

/* Ordered measurements table: keep the table aligned and show checkboxes only after row selection. */
.glass-table-shell {
  overflow: hidden;
}
.glass-table-shell .table-responsive {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
}
.glass-ordered-table {
  width: 100% !important;
  min-width: 980px !important;
  table-layout: fixed !important;
}
.glass-ordered-table th.glass-select-col,
.glass-ordered-table td.glass-select-col {
  width: 0 !important;
  max-width: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  border-left: 0 !important;
  transition: width .16s ease, max-width .16s ease, opacity .16s ease, padding .16s ease;
}
.glass-table-shell.has-bulk-selection .glass-ordered-table th.glass-select-col,
.glass-table-shell.has-bulk-selection .glass-ordered-table td.glass-select-col {
  width: 46px !important;
  max-width: 46px !important;
  padding-left: .65rem !important;
  padding-right: .45rem !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
.glass-ordered-table .js-bulk-master {
  display: none !important;
}
.glass-table-shell.has-bulk-selection .glass-ordered-table .js-bulk-master {
  display: inline-block !important;
}
.glass-ordered-table th:nth-child(2),
.glass-ordered-table td:nth-child(2) { width: 86px !important; }
.glass-ordered-table th:nth-child(3),
.glass-ordered-table td:nth-child(3) { width: auto !important; }
.glass-ordered-table th:nth-child(4),
.glass-ordered-table td:nth-child(4) { width: 220px !important; }
.glass-ordered-table th:nth-child(5),
.glass-ordered-table td:nth-child(5) { width: 112px !important; }
.glass-ordered-table th:nth-child(6),
.glass-ordered-table td:nth-child(6) { width: 188px !important; }
.glass-ordered-table th:nth-child(7),
.glass-ordered-table td:nth-child(7) { width: 122px !important; }
.glass-ordered-table th:nth-child(8),
.glass-ordered-table td:nth-child(8) { width: 78px !important; }
.glass-ordered-table tbody tr {
  cursor: pointer;
}
.glass-ordered-table .glass-order-row.is-selected td {
  background: #f7faef !important;
}

@media (max-width: 1180px) {
  .assignment-toolbar-grid-restored {
    grid-template-columns: 1fr !important;
  }
  .assignment-issued-actions {
    justify-content: stretch;
    grid-template-columns: 1fr;
  }
  .assignment-issued-actions .btn {
    width: 100%;
  }
}
@media (max-width: 760px) {
  .assignment-issued-actions {
    grid-template-columns: 1fr;
    text-align: left;
  }
  .assignment-issued-actions .btn span {
    display: inline;
  }
  .smart-assign-note span {
    width: 100%;
    justify-content: space-between;
  }
  .glass-ordered-table.mobile-card-table th.glass-select-col,
  .glass-ordered-table.mobile-card-table td.glass-select-col {
    display: none !important;
  }
  .glass-table-shell.has-bulk-selection .glass-ordered-table.mobile-card-table td.glass-select-col {
    display: grid !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: .72rem .82rem !important;
    opacity: 1 !important;
  }
}

/* ======================================================================
   Documents addendum flow v5: calmer typography and separate result step.
   ====================================================================== */
.documents-standalone-layout,
.documents-content,
.document-addendum-form,
.document-result-page {
  overflow-x: hidden !important;
}
.documents-content {
  max-width: 1440px;
}
.documents-content .section-title,
.document-flow-section-head .section-title,
.document-result-page .section-title {
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
}
.document-addendum-form .card-body,
.document-addendum-form .form-control,
.document-addendum-form .form-select,
.document-addendum-form textarea,
.document-addendum-form .text-muted,
.document-addendum-form .form-text,
.document-help-list,
.document-help-list span,
.document-type-card small,
.document-change,
.document-diff-line p {
  font-weight: 400 !important;
}
.document-flow-section-head .section-title {
  font-size: clamp(1.15rem, 0.7vw + 1rem, 1.42rem) !important;
}
.document-flow-section-head p {
  max-width: 720px;
  color: #565d62 !important;
  font-size: .94rem !important;
  line-height: 1.5 !important;
}
.document-step-head h3,
.document-field-group-title,
.document-change-title,
.document-type-card strong,
.document-upload-title,
.document-owner-option-title {
  font-weight: 600 !important;
  letter-spacing: normal !important;
}
.document-step-head h3 {
  font-size: .98rem !important;
}
.document-step-head small,
.document-quick-hint,
.document-preset-title,
.document-diff-line span {
  font-weight: 500 !important;
}
.document-label-row .form-label {
  font-weight: 500 !important;
  color: #565d62 !important;
}
.document-choice-btn,
.document-quick-btn,
.document-flow-help-panel .btn,
.document-back-button {
  font-weight: 500 !important;
}
.document-step-number {
  font-weight: 600 !important;
}
.required-dot {
  font-weight: 600 !important;
}
.document-flow-layout {
  grid-template-columns: minmax(0, 1fr) minmax(260px, 340px) !important;
  align-items: start !important;
}
.document-flow-main-panel,
.document-flow-help-panel,
.document-step-card,
.document-result-card,
.document-result-hero,
.document-result-stat {
  border: 1px solid var(--crm-border) !important;
  box-shadow: var(--crm-shadow-soft) !important;
}
.document-flow-help-panel {
  position: static !important;
  top: auto !important;
  align-self: start !important;
  overflow: visible !important;
}
.document-flow-help-panel > .card-body {
  position: relative;
  overflow: visible !important;
}
.document-flow-help-panel .section-title {
  font-size: 1.08rem !important;
  line-height: 1.25 !important;
  margin-bottom: 1rem !important;
}
.document-help-list {
  gap: 8px !important;
}
.document-help-list div {
  grid-template-columns: 30px 1fr !important;
  align-items: start !important;
  padding: 9px 0 !important;
  border-bottom: 1px solid rgba(229, 235, 245, .72);
  color: #51617d !important;
}
.document-help-list div:last-child {
  border-bottom: 0;
}
.document-help-list i {
  background: #f7faef !important;
  color: var(--crm-primary) !important;
  box-shadow: none !important;
}
.document-upload-drop {
  min-height: 76px !important;
}
.document-upload-title {
  display: block;
  color: #565d62;
  font-size: .9rem;
}
.document-owner-option-title {
  color: #565d62;
  font-size: .92rem;
}
.document-owner-option-number strong,
.document-owner-option-number .document-owner-option-title {
  font-size: .96rem !important;
  line-height: 1.2 !important;
}
.document-field-group {
  padding-top: 16px !important;
  margin-top: 16px !important;
}
.document-field-group:first-of-type {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
.document-preset-panel {
  box-shadow: none !important;
}
.document-editor-hidden {
  display: none !important;
}
.document-result-page {
  display: grid;
  gap: 16px;
}
.document-result-hero > .card-body {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  padding: clamp(1.2rem, 2vw, 1.65rem) !important;
}
.document-result-hero-content {
  min-width: 0;
  max-width: 780px;
}
.document-result-status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 10px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(28, 165, 109, .10);
  color: #12855a;
  font-size: .84rem;
  font-weight: 600;
}
.document-result-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
  flex: 0 0 auto;
}
.document-result-actions .btn {
  min-height: 42px;
  border-radius: 13px;
  font-weight: 500 !important;
}
.document-result-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.document-result-stat .card-body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 1rem 1.1rem !important;
}
.document-result-stat span {
  color: #565d62;
  font-size: .9rem;
  font-weight: 400;
}
.document-result-stat b {
  color: var(--crm-title);
  font-size: 1.35rem;
  line-height: 1;
  font-weight: 700;
}
.document-result-head-simple {
  margin-bottom: 14px !important;
}
.document-change-list-page {
  gap: 10px !important;
}
.document-change {
  padding: 14px 16px !important;
  border-radius: 16px !important;
  background: #fbfdff !important;
}
.document-change-title {
  color: #565d62;
  font-size: .98rem;
}
.document-diff-line {
  grid-template-columns: 68px minmax(0, 1fr) !important;
  gap: 10px !important;
}
.document-diff-line span {
  color: #565d62 !important;
  font-size: .82rem;
}
.document-diff-line p {
  color: #33415c;
  font-size: .91rem;
  line-height: 1.45;
  border: 1px solid rgba(229, 235, 245, .92);
}
.document-diff-line:not(.document-diff-line-after) p {
  background: #fff7f8 !important;
}
.document-diff-line-after p {
  background: #f2fbf7 !important;
}
.document-empty-result {
  padding: 1rem;
  border: 1px dashed var(--crm-border-strong);
  border-radius: 16px;
  color: #565d62;
  background: #fbfdff;
}
.document-result-page.is-hidden-for-edit {
  display: none !important;
}
.js-document-editor.is-visible-after-result {
  display: grid !important;
}
@media (max-width: 1050px) {
  .document-flow-layout {
    grid-template-columns: 1fr !important;
  }
  .document-flow-help-panel {
    order: -1;
  }
  .document-result-hero > .card-body,
  .document-result-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .document-result-actions .btn {
    width: 100%;
  }
  .document-result-summary-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 760px) {
  .documents-content {
    padding-inline: 1rem !important;
    padding-bottom: calc(5.5rem + env(safe-area-inset-bottom)) !important;
  }
  .document-flow-section-head {
    flex-direction: column;
  }
  .document-fields-grid-wide {
    grid-template-columns: 1fr !important;
  }
  .document-diff-line {
    grid-template-columns: 1fr !important;
  }
  .document-diff-line span {
    margin-top: .35rem;
  }
}

/* Hide visual scrollbar only on the standalone documents flow while keeping scrolling available. */
html:has(body .documents-standalone-layout),
body:has(.documents-standalone-layout) {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
html:has(body .documents-standalone-layout)::-webkit-scrollbar,
body:has(.documents-standalone-layout)::-webkit-scrollbar,
.documents-standalone-layout::-webkit-scrollbar,
.documents-content::-webkit-scrollbar,
.document-addendum-form::-webkit-scrollbar,
.document-result-page::-webkit-scrollbar {
  width: 0;
  height: 0;
}

/* ======================================================================
   v6 bug fixes: issued employees actions, ordered glass table, documents.
   ====================================================================== */
.assignment-status-toggle-form {
  display: inline;
  margin: 0;
}
.assignment-status-toggle {
  border: 0 !important;
  cursor: pointer;
  font-weight: 500 !important;
  line-height: 1.2;
  padding: .38rem .7rem !important;
  border-radius: 999px !important;
  transition: transform .14s ease, box-shadow .14s ease, opacity .14s ease;
}
.assignment-status-toggle:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(15, 23, 42, .12);
  opacity: .96;
}
.assignment-issued-table-wrap {
  overflow-x: auto;
  overflow-y: visible;
}
.assignment-issued-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  margin: 0 !important;
}
.assignment-date-editor {
  display: inline-block;
  max-width: 100%;
}
.assignment-date-editor > summary {
  list-style: none;
  cursor: pointer;
  user-select: none;
}
.assignment-date-editor > summary::-webkit-details-marker {
  display: none;
}
.assignment-date-editor > summary.btn {
  min-height: 34px !important;
  border-radius: 999px !important;
  gap: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 500 !important;
  white-space: nowrap;
}
.assignment-date-editor[open] {
  flex: 1 1 280px;
}
.assignment-date-editor[open] > summary.btn {
  background: #f7faef;
  border-color: rgba(141, 214, 44, .36);
}
.assignment-date-editor-panel {
  margin-top: 8px;
  padding: 10px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid rgba(203, 213, 225, .9);
  box-shadow: 0 14px 28px rgba(15, 23, 42, .12);
  display: grid;
  grid-template-columns: minmax(150px, 1fr) auto;
  gap: 8px;
  width: min(340px, calc(100vw - 3rem));
}
.assignment-date-editor-panel .btn {
  border-radius: 999px !important;
  font-weight: 500 !important;
}
.assignment-issued-date-input {
  min-height: 34px !important;
  border-radius: 999px !important;
  font-size: .82rem !important;
}

/* Keep the ordered measurements table inside the card and prevent the blank right strips. */
.glass-table-shell .table-responsive {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden !important;
}
.glass-ordered-table {
  width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed !important;
  border-collapse: collapse !important;
}
.glass-ordered-table th,
.glass-ordered-table td {
  box-sizing: border-box;
  overflow: hidden;
}
.glass-ordered-table th.glass-select-col,
.glass-ordered-table td.glass-select-col,
.glass-ordered-table th:nth-child(1),
.glass-ordered-table td:nth-child(1) {
  width: 0 !important;
  min-width: 0 !important;
  max-width: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}
.glass-table-shell.has-bulk-selection .glass-ordered-table th.glass-select-col,
.glass-table-shell.has-bulk-selection .glass-ordered-table td.glass-select-col,
.glass-table-shell.has-bulk-selection .glass-ordered-table th:nth-child(1),
.glass-table-shell.has-bulk-selection .glass-ordered-table td:nth-child(1) {
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  padding-left: .55rem !important;
  padding-right: .35rem !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
.glass-ordered-table th:nth-child(2),
.glass-ordered-table td:nth-child(2) { width: 76px !important; }
.glass-ordered-table th:nth-child(3),
.glass-ordered-table td:nth-child(3) { width: 31% !important; }
.glass-ordered-table th:nth-child(4),
.glass-ordered-table td:nth-child(4) { width: 19% !important; }
.glass-ordered-table th:nth-child(5),
.glass-ordered-table td:nth-child(5) { width: 108px !important; }
.glass-ordered-table th:nth-child(6),
.glass-ordered-table td:nth-child(6) { width: 176px !important; }
.glass-ordered-table th:nth-child(7),
.glass-ordered-table td:nth-child(7) { width: 128px !important; }
.glass-ordered-table th:nth-child(8),
.glass-ordered-table td:nth-child(8) { width: 74px !important; }
.glass-ordered-table .glass-order-row.is-selected > th,
.glass-ordered-table .glass-order-row.is-selected > td {
  background: #f7faef !important;
}
.glass-ordered-table .task-text,
.glass-ordered-table .glass-ordered-size-line,
.glass-ordered-table td:nth-child(7) {
  overflow-wrap: anywhere;
  word-break: normal;
}
.glass-ordered-table .glass-order-row {
  cursor: pointer;
}
@media (max-width: 980px) {
  .glass-table-shell .table-responsive {
    overflow-x: auto !important;
  }
  .glass-ordered-table:not(.mobile-card-table) {
    min-width: 900px !important;
  }
}
@media (max-width: 760px) {
  .assignment-issued-actions,
  .assignment-date-editor,
  .assignment-date-editor-panel {
    width: 100% !important;
  }
  .assignment-date-editor-panel {
    grid-template-columns: 1fr !important;
  }
  .glass-ordered-table.mobile-card-table {
    min-width: 0 !important;
  }
}

/* Addendum: no built-in template download and no per-field "i" icons. */
.document-hint-icon,
.document-quick-hint {
  display: none !important;
}
.document-upload-box .form-text {
  color: #565d62 !important;
  font-weight: 400 !important;
}

/* ======================================================================
   User fix v8: ordered glass table must occupy the full card width.
   The earlier flex rule on .glass-actions-col made the last table cell stop
   early, leaving a blank white strip on the right side of the card.
   ====================================================================== */
.glass-table-shell .table-responsive:has(.glass-ordered-table) {
  overflow-x: hidden !important;
  background: #fff !important;
}
.glass-ordered-table {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed !important;
  border-collapse: collapse !important;
}
.glass-ordered-table th,
.glass-ordered-table td {
  display: table-cell !important;
  box-sizing: border-box !important;
}
.glass-ordered-table th.glass-select-col,
.glass-ordered-table td.glass-select-col {
  width: 0 !important;
  min-width: 0 !important;
  max-width: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.glass-table-shell.has-bulk-selection .glass-ordered-table th.glass-select-col,
.glass-table-shell.has-bulk-selection .glass-ordered-table td.glass-select-col {
  width: 3.5% !important;
  min-width: 3.5% !important;
  max-width: 3.5% !important;
}
.glass-ordered-table th:nth-child(2),
.glass-ordered-table td:nth-child(2) { width: 5.5% !important; }
.glass-ordered-table th:nth-child(3),
.glass-ordered-table td:nth-child(3) { width: 31% !important; }
.glass-ordered-table th:nth-child(4),
.glass-ordered-table td:nth-child(4) { width: 20% !important; }
.glass-ordered-table th:nth-child(5),
.glass-ordered-table td:nth-child(5) { width: 8% !important; }
.glass-ordered-table th:nth-child(6),
.glass-ordered-table td:nth-child(6) { width: 11.5% !important; }
.glass-ordered-table th:nth-child(7),
.glass-ordered-table td:nth-child(7) { width: 17% !important; }
.glass-ordered-table th:nth-child(8),
.glass-ordered-table td:nth-child(8) { width: 7% !important; }
.glass-ordered-table .glass-actions-col {
  text-align: right !important;
}
.glass-ordered-table .glass-row-delete-form {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  width: auto !important;
}
@media (max-width: 980px) {
  .glass-table-shell .table-responsive:has(.glass-ordered-table) {
    overflow-x: auto !important;
  }
  .glass-ordered-table:not(.mobile-card-table) {
    min-width: 900px !important;
    max-width: none !important;
  }
}
.glass-ordered-table-responsive {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
  background: #fff !important;
}
@media (max-width: 980px) {
  .glass-ordered-table-responsive {
    overflow-x: auto !important;
  }
}

/* ======================================================================
   v10: reliable inline assignment actions and CRM styled date picker.
   ====================================================================== */
.assignment-date-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 2200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(15, 23, 42, .46);
  backdrop-filter: blur(10px);
}
.assignment-date-modal {
  width: min(430px, 100%);
  border-radius: 28px;
  border: 1px solid rgba(255, 255, 255, .72);
  background: linear-gradient(180deg, #ffffff 0%, #f9fbf5 100%);
  box-shadow: 0 28px 90px rgba(15, 23, 42, .26);
  padding: 22px;
}
.assignment-date-modal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}
.assignment-date-modal-kicker {
  color: #565d62;
  font-size: .82rem;
  font-weight: 500;
}
.assignment-date-modal h2 {
  margin: 2px 0 0;
  color: var(--crm-title, #101828);
  font-size: 1.35rem;
  line-height: 1.15;
  font-weight: 700;
  letter-spacing: -.025em;
}
.assignment-date-modal-close,
.assignment-date-nav {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(203, 213, 225, .9);
  background: #fff;
  color: #475467;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease, color .15s ease;
}
.assignment-date-modal-close {
  width: 38px;
  height: 38px;
  border-radius: 14px;
}
.assignment-date-nav {
  width: 34px;
  height: 34px;
  border-radius: 12px;
}
.assignment-date-modal-close:hover,
.assignment-date-nav:hover {
  transform: translateY(-1px);
  border-color: rgba(141, 214, 44, .28);
  color: var(--crm-primary, #8dd62c);
  box-shadow: 0 8px 18px rgba(15, 23, 42, .08);
}
.assignment-date-quick-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}
.assignment-date-quick-row button {
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(141, 214, 44, .16);
  background: #f7faef;
  color: #8dd62c;
  font-size: .86rem;
  font-weight: 500;
}
.assignment-date-calendar {
  border: 1px solid rgba(203, 213, 225, .72);
  border-radius: 22px;
  background: #fff;
  padding: 12px;
}
.assignment-date-calendar-head {
  display: grid;
  grid-template-columns: 36px 1fr 36px;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}
.assignment-date-month {
  text-align: center;
  color: #565d62;
  font-size: .98rem;
  font-weight: 600;
}
.assignment-date-weekdays,
.assignment-date-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 6px;
}
.assignment-date-weekdays {
  margin-bottom: 7px;
}
.assignment-date-weekdays span {
  color: #8a95aa;
  text-align: center;
  font-size: .72rem;
  font-weight: 600;
}
.assignment-date-day,
.assignment-date-day-spacer {
  min-height: 38px;
  border-radius: 13px;
}
.assignment-date-day {
  border: 1px solid transparent;
  background: #f8fafc;
  color: #334155;
  font-size: .9rem;
  font-weight: 500;
  transition: transform .14s ease, background .14s ease, border-color .14s ease, color .14s ease, box-shadow .14s ease;
}
.assignment-date-day:hover {
  transform: translateY(-1px);
  border-color: rgba(141, 214, 44, .24);
  background: #f7faef;
  color: #8dd62c;
}
.assignment-date-day.is-today {
  border-color: rgba(28, 165, 109, .28);
  background: #effaf5;
  color: #12855a;
}
.assignment-date-day.is-selected {
  border-color: transparent;
  background: linear-gradient(135deg, #8dd62c, #8dd62c);
  color: #fff;
  box-shadow: 0 10px 22px rgba(141, 214, 44, .24);
}
.assignment-date-selected {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 14px 0;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(141, 214, 44, .12);
  background: #fefdfe;
  color: #565d62;
  font-size: .9rem;
}
.assignment-date-selected b {
  color: #565d62;
  font-weight: 600;
  text-align: right;
}
.assignment-date-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}
.assignment-date-modal-actions .btn {
  min-height: 40px;
  border-radius: 14px !important;
  font-weight: 500 !important;
}
.assignment-date-modal-actions .btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.assignment-inline-controls button[data-pending="1"],
.assignment-issued-actions button[disabled] {
  opacity: .72;
  pointer-events: none;
}
@media (max-width: 520px) {
  .assignment-date-modal {
    padding: 18px;
    border-radius: 24px;
  }
  .assignment-date-day,
  .assignment-date-day-spacer {
    min-height: 34px;
    border-radius: 11px;
  }
  .assignment-date-selected,
  .assignment-date-modal-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .assignment-date-selected b {
    text-align: left;
  }
  .assignment-date-modal-actions .btn {
    width: 100%;
  }
}

/* V11: minimal daily worker panels for painters, glaziers and handymen */
.worker-page-minimal {
  max-width: 880px;
  margin: 0 auto;
}

.worker-day-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
  padding: 1.1rem 1.2rem;
  border: 1px solid rgba(220, 229, 244, 0.96);
  border-radius: 1.25rem;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 16px 34px rgba(31, 52, 90, 0.08);
}

.worker-role-label {
  margin: 0 0 0.25rem;
  color: #8dd62c;
  font-size: 0.8rem;
  font-weight: 700;
}

.worker-day-head h1 {
  margin: 0 0 0.25rem;
  color: var(--crm-title);
  font-size: clamp(1.45rem, 1.4vw + 1rem, 2rem);
  line-height: 1.12;
  font-weight: 750;
  letter-spacing: -0.03em;
}

.worker-day-head p {
  margin: 0;
  color: var(--crm-muted);
}

.worker-day-counts {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.worker-day-counts span {
  min-height: 2.45rem;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.45rem 0.7rem;
  border-radius: 999px;
  color: #50607a;
  border: 1px solid #dfe8d4;
  background: #f9fbf5;
  font-size: 0.92rem;
}

.worker-day-counts b {
  color: var(--crm-title);
  font-size: 1rem;
  font-weight: 750;
}

.worker-task-list-minimal {
  display: grid;
  gap: 0.7rem;
}

.worker-task-card-minimal {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  padding: 0.95rem 1rem;
  border-radius: 1.1rem;
  border: 1px solid rgba(220, 229, 244, 0.96);
  background: #fff;
  box-shadow: 0 12px 26px rgba(31, 52, 90, 0.07);
}

.worker-task-card-minimal.done {
  opacity: 1;
  background: #fbfdfc;
  border-color: rgba(25, 135, 84, 0.18);
}

.worker-task-card-minimal.done .worker-task-text {
  color: #565d62;
  text-decoration: line-through;
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(25, 135, 84, 0.55);
}

.worker-task-meta-minimal {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-bottom: 0.5rem;
}

.worker-task-meta-minimal span {
  display: inline-flex;
  align-items: center;
  min-height: 1.85rem;
  padding: 0.28rem 0.58rem;
  border-radius: 999px;
  background: #f1f5fb;
  color: #59677f;
  font-size: 0.84rem;
  font-weight: 600;
}

.worker-task-meta-minimal .worker-room {
  color: #1f50d8;
  background: #eaf0ff;
}

.worker-task-card-minimal .worker-task-text {
  margin: 0;
  color: #565d62;
  font-size: 1rem;
  line-height: 1.45;
  font-weight: 500;
}

.worker-task-status-zone {
  display: grid;
  justify-items: end;
  gap: 0.5rem;
  min-width: 170px;
}

.worker-status-pill {
  font-size: 0.8rem;
  font-weight: 700;
  border-radius: 999px;
  padding: 0.42rem 0.7rem;
}

.worker-status-form-minimal {
  margin: 0;
}

.worker-status-btn {
  min-height: 2.6rem;
  min-width: 10.5rem;
  border-radius: 999px;
  font-weight: 750;
  box-shadow: none;
}

.worker-empty-card {
  padding: 2rem 1rem;
  text-align: center;
  border: 1px dashed #cfd9ea;
  border-radius: 1.25rem;
  background: rgba(255, 255, 255, 0.72);
  color: var(--crm-muted);
}

.worker-empty-card i {
  display: inline-grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  margin-bottom: 0.75rem;
  border-radius: 1rem;
  background: #eaf0ff;
  color: #8dd62c;
  font-size: 1.35rem;
}

.worker-empty-card h2 {
  margin: 0 0 0.35rem;
  color: var(--crm-title);
  font-size: 1.15rem;
  font-weight: 750;
}

.worker-empty-card p {
  margin: 0;
}

.report-only-layout .topbar-project {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
}

@media (max-width: 720px) {
  .worker-day-head,
  .worker-task-card-minimal {
    grid-template-columns: 1fr;
  }
  .worker-day-head {
    display: grid;
  }
  .worker-day-counts {
    justify-content: flex-start;
  }
  .worker-task-card-minimal {
    display: grid;
  }
  .worker-task-status-zone {
    width: 100%;
    min-width: 0;
    justify-items: stretch;
  }
  .worker-status-form-minimal,
  .worker-status-btn {
    width: 100%;
  }
  .worker-status-pill {
    justify-self: start;
  }
}

/* ======================================================================
   v12 assignment issued tables: stable columns + fixed issue-tab actions.
   ====================================================================== */
.assignment-issued-table {
  width: 100% !important;
  table-layout: fixed !important;
  border-collapse: collapse !important;
}
.assignment-issued-table .assignment-issued-col-room,
.assignment-issued-table th:nth-child(1),
.assignment-issued-table td:nth-child(1) {
  width: 112px !important;
}
.assignment-issued-table .assignment-issued-col-task,
.assignment-issued-table th:nth-child(2),
.assignment-issued-table td:nth-child(2) {
  width: auto !important;
}
.assignment-issued-table .assignment-issued-col-date,
.assignment-issued-table th:nth-child(3),
.assignment-issued-table td:nth-child(3) {
  width: 148px !important;
}
.assignment-issued-table .assignment-issued-col-status,
.assignment-issued-table th:nth-child(4),
.assignment-issued-table td:nth-child(4) {
  width: 168px !important;
}
.assignment-issued-table .assignment-issued-col-actions,
.assignment-issued-table th:nth-child(5),
.assignment-issued-table td:nth-child(5) {
  width: 252px !important;
}
.assignment-issued-table th,
.assignment-issued-table td {
  vertical-align: middle !important;
}
.assignment-issued-table .task-text,
.assignment-issued-table .assignment-task-text {
  max-width: none !important;
  overflow-wrap: anywhere;
}
.assignment-issued-actions-cell {
  min-width: 252px;
}
.assignment-issued-actions {
  width: 100%;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
}
.assignment-issued-actions .btn {
  flex: 0 0 auto;
}
@media (max-width: 980px) {
  .assignment-issued-table {
    min-width: 820px !important;
  }
  .assignment-issued-table-wrap {
    overflow-x: auto !important;
  }
}

.verifier-topbar-actions {
  gap: 10px;
  flex-wrap: wrap;
}

@media (max-width: 768px) {
  .verifier-topbar-actions .btn {
    min-height: 38px;
  }
}

/* v14 issued employee Excel export button. */
.assignment-issued-head-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
  white-space: nowrap;
}
.assignment-issued-export-btn {
  min-height: 34px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 6px 11px;
  font-weight: 500 !important;
  color: #079455;
  border-color: rgba(7, 148, 85, .26);
  background: #fff;
}
.assignment-issued-export-btn:hover {
  color: #067647;
  background: #ecfdf3;
  border-color: rgba(7, 148, 85, .36);
}
.assignment-issued-export-btn i {
  font-size: .95rem;
}
@media (max-width: 720px) {
  .assignment-issued-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .assignment-issued-head-actions {
    width: 100%;
    justify-content: space-between;
  }
}

/* ======================================================================
   v15: worker panel polish, verifier layout cleanup, assignment actions.
   ====================================================================== */
.worker-topbar-title span,
.worker-person-name {
  color: #ffffff;
  font-weight: 650;
  letter-spacing: -0.01em;
}

.worker-person-name {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  margin: 0 0 0.35rem;
  padding: 0.2rem 0.68rem;
  border-radius: 999px;
  color: #1f50d8;
  background: #eaf0ff;
  font-size: 0.92rem;
  font-weight: 650;
}

.worker-status-zone {
  min-width: 186px;
}

.worker-status-btn {
  width: 176px;
  min-width: 176px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.42rem;
  border-radius: 999px;
  font-size: 0.92rem;
  font-weight: 650;
  line-height: 1;
  letter-spacing: -0.01em;
  box-shadow: 0 10px 24px rgba(31, 52, 90, 0.10);
  transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease, border-color .16s ease;
}

.worker-status-btn:hover,
.worker-status-btn:focus {
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(31, 52, 90, 0.14);
}

.worker-status-btn-done {
  color: #ffffff;
  border-color: #20b36b;
  background: linear-gradient(135deg, #20b36b, #119a5a);
}

.worker-status-btn-done:hover,
.worker-status-btn-done:focus {
  color: #ffffff;
  border-color: #119a5a;
  background: linear-gradient(135deg, #25bf74, #0f8f53);
}

.worker-status-btn-return {
  color: #48566f;
  border-color: #d8e2f1;
  background: #ffffff;
}

.worker-status-btn-return:hover,
.worker-status-btn-return:focus {
  color: #21314f;
  border-color: #b9c9e1;
  background: #f6f9ff;
}

/* Verifier report should use the same geometry as the engineer panel. */
.verifier-topbar-actions {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
}

/* Make all issued employee tables visually identical regardless of rows count. */
.assignment-issued-card {
  width: 100%;
}

.assignment-issued-table-wrap {
  width: 100%;
  overflow-x: visible;
}

.assignment-issued-table {
  min-width: 100% !important;
}

.assignment-issued-table th,
.assignment-issued-table td {
  box-sizing: border-box;
}

.assignment-issued-actions-cell,
.assignment-issued-table th:nth-child(5),
.assignment-issued-table td:nth-child(5) {
  text-align: right !important;
}

.assignment-issued-actions {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 0.5rem !important;
  min-width: 252px;
}

@media (max-width: 720px) {
  .worker-status-zone,
  .worker-status-btn {
    width: 100%;
    min-width: 0;
  }
  .worker-person-name {
    font-size: 0.88rem;
  }
}

/* v16: аккуратная пустая вкладка "Замеры → Заказано" */
.glass-ordered-empty-state {
  margin: 20px;
  min-height: 180px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #f8fafc;
}
.glass-ordered-empty-state i {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: #f7faef;
  color: #8dd62c;
  font-size: 1.25rem;
}
.glass-empty-title {
  color: #565d62;
  font-weight: 700;
}
.glass-empty-subtitle {
  max-width: 440px;
  color: #565d62;
  font-size: .92rem;
}
@media (max-width: 768px) {
  .glass-ordered-empty-state {
    margin: 12px;
    min-height: 150px;
    padding: 20px 12px;
  }
}


/* v17 targeted fixes: auth start question button, assignment issued/report alignment. */
.auth-body .floating-error-corner {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 1040;
}
.captcha-field .input-group-text {
  font-weight: 800;
  background: #f8fafc;
}
.worker-layout .worker-topbar-title span {
  font-weight: 800;
}
.assignment-issued-table-wrap {
  width: 100% !important;
  overflow-x: auto !important;
}
.assignment-issued-table {
  min-width: 980px !important;
  width: 100% !important;
  table-layout: fixed !important;
}
.assignment-issued-table .assignment-issued-col-room,
.assignment-issued-table th:nth-child(1),
.assignment-issued-table td:nth-child(1) {
  width: 132px !important;
}
.assignment-issued-table .assignment-issued-col-date,
.assignment-issued-table th:nth-child(3),
.assignment-issued-table td:nth-child(3) {
  width: 150px !important;
}
.assignment-issued-table .assignment-issued-col-status,
.assignment-issued-table th:nth-child(4),
.assignment-issued-table td:nth-child(4) {
  width: 170px !important;
}
.assignment-issued-table .assignment-issued-col-actions,
.assignment-issued-table th:nth-child(5),
.assignment-issued-table td:nth-child(5) {
  width: 280px !important;
}
.assignment-issued-actions-cell {
  min-width: 280px !important;
  overflow: visible !important;
}
.assignment-issued-actions {
  min-width: 0 !important;
  width: 100% !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 8px !important;
}

/* Assignment issue fixes: row actions are always visible and task text is never clamped. */
.assignment-modern-table .assignment-task-text,
.assignment-issued-table .assignment-task-text,
.assignment-modern-table .task-text,
.assignment-issued-table .task-text {
  display: block !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: initial !important;
  max-height: none !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

.assignment-modern-table .assignment-assignee-cell {
  min-width: 260px !important;
  overflow: visible !important;
}

.assignment-modern-table .assignment-inline-controls {
  display: grid !important;
  grid-template-columns: minmax(180px, 1fr) auto !important;
  align-items: center !important;
  gap: 7px !important;
}

.assignment-modern-table .assignment-assignee-editor {
  display: grid !important;
  grid-template-columns: minmax(120px, 1fr) auto !important;
  gap: 7px !important;
  align-items: center !important;
  width: 100% !important;
}

.assignment-modern-table .assignment-inline-controls .btn span {
  display: inline !important;
}

.assignment-issued-actions .btn {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}
.assignment-report-table-wrap {
  width: 100% !important;
  overflow-x: auto !important;
}
.assignment-report-table {
  min-width: 840px !important;
  width: 100% !important;
  table-layout: fixed !important;
}
.assignment-report-table .assignment-report-col-room,
.assignment-report-table th:nth-child(1),
.assignment-report-table td:nth-child(1) {
  width: 132px !important;
}
.assignment-report-table .assignment-report-col-point,
.assignment-report-table th:nth-child(2),
.assignment-report-table td:nth-child(2) {
  width: 90px !important;
}
.assignment-report-table .assignment-report-col-status,
.assignment-report-table th:nth-child(4),
.assignment-report-table td:nth-child(4) {
  width: 140px !important;
}
.assignment-report-table .assignment-report-col-action,
.assignment-report-table th:nth-child(5),
.assignment-report-table td:nth-child(5) {
  width: 150px !important;
}
.assignment-report-room-cell {
  overflow: visible !important;
}
.assignment-report-room-cell .assignment-room-pill,
.assignment-issued-table .assignment-room-pill {
  max-width: 100% !important;
  min-width: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
@media (max-width: 760px) {
  .assignment-issued-table,
  .assignment-report-table {
    min-width: 760px !important;
  }
  .assignment-issued-actions .btn span {
    display: inline !important;
  }
}


/* login-auth-mobile-fix */
@media (max-height: 720px), (max-width: 575.98px) {
  .auth-body {
    overflow: auto;
  }

  .auth-shell {
    min-height: 100vh;
    justify-content: center;
    padding: 5.5rem 1rem 3.5rem;
  }

  .auth-brand {
    top: 1rem;
  }

  .auth-flashes {
    position: static;
    width: min(100%, 460px);
    margin-bottom: 0.75rem;
  }

  .auth-footer {
    position: static;
    transform: none;
    margin-top: 1rem;
  }

  .login-card {
    border-radius: 1.35rem;
  }
}

/* final-auth-v18: center the authorization card exactly and keep the new style above older hotfixes */
.auth-body {
  min-height: 100vh !important;
  overflow: hidden !important;
}

.auth-shell {
  min-height: 100vh !important;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  padding: clamp(1rem, 3vh, 2rem) !important;
  background:
    radial-gradient(circle at top left, rgba(141, 214, 44, 0.18), transparent 20rem),
    radial-gradient(circle at bottom right, rgba(141, 214, 44, 0.14), transparent 18rem),
    linear-gradient(180deg, #f9fbf5 0%, #f7faef 100%) !important;
}

.auth-shell .auth-brand {
  position: absolute !important;
  top: clamp(1.2rem, 4vh, 2.5rem) !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  width: max-content !important;
  margin: 0 !important;
  align-self: auto !important;
  z-index: 3 !important;
}

.auth-shell .auth-flashes {
  position: absolute !important;
  top: calc(clamp(1.2rem, 4vh, 2.5rem) + 4.6rem) !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: min(100%, 460px) !important;
  margin: 0 !important;
  z-index: 5 !important;
}

.auth-shell .login-wrap {
  width: min(100%, 460px) !important;
  margin: 0 !important;
  transform: none !important;
  align-self: auto !important;
  z-index: 2 !important;
}

.auth-shell .auth-footer {
  position: fixed !important;
  left: 50% !important;
  bottom: max(1rem, env(safe-area-inset-bottom)) !important;
  transform: translateX(-50%) !important;
  margin: 0 !important;
  width: max-content !important;
}

@media (max-height: 720px), (max-width: 575.98px) {
  .auth-body {
    overflow: auto !important;
  }

  .auth-shell {
    min-height: 100vh !important;
    padding: 5.5rem 1rem 3.5rem !important;
  }

  .auth-shell .auth-brand {
    top: 1rem !important;
  }

  .auth-shell .auth-flashes {
    position: static !important;
    transform: none !important;
    width: min(100%, 460px) !important;
    margin: 0 0 0.75rem !important;
  }

  .auth-shell .auth-footer {
    position: static !important;
    transform: none !important;
    margin-top: 1rem !important;
  }
}

/* final-auth-center-fix: keep the whole authorization screen centered as one column. */
.auth-body {
  min-height: 100vh !important;
  overflow: auto !important;
}
.auth-shell {
  min-height: 100vh !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 1rem !important;
  padding: clamp(1rem, 3vh, 2rem) !important;
}
.auth-shell .auth-brand {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  width: min(100%, 460px) !important;
  margin: 0 !important;
  align-self: center !important;
  justify-content: center !important;
}
.auth-shell .auth-flashes {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  width: min(100%, 460px) !important;
  margin: 0 !important;
}
.auth-shell .login-wrap {
  width: min(100%, 460px) !important;
  margin: 0 !important;
  align-self: center !important;
  transform: none !important;
}
.auth-shell .auth-footer {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  width: auto !important;
  margin: .25rem 0 0 !important;
}
@media (max-height: 720px), (max-width: 575.98px) {
  .auth-shell {
    justify-content: flex-start !important;
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
}

/* v21 daily assignment report: keep action buttons inside worker cards. */
.assignment-report-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 720px), 1fr)) !important;
}
.assignment-report-card .card-body {
  overflow: hidden !important;
}
.assignment-report-table-wrap {
  width: 100% !important;
  overflow-x: hidden !important;
  border-radius: 14px !important;
}
.assignment-report-table {
  width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed !important;
}
.assignment-report-table .assignment-report-col-room,
.assignment-report-table th:nth-child(1),
.assignment-report-table td:nth-child(1) {
  width: 104px !important;
}
.assignment-report-table .assignment-report-col-point,
.assignment-report-table th:nth-child(2),
.assignment-report-table td:nth-child(2) {
  width: 72px !important;
}
.assignment-report-table .assignment-report-col-task,
.assignment-report-table th:nth-child(3),
.assignment-report-table td:nth-child(3) {
  width: auto !important;
}
.assignment-report-table .assignment-report-col-status,
.assignment-report-table th:nth-child(4),
.assignment-report-table td:nth-child(4) {
  width: 130px !important;
}
.assignment-report-table .assignment-report-col-action,
.assignment-report-table th:nth-child(5),
.assignment-report-table td:nth-child(5) {
  width: 126px !important;
}
.assignment-report-table th,
.assignment-report-table td {
  padding-left: 12px !important;
  padding-right: 12px !important;
  vertical-align: middle !important;
}
.assignment-report-table td:nth-child(3) {
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  line-height: 1.45 !important;
}
.assignment-report-status-actions {
  overflow: visible !important;
}
.assignment-report-status-actions form {
  width: 100% !important;
}
.assignment-report-status-actions .btn {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 36px !important;
  padding: .42rem .55rem !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  white-space: nowrap !important;
}
.assignment-report-status-actions .btn i {
  margin: 0 !important;
  flex: 0 0 auto;
}
@media (max-width: 760px) {
  .assignment-report-table-wrap {
    overflow-x: auto !important;
  }
  .assignment-report-table {
    min-width: 720px !important;
  }
}

/* v22 auth logout toast: keep login-page flashes beside the question button. */
.auth-shell .crm-toast-stack.auth-flashes {
  position: fixed !important;
  top: auto !important;
  left: auto !important;
  right: calc(max(1rem, env(safe-area-inset-right)) + 56px) !important;
  bottom: max(1rem, env(safe-area-inset-bottom)) !important;
  z-index: 3060 !important;
  width: min(420px, calc(100vw - 92px)) !important;
  margin: 0 !important;
  transform: none !important;
  align-self: auto !important;
}
@media (max-width: 575px) {
  .auth-shell .crm-toast-stack.auth-flashes {
    right: max(.85rem, env(safe-area-inset-right)) !important;
    bottom: calc(max(.85rem, env(safe-area-inset-bottom)) + 56px) !important;
    left: max(.85rem, env(safe-area-inset-left)) !important;
    width: auto !important;
  }
}

/* v26 AVR document builder */
.avr-page-head {
  margin-bottom: 1.15rem;
}

.avr-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 1rem;
  align-items: start;
}

.avr-picker-layout {
  grid-template-columns: minmax(280px, 720px);
}

.avr-main-card,
.avr-side-card {
  border: 0;
  border-radius: 20px;
}

.avr-picker-card {
  overflow: hidden;
}

.avr-picker-head {
  display: flex;
  align-items: center;
  gap: .95rem;
  margin-bottom: 1.2rem;
}

.avr-picker-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .8rem;
  align-items: end;
}

.avr-open-modal-btn {
  min-height: 46px;
  border-radius: 12px;
  white-space: nowrap;
}

.avr-form-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.avr-field {
  min-width: 0;
}

.avr-field-wide {
  grid-column: span 2;
}

.avr-field-full {
  grid-column: 1 / -1;
}

.avr-field .form-label {
  color: #565d62;
  font-weight: 750;
  font-size: .82rem;
  margin-bottom: .38rem;
}

.avr-field .form-control,
.avr-field .form-select {
  min-height: 46px;
  border-radius: 12px;
  border-color: #d8e2f2;
  box-shadow: none;
}

.avr-owner-options {
  display: grid;
  gap: .45rem;
  min-height: 46px;
  padding: .62rem .78rem;
  border: 1px solid #d8e2f2;
  border-radius: 12px;
  background: #fff;
}

.avr-owner-options .form-check {
  display: flex;
  align-items: flex-start;
  gap: .5rem;
  min-height: 22px;
  margin: 0;
}

.avr-field textarea.form-control {
  min-height: 96px;
  resize: vertical;
}

.avr-side-card {
  position: sticky;
  top: 1rem;
}

.avr-doc-icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #f7faef;
  color: #8dd62c;
  font-size: 1.45rem;
  margin-bottom: .85rem;
}

.avr-summary {
  display: grid;
  gap: .7rem;
  margin-top: 1rem;
}

.avr-summary div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .85rem;
  padding: .7rem .8rem;
  border-radius: 12px;
  background: #f8fafc;
}

.avr-summary span {
  color: #565d62;
  font-size: .82rem;
}

.avr-summary b {
  color: #162033;
  font-size: .9rem;
  text-align: right;
}

@media (max-width: 1180px) {
  .avr-layout {
    grid-template-columns: 1fr;
  }

  .avr-side-card {
    position: static;
  }
}

@media (max-width: 760px) {
  .avr-form-grid {
    grid-template-columns: 1fr;
  }

  .avr-picker-row {
    grid-template-columns: 1fr;
  }

  .avr-field-wide,
  .avr-field-full {
    grid-column: auto;
  }
}

/* v27 login brand: single calm title above the authorization card. */
.auth-shell .auth-brand-title {
  font-weight: 650;
  letter-spacing: 0;
}

/* v28 login spacing: remove the empty band above the login fields. */
.auth-shell {
  gap: .7rem !important;
  padding-top: clamp(.85rem, 2.4vh, 1.6rem) !important;
  padding-bottom: clamp(.85rem, 2.4vh, 1.6rem) !important;
}

.auth-shell .auth-brand {
  margin-bottom: .1rem !important;
}

.auth-shell .login-card .card-body {
  padding-top: 1.25rem !important;
  padding-bottom: 1.35rem !important;
}

.auth-shell .login-form .login-field:first-of-type {
  margin-top: 0 !important;
}

@media (min-width: 576px) {
  .auth-shell .login-card .card-body {
    padding-left: 1.75rem !important;
    padding-right: 1.75rem !important;
  }
}

/* v30 captcha second step */
.login-captcha-box-standalone {
  margin-bottom: 1rem !important;
}

.login-captcha-actions {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: .75rem;
  align-items: center;
}

.login-captcha-actions .btn {
  min-height: 2.8rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Fix 2026-06-16: quoted remarks + compact assignment actions. */
.remark-quoted-strike {
  text-decoration-line: line-through;
  text-decoration-thickness: 1.6px;
  text-decoration-color: currentColor;
  color: #565d62;
}

.assignment-action-button-row,
.assignment-issued-actions,
.assignment-inline-controls {
  align-items: center;
}

.assignment-action-button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.assignment-action-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-height: 30px !important;
  padding: 0 9px !important;
  border-radius: 999px !important;
  font-size: .78rem !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  white-space: nowrap;
  box-shadow: 0 6px 14px rgba(15, 23, 42, .07);
}

.assignment-action-btn i {
  margin: 0 !important;
  font-size: .92rem;
}

.assignment-action-btn span {
  display: inline !important;
}

.assignment-modern-table td,
.assignment-issued-table td {
  vertical-align: top !important;
}

.assignment-modern-table td:nth-child(2),
.assignment-modern-table td:nth-child(3),
.assignment-issued-table td:nth-child(1),
.assignment-issued-table td:nth-child(2) {
  padding-top: .65rem !important;
}

.assignment-modern-table .assignment-room-pill,
.assignment-issued-table .assignment-room-pill,
.assignment-modern-table .assignment-task-text,
.assignment-issued-table .assignment-task-text {
  margin-top: 0 !important;
  vertical-align: top !important;
  transform: none !important;
}

@media (max-width: 760px) {
  .assignment-action-button-row {
    display: grid;
    grid-template-columns: 1fr;
  }
  .assignment-action-btn {
    width: 100%;
  }
}

/* Settings, hidden documents and mobile under-development mode. */
.settings-grid {
  display: grid;
  gap: 1rem;
}

.settings-card .card-body {
  display: grid;
  gap: .75rem;
}

.settings-card-head {
  display: flex;
  align-items: flex-start;
  gap: .9rem;
}

.settings-card-icon,
.under-dev-icon,
.mobile-dev-icon {
  display: inline-grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  flex: 0 0 3rem;
  border-radius: 1rem;
  background: linear-gradient(135deg, rgba(141, 214, 44, .12), rgba(141, 214, 44, .12));
  color: var(--crm-primary);
  font-size: 1.45rem;
}

.settings-switch-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .95rem;
  border: 1px solid var(--crm-border);
  border-radius: 1rem;
  background: #f9fbf5;
  cursor: pointer;
}

.settings-switch-row span {
  display: grid;
  gap: .15rem;
  color: var(--crm-title);
}

.settings-switch-row small {
  color: var(--crm-muted);
  font-size: .82rem;
}

.settings-switch {
  width: 3.1rem !important;
  height: 1.65rem !important;
  flex: 0 0 auto;
  cursor: pointer;
}

.settings-actions {
  display: flex;
  justify-content: flex-end;
}

.under-dev-page {
  min-height: min(62vh, 620px);
  display: grid;
  place-items: center;
  padding: 2rem 0;
}

.under-dev-card {
  width: min(100%, 620px);
  text-align: center;
  border: 0;
  box-shadow: 0 22px 60px rgba(31, 45, 61, .12);
}

.under-dev-card .card-body {
  display: grid;
  justify-items: center;
  gap: .8rem;
  padding: 3rem 2rem;
}

.under-dev-card h1,
.mobile-dev-card h1 {
  margin: .35rem 0 0;
  color: var(--crm-title);
  font-size: clamp(1.55rem, 3vw, 2.35rem);
  font-weight: 950;
  letter-spacing: -.03em;
}

.under-dev-card p,
.mobile-dev-card p {
  max-width: 34rem;
  margin: 0;
  color: var(--crm-muted);
  line-height: 1.55;
}

.mobile-dev-screen {
  display: none;
}

.apartment-task-status-form {
  margin: 0;
  flex: 0 0 auto;
}

.apartment-task-status-btn {
  appearance: none;
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease;
}

.apartment-task-status-btn:hover,
.apartment-task-status-btn:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(15, 23, 42, .10);
}

@media (max-width: 991.98px) {
  body.mobile-dev-flag {
    min-height: 100vh;
    overflow: hidden;
    background: radial-gradient(circle at top left, rgba(141, 214, 44, .18), transparent 34%), #f6f9ff;
  }

  body.mobile-dev-flag .app-layout,
  body.mobile-dev-flag .objects-layout,
  body.mobile-dev-flag .documents-standalone-layout,
  body.mobile-dev-flag .report-error-floating,
  body.mobile-dev-flag .modal,
  body.mobile-dev-flag .modal-backdrop {
    display: none !important;
  }

  body.mobile-dev-flag .mobile-dev-screen {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: radial-gradient(circle at top left, rgba(141, 214, 44, .18), transparent 36%), linear-gradient(180deg, #fefdfe 0%, #f7faef 100%);
  }

  .mobile-dev-card {
    width: min(100%, 26rem);
    display: grid;
    justify-items: center;
    gap: .9rem;
    padding: 2rem 1.35rem;
    border: 1px solid rgba(200, 211, 232, .9);
    border-radius: 1.35rem;
    background: rgba(255, 255, 255, .94);
    text-align: center;
    box-shadow: 0 22px 70px rgba(31, 45, 61, .18);
  }

  .mobile-dev-icon {
    width: 4rem;
    height: 4rem;
    flex-basis: 4rem;
    border-radius: 1.25rem;
    font-size: 2rem;
  }

  .settings-switch-row {
    align-items: flex-start;
  }
}

/* v17: overdue issued assignments grouped by planned day. */
.assignment-filter-pill span {
  min-width: 22px;
  height: 22px;
  padding: 0 7px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(15, 23, 42, .08);
  color: inherit;
  font-size: .76rem;
  font-weight: 950;
}
.assignment-filter-pill-danger {
  border-color: rgba(220, 38, 38, .18);
  color: #b42318;
  background: #fff;
}
.assignment-filter-pill-danger.active,
.assignment-filter-pill-danger:hover {
  background: linear-gradient(180deg, #ef4444, #dc2626);
  border-color: #dc2626;
  color: #fff;
}
.assignment-overdue-layout {
  gap: 18px;
}
.assignment-overdue-day-group {
  display: grid;
  gap: 12px;
}
.assignment-overdue-day-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 16px;
  border: 1px solid rgba(220, 38, 38, .13);
  border-radius: 18px;
  background: linear-gradient(135deg, #fff7ed, #fff1f2);
  box-shadow: 0 12px 30px rgba(127, 29, 29, .06);
}
.assignment-overdue-day-head > div {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.assignment-overdue-day-head > div > span {
  width: 42px;
  height: 42px;
  border-radius: 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fee2e2;
  color: #dc2626;
  flex: 0 0 auto;
}
.assignment-overdue-day-head b,
.assignment-overdue-day-head small {
  display: block;
}
.assignment-overdue-day-head b {
  color: #7f1d1d;
  font-size: 1rem;
  font-weight: 950;
}
.assignment-overdue-day-head small {
  color: #9f1239;
  font-weight: 750;
}
.assignment-overdue-day-head strong {
  padding: 8px 12px;
  border-radius: 999px;
  color: #b42318;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(220, 38, 38, .12);
  white-space: nowrap;
}
.assignment-overdue-day-cards {
  display: grid;
  gap: 12px;
}
.assignment-overdue-card {
  border-color: rgba(220, 38, 38, .12) !important;
}
.assignment-issued-date-cell > span,
.assignment-issued-date-cell > small {
  display: block;
}
.assignment-overdue-days {
  margin-top: 3px;
  color: #b42318;
  font-size: .73rem;
  font-weight: 900;
  line-height: 1.15;
}
.assignment-overdue-empty i {
  color: #079455;
}
@media (max-width: 680px) {
  .assignment-overdue-day-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .assignment-overdue-day-head strong {
    width: 100%;
    text-align: center;
  }
}

/* vNext dashboard roadmap compact card + assignment row alignment fixes */
.dashboard-roadmap-mini-card {
  cursor: pointer;
  isolation: isolate;
  overflow: hidden;
  background: radial-gradient(circle at 100% 0%, rgba(141, 214, 44, .16), transparent 46%), linear-gradient(135deg, #ffffff, #f6f8ff);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.dashboard-roadmap-mini-card:hover,
.dashboard-roadmap-mini-card:focus {
  transform: translateY(-2px);
  border-color: rgba(141, 214, 44, .24);
  box-shadow: 0 18px 44px rgba(141, 214, 44, .12);
  outline: none;
}
.dashboard-roadmap-mini-title {
  margin-bottom: .55rem;
}
.dashboard-roadmap-mini-title i {
  width: 2rem;
  height: 2rem;
  border-radius: .75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #f7faef;
}
.dashboard-roadmap-mini-text {
  margin: 0;
  color: #5f6b7c;
  font-size: .9rem;
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.dashboard-roadmap-mini-tags {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin-top: .75rem;
}
.dashboard-roadmap-mini-tags span {
  padding: .28rem .55rem;
  border-radius: 999px;
  background: rgba(141, 214, 44, .09);
  color: #8dd62c;
  font-size: .75rem;
  font-weight: 900;
}
.dashboard-roadmap-mini-more {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin-top: .7rem;
  color: #8dd62c;
  font-size: .84rem;
  font-weight: 900;
}
.dashboard-roadmap-modal-content {
  border: 0;
  border-radius: 1.45rem;
  overflow: hidden;
  box-shadow: 0 28px 70px rgba(15, 23, 42, .24);
}
.dashboard-roadmap-modal-head {
  background: linear-gradient(135deg, #f9fbf5, #f7faef);
  border-bottom: 1px solid rgba(141, 214, 44, .1);
}
.dashboard-roadmap-modal-head h2 {
  margin: 0;
  color: #565d62;
  font-weight: 950;
}
.dashboard-roadmap-modal-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.assignment-modern-table td,
.assignment-issued-table td {
  vertical-align: middle !important;
}
.assignment-modern-table td:nth-child(2),
.assignment-modern-table td:nth-child(3),
.assignment-issued-table td:nth-child(1),
.assignment-issued-table td:nth-child(2) {
  padding-top: .75rem !important;
  padding-bottom: .75rem !important;
}
.assignment-modern-table .assignment-room-pill,
.assignment-issued-table .assignment-room-pill {
  display: inline-flex !important;
  align-items: center !important;
  line-height: 1.2 !important;
  transform: none !important;
  margin: 0 !important;
}
.assignment-modern-table .assignment-task-text,
.assignment-issued-table .assignment-task-text {
  display: block !important;
  line-height: 1.35 !important;
  margin: 0 !important;
  transform: none !important;
}
.assignment-modern-table th:nth-child(5),
.assignment-modern-table td:nth-child(5) {
  width: 190px !important;
}
.assignment-assignee-current {
  margin-bottom: 0 !important;
}
.assignment-issued-table .assignment-issued-col-actions,
.assignment-issued-table th:nth-child(5),
.assignment-issued-table td:nth-child(5) {
  width: 178px !important;
}
.assignment-issued-actions-cell {
  min-width: 178px !important;
}
.assignment-issued-actions {
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 0 !important;
}
.assignment-issued-actions .btn {
  border-radius: 999px;
  padding: .42rem .65rem;
}

@media (max-width: 991px) {
  .dashboard-roadmap-modal-grid {
    grid-template-columns: 1fr;
  }
}

/* v33 objects settings, roadmap card polish, inspection toggles and straight assignment tables */
.dashboard-roadmap-mini-card {
  display: flex !important;
  flex-direction: column;
  min-height: 100%;
  padding: 1rem !important;
  cursor: pointer;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 92% 10%, rgba(141, 214, 44, .18), transparent 34%),
    radial-gradient(circle at 6% 100%, rgba(16, 185, 129, .10), transparent 36%),
    linear-gradient(135deg, #ffffff, #f3f7ff 56%, #f7faef) !important;
}
.dashboard-roadmap-mini-glow {
  position: absolute;
  inset: auto -42px -58px auto;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: rgba(141, 214, 44, .12);
  filter: blur(4px);
  z-index: -1;
}
.dashboard-roadmap-mini-title {
  align-items: center;
  margin-bottom: .45rem !important;
  font-size: .98rem;
}
.dashboard-roadmap-mini-title i {
  background: linear-gradient(135deg, #f7faef, #dfe8ff) !important;
  color: #8dd62c;
}
.dashboard-roadmap-mini-text {
  font-size: .86rem !important;
  line-height: 1.45 !important;
  -webkit-line-clamp: 3 !important;
}
.dashboard-roadmap-mini-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: .42rem;
  margin: .75rem 0 .7rem;
}
.dashboard-roadmap-mini-list span {
  display: flex;
  align-items: center;
  gap: .45rem;
  min-height: 32px;
  padding: .42rem .5rem;
  border-radius: .8rem;
  background: rgba(255, 255, 255, .78);
  border: 1px solid rgba(141, 214, 44, .08);
  color: #565d62;
  font-size: .8rem;
  font-weight: 850;
  box-shadow: 0 6px 14px rgba(15, 23, 42, .04);
}
.dashboard-roadmap-mini-list i {
  width: 1.35rem;
  height: 1.35rem;
  flex: 0 0 1.35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: .45rem;
  background: #f7faef;
  color: #8dd62c;
  font-size: .78rem;
}
.dashboard-roadmap-mini-tags {
  display: none !important;
}
.dashboard-roadmap-mini-more {
  margin-top: auto !important;
  padding-top: .3rem;
}
@media (min-width: 1280px) {
  .dashboard-roadmap-mini-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.apartment-inspection-status-form {
  margin: .85rem 1rem 0;
  padding: .75rem;
  border-radius: 1rem;
  background: #f9fbf5;
  border: 1px solid rgba(15, 23, 42, .07);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.75);
}
.apartment-inspection-status-form-detail {
  margin: .3rem 0 .8rem;
}
.apartment-inspection-static-note {
  display: flex;
  align-items: flex-start;
  gap: .55rem;
  margin: .3rem 0 .8rem;
  padding: .72rem .8rem;
  border-radius: .95rem;
  background: #f9fbf5;
  border: 1px solid rgba(141, 214, 44, .12);
  color: #475467;
  font-size: .88rem;
  line-height: 1.45;
}
.apartment-inspection-static-note i {
  color: #8dd62c;
  margin-top: .08rem;
}
.apartment-inspection-status-label {
  display: block;
  margin-bottom: .45rem;
  color: #565d62;
  font-size: .78rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.apartment-inspection-status-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .45rem;
}
.inspection-option {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: .42rem .65rem;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, .12);
  background: #fff;
  color: #475467;
  font-size: .84rem;
  font-weight: 900;
  cursor: pointer;
  transition: background-color .16s ease, color .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.btn-check:checked + .inspection-option-was {
  background: #ecfdf3;
  border-color: rgba(22, 163, 74, .25);
  color: #067647;
  box-shadow: 0 8px 16px rgba(6, 118, 71, .08);
}
.btn-check:checked + .inspection-option-not-was {
  background: #fff1f3;
  border-color: rgba(217, 45, 32, .22);
  color: #b42318;
  box-shadow: 0 8px 16px rgba(180, 35, 24, .07);
}
.inspection-option:hover {
  border-color: rgba(141, 214, 44, .24);
  box-shadow: 0 8px 16px rgba(15, 23, 42, .06);
}

.assignment-modern-table,
.assignment-issued-table {
  border-collapse: collapse !important;
  border-spacing: 0 !important;
}
.assignment-modern-table tbody tr,
.assignment-issued-table tbody tr,
.assignment-report-table tbody tr {
  transform: none !important;
  transition: background-color .14s ease, box-shadow .14s ease !important;
}
.assignment-modern-table tbody tr:hover,
.assignment-issued-table tbody tr:hover,
.assignment-report-table tbody tr:hover,
.task-table.assignment-modern-table tbody tr:hover {
  transform: none !important;
}
.assignment-modern-table th,
.assignment-modern-table td,
.assignment-issued-table th,
.assignment-issued-table td {
  transform: none !important;
  background-clip: padding-box;
}
.assignment-modern-table th:nth-child(1),
.assignment-modern-table td:nth-child(1) {
  transition: none !important;
}
.assignment-modern-table .assignment-task-row td,
.assignment-issued-table .assignment-issued-row td {
  border-bottom: 1px solid rgba(15, 23, 42, .07) !important;
}
.assignment-table-wrap,
.assignment-issued-table-wrap {
  overflow-x: auto;
  overflow-y: hidden;
}

/* v34 issued employees: compact remove-assignee action */
.assignment-issued-table .assignment-issued-col-actions,
.assignment-issued-table th:nth-child(5),
.assignment-issued-table td:nth-child(5) {
  width: 232px !important;
}
.assignment-issued-actions-cell {
  min-width: 232px !important;
}
.assignment-issued-actions {
  gap: .45rem !important;
}
.assignment-unassign-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .35rem !important;
  border-color: rgba(220, 38, 38, .28) !important;
  background: rgba(220, 38, 38, .08) !important;
  color: #b42318 !important;
  font-weight: 900 !important;
  box-shadow: none !important;
}
.assignment-unassign-btn:hover,
.assignment-unassign-btn:focus {
  border-color: rgba(220, 38, 38, .48) !important;
  background: #dc2626 !important;
  color: #fff !important;
}
.assignment-unassign-btn i {
  font-size: 1rem;
  line-height: 1;
}
@media (max-width: 760px) {
  .assignment-issued-table .assignment-issued-col-actions,
  .assignment-issued-table th:nth-child(5),
  .assignment-issued-table td:nth-child(5) {
    width: 200px !important;
  }
  .assignment-issued-actions-cell {
    min-width: 200px !important;
  }
  .assignment-unassign-text {
    display: none !important;
  }
}

/* v35 issued employees: change assignee modal/action */
.assignment-issued-table .assignment-issued-col-actions,
.assignment-issued-table th:nth-child(5),
.assignment-issued-table td:nth-child(5) {
  width: 276px !important;
}
.assignment-issued-actions-cell {
  min-width: 276px !important;
}
.assignment-issued-actions {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
  gap: .38rem !important;
}
.assignment-change-assignee-btn {
  width: 34px !important;
  height: 34px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 11px !important;
  border: 1px solid rgba(37, 99, 235, .24) !important;
  background: rgba(37, 99, 235, .08) !important;
  color: #78bb24 !important;
  box-shadow: none !important;
}
.assignment-change-assignee-btn:hover,
.assignment-change-assignee-btn:focus {
  background: #8dd62c !important;
  border-color: #8dd62c !important;
  color: #fff !important;
}
.assignment-change-assignee-text {
  display: none !important;
}
.assignment-change-assignee-card {
  overflow: hidden;
  border: 0;
  border-radius: 1.45rem;
  box-shadow: 0 28px 80px rgba(15, 23, 42, .28);
}
.assignment-change-assignee-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: .9rem;
  align-items: flex-start;
  padding: 1.15rem 1.15rem .9rem;
  background: radial-gradient(circle at 15% 0%, rgba(79, 70, 229, .18), transparent 36%), linear-gradient(135deg, #f9fbf5, #f7faef);
  border-bottom: 1px solid rgba(15, 23, 42, .07);
}
.assignment-change-assignee-icon {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #8dd62c, #9fdf4c);
  color: #fff;
  font-size: 1.2rem;
  box-shadow: 0 14px 26px rgba(141, 214, 44, .22);
}
.assignment-change-assignee-kicker {
  color: #8dd62c;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .72rem;
  margin-bottom: .2rem;
}
.assignment-change-assignee-head h2 {
  margin: 0;
  color: #565d62;
  font-size: 1.25rem;
  font-weight: 950;
}
.assignment-change-assignee-head p {
  margin: .25rem 0 0;
  color: #64748b;
  font-size: .92rem;
}
.assignment-change-assignee-close {
  width: 2.15rem;
  height: 2.15rem;
  border: 0;
  border-radius: .8rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, .78);
  color: #334155;
}
.assignment-change-assignee-close:hover {
  background: #fff;
  color: #565d62;
}
.assignment-change-assignee-taskbox {
  margin: 1rem 1.15rem .75rem;
  padding: .85rem;
  border-radius: 1rem;
  background: #f8fafc;
  border: 1px solid rgba(15, 23, 42, .07);
  display: grid;
  gap: .5rem;
}
.assignment-change-assignee-taskbox > div {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  align-items: center;
}
.assignment-change-assignee-taskbox span {
  color: #565d62;
  font-weight: 800;
  font-size: .82rem;
}
.assignment-change-assignee-taskbox b {
  color: #565d62;
  font-weight: 950;
  text-align: right;
}
.assignment-change-assignee-taskbox p {
  margin: .15rem 0 0;
  color: #475569;
  font-size: .9rem;
  line-height: 1.45;
}
.assignment-change-assignee-list {
  padding: 0 1.15rem;
  max-height: min(360px, 52vh);
  overflow-y: auto;
  display: grid;
  gap: .55rem;
}
.assignment-change-assignee-option {
  cursor: pointer;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: .75rem;
  align-items: center;
  padding: .78rem .85rem;
  border-radius: 1rem;
  border: 1px solid rgba(15, 23, 42, .08);
  background: #fff;
  transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}
.assignment-change-assignee-option:hover {
  border-color: rgba(141, 214, 44, .26);
  box-shadow: 0 10px 22px rgba(15, 23, 42, .06);
}
.assignment-change-assignee-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.assignment-change-assignee-check {
  width: 1.7rem;
  height: 1.7rem;
  border-radius: .6rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(141, 214, 44, .22);
  background: #eff4ff;
  color: transparent;
  font-size: 1rem;
}
.assignment-change-assignee-option:has(input:checked) {
  border-color: rgba(141, 214, 44, .55);
  background: #f3f7ff;
  box-shadow: 0 0 0 3px rgba(141, 214, 44, .12);
}
.assignment-change-assignee-option:has(input:checked) .assignment-change-assignee-check {
  background: #8dd62c;
  border-color: #8dd62c;
  color: #fff;
}
.assignment-change-assignee-person b,
.assignment-change-assignee-person small {
  display: block;
}
.assignment-change-assignee-person b {
  color: #565d62;
  font-weight: 950;
}
.assignment-change-assignee-person small {
  color: #565d62;
  font-size: .82rem;
  font-weight: 700;
}
.assignment-change-assignee-current-label {
  display: none;
  border-radius: 999px;
  padding: .24rem .5rem;
  background: #e2e8f0;
  color: #475569;
  font-style: normal;
  font-size: .72rem;
  font-weight: 900;
}
.assignment-change-assignee-option.is-current {
  cursor: not-allowed;
  opacity: .64;
}
.assignment-change-assignee-option.is-current .assignment-change-assignee-current-label {
  display: inline-flex;
}
.assignment-change-assignee-actions {
  display: flex;
  justify-content: flex-end;
  gap: .55rem;
  padding: 1rem 1.15rem 1.15rem;
}
@media (max-width: 760px) {
  .assignment-issued-table .assignment-issued-col-actions,
  .assignment-issued-table th:nth-child(5),
  .assignment-issued-table td:nth-child(5) {
    width: 230px !important;
  }
  .assignment-issued-actions-cell {
    min-width: 230px !important;
  }
  .assignment-issued-actions .js-assignment-date-open span,
  .assignment-unassign-text {
    display: none !important;
  }
  .assignment-change-assignee-card {
    border-radius: 1.2rem;
  }
  .assignment-change-assignee-head {
    grid-template-columns: auto minmax(0, 1fr) auto;
    padding: 1rem;
  }
  .assignment-change-assignee-actions {
    flex-direction: column-reverse;
  }
  .assignment-change-assignee-actions .btn {
    width: 100%;
  }
}

/* v38 objects + assignment table polish */
.object-description-spacer {
  visibility: hidden;
  pointer-events: none;
}
.assignment-contractor-shell {
  overflow: hidden !important;
}
.assignment-contractor-shell .assignment-issue-panel {
  background: #fff !important;
  border-bottom: 1px solid #ebf0f7 !important;
}
.assignment-contractor-shell .assignment-table-wrap,
.assignment-issued-table-wrap {
  overflow-x: auto !important;
  overflow-y: hidden !important;
}
.assignment-contractor-table {
  width: 100% !important;
  min-width: 1320px !important;
  table-layout: fixed !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  font-size: .92rem !important;
}
.assignment-contractor-table thead th,
.assignment-issued-table thead th {
  padding: .95rem .9rem !important;
  background: rgba(242, 246, 252, .85) !important;
  color: #5a6987 !important;
  font-size: .92rem !important;
  line-height: 1.25 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  border-bottom: 1px solid #e4eaf4 !important;
}
.assignment-contractor-table td,
.assignment-issued-table td {
  padding: .95rem .9rem !important;
  vertical-align: middle !important;
  border-bottom: 1px solid #ebf0f7 !important;
  background-clip: padding-box !important;
  transform: none !important;
}
.assignment-contractor-table tbody tr,
.assignment-issued-table tbody tr {
  transform: none !important;
  transition: background-color .14s ease, box-shadow .14s ease !important;
}
.assignment-contractor-table tbody tr:hover,
.assignment-issued-table tbody tr:hover {
  transform: none !important;
  background: rgba(54, 93, 255, .03) !important;
}
.assignment-contractor-table .assignment-col-check,
.assignment-contractor-table th:nth-child(1),
.assignment-contractor-table td:nth-child(1) {
  width: 4rem !important;
  min-width: 4rem !important;
  padding-left: .9rem !important;
  padding-right: .65rem !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  overflow: visible !important;
  transition: none !important;
}
.assignment-contractor-table .assignment-col-room,
.assignment-contractor-table th:nth-child(2),
.assignment-contractor-table td:nth-child(2) {
  width: 8.5rem !important;
}
.assignment-contractor-table .assignment-col-task,
.assignment-contractor-table th:nth-child(3),
.assignment-contractor-table td:nth-child(3) {
  width: auto !important;
}
.assignment-contractor-table .assignment-col-status,
.assignment-contractor-table th:nth-child(4),
.assignment-contractor-table td:nth-child(4) {
  width: 10.5rem !important;
}
.assignment-contractor-table .assignment-col-assignee,
.assignment-contractor-table th:nth-child(5),
.assignment-contractor-table td:nth-child(5) {
  width: 16rem !important;
}
.assignment-contractor-table .assignment-col-date,
.assignment-contractor-table th:nth-child(6),
.assignment-contractor-table td:nth-child(6) {
  width: 8.5rem !important;
}
.assignment-contractor-table .js-bulk-master {
  display: inline-block !important;
}
.assignment-contractor-table .form-check-input,
.assignment-contractor-shell .assignment-check-cell .form-check-input {
  display: inline-block !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: none !important;
  transition: none !important;
}
.assignment-contractor-table .assignment-task-text {
  display: inline !important;
  max-height: none !important;
  overflow: visible !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: unset !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  line-height: 1.55 !important;
}
.assignment-contractor-table .task-text {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  line-height: 1.55 !important;
}
.assignment-contractor-table .assignment-room-pill,
.assignment-contractor-table .assignment-user-pill,
.assignment-issued-table .assignment-room-pill,
.assignment-issued-table .assignment-user-pill {
  transform: none !important;
}
.assignment-task-row {
  cursor: default !important;
}
.assignment-task-row.is-selected td,
.assignment-shell .js-bulk-row.is-selected td {
  background: rgba(54, 93, 255, .06) !important;
  box-shadow: none !important;
}
.assignment-task-row.is-selected td:first-child,
.assignment-shell .js-bulk-row.is-selected td:first-child {
  box-shadow: inset 4px 0 0 #365dff !important;
}
.assignment-contractor-table .done-task .task-text,
.assignment-contractor-table tr.done-task .task-text {
  text-decoration: line-through;
  color: #198754;
}
.assignment-issued-table {
  min-width: 1180px !important;
  table-layout: fixed !important;
  font-size: .92rem !important;
}
.assignment-issued-table .assignment-task-text,
.assignment-issued-table .task-text {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  line-height: 1.55 !important;
}
.assignment-issued-row.done-task .task-text {
  text-decoration: line-through;
  color: #198754;
}
@media (max-width: 760px) {
  .assignment-contractor-table,
  .assignment-issued-table {
    min-width: 980px !important;
  }
  .assignment-contractor-table thead th,
  .assignment-contractor-table td,
  .assignment-issued-table thead th,
  .assignment-issued-table td {
    padding: .75rem .7rem !important;
  }
}

/* v38 stable rows + direct unassign */
.assignment-issued-row-unassigned td {
  background: rgba(248, 250, 252, .86) !important;
}
.assignment-issued-row-unassigned .assignment-task-text {
  color: #565d62 !important;
}
.assignment-unassign-btn.is-unassigned {
  border-color: #e5e7eb !important;
  color: #98a2b3 !important;
  background: #f8fafc !important;
  cursor: default !important;
}
.assignment-issued-row-unassigned .assignment-status-toggle {
  cursor: default !important;
}

/* v40: wider adaptive object cards + delete issued task from employee */
.objects-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(340px, 100%), 420px)) !important;
  justify-content: start !important;
  align-items: stretch !important;
  gap: 1.35rem !important;
}
.object-card {
  min-height: 25rem !important;
  padding: 1.55rem !important;
}
.object-description-spacer {
  min-height: 2.2rem !important;
  margin: .85rem 0 .85rem !important;
}
.assignment-issued-actions {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: .45rem !important;
}
.assignment-date-action-form,
.assignment-delete-employee-form {
  margin: 0 !important;
  display: inline-flex !important;
}
.assignment-delete-employee-task-btn {
  color: #dc3545 !important;
  border: 1px solid rgba(220, 53, 69, .28) !important;
  background: #fff5f6 !important;
  box-shadow: none !important;
}
.assignment-delete-employee-task-btn:hover,
.assignment-delete-employee-task-btn:focus-visible {
  color: #fff !important;
  border-color: transparent !important;
  background: linear-gradient(135deg, #ef4444, #dc2626) !important;
}
.assignment-delete-employee-task-btn i {
  font-size: .95rem !important;
}
@media (max-width: 1100px) {
  .objects-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)) !important;
  }
}
@media (max-width: 760px) {
  .objects-grid {
    grid-template-columns: 1fr !important;
  }
  .object-card {
    min-height: 0 !important;
    padding: 1rem !important;
  }
  .assignment-issued-actions {
    flex-wrap: wrap !important;
  }
}

/* Settings standalone page should use the same top chrome as the documents section. */
.settings-standalone-layout .documents-content {
  min-height: calc(100vh - 72px);
}
.settings-standalone-layout .settings-page-head {
  margin-bottom: 1rem;
}
.settings-standalone-layout .settings-grid {
  width: min(100%, 980px);
}


/* v42: polished objects grid + site-style delete confirmation for issued tasks */
.objects-page {
  width: 100%;
  max-width: 1680px !important;
}
.objects-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.25rem;
  margin-bottom: 1.45rem !important;
}
.objects-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)) !important;
  justify-content: stretch !important;
  align-items: stretch !important;
  gap: 1.25rem !important;
}
.object-card {
  min-height: 22.75rem !important;
  padding: 1.35rem !important;
  border-radius: 1.25rem !important;
  border-color: rgba(208, 218, 236, .86) !important;
  background:
    radial-gradient(circle at 20% 0%, rgba(141, 214, 44, .08), transparent 13rem),
    linear-gradient(180deg, #ffffff, #f9fbf5) !important;
  box-shadow: 0 16px 42px rgba(26, 45, 82, .08) !important;
  overflow: hidden !important;
}
.object-card::after {
  content: "";
  position: absolute;
  inset: auto 1.25rem 0 1.25rem;
  height: .24rem;
  border-radius: 999px 999px 0 0;
  background: linear-gradient(90deg, rgba(141, 214, 44, .18), rgba(28, 165, 109, .18));
  pointer-events: none;
}
.object-card:hover,
.object-card:focus-within {
  transform: translateY(-4px) !important;
  box-shadow: 0 24px 58px rgba(18, 42, 89, .14) !important;
}
.object-icon {
  width: 3.25rem !important;
  height: 3.25rem !important;
  border-radius: 1rem !important;
  box-shadow: 0 14px 24px rgba(141, 214, 44, .16) !important;
}
.object-title {
  margin-top: 1rem !important;
  font-size: 1.28rem !important;
  line-height: 1.18 !important;
}
.object-address {
  min-height: 2.1rem !important;
  line-height: 1.45 !important;
}
.object-description-spacer {
  min-height: .5rem !important;
  margin: .4rem 0 .55rem !important;
}
.object-meta-stats {
  margin-top: auto !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: .55rem !important;
}
.object-stat-row {
  min-height: 3.3rem !important;
  align-items: flex-start !important;
  flex-direction: column !important;
  gap: .35rem !important;
  padding: .65rem .7rem !important;
  border-radius: .9rem !important;
  background: rgba(246, 248, 252, .9) !important;
}
.object-stat-row span {
  font-size: .78rem !important;
  line-height: 1.22 !important;
}
.object-stat-row b,
.object-stat-row .stat-badge {
  align-self: flex-start !important;
}
.assignment-delete-employee-form {
  margin: 0 !important;
}
.assignment-delete-employee-form[data-confirm] .assignment-delete-employee-task-btn {
  position: relative;
}
.assignment-confirm-card .confirm-modal-icon,
.crm-confirm-card .confirm-modal-icon {
  margin: 0 auto;
}
@media (min-width: 1500px) {
  .objects-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 1180px) {
  .objects-grid {
    grid-template-columns: repeat(2, minmax(300px, 1fr)) !important;
  }
}
@media (max-width: 760px) {
  .objects-content {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .objects-head {
    display: block;
  }
  .objects-grid {
    grid-template-columns: 1fr !important;
  }
  .object-card {
    min-height: 0 !important;
    padding: 1rem !important;
    border-radius: 1.1rem !important;
  }
  .object-meta-stats {
    grid-template-columns: 1fr !important;
  }
}


/* v43: site maintenance mode for all non-engineer users. */
.settings-card-warning .settings-card-icon {
  background: linear-gradient(135deg, rgba(255, 193, 7, .22), rgba(255, 104, 92, .12));
  color: #b45309;
}
.maintenance-body {
  min-height: 100vh;
  margin: 0;
  background:
    radial-gradient(circle at 16% 12%, rgba(141, 214, 44, .18), transparent 28rem),
    radial-gradient(circle at 86% 18%, rgba(255, 193, 7, .18), transparent 24rem),
    linear-gradient(180deg, #f9fbf5 0%, #f7faef 100%);
  color: var(--crm-title, #565d62);
}
.maintenance-screen {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: clamp(1rem, 4vw, 2.5rem);
}
.maintenance-card {
  position: relative;
  width: min(100%, 640px);
  overflow: hidden;
  display: grid;
  justify-items: center;
  gap: .85rem;
  padding: clamp(1.6rem, 4vw, 3rem);
  border: 1px solid rgba(200, 211, 232, .92);
  border-radius: clamp(1.35rem, 4vw, 2rem);
  background: rgba(255, 255, 255, .94);
  text-align: center;
  box-shadow: 0 28px 90px rgba(31, 45, 61, .18);
  backdrop-filter: blur(18px);
}
.maintenance-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: .35rem;
  background: linear-gradient(90deg, #8dd62c, #ffc107, #8dd62c);
}
.maintenance-logo-wrap {
  width: 3.25rem;
  height: 3.25rem;
  display: grid;
  place-items: center;
  border-radius: 1rem;
  background: #fefdfe;
  box-shadow: inset 0 0 0 1px rgba(141, 214, 44, .08);
}
.maintenance-logo {
  width: 2rem;
  height: 2rem;
  object-fit: contain;
}
.maintenance-icon {
  width: 4.4rem;
  height: 4.4rem;
  display: grid;
  place-items: center;
  border-radius: 1.35rem;
  background: linear-gradient(135deg, rgba(255, 193, 7, .22), rgba(141, 214, 44, .14));
  color: #b45309;
  font-size: 2rem;
}
.maintenance-eyebrow {
  margin: .25rem 0 0;
  color: var(--crm-primary, #8dd62c);
  font-size: .82rem;
  font-weight: 950;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.maintenance-card h1 {
  max-width: 28rem;
  margin: 0;
  font-size: clamp(1.65rem, 5vw, 2.75rem);
  font-weight: 950;
  line-height: 1.08;
  letter-spacing: -.05em;
  color: var(--crm-title, #565d62);
}
.maintenance-subtitle {
  max-width: 34rem;
  margin: 0;
  color: var(--crm-muted, #565d62);
  line-height: 1.65;
  font-weight: 650;
}
.maintenance-progress {
  width: min(100%, 360px);
  height: .65rem;
  overflow: hidden;
  border-radius: 999px;
  background: #f7faef;
  box-shadow: inset 0 0 0 1px rgba(141, 214, 44, .08);
}
.maintenance-progress span {
  display: block;
  width: 46%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #8dd62c, #8dd62c);
  animation: maintenanceProgress 1.8s ease-in-out infinite alternate;
}
.maintenance-hint {
  margin: .15rem 0 0;
  color: #8a96a8;
  font-size: .9rem;
}
.maintenance-logout-form {
  margin-top: .25rem;
}
@keyframes maintenanceProgress {
  from { transform: translateX(-22%); }
  to { transform: translateX(128%); }
}
@media (max-width: 575.98px) {
  .maintenance-card {
    min-height: min(100%, 560px);
    justify-content: center;
  }
  .maintenance-hint {
    font-size: .84rem;
  }
}

/* v44: section locks and maintenance roadmap. */
.settings-card-wide {
  grid-column: 1 / -1;
}
.settings-card-locks .settings-card-icon {
  background: linear-gradient(135deg, rgba(141, 214, 44, .14), rgba(124, 58, 237, .12));
  color: #8dd62c;
}
.settings-section-lock-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(245px, 1fr));
  gap: .75rem;
}
.settings-section-lock {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: .75rem;
  min-height: 74px;
  padding: .85rem;
  border: 1px solid rgba(200, 211, 232, .85);
  border-radius: 1.05rem;
  background: linear-gradient(135deg, #fff, #f9fbf5);
  cursor: pointer;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}
.settings-section-lock:hover {
  transform: translateY(-1px);
  border-color: rgba(141, 214, 44, .32);
  box-shadow: 0 14px 32px rgba(31, 45, 61, .08);
}
.settings-section-lock.is-active {
  border-color: rgba(220, 53, 69, .32);
  background: linear-gradient(135deg, rgba(255, 245, 246, .98), #fff);
}
.settings-section-lock-icon {
  width: 2.55rem;
  height: 2.55rem;
  display: inline-grid;
  place-items: center;
  border-radius: .9rem;
  background: rgba(141, 214, 44, .09);
  color: #8dd62c;
  font-size: 1.18rem;
}
.settings-section-lock.is-active .settings-section-lock-icon {
  background: rgba(220, 53, 69, .1);
  color: #dc3545;
}
.settings-section-lock-copy {
  min-width: 0;
  display: grid;
  gap: .12rem;
}
.settings-section-lock-copy b {
  color: var(--crm-title, #565d62);
  line-height: 1.2;
}
.settings-section-lock-copy small {
  color: var(--crm-muted, #565d62);
  font-weight: 700;
}
.maintenance-card {
  width: min(100%, 760px);
}
.maintenance-roadmap {
  width: min(100%, 560px);
  padding: .95rem 1rem;
  border-radius: 1.15rem;
  background: linear-gradient(135deg, rgba(141, 214, 44, .08), rgba(141, 214, 44, .08));
  border: 1px solid rgba(141, 214, 44, .11);
  text-align: left;
}
.maintenance-roadmap-title {
  display: flex;
  align-items: center;
  gap: .45rem;
  color: var(--crm-title, #565d62);
  font-weight: 950;
  margin-bottom: .55rem;
}
.maintenance-roadmap-title i {
  color: #8dd62c;
}
.maintenance-roadmap ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .4rem .85rem;
  margin: 0;
  padding-left: 1.05rem;
  color: #5d6a7d;
  font-size: .9rem;
  line-height: 1.4;
  font-weight: 700;
}
.maintenance-roadmap li::marker {
  color: #8dd62c;
}
@media (max-width: 720px) {
  .maintenance-roadmap ul {
    grid-template-columns: 1fr;
  }
  .settings-section-lock-grid {
    grid-template-columns: 1fr;
  }
}
.maintenance-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: .65rem;
  flex-wrap: wrap;
  margin-top: .25rem;
}
.maintenance-actions .maintenance-logout-form {
  margin-top: 0;
}

/* v45: public registration request on login + registrations in site errors */
.login-register-button {
  margin-top: .7rem;
  min-height: 2.9rem;
  border-radius: 1rem;
  font-weight: 850;
  background: rgba(255, 255, 255, .72);
  box-shadow: 0 12px 28px rgba(141, 214, 44, .08);
}
.registration-request-modal {
  border: 0;
  border-radius: 1.55rem;
  overflow: hidden;
  box-shadow: 0 28px 90px rgba(15, 23, 42, .24);
  background:
    radial-gradient(circle at 12% 0%, rgba(141, 214, 44, .12), transparent 13rem),
    linear-gradient(135deg, #ffffff, #f9fbf5);
}
.registration-request-modal .modal-body {
  padding: 1.45rem;
}
.registration-modal-icon {
  width: 3.4rem;
  height: 3.4rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 1.15rem;
  color: #fff;
  background: linear-gradient(135deg, #8dd62c, #9fdf4c);
  box-shadow: 0 18px 36px rgba(141, 214, 44, .25);
  font-size: 1.35rem;
  margin-bottom: .85rem;
}
.registration-modal-kicker {
  margin: 0 0 .25rem;
  color: #8dd62c;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.registration-request-modal h2 {
  margin: 0;
  color: #565d62;
  font-size: 1.55rem;
  font-weight: 950;
  letter-spacing: -.03em;
}
.registration-modal-text {
  margin: .55rem 0 1.15rem;
  color: #565d62;
  line-height: 1.55;
  font-weight: 650;
}
.registration-modal-actions {
  display: grid;
  grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);
  gap: .6rem;
  margin-top: 1rem;
}
.registration-modal-actions .btn {
  min-height: 2.85rem;
  border-radius: .95rem;
  font-weight: 850;
}
.site-errors-kind-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin: 0 0 1rem;
}
.site-errors-kind-tab {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .65rem .9rem;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, .08);
  color: #475467;
  font-weight: 850;
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
}
.site-errors-kind-tab:hover,
.site-errors-kind-tab:focus,
.site-errors-kind-tab.active {
  color: #8dd62c;
  background: #f7faef;
  border-color: rgba(141, 214, 44, .18);
  text-decoration: none;
}
@media (max-width: 575px) {
  .registration-modal-actions {
    grid-template-columns: 1fr;
  }
  .site-errors-kind-tab {
    flex: 1 1 calc(50% - .55rem);
    justify-content: center;
  }
}

/* v46: objects page header alignment + slightly narrower adaptive project cards. */
.objects-page {
  max-width: 1500px !important;
}
.objects-head {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: .55rem !important;
  margin-bottom: 1.35rem !important;
}
.objects-subtitle {
  max-width: 640px !important;
  margin: 0 !important;
  padding: .55rem .78rem !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .78) !important;
  border: 1px solid rgba(208, 218, 236, .78) !important;
  color: #5f6f8e !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
  box-shadow: 0 10px 24px rgba(26, 45, 82, .05) !important;
}
.objects-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 500px)) !important;
  justify-content: start !important;
  align-items: stretch !important;
  gap: 1.25rem !important;
}
.object-card {
  min-height: 22.9rem !important;
  padding: 1.3rem !important;
}
.object-icon {
  width: 3.05rem !important;
  height: 3.05rem !important;
}
.object-title {
  margin-top: .9rem !important;
}
.object-description-spacer {
  min-height: .8rem !important;
  margin: .45rem 0 .6rem !important;
}
.object-stat-row {
  min-height: 3.15rem !important;
  padding: .6rem .68rem !important;
}
@media (min-width: 1540px) {
  .objects-grid {
    grid-template-columns: repeat(3, minmax(320px, 500px)) !important;
  }
}
@media (max-width: 1120px) {
  .objects-grid {
    grid-template-columns: repeat(2, minmax(min(300px, 100%), 1fr)) !important;
  }
}
@media (max-width: 760px) {
  .objects-head {
    gap: .45rem !important;
  }
  .objects-subtitle {
    border-radius: 1rem !important;
    font-size: .92rem !important;
  }
  .objects-grid {
    grid-template-columns: 1fr !important;
  }
  .object-card {
    min-height: 0 !important;
    padding: 1rem !important;
  }
}

/* v47: issued employees table uses the same calm row animation as issue tasks + prettier maintenance roadmap. */
.assignment-issued-table,
.assignment-issued-table tbody,
.assignment-issued-table thead,
.assignment-issued-table tr,
.assignment-issued-table th,
.assignment-issued-table td {
  transform: none !important;
}
.assignment-issued-table tbody tr,
.assignment-issued-table tbody tr > * {
  transition: background-color .14s ease, box-shadow .14s ease !important;
}
.assignment-issued-table tbody tr:hover,
.assignment-issued-table tbody tr:hover > * {
  transform: none !important;
  background: rgba(54, 93, 255, .03) !important;
  box-shadow: none !important;
}
.assignment-issued-table .assignment-issued-row.done-task:hover,
.assignment-issued-table .assignment-issued-row.done-task:hover > * {
  background: rgba(25, 135, 84, .075) !important;
}
.assignment-issued-table .assignment-room-pill,
.assignment-issued-table .assignment-task-text,
.assignment-issued-table .assignment-status-toggle,
.assignment-issued-table .assignment-issued-actions .btn {
  transform: none !important;
}
.assignment-issued-table .assignment-status-toggle:hover,
.assignment-issued-table .assignment-issued-actions .btn:hover {
  transform: none !important;
}

.maintenance-card {
  width: min(100%, 880px) !important;
}
.maintenance-roadmap {
  width: min(100%, 720px) !important;
  padding: 1.05rem !important;
  border-radius: 1.35rem !important;
  background:
    radial-gradient(circle at 10% 0%, rgba(141, 214, 44, .14), transparent 14rem),
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(246,249,255,.96)) !important;
  border: 1px solid rgba(141, 214, 44, .12) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 14px 34px rgba(31, 52, 90, .08) !important;
  text-align: left !important;
}
.maintenance-roadmap-head {
  display: grid;
  gap: .32rem;
  margin-bottom: .85rem;
}
.maintenance-roadmap-head p {
  margin: 0;
  color: #565d62;
  font-size: .93rem;
  line-height: 1.55;
  font-weight: 650;
}
.maintenance-roadmap-title {
  display: inline-flex !important;
  align-items: center !important;
  gap: .5rem !important;
  margin: 0 !important;
  color: var(--crm-title, #565d62) !important;
  font-size: 1.05rem !important;
  font-weight: 950 !important;
  letter-spacing: -.02em !important;
}
.maintenance-roadmap-title i {
  width: 2rem;
  height: 2rem;
  display: inline-grid;
  place-items: center;
  border-radius: .8rem;
  color: #fff !important;
  background: linear-gradient(135deg, #8dd62c, #9fdf4c);
  box-shadow: 0 10px 20px rgba(141, 214, 44, .18);
}
.maintenance-roadmap-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem;
}
.maintenance-roadmap-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .65rem;
  align-items: flex-start;
  padding: .78rem;
  border-radius: 1rem;
  background: rgba(255, 255, 255, .82);
  border: 1px solid rgba(15, 23, 42, .06);
  box-shadow: 0 8px 20px rgba(31, 52, 90, .045);
}
.maintenance-roadmap-item > span {
  width: 2.25rem;
  height: 2.25rem;
  display: inline-grid;
  place-items: center;
  border-radius: .8rem;
  color: #8dd62c;
  background: #f7faef;
  font-size: 1rem;
}
.maintenance-roadmap-item b,
.maintenance-roadmap-item small {
  display: block;
}
.maintenance-roadmap-item b {
  color: #565d62;
  font-size: .92rem;
  font-weight: 900;
  line-height: 1.25;
  margin-bottom: .18rem;
}
.maintenance-roadmap-item small {
  color: #63708a;
  font-size: .82rem;
  line-height: 1.42;
  font-weight: 650;
}
.maintenance-roadmap ul {
  display: none !important;
}
@media (max-width: 720px) {
  .maintenance-card {
    width: min(100%, 620px) !important;
  }
  .maintenance-roadmap-grid {
    grid-template-columns: 1fr !important;
  }
  .maintenance-roadmap {
    padding: .9rem !important;
  }
  .maintenance-roadmap-item {
    padding: .7rem !important;
  }
}


/* Developer section: messages + deletion logs */
.developer-section-tabs {
  display: inline-flex;
  flex-wrap: wrap;
  gap: .5rem;
  padding: .35rem;
  margin: 0 0 1rem;
  border-radius: 1rem;
  background: rgba(255,255,255,.76);
  border: 1px solid rgba(15, 23, 42, .08);
  box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
}
.developer-section-tab {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .65rem .95rem;
  border-radius: .8rem;
  color: #536179;
  font-weight: 850;
  text-decoration: none;
  transition: background .18s ease, color .18s ease, transform .18s ease;
}
.developer-section-tab:hover,
.developer-section-tab:focus {
  color: #8dd62c;
  background: rgba(141, 214, 44, .08);
  transform: translateY(-1px);
}
.developer-section-tab.active {
  color: #fff;
  background: linear-gradient(135deg, #8dd62c, #9fdf4c);
  box-shadow: 0 10px 22px rgba(141, 214, 44, .22);
}
.registration-captcha-question {
  display: flex;
  align-items: center;
  gap: .55rem;
  padding: .75rem .9rem;
  border-radius: .9rem;
  background: rgba(141, 214, 44, .08);
  color: #565d62;
  font-weight: 800;
}
.registration-captcha-question i {
  color: #8dd62c;
}
.developer-delete-log-list {
  display: grid;
  gap: .85rem;
}
.developer-delete-log-card {
  overflow: hidden;
}
.developer-delete-log-card::before {
  content: "";
  display: block;
  height: .22rem;
  background: linear-gradient(90deg, #ef4444, #f97316);
}
.developer-delete-log-card.is-undone::before {
  background: linear-gradient(90deg, #22c55e, #14b8a6);
}
.developer-delete-log-head,
.developer-delete-log-meta,
.developer-delete-log-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .55rem;
  justify-content: space-between;
}
.developer-delete-log-title {
  margin: .85rem 0 .35rem;
  color: #565d62;
  font-size: 1.05rem;
  font-weight: 950;
}
.developer-delete-log-text {
  margin: 0;
  color: #5f6b7c;
  line-height: 1.55;
}
.developer-delete-log-meta {
  justify-content: flex-start;
  margin-top: .85rem;
  color: #565d62;
  font-size: .88rem;
}
.developer-delete-log-meta span {
  display: inline-flex;
  align-items: center;
  padding: .35rem .55rem;
  border-radius: 999px;
  background: #f5f7fb;
}
.developer-delete-log-actions {
  justify-content: flex-start;
  margin-top: .95rem;
}
.developer-delete-log-done {
  display: inline-flex;
  align-items: center;
  color: #12805c;
  font-weight: 850;
}
.developer-delete-log-done.muted {
  color: #565d62;
}
@media (max-width: 576px) {
  .developer-section-tabs {
    display: grid;
  }
  .developer-section-tab {
    justify-content: center;
  }
}

/* Auth brand alignment: keep the login/registration logo centered above the form. */
.auth-shell .auth-brand {
  width: min(100%, 460px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: .55rem !important;
}

.auth-shell .auth-brand > div:last-child {
  text-align: center !important;
}

/* Keep footer at the bottom on the standalone documents/settings pages. */
.documents-standalone-layout {
  min-height: 100vh !important;
  display: flex !important;
  flex-direction: column !important;
}

.documents-standalone-layout .documents-content {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  width: min(100%, 1440px) !important;
}

.documents-standalone-layout .documents-content > .crm-footer {
  margin-top: auto !important;
}

/* Keep registration/logout buttons readable while the form is submitting or focused. */
.js-auth-submit-button,
.js-auth-submit-button.disabled,
.js-auth-submit-button:disabled,
.login-register-button,
.login-register-button:focus,
.login-register-button:active,
.login-register-button.show {
  color: inherit;
  font-size: inherit;
}

.js-auth-submit-button.btn-primary,
.js-auth-submit-button.btn-primary.disabled,
.js-auth-submit-button.btn-primary:disabled {
  color: #fff !important;
}

.js-auth-submit-button.btn-outline-secondary,
.js-auth-submit-button.btn-outline-secondary.disabled,
.js-auth-submit-button.btn-outline-secondary:disabled {
  color: #5b6472 !important;
  background: #fff !important;
}

.login-register-button.btn-outline-primary:focus,
.login-register-button.btn-outline-primary:active,
.login-register-button.btn-outline-primary.show {
  color: #fff !important;
}

/* Auth brand: place the A logo neatly before the Передача title. */
.auth-shell .auth-brand-main {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .75rem !important;
}

.auth-shell .auth-brand-main .brand-mark {
  flex: 0 0 auto !important;
  margin: 0 !important;
}

.auth-shell .auth-brand-title {
  line-height: 1 !important;
  text-align: left !important;
}

.auth-shell .auth-brand-subtitle {
  width: 100% !important;
  text-align: center !important;
}

/* Login page: show the CRM signature right under the registration button. */
.auth-login-inline-footer {
  margin-top: .85rem !important;
  padding: 0 !important;
  justify-content: center !important;
  text-align: center !important;
}

.auth-login-inline-footer span {
  font-size: .82rem !important;
  padding: .35rem .75rem !important;
  border-radius: 999px !important;
  opacity: .86 !important;
}

/* Registration request: two-step modal without the old top icon. */
.registration-step {
  display: none;
}

.registration-step.is-active {
  display: block;
  animation: registrationStepIn .18s ease-out both;
}

@keyframes registrationStepIn {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.registration-request-modal .registration-modal-icon {
  display: none !important;
}

/* Registration captcha uses the same visual pattern as login captcha. */
.registration-request-modal .login-captcha-box-standalone {
  margin-bottom: 1rem !important;
}

.registration-request-modal .registration-captcha-question,
.registration-request-modal .registration-captcha-question i {
  display: none !important;
}

/* Settings polish: compact, centered and less stretched. */
.settings-standalone-layout .documents-content {
  align-items: center !important;
  padding-left: 1.25rem !important;
  padding-right: 1.25rem !important;
  background:
    radial-gradient(circle at 10% 6%, rgba(141, 214, 44, .08), transparent 18rem),
    radial-gradient(circle at 90% 12%, rgba(141, 214, 44, .09), transparent 16rem),
    linear-gradient(180deg, #f9fbf5 0%, #ffffff 54%, #f9fbf5 100%) !important;
}

.settings-page-shell {
  width: min(100%, 920px) !important;
  margin: 0 auto !important;
}

.settings-standalone-layout .settings-page-head {
  width: 100% !important;
  margin: .25rem 0 .9rem !important;
  padding: .95rem 1.1rem !important;
  border: 1px solid rgba(200, 211, 232, .68) !important;
  border-radius: 1.25rem !important;
  background: rgba(255, 255, 255, .78) !important;
  box-shadow: 0 18px 42px rgba(31, 45, 61, .07) !important;
  backdrop-filter: blur(10px) !important;
}

.settings-standalone-layout .settings-page-head .page-title {
  font-size: clamp(1.65rem, 3vw, 2.25rem) !important;
  letter-spacing: -.04em !important;
}

.settings-standalone-layout .settings-grid {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: .85rem !important;
}

.settings-standalone-layout .settings-card {
  border: 1px solid rgba(200, 211, 232, .78) !important;
  border-radius: 1.25rem !important;
  background: rgba(255, 255, 255, .88) !important;
  box-shadow: 0 16px 38px rgba(31, 45, 61, .075) !important;
  overflow: hidden !important;
}

.settings-standalone-layout .settings-card .card-body {
  padding: 1.05rem !important;
  gap: .6rem !important;
}

.settings-standalone-layout .settings-card-head {
  align-items: center !important;
  gap: .75rem !important;
}

.settings-standalone-layout .settings-card-icon {
  width: 2.7rem !important;
  height: 2.7rem !important;
  flex-basis: 2.7rem !important;
  border-radius: .9rem !important;
  font-size: 1.25rem !important;
  box-shadow: inset 0 0 0 1px rgba(141, 214, 44, .08) !important;
}

.settings-standalone-layout .settings-switch-row {
  min-height: 4rem !important;
  margin-top: .65rem !important;
  padding: .8rem .85rem !important;
  border-radius: 1rem !important;
  background: linear-gradient(135deg, #f9fbf5, #ffffff) !important;
}

.settings-standalone-layout .settings-section-lock-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: .65rem !important;
}

.settings-standalone-layout .settings-section-lock {
  min-height: 4.25rem !important;
  padding: .75rem !important;
  border-radius: .95rem !important;
}

.settings-standalone-layout .settings-actions {
  grid-column: 1 / -1 !important;
  justify-content: flex-end !important;
  padding: .9rem 1rem !important;
  border: 1px solid rgba(200, 211, 232, .72) !important;
  border-radius: 1.15rem !important;
  background: rgba(255, 255, 255, .82) !important;
  box-shadow: 0 16px 36px rgba(31, 45, 61, .06) !important;
}

.settings-standalone-layout .settings-actions .btn {
  min-width: 11rem !important;
  min-height: 2.85rem !important;
  border-radius: .95rem !important;
  font-weight: 850 !important;
}

@media (max-width: 820px) {
  .settings-standalone-layout .settings-grid,
  .settings-standalone-layout .settings-section-lock-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Mobile under-development screen: animated loader instead of text. */
@media (max-width: 991.98px) {
  body.mobile-dev-flag .mobile-dev-screen {
    background:
      radial-gradient(circle at 18% 18%, rgba(141, 214, 44, .18), transparent 16rem),
      radial-gradient(circle at 82% 20%, rgba(141, 214, 44, .16), transparent 14rem),
      linear-gradient(180deg, #fefdfe 0%, #f7faef 100%) !important;
  }

  .mobile-loading-card {
    width: min(100%, 18rem) !important;
    min-height: 18rem !important;
    padding: 2.3rem !important;
    border-radius: 2rem !important;
    gap: 1.55rem !important;
    background: rgba(255, 255, 255, .78) !important;
    border: 1px solid rgba(200, 211, 232, .62) !important;
    box-shadow: 0 28px 90px rgba(31, 45, 61, .18) !important;
    backdrop-filter: blur(16px) !important;
  }

  .mobile-loading-card h1,
  .mobile-loading-card p,
  .mobile-loading-card .mobile-dev-icon {
    display: none !important;
  }

  .mobile-loading-orbit {
    position: relative;
    width: 8.5rem;
    height: 8.5rem;
    display: grid;
    place-items: center;
  }

  .mobile-loading-orbit::before,
  .mobile-loading-orbit::after,
  .mobile-loading-orbit > span {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 2px solid transparent;
  }

  .mobile-loading-orbit::before {
    border-top-color: rgba(141, 214, 44, .92);
    border-right-color: rgba(141, 214, 44, .24);
    animation: mobileLoaderSpin 1.15s linear infinite;
  }

  .mobile-loading-orbit::after {
    inset: .75rem;
    border-bottom-color: rgba(141, 214, 44, .9);
    border-left-color: rgba(141, 214, 44, .22);
    animation: mobileLoaderSpin 1.7s linear infinite reverse;
  }

  .mobile-loading-orbit > span:nth-child(1) {
    inset: 1.55rem;
    border-top-color: rgba(124, 58, 237, .42);
    animation: mobileLoaderPulse 1.6s ease-in-out infinite;
  }

  .mobile-loading-orbit > span:nth-child(2) {
    inset: -.35rem;
    border-right-color: rgba(141, 214, 44, .18);
    animation: mobileLoaderPulse 1.9s ease-in-out infinite .18s;
  }

  .mobile-loading-orbit > span:nth-child(3) {
    inset: 2.25rem;
    background: radial-gradient(circle, rgba(141, 214, 44, .1), transparent 68%);
    animation: mobileLoaderGlow 1.45s ease-in-out infinite alternate;
  }

  .mobile-loading-mark {
    width: 4.15rem;
    height: 4.15rem;
    display: grid;
    place-items: center;
    border-radius: 1.35rem;
    color: #fff;
    font-weight: 950;
    font-size: 2.05rem;
    letter-spacing: -.08em;
    background: linear-gradient(135deg, #8dd62c, #8dd62c);
    box-shadow: 0 18px 42px rgba(141, 214, 44, .3);
    animation: mobileLoaderMark 1.8s ease-in-out infinite;
  }

  .mobile-loading-dots {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
  }

  .mobile-loading-dots span {
    width: .55rem;
    height: .55rem;
    border-radius: 50%;
    background: #8dd62c;
    opacity: .32;
    animation: mobileLoaderDot 1s ease-in-out infinite;
  }

  .mobile-loading-dots span:nth-child(2) {
    animation-delay: .15s;
  }

  .mobile-loading-dots span:nth-child(3) {
    animation-delay: .3s;
  }

  .mobile-loading-card .mobile-loading-dots {
    display: none !important;
  }
}

@keyframes mobileLoaderSpin {
  to { transform: rotate(360deg); }
}

@keyframes mobileLoaderPulse {
  0%, 100% { transform: scale(.94); opacity: .34; }
  50% { transform: scale(1.04); opacity: .82; }
}

@keyframes mobileLoaderGlow {
  from { transform: scale(.9); opacity: .35; }
  to { transform: scale(1.12); opacity: .85; }
}

@keyframes mobileLoaderMark {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-3px) scale(1.04); }
}

@keyframes mobileLoaderDot {
  0%, 100% { transform: translateY(0); opacity: .3; }
  50% { transform: translateY(-.35rem); opacity: 1; }
}

/* Site-wide page loader. Uses the mobile loading style, but without the three dots. */
.site-page-loader {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: grid;
  place-items: center;
  padding: max(1.25rem, env(safe-area-inset-top)) 1.25rem max(1.25rem, env(safe-area-inset-bottom));
  background:
    radial-gradient(circle at 18% 18%, rgba(141, 214, 44, .18), transparent 17rem),
    radial-gradient(circle at 82% 20%, rgba(141, 214, 44, .16), transparent 15rem),
    linear-gradient(180deg, #fefdfe 0%, #f7faef 100%);
  opacity: 1;
  visibility: visible;
  transition: opacity .42s ease, visibility .42s ease;
}

.site-page-loader.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.site-page-loader-card {
  width: min(64vw, 19.5rem);
  aspect-ratio: 1;
  min-width: 15rem;
  display: grid;
  place-items: center;
  border-radius: clamp(2rem, 7vw, 3.5rem);
  background: rgba(255, 255, 255, .8);
  border: 1px solid rgba(200, 211, 232, .64);
  box-shadow: 0 34px 95px rgba(31, 45, 61, .18);
  backdrop-filter: blur(18px);
  transform: translateY(0);
  animation: siteLoaderCardIn .5s ease both;
}

.site-page-loader .mobile-loading-orbit {
  position: relative;
  width: clamp(8.5rem, 30vw, 11rem);
  height: clamp(8.5rem, 30vw, 11rem);
  display: grid;
  place-items: center;
}

.site-page-loader .mobile-loading-orbit::before,
.site-page-loader .mobile-loading-orbit::after,
.site-page-loader .mobile-loading-orbit > span {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2px solid transparent;
}

.site-page-loader .mobile-loading-orbit::before {
  border-top-color: rgba(141, 214, 44, .92);
  border-right-color: rgba(141, 214, 44, .24);
  animation: mobileLoaderSpin 1.15s linear infinite;
}

.site-page-loader .mobile-loading-orbit::after {
  inset: .75rem;
  border-bottom-color: rgba(141, 214, 44, .9);
  border-left-color: rgba(141, 214, 44, .22);
  animation: mobileLoaderSpin 1.7s linear infinite reverse;
}

.site-page-loader .mobile-loading-orbit > span:nth-child(1) {
  inset: 1.55rem;
  border-top-color: rgba(124, 58, 237, .42);
  animation: mobileLoaderPulse 1.6s ease-in-out infinite;
}

.site-page-loader .mobile-loading-orbit > span:nth-child(2) {
  inset: -.35rem;
  border-right-color: rgba(141, 214, 44, .18);
  animation: mobileLoaderPulse 1.9s ease-in-out infinite .18s;
}

.site-page-loader .mobile-loading-orbit > span:nth-child(3) {
  inset: 2.25rem;
  background: radial-gradient(circle, rgba(141, 214, 44, .1), transparent 68%);
  animation: mobileLoaderGlow 1.45s ease-in-out infinite alternate;
}

.site-page-loader .mobile-loading-mark {
  width: clamp(4.2rem, 15vw, 5.35rem);
  height: clamp(4.2rem, 15vw, 5.35rem);
  display: grid;
  place-items: center;
  border-radius: clamp(1.25rem, 4vw, 1.65rem);
  color: #fff;
  font-weight: 950;
  font-size: clamp(2rem, 7vw, 2.65rem);
  letter-spacing: -.08em;
  background: linear-gradient(135deg, #8dd62c, #8dd62c);
  box-shadow: 0 18px 42px rgba(141, 214, 44, .3);
  animation: mobileLoaderMark 1.8s ease-in-out infinite;
}

@keyframes siteLoaderCardIn {
  from { transform: translateY(1rem) scale(.97); opacity: 0; }
  to { transform: translateY(0) scale(1); opacity: 1; }
}

@media (min-width: 992px) {
  .site-page-loader-card {
    width: 20rem;
    min-width: 20rem;
    border-radius: 2.8rem;
  }

  .site-page-loader .mobile-loading-orbit {
    width: 10rem;
    height: 10rem;
  }
}

/* Maintenance screen: minimal closed-section state with animated loader. */
.maintenance-body {
  min-height: 100vh !important;
  background:
    radial-gradient(circle at 15% 18%, rgba(141, 214, 44, .18), transparent 18rem),
    radial-gradient(circle at 84% 24%, rgba(245, 158, 11, .16), transparent 15rem),
    linear-gradient(135deg, #f7faef 0%, #fffaf0 48%, #f9fbf5 100%) !important;
}

.maintenance-screen {
  min-height: 100vh !important;
  display: grid !important;
  place-items: center !important;
  padding: clamp(1.25rem, 4vw, 3rem) !important;
}

.maintenance-card {
  width: min(100%, 520px) !important;
  display: grid !important;
  justify-items: center !important;
  gap: 1rem !important;
  padding: clamp(1.6rem, 4vw, 2.6rem) !important;
  border: 1px solid rgba(200, 211, 232, .68) !important;
  border-radius: 2rem !important;
  background: rgba(255, 255, 255, .78) !important;
  text-align: center !important;
  box-shadow: 0 30px 90px rgba(31, 45, 61, .16) !important;
  backdrop-filter: blur(18px) !important;
  overflow: hidden !important;
}

.maintenance-card::before {
  height: .32rem !important;
  background: linear-gradient(90deg, #8dd62c, #8dd62c, #f59e0b) !important;
}

.maintenance-logo-wrap {
  width: 3.2rem !important;
  height: 3.2rem !important;
  margin: 0 !important;
  border-radius: 1rem !important;
  box-shadow: 0 16px 32px rgba(141, 214, 44, .16) !important;
}

.maintenance-icon,
.maintenance-roadmap,
.maintenance-hint {
  display: none !important;
}

.maintenance-loader {
  position: relative;
  width: 8.25rem;
  height: 8.25rem;
  display: grid;
  place-items: center;
  margin: .1rem 0 .25rem;
}

.maintenance-loader::before,
.maintenance-loader::after,
.maintenance-loader > span {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2px solid transparent;
}

.maintenance-loader::before {
  border-top-color: rgba(245, 158, 11, .95);
  border-right-color: rgba(245, 158, 11, .24);
  animation: maintenanceLoaderSpin 1.05s linear infinite;
}

.maintenance-loader::after {
  inset: .72rem;
  border-bottom-color: rgba(141, 214, 44, .92);
  border-left-color: rgba(141, 214, 44, .22);
  animation: maintenanceLoaderSpin 1.65s linear infinite reverse;
}

.maintenance-loader > span:nth-child(1) {
  inset: 1.5rem;
  border-top-color: rgba(141, 214, 44, .48);
  animation: maintenanceLoaderPulse 1.6s ease-in-out infinite;
}

.maintenance-loader > span:nth-child(2) {
  inset: -.35rem;
  border-right-color: rgba(141, 214, 44, .18);
  animation: maintenanceLoaderPulse 1.9s ease-in-out infinite .2s;
}

.maintenance-loader > span:nth-child(3) {
  inset: 2.15rem;
  background: radial-gradient(circle, rgba(245, 158, 11, .12), transparent 68%);
  animation: maintenanceLoaderGlow 1.45s ease-in-out infinite alternate;
}

.maintenance-loader-core {
  width: 4.1rem;
  height: 4.1rem;
  display: grid;
  place-items: center;
  border-radius: 1.35rem;
  color: #b45309;
  font-size: 2rem;
  background: linear-gradient(135deg, #fff7ed, #f7faef);
  box-shadow: 0 18px 42px rgba(245, 158, 11, .24);
  animation: maintenanceLoaderCore 1.8s ease-in-out infinite;
}

.maintenance-eyebrow {
  margin: .1rem 0 0 !important;
  color: #8dd62c !important;
  font-size: .8rem !important;
  font-weight: 950 !important;
  letter-spacing: .12em !important;
}

.maintenance-card h1 {
  max-width: 28rem !important;
  margin: 0 !important;
  color: #14213d !important;
  font-size: clamp(1.85rem, 4.5vw, 3rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -.055em !important;
}

.maintenance-subtitle {
  max-width: 25rem !important;
  margin: 0 !important;
  color: #565d62 !important;
  font-size: 1rem !important;
  line-height: 1.55 !important;
  font-weight: 750 !important;
}

.maintenance-progress {
  width: min(100%, 13rem) !important;
  height: .55rem !important;
  margin: .25rem 0 0 !important;
  border-radius: 999px !important;
  background: rgba(141, 214, 44, .08) !important;
  overflow: hidden !important;
}

.maintenance-progress span {
  display: block !important;
  width: 42% !important;
  height: 100% !important;
  border-radius: inherit !important;
  background: linear-gradient(90deg, #8dd62c, #8dd62c, #f59e0b) !important;
  animation: maintenanceProgressSlide 1.35s ease-in-out infinite alternate !important;
}

.maintenance-actions {
  margin-top: .25rem !important;
}

.maintenance-actions .btn {
  min-height: 2.75rem !important;
  border-radius: .95rem !important;
  font-weight: 850 !important;
}

@keyframes maintenanceLoaderSpin {
  to { transform: rotate(360deg); }
}

@keyframes maintenanceLoaderPulse {
  0%, 100% { transform: scale(.94); opacity: .34; }
  50% { transform: scale(1.04); opacity: .82; }
}

@keyframes maintenanceLoaderGlow {
  from { transform: scale(.9); opacity: .35; }
  to { transform: scale(1.12); opacity: .85; }
}

@keyframes maintenanceLoaderCore {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-3px) scale(1.04); }
}

@keyframes maintenanceProgressSlide {
  from { transform: translateX(-8%); }
  to { transform: translateX(145%); }
}

/* Developer section typography aligned with the Assignments section. */
.site-errors-list,
.developer-delete-log-list,
.developer-section-tabs,
.site-errors-kind-tabs,
.site-errors-filter-form,
.delete-error-modal {
  font-family: inherit !important;
}

body:has(.developer-section-tabs) .page-title,
body:has(.developer-section-tabs) .page-subtitle,
.developer-delete-log-title,
.site-error-message,
.delete-error-title {
  letter-spacing: normal !important;
}

body:has(.developer-section-tabs) .page-title {
  font-size: clamp(1.65rem, 3vw, 2.25rem) !important;
  line-height: 1.08 !important;
  font-weight: 600 !important;
  color: #000000 !important;
}

body:has(.developer-section-tabs) .page-subtitle {
  font-size: .95rem !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
  color: #000000 !important;
}

.developer-section-tab,
.site-errors-kind-tab,
.site-errors-filter-form .btn,
.site-error-actions .btn,
.developer-delete-log-actions .btn,
.delete-error-actions .btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .45rem !important;
  min-height: 40px !important;
  border-radius: 12px !important;
  font-size: .92rem !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  letter-spacing: normal !important;
}

.developer-section-tab,
.site-errors-kind-tab {
  padding: .62rem .95rem !important;
}

.developer-section-tab.active,
.site-errors-kind-tab.active {
  font-weight: 600 !important;
}

.developer-delete-log-title {
  font-size: 1rem !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
}

.site-error-message,
.developer-delete-log-text {
  font-size: .95rem !important;
  line-height: 1.5 !important;
  font-weight: 500 !important;
}

.site-error-head .badge,
.developer-delete-log-badge,
.developer-delete-log-meta,
.site-error-meta,
.developer-delete-log-done {
  font-size: .84rem !important;
  font-weight: 500 !important;
  letter-spacing: normal !important;
}

.developer-delete-log-done {
  min-height: 34px !important;
}

.delete-error-title {
  font-weight: 600 !important;
}

/* Maintenance typography should match the rest of the CRM. */
.maintenance-body,
.maintenance-card,
.maintenance-card h1,
.maintenance-subtitle,
.maintenance-eyebrow,
.maintenance-actions .btn {
  font-family: inherit !important;
  letter-spacing: normal !important;
}

.maintenance-eyebrow {
  font-size: .78rem !important;
  font-weight: 600 !important;
  text-transform: none !important;
}

.maintenance-card h1 {
  font-size: clamp(1.65rem, 3vw, 2.25rem) !important;
  line-height: 1.12 !important;
  font-weight: 600 !important;
  letter-spacing: normal !important;
}

.maintenance-subtitle {
  font-size: .95rem !important;
  line-height: 1.5 !important;
  font-weight: 500 !important;
}

.maintenance-actions .btn {
  font-size: .92rem !important;
  font-weight: 800 !important;
  border-radius: 12px !important;
}

/* Settings v2: premium compact cards with subtle motion. */
.settings-standalone-layout .documents-content {
  position: relative !important;
  align-items: center !important;
  padding: clamp(1rem, 2vw, 1.5rem) !important;
  background:
    radial-gradient(circle at 12% 10%, rgba(141, 214, 44, .16), transparent 18rem),
    radial-gradient(circle at 86% 18%, rgba(141, 214, 44, .14), transparent 16rem),
    radial-gradient(circle at 52% 100%, rgba(245, 158, 11, .10), transparent 18rem),
    linear-gradient(180deg, #f6f8ff 0%, #ffffff 54%, #f9fbf5 100%) !important;
  overflow-x: hidden !important;
}

.settings-standalone-layout .documents-content::before {
  content: "";
  position: fixed;
  inset: 5rem auto auto 50%;
  width: min(72vw, 760px);
  height: min(72vw, 760px);
  border-radius: 50%;
  background: conic-gradient(from 140deg, rgba(141, 214, 44, .08), rgba(141, 214, 44, .09), rgba(245, 158, 11, .08), rgba(141, 214, 44, .08));
  filter: blur(34px);
  transform: translateX(-50%);
  pointer-events: none;
  opacity: .68;
  animation: settingsAmbientFloat 10s ease-in-out infinite alternate;
}

.settings-page-shell {
  position: relative !important;
  z-index: 1 !important;
  width: min(100%, 900px) !important;
  margin: 0 auto !important;
}

.settings-standalone-layout .settings-page-head {
  position: relative !important;
  min-height: 5.4rem !important;
  display: flex !important;
  align-items: center !important;
  margin: .15rem 0 .95rem !important;
  padding: 1.15rem 1.25rem 1.15rem 4.85rem !important;
  border: 1px solid rgba(200, 211, 232, .64) !important;
  border-radius: 1.55rem !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .92), rgba(248, 251, 255, .82)),
    radial-gradient(circle at 100% 0%, rgba(141, 214, 44, .10), transparent 12rem) !important;
  box-shadow: 0 22px 54px rgba(31, 45, 61, .09) !important;
  backdrop-filter: blur(16px) !important;
  overflow: hidden !important;
  animation: settingsPanelIn .42s ease-out both;
}

.settings-standalone-layout .settings-page-head::before {
  content: "";
  position: absolute;
  left: 1.15rem;
  top: 50%;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 1rem;
  background: linear-gradient(135deg, #8dd62c, #8dd62c);
  box-shadow: 0 16px 30px rgba(141, 214, 44, .22);
  transform: translateY(-50%);
}

.settings-standalone-layout .settings-page-head::after {
  content: "";
  position: absolute;
  left: 2.04rem;
  top: 50%;
  width: .95rem;
  height: .95rem;
  border: 2px solid rgba(255, 255, 255, .95);
  border-radius: 50%;
  border-top-color: rgba(255, 255, 255, .22);
  transform: translateY(-50%);
  animation: settingsCogSpin 1.65s linear infinite;
}

.settings-standalone-layout .settings-page-head .page-title {
  margin: 0 !important;
  color: #14213d !important;
  font-size: clamp(1.65rem, 2.4vw, 2.15rem) !important;
  line-height: 1.05 !important;
  font-weight: 650 !important;
  letter-spacing: normal !important;
}

.settings-standalone-layout .settings-grid {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: .82rem !important;
}

.settings-standalone-layout .settings-card {
  position: relative !important;
  border: 1px solid rgba(200, 211, 232, .72) !important;
  border-radius: 1.35rem !important;
  background: rgba(255, 255, 255, .88) !important;
  box-shadow: 0 18px 42px rgba(31, 45, 61, .075) !important;
  overflow: hidden !important;
  isolation: isolate !important;
  transform: translateY(8px);
  animation: settingsCardIn .42s ease-out both;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.settings-standalone-layout .settings-card:nth-of-type(1) { animation-delay: .04s; }
.settings-standalone-layout .settings-card:nth-of-type(2) { animation-delay: .09s; }
.settings-standalone-layout .settings-card:nth-of-type(3) { animation-delay: .14s; }
.settings-standalone-layout .settings-card:nth-of-type(4) { animation-delay: .19s; }

.settings-standalone-layout .settings-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: .28rem;
  background: linear-gradient(90deg, #8dd62c, #8dd62c);
  opacity: .88;
  z-index: 2;
}

.settings-standalone-layout .settings-card::after {
  content: "";
  position: absolute;
  inset: -4rem -3rem auto auto;
  width: 9rem;
  height: 9rem;
  border-radius: 50%;
  background: rgba(141, 214, 44, .07);
  z-index: -1;
}

.settings-standalone-layout .settings-card:nth-of-type(2)::before {
  background: linear-gradient(90deg, #8dd62c, #8dd62c);
}

.settings-standalone-layout .settings-card-warning::before {
  background: linear-gradient(90deg, #f59e0b, #8dd62c);
}

.settings-standalone-layout .settings-card-locks::before {
  background: linear-gradient(90deg, #8dd62c, #7c3aed, #8dd62c);
}

.settings-standalone-layout .settings-card:hover,
.settings-standalone-layout .settings-card:focus-within {
  transform: translateY(-3px) !important;
  border-color: rgba(141, 214, 44, .28) !important;
  box-shadow: 0 26px 62px rgba(31, 45, 61, .12) !important;
}

.settings-standalone-layout .settings-card .card-body {
  padding: 1.05rem !important;
  gap: .7rem !important;
}

.settings-standalone-layout .settings-card-head {
  align-items: center !important;
  gap: .75rem !important;
}

.settings-standalone-layout .settings-card-icon {
  width: 2.75rem !important;
  height: 2.75rem !important;
  flex-basis: 2.75rem !important;
  border-radius: 1rem !important;
  color: #8dd62c !important;
  background: linear-gradient(135deg, rgba(141, 214, 44, .12), rgba(141, 214, 44, .12)) !important;
  box-shadow: inset 0 0 0 1px rgba(141, 214, 44, .08), 0 12px 24px rgba(141, 214, 44, .09) !important;
  transition: transform .2s ease, box-shadow .2s ease;
}

.settings-standalone-layout .settings-card:hover .settings-card-icon {
  transform: rotate(-4deg) scale(1.04);
  box-shadow: inset 0 0 0 1px rgba(141, 214, 44, .08), 0 16px 30px rgba(141, 214, 44, .14) !important;
}

.settings-standalone-layout .settings-card .section-title {
  color: #565d62 !important;
  font-size: 1.02rem !important;
  line-height: 1.15 !important;
  font-weight: 650 !important;
  letter-spacing: normal !important;
}

.settings-standalone-layout .settings-switch-row {
  min-height: 4.05rem !important;
  margin-top: .55rem !important;
  padding: .78rem .82rem !important;
  border: 1px solid rgba(200, 211, 232, .70) !important;
  border-radius: 1rem !important;
  background: linear-gradient(135deg, rgba(248, 251, 255, .98), rgba(255, 255, 255, .96)) !important;
  transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.settings-standalone-layout .settings-switch-row:hover {
  transform: translateY(-1px);
  border-color: rgba(141, 214, 44, .22) !important;
  box-shadow: 0 12px 26px rgba(31, 45, 61, .06) !important;
}

.settings-standalone-layout .settings-switch-row b,
.settings-standalone-layout .settings-section-lock-copy b {
  font-weight: 600 !important;
  letter-spacing: normal !important;
}

.settings-standalone-layout .settings-switch-row small,
.settings-standalone-layout .settings-section-lock-copy small,
.settings-standalone-layout .settings-card-locks .text-muted {
  font-weight: 500 !important;
  line-height: 1.38 !important;
}

.settings-standalone-layout .settings-switch {
  width: 3.05rem !important;
  height: 1.62rem !important;
  border: 0 !important;
  background-color: #d7deea !important;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, .06) !important;
  transition: background-color .2s ease, box-shadow .2s ease, transform .18s ease !important;
}

.settings-standalone-layout .settings-switch:hover {
  transform: scale(1.03);
}

.settings-standalone-layout .settings-switch:checked {
  background-color: #8dd62c !important;
  box-shadow: 0 8px 18px rgba(141, 214, 44, .24) !important;
}

.settings-standalone-layout .settings-card-wide {
  grid-column: 1 / -1 !important;
}

.settings-standalone-layout .settings-card-locks .card-body {
  padding: 1.15rem !important;
}

.settings-standalone-layout .settings-section-lock-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: .68rem !important;
}

.settings-standalone-layout .settings-section-lock {
  min-height: 4.65rem !important;
  padding: .78rem !important;
  border-radius: 1rem !important;
  background: rgba(255, 255, 255, .74) !important;
  box-shadow: 0 10px 24px rgba(31, 45, 61, .045) !important;
}

.settings-standalone-layout .settings-section-lock:hover {
  transform: translateY(-2px) !important;
}

.settings-standalone-layout .settings-section-lock.is-active {
  border-color: rgba(245, 158, 11, .42) !important;
  background: linear-gradient(135deg, #fff7ed, #ffffff) !important;
}

.settings-standalone-layout .settings-section-lock-icon {
  width: 2.45rem !important;
  height: 2.45rem !important;
  border-radius: .86rem !important;
}

.settings-standalone-layout .settings-actions {
  grid-column: 1 / -1 !important;
  position: sticky !important;
  bottom: .75rem !important;
  z-index: 5 !important;
  justify-content: flex-end !important;
  padding: .72rem !important;
  border: 1px solid rgba(200, 211, 232, .68) !important;
  border-radius: 1.2rem !important;
  background: rgba(255, 255, 255, .80) !important;
  box-shadow: 0 18px 44px rgba(31, 45, 61, .10) !important;
  backdrop-filter: blur(14px) !important;
  animation: settingsCardIn .42s ease-out .24s both;
}

.settings-standalone-layout .settings-actions .btn {
  min-width: 10.5rem !important;
  min-height: 2.7rem !important;
  border-radius: 12px !important;
  font-weight: 800 !important;
  box-shadow: 0 14px 28px rgba(141, 214, 44, .22) !important;
}

@keyframes settingsPanelIn {
  from { opacity: 0; transform: translateY(10px) scale(.99); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes settingsCardIn {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes settingsCogSpin {
  to { transform: translateY(-50%) rotate(360deg); }
}

@keyframes settingsAmbientFloat {
  from { transform: translateX(-50%) translateY(-1rem) rotate(0deg); }
  to { transform: translateX(-50%) translateY(1rem) rotate(18deg); }
}

@media (max-width: 980px) {
  .settings-standalone-layout .settings-grid,
  .settings-standalone-layout .settings-section-lock-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 700px) {
  .settings-standalone-layout .settings-grid,
  .settings-standalone-layout .settings-section-lock-grid {
    grid-template-columns: 1fr !important;
  }

  .settings-standalone-layout .settings-page-head {
    padding-left: 1.15rem !important;
    padding-top: 4.6rem !important;
  }

  .settings-standalone-layout .settings-page-head::before {
    top: 1.15rem;
    transform: none;
  }

  .settings-standalone-layout .settings-page-head::after {
    top: 2.05rem;
    transform: none;
  }

  .settings-standalone-layout .settings-actions {
    position: static !important;
  }

  .settings-standalone-layout .settings-actions .btn {
    width: 100% !important;
  }
}

/* Registration captcha: show the math example after the first Register click. */
.registration-request-modal .captcha-question {
  display: block !important;
  margin: .8rem 0 .65rem !important;
  color: #565d62 !important;
  font-size: 1.08rem !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  text-align: left !important;
}

.registration-request-modal .captcha-answer-wrap {
  margin-top: 0 !important;
}

/* Developer filters: match Assignments buttons and the main developer tabs typography. */
body:has(.developer-section-tabs) .site-errors-filter-form .btn,
body:has(.developer-section-tabs) .filter-actions .btn {
  min-height: 40px !important;
  border-radius: 12px !important;
  font-size: .92rem !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  letter-spacing: normal !important;
}

body:has(.developer-section-tabs) .site-errors-kind-tab,
body:has(.developer-section-tabs) .site-errors-kind-tab.active,
body:has(.developer-section-tabs) .developer-section-tab,
body:has(.developer-section-tabs) .developer-section-tab.active {
  font-size: .92rem !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  letter-spacing: normal !important;
}

/* Login page footer: keep CRM signature at the bottom of the page. */
.auth-shell .auth-footer {
  margin-top: auto !important;
  width: 100% !important;
  justify-content: center !important;
}

/* Registration anti-bot text visibility fix. */
.registration-request-modal .login-captcha-box {
  color: #565d62 !important;
}

.registration-request-modal .captcha-title,
.registration-request-modal .captcha-title span {
  display: flex !important;
  align-items: center !important;
  gap: .45rem !important;
  color: #565d62 !important;
  font-size: .95rem !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.registration-request-modal .captcha-title i {
  color: #8dd62c !important;
}

.registration-request-modal label.captcha-question {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 3rem !important;
  width: 100% !important;
  margin: .7rem 0 .75rem !important;
  padding: .65rem .9rem !important;
  border: 1px dashed rgba(141, 214, 44, .36) !important;
  border-radius: 1rem !important;
  background: #fff !important;
  color: #565d62 !important;
  font-size: 1.22rem !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  letter-spacing: .02em !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Login anti-bot step: keep card aligned with the normal login window. */
.auth-shell .login-captcha-wrap .login-card {
  min-height: 332px !important;
  display: flex !important;
  align-items: center !important;
}

.auth-shell .login-captcha-wrap .login-card .card-body {
  width: 100% !important;
}

@media (max-width: 575.98px), (max-height: 720px) {
  .auth-shell .login-captcha-wrap .login-card {
    min-height: 0 !important;
  }
}

/* Settings: centered save action and gear header icon. */
.settings-standalone-layout .settings-page-head::after {
  content: "\F3E5" !important;
  left: 1.86rem !important;
  top: 50% !important;
  width: auto !important;
  height: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #fff !important;
  font-family: "bootstrap-icons" !important;
  font-size: 1.15rem !important;
  line-height: 1 !important;
  animation: none !important;
  transform: translateY(-50%) !important;
}

.settings-standalone-layout .settings-actions {
  justify-content: center !important;
}

@media (max-width: 700px) {
  .settings-standalone-layout .settings-page-head::after {
    top: 2rem !important;
    transform: none !important;
  }
}

/* Maintenance closed sections: no top logo, no bottom progress, Back instead of Settings. */
.maintenance-card .maintenance-logo-wrap,
.maintenance-card .maintenance-progress {
  display: none !important;
}

.maintenance-card {
  padding-top: clamp(1.8rem, 4vw, 2.8rem) !important;
}

.maintenance-actions {
  justify-content: center !important;
  margin-top: .45rem !important;
}

.maintenance-actions .btn {
  min-width: 8.5rem !important;
}

/* Closed sections and full-site maintenance use the same notice style as Documents. */
.maintenance-body {
  min-height: 100vh !important;
  background:
    radial-gradient(circle at top left, rgba(141, 214, 44, .14), transparent 20rem),
    radial-gradient(circle at bottom right, rgba(141, 214, 44, .10), transparent 18rem),
    linear-gradient(180deg, #f9fbf5 0%, #f7faef 100%) !important;
}

.maintenance-screen {
  min-height: 100vh !important;
  display: grid !important;
  place-items: center !important;
  padding: 2rem 1rem !important;
}

.maintenance-under-dev-page {
  min-height: auto !important;
  width: min(100%, 620px) !important;
  padding: 0 !important;
}

.maintenance-under-dev-page .maintenance-card {
  width: min(100%, 620px) !important;
  border: 0 !important;
  border-radius: 1.65rem !important;
  background: rgba(255, 255, 255, .94) !important;
  box-shadow: 0 22px 60px rgba(31, 45, 61, .12) !important;
  overflow: hidden !important;
}

.maintenance-under-dev-page .maintenance-card::before,
.maintenance-under-dev-page .maintenance-card::after {
  display: none !important;
}

.maintenance-under-dev-page .maintenance-card .card-body {
  display: grid !important;
  justify-items: center !important;
  gap: .8rem !important;
  padding: 3rem 2rem !important;
  text-align: center !important;
}

.maintenance-under-dev-page .under-dev-icon {
  display: inline-grid !important;
  place-items: center !important;
  width: 3rem !important;
  height: 3rem !important;
  flex: 0 0 3rem !important;
  border-radius: 1rem !important;
  background: linear-gradient(135deg, rgba(141, 214, 44, .12), rgba(141, 214, 44, .12)) !important;
  color: var(--crm-primary, #8dd62c) !important;
  font-size: 1.45rem !important;
}

.maintenance-under-dev-page h1 {
  margin: .35rem 0 0 !important;
  color: var(--crm-title, #565d62) !important;
  font-size: clamp(1.55rem, 3vw, 2.35rem) !important;
  line-height: 1.12 !important;
  font-weight: 650 !important;
  letter-spacing: normal !important;
}

.maintenance-under-dev-page p {
  max-width: 34rem !important;
  margin: 0 !important;
  color: var(--crm-muted, #565d62) !important;
  font-size: .95rem !important;
  line-height: 1.55 !important;
  font-weight: 500 !important;
}

.maintenance-under-dev-page .btn {
  min-width: 9rem !important;
  min-height: 2.75rem !important;
  margin-top: .25rem !important;
  border-radius: 12px !important;
  font-size: .92rem !important;
  font-weight: 800 !important;
}

/* Settings save button now lives inside the section-lock card. */
.settings-standalone-layout .settings-card-locks .settings-card-actions {
  position: static !important;
  display: flex !important;
  justify-content: flex-end !important;
  margin-top: .9rem !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  animation: none !important;
}

.settings-standalone-layout .settings-card-locks .settings-card-actions .btn {
  min-width: 10.5rem !important;
  min-height: 2.7rem !important;
  border-radius: 12px !important;
  font-weight: 800 !important;
}

@media (max-width: 700px) {
  .settings-standalone-layout .settings-card-locks .settings-card-actions .btn {
    width: 100% !important;
  }
}

/* Settings autosave: no separate save button, soften controls while submitting. */
.settings-grid.is-autosaving {
  pointer-events: none;
  opacity: .72;
  transition: opacity .16s ease;
}

.settings-standalone-layout .settings-card-locks .settings-card-actions {
  display: none !important;
}

/* Settings autosave should be visually invisible. */
.settings-grid.is-autosaving {
  pointer-events: auto !important;
  opacity: 1 !important;
  transition: none !important;
}

/* Developer page final typography: match the Assignments screen. */
body:has(.developer-section-tabs) .page-head {
  margin-bottom: 14px !important;
}

body:has(.developer-section-tabs) .page-title {
  color: #000000 !important;
  font-size: clamp(2.05rem, 3.2vw, 2.75rem) !important;
  line-height: 1.08 !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  text-shadow: none !important;
  filter: none !important;
}

body:has(.developer-section-tabs) .page-subtitle {
  color: #000000 !important;
  font-size: .95rem !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
  letter-spacing: normal !important;
  text-shadow: none !important;
  filter: none !important;
}

body:has(.developer-section-tabs) .developer-section-tab,
body:has(.developer-section-tabs) .site-errors-kind-tab,
body:has(.developer-section-tabs) .site-errors-filter-form .btn,
body:has(.developer-section-tabs) .filter-actions .btn,
body:has(.developer-section-tabs) .site-error-actions .btn,
body:has(.developer-section-tabs) .developer-delete-log-actions .btn,
body:has(.developer-section-tabs) .delete-error-actions .btn {
  min-height: 40px !important;
  padding: .62rem .95rem !important;
  border-radius: 12px !important;
  font-size: .92rem !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  letter-spacing: normal !important;
}

body:has(.developer-section-tabs) .developer-section-tab.active,
body:has(.developer-section-tabs) .site-errors-kind-tab.active {
  font-weight: 800 !important;
}

body:has(.developer-section-tabs) .developer-section-tab i,
body:has(.developer-section-tabs) .site-errors-kind-tab i,
body:has(.developer-section-tabs) .btn i {
  font-size: 1rem !important;
}

body:has(.developer-section-tabs) .site-errors-filter-form label,
body:has(.developer-section-tabs) .site-errors-filter-form .form-label {
  color: #565d62 !important;
  font-size: .86rem !important;
  font-weight: 600 !important;
  letter-spacing: normal !important;
}

/* Auth layout lock.
   Keep this block at the end: it prevents the login logo/card from drifting after later UI edits. */
html:has(body.auth-body),
body.auth-body {
  min-height: 100% !important;
}

body.auth-body .auth-shell {
  min-height: 100vh !important;
  min-height: 100dvh !important;
  box-sizing: border-box !important;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  padding: clamp(1.5rem, 5vh, 3rem) 1rem calc(5.25rem + env(safe-area-inset-bottom)) !important;
}

body.auth-body .auth-shell .auth-brand {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  width: min(100%, 28.75rem) !important;
  max-width: 28.75rem !important;
  margin: 0 auto 1rem !important;
  padding: 0 !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}

body.auth-body .auth-shell .auth-brand-main {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .7rem !important;
  width: auto !important;
  margin: 0 auto !important;
}

body.auth-body .auth-shell .auth-brand-subtitle {
  width: 100% !important;
  margin: .75rem auto 0 !important;
  text-align: center !important;
}

body.auth-body .auth-shell .auth-flashes {
  position: static !important;
  width: min(100%, 28.75rem) !important;
  max-width: 28.75rem !important;
  margin: 0 auto 1rem !important;
  transform: none !important;
}

body.auth-body .auth-shell .login-wrap {
  position: static !important;
  flex: 0 0 auto !important;
  width: min(100%, 28.75rem) !important;
  max-width: 28.75rem !important;
  margin: 0 auto !important;
  transform: none !important;
}

body.auth-body .auth-shell .login-card {
  width: 100% !important;
}

body.auth-body .auth-shell .auth-footer {
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  bottom: max(1.05rem, env(safe-area-inset-bottom)) !important;
  width: auto !important;
  margin: 0 !important;
  transform: translateX(-50%) !important;
  z-index: 30 !important;
  pointer-events: none !important;
}

@media (max-height: 720px) {
  body.auth-body .auth-shell {
    justify-content: flex-start !important;
    padding-top: 2rem !important;
    overflow-y: auto !important;
  }
}

/* iPhone install prompt on the login screen. */
.ios-install-button[hidden] {
  display: none !important;
}

.ios-install-button {
  width: auto !important;
  min-height: 2.15rem !important;
  margin: .75rem auto 0 !important;
  padding: .45rem .78rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .4rem !important;
  border: 1px solid rgba(141, 214, 44, .18) !important;
  border-radius: 999px !important;
  background: rgba(141, 214, 44, .08) !important;
  color: #8dd62c !important;
  font-size: .78rem !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  box-shadow: 0 12px 28px rgba(141, 214, 44, .08) !important;
}

.ios-install-button i {
  font-size: .92rem !important;
}

.ios-install-modal {
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 1.65rem !important;
  background:
    radial-gradient(circle at 14% 0%, rgba(141, 214, 44, .16), transparent 12rem),
    radial-gradient(circle at 92% 8%, rgba(141, 214, 44, .14), transparent 11rem),
    rgba(255, 255, 255, .96) !important;
  box-shadow: 0 28px 90px rgba(31, 45, 61, .2) !important;
}

.ios-install-hero {
  display: flex !important;
  align-items: center !important;
  gap: .9rem !important;
  padding: 1.2rem 1.2rem .8rem !important;
}

.ios-install-app-icon {
  width: 3.25rem !important;
  height: 3.25rem !important;
  display: grid !important;
  place-items: center !important;
  flex: 0 0 auto !important;
  border-radius: 1rem !important;
  color: #fff !important;
  font-size: 1.7rem !important;
  font-weight: 950 !important;
  letter-spacing: -.08em !important;
  background: linear-gradient(135deg, #8dd62c, #8dd62c) !important;
  box-shadow: 0 16px 34px rgba(141, 214, 44, .24) !important;
}

.ios-install-eyebrow {
  color: #8dd62c !important;
  font-size: .72rem !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

.ios-install-modal h2 {
  margin: .18rem 0 0 !important;
  color: #10203f !important;
  font-size: 1.25rem !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
  letter-spacing: -.03em !important;
}

.ios-install-body {
  padding: 0 1.2rem 1rem !important;
}

.ios-install-body p {
  margin: 0 0 1rem !important;
  color: #667396 !important;
  font-size: .93rem !important;
  line-height: 1.45 !important;
  font-weight: 600 !important;
}

.ios-install-steps {
  display: grid !important;
  gap: .65rem !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.ios-install-steps li {
  display: grid !important;
  grid-template-columns: 2rem 1fr !important;
  align-items: center !important;
  gap: .7rem !important;
  padding: .75rem !important;
  border: 1px solid rgba(200, 211, 232, .7) !important;
  border-radius: 1rem !important;
  background: rgba(255, 255, 255, .76) !important;
}

.ios-install-steps li > span {
  width: 2rem !important;
  height: 2rem !important;
  display: grid !important;
  place-items: center !important;
  border-radius: .75rem !important;
  color: #8dd62c !important;
  background: rgba(141, 214, 44, .1) !important;
  font-weight: 900 !important;
}

.ios-install-steps li > div {
  color: #565d62 !important;
  font-size: .92rem !important;
  line-height: 1.35 !important;
  font-weight: 650 !important;
}

.ios-install-note {
  margin-top: .85rem !important;
  padding: .75rem .85rem !important;
  border-radius: 1rem !important;
  color: #31515f !important;
  background: rgba(141, 214, 44, .1) !important;
  font-size: .85rem !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}

.ios-install-actions {
  padding: 0 1.2rem 1.2rem !important;
}

.ios-install-actions .btn {
  min-height: 2.75rem !important;
  border-radius: 1rem !important;
  font-weight: 850 !important;
}

body.standalone-app {
  padding-top: env(safe-area-inset-top) !important;
  padding-bottom: env(safe-area-inset-bottom) !important;
  background: #f7faef !important;
}

/* Auth logout notice lock: show "Вы вышли из CRM" beside the bottom-right question button. */
body.auth-body .auth-shell .crm-toast-stack.auth-flashes {
  position: fixed !important;
  top: auto !important;
  left: auto !important;
  right: calc(max(1rem, env(safe-area-inset-right)) + 4.15rem) !important;
  bottom: max(1.05rem, env(safe-area-inset-bottom)) !important;
  width: min(26rem, calc(100vw - 7rem)) !important;
  max-width: calc(100vw - 7rem) !important;
  margin: 0 !important;
  transform: none !important;
  align-self: auto !important;
  z-index: 3060 !important;
}

body.auth-body .auth-shell .crm-toast-stack.auth-flashes .crm-toast {
  margin: 0 !important;
}

@media (max-width: 575.98px) {
  body.auth-body .auth-shell .crm-toast-stack.auth-flashes {
    right: max(.85rem, env(safe-area-inset-right)) !important;
    bottom: calc(max(.85rem, env(safe-area-inset-bottom)) + 3.9rem) !important;
    left: max(.85rem, env(safe-area-inset-left)) !important;
    width: auto !important;
    max-width: none !important;
  }
}

/* Loader final tuning: smaller mark and brand-purple center, no green tint. */
.site-page-loader-card {
  width: min(56vw, 16.5rem) !important;
  min-width: 13rem !important;
  border-radius: clamp(1.75rem, 6vw, 2.75rem) !important;
}

.site-page-loader .mobile-loading-orbit {
  width: clamp(7.2rem, 24vw, 8.8rem) !important;
  height: clamp(7.2rem, 24vw, 8.8rem) !important;
}

.site-page-loader .mobile-loading-orbit::before {
  border-top-color: rgba(141, 214, 44, .92) !important;
  border-right-color: rgba(109, 139, 255, .28) !important;
}

.site-page-loader .mobile-loading-orbit::after {
  border-bottom-color: rgba(109, 139, 255, .82) !important;
  border-left-color: rgba(124, 58, 237, .24) !important;
}

.site-page-loader .mobile-loading-orbit > span:nth-child(1) {
  border-top-color: rgba(124, 58, 237, .5) !important;
}

.site-page-loader .mobile-loading-orbit > span:nth-child(2) {
  border-right-color: rgba(141, 214, 44, .18) !important;
}

.site-page-loader .mobile-loading-orbit > span:nth-child(3) {
  background: radial-gradient(circle, rgba(109, 139, 255, .13), transparent 68%) !important;
}

.site-page-loader .mobile-loading-mark {
  width: clamp(3.45rem, 11vw, 4.25rem) !important;
  height: clamp(3.45rem, 11vw, 4.25rem) !important;
  border-radius: clamp(1rem, 3vw, 1.25rem) !important;
  font-size: clamp(1.75rem, 5.5vw, 2.15rem) !important;
  background: linear-gradient(135deg, #9fdf4c, #8dd62c) !important;
  box-shadow: 0 16px 36px rgba(141, 214, 44, .28) !important;
}

@media (min-width: 992px) {
  .site-page-loader-card {
    width: 16.5rem !important;
    min-width: 16.5rem !important;
  }

  .site-page-loader .mobile-loading-orbit {
    width: 8.4rem !important;
    height: 8.4rem !important;
  }
}

/* Dashboard final palette: remove loud blue blocks and keep the page in the site style. */
.dashboard-page.dashboard-redesign {
  --dashboard-site-ink: #565d62;
  --dashboard-site-muted: #565d62;
  --dashboard-site-card: #ffffff;
  --dashboard-site-soft: #f6f8fb;
  --dashboard-site-line: rgba(15, 23, 42, .08);
  --dashboard-site-accent: #8dd62c;
}

.dashboard-page.dashboard-redesign .dashboard-redesign-hero,
.dashboard-page.dashboard-redesign .dashboard-focus-card,
.dashboard-page.dashboard-redesign .dashboard-info-card,
.dashboard-page.dashboard-redesign .dashboard-specialist-card {
  border-color: var(--dashboard-site-line) !important;
  background:
    radial-gradient(circle at 92% 6%, rgba(23, 32, 51, .055), transparent 13rem),
    linear-gradient(135deg, #ffffff 0%, #f8fafc 100%) !important;
  box-shadow: 0 16px 38px rgba(15, 23, 42, .07) !important;
}

.dashboard-page.dashboard-redesign .dashboard-redesign-hero {
  color: var(--dashboard-site-ink) !important;
}

.dashboard-page.dashboard-redesign .dashboard-eyebrow,
.dashboard-page.dashboard-redesign .dashboard-roadmap-eyebrow,
.dashboard-page.dashboard-redesign .dashboard-roadmap-mini-more,
.dashboard-page.dashboard-redesign .dashboard-specialist-top span {
  color: var(--dashboard-site-ink) !important;
}

.dashboard-page.dashboard-redesign .dashboard-subtitle,
.dashboard-page.dashboard-redesign .dashboard-roadmap-mini-text,
.dashboard-page.dashboard-redesign .dashboard-roadmap-subtitle,
.dashboard-page.dashboard-redesign .dashboard-progress-meta {
  color: var(--dashboard-site-muted) !important;
}

.dashboard-page.dashboard-redesign .dashboard-progress-panel,
.dashboard-page.dashboard-redesign .dashboard-mini-stats div,
.dashboard-page.dashboard-redesign .dashboard-line-list div {
  border-color: var(--dashboard-site-line) !important;
  background: rgba(255, 255, 255, .82) !important;
  box-shadow: 0 10px 26px rgba(15, 23, 42, .045) !important;
}

.dashboard-page.dashboard-redesign .dashboard-progress-ring {
  background: conic-gradient(var(--dashboard-site-accent) calc(var(--value) * 1%), #eef2f6 0) !important;
  box-shadow: 0 0 0 6px rgba(141, 214, 44, .08) !important;
}

.dashboard-page.dashboard-redesign .dashboard-progress-ring span,
.dashboard-page.dashboard-redesign .dashboard-big-number,
.dashboard-page.dashboard-redesign .dashboard-card-head h2,
.dashboard-page.dashboard-redesign .dashboard-info-title,
.dashboard-page.dashboard-redesign .dashboard-roadmap-mini-title,
.dashboard-page.dashboard-redesign .dashboard-roadmap-modal-head h2 {
  color: var(--dashboard-site-ink) !important;
}

.dashboard-page.dashboard-redesign .dashboard-card-head i,
.dashboard-page.dashboard-redesign .dashboard-info-title i,
.dashboard-page.dashboard-redesign .dashboard-roadmap-mini-title i,
.dashboard-page.dashboard-redesign .dashboard-roadmap-mini-list i,
.dashboard-page.dashboard-redesign .dashboard-roadmap-item i {
  color: var(--dashboard-site-ink) !important;
  background: #f2f4f7 !important;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, .06) !important;
}

.dashboard-page.dashboard-redesign .dashboard-roadmap-mini-card {
  background:
    radial-gradient(circle at 92% 10%, rgba(23, 32, 51, .07), transparent 14rem),
    radial-gradient(circle at 8% 100%, rgba(141, 214, 44, .08), transparent 13rem),
    linear-gradient(135deg, #ffffff 0%, #f7f9fc 100%) !important;
  border-color: var(--dashboard-site-line) !important;
  box-shadow: 0 16px 38px rgba(15, 23, 42, .07) !important;
}

.dashboard-page.dashboard-redesign .dashboard-roadmap-mini-card:hover,
.dashboard-page.dashboard-redesign .dashboard-roadmap-mini-card:focus {
  border-color: rgba(23, 32, 51, .16) !important;
  box-shadow: 0 20px 46px rgba(15, 23, 42, .10) !important;
}

.dashboard-page.dashboard-redesign .dashboard-roadmap-mini-glow {
  background: rgba(141, 214, 44, .10) !important;
}

.dashboard-page.dashboard-redesign .dashboard-roadmap-mini-list span {
  border-color: var(--dashboard-site-line) !important;
  background: rgba(255, 255, 255, .82) !important;
}

.dashboard-page.dashboard-redesign .dashboard-roadmap-modal-head {
  background: linear-gradient(135deg, #ffffff, #f6f8fb) !important;
  border-bottom-color: var(--dashboard-site-line) !important;
}

.dashboard-page.dashboard-redesign .dashboard-roadmap-badge,
.dashboard-page.dashboard-redesign .dashboard-roadmap-mini-tags span {
  color: var(--dashboard-site-ink) !important;
  background: #f2f4f7 !important;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, .06) !important;
}

/* Remarks/contractors export selection mirrors the Assignments checkbox pattern. */
.remarks-export-scope .remarks-selection-card {
  border-color: rgba(200, 211, 232, .72) !important;
  background: rgba(255, 255, 255, .9) !important;
}

.remarks-selection-body {
  display: grid;
  gap: .9rem;
}

.remarks-selection-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.remarks-selection-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .55rem;
}

.remarks-premise-filter {
  display: grid;
  gap: .7rem;
  padding-top: .85rem;
  border-top: 1px solid rgba(200, 211, 232, .62);
}

.remarks-premise-filter-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  color: var(--crm-title);
}

.remarks-premise-filter-head b {
  font-weight: 700;
}

.remarks-premise-filter-head span {
  color: var(--crm-muted);
  font-size: .88rem;
  line-height: 1.35;
}

.remarks-premise-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(10.5rem, 1fr));
  gap: .55rem;
}

.remarks-premise-option {
  min-height: 3rem;
  display: flex;
  align-items: center;
  gap: .65rem;
  padding: .62rem .72rem;
  border: 1px solid rgba(200, 211, 232, .72);
  border-radius: .9rem;
  background: linear-gradient(135deg, #ffffff, #f9fbf5);
  cursor: pointer;
}

.remarks-premise-option .form-check-input,
.remarks-export-scope .assignment-check-cell .form-check-input {
  width: 1.05rem;
  height: 1.05rem;
  flex: 0 0 auto;
  border-radius: .28rem;
  cursor: pointer;
}

.remarks-premise-option span {
  min-width: 0;
  display: grid;
  gap: .12rem;
}

.remarks-premise-option b,
.remarks-premise-option small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.remarks-premise-option b {
  color: var(--crm-title);
  font-size: .92rem;
}

.remarks-premise-option small {
  color: var(--crm-muted);
  font-size: .78rem;
}

.remarks-export-table-shell .assignment-check-cell {
  width: 3rem;
  text-align: center;
}

.remarks-export-scope .js-bulk-row.is-selected td {
  background: rgba(54, 93, 255, .06) !important;
  box-shadow: none !important;
}

.remarks-export-scope .js-bulk-row.is-selected td:first-child {
  box-shadow: inset 4px 0 0 #365dff !important;
}

@media (max-width: 760px) {
  .remarks-selection-main,
  .remarks-premise-filter-head {
    align-items: stretch;
    flex-direction: column;
  }

  .remarks-selection-actions .btn {
    width: 100%;
  }
}

/* Final override: keep PWA launch and logo marks consistent after page-specific rules. */
html.standalone-app,
html.standalone-app body,
body.standalone-app {
  width: 100%;
  min-height: 100%;
  overscroll-behavior: none !important;
  touch-action: manipulation !important;
  -webkit-text-size-adjust: 100%;
  background: #f7faef !important;
}

.app-launch-loader {
  display: none !important;
}

html.standalone-app .app-launch-loader {
  display: grid !important;
}

.brand-mark,
.mobile-top-avatar,
.mobile-loading-mark,
.ios-install-app-icon {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
}

.brand-mark::after,
.mobile-top-avatar::after,
.mobile-loading-mark::after,
.ios-install-app-icon::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 18% !important;
  width: 42% !important;
  height: max(2px, .07em) !important;
  border-radius: 999px !important;
  background: #fefdfe !important;
  transform: translateX(-50%) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

.mobile-loading-mark::after,
.ios-install-app-icon::after {
  bottom: 19% !important;
  width: 43% !important;
}

.mobile-top-avatar::after {
  bottom: 19% !important;
  width: 38% !important;
  height: 2px !important;
}

body.auth-body .auth-shell .auth-brand-main .brand-mark {
  width: 3rem !important;
  height: 3rem !important;
  border-radius: 1rem !important;
  font-size: 1.55rem !important;
  font-weight: 900 !important;
  background: linear-gradient(135deg, #9fdf4c, #8dd62c) !important;
}

.site-page-loader-card {
  width: min(62vw, 18.25rem) !important;
  min-width: 14.75rem !important;
  border-radius: clamp(1.95rem, 6vw, 3rem) !important;
}

.site-page-loader .mobile-loading-orbit {
  width: clamp(8.25rem, 27vw, 9.85rem) !important;
  height: clamp(8.25rem, 27vw, 9.85rem) !important;
}

.site-page-loader .mobile-loading-mark {
  width: clamp(4.25rem, 13vw, 5rem) !important;
  height: clamp(4.25rem, 13vw, 5rem) !important;
  border-radius: clamp(1.18rem, 3vw, 1.45rem) !important;
  font-size: clamp(2rem, 6vw, 2.45rem) !important;
  font-weight: 950 !important;
  background: linear-gradient(135deg, #9fdf4c, #8dd62c) !important;
  animation: mobileLoaderMark 1.65s cubic-bezier(.4, 0, .2, 1) infinite !important;
}

@media (max-width: 991.98px) {
  .mobile-loading-card {
    width: min(100%, 19rem) !important;
    min-height: 19rem !important;
  }

  .mobile-loading-card .mobile-loading-orbit {
    width: 9.25rem !important;
    height: 9.25rem !important;
  }

  .mobile-loading-card .mobile-loading-mark {
    width: 4.7rem !important;
    height: 4.7rem !important;
    border-radius: 1.45rem !important;
    font-size: 2.35rem !important;
    background: linear-gradient(135deg, #9fdf4c, #8dd62c) !important;
  }
}

@media (min-width: 992px) {
  .site-page-loader-card {
    width: 18.25rem !important;
    min-width: 18.25rem !important;
  }

  .site-page-loader .mobile-loading-orbit {
    width: 9.55rem !important;
    height: 9.55rem !important;
  }
}


/* v88 brand refresh: Akvilon green/gray/white identity */
:root {
  --crm-bg: #fefdfe;
  --crm-surface: #fefdfe;
  --crm-surface-soft: rgba(254, 253, 254, 0.94);
  --crm-border: #dfe5da;
  --crm-border-strong: #cfd6c9;
  --crm-primary: #8dd62c;
  --crm-primary-dark: #78bb24;
  --crm-success: #8dd62c;
  --crm-sidebar-start: #5e656a;
  --crm-sidebar-end: #4f565b;
  --crm-topbar-start: #5e656a;
  --crm-topbar-end: #4f565b;
  --crm-shadow: 0 20px 48px rgba(86, 93, 98, 0.14);
  --crm-shadow-soft: 0 12px 28px rgba(86, 93, 98, 0.1);
  --bs-primary: #8dd62c;
  --bs-primary-rgb: 141, 214, 44;
  --bs-link-color: #6fba1f;
  --bs-link-hover-color: #5a9919;
}

html,
body,
.app-body,
.app-layout,
.objects-layout,
.documents-standalone-layout,
.settings-standalone-layout {
  background: linear-gradient(180deg, rgba(141, 214, 44, 0.08) 0%, #fefdfe 12rem, #fefdfe 100%) !important;
}

html.standalone-app,
html.standalone-app body,
body.standalone-app {
  background: #fefdfe !important;
}

.app-sidebar,
.objects-topbar,
.documents-topbar,
.settings-topbar,
.mobile-app-topbar {
  background:
    radial-gradient(circle at top left, rgba(141, 214, 44, 0.18), transparent 14rem),
    linear-gradient(180deg, #646b70 0%, #4e555a 100%) !important;
  box-shadow: 0 16px 34px rgba(86, 93, 98, 0.18) !important;
}

.topbar-link.active::after,
.sidebar-link::before {
  background: #a6cb69 !important;
}

.sidebar-link.active {
  background: linear-gradient(135deg, rgba(166, 203, 105, 0.18), rgba(166, 203, 105, 0.08)) !important;
  box-shadow: inset 0 0 0 1px rgba(210, 226, 185, 0.16), 0 12px 30px rgba(72, 78, 82, 0.20) !important;
}

.sidebar-sublink.active,
.topbar-link.active,
.topbar-link:hover,
.topbar-link:focus,
.sidebar-link:hover,
.sidebar-link:focus,
.sidebar-sublink:hover,
.sidebar-sublink:focus {
  background-color: rgba(255, 255, 255, 0.08) !important;
}

.btn-primary,
.btn.btn-primary,
button.btn-primary,
a.btn-primary {
  background: linear-gradient(180deg, #99df3f 0%, #80c628 100%) !important;
  border-color: #80c628 !important;
  color: #fff !important;
  box-shadow: 0 12px 24px rgba(141, 214, 44, 0.24) !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.btn.show,
.show > .btn-primary.dropdown-toggle {
  background: linear-gradient(180deg, #8dd62c 0%, #72b320 100%) !important;
  border-color: #72b320 !important;
  color: #fff !important;
}

.btn-outline-primary,
.btn.btn-outline-primary {
  color: #565d62 !important;
  border-color: rgba(141, 214, 44, 0.8) !important;
  background: rgba(254, 253, 254, 0.96) !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active,
.btn-outline-primary.active,
.show > .btn-outline-primary.dropdown-toggle {
  color: #fff !important;
  background: #8dd62c !important;
  border-color: #8dd62c !important;
}

.btn-outline-light,
.btn.btn-outline-light,
.objects-documents-button,
.documents-home-button {
  color: #fff !important;
  border-color: rgba(255,255,255,0.34) !important;
  background: rgba(255,255,255,0.08) !important;
}

.btn-outline-light:hover,
.btn-outline-light:focus,
.objects-documents-button:hover,
.objects-documents-button:focus,
.documents-home-button:hover,
.documents-home-button:focus {
  background: rgba(141, 214, 44, 0.2) !important;
  border-color: rgba(141, 214, 44, 0.65) !important;
  color: #fff !important;
}

.form-control:focus,
.form-select:focus {
  border-color: rgba(141, 214, 44, 0.8) !important;
  box-shadow: 0 0 0 0.2rem rgba(141, 214, 44, 0.16) !important;
}

.form-check-input:checked {
  background-color: #8dd62c !important;
  border-color: #8dd62c !important;
}

.card,
.content-card,
.login-card,
.object-card,
.dashboard-card,
.metric-card,
.settings-card,
.table-card,
.modal-content,
.documents-home-card,
.documents-category-card {
  border-color: rgba(86, 93, 98, 0.08) !important;
  box-shadow: 0 16px 34px rgba(86, 93, 98, 0.08) !important;
}

.auth-shell {
  background:
    radial-gradient(circle at top left, rgba(141, 214, 44, 0.18), transparent 20rem),
    radial-gradient(circle at bottom right, rgba(86, 93, 98, 0.12), transparent 18rem),
    linear-gradient(180deg, #fefdfe 0%, #f7faef 100%) !important;
}

.login-card-glow {
  background: radial-gradient(circle, rgba(141, 214, 44, 0.24) 0%, rgba(141, 214, 44, 0) 70%) !important;
}

.report-error-btn,
.report-error-floating {
  background: linear-gradient(180deg, #8dd62c 0%, #79bd25 100%) !important;
  color: #fff !important;
}

.crm-toast-success,
.alert-success {
  border-color: rgba(141, 214, 44, 0.35) !important;
}

.brand-logo,
.brand-mark,
.mobile-top-avatar,
.mobile-loading-mark,
.ios-install-app-icon {
  overflow: hidden !important;
  isolation: isolate !important;
}

.brand-logo {
  background: #fefdfe !important;
  border: 1px solid rgba(86, 93, 98, 0.08);
  box-shadow: 0 10px 24px rgba(86, 93, 98, 0.16) !important;
}

.brand-mark,
.mobile-loading-mark,
.ios-install-app-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  box-shadow: none !important;
  color: transparent !important;
}

.brand-mark::after,
.mobile-top-avatar::after,
.mobile-loading-mark::after,
.ios-install-app-icon::after {
  content: none !important;
}

.brand-mark-image,
.mobile-top-avatar-logo,
.mobile-loading-logo,
.ios-install-app-icon-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: inherit;
}

.brand-mark {
  width: 3rem !important;
  height: 3rem !important;
  border-radius: 1rem !important;
}

.mobile-top-avatar {
  padding: 0 !important;
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.15) !important;
}

.mobile-top-avatar-logo {
  padding: 0;
}

.ios-install-app-icon {
  width: 4.6rem !important;
  height: 4.6rem !important;
  border-radius: 1.4rem !important;
}

.site-page-loader {
  background: rgba(86, 93, 98, 0.16) !important;
  backdrop-filter: blur(12px) !important;
}

.site-page-loader-card,
.mobile-loading-card {
  background: linear-gradient(180deg, rgba(254, 253, 254, 0.98), rgba(248, 250, 244, 0.98)) !important;
  border: 1px solid rgba(141, 214, 44, 0.18) !important;
  box-shadow: 0 24px 60px rgba(86, 93, 98, 0.18) !important;
}

.site-page-loader .mobile-loading-orbit::before,
.site-page-loader .mobile-loading-orbit::after,
.site-page-loader .mobile-loading-orbit > span,
.mobile-loading-card .mobile-loading-orbit::before,
.mobile-loading-card .mobile-loading-orbit::after,
.mobile-loading-card .mobile-loading-orbit > span {
  border-color: rgba(141, 214, 44, 0.65) !important;
}

.site-page-loader .mobile-loading-orbit::after,
.mobile-loading-card .mobile-loading-orbit::after {
  border-color: rgba(86, 93, 98, 0.32) !important;
}

.site-page-loader .mobile-loading-mark,
.mobile-loading-card .mobile-loading-mark {
  background: transparent !important;
  box-shadow: none !important;
}

.metric-icon-primary,
.metric-icon-success,
.metric-icon-purple,
.metric-icon-slate,
.object-icon,
.object-add-icon,
.settings-card-icon,
.maintenance-icon,
.under-dev-icon,
.mobile-dev-icon,
.materials-summary-icon {
  color: #8dd62c !important;
}

.metric-pill-green,
.dashboard-roadmap-chip,
.roadmap-chip,
.badge.bg-primary,
.badge.text-bg-primary {
  background: rgba(141, 214, 44, 0.16) !important;
  color: #565d62 !important;
}

.nav-pills .nav-link.active,
.nav-tabs .nav-link.active,
.page-item.active .page-link {
  background-color: #8dd62c !important;
  border-color: #8dd62c !important;
  color: #fff !important;
}

.dropdown-item:active,
.dropdown-item:focus {
  background-color: rgba(141, 214, 44, 0.16) !important;
  color: #565d62 !important;
}

.progress-bar,
.assignment-progress-bar,
.documents-progress-bar {
  background-color: #8dd62c !important;
}

@media (max-width: 768px) {
  html {
    background: #fefdfe !important;
  }

  body.app-body {
    background:
      radial-gradient(circle at 50% -15%, rgba(141, 214, 44, .18), transparent 19rem),
      #fefdfe !important;
  }
}

/* User update: make page text black and brand export buttons green. */
:root {
  --crm-muted: #000000 !important;
  --crm-title: #000000 !important;
  --crm-text: #000000 !important;
  --bs-body-color: #000000 !important;
  --bs-secondary-color: #000000 !important;
  --bs-tertiary-color: #000000 !important;
}

body,
.app-content,
.auth-shell,
.content-card,
.card,
.card-body,
.modal,
.dropdown-menu,
.offcanvas,
.table,
.form-label,
.form-control,
.form-select,
.input-group-text,
.page-title,
.page-subtitle,
.section-title,
.text-muted,
.search-result-summary,
.bulk-actions-count,
.materials-summary-label,
.materials-summary-value,
.assignment-user-name,
.assignment-section-title,
.document-selected-head,
.material-selected-strip {
  color: #000000 !important;
}

.app-content *,
.auth-shell *,
.modal *,
.dropdown-menu *,
.offcanvas *,
.content-card *,
.table *,
.crm-filter-form *,
.task-table *,
.assignment-report-table *,
.materials-table *,
.glass-ordered-table *,
.remarks-export-table-shell *,
.document-selected-head *,
.material-selected-strip * {
  color: #000000 !important;
}

.form-control::placeholder,
.form-select::placeholder,
input::placeholder,
textarea::placeholder {
  color: #000000 !important;
  opacity: 0.72 !important;
}

.btn-success,
.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.btn-success:visited,
.btn-outline-success.download-excel-btn,
.btn-outline-success.glass-excel-btn,
.btn-outline-success.remarks-export-btn,
.btn-outline-success.assignment-worker-pdf,
.assignment-issued-export-btn,
.js-remark-export-submit {
  background: #8dd62c !important;
  border-color: #8dd62c !important;
  color: #000000 !important;
  box-shadow: 0 10px 24px rgba(141, 214, 44, 0.22) !important;
}

.btn-success *,
.btn-outline-success.download-excel-btn *,
.btn-outline-success.glass-excel-btn *,
.btn-outline-success.remarks-export-btn *,
.btn-outline-success.assignment-worker-pdf *,
.assignment-issued-export-btn *,
.js-remark-export-submit * {
  color: #000000 !important;
}

.btn-success:hover,
.btn-success:focus,
.btn-outline-success.download-excel-btn:hover,
.btn-outline-success.download-excel-btn:focus,
.btn-outline-success.glass-excel-btn:hover,
.btn-outline-success.glass-excel-btn:focus,
.btn-outline-success.remarks-export-btn:hover,
.btn-outline-success.remarks-export-btn:focus,
.btn-outline-success.assignment-worker-pdf:hover,
.btn-outline-success.assignment-worker-pdf:focus,
.assignment-issued-export-btn:hover,
.assignment-issued-export-btn:focus,
.js-remark-export-submit:hover,
.js-remark-export-submit:focus {
  background: #78bb24 !important;
  border-color: #78bb24 !important;
  color: #000000 !important;
}

.btn-success:disabled,
.btn-success.disabled,
.js-remark-export-submit:disabled,
.js-remark-export-submit.disabled {
  background: #8dd62c !important;
  border-color: #8dd62c !important;
  color: #000000 !important;
  opacity: 0.62 !important;
}

.download-excel-btn,
.glass-excel-btn,
.remarks-export-btn,
.assignment-worker-pdf,
.assignment-issued-export-btn,
.js-remark-export-submit {
  font-weight: 800 !important;
}


/* User update 2026-06-20: remove blue tones from login/anti-bot and make CRM signature black without logo. */
:root {
  --crm-primary-dark: #78bb24 !important;
}

body.auth-body,
body.auth-body .auth-shell {
  background:
    radial-gradient(circle at 50% -16%, rgba(141, 214, 44, 0.16), transparent 18rem),
    linear-gradient(180deg, #fefdfe 0%, #fbfdf7 100%) !important;
}

.auth-shell .login-card {
  border-color: rgba(141, 214, 44, 0.22) !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: 0 26px 70px rgba(86, 93, 98, 0.15) !important;
}

.auth-shell .login-card-glow {
  background: radial-gradient(circle, rgba(141, 214, 44, 0.16), transparent 64%) !important;
}

.auth-shell .login-icon,
.auth-shell .brand-mark {
  box-shadow: 0 14px 28px rgba(141, 214, 44, 0.26) !important;
}

.auth-shell .login-input-wrap .form-control,
.auth-shell .registration-request-modal .form-control,
.auth-shell .login-captcha-box .form-control {
  background-color: #fefdfe !important;
  border-color: rgba(141, 214, 44, 0.36) !important;
  color: #000000 !important;
  box-shadow: none !important;
}

.auth-shell .login-input-wrap .form-control:focus,
.auth-shell .registration-request-modal .form-control:focus,
.auth-shell .login-captcha-box .form-control:focus {
  background-color: #ffffff !important;
  border-color: #8dd62c !important;
  box-shadow: 0 0 0 0.22rem rgba(141, 214, 44, 0.18) !important;
  color: #000000 !important;
}

.auth-shell input:-webkit-autofill,
.auth-shell input:-webkit-autofill:hover,
.auth-shell input:-webkit-autofill:active,
.auth-shell input:-webkit-autofill:focus {
  -webkit-text-fill-color: #000000 !important;
  caret-color: #000000 !important;
  -webkit-box-shadow: 0 0 0 1000px #fefdfe inset !important;
  box-shadow: 0 0 0 1000px #fefdfe inset !important;
  border-color: rgba(141, 214, 44, 0.42) !important;
  transition: background-color 999999s ease-in-out 0s !important;
}

.auth-shell input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px #ffffff inset, 0 0 0 0.22rem rgba(141, 214, 44, 0.18) !important;
  box-shadow: 0 0 0 1000px #ffffff inset, 0 0 0 0.22rem rgba(141, 214, 44, 0.18) !important;
}

.auth-shell .login-input-wrap > i,
.auth-shell .password-toggle,
.auth-shell .password-preview-toggle,
.auth-shell .captcha-answer-wrap > i {
  color: #000000 !important;
}

.auth-shell .login-captcha-box,
.registration-request-modal .login-captcha-box,
.registration-request-modal .login-captcha-box-standalone {
  border-color: rgba(141, 214, 44, 0.28) !important;
  background:
    radial-gradient(circle at top right, rgba(141, 214, 44, 0.13), transparent 10rem),
    #fefdfe !important;
  color: #000000 !important;
}

.auth-shell .captcha-title,
.auth-shell .captcha-title span,
.auth-shell .captcha-title small,
.registration-request-modal .captcha-title,
.registration-request-modal .captcha-title span {
  color: #000000 !important;
}

.auth-shell .captcha-title i,
.registration-request-modal .captcha-title i {
  color: #8dd62c !important;
}

.auth-shell .captcha-question,
.registration-request-modal label.captcha-question {
  border-color: rgba(141, 214, 44, 0.58) !important;
  background: #ffffff !important;
  color: #000000 !important;
}

.auth-shell .form-check-input {
  border-color: rgba(141, 214, 44, 0.68) !important;
  box-shadow: none !important;
}

.auth-shell .form-check-input:focus {
  border-color: #8dd62c !important;
  box-shadow: 0 0 0 0.2rem rgba(141, 214, 44, 0.16) !important;
}

.auth-shell .form-check-input:checked {
  background-color: #8dd62c !important;
  border-color: #8dd62c !important;
}

.auth-shell .btn:focus,
.auth-shell .btn:focus-visible,
.auth-shell .btn:active:focus {
  box-shadow: 0 0 0 0.22rem rgba(141, 214, 44, 0.18) !important;
}

.crm-footer,
.crm-footer span,
.auth-footer,
.auth-footer span,
.auth-login-inline-footer span,
body.auth-body .auth-shell .auth-footer span {
  color: #000000 !important;
}

.crm-footer span,
.auth-footer span,
.auth-login-inline-footer span,
body.auth-body .auth-shell .auth-footer span {
  gap: 0 !important;
  background: rgba(255, 255, 255, 0.64) !important;
  border-color: rgba(0, 0, 0, 0.08) !important;
}

.crm-footer span::before,
.auth-footer span::before,
.auth-login-inline-footer span::before,
body.auth-body .auth-shell .auth-footer span::before {
  content: none !important;
  display: none !important;
}

/* User update 2026-06-20: final auth/anti-bot color cleanup, no blue states. */
:root {
  --crm-brand-green: #8dd62c;
  --crm-brand-green-dark: #78bb24;
  --crm-brand-gray: #565d62;
  --crm-brand-surface: #fefdfe;
}

body.auth-body .auth-shell .auth-brand-title {
  color: var(--crm-brand-gray) !important;
}

body.auth-body .auth-shell .auth-brand-title *,
body.auth-body .auth-shell .auth-brand-main .auth-brand-title {
  color: var(--crm-brand-gray) !important;
}

body.auth-body .auth-shell,
body.auth-body .login-card,
body.auth-body .registration-request-modal,
body.auth-body .modal-content.registration-request-modal {
  --bs-primary: #8dd62c !important;
  --bs-primary-rgb: 141, 214, 44 !important;
  --bs-focus-ring-color: rgba(141, 214, 44, .24) !important;
  --bs-link-color-rgb: 112, 179, 32 !important;
  --bs-btn-focus-shadow-rgb: 141, 214, 44 !important;
}

body.auth-body .login-card,
body.auth-body .modal-content.registration-request-modal {
  border-color: rgba(141, 214, 44, .24) !important;
  box-shadow: 0 26px 70px rgba(86, 93, 98, .15) !important;
}

body.auth-body .login-card-glow,
body.auth-body .registration-request-modal::before {
  background: radial-gradient(circle, rgba(141, 214, 44, .16), transparent 66%) !important;
}

body.auth-body .login-input-wrap .form-control,
body.auth-body .registration-request-modal .form-control,
body.auth-body .login-captcha-box .form-control {
  background: #fefdfe !important;
  border-color: rgba(141, 214, 44, .42) !important;
  color: #000 !important;
  box-shadow: none !important;
  outline: none !important;
}

body.auth-body .login-input-wrap .form-control:focus,
body.auth-body .registration-request-modal .form-control:focus,
body.auth-body .login-captcha-box .form-control:focus {
  background: #fff !important;
  border-color: #8dd62c !important;
  box-shadow: 0 0 0 .22rem rgba(141, 214, 44, .18) !important;
  outline: none !important;
}

body.auth-body .login-captcha-box,
body.auth-body .login-captcha-box-standalone,
body.auth-body .registration-request-modal .login-captcha-box,
body.auth-body .registration-request-modal .login-captcha-box-standalone {
  border-color: rgba(141, 214, 44, .32) !important;
  background: radial-gradient(circle at top right, rgba(141, 214, 44, .13), transparent 10rem), #fefdfe !important;
  box-shadow: none !important;
}

body.auth-body .captcha-question,
body.auth-body .registration-request-modal label.captcha-question,
body.auth-body .registration-request-modal .captcha-question {
  border-color: rgba(141, 214, 44, .62) !important;
  background: #fff !important;
  color: #000 !important;
  box-shadow: none !important;
}

body.auth-body .captcha-title,
body.auth-body .captcha-title span,
body.auth-body .captcha-title small,
body.auth-body .captcha-title i,
body.auth-body .registration-request-modal .captcha-title,
body.auth-body .registration-request-modal .captcha-title span,
body.auth-body .registration-request-modal .captcha-title i {
  color: #000 !important;
}

body.auth-body .captcha-title i,
body.auth-body .registration-request-modal .captcha-title i {
  color: #8dd62c !important;
}

.btn-primary,
.btn-primary:visited,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.btn-primary.disabled,
.btn-primary:disabled,
.btn.btn-primary,
button.btn-primary,
a.btn-primary,
input.btn-primary,
body.auth-body .btn-primary,
body.auth-body .btn-primary:hover,
body.auth-body .btn-primary:focus,
body.auth-body .btn-primary:active,
body.auth-body .btn-primary.disabled,
body.auth-body .btn-primary:disabled,
body.auth-body .js-auth-submit-button.btn-primary,
body.auth-body .js-auth-submit-button.btn-primary.disabled,
body.auth-body .js-auth-submit-button.btn-primary:disabled,
body.auth-body .registration-request-modal .btn-primary,
body.auth-body .registration-request-modal .btn-primary:hover,
body.auth-body .registration-request-modal .btn-primary:focus,
body.auth-body .registration-request-modal .btn-primary:active,
body.auth-body .registration-request-modal .btn-primary:disabled {
  --bs-btn-bg: #8dd62c !important;
  --bs-btn-border-color: #8dd62c !important;
  --bs-btn-hover-bg: #78bb24 !important;
  --bs-btn-hover-border-color: #78bb24 !important;
  --bs-btn-active-bg: #72b320 !important;
  --bs-btn-active-border-color: #72b320 !important;
  --bs-btn-disabled-bg: #8dd62c !important;
  --bs-btn-disabled-border-color: #8dd62c !important;
  --bs-btn-color: #ffffff !important;
  --bs-btn-hover-color: #ffffff !important;
  --bs-btn-active-color: #ffffff !important;
  --bs-btn-disabled-color: #ffffff !important;
  background: linear-gradient(180deg, #99df3f 0%, #80c628 100%) !important;
  border-color: #80c628 !important;
  color: #fff !important;
  outline: none !important;
  box-shadow: 0 12px 24px rgba(141, 214, 44, .24) !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
body.auth-body .btn-primary:hover,
body.auth-body .btn-primary:focus,
body.auth-body .btn-primary:active,
body.auth-body .btn-primary.active,
body.auth-body .registration-request-modal .btn-primary:hover,
body.auth-body .registration-request-modal .btn-primary:focus,
body.auth-body .registration-request-modal .btn-primary:active {
  background: linear-gradient(180deg, #8dd62c 0%, #72b320 100%) !important;
  border-color: #72b320 !important;
  color: #fff !important;
}

.btn-primary *,
.btn-primary i,
.btn-primary .bi,
button.btn-primary *,
a.btn-primary *,
body.auth-body .btn-primary *,
body.auth-body .btn-primary i,
body.auth-body .btn-primary .bi,
body.auth-body .registration-request-modal .btn-primary *,
body.auth-body .registration-request-modal .btn-primary i,
body.auth-body .registration-request-modal .btn-primary .bi,
body.auth-body .js-auth-submit-button.btn-primary *,
body.auth-body .js-auth-submit-button.btn-primary i,
body.auth-body .js-auth-submit-button.btn-primary .bi {
  color: #fff !important;
  fill: #fff !important;
}

body.auth-body .btn-primary:focus,
body.auth-body .btn-primary:focus-visible,
body.auth-body .btn-primary:active:focus,
body.auth-body .login-submit:focus,
body.auth-body .login-submit:focus-visible,
body.auth-body .registration-request-modal .btn-primary:focus,
body.auth-body .registration-request-modal .btn-primary:focus-visible,
body.auth-body .registration-request-modal .btn-primary:active:focus {
  outline: none !important;
  box-shadow: 0 0 0 .22rem rgba(141, 214, 44, .22), 0 12px 24px rgba(141, 214, 44, .24) !important;
}

body.auth-body .btn-outline-secondary,
body.auth-body a.btn-outline-secondary,
body.auth-body button.btn-outline-secondary,
body.auth-body .registration-request-modal .btn-outline-secondary {
  --bs-btn-color: #565d62 !important;
  --bs-btn-border-color: rgba(86, 93, 98, .24) !important;
  --bs-btn-hover-color: #565d62 !important;
  --bs-btn-hover-bg: #f7faef !important;
  --bs-btn-hover-border-color: #8dd62c !important;
  --bs-btn-active-color: #565d62 !important;
  --bs-btn-active-bg: #edf8df !important;
  --bs-btn-active-border-color: #8dd62c !important;
  background: #fff !important;
  border-color: rgba(86, 93, 98, .24) !important;
  color: #565d62 !important;
  box-shadow: none !important;
  outline: none !important;
}

body.auth-body .btn-outline-secondary:hover,
body.auth-body .btn-outline-secondary:focus,
body.auth-body .btn-outline-secondary:focus-visible,
body.auth-body .btn-outline-secondary:active,
body.auth-body .btn-outline-secondary.active,
body.auth-body .registration-request-modal .btn-outline-secondary:hover,
body.auth-body .registration-request-modal .btn-outline-secondary:focus,
body.auth-body .registration-request-modal .btn-outline-secondary:focus-visible,
body.auth-body .registration-request-modal .btn-outline-secondary:active,
body.auth-body .registration-request-modal .btn-outline-secondary.active {
  background: #f7faef !important;
  border-color: #8dd62c !important;
  color: #565d62 !important;
  outline: none !important;
  box-shadow: 0 0 0 .22rem rgba(141, 214, 44, .18) !important;
}

body.auth-body .btn-outline-secondary *,
body.auth-body .btn-outline-secondary i,
body.auth-body .btn-outline-secondary .bi,
body.auth-body .registration-request-modal .btn-outline-secondary *,
body.auth-body .registration-request-modal .btn-outline-secondary i,
body.auth-body .registration-request-modal .btn-outline-secondary .bi {
  color: #565d62 !important;
}

body.auth-body .btn-outline-primary,
body.auth-body .login-register-button {
  --bs-btn-color: #565d62 !important;
  --bs-btn-border-color: #8dd62c !important;
  --bs-btn-hover-color: #fff !important;
  --bs-btn-hover-bg: #8dd62c !important;
  --bs-btn-hover-border-color: #8dd62c !important;
  --bs-btn-active-color: #fff !important;
  --bs-btn-active-bg: #78bb24 !important;
  --bs-btn-active-border-color: #78bb24 !important;
  color: #565d62 !important;
  border-color: #8dd62c !important;
  background: #fff !important;
  outline: none !important;
}

body.auth-body .btn-outline-primary:hover,
body.auth-body .btn-outline-primary:focus,
body.auth-body .btn-outline-primary:active,
body.auth-body .login-register-button:hover,
body.auth-body .login-register-button:focus,
body.auth-body .login-register-button:active {
  color: #fff !important;
  background: #8dd62c !important;
  border-color: #8dd62c !important;
  box-shadow: 0 0 0 .22rem rgba(141, 214, 44, .18) !important;
}

body.auth-body .login-register-button:hover *,
body.auth-body .login-register-button:focus *,
body.auth-body .login-register-button:active * {
  color: #fff !important;
}

body.auth-body .btn:focus,
body.auth-body .btn:focus-visible,
body.auth-body .btn:active:focus,
body.auth-body .btn-check:focus + .btn,
body.auth-body .btn-check:checked + .btn {
  outline: none !important;
  --bs-btn-focus-shadow-rgb: 141, 214, 44 !important;
}

body.auth-body .crm-toast-info,
body.auth-body .alert-info,
.crm-toast-info.alert-info {
  background: rgba(255, 255, 255, .96) !important;
  border-color: rgba(141, 214, 44, .32) !important;
  color: #000 !important;
}

body.auth-body .crm-toast-info::before,
body.auth-body .alert-info::before,
.crm-toast-info.alert-info::before {
  background: #8dd62c !important;
}

body.auth-body .crm-toast-info .crm-toast-icon,
body.auth-body .alert-info .crm-toast-icon,
.crm-toast-info.alert-info .crm-toast-icon {
  color: #78bb24 !important;
  background: rgba(141, 214, 44, .16) !important;
}

body.auth-body .crm-toast-info .crm-toast-title,
body.auth-body .crm-toast-info .crm-toast-text,
body.auth-body .crm-toast-info .crm-toast-close,
body.auth-body .crm-toast-info .crm-toast-close i,
body.auth-body .alert-info .crm-toast-title,
body.auth-body .alert-info .crm-toast-text,
body.auth-body .alert-info .crm-toast-close,
body.auth-body .alert-info .crm-toast-close i {
  color: #000 !important;
}

body.auth-body .login-captcha-wrap .login-card {
  min-height: 0 !important;
  display: block !important;
  align-items: stretch !important;
}

body.auth-body .login-captcha-wrap .login-card .card-body {
  padding-top: 1.15rem !important;
  padding-bottom: 1rem !important;
}

body.auth-body .login-captcha-wrap .login-captcha-box-standalone {
  margin-bottom: .65rem !important;
}

body.auth-body .login-captcha-wrap .login-form-row,
body.auth-body .login-captcha-wrap .login-captcha-actions {
  margin: .55rem 0 0 !important;
}

body.auth-body .login-captcha-wrap .login-form {
  margin-bottom: 0 !important;
}

body.auth-body .registration-request-modal .login-captcha-box,
body.auth-body .registration-request-modal label.captcha-question {
  border-color: rgba(141, 214, 44, .62) !important;
}

body.auth-body .registration-request-modal .modal-body {
  padding-bottom: 1.15rem !important;
}

body.auth-body *:focus {
  outline-color: rgba(141, 214, 44, .65) !important;
}


/* v91: remove remaining blue/blue-gray glow from auth, anti-bot, modal and objects sections. */
:root {
  --crm-primary-dark: #78bb24 !important;
  --crm-bg: #f9fbf5 !important;
  --crm-border: #e3eadb !important;
  --crm-border-strong: #cfe8ac !important;
  --crm-shadow: 0 18px 48px rgba(86, 93, 98, 0.10) !important;
  --crm-shadow-soft: 0 10px 24px rgba(86, 93, 98, 0.08) !important;
}

/* Убираем голубую дымку вокруг авторизации/антибота. */
body.auth-body .auth-shell {
  background:
    radial-gradient(circle at top left, rgba(141, 214, 44, 0.10), transparent 20rem),
    radial-gradient(circle at bottom right, rgba(141, 214, 44, 0.08), transparent 18rem),
    linear-gradient(180deg, #fefdfe 0%, #f9fbf5 100%) !important;
}

body.auth-body .login-card,
body.auth-body .modal-content.registration-request-modal,
body.auth-body .error-report-modal {
  background: rgba(255, 255, 255, .97) !important;
  border-color: rgba(141, 214, 44, .24) !important;
  box-shadow: 0 26px 70px rgba(86, 93, 98, .16) !important;
}

body.auth-body .login-card-glow {
  background: radial-gradient(circle, rgba(141, 214, 44, .13), transparent 66%) !important;
}

/* Поля больше не светятся голубым, включая автозаполнение Chrome. */
body.auth-body .form-control,
body.auth-body .login-input-wrap .form-control,
body.auth-body .registration-request-modal .form-control,
body.auth-body .login-captcha-box .form-control,
body.auth-body textarea.form-control,
.modal .form-control,
.modal textarea.form-control {
  background-color: #fff !important;
  background-image: none !important;
  border-color: rgba(141, 214, 44, .38) !important;
  color: #000 !important;
  box-shadow: none !important;
  outline: none !important;
}

body.auth-body .form-control:focus,
body.auth-body .login-input-wrap .form-control:focus,
body.auth-body .registration-request-modal .form-control:focus,
body.auth-body .login-captcha-box .form-control:focus,
body.auth-body textarea.form-control:focus,
.modal .form-control:focus,
.modal textarea.form-control:focus {
  background-color: #fff !important;
  border-color: #8dd62c !important;
  box-shadow: 0 0 0 .22rem rgba(141, 214, 44, .20) !important;
  outline: none !important;
}

body.auth-body input:-webkit-autofill,
body.auth-body input:-webkit-autofill:hover,
body.auth-body input:-webkit-autofill:focus,
body.auth-body textarea:-webkit-autofill,
body.auth-body textarea:-webkit-autofill:hover,
body.auth-body textarea:-webkit-autofill:focus,
.registration-request-modal input:-webkit-autofill,
.registration-request-modal input:-webkit-autofill:hover,
.registration-request-modal input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px #fff inset !important;
  box-shadow: 0 0 0 1000px #fff inset !important;
  -webkit-text-fill-color: #000 !important;
  caret-color: #000 !important;
  border-color: #8dd62c !important;
}

/* Антибот без синего фона и с компактным низом. */
body.auth-body .login-captcha-box,
body.auth-body .login-captcha-box-standalone,
body.auth-body .registration-request-modal .login-captcha-box,
body.auth-body .registration-request-modal .login-captcha-box-standalone {
  background: linear-gradient(180deg, #fefdfe, #f9fbf5) !important;
  border-color: rgba(141, 214, 44, .42) !important;
  box-shadow: none !important;
}

body.auth-body .captcha-question,
body.auth-body .registration-request-modal label.captcha-question {
  background: #fff !important;
  border-color: rgba(141, 214, 44, .66) !important;
  color: #000 !important;
}

body.auth-body .registration-request-modal .modal-body {
  padding-top: 1.25rem !important;
  padding-bottom: .95rem !important;
}

body.auth-body .registration-request-modal .login-captcha-box {
  margin-bottom: .7rem !important;
}

body.auth-body .registration-request-modal .registration-modal-actions,
body.auth-body .registration-request-modal .login-form-row,
body.auth-body .login-captcha-actions {
  margin-top: .65rem !important;
  margin-bottom: 0 !important;
}

/* Все кнопочные состояния вместо синего — зелёные/серые брендовые. */
.btn-primary,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:focus-visible,
.btn-primary:active,
.btn-primary.active,
.show > .btn-primary.dropdown-toggle,
body.auth-body .btn-primary,
body.auth-body .btn-primary:hover,
body.auth-body .btn-primary:focus,
body.auth-body .btn-primary:focus-visible,
body.auth-body .btn-primary:active,
body.auth-body .registration-request-modal .btn-primary,
body.auth-body .registration-request-modal .btn-primary:hover,
body.auth-body .registration-request-modal .btn-primary:focus,
body.auth-body .registration-request-modal .btn-primary:active {
  background: linear-gradient(180deg, #99df3f 0%, #80c628 100%) !important;
  border-color: #80c628 !important;
  color: #fff !important;
  box-shadow: 0 12px 24px rgba(141, 214, 44, .24) !important;
  outline: none !important;
}

.btn-primary:focus,
.btn-primary:focus-visible,
.btn-primary:active:focus,
body.auth-body .btn-primary:focus,
body.auth-body .btn-primary:focus-visible,
body.auth-body .btn-primary:active:focus {
  box-shadow: 0 0 0 .22rem rgba(141, 214, 44, .22), 0 12px 24px rgba(141, 214, 44, .24) !important;
}

.btn-primary *,
.btn-primary i,
.btn-primary .bi,
button.btn-primary *,
button.btn-primary i,
button.btn-primary .bi,
a.btn-primary *,
a.btn-primary i,
a.btn-primary .bi,
body.auth-body .btn-primary *,
body.auth-body .btn-primary i,
body.auth-body .btn-primary .bi {
  color: #fff !important;
  fill: #fff !important;
  stroke: #fff !important;
}

.btn-outline-secondary,
.btn-outline-secondary:hover,
.btn-outline-secondary:focus,
.btn-outline-secondary:focus-visible,
.btn-outline-secondary:active,
body.auth-body .btn-outline-secondary,
body.auth-body .btn-outline-secondary:hover,
body.auth-body .btn-outline-secondary:focus,
body.auth-body .btn-outline-secondary:focus-visible,
body.auth-body .btn-outline-secondary:active {
  background: #fff !important;
  border-color: rgba(86, 93, 98, .24) !important;
  color: #565d62 !important;
  outline: none !important;
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus,
.btn-outline-secondary:focus-visible,
.btn-outline-secondary:active,
body.auth-body .btn-outline-secondary:hover,
body.auth-body .btn-outline-secondary:focus,
body.auth-body .btn-outline-secondary:focus-visible,
body.auth-body .btn-outline-secondary:active {
  background: #f7faef !important;
  border-color: #8dd62c !important;
  box-shadow: 0 0 0 .22rem rgba(141, 214, 44, .18) !important;
}

.btn-outline-primary,
.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:focus-visible,
.btn-outline-primary:active,
body.auth-body .btn-outline-primary,
body.auth-body .login-register-button,
body.auth-body .login-register-button:hover,
body.auth-body .login-register-button:focus,
body.auth-body .login-register-button:active {
  border-color: #8dd62c !important;
  outline: none !important;
}

body.auth-body .login-register-button {
  background: #fff !important;
  color: #565d62 !important;
  box-shadow: none !important;
}

body.auth-body .login-register-button:hover,
body.auth-body .login-register-button:focus,
body.auth-body .login-register-button:active {
  background: #8dd62c !important;
  color: #fff !important;
  box-shadow: 0 0 0 .22rem rgba(141, 214, 44, .18) !important;
}

body.auth-body .login-register-button:hover *,
body.auth-body .login-register-button:focus *,
body.auth-body .login-register-button:active * {
  color: #fff !important;
}

/* Модалка ошибки без голубого поля/фокуса. */
.error-report-modal,
.modal-content.error-report-modal {
  border: 1px solid rgba(141, 214, 44, .18) !important;
  box-shadow: 0 26px 80px rgba(86, 93, 98, .22) !important;
}

.error-report-modal .modal-footer,
.error-report-modal .modal-header {
  background: #fff !important;
}

.error-report-modal textarea.form-control {
  background: #fff !important;
  border-color: rgba(141, 214, 44, .30) !important;
}

/* Карточки объектов: убрать голубую заливку/подсветку статистики и hover. */
.objects-page,
.objects-layout,
.objects-layout .app-content {
  background: #fefdfe !important;
}

.objects-topbar {
  background:
    radial-gradient(circle at 12% 20%, rgba(141, 214, 44, 0.18), transparent 18rem),
    linear-gradient(135deg, #5e656a, #4f565b) !important;
}

.object-card {
  background: rgba(255, 255, 255, .96) !important;
  border-color: rgba(86, 93, 98, .10) !important;
  box-shadow: 0 14px 38px rgba(86, 93, 98, .10) !important;
}

.object-card:hover,
.object-card:focus-within {
  border-color: rgba(141, 214, 44, .46) !important;
  box-shadow: 0 24px 55px rgba(86, 93, 98, .16) !important;
}

.object-stat-row {
  background: #f9fbf5 !important;
  border: 1px solid rgba(141, 214, 44, .14) !important;
  box-shadow: none !important;
}

.object-stat-row span {
  color: #565d62 !important;
}

.stat-badge-white {
  background: #fff !important;
  border-color: rgba(86, 93, 98, .15) !important;
  box-shadow: 0 6px 14px rgba(86, 93, 98, .10) !important;
  color: #000 !important;
}

.object-action:hover,
.object-action:focus {
  background: #f7faef !important;
  border-color: #8dd62c !important;
  color: #78bb24 !important;
}

.object-action:hover i,
.object-action:focus i {
  color: #78bb24 !important;
}

/* Общая защита от bootstrap-синих focus-ring и dropdown hover. */
:focus {
  --bs-focus-ring-color: rgba(141, 214, 44, .22) !important;
}

.form-check-input:focus {
  border-color: #8dd62c !important;
  box-shadow: 0 0 0 .22rem rgba(141, 214, 44, .18) !important;
}

.form-check-input:checked {
  background-color: #8dd62c !important;
  border-color: #8dd62c !important;
}

.dropdown-item:hover,
.dropdown-item:focus {
  background: #f7faef !important;
  color: #000 !important;
}


/* 2026-06-20: dashboard color palette matched to reference screenshot. */
body:has(.dashboard-page.dashboard-redesign) {
  background: #f6f7f9 !important;
}

body:has(.dashboard-page.dashboard-redesign) .app-layout,
body:has(.dashboard-page.dashboard-redesign) .app-main,
body:has(.dashboard-page.dashboard-redesign) .app-content {
  background: #f6f7f9 !important;
}

body:has(.dashboard-page.dashboard-redesign) .app-sidebar {
  background:
    radial-gradient(circle at 12% 38%, rgba(141, 214, 44, 0.18), transparent 17rem),
    radial-gradient(circle at 85% 82%, rgba(141, 214, 44, 0.10), transparent 13rem),
    linear-gradient(180deg, #171d24 0%, #10151b 100%) !important;
  border-right: 1px solid rgba(255,255,255,.05) !important;
  box-shadow: inset -1px 0 0 rgba(255,255,255,.03) !important;
}

body:has(.dashboard-page.dashboard-redesign) .sidebar-brand-link,
body:has(.dashboard-page.dashboard-redesign) .brand-text {
  color: #ffffff !important;
}

body:has(.dashboard-page.dashboard-redesign) .sidebar-link {
  color: rgba(255,255,255,.90) !important;
}

body:has(.dashboard-page.dashboard-redesign) .sidebar-link:hover,
body:has(.dashboard-page.dashboard-redesign) .sidebar-link:focus {
  background: rgba(255,255,255,.06) !important;
  color: #ffffff !important;
}

body:has(.dashboard-page.dashboard-redesign) .sidebar-link.active {
  background: linear-gradient(135deg, rgba(132, 182, 59, 0.18), rgba(132, 182, 59, 0.10)) !important;
  color: #ffffff !important;
  box-shadow: inset 0 0 0 1px rgba(196, 216, 162, 0.14), 0 6px 16px rgba(72, 78, 82, 0.12) !important;
}

body:has(.dashboard-page.dashboard-redesign) .sidebar-link.active::before {
  background: #90bd57 !important;
}

body:has(.dashboard-page.dashboard-redesign) .app-topbar {
  background:
    radial-gradient(circle at 38% 12%, rgba(141, 214, 44, 0.22), transparent 22rem),
    linear-gradient(180deg, #1f2730 0%, #151b22 100%) !important;
  border-bottom: 1px solid rgba(255,255,255,.05) !important;
  box-shadow: 0 10px 28px rgba(8, 11, 15, .18) !important;
}

body:has(.dashboard-page.dashboard-redesign) .topbar-project,
body:has(.dashboard-page.dashboard-redesign) .topbar-project span,
body:has(.dashboard-page.dashboard-redesign) .topbar-user,
body:has(.dashboard-page.dashboard-redesign) .topbar-user span,
body:has(.dashboard-page.dashboard-redesign) .topbar-icon {
  color: #ffffff !important;
}

body:has(.dashboard-page.dashboard-redesign) .topbar-icon,
body:has(.dashboard-page.dashboard-redesign) .topbar-user {
  background: rgba(255,255,255,.04) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: none !important;
}

body:has(.dashboard-page.dashboard-redesign) .topbar-project .btn,
body:has(.dashboard-page.dashboard-redesign) .btn-outline-light.btn-sm {
  color: #ffffff !important;
  border-color: rgba(255,255,255,.18) !important;
  background: rgba(255,255,255,.03) !important;
  box-shadow: none !important;
}

body:has(.dashboard-page.dashboard-redesign) .topbar-project .btn:hover,
body:has(.dashboard-page.dashboard-redesign) .topbar-project .btn:focus {
  background: rgba(255,255,255,.10) !important;
  border-color: rgba(255,255,255,.28) !important;
  color: #ffffff !important;
}

body:has(.dashboard-page.dashboard-redesign) .dashboard-page.dashboard-redesign {
  gap: 1rem !important;
}

body:has(.dashboard-page.dashboard-redesign) .dashboard-redesign-hero {
  background: #ffffff !important;
  border: 1px solid #e6eaef !important;
  border-radius: 1.45rem !important;
  color: #111827 !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .05) !important;
}

body:has(.dashboard-page.dashboard-redesign) .dashboard-redesign-hero .dashboard-title,
body:has(.dashboard-page.dashboard-redesign) .dashboard-redesign-hero .dashboard-subtitle,
body:has(.dashboard-page.dashboard-redesign) .dashboard-redesign-hero .dashboard-eyebrow,
body:has(.dashboard-page.dashboard-redesign) .dashboard-redesign-hero .metric-label {
  color: #111827 !important;
}

body:has(.dashboard-page.dashboard-redesign) .dashboard-redesign-hero .dashboard-eyebrow {
  color: #6b7280 !important;
  letter-spacing: .10em !important;
}

body:has(.dashboard-page.dashboard-redesign) .dashboard-redesign-hero .dashboard-subtitle {
  color: #5f6672 !important;
}

body:has(.dashboard-page.dashboard-redesign) .dashboard-progress-panel {
  background: #ffffff !important;
  border: 1px solid #e7ebf0 !important;
  border-radius: 1.2rem !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.50) !important;
}

body:has(.dashboard-page.dashboard-redesign) .dashboard-progress-ring {
  background: conic-gradient(#8dd62c calc(var(--value) * 1%), #e5e7eb 0) !important;
  box-shadow: none !important;
}

body:has(.dashboard-page.dashboard-redesign) .dashboard-progress-ring::before {
  background: #ffffff !important;
}

body:has(.dashboard-page.dashboard-redesign) .dashboard-progress-ring span {
  color: #111827 !important;
}

body:has(.dashboard-page.dashboard-redesign) .dashboard-progress-meta,
body:has(.dashboard-page.dashboard-redesign) .dashboard-progress-panel .metric-label {
  color: #111827 !important;
}

body:has(.dashboard-page.dashboard-redesign) .dashboard-progress-panel .metric-label {
  font-weight: 700 !important;
}

body:has(.dashboard-page.dashboard-redesign) .dashboard-focus-card,
body:has(.dashboard-page.dashboard-redesign) .dashboard-info-card,
body:has(.dashboard-page.dashboard-redesign) .dashboard-specialist-card {
  background: #ffffff !important;
  border: 1px solid #e7ebf0 !important;
  box-shadow: 0 10px 22px rgba(15, 23, 42, .04) !important;
}

body:has(.dashboard-page.dashboard-redesign) .dashboard-focus-primary {
  background: #ffffff !important;
}

body:has(.dashboard-page.dashboard-redesign) .dashboard-card-head h2,
body:has(.dashboard-page.dashboard-redesign) .dashboard-big-number,
body:has(.dashboard-page.dashboard-redesign) .dashboard-info-title,
body:has(.dashboard-page.dashboard-redesign) .dashboard-specialist-top h3,
body:has(.dashboard-page.dashboard-redesign) .dashboard-section {
  color: #111827 !important;
}

body:has(.dashboard-page.dashboard-redesign) .dashboard-card-head .metric-label,
body:has(.dashboard-page.dashboard-redesign) .dashboard-mini-stats span,
body:has(.dashboard-page.dashboard-redesign) .dashboard-line-list span,
body:has(.dashboard-page.dashboard-redesign) .dashboard-specialist-top p,
body:has(.dashboard-page.dashboard-redesign) .dashboard-roadmap-mini-text {
  color: #6b7280 !important;
}

body:has(.dashboard-page.dashboard-redesign) .dashboard-card-head i,
body:has(.dashboard-page.dashboard-redesign) .dashboard-info-title i {
  background: #ffffff !important;
  border: 1px solid #e6eaef !important;
  color: #8dd62c !important;
  box-shadow: none !important;
}

body:has(.dashboard-page.dashboard-redesign) .dashboard-mini-stats div,
body:has(.dashboard-page.dashboard-redesign) .dashboard-line-list div {
  background: #ffffff !important;
  border: 1px solid #e9edf2 !important;
}

body:has(.dashboard-page.dashboard-redesign) .dashboard-mini-stats b,
body:has(.dashboard-page.dashboard-redesign) .dashboard-line-list b,
body:has(.dashboard-page.dashboard-redesign) .dashboard-roadmap-mini-more {
  color: #111827 !important;
}

body:has(.dashboard-page.dashboard-redesign) .dashboard-roadmap-mini-card {
  background: #ffffff !important;
  border: 1px solid #e7ebf0 !important;
}

body:has(.dashboard-page.dashboard-redesign) .dashboard-roadmap-mini-glow {
  background: radial-gradient(circle at 15% 10%, rgba(141, 214, 44, .16), transparent 60%) !important;
}

body:has(.dashboard-page.dashboard-redesign) .dashboard-roadmap-mini-list span {
  background: #ffffff !important;
  border: 1px solid #e9edf2 !important;
  color: #111827 !important;
}

body:has(.dashboard-page.dashboard-redesign) .dashboard-roadmap-mini-list span i,
body:has(.dashboard-page.dashboard-redesign) .dashboard-roadmap-mini-more i {
  color: #8dd62c !important;
}

body:has(.dashboard-page.dashboard-redesign) .dashboard-specialist-top span {
  background: #f5fbeb !important;
  color: #6da91f !important;
}

body:has(.dashboard-page.dashboard-redesign) .category-progress {
  background: #edf0f4 !important;
}

body:has(.dashboard-page.dashboard-redesign) .crm-footer span {
  color: #111111 !important;
}


/* v93: remove auth brand subtitle globally. */
.auth-brand-subtitle {
  display: none !important;
}


/* v94: full no-blue cleanup for objects/login/loaders, brand green + gray only. */
:root {
  --crm-bg: #f9fbf5 !important;
  --crm-surface: #ffffff !important;
  --crm-surface-soft: rgba(255, 255, 255, 0.92) !important;
  --crm-border: #e4ebdc !important;
  --crm-border-strong: #cfe4b4 !important;
  --crm-muted: #565d62 !important;
  --crm-title: #000000 !important;
  --crm-text: #000000 !important;
  --crm-primary: #8dd62c !important;
  --crm-primary-dark: #78bb24 !important;
  --crm-sidebar-start: #565d62 !important;
  --crm-sidebar-end: #20262b !important;
  --crm-topbar-start: #565d62 !important;
  --crm-topbar-end: #3f474d !important;
  --crm-shadow: 0 18px 48px rgba(86, 93, 98, 0.10) !important;
  --crm-shadow-soft: 0 10px 24px rgba(86, 93, 98, 0.08) !important;
}

html,
body,
.app-body,
.app-layout,
.app-main,
.app-content,
.objects-layout,
.objects-content,
.documents-layout,
.documents-content {
  background: #fefdfe !important;
}

/* Верхние панели без синего: серый + зелёная фирменная подсветка. */
.app-topbar,
.objects-topbar,
.documents-topbar,
.mobile-app-topbar {
  background:
    radial-gradient(circle at 8% 35%, rgba(141, 214, 44, .16), transparent 17rem),
    linear-gradient(180deg, #5e656a 0%, #4f565b 100%) !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  box-shadow: 0 10px 28px rgba(86, 93, 98, .16) !important;
  color: #ffffff !important;
}

.app-sidebar {
  background:
    radial-gradient(circle at 10% 18%, rgba(141, 214, 44, .16), transparent 14rem),
    linear-gradient(180deg, #20262b 0%, #171c20 100%) !important;
  border-right: 1px solid rgba(255,255,255,.06) !important;
  box-shadow: none !important;
}

.sidebar-link.active,
.mobile-nav-item.active {
  background: linear-gradient(135deg, rgba(132, 182, 59, 0.18), rgba(132, 182, 59, 0.10)) !important;
  color: #ffffff !important;
  box-shadow: inset 0 0 0 1px rgba(196, 216, 162, 0.14), 0 6px 16px rgba(72, 78, 82, 0.12) !important;
}

.sidebar-link.active *,
.mobile-nav-item.active * {
  color: #ffffff !important;
}

.sidebar-link:hover,
.sidebar-link:focus,
.topbar-icon:hover,
.topbar-icon:focus,
.topbar-user:hover,
.topbar-user:focus,
.objects-topbar .btn:hover,
.objects-topbar .btn:focus,
.app-topbar .btn:hover,
.app-topbar .btn:focus {
  background: rgba(255, 255, 255, .10) !important;
  border-color: rgba(255, 255, 255, .22) !important;
  color: #ffffff !important;
}

/* Страница выбора объекта без голубой/синей дымки. */
.objects-page,
.objects-layout,
.objects-content {
  background: #fefdfe !important;
}

.objects-title,
.object-title,
.object-card h2 {
  color: #000000 !important;
  text-shadow: none !important;
}

.object-card,
.objects-empty,
.objects-empty-minimal {
  background: #ffffff !important;
  border-color: rgba(86, 93, 98, .12) !important;
  box-shadow: 0 14px 36px rgba(86, 93, 98, .10) !important;
}

.object-card:hover,
.object-card:focus-within {
  border-color: rgba(141, 214, 44, .42) !important;
  box-shadow: 0 22px 50px rgba(86, 93, 98, .15) !important;
}

.object-icon,
.objects-empty-icon {
  background: #f7faef !important;
  color: #8dd62c !important;
  box-shadow: none !important;
}

.object-stat-row {
  background: #fbfdf8 !important;
  border: 1px solid rgba(141, 214, 44, .16) !important;
  box-shadow: none !important;
}

.object-stat-row span,
.object-address,
.object-description,
.object-meta {
  color: #565d62 !important;
}

.stat-badge-white,
.stat-badge {
  background: #ffffff !important;
  border-color: rgba(86, 93, 98, .16) !important;
  box-shadow: 0 6px 14px rgba(86, 93, 98, .08) !important;
  color: #000000 !important;
}

.stat-badge-success {
  background: #f3fbeb !important;
  border-color: rgba(141, 214, 44, .38) !important;
  color: #000000 !important;
}

.stat-badge-danger {
  background: #fff5f5 !important;
  border-color: rgba(242, 85, 85, .28) !important;
  color: #000000 !important;
}

.object-action {
  background: #ffffff !important;
  border-color: rgba(86, 93, 98, .14) !important;
  color: #8dd62c !important;
}

.object-action:hover,
.object-action:focus {
  background: #f7faef !important;
  border-color: #8dd62c !important;
  color: #78bb24 !important;
}

/* Загрузчики и центральные карточки: только зелёный/серый, без голубых кругов. */
.site-page-loader,
.mobile-dev-screen {
  background:
    radial-gradient(circle at 18% 18%, rgba(141, 214, 44, .12), transparent 16rem),
    radial-gradient(circle at 82% 20%, rgba(141, 214, 44, .08), transparent 14rem),
    linear-gradient(180deg, #fefdfe 0%, #f9fbf5 100%) !important;
}

.site-page-loader-card,
.mobile-loading-card {
  background: rgba(255, 255, 255, .86) !important;
  border-color: rgba(141, 214, 44, .18) !important;
  box-shadow: 0 28px 90px rgba(86, 93, 98, .16) !important;
}

.mobile-loading-orbit::before {
  border-top-color: rgba(141, 214, 44, .95) !important;
  border-right-color: rgba(141, 214, 44, .24) !important;
}

.mobile-loading-orbit::after {
  border-bottom-color: rgba(141, 214, 44, .70) !important;
  border-left-color: rgba(141, 214, 44, .18) !important;
}

.mobile-loading-orbit > span:nth-child(1) {
  border-top-color: rgba(86, 93, 98, .18) !important;
}

.mobile-loading-orbit > span:nth-child(2) {
  border-right-color: rgba(141, 214, 44, .22) !important;
}

.mobile-loading-orbit > span:nth-child(3) {
  border-bottom-color: rgba(86, 93, 98, .14) !important;
}

/* Логин/регистрация: убираем голубой autofill/фокус даже в модалках. */
input,
textarea,
select,
.form-control,
.form-select,
.login-input-wrap .form-control,
.registration-request-modal .form-control,
.login-captcha-box .form-control,
.modal .form-control,
.modal textarea.form-control {
  background-color: #ffffff !important;
  background-image: none !important;
  border-color: rgba(141, 214, 44, .34) !important;
  color: #000000 !important;
  box-shadow: none !important;
}

input:focus,
textarea:focus,
select:focus,
.form-control:focus,
.form-select:focus,
.login-input-wrap .form-control:focus,
.registration-request-modal .form-control:focus,
.login-captcha-box .form-control:focus,
.modal .form-control:focus,
.modal textarea.form-control:focus {
  background-color: #ffffff !important;
  border-color: #8dd62c !important;
  box-shadow: 0 0 0 .22rem rgba(141, 214, 44, .20) !important;
  outline: none !important;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px #ffffff inset !important;
  box-shadow: 0 0 0 1000px #ffffff inset !important;
  -webkit-text-fill-color: #000000 !important;
  caret-color: #000000 !important;
  border-color: #8dd62c !important;
}

.login-card,
.registration-request-modal,
.login-captcha-box,
.login-captcha-box-standalone {
  background: #ffffff !important;
  border-color: rgba(141, 214, 44, .24) !important;
  box-shadow: 0 26px 70px rgba(86, 93, 98, .15) !important;
}

.login-card-glow,
.registration-request-modal::before {
  background: radial-gradient(circle, rgba(141, 214, 44, .14), transparent 66%) !important;
}

/* Dashboard и карточки статистики: убираем остатки blue в старых стилях. */
.dashboard-redesign-hero,
.dashboard-focus-card,
.dashboard-info-card,
.dashboard-specialist-card,
.metric-card,
.category-card,
.materials-summary-card,
.assignment-report-card,
.worker-task-card {
  background: #ffffff !important;
  border-color: #e4ebdc !important;
  box-shadow: 0 10px 22px rgba(86, 93, 98, .07) !important;
}

.dashboard-mini-stats div,
.dashboard-line-list div,
.metric-icon {
  background: #fbfdf8 !important;
  border-color: rgba(141, 214, 44, .14) !important;
}

.dashboard-progress-ring {
  background: conic-gradient(#8dd62c calc(var(--value) * 1%), #e5e7eb 0) !important;
}

.dashboard-progress-ring::before {
  background: #ffffff !important;
}

.dashboard-roadmap-card::before,
.dashboard-roadmap-mini-glow {
  background: radial-gradient(circle, rgba(141, 214, 44, .14) 0%, rgba(141, 214, 44, 0) 68%) !important;
}

/* Общие кнопки: никакой синей подсветки. */
.btn-primary,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:focus-visible,
.btn-primary:active,
.btn-primary.active {
  background: linear-gradient(180deg, #99df3f 0%, #80c628 100%) !important;
  border-color: #80c628 !important;
  color: #ffffff !important;
  box-shadow: 0 12px 24px rgba(141, 214, 44, .24) !important;
  outline: none !important;
}

.btn-primary *,
.btn-primary i,
.btn-primary .bi {
  color: #ffffff !important;
}

.btn-outline-primary,
.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active {
  border-color: #8dd62c !important;
  color: #565d62 !important;
  box-shadow: 0 0 0 .18rem rgba(141, 214, 44, .14) !important;
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus,
.btn-outline-secondary:active,
.dropdown-item:hover,
.dropdown-item:focus {
  background: #f7faef !important;
  border-color: #8dd62c !important;
  color: #000000 !important;
}

/* Финальная страховка от известных голубых/синих цветов. */
.badge,
.status-pill-muted {
  background-color: #f7faef !important;
  border-color: #dfe8d4 !important;
}


/* v97: top header on all pages uses mostly neutral gray like the reference, with only a very subtle brand tint. */
.app-topbar,
.objects-topbar,
.documents-topbar,
.mobile-app-topbar,
body:has(.dashboard-page.dashboard-redesign) .app-topbar,
body:has(.dashboard-page.dashboard-redesign) .objects-topbar,
body:has(.dashboard-page.dashboard-redesign) .documents-topbar,
body:has(.dashboard-page.dashboard-redesign) .mobile-app-topbar {
  background:
    radial-gradient(circle at 7% 26%, rgba(141, 214, 44, .06), transparent 15rem),
    linear-gradient(180deg, #23292f 0%, #1a1f24 100%) !important;
  border-bottom: 1px solid rgba(255,255,255,.05) !important;
  box-shadow: 0 10px 28px rgba(86, 93, 98, .16) !important;
}

.app-topbar .topbar-project,
.app-topbar .topbar-project span,
.app-topbar .topbar-user,
.app-topbar .topbar-user span,
.app-topbar .topbar-icon,
.objects-topbar .topbar-project,
.objects-topbar .topbar-project span,
.objects-topbar .topbar-user,
.objects-topbar .topbar-user span,
.objects-topbar .topbar-icon,
.documents-topbar .topbar-project,
.documents-topbar .topbar-project span,
.documents-topbar .topbar-user,
.documents-topbar .topbar-user span,
.documents-topbar .topbar-icon,
.mobile-app-topbar,
.mobile-app-topbar * {
  color: #ffffff !important;
}

.app-topbar .topbar-icon,
.app-topbar .topbar-user,
.objects-topbar .topbar-icon,
.objects-topbar .topbar-user,
.documents-topbar .topbar-icon,
.documents-topbar .topbar-user {
  background: rgba(255,255,255,.04) !important;
  border-color: rgba(255,255,255,.10) !important;
}

.app-topbar .btn-outline-light,
.objects-topbar .btn-outline-light,
.documents-topbar .btn-outline-light,
.app-topbar .topbar-project .btn,
.objects-topbar .topbar-project .btn,
.documents-topbar .topbar-project .btn {
  color: #ffffff !important;
  border-color: rgba(255,255,255,.18) !important;
  background: rgba(255,255,255,.03) !important;
}

.app-topbar .btn-outline-light:hover,
.app-topbar .btn-outline-light:focus,
.objects-topbar .btn-outline-light:hover,
.objects-topbar .btn-outline-light:focus,
.documents-topbar .btn-outline-light:hover,
.documents-topbar .btn-outline-light:focus,
.app-topbar .topbar-project .btn:hover,
.app-topbar .topbar-project .btn:focus,
.objects-topbar .topbar-project .btn:hover,
.objects-topbar .topbar-project .btn:focus,
.documents-topbar .topbar-project .btn:hover,
.documents-topbar .topbar-project .btn:focus {
  background: rgba(255,255,255,.10) !important;
  border-color: rgba(255,255,255,.28) !important;
  color: #ffffff !important;
}


/* v97 final override: keep the topbar mostly gray with minimal green tint on the left. */
.app-topbar::before,
.objects-topbar::before,
.documents-topbar::before,
.mobile-app-topbar::before {
  content: none !important;
}


/* v98: make the left sidebar background mostly neutral gray like the reference, with only a minimal green tint. */
.app-sidebar,
body:has(.dashboard-page.dashboard-redesign) .app-sidebar {
  background:
    radial-gradient(circle at 8% 18%, rgba(141, 214, 44, .05), transparent 13rem),
    linear-gradient(180deg, #20262b 0%, #171c20 100%) !important;
  border-right: 1px solid rgba(255,255,255,.05) !important;
  box-shadow: inset -1px 0 0 rgba(255,255,255,.02) !important;
}

/* Final safeguard: no extra colored wash on the left gray block itself. */
.app-sidebar::before,
.app-sidebar::after {
  opacity: .18 !important;
}


/* v99: logout/page loading animation uses only brand green + gray, no purple/violet. */
.site-page-loader,
.site-page-loader.js-success-loader,
.app-launch-loader {
  background:
    radial-gradient(circle at 18% 18%, rgba(141, 214, 44, .10), transparent 16rem),
    radial-gradient(circle at 82% 20%, rgba(86, 93, 98, .06), transparent 14rem),
    linear-gradient(180deg, rgba(254, 253, 254, .98) 0%, rgba(249, 251, 245, .98) 100%) !important;
}

.site-page-loader-card,
.site-page-loader.js-success-loader .site-page-loader-card,
.app-launch-loader .site-page-loader-card {
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,244,.98)) !important;
  border: 1px solid rgba(141, 214, 44, .18) !important;
  box-shadow: 0 28px 90px rgba(86, 93, 98, .16) !important;
}

.site-page-loader .mobile-loading-orbit::before,
.site-page-loader.js-success-loader .mobile-loading-orbit::before,
.app-launch-loader .mobile-loading-orbit::before {
  border-top-color: rgba(141, 214, 44, .92) !important;
  border-right-color: rgba(141, 214, 44, .26) !important;
}

.site-page-loader .mobile-loading-orbit::after,
.site-page-loader.js-success-loader .mobile-loading-orbit::after,
.app-launch-loader .mobile-loading-orbit::after {
  border-bottom-color: rgba(86, 93, 98, .50) !important;
  border-left-color: rgba(86, 93, 98, .18) !important;
}

.site-page-loader .mobile-loading-orbit > span:nth-child(1),
.site-page-loader.js-success-loader .mobile-loading-orbit > span:nth-child(1),
.app-launch-loader .mobile-loading-orbit > span:nth-child(1) {
  border-top-color: rgba(86, 93, 98, .26) !important;
  background: none !important;
}

.site-page-loader .mobile-loading-orbit > span:nth-child(2),
.site-page-loader.js-success-loader .mobile-loading-orbit > span:nth-child(2),
.app-launch-loader .mobile-loading-orbit > span:nth-child(2) {
  border-right-color: rgba(141, 214, 44, .20) !important;
  background: none !important;
}

.site-page-loader .mobile-loading-orbit > span:nth-child(3),
.site-page-loader.js-success-loader .mobile-loading-orbit > span:nth-child(3),
.app-launch-loader .mobile-loading-orbit > span:nth-child(3) {
  border-bottom-color: rgba(86, 93, 98, .16) !important;
  background: radial-gradient(circle, rgba(141, 214, 44, .08), transparent 68%) !important;
}

.site-page-loader .mobile-loading-mark,
.site-page-loader.js-success-loader .mobile-loading-mark,
.app-launch-loader .mobile-loading-mark {
  background: transparent !important;
  box-shadow: none !important;
}


/* v100: remove white outlined boxes around the Vladimir user button and dashboard icons like Приемка. */
.app-topbar .topbar-user,
.objects-topbar .topbar-user,
.documents-topbar .topbar-user,
body:has(.dashboard-page.dashboard-redesign) .topbar-user {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.app-topbar .topbar-user:hover,
.app-topbar .topbar-user:focus,
.objects-topbar .topbar-user:hover,
.objects-topbar .topbar-user:focus,
.documents-topbar .topbar-user:hover,
.documents-topbar .topbar-user:focus,
body:has(.dashboard-page.dashboard-redesign) .topbar-user:hover,
body:has(.dashboard-page.dashboard-redesign) .topbar-user:focus {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.dashboard-card-head i,
.dashboard-info-title i,
body:has(.dashboard-page.dashboard-redesign) .dashboard-card-head i,
body:has(.dashboard-page.dashboard-redesign) .dashboard-info-title i {
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}


/* v101: move the footer credit slightly lower everywhere. */
.crm-footer {
  margin-top: 3.1rem !important;
  padding-top: 1.25rem !important;
  transform: translateY(12px) !important;
}

.auth-shell .auth-footer,
body.auth-body .auth-shell .auth-footer {
  bottom: max(.55rem, env(safe-area-inset-bottom)) !important;
  transform: translateX(-50%) translateY(8px) !important;
}

.objects-content .crm-footer,
.documents-content .crm-footer,
.app-content .crm-footer {
  margin-top: 3.25rem !important;
  transform: translateY(12px) !important;
}

@media (max-width: 768px) {
  .crm-footer {
    margin-top: 2.8rem !important;
    transform: translateY(10px) !important;
  }

  .auth-shell .auth-footer,
  body.auth-body .auth-shell .auth-footer {
    bottom: max(.45rem, env(safe-area-inset-bottom)) !important;
    transform: translateX(-50%) translateY(7px) !important;
  }
}


/* v102: object edit/create page — remove blue, make back link black, green checkmarks for selected types. */
.object-back-link {
  color: #000 !important;
}
.object-back-link i {
  color: #000 !important;
}
.object-back-link:hover,
.object-back-link:focus {
  color: #000 !important;
  opacity: .8;
}

.object-form-shell {
  background: rgba(255,255,255,.97) !important;
  border-color: #e4ebdc !important;
}

.object-form-visual {
  background: linear-gradient(180deg, #ffffff, #f9fbf5) !important;
  border-right: 1px solid #e4ebdc !important;
}

.building-illustration {
  background: linear-gradient(180deg, #f7faef, #e9f3d9) !important;
  color: rgba(141, 214, 44, 0.68) !important;
}

.object-form-panel {
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(249,251,245,.88)) !important;
}

.object-form-panel .objects-title {
  color: #000 !important;
  text-shadow: none !important;
}

/* Remove any blue focus/autofill artifacts near the heading and inputs. */
.object-form-panel .form-control,
.object-form-panel input.form-control,
.object-form-panel textarea.form-control,
.object-form-panel select.form-select {
  background: #fff !important;
  border-color: rgba(141, 214, 44, .34) !important;
  box-shadow: none !important;
  outline: none !important;
}

.object-form-panel .form-control:focus,
.object-form-panel input.form-control:focus,
.object-form-panel textarea.form-control:focus,
.object-form-panel select.form-select:focus {
  border-color: #8dd62c !important;
  box-shadow: 0 0 0 .18rem rgba(141, 214, 44, .18) !important;
  outline: none !important;
}

.object-form-panel input:-webkit-autofill,
.object-form-panel input:-webkit-autofill:hover,
.object-form-panel input:-webkit-autofill:focus,
.object-form-panel textarea:-webkit-autofill,
.object-form-panel textarea:-webkit-autofill:hover,
.object-form-panel textarea:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px #fff inset !important;
  box-shadow: 0 0 0 1000px #fff inset !important;
  -webkit-text-fill-color: #000 !important;
  caret-color: #000 !important;
  border-color: #8dd62c !important;
}

.object-type-box {
  border-color: #e4ebdc !important;
  background: linear-gradient(180deg, #ffffff 0%, #f9fbf5 100%) !important;
}
.object-type-title {
  color: #565d62 !important;
}
.object-type-card {
  border-color: #dfe8d4 !important;
  background: #fff !important;
  box-shadow: none !important;
}
.object-type-card:hover {
  border-color: #b9d98a !important;
  box-shadow: 0 10px 22px rgba(86, 93, 98, .08) !important;
}
.object-type-card:has(.form-check-input:checked) {
  border-color: #8dd62c !important;
  background: #f7faef !important;
  box-shadow: inset 0 0 0 1px rgba(141, 214, 44, .18) !important;
}
.object-type-icon {
  background: #f7faef !important;
  color: #565d62 !important;
}
.object-type-disabled .object-type-icon {
  background: #fff7ed !important;
  color: #c2410c !important;
}
.object-type-card strong,
.object-type-card small {
  color: #565d62 !important;
}
.object-type-card strong {
  color: #000 !important;
}

/* Green checkbox with white checkmark for selected apartments/commercial. */
.object-type-option input,
.object-type-card.object-type-option input,
.object-type-option .form-check-input,
.object-type-card.object-type-option .form-check-input {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 1rem !important;
  height: 1rem !important;
  border-radius: .22rem !important;
  border: 1px solid #b7c6b0 !important;
  background: #fff !important;
  box-shadow: none !important;
  position: relative !important;
}

.object-type-option input:checked,
.object-type-card.object-type-option input:checked,
.object-type-option .form-check-input:checked,
.object-type-card.object-type-option .form-check-input:checked {
  background-color: #8dd62c !important;
  border-color: #8dd62c !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.2' d='M3.2 8.2 6.5 11.3 12.8 4.8'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: .8rem .8rem !important;
}

.object-type-option input:focus,
.object-type-card.object-type-option input:focus,
.object-type-option .form-check-input:focus,
.object-type-card.object-type-option .form-check-input:focus {
  box-shadow: 0 0 0 .16rem rgba(141, 214, 44, .18) !important;
  outline: none !important;
}


/* v103: object type heading black + green/gray branding for confirmation/notification dialogs site-wide. */
.object-type-title {
  color: #000000 !important;
}

/* Global confirmation / notification dialog styling */
.crm-modal .modal-content,
.sync-confirm-modal .modal-content,
.delete-error-modal,
.error-report-modal,
.dashboard-roadmap-modal-content {
  border: 1px solid #dfe8d4 !important;
  background: linear-gradient(180deg, rgba(255,255,255,.99), rgba(249,251,245,.98)) !important;
  box-shadow: 0 28px 76px rgba(86, 93, 98, .18) !important;
}

.crm-modal .modal-header,
.error-report-modal .modal-header,
.dashboard-roadmap-modal-head,
.modal-header {
  border-bottom-color: #e4ebdc !important;
}

.crm-modal .modal-footer,
.error-report-modal .modal-footer,
.modal-footer {
  border-top-color: #e4ebdc !important;
}

.crm-modal p,
.delete-error-text,
.error-report-modal .form-text,
.modal-body,
.modal-body p {
  color: #565d62 !important;
}

.crm-modal h2,
.modal-title,
.delete-error-title,
.dashboard-roadmap-modal-head h2 {
  color: #000000 !important;
}

.modal-icon,
.delete-error-icon,
.confirm-modal-icon,
.modal-icon-warning,
.modal-icon-danger {
  background: linear-gradient(180deg, #f7faef, #eef6df) !important;
  color: #78bb24 !important;
  box-shadow: inset 0 0 0 1px rgba(141, 214, 44, .14), 0 12px 28px rgba(141, 214, 44, .10) !important;
}

.confirm-modal-page {
  min-height: calc(100vh - 11.75rem) !important;
}

.confirm-modal-backdrop {
  background:
    radial-gradient(circle at 50% 28%, rgba(141, 214, 44, 0.12), transparent 18rem),
    rgba(26, 31, 36, 0.42) !important;
  backdrop-filter: blur(8px) !important;
}

.confirm-modal-card {
  border: 1px solid #dfe8d4 !important;
  background: linear-gradient(180deg, rgba(255,255,255,.99), rgba(249,251,245,.98)) !important;
  box-shadow: 0 28px 76px rgba(86, 93, 98, .18) !important;
}

.confirm-modal-close {
  border-color: #dfe8d4 !important;
  background: #ffffff !important;
  color: #565d62 !important;
}

.confirm-modal-close:hover,
.confirm-modal-close:focus {
  background: #f7faef !important;
  border-color: #cfe4b4 !important;
  color: #000000 !important;
}

.confirm-modal-kicker {
  color: #78bb24 !important;
}

.confirm-modal-card h1,
.confirm-modal-text {
  color: #000000 !important;
}

.confirm-modal-text {
  color: #565d62 !important;
}

.confirm-modal-warning {
  border: 1px solid #dfe8d4 !important;
  background: #f7faef !important;
  color: #565d62 !important;
}

.confirm-modal-warning i {
  color: #78bb24 !important;
}

/* Brand the generic alerts/toasts more consistently in green/gray shells */
.crm-toast,
.alert {
  border-radius: 1rem !important;
  box-shadow: 0 12px 28px rgba(86, 93, 98, .10) !important;
}

.crm-toast-info,
.alert-info,
.crm-toast-success,
.alert-success {
  background: #f2faea !important;
  border-color: #d5eab7 !important;
  color: #355014 !important;
}

.crm-toast-warning,
.alert-warning {
  background: #f7faef !important;
  border-color: #dfe8d4 !important;
  color: #565d62 !important;
}

.crm-toast-danger,
.alert-danger {
  background: #fff8f8 !important;
  border-color: #eadfdc !important;
  color: #7a4b45 !important;
}

/* Modal buttons: secondary neutral brand style */
.confirm-modal-actions .btn-outline-secondary,
.modal-actions .btn-outline-secondary,
.modal-footer .btn-outline-secondary,
.delete-error-actions .btn-outline-secondary,
.delete-error-actions .btn-light,
.modal-footer .btn-light {
  border-color: #d5ddd0 !important;
  background: #ffffff !important;
  color: #565d62 !important;
  box-shadow: none !important;
}

.confirm-modal-actions .btn-outline-secondary:hover,
.confirm-modal-actions .btn-outline-secondary:focus,
.modal-actions .btn-outline-secondary:hover,
.modal-actions .btn-outline-secondary:focus,
.modal-footer .btn-outline-secondary:hover,
.modal-footer .btn-outline-secondary:focus,
.delete-error-actions .btn-outline-secondary:hover,
.delete-error-actions .btn-outline-secondary:focus,
.delete-error-actions .btn-light:hover,
.delete-error-actions .btn-light:focus,
.modal-footer .btn-light:hover,
.modal-footer .btn-light:focus {
  background: #f7faef !important;
  border-color: #cfe4b4 !important;
  color: #000000 !important;
}


/* v104: specialist statistics in brand colors, with less aggressive green. */
body:has(.dashboard-page.dashboard-redesign) .dashboard-specialists-grid {
  gap: 1rem !important;
}

body:has(.dashboard-page.dashboard-redesign) .dashboard-specialist-card {
  background: linear-gradient(180deg, #ffffff 0%, #fbfcfa 100%) !important;
  border: 1px solid #e3e8df !important;
  box-shadow: 0 10px 22px rgba(86, 93, 98, .06) !important;
}

body:has(.dashboard-page.dashboard-redesign) .dashboard-specialist-card::before {
  width: .22rem !important;
  opacity: 1 !important;
}

body:has(.dashboard-page.dashboard-redesign) .dashboard-specialist-top h3 {
  color: #111111 !important;
}

body:has(.dashboard-page.dashboard-redesign) .dashboard-specialist-top p {
  color: #6b7280 !important;
}

body:has(.dashboard-page.dashboard-redesign) .dashboard-specialist-top span {
  background: #f3f5f1 !important;
  color: #4f5a52 !important;
  border: 1px solid #dfe5da !important;
}

body:has(.dashboard-page.dashboard-redesign) .category-progress {
  background: #e8ece7 !important;
  height: .9rem !important;
}

/* Brand palette rotation: green + gray + soft olive-gray. */
body:has(.dashboard-page.dashboard-redesign) .dashboard-specialist-card:nth-child(3n+1)::before {
  background: #8dd62c !important;
}
body:has(.dashboard-page.dashboard-redesign) .dashboard-specialist-card:nth-child(3n+1) .dashboard-specialist-top span {
  background: #f3fae8 !important;
  color: #6da91f !important;
  border-color: #d8eab7 !important;
}
body:has(.dashboard-page.dashboard-redesign) .dashboard-specialist-card:nth-child(3n+1) .category-progress-bar {
  background: linear-gradient(90deg, #8dd62c 0%, #72b71f 100%) !important;
}

body:has(.dashboard-page.dashboard-redesign) .dashboard-specialist-card:nth-child(3n+2)::before {
  background: #565d62 !important;
}
body:has(.dashboard-page.dashboard-redesign) .dashboard-specialist-card:nth-child(3n+2) .dashboard-specialist-top span {
  background: #f2f4f5 !important;
  color: #565d62 !important;
  border-color: #d9dee2 !important;
}
body:has(.dashboard-page.dashboard-redesign) .dashboard-specialist-card:nth-child(3n+2) .category-progress-bar {
  background: linear-gradient(90deg, #6b747a 0%, #565d62 100%) !important;
}

body:has(.dashboard-page.dashboard-redesign) .dashboard-specialist-card:nth-child(3n+3)::before {
  background: #a8b69b !important;
}
body:has(.dashboard-page.dashboard-redesign) .dashboard-specialist-card:nth-child(3n+3) .dashboard-specialist-top span {
  background: #f7f9f4 !important;
  color: #6f7b68 !important;
  border-color: #dfe6d7 !important;
}
body:has(.dashboard-page.dashboard-redesign) .dashboard-specialist-card:nth-child(3n+3) .category-progress-bar {
  background: linear-gradient(90deg, #b6c4a8 0%, #8fa181 100%) !important;
}


/* v105: reduce harsh white/bright glow on green primary buttons site-wide. */
.btn-primary,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:focus-visible,
.btn-primary:active,
.btn-primary.active,
.show > .btn-primary.dropdown-toggle,
.btn-success,
.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.btn-success:visited,
.dashboard-btn-primary,
.dashboard-btn-primary:hover,
.dashboard-btn-primary:focus,
.app-topbar .topbar-project .btn.btn-primary,
.objects-topbar .topbar-project .btn.btn-primary,
.documents-topbar .topbar-project .btn.btn-primary {
  background: linear-gradient(180deg, #92d533 0%, #7fc428 100%) !important;
  border-color: #7fc428 !important;
  color: #ffffff !important;
  box-shadow: 0 5px 14px rgba(141, 214, 44, .12) !important;
  filter: none !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:focus-visible,
.btn-primary:active,
.btn-primary.active,
.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.dashboard-btn-primary:hover,
.dashboard-btn-primary:focus,
.app-topbar .topbar-project .btn.btn-primary:hover,
.app-topbar .topbar-project .btn.btn-primary:focus,
.objects-topbar .topbar-project .btn.btn-primary:hover,
.objects-topbar .topbar-project .btn.btn-primary:focus,
.documents-topbar .topbar-project .btn.btn-primary:hover,
.documents-topbar .topbar-project .btn.btn-primary:focus {
  background: linear-gradient(180deg, #8acd30 0%, #79ba24 100%) !important;
  border-color: #79ba24 !important;
  box-shadow: 0 6px 16px rgba(141, 214, 44, .14) !important;
}

.btn-primary:focus,
.btn-primary:focus-visible,
.btn-primary:active:focus,
.btn-success:focus,
.btn-success:active:focus,
.dashboard-btn-primary:focus,
.app-topbar .topbar-project .btn.btn-primary:focus,
.objects-topbar .topbar-project .btn.btn-primary:focus,
.documents-topbar .topbar-project .btn.btn-primary:focus {
  outline: none !important;
  box-shadow: 0 0 0 .16rem rgba(141, 214, 44, .14), 0 6px 16px rgba(141, 214, 44, .12) !important;
}

/* Specific safeguard for the top "Добавить объект" button and similar CTA buttons. */
.app-topbar .topbar-project .btn,
.objects-topbar .topbar-project .btn,
.documents-topbar .topbar-project .btn {
  text-shadow: none !important;
}


/* v106: even softer glow for green CTA buttons across the site. */
.btn-primary,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:focus-visible,
.btn-primary:active,
.btn-primary.active,
.show > .btn-primary.dropdown-toggle,
.btn-success,
.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.btn-success:visited,
.dashboard-btn-primary,
.dashboard-btn-primary:hover,
.dashboard-btn-primary:focus,
.app-topbar .topbar-project .btn.btn-primary,
.objects-topbar .topbar-project .btn.btn-primary,
.documents-topbar .topbar-project .btn.btn-primary {
  background: linear-gradient(180deg, #8fd131 0%, #7dc126 100%) !important;
  border-color: #79ba24 !important;
  color: #ffffff !important;
  box-shadow: 0 2px 8px rgba(141, 214, 44, .08) !important;
  filter: none !important;
  text-shadow: none !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:focus-visible,
.btn-primary:active,
.btn-primary.active,
.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.dashboard-btn-primary:hover,
.dashboard-btn-primary:focus,
.app-topbar .topbar-project .btn.btn-primary:hover,
.app-topbar .topbar-project .btn.btn-primary:focus,
.objects-topbar .topbar-project .btn.btn-primary:hover,
.objects-topbar .topbar-project .btn.btn-primary:focus,
.documents-topbar .topbar-project .btn.btn-primary:hover,
.documents-topbar .topbar-project .btn.btn-primary:focus {
  background: linear-gradient(180deg, #88ca2e 0%, #78b922 100%) !important;
  border-color: #74b220 !important;
  box-shadow: 0 3px 10px rgba(141, 214, 44, .09) !important;
}

.btn-primary:focus,
.btn-primary:focus-visible,
.btn-primary:active:focus,
.btn-success:focus,
.btn-success:active:focus,
.dashboard-btn-primary:focus,
.app-topbar .topbar-project .btn.btn-primary:focus,
.objects-topbar .topbar-project .btn.btn-primary:focus,
.documents-topbar .topbar-project .btn.btn-primary:focus {
  outline: none !important;
  box-shadow: 0 0 0 .10rem rgba(141, 214, 44, .08), 0 3px 10px rgba(141, 214, 44, .08) !important;
}

/* v106: remove the white strip under the object form title on add/edit object pages. */
.object-form-panel .objects-title,
.object-form-panel h1.objects-title {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  padding-bottom: 0 !important;
  margin-bottom: 1rem !important;
  position: relative !important;
}

.object-form-panel .objects-title::before,
.object-form-panel .objects-title::after,
.object-form-panel h1.objects-title::before,
.object-form-panel h1.objects-title::after {
  display: none !important;
  content: none !important;
}

.object-form-panel hr,
.object-form-panel .title-divider,
.object-form-panel .section-divider {
  display: none !important;
}


/* v107: lower the footer on the "Выберите объект" page and keep logout/secondary button text visible on hover. */
.objects-content > .crm-footer,
.objects-page .crm-footer,
.objects-layout .crm-footer {
  margin-top: 4.5rem !important;
  padding-top: 1.35rem !important;
  transform: translateY(28px) !important;
}

/* Keep outline-secondary button text readable everywhere, especially logout buttons in dropdowns. */
.btn-outline-secondary,
.btn-outline-secondary:hover,
.btn-outline-secondary:focus,
.btn-outline-secondary:focus-visible,
.btn-outline-secondary:active,
.btn-outline-secondary.active,
.dropdown-menu .btn-outline-secondary,
.dropdown-menu .btn-outline-secondary:hover,
.dropdown-menu .btn-outline-secondary:focus,
.dropdown-menu .btn-outline-secondary:focus-visible,
.dropdown-menu .btn-outline-secondary:active,
.js-auth-submit-button.btn-outline-secondary,
.js-auth-submit-button.btn-outline-secondary:hover,
.js-auth-submit-button.btn-outline-secondary:focus,
.js-auth-submit-button.btn-outline-secondary:focus-visible,
.js-auth-submit-button.btn-outline-secondary:active {
  color: #565d62 !important;
}

.btn-outline-secondary *,
.btn-outline-secondary:hover *,
.btn-outline-secondary:focus *,
.btn-outline-secondary:focus-visible *,
.btn-outline-secondary:active *,
.dropdown-menu .btn-outline-secondary *,
.dropdown-menu .btn-outline-secondary:hover *,
.dropdown-menu .btn-outline-secondary:focus *,
.dropdown-menu .btn-outline-secondary:focus-visible *,
.dropdown-menu .btn-outline-secondary:active *,
.js-auth-submit-button.btn-outline-secondary *,
.js-auth-submit-button.btn-outline-secondary:hover *,
.js-auth-submit-button.btn-outline-secondary:focus *,
.js-auth-submit-button.btn-outline-secondary:focus-visible *,
.js-auth-submit-button.btn-outline-secondary:active * {
  color: #565d62 !important;
  fill: #565d62 !important;
}

/* Override broad topbar button hover rules so secondary dropdown buttons don't turn white on hover. */
.app-topbar .dropdown-menu .btn-outline-secondary:hover,
.app-topbar .dropdown-menu .btn-outline-secondary:focus,
.objects-topbar .dropdown-menu .btn-outline-secondary:hover,
.objects-topbar .dropdown-menu .btn-outline-secondary:focus,
.documents-topbar .dropdown-menu .btn-outline-secondary:hover,
.documents-topbar .dropdown-menu .btn-outline-secondary:focus,
.app-topbar .dropdown-menu .btn-outline-secondary:active,
.objects-topbar .dropdown-menu .btn-outline-secondary:active,
.documents-topbar .dropdown-menu .btn-outline-secondary:active {
  background: #f7faef !important;
  border-color: #8dd62c !important;
  color: #565d62 !important;
  box-shadow: 0 0 0 .12rem rgba(141, 214, 44, .10) !important;
}

.app-topbar .dropdown-menu .btn-outline-secondary:hover *,
.app-topbar .dropdown-menu .btn-outline-secondary:focus *,
.objects-topbar .dropdown-menu .btn-outline-secondary:hover *,
.objects-topbar .dropdown-menu .btn-outline-secondary:focus *,
.documents-topbar .dropdown-menu .btn-outline-secondary:hover *,
.documents-topbar .dropdown-menu .btn-outline-secondary:focus * {
  color: #565d62 !important;
}


/* v108: make the "Необратимое действие" kicker red on delete confirmations site-wide. */
.confirm-modal-kicker {
  color: #dc3545 !important;
}


/* v109: calm down green on object pages and remove blue accents from documents/addendum. */

/* Objects list page: softer branding, less neon green. */
.object-card {
  border-color: rgba(86, 93, 98, .12) !important;
}
.object-card:hover,
.object-card:focus-within {
  border-color: rgba(141, 214, 44, .24) !important;
  box-shadow: 0 20px 44px rgba(86, 93, 98, .12) !important;
}
.object-icon,
.objects-empty-icon {
  background: linear-gradient(180deg, #f6f8f2, #eef2e8) !important;
  color: #87ae54 !important;
}
.object-stat-row {
  background: #fcfdfa !important;
  border: 1px solid rgba(86, 93, 98, .10) !important;
}
.object-action {
  background: #ffffff !important;
  border-color: rgba(86, 93, 98, .12) !important;
  box-shadow: none !important;
}
.object-action:hover,
.object-action:focus {
  background: #f8faf5 !important;
  border-color: rgba(141, 214, 44, .24) !important;
  box-shadow: 0 8px 18px rgba(86, 93, 98, .08) !important;
}

/* Object add/edit form: much calmer green balance. */
.object-form-shell {
  border-color: #e6ece1 !important;
}
.object-form-visual {
  background: linear-gradient(180deg, #ffffff, #fafcf8) !important;
}
.building-illustration {
  background: linear-gradient(180deg, #f5f7f2, #ecefe7) !important;
  color: rgba(135, 174, 84, .72) !important;
}
.building-plus {
  background: linear-gradient(180deg, #8fc84b, #7fb53f) !important;
  box-shadow: 0 10px 24px rgba(141, 214, 44, .16) !important;
}
.object-form-panel {
  background: linear-gradient(180deg, rgba(255,255,255,.99), rgba(250,252,248,.98)) !important;
}
.object-form-panel .form-control,
.object-form-panel input.form-control,
.object-form-panel textarea.form-control,
.object-form-panel select.form-select {
  border-color: rgba(86, 93, 98, .16) !important;
}
.object-form-panel .form-control:focus,
.object-form-panel input.form-control:focus,
.object-form-panel textarea.form-control:focus,
.object-form-panel select.form-select:focus {
  border-color: #9bbb6f !important;
  box-shadow: 0 0 0 .16rem rgba(141, 214, 44, .10) !important;
}
.object-type-box {
  background: linear-gradient(180deg, #ffffff 0%, #fafcf8 100%) !important;
  border-color: #e6ece1 !important;
}
.object-type-card {
  border-color: #dfe5da !important;
  background: #ffffff !important;
}
.object-type-card:hover {
  border-color: #bfcfb2 !important;
  box-shadow: 0 8px 18px rgba(86, 93, 98, .08) !important;
}
.object-type-card:has(.form-check-input:checked) {
  border-color: #9bbb6f !important;
  background: #fcfdfa !important;
  box-shadow: inset 0 0 0 1px rgba(141, 214, 44, .10) !important;
}
.object-type-icon {
  background: #f6f8f2 !important;
  color: #6a725f !important;
}
.object-type-option input:checked,
.object-type-card.object-type-option input:checked,
.object-type-option .form-check-input:checked,
.object-type-card.object-type-option .form-check-input:checked {
  background-color: #8fc84b !important;
  border-color: #8fc84b !important;
}
.object-type-option input:focus,
.object-type-card.object-type-option input:focus,
.object-type-option .form-check-input:focus,
.object-type-card.object-type-option .form-check-input:focus {
  box-shadow: 0 0 0 .14rem rgba(141, 214, 44, .10) !important;
}

/* Documents home + addendum: remove blue accents and reduce green intensity. */
.documents-content .document-type-card,
.document-flow-main-panel,
.document-flow-help-panel,
.document-step-card,
.document-result-card,
.document-result-hero,
.document-result-stat {
  border-color: rgba(86, 93, 98, .12) !important;
  box-shadow: 0 10px 24px rgba(86, 93, 98, .08) !important;
}
.document-type-card {
  background: #ffffff !important;
}
.document-type-card:hover {
  border-color: rgba(141, 214, 44, .26) !important;
  box-shadow: 0 12px 28px rgba(86, 93, 98, .10) !important;
}
.document-type-icon {
  background: linear-gradient(180deg, #f6f8f2, #eef2e8) !important;
  color: #87ae54 !important;
}
.document-upload-box,
.document-owner-switch,
.document-field-group,
.document-flow-help-panel .card-body,
.document-flow-main-panel > .card-body {
  background: transparent !important;
}
.document-step-number {
  background: #8fc84b !important;
  box-shadow: 0 8px 18px rgba(86, 93, 98, .14) !important;
}
.document-upload-drop {
  border-color: #d8dfd1 !important;
  background: linear-gradient(180deg, #ffffff, #fafcf8) !important;
  color: #565d62 !important;
}
.document-upload-drop:hover {
  border-color: #bfcfb2 !important;
  background: #f8faf5 !important;
}
.document-upload-drop span,
.document-help-list i {
  color: #87ae54 !important;
}
.document-help-list i {
  background: #f6f8f2 !important;
}
.document-help-list div {
  color: #565d62 !important;
  border-bottom-color: rgba(86, 93, 98, .10) !important;
}
.document-owner-option {
  border-color: #dde4d6 !important;
  background: #fafcf8 !important;
}
.document-owner-option:hover {
  border-color: #c7d7b6 !important;
  background: #f7faf2 !important;
}
.document-owner-option:has(input:checked) {
  border-color: #9bbb6f !important;
  background: #fcfdfa !important;
  box-shadow: inset 0 0 0 1px rgba(141, 214, 44, .10) !important;
}
.document-choice-group {
  background: #f9fbf7 !important;
  border-color: rgba(86, 93, 98, .08) !important;
}
.document-choice-btn {
  color: #565d62 !important;
}
.document-choice-btn:hover {
  background: #ffffff !important;
  color: #6f9640 !important;
}
.document-choice-btn.is-active {
  background: #8fc84b !important;
  color: #ffffff !important;
  box-shadow: 0 8px 18px rgba(86, 93, 98, .12) !important;
}
.document-addendum-form .form-control,
.document-addendum-form .form-select,
.document-addendum-form textarea,
.documents-content .form-control,
.documents-content .form-select,
.documents-content textarea {
  border-color: rgba(86, 93, 98, .16) !important;
  box-shadow: none !important;
}
.document-addendum-form .form-control:focus,
.document-addendum-form .form-select:focus,
.document-addendum-form textarea:focus,
.documents-content .form-control:focus,
.documents-content .form-select:focus,
.documents-content textarea:focus {
  border-color: #9bbb6f !important;
  box-shadow: 0 0 0 .16rem rgba(141, 214, 44, .10) !important;
  outline: none !important;
}
.document-back-button,
.documents-content .btn-outline-secondary {
  border-color: rgba(86, 93, 98, .16) !important;
}
.document-back-button:hover,
.document-back-button:focus,
.documents-content .btn-outline-secondary:hover,
.documents-content .btn-outline-secondary:focus {
  background: #f8faf5 !important;
  border-color: rgba(141, 214, 44, .24) !important;
  color: #000000 !important;
}
.document-change {
  background: #fafcf8 !important;
}
.document-diff-line p,
.document-empty-result {
  border-color: rgba(86, 93, 98, .12) !important;
}
.document-diff-line p {
  color: #3d4852 !important;
}
.document-result-status {
  background: rgba(141, 214, 44, .12) !important;
  color: #566141 !important;
}


/* v110: settings page less green/no blue, black text, visible checks; login calmer green. */

/* SETTINGS PAGE */
.settings-standalone-layout .documents-content {
  background:
    radial-gradient(circle at 14% 10%, rgba(141, 214, 44, .06), transparent 18rem),
    linear-gradient(180deg, #fafbf9 0%, #ffffff 56%, #fbfcfa 100%) !important;
}
.settings-standalone-layout .documents-content::before {
  background: radial-gradient(circle, rgba(86, 93, 98, .05), rgba(141, 214, 44, .04), transparent 70%) !important;
  filter: blur(38px) !important;
  opacity: .42 !important;
}
.settings-standalone-layout .settings-page-head {
  border-color: rgba(86, 93, 98, .14) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.97), rgba(250,252,248,.95)) !important;
  box-shadow: 0 18px 42px rgba(86, 93, 98, .10) !important;
}
.settings-standalone-layout .settings-page-head::before {
  background: linear-gradient(180deg, #8fc84b, #7fb53f) !important;
  box-shadow: 0 10px 20px rgba(141, 214, 44, .14) !important;
}
.settings-standalone-layout .settings-page-head .page-title {
  color: #000 !important;
}
.settings-standalone-layout .settings-card {
  border-color: rgba(86, 93, 98, .14) !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 14px 34px rgba(86, 93, 98, .08) !important;
}
.settings-standalone-layout .settings-card::before {
  height: .22rem !important;
  background: linear-gradient(90deg, #8fc84b, #8fc84b) !important;
  opacity: .82 !important;
}
.settings-standalone-layout .settings-card::after {
  background: rgba(86, 93, 98, .035) !important;
}
.settings-standalone-layout .settings-card-warning::before,
.settings-standalone-layout .settings-card-locks::before {
  background: linear-gradient(90deg, #8fc84b, #8fc84b) !important;
}
.settings-standalone-layout .settings-card:hover,
.settings-standalone-layout .settings-card:focus-within {
  border-color: rgba(141, 214, 44, .20) !important;
  box-shadow: 0 18px 42px rgba(86, 93, 98, .10) !important;
}
.settings-standalone-layout .settings-card-icon {
  color: #7aa53f !important;
  background: linear-gradient(180deg, #f5f7f2, #eef2e8) !important;
  box-shadow: inset 0 0 0 1px rgba(86, 93, 98, .06), 0 8px 18px rgba(86, 93, 98, .06) !important;
}
.settings-standalone-layout .settings-card:hover .settings-card-icon {
  box-shadow: inset 0 0 0 1px rgba(86, 93, 98, .06), 0 10px 22px rgba(86, 93, 98, .08) !important;
}
.settings-standalone-layout .settings-card .section-title,
.settings-standalone-layout .settings-switch-row b,
.settings-standalone-layout .settings-section-lock-copy b,
.settings-standalone-layout .settings-switch-row small,
.settings-standalone-layout .settings-section-lock-copy small,
.settings-standalone-layout .settings-card-locks .text-muted,
.settings-standalone-layout .settings-switch-row span,
.settings-standalone-layout .settings-section-lock-copy,
.settings-standalone-layout .settings-page-head p {
  color: #000 !important;
}
.settings-standalone-layout .settings-switch-row {
  border-color: rgba(86, 93, 98, .14) !important;
  background: linear-gradient(180deg, #ffffff, #fafcf8) !important;
}
.settings-standalone-layout .settings-switch-row:hover {
  border-color: rgba(141, 214, 44, .18) !important;
  box-shadow: 0 10px 22px rgba(86, 93, 98, .06) !important;
}
.settings-standalone-layout .settings-switch {
  background-color: #d6dbe0 !important;
  box-shadow: inset 0 0 0 1px rgba(86, 93, 98, .12) !important;
}
.settings-standalone-layout .settings-switch:hover {
  transform: none !important;
}
.settings-standalone-layout .settings-switch:focus {
  border-color: #8fc84b !important;
  box-shadow: 0 0 0 .16rem rgba(141,214,44,.10) !important;
}
.settings-standalone-layout .settings-switch:checked {
  background-color: #8fc84b !important;
  border-color: #8fc84b !important;
  box-shadow: 0 6px 14px rgba(141, 214, 44, .16) !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpolyline points='4,10 8,14 16,6' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3e%3c/svg%3e") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 14px 14px !important;
}
.settings-standalone-layout .settings-section-lock {
  border: 1px solid rgba(86, 93, 98, .12) !important;
  background: linear-gradient(180deg, #ffffff, #fafcf8) !important;
  box-shadow: 0 8px 18px rgba(86, 93, 98, .05) !important;
}
.settings-standalone-layout .settings-section-lock:hover {
  border-color: rgba(141,214,44,.18) !important;
  box-shadow: 0 12px 26px rgba(86, 93, 98, .07) !important;
}
.settings-standalone-layout .settings-section-lock.is-active {
  border-color: rgba(141,214,44,.28) !important;
  background: linear-gradient(180deg, #fcfdfa, #ffffff) !important;
}
.settings-standalone-layout .settings-section-lock-icon {
  background: #f5f7f2 !important;
  color: #6f9540 !important;
  box-shadow: inset 0 0 0 1px rgba(86, 93, 98, .06) !important;
}
.settings-standalone-layout .settings-actions {
  border-color: rgba(86, 93, 98, .14) !important;
  background: rgba(255,255,255,.92) !important;
  box-shadow: 0 14px 32px rgba(86, 93, 98, .08) !important;
}
.settings-standalone-layout .settings-actions .btn {
  box-shadow: 0 8px 18px rgba(141, 214, 44, .14) !important;
}

/* LOGIN WINDOW: less green and calmer highlights */
body.auth-body .auth-shell {
  background:
    radial-gradient(circle at 50% -16%, rgba(141, 214, 44, 0.08), transparent 18rem),
    linear-gradient(180deg, #fefefe 0%, #fbfcfa 100%) !important;
}
.auth-shell .login-card {
  border-color: rgba(86, 93, 98, 0.12) !important;
  box-shadow: 0 22px 54px rgba(86, 93, 98, 0.12) !important;
}
.auth-shell .login-card-glow {
  background: radial-gradient(circle, rgba(141, 214, 44, 0.08), transparent 64%) !important;
}
.auth-shell .login-icon,
.auth-shell .brand-mark {
  box-shadow: 0 10px 20px rgba(141, 214, 44, 0.14) !important;
}
.auth-shell .login-input-wrap .form-control,
.auth-shell .registration-request-modal .form-control,
.auth-shell .login-captcha-box .form-control {
  border-color: rgba(86, 93, 98, 0.16) !important;
  background-color: #ffffff !important;
}
.auth-shell .login-input-wrap .form-control:focus,
.auth-shell .registration-request-modal .form-control:focus,
.auth-shell .login-captcha-box .form-control:focus {
  border-color: #9bbb6f !important;
  box-shadow: 0 0 0 0.18rem rgba(141, 214, 44, 0.10) !important;
}
.auth-shell input:-webkit-autofill,
.auth-shell input:-webkit-autofill:hover,
.auth-shell input:-webkit-autofill:active,
.auth-shell input:-webkit-autofill:focus {
  border-color: rgba(86, 93, 98, 0.18) !important;
}
.auth-shell input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px #ffffff inset, 0 0 0 0.18rem rgba(141, 214, 44, 0.10) !important;
  box-shadow: 0 0 0 1000px #ffffff inset, 0 0 0 0.18rem rgba(141, 214, 44, 0.10) !important;
}
.auth-shell .login-captcha-box,
.registration-request-modal .login-captcha-box,
.registration-request-modal .login-captcha-box-standalone {
  border-color: rgba(86, 93, 98, 0.14) !important;
  background: radial-gradient(circle at top right, rgba(141, 214, 44, 0.07), transparent 10rem), #ffffff !important;
}
.auth-shell .captcha-question,
.registration-request-modal label.captcha-question {
  border-color: rgba(86, 93, 98, 0.14) !important;
}
.auth-shell .form-check-input:focus,
.auth-shell .btn:focus,
.auth-shell .btn:focus-visible,
.auth-shell .btn:active:focus {
  box-shadow: 0 0 0 0.18rem rgba(141, 214, 44, 0.10) !important;
}
.auth-shell .btn-primary,
.auth-shell .registration-request-modal .btn-primary {
  box-shadow: 0 8px 18px rgba(141, 214, 44, 0.14) !important;
}
.auth-shell .btn-primary:hover,
.auth-shell .registration-request-modal .btn-primary:hover {
  box-shadow: 0 10px 20px rgba(141, 214, 44, 0.16) !important;
}


/* v114: remove empty white subtitle strip on object add/edit page and place footer lower on objects page. */
.object-form-panel .objects-subtitle,
.object-form-panel p.objects-subtitle {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
}

.object-form-panel .objects-subtitle:empty,
.object-form-panel p.objects-subtitle:empty {
  display: none !important;
}

.objects-content > .crm-footer,
.objects-page .crm-footer,
.objects-layout .crm-footer {
  margin-top: 5.2rem !important;
  padding-top: 1.5rem !important;
  transform: translateY(44px) !important;
}

@media (max-width: 768px) {
  .objects-content > .crm-footer,
  .objects-page .crm-footer,
  .objects-layout .crm-footer {
    margin-top: 4.4rem !important;
    padding-top: 1.2rem !important;
    transform: translateY(30px) !important;
  }
}


/* v115: remove white outline from dashboard gear button and tone down blue accents on upload-excel page. */
.app-topbar .topbar-actions > .dropdown:first-child > .topbar-icon,
.app-topbar .topbar-actions > .dropdown:first-child > .topbar-icon.dropdown-toggle {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background: rgba(255,255,255,.03) !important;
}
.app-topbar .topbar-actions > .dropdown:first-child > .topbar-icon:hover,
.app-topbar .topbar-actions > .dropdown:first-child > .topbar-icon:focus,
.app-topbar .topbar-actions > .dropdown:first-child > .topbar-icon:focus-visible,
.app-topbar .topbar-actions > .dropdown:first-child.show > .topbar-icon,
.app-topbar .topbar-actions > .dropdown:first-child > .topbar-icon.dropdown-toggle.show {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  border-color: transparent !important;
  background: rgba(255,255,255,.07) !important;
}
.app-topbar .topbar-actions > .dropdown:first-child > .topbar-icon::after {
  border: none !important;
}

/* Upload Excel page: remove blue highlights, use neutral/brand gray-green accents. */
.excel-import-card .card-body {
  padding: 1.6rem !important;
}
.excel-import-icon,
.excel-empty-preview i {
  background: linear-gradient(180deg, #f4f5f3, #ecefe8) !important;
  color: #565d62 !important;
  box-shadow: none !important;
}
.excel-import-text,
.excel-empty-preview p {
  color: #565d62 !important;
}
.excel-dropzone {
  border: 1px dashed #d7ddd1 !important;
  background: #fbfcfa !important;
  color: #111111 !important;
  box-shadow: none !important;
}
.excel-dropzone:hover,
.excel-dropzone:focus {
  border-color: rgba(132, 180, 78, 0.28) !important;
  background: #f7faf3 !important;
  box-shadow: none !important;
}
.excel-dropzone i {
  color: #565d62 !important;
}
.excel-dropzone small {
  color: #565d62 !important;
}
.excel-file-input,
.excel-file-input.form-control {
  border-color: #d8ddd2 !important;
  background: #ffffff !important;
  box-shadow: none !important;
}
.excel-file-input:focus,
.excel-file-input.form-control:focus,
body:has(.excel-import-layout) .form-control:focus,
body:has(.excel-import-layout) .form-select:focus,
body:has(.excel-import-layout) textarea:focus {
  border-color: #b7c7a1 !important;
  box-shadow: 0 0 0 .12rem rgba(132, 180, 78, .08) !important;
}
body:has(.excel-import-layout) .content-card,
body:has(.excel-import-layout) .excel-import-card {
  border-color: rgba(86, 93, 98, .10) !important;
  box-shadow: 0 14px 34px rgba(86, 93, 98, .08) !important;
}
body:has(.excel-import-layout) .page-title,
body:has(.excel-import-layout) .section-title {
  color: #000000 !important;
}
body:has(.excel-import-layout) .app-content > .crm-footer {
  margin-top: 4.8rem !important;
  padding-top: 1.45rem !important;
  transform: translateY(26px) !important;
}
@media (max-width: 768px) {
  body:has(.excel-import-layout) .app-content > .crm-footer {
    margin-top: 4rem !important;
    transform: translateY(20px) !important;
  }
}


/* v116: users page cleanup — neutral table header, action icon colors, lower footer, role choices as check cards. */
.users-page .page-subtitle,
.users-page .section-title,
.users-page .form-label,
.users-page legend,
.users-page .table,
.users-page .table * {
  color: #111111;
}
.users-page .users-table thead th {
  background: #f4f5f3 !important;
  color: #111111 !important;
  border-bottom: 1px solid rgba(86, 93, 98, .12) !important;
  box-shadow: none !important;
}
.users-page .users-table tbody td {
  border-color: rgba(86, 93, 98, .10) !important;
}
.users-page .users-table-shell,
.users-page .users-create-card {
  border-color: rgba(86, 93, 98, .10) !important;
}
.users-page .users-role-fieldset {
  border: 0;
  padding: 0;
  margin: 0 0 1rem;
}
.users-page .users-role-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem;
}
.users-page .users-role-option {
  position: relative;
  display: flex;
  align-items: center;
  gap: .72rem;
  padding: .82rem .9rem;
  border: 1px solid #d7ddd1;
  border-radius: 16px;
  background: #ffffff;
  cursor: pointer;
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease, transform .18s ease;
}
.users-page .users-role-option:hover {
  border-color: #c2cbb7;
  background: #fbfcfa;
  transform: translateY(-1px);
}
.users-page .users-role-input {
  position: absolute;
  opacity: 0;
  inset: 0;
  pointer-events: none;
}
.users-page .users-role-check {
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  border-radius: 7px;
  border: 1px solid #cfd6c5;
  background: #f8faf6;
  color: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: .82rem;
  transition: all .18s ease;
}
.users-page .users-role-copy {
  display: flex;
  align-items: center;
  min-height: 22px;
}
.users-page .users-role-copy strong {
  font-size: .96rem;
  color: #111111;
}
.users-page .users-role-input:checked + .users-role-check {
  background: #8fd62c;
  border-color: #8fd62c;
  color: #ffffff;
  box-shadow: 0 6px 14px rgba(143, 214, 44, .18);
}
.users-page .users-role-option:has(.users-role-input:checked) {
  border-color: rgba(143, 214, 44, .42);
  background: #fbfdf7;
  box-shadow: 0 8px 18px rgba(86, 93, 98, .05);
}
.users-page .users-action-btn {
  min-width: 2.35rem;
  height: 2.35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  box-shadow: none !important;
}
.users-page .users-action-btn i {
  font-size: 1rem;
}
.users-page .users-action-btn-password {
  color: #72b51a !important;
  border: 1px solid rgba(114, 181, 26, .38) !important;
  background: rgba(143, 214, 44, .07) !important;
}
.users-page .users-action-btn-password:hover,
.users-page .users-action-btn-password:focus {
  color: #5e9915 !important;
  border-color: rgba(114, 181, 26, .46) !important;
  background: rgba(143, 214, 44, .12) !important;
}
.users-page .users-action-btn-delete {
  color: #e04b4b !important;
  border: 1px solid rgba(224, 75, 75, .26) !important;
  background: rgba(224, 75, 75, .06) !important;
}
.users-page .users-action-btn-delete:hover,
.users-page .users-action-btn-delete:focus {
  color: #cb3f3f !important;
  border-color: rgba(224, 75, 75, .34) !important;
  background: rgba(224, 75, 75, .10) !important;
}
body:has(.users-page) .form-control:focus,
body:has(.users-page) .form-select:focus,
body:has(.users-page) textarea:focus {
  border-color: #b7c7a1 !important;
  box-shadow: 0 0 0 .12rem rgba(132, 180, 78, .08) !important;
}
body:has(.users-page) .app-content > .crm-footer,
body:has(.users-page) .objects-content > .crm-footer,
body:has(.users-page) .documents-content > .crm-footer {
  margin-top: 5.2rem !important;
  padding-top: 1.6rem !important;
  transform: translateY(34px) !important;
}
@media (max-width: 991.98px) {
  .users-page .users-role-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 768px) {
  body:has(.users-page) .app-content > .crm-footer,
  body:has(.users-page) .objects-content > .crm-footer,
  body:has(.users-page) .documents-content > .crm-footer {
    margin-top: 4.2rem !important;
    transform: translateY(24px) !important;
  }
}


/* v117: sync logs page cleanup — neutral header, stronger status, orange/red actions, lower footer. */
.sync-logs-page .sync-log-table thead th {
  background: #f4f5f3 !important;
  color: #111111 !important;
  border-bottom: 1px solid rgba(86, 93, 98, .12) !important;
  box-shadow: none !important;
}
.sync-logs-page .sync-log-table tbody td {
  border-color: rgba(86, 93, 98, .10) !important;
}
.sync-logs-page .sync-log-card {
  border-color: rgba(86, 93, 98, .10) !important;
}
.sync-logs-page .sync-status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 94px;
  padding: .4rem .7rem;
  border-radius: 999px;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .01em;
  border: 1px solid transparent;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.45);
}
.sync-logs-page .sync-status-pill-success {
  color: #49611b;
  background: #edf6dc;
  border-color: rgba(143, 214, 44, .32);
}
.sync-logs-page .sync-status-pill-error {
  color: #b42318;
  background: #feeceb;
  border-color: rgba(224, 75, 75, .25);
}
.sync-logs-page .sync-status-pill-progress {
  color: #565d62;
  background: #f3f4f5;
  border-color: rgba(86, 93, 98, .18);
}
.sync-logs-page .sync-action-btn {
  min-width: 2.35rem;
  height: 2.35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  box-shadow: none !important;
}
.sync-logs-page .sync-action-btn i { font-size: 1rem; }
.sync-logs-page .sync-action-btn-rollback {
  color: #c26c08 !important;
  border: 1px solid rgba(194, 108, 8, .30) !important;
  background: rgba(255, 186, 56, .07) !important;
}
.sync-logs-page .sync-action-btn-rollback:hover,
.sync-logs-page .sync-action-btn-rollback:focus {
  color: #a55d08 !important;
  border-color: rgba(194, 108, 8, .40) !important;
  background: rgba(255, 186, 56, .12) !important;
}
.sync-logs-page .sync-action-btn-delete {
  color: #e04b4b !important;
  border: 1px solid rgba(224, 75, 75, .26) !important;
  background: rgba(224, 75, 75, .06) !important;
}
.sync-logs-page .sync-action-btn-delete:hover,
.sync-logs-page .sync-action-btn-delete:focus {
  color: #cb3f3f !important;
  border-color: rgba(224, 75, 75, .34) !important;
  background: rgba(224, 75, 75, .10) !important;
}
.sync-logs-page .sync-modal-btn-rollback {
  color: #ffffff !important;
  background: #e7a025 !important;
  border-color: #e7a025 !important;
}
.sync-logs-page .sync-modal-btn-rollback:hover,
.sync-logs-page .sync-modal-btn-rollback:focus {
  background: #d8921a !important;
  border-color: #d8921a !important;
}
.sync-logs-page .sync-modal-btn-delete {
  color: #ffffff !important;
  background: #e04b4b !important;
  border-color: #e04b4b !important;
}
.sync-logs-page .sync-modal-btn-delete:hover,
.sync-logs-page .sync-modal-btn-delete:focus {
  background: #cb3f3f !important;
  border-color: #cb3f3f !important;
}
body:has(.sync-logs-page) .app-content > .crm-footer,
body:has(.sync-logs-page) .objects-content > .crm-footer,
body:has(.sync-logs-page) .documents-content > .crm-footer {
  margin-top: 5.4rem !important;
  padding-top: 1.6rem !important;
  transform: translateY(38px) !important;
}
@media (max-width: 768px) {
  body:has(.sync-logs-page) .app-content > .crm-footer,
  body:has(.sync-logs-page) .objects-content > .crm-footer,
  body:has(.sync-logs-page) .documents-content > .crm-footer {
    margin-top: 4.4rem !important;
    transform: translateY(26px) !important;
  }
}


/* v118: mapping page icons / checkmarks / footer tune */
.mapping-page .mapping-section-title {
  display: flex;
  align-items: center;
  gap: .45rem;
}
.mapping-page .mapping-color-badge {
  width: 1.35rem;
  height: 1.35rem;
  min-width: 1.35rem;
  border-radius: 999px;
  padding: 0;
  opacity: .18;
}
.mapping-page .mapping-role-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.55rem;
  height: 1.55rem;
  border-radius: 999px;
  color: #6a7a45;
  background: #f5f8ed;
  border: 1px solid rgba(141, 214, 44, .22);
  font-size: .9rem;
}
.mapping-page .mapping-list .form-check {
  display: flex;
  align-items: flex-start;
  gap: .55rem;
  margin-bottom: .45rem;
}
.mapping-page .mapping-list .form-check-input {
  flex: 0 0 auto;
  width: 1.02rem;
  height: 1.02rem;
  margin-top: .18rem;
  border-radius: .24rem !important;
  border-color: rgba(141, 214, 44, .42) !important;
  background-color: #fff !important;
  box-shadow: none !important;
}
.mapping-page .mapping-list .form-check-input:focus {
  border-color: rgba(141, 214, 44, .55) !important;
  box-shadow: 0 0 0 .18rem rgba(141, 214, 44, .12) !important;
}
.mapping-page .mapping-list .form-check-input:checked {
  background-color: #8dd62c !important;
  border-color: #8dd62c !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='M4.5 10.5l3.2 3.2 7.8-8'/%3e%3c/svg%3e") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: .82rem .82rem !important;
}
.mapping-page .mapping-list .form-check-label {
  line-height: 1.42;
}
body:has(.mapping-page) .app-content > .crm-footer,
body:has(.mapping-page) .objects-content > .crm-footer,
body:has(.mapping-page) .documents-content > .crm-footer {
  margin-top: 4.2rem !important;
  padding-top: 1.25rem !important;
  transform: translateY(22px) !important;
}
@media (max-width: 768px) {
  body:has(.mapping-page) .app-content > .crm-footer,
  body:has(.mapping-page) .objects-content > .crm-footer,
  body:has(.mapping-page) .documents-content > .crm-footer {
    margin-top: 3.25rem !important;
    transform: translateY(16px) !important;
  }
}


/* v119: users role radio check only on selected */
.users-page .users-role-check {
  border-radius: 999px !important;
}
.users-page .users-role-check i {
  opacity: 0;
  transform: scale(.72);
  transition: opacity .18s ease, transform .18s ease;
}
.users-page .users-role-input:checked + .users-role-check i {
  opacity: 1;
  transform: scale(1);
}
.users-page .users-role-input:not(:checked) + .users-role-check {
  background: #ffffff;
  border-color: #cfd6c5;
  color: transparent !important;
  box-shadow: none !important;
}


/* v120: mapping title icon left + glass icon */
.mapping-page .mapping-section-title {
  gap: .38rem !important;
}
.mapping-page .mapping-color-badge {
  display: none !important;
}
.mapping-page .mapping-role-icon {
  width: 1.45rem;
  height: 1.45rem;
  min-width: 1.45rem;
  margin-left: -0.04rem;
  font-size: .88rem;
}


/* v122: restore checkbox ticks globally, keep CRM footer only on login, and adjust developer typography. */
.form-check-input[type="checkbox"] {
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: .82rem .82rem !important;
}

.form-check-input[type="checkbox"]:checked {
  background-color: #8dd62c !important;
  border-color: #8dd62c !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.4' d='M4.5 10.5l3.2 3.2 7.8-8'/%3e%3c/svg%3e") !important;
}

.form-check-input[type="checkbox"]:not(:checked) {
  background-image: none !important;
}

body:has(.developer-section-tabs) .page-subtitle {
  color: #000000 !important;
}

body:has(.developer-section-tabs) .page-head {
  margin-bottom: 1rem !important;
}

.developer-title-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.55rem;
  height: 1.48rem;
  margin-left: .42rem;
  padding: 0 .36rem;
  border-radius: 999px;
  background: #e9f1dc;
  border: 1px solid rgba(141, 214, 44, .24);
  color: #56615e;
  font-size: .74rem;
  font-weight: 900;
  line-height: 1;
  vertical-align: middle;
}

body:has(.developer-section-tabs) .developer-section-tabs {
  margin-bottom: .85rem !important;
  padding: .3rem !important;
  gap: .4rem !important;
}

body:has(.developer-section-tabs) .developer-section-tab {
  font-size: .95rem !important;
  font-weight: 500 !important;
  line-height: 1.1 !important;
  letter-spacing: normal !important;
  color: #10203f !important;
}

body:has(.developer-section-tabs) .developer-section-tab.active {
  font-weight: 600 !important;
}

body:has(.developer-section-tabs) .site-errors-kind-tab {
  font-size: .95rem !important;
  font-weight: 600 !important;
  line-height: 1.1 !important;
  letter-spacing: normal !important;
  color: #10203f !important;
}

body:has(.developer-section-tabs) .site-errors-kind-tab.active {
  font-weight: 600 !important;
}

body:has(.developer-section-tabs) .site-errors-kind-tabs {
  margin-bottom: .85rem !important;
  gap: .4rem !important;
}

body:has(.developer-section-tabs) .site-errors-filter-form .btn,
body:has(.developer-section-tabs) .filter-actions .btn {
  font-size: .95rem !important;
  font-weight: 600 !important;
  line-height: 1.1 !important;
  letter-spacing: normal !important;
}

body:has(.developer-section-tabs) .site-errors-filter-form .btn,
body:has(.developer-section-tabs) .site-error-actions .btn,
body:has(.developer-section-tabs) .developer-delete-log-actions .btn,
body:has(.developer-section-tabs) .delete-error-actions .btn {
  min-height: 2.85rem !important;
  padding-inline: 1rem !important;
  border-radius: .95rem !important;
  border-color: #80c628 !important;
  background: linear-gradient(180deg, #99df3f 0%, #80c628 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 12px 24px rgba(141, 214, 44, 0.24) !important;
  font-size: .95rem !important;
  font-weight: 600 !important;
  line-height: 1.1 !important;
  letter-spacing: normal !important;
}

body:has(.developer-section-tabs) .site-errors-filter-form .btn:hover,
body:has(.developer-section-tabs) .site-errors-filter-form .btn:focus,
body:has(.developer-section-tabs) .site-error-actions .btn:hover,
body:has(.developer-section-tabs) .site-error-actions .btn:focus,
body:has(.developer-section-tabs) .developer-delete-log-actions .btn:hover,
body:has(.developer-section-tabs) .developer-delete-log-actions .btn:focus,
body:has(.developer-section-tabs) .delete-error-actions .btn:hover,
body:has(.developer-section-tabs) .delete-error-actions .btn:focus {
  border-color: #72b320 !important;
  background: linear-gradient(180deg, #8dd62c 0%, #72b320 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 12px 24px rgba(141, 214, 44, 0.28) !important;
}

body:has(.developer-section-tabs) .site-errors-filter-form .btn *,
body:has(.developer-section-tabs) .site-error-actions .btn *,
body:has(.developer-section-tabs) .developer-delete-log-actions .btn *,
body:has(.developer-section-tabs) .delete-error-actions .btn * {
  color: #ffffff !important;
}

body:has(.developer-section-tabs) .site-errors-filter-form .form-label {
  color: #565d62 !important;
  font-size: .76rem !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .03em !important;
}

body:has(.developer-section-tabs) .site-errors-filter-form .site-errors-filter-field {
  display: grid;
  gap: .38rem;
}

body:has(.developer-section-tabs) .site-errors-filter-form .form-select {
  min-height: 42px !important;
  border-radius: 13px !important;
  border: 1px solid rgba(15, 23, 42, .10) !important;
  background: #ffffff !important;
  color: #000000 !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .04) !important;
  font-weight: 700 !important;
  padding-left: .95rem !important;
  padding-right: 2.8rem !important;
}

body:has(.developer-section-tabs) .site-errors-filter-form .form-select:focus {
  border-color: rgba(141, 214, 44, .55) !important;
  box-shadow: 0 0 0 .18rem rgba(141, 214, 44, .10), 0 10px 22px rgba(15, 23, 42, .05) !important;
}

body:has(.developer-section-tabs) .site-errors-filter-form .form-select:hover {
  border-color: rgba(141, 214, 44, .32) !important;
}

body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: .55rem;
}

body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions .btn {
  min-height: 2.85rem !important;
  padding-inline: 1rem !important;
}

body:has(.developer-section-tabs) .site-errors-filter-form > [class*="col-"] {
  margin-bottom: .15rem;
}

body:has(.developer-section-tabs) .content-card:has(.site-errors-filter-form) {
  border: 1px solid rgba(141, 214, 44, .14) !important;
  background: linear-gradient(180deg, #ffffff, #f9fbf5) !important;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .05) !important;
}

body:has(.developer-section-tabs) .site-errors-list {
  gap: 1.1rem !important;
}

body:has(.developer-section-tabs) .site-error-card,
body:has(.developer-section-tabs) .developer-delete-log-card {
  border: 1px solid rgba(15, 23, 42, .08) !important;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .05) !important;
}

body:has(.developer-section-tabs) .site-error-card-open {
  border-color: rgba(231, 148, 33, .18) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(255, 249, 240, .98)) !important;
  box-shadow: 0 16px 36px rgba(231, 148, 33, .10) !important;
}

body:has(.developer-section-tabs) .site-error-card-open .site-error-head {
  align-items: flex-start !important;
}

body:has(.developer-section-tabs) .site-error-card-open .site-error-message {
  font-weight: 600 !important;
}

body:has(.developer-section-tabs) .site-error-card-accepted {
  border-color: rgba(23, 114, 69, .14) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(241, 250, 244, .98)) !important;
}

body:has(.developer-section-tabs) .site-error-card.closed {
  opacity: .88 !important;
}

body:has(.developer-section-tabs) .site-error-meta span,
body:has(.developer-section-tabs) .developer-delete-log-meta span {
  border: 1px solid rgba(15, 23, 42, .05) !important;
  background: #f7faef !important;
}

body:has(.developer-section-tabs) .site-error-actions,
body:has(.developer-section-tabs) .developer-delete-log-actions {
  margin-top: 1rem !important;
  padding-top: .95rem !important;
  border-top: 1px solid rgba(15, 23, 42, .06) !important;
}

body:has(.developer-section-tabs) .developer-delete-log-card.is-actionable {
  border-color: rgba(231, 148, 33, .18) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(255, 249, 240, .98)) !important;
  box-shadow: 0 16px 36px rgba(231, 148, 33, .10) !important;
}

body:has(.developer-section-tabs) .developer-delete-log-card.is-actionable .developer-delete-log-title,
body:has(.developer-section-tabs) .developer-delete-log-card.is-actionable .developer-delete-log-text {
  color: #4f3b12 !important;
}

body:has(.developer-section-tabs) .developer-delete-log-done {
  padding: .55rem .8rem !important;
  border-radius: .9rem !important;
  background: #f7faef !important;
}

@media (max-width: 767.98px) {
  body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions {
    margin-top: .2rem;
  }

  body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions .btn {
    flex: 1 1 0;
    justify-content: center !important;
  }
}

/* User update 2026-06-20: soften green accents site-wide and remove bright glow. */
.sidebar-link.active,
.sidebar-sublink.active {
  background: linear-gradient(135deg, rgba(132, 182, 59, 0.18), rgba(132, 182, 59, 0.10)) !important;
  box-shadow: inset 0 0 0 1px rgba(196, 216, 162, 0.14), 0 6px 16px rgba(72, 78, 82, 0.12) !important;
}

.sidebar-link.active::before,
.topbar-link.active::after {
  background: #90bd57 !important;
}

.btn-primary,
.btn.btn-primary,
button.btn-primary,
a.btn-primary,
.dashboard-btn-primary,
.report-error-btn,
.report-error-floating {
  background: linear-gradient(180deg, #90cd39 0%, #7fba2f 100%) !important;
  border-color: #7fba2f !important;
  box-shadow: 0 6px 16px rgba(141, 214, 44, 0.12) !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:focus-visible,
.btn-primary:active,
.btn-primary.active,
.show > .btn-primary.dropdown-toggle,
.dashboard-btn-primary:hover,
.dashboard-btn-primary:focus,
.report-error-btn:hover,
.report-error-btn:focus,
.report-error-floating:hover,
.report-error-floating:focus {
  background: linear-gradient(180deg, #86c133 0%, #74ae29 100%) !important;
  border-color: #74ae29 !important;
  box-shadow: 0 6px 16px rgba(141, 214, 44, 0.14) !important;
}

.crm-tabs .nav-link.active,
.nav-pills .nav-link.active,
.nav-tabs .nav-link.active,
.page-item.active .page-link,
.assignment-subtab.active,
.assignment-subtab:hover,
.developer-section-tab.active,
.site-errors-kind-tab.active {
  background: #88c534 !important;
  border-color: #88c534 !important;
  box-shadow: 0 4px 12px rgba(141, 214, 44, 0.10) !important;
}

.assignment-subtab.active span,
.assignment-subtab:hover span {
  background: rgba(255, 255, 255, 0.16) !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active,
.btn-outline-primary.active,
.show > .btn-outline-primary.dropdown-toggle {
  background: #88c534 !important;
  border-color: #88c534 !important;
  box-shadow: none !important;
}


/* v123: developer actions/status colors, calmer assignment issued tab, stronger statuses, styled selects/date, assignee modal cleanup */
.site-error-state-badge {
  border-radius: 999px !important;
  padding: .34rem .7rem !important;
  font-weight: 800 !important;
  letter-spacing: .01em;
}
.site-error-state-new {
  background: #fff2df !important;
  color: #c46a00 !important;
  border: 1px solid rgba(231, 148, 33, .28) !important;
}
.site-error-state-closed {
  background: #fde8e8 !important;
  color: #c62828 !important;
  border: 1px solid rgba(220, 38, 38, .22) !important;
}
.site-error-state-accepted {
  background: #edf7ef !important;
  color: #177245 !important;
  border: 1px solid rgba(23, 114, 69, .18) !important;
}
.site-error-action-btn {
  min-height: 2.85rem;
  border-radius: .95rem !important;
  padding-inline: 1rem !important;
  font-size: .92rem !important;
  font-weight: 600 !important;
  line-height: 1.1 !important;
  box-shadow: 0 12px 24px rgba(141, 214, 44, 0.24) !important;
}
.site-error-action-btn-success {
  background: linear-gradient(180deg, #99df3f 0%, #80c628 100%) !important;
  color: #fff !important;
  border: 1px solid #80c628 !important;
}
.site-error-action-btn-success:hover,
.site-error-action-btn-success:focus {
  background: linear-gradient(180deg, #8dd62c 0%, #72b320 100%) !important;
  border-color: #72b320 !important;
  color: #fff !important;
}
.site-error-action-btn-close {
  background: linear-gradient(180deg, #f0b24d 0%, #dc9731 100%) !important;
  color: #fff !important;
  border: 1px solid #dc9731 !important;
  box-shadow: 0 8px 18px rgba(220, 151, 49, 0.16) !important;
}
.site-error-action-btn-close:hover,
.site-error-action-btn-close:focus {
  background: linear-gradient(180deg, #e6a43d 0%, #cb8520 100%) !important;
  border-color: #cb8520 !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(220, 151, 49, 0.20) !important;
}
.site-error-action-btn-danger {
  background: linear-gradient(180deg, #df6464 0%, #c94646 100%) !important;
  color: #fff !important;
  border: 1px solid #c94646 !important;
  box-shadow: 0 8px 18px rgba(201, 70, 70, 0.16) !important;
}
.site-error-action-btn-danger:hover,
.site-error-action-btn-danger:focus {
  background: linear-gradient(180deg, #d65252 0%, #b93b3b 100%) !important;
  border-color: #b93b3b !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(201, 70, 70, 0.20) !important;
}

body:has(.developer-section-tabs) .delete-error-actions .btn,
body:has(.developer-section-tabs) .developer-delete-log-actions .btn {
  min-height: 2.85rem !important;
  border-radius: .95rem !important;
  padding-inline: 1rem !important;
  font-size: .95rem !important;
  font-weight: 600 !important;
  line-height: 1.1 !important;
}

body:has(.developer-section-tabs) .delete-error-actions .btn.btn-outline-secondary {
  color: #ffffff !important;
  border-color: #80c628 !important;
  background: linear-gradient(180deg, #99df3f 0%, #80c628 100%) !important;
}

body:has(.developer-section-tabs) .delete-error-actions .btn.btn-outline-secondary:hover,
body:has(.developer-section-tabs) .delete-error-actions .btn.btn-outline-secondary:focus {
  border-color: #72b320 !important;
  background: linear-gradient(180deg, #8dd62c 0%, #72b320 100%) !important;
  color: #ffffff !important;
}

body:has(.developer-section-tabs) .delete-error-actions .btn.btn-danger {
  background: linear-gradient(180deg, #df6464 0%, #c94646 100%) !important;
  border-color: #c94646 !important;
  box-shadow: 0 8px 18px rgba(201, 70, 70, 0.16) !important;
}

body:has(.developer-section-tabs) .delete-error-actions .btn.btn-danger:hover,
body:has(.developer-section-tabs) .delete-error-actions .btn.btn-danger:focus {
  background: linear-gradient(180deg, #d65252 0%, #b93b3b 100%) !important;
  border-color: #b93b3b !important;
}

body:has(.developer-section-tabs) .developer-delete-log-badge.bg-warning-subtle,
body:has(.developer-section-tabs) .developer-delete-log-badge.text-warning-emphasis {
  background: #fff2df !important;
  color: #b86a00 !important;
  border: 1px solid rgba(231, 148, 33, .28) !important;
  box-shadow: 0 8px 18px rgba(231, 148, 33, .08) !important;
}

body:has(.developer-section-tabs) .developer-delete-log-badge {
  padding: .32rem .62rem !important;
}

body:has(.developer-section-tabs) .developer-delete-log-badge.bg-warning-subtle i,
body:has(.developer-section-tabs) .developer-delete-log-badge.text-warning-emphasis i {
  color: #b86a00 !important;
}

/* calmer active pill/tab without blue glow */
.assignment-subtab:hover,
.assignment-subtab.active {
  background: #8dd62c !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(141, 214, 44, .16) !important;
}
.assignment-subtab span {
  background: rgba(141, 214, 44, .12) !important;
  color: #5a8d1e !important;
}
.assignment-subtab.active span,
.assignment-subtab:hover span {
  background: rgba(255, 255, 255, .2) !important;
  color: #fff !important;
}

/* strong readable statuses in assignments */
.assignment-contractor-table td .badge,
.assignment-issued-table .assignment-status-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
  padding: .44rem .85rem !important;
  border-radius: 999px !important;
  font-size: .82rem !important;
  font-weight: 800 !important;
  letter-spacing: .01em;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .08);
}
.assignment-contractor-table td .badge.bg-warning,
.assignment-contractor-table td .badge.text-bg-warning,
.assignment-issued-table .assignment-status-toggle.bg-warning {
  background: #fff2df !important;
  color: #b86a00 !important;
  border: 1px solid rgba(231, 148, 33, .28) !important;
}
.assignment-contractor-table td .badge.bg-success,
.assignment-contractor-table td .badge.text-bg-success,
.assignment-issued-table .assignment-status-toggle.bg-success {
  background: #edf7ef !important;
  color: #177245 !important;
  border: 1px solid rgba(23, 114, 69, .18) !important;
}
.assignment-contractor-table td .badge.bg-danger,
.assignment-contractor-table td .badge.text-bg-danger,
.assignment-issued-table .assignment-status-toggle.bg-danger {
  background: #fde8e8 !important;
  color: #c62828 !important;
  border: 1px solid rgba(220, 38, 38, .20) !important;
}
.assignment-contractor-table td .badge.bg-secondary,
.assignment-contractor-table td .badge.text-bg-secondary,
.assignment-issued-table .assignment-status-toggle.bg-secondary,
.assignment-contractor-table td .badge.bg-info,
.assignment-contractor-table td .badge.text-bg-info,
.assignment-issued-table .assignment-status-toggle.bg-info,
.assignment-contractor-table td .badge.bg-primary,
.assignment-contractor-table td .badge.text-bg-primary,
.assignment-issued-table .assignment-status-toggle.bg-primary {
  background: #eef3ea !important;
  color: #31443a !important;
  border: 1px solid rgba(86, 93, 98, .16) !important;
}
.assignment-status-toggle:hover {
  box-shadow: 0 10px 20px rgba(15, 23, 42, .1) !important;
}

/* beautiful selects across site */
select,
.form-select {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  padding-right: 2.8rem !important;
  background-color: #ffffff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23565d62' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.7' d='m4 6 4 4 4-4'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right .95rem center !important;
  background-size: .95rem .95rem !important;
  border-color: rgba(86, 93, 98, .2) !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.75), 0 8px 22px rgba(15, 23, 42, .03) !important;
}
select:hover,
.form-select:hover {
  border-color: rgba(141, 214, 44, .42) !important;
}
select:focus,
.form-select:focus {
  border-color: rgba(141, 214, 44, .7) !important;
  box-shadow: 0 0 0 .18rem rgba(141, 214, 44, .12), 0 8px 22px rgba(15, 23, 42, .04) !important;
}

/* pretty date controls in site style */
input[type="date"],
input[type="datetime-local"] {
  min-height: 3rem;
  border-radius: .95rem !important;
  border: 1px solid rgba(86, 93, 98, .2) !important;
  background: #fff !important;
  color: #000 !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.75), 0 8px 22px rgba(15, 23, 42, .03) !important;
}
input[type="date"]:focus,
input[type="datetime-local"]:focus {
  border-color: rgba(141, 214, 44, .7) !important;
  box-shadow: 0 0 0 .18rem rgba(141, 214, 44, .12), 0 8px 22px rgba(15, 23, 42, .04) !important;
}
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="datetime-local"]::-webkit-calendar-picker-indicator {
  opacity: .82;
  cursor: pointer;
  border-radius: .55rem;
  padding: .25rem;
}
input[type="date"]::-webkit-calendar-picker-indicator:hover,
input[type="datetime-local"]::-webkit-calendar-picker-indicator:hover {
  background: rgba(141, 214, 44, .12);
}

/* assignment date calendar in site style */
.assignment-date-calendar {
  border-color: rgba(86, 93, 98, .14) !important;
  box-shadow: 0 18px 48px rgba(15, 23, 42, .08) !important;
}
.assignment-date-day.is-selected {
  box-shadow: 0 8px 18px rgba(141, 214, 44, .2) !important;
}

/* change assignee modal: remove blue glow, simplify header */
.assignment-change-assignee-head {
  background: linear-gradient(135deg, #fbfcf8, #f5f6f2) !important;
}
.assignment-change-assignee-taskbox {
  background: #f8f8f4 !important;
}
.assignment-change-assignee-check {
  background: #f3f5ef !important;
  border-color: rgba(141, 214, 44, .18) !important;
}
.assignment-change-assignee-option:has(input:checked) {
  background: #f7faef !important;
  box-shadow: 0 0 0 3px rgba(141, 214, 44, .1) !important;
}
.assignment-change-assignee-option:has(input:checked) .assignment-change-assignee-check {
  background: #8dd62c !important;
}
.assignment-change-assignee-head p,
.assignment-change-assignee-kicker {
  display: none !important;
}

/* User update 2026-06-20: assignments page usability refresh, no blue highlights, calmer Excel button */
body:has(.assignments-page-head) .assignment-search-card,
body:has(.assignments-page-head) .assignment-smart-card,
body:has(.assignments-page-head) .assignment-shell,
body:has(.assignments-page-head) .assignment-issued-card {
  border-color: rgba(137, 156, 105, .16) !important;
  box-shadow: 0 16px 34px rgba(60, 72, 52, .06) !important;
}

body:has(.assignments-page-head) .assignment-search-card-compact .card-body,
body:has(.assignments-page-head) .assignment-smart-card-compact .card-body {
  background: linear-gradient(180deg, #fdfefb 0%, #f7f9f3 100%) !important;
}

body:has(.assignments-page-head) .assignment-issue-panel,
body:has(.assignments-page-head) .assignment-issue-panel-restored {
  background: linear-gradient(180deg, #fcfdf9 0%, #f6f8f1 100%) !important;
}

body:has(.assignments-page-head) .assignment-section-title span,
body:has(.assignments-page-head) .assignment-search-icon,
body:has(.assignments-page-head) .assignment-help-icon {
  background: #eef5e4 !important;
  color: #6b8f39 !important;
  box-shadow: inset 0 0 0 1px rgba(137, 173, 84, .18) !important;
}

body:has(.assignments-page-head) .assignment-modern-table thead th,
body:has(.assignments-page-head) .assignment-issued-table thead th {
  background: #f7f9f3 !important;
  color: #5f6c5a !important;
}

body:has(.assignments-page-head) .assignment-modern-table tbody tr:hover,
body:has(.assignments-page-head) .assignment-issued-table tbody tr:hover,
body:has(.assignments-page-head) .assignment-issued-table tbody tr:hover > * {
  background: #fbfcf8 !important;
}

body:has(.assignments-page-head) .assignment-task-row.is-selected td,
body:has(.assignments-page-head) .assignment-shell .js-bulk-row.is-selected td {
  background: #f4f8ea !important;
  box-shadow: inset 4px 0 0 #88c534 !important;
}

body:has(.assignments-page-head) .assignment-task-row.is-selected td:first-child,
body:has(.assignments-page-head) .assignment-shell .js-bulk-row.is-selected td:first-child {
  box-shadow: inset 4px 0 0 #88c534 !important;
}

body:has(.assignments-page-head) .assignment-room-pill,
body:has(.assignments-page-head) .assignment-issued-table .assignment-room-pill {
  background: #f2f5ed !important;
  color: #4f5c4b !important;
}

body:has(.assignments-page-head) .assignment-user-pill,
body:has(.assignments-page-head) .assignment-issued-table .assignment-user-pill {
  background: #edf6e7 !important;
  color: #346243 !important;
}

body:has(.assignments-page-head) .assignment-user-empty {
  color: #788474 !important;
}

body:has(.assignments-page-head) .assignment-subtab {
  color: #4f5c4b !important;
  border-color: rgba(137, 156, 105, .18) !important;
  box-shadow: none !important;
}

body:has(.assignments-page-head) .assignment-subtab span {
  background: #edf4e6 !important;
  color: #6b8f39 !important;
}

body:has(.assignments-page-head) .assignment-filter-pill {
  background: #fff !important;
  color: #53614f !important;
  border-color: rgba(137, 156, 105, .18) !important;
  box-shadow: none !important;
}

body:has(.assignments-page-head) .assignment-filter-pill.active,
body:has(.assignments-page-head) .assignment-filter-pill:hover {
  background: #eef5e4 !important;
  color: #5d8922 !important;
  border-color: rgba(141, 214, 44, .32) !important;
  box-shadow: 0 8px 18px rgba(141, 214, 44, .10) !important;
}

body:has(.assignments-page-head) .assignment-filter-pill-danger.active,
body:has(.assignments-page-head) .assignment-filter-pill-danger:hover {
  background: #fff3e3 !important;
  color: #c46a00 !important;
  border-color: rgba(231, 148, 33, .26) !important;
  box-shadow: 0 8px 18px rgba(231, 148, 33, .10) !important;
}

body:has(.assignments-page-head) .assignment-search-form-compact .form-control,
body:has(.assignments-page-head) .assignment-smart-form .form-control,
body:has(.assignments-page-head) .assignment-smart-form .form-select,
body:has(.assignments-page-head) .assignment-bulk-form-restored .form-control,
body:has(.assignments-page-head) .assignment-bulk-form-restored .form-select {
  background: #fff !important;
  border-color: rgba(137, 156, 105, .22) !important;
}

body:has(.assignments-page-head) .form-control:focus,
body:has(.assignments-page-head) .form-select:focus,
body:has(.assignments-page-head) .form-check-input:focus {
  border-color: rgba(141, 214, 44, .52) !important;
  box-shadow: 0 0 0 .18rem rgba(141, 214, 44, .12) !important;
}

body:has(.assignments-page-head) .assignment-shell .form-check-input:checked,
body:has(.assignments-page-head) .assignment-shell .form-check-input[type="checkbox"]:checked {
  background-color: #88c534 !important;
  border-color: #88c534 !important;
}

body:has(.assignments-page-head) .smart-assign-note {
  background: #fafcf7 !important;
  border-color: rgba(137, 173, 84, .16) !important;
  color: #4f5c4b !important;
}

body:has(.assignments-page-head) .smart-assign-note span {
  background: #fff !important;
  border-color: rgba(137, 156, 105, .16) !important;
  color: #4f5c4b !important;
}

body:has(.assignments-page-head) .btn-outline-primary.js-assignment-date-open,
body:has(.assignments-page-head) .js-assignment-date-open {
  background: #f7f8f3 !important;
  border-color: rgba(137, 156, 105, .24) !important;
  color: #576453 !important;
  box-shadow: none !important;
}

body:has(.assignments-page-head) .btn-outline-primary.js-assignment-date-open:hover,
body:has(.assignments-page-head) .btn-outline-primary.js-assignment-date-open:focus,
body:has(.assignments-page-head) .js-assignment-date-open:hover,
body:has(.assignments-page-head) .js-assignment-date-open:focus {
  background: #edf5e3 !important;
  border-color: rgba(137, 173, 84, .34) !important;
  color: #5d8922 !important;
}

body:has(.assignments-page-head) .assignment-change-assignee-btn {
  border-color: rgba(137, 173, 84, .22) !important;
  background: #eff6e6 !important;
  color: #6b8f39 !important;
  box-shadow: none !important;
}

body:has(.assignments-page-head) .assignment-change-assignee-btn:hover,
body:has(.assignments-page-head) .assignment-change-assignee-btn:focus {
  background: #88c534 !important;
  border-color: #88c534 !important;
  color: #fff !important;
}

body:has(.assignments-page-head) .assignment-delete-employee-task-btn {
  background: #fbefef !important;
  border-color: rgba(201, 70, 70, .22) !important;
  color: #c94646 !important;
  box-shadow: none !important;
}

body:has(.assignments-page-head) .assignment-delete-employee-task-btn:hover,
body:has(.assignments-page-head) .assignment-delete-employee-task-btn:focus-visible {
  background: #c94646 !important;
  border-color: #c94646 !important;
  color: #fff !important;
}

body:has(.assignments-page-head) .assignment-issued-export-btn,
body:has(.assignments-page-head) .assignment-issued-export-btn *,
body:has(.assignments-page-head) .assignment-issued-export-btn span {
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}

body:has(.assignments-page-head) .assignment-issued-export-btn {
  background: #fff !important;
  color: #628a2c !important;
  border-color: rgba(137, 173, 84, .26) !important;
  box-shadow: none !important;
}

body:has(.assignments-page-head) .assignment-issued-export-btn:hover,
body:has(.assignments-page-head) .assignment-issued-export-btn:focus {
  background: #eef5e4 !important;
  color: #567a27 !important;
  border-color: rgba(137, 173, 84, .34) !important;
}

/* User update 2026-06-20: developer page action buttons must keep warning/danger accents */
body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-close {
  background: linear-gradient(180deg, #f0b24d 0%, #dc9731 100%) !important;
  border-color: #dc9731 !important;
  color: #ffffff !important;
  box-shadow: 0 8px 18px rgba(220, 151, 49, 0.18) !important;
}

body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-close:hover,
body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-close:focus {
  background: linear-gradient(180deg, #e6a43d 0%, #cb8520 100%) !important;
  border-color: #cb8520 !important;
  color: #ffffff !important;
  box-shadow: 0 8px 18px rgba(220, 151, 49, 0.22) !important;
}

body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-danger,
body:has(.developer-section-tabs) .delete-error-actions .btn.btn-danger {
  background: linear-gradient(180deg, #df6464 0%, #c94646 100%) !important;
  border-color: #c94646 !important;
  color: #ffffff !important;
  box-shadow: 0 8px 18px rgba(201, 70, 70, 0.18) !important;
}

body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-danger:hover,
body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-danger:focus,
body:has(.developer-section-tabs) .delete-error-actions .btn.btn-danger:hover,
body:has(.developer-section-tabs) .delete-error-actions .btn.btn-danger:focus {
  background: linear-gradient(180deg, #d65252 0%, #b93b3b 100%) !important;
  border-color: #b93b3b !important;
  color: #ffffff !important;
  box-shadow: 0 8px 18px rgba(201, 70, 70, 0.22) !important;
}

body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-close *,
body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-danger *,
body:has(.developer-section-tabs) .delete-error-actions .btn.btn-danger * {
  color: #ffffff !important;
}

/* User update 2026-06-20: developer filters should use regular select text and match active messages button */
body:has(.developer-section-tabs) .site-errors-filter-form .form-select,
body:has(.developer-section-tabs) .site-errors-filter-form .form-select option {
  font-weight: 400 !important;
}

body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions .btn,
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions .btn.btn-primary,
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions .btn.btn-outline-secondary {
  border-color: #80c628 !important;
  background: linear-gradient(135deg, #8dd62c, #9fdf4c) !important;
  color: #10203f !important;
  box-shadow: 0 10px 22px rgba(141, 214, 44, .22) !important;
}

body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions .btn:hover,
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions .btn:focus,
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions .btn.btn-primary:hover,
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions .btn.btn-primary:focus,
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions .btn.btn-outline-secondary:hover,
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions .btn.btn-outline-secondary:focus {
  border-color: #72b320 !important;
  background: linear-gradient(135deg, #84cb26, #98dc3b) !important;
  color: #10203f !important;
  box-shadow: 0 10px 22px rgba(141, 214, 44, .26) !important;
}

body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions .btn *,
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions .btn.btn-primary *,
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions .btn.btn-outline-secondary * {
  color: #10203f !important;
}

body:has(.materials-page-head) .materials-filter-form .crm-search-btn i,
body:has(.materials-page-head) .materials-filter-form .crm-search-btn i::before,
body:has(.materials-page-head) .materials-filter-form .crm-search-btn .bi {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* User update 2026-06-20: finish pending UI fixes across filters, materials, apartments and problem editor. */
body:has(.developer-section-tabs) .developer-select-button,
body:has(.developer-section-tabs) .developer-select-value,
body:has(.developer-section-tabs) .developer-select-option,
body:has(.developer-section-tabs) .developer-select-option.is-selected {
  font-weight: 400 !important;
}

body:has(.apartments-page) .apartments-filter-form .form-control,
body:has(.apartments-page) .apartments-filter-form .form-select,
body:has(.remarks-page-head) .remarks-filter-form .form-control,
body:has(.remarks-page-head) .remarks-filter-form .form-select {
  min-height: 44px !important;
  padding-top: .68rem !important;
  padding-bottom: .68rem !important;
}

body:has(.materials-page-head) .material-form-card .material-request-title-col,
body:has(.materials-page-head) .material-form-card .material-request-date-col {
  width: 100%;
}

body:has(.materials-page-head) .material-form-card input[name="title"],
body:has(.materials-page-head) .material-form-card input[name="request_date"] {
  min-height: 44px !important;
}

@media (min-width: 992px) {
  body:has(.materials-page-head) .material-form-card .material-request-title-col,
  body:has(.materials-page-head) .material-form-card .material-request-date-col {
    flex: 1 1 0 !important;
    max-width: 50% !important;
  }
}

.problem-action-form {
  position: relative !important;
}

.problem-action-form .problem-comment-wrap:not(.d-none),
.problem-action-form.problem-popover-open .problem-comment-wrap {
  position: fixed !important;
  z-index: 9000 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 38px 38px !important;
  align-items: center !important;
  gap: .35rem !important;
  width: min(360px, calc(100vw - 32px)) !important;
  max-width: calc(100vw - 32px) !important;
  padding: .45rem !important;
  border: 1px solid rgba(141, 214, 44, .28) !important;
  border-radius: .95rem !important;
  background: #ffffff !important;
  box-shadow: 0 18px 44px rgba(15, 23, 42, .18) !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

.problem-action-form .problem-comment-wrap .form-control,
.problem-action-form .problem-comment-wrap .form-control-sm {
  min-width: 0 !important;
  width: 100% !important;
  height: 38px !important;
}

.problem-action-form .problem-comment-wrap .btn,
.problem-action-form .problem-comment-wrap .btn-sm {
  min-width: 38px !important;
  width: 38px !important;
  height: 38px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 38px !important;
}

.problem-action-form .problem-comment-wrap button[type="submit"],
.problem-action-form .problem-comment-wrap button[type="submit"] * {
  background: var(--peredacha-action-green) !important;
  border-color: var(--peredacha-action-green) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Bring all green action buttons to the exact same tone as "Подбор задач". */
.btn-primary,
.btn-success,
.crm-search-btn,
.crm-filter-form .btn.btn-primary[type="submit"],
.filter-actions .btn.btn-primary[type="submit"],
.material-pick-style-btn,
.dashboard-btn-primary,
.site-error-action-btn-success,
body:has(.developer-section-tabs) .site-errors-filter-form .btn.btn-primary,
body:has(.developer-section-tabs) .site-errors-filter-form .btn.btn-outline-secondary,
body:has(.developer-section-tabs) .delete-error-actions .btn.btn-outline-secondary,
body:has(.developer-section-tabs) .developer-delete-log-actions .btn.btn-outline-secondary {
  background: linear-gradient(180deg, var(--peredacha-action-green) 0%, var(--peredacha-action-green-hover) 100%) !important;
  border-color: var(--peredacha-action-green-hover) !important;
  box-shadow: 0 12px 26px var(--peredacha-action-green-shadow) !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-success:hover,
.btn-success:focus,
.crm-search-btn:hover,
.crm-search-btn:focus,
.crm-filter-form .btn.btn-primary[type="submit"]:hover,
.crm-filter-form .btn.btn-primary[type="submit"]:focus,
.filter-actions .btn.btn-primary[type="submit"]:hover,
.filter-actions .btn.btn-primary[type="submit"]:focus,
.material-pick-style-btn:hover,
.material-pick-style-btn:focus,
.dashboard-btn-primary:hover,
.dashboard-btn-primary:focus,
.site-error-action-btn-success:hover,
.site-error-action-btn-success:focus,
body:has(.developer-section-tabs) .site-errors-filter-form .btn.btn-primary:hover,
body:has(.developer-section-tabs) .site-errors-filter-form .btn.btn-primary:focus,
body:has(.developer-section-tabs) .site-errors-filter-form .btn.btn-outline-secondary:hover,
body:has(.developer-section-tabs) .site-errors-filter-form .btn.btn-outline-secondary:focus,
body:has(.developer-section-tabs) .delete-error-actions .btn.btn-outline-secondary:hover,
body:has(.developer-section-tabs) .delete-error-actions .btn.btn-outline-secondary:focus,
body:has(.developer-section-tabs) .developer-delete-log-actions .btn.btn-outline-secondary:hover,
body:has(.developer-section-tabs) .developer-delete-log-actions .btn.btn-outline-secondary:focus {
  background: linear-gradient(180deg, var(--peredacha-action-green) 0%, var(--peredacha-action-green-hover) 100%) !important;
  border-color: var(--peredacha-action-green-hover) !important;
}


/* v124: developer apply/reset buttons */
body:has(.developer-section-tabs) .developer-filter-actions {
  gap: .75rem !important;
}

body:has(.developer-section-tabs) .developer-filter-btn {
  position: relative;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .5rem !important;
  min-width: 152px;
  min-height: 46px !important;
  padding: .78rem 1.14rem !important;
  border-radius: 14px !important;
  font-size: .94rem !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  border: 1px solid transparent !important;
  box-shadow: none !important;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease;
}

body:has(.developer-section-tabs) .developer-filter-btn i {
  font-size: .98rem;
}

body:has(.developer-section-tabs) .developer-filter-btn-apply {
  color: #ffffff !important;
  background: linear-gradient(135deg, #8dd62c 0%, #76b724 100%) !important;
  border-color: rgba(118, 183, 36, .95) !important;
  box-shadow: 0 10px 24px rgba(141, 214, 44, .20) !important;
}

body:has(.developer-section-tabs) .developer-filter-btn-apply:hover,
body:has(.developer-section-tabs) .developer-filter-btn-apply:focus {
  color: #ffffff !important;
  background: linear-gradient(135deg, #82ca28 0%, #699f1f 100%) !important;
  border-color: rgba(105, 159, 31, .96) !important;
  box-shadow: 0 14px 28px rgba(141, 214, 44, .24) !important;
  transform: translateY(-1px);
}

body:has(.developer-section-tabs) .developer-filter-btn-reset {
  color: #2f3438 !important;
  background: linear-gradient(180deg, #ffffff 0%, #f1f3ef 100%) !important;
  border-color: rgba(86, 93, 98, .17) !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .05) !important;
}

body:has(.developer-section-tabs) .developer-filter-btn-reset:hover,
body:has(.developer-section-tabs) .developer-filter-btn-reset:focus {
  color: #1f2428 !important;
  background: linear-gradient(180deg, #f8faf7 0%, #eaede7 100%) !important;
  border-color: rgba(86, 93, 98, .24) !important;
  box-shadow: 0 12px 24px rgba(15, 23, 42, .08) !important;
  transform: translateY(-1px);
}

@media (max-width: 768px) {
  body:has(.developer-section-tabs) .developer-filter-actions {
    gap: .55rem !important;
  }

  body:has(.developer-section-tabs) .developer-filter-btn {
    width: 100%;
    min-width: 0;
  }
}

/* v125: developer sidebar notification badge, filter buttons, custom selects */
.sidebar-link.developer-sidebar-link {
  overflow: visible;
}

.sidebar-link.developer-sidebar-link > span:not(.nav-count-badge) {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sidebar-link.developer-sidebar-link.has-nav-count {
  padding-right: .72rem;
}

.sidebar-link .site-errors-nav-badge {
  flex: 0 0 auto;
  min-width: 1.58rem;
  height: 1.58rem;
  margin-left: auto;
  padding: 0 .42rem;
  border: 2px solid rgba(255, 255, 255, .92);
  border-radius: 999px;
  background: linear-gradient(180deg, #ff6158 0%, #d92d20 100%);
  color: #ffffff;
  font-size: .76rem;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 10px 20px rgba(217, 45, 32, .34), 0 0 0 3px rgba(217, 45, 32, .10);
  transform: translateX(2px);
}

.sidebar-link.developer-sidebar-link.active .site-errors-nav-badge {
  border-color: rgba(255, 255, 255, .98);
  box-shadow: 0 10px 20px rgba(217, 45, 32, .34), 0 0 0 4px rgba(255, 255, 255, .12);
}

body:has(.developer-section-tabs) .developer-filter-btn {
  isolation: isolate;
  overflow: hidden;
}

body:has(.developer-section-tabs) .developer-filter-btn-apply {
  color: #10203f !important;
  background: linear-gradient(135deg, #8dd62c 0%, #a7e34e 52%, #76b724 100%) !important;
  border-color: rgba(118, 183, 36, .96) !important;
  box-shadow: 0 12px 26px rgba(141, 214, 44, .24), inset 0 1px 0 rgba(255, 255, 255, .32) !important;
}

body:has(.developer-section-tabs) .developer-filter-btn-apply::after {
  content: "";
  position: absolute;
  inset: -45% auto -45% -70%;
  width: 46%;
  transform: skewX(-22deg);
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .44), transparent);
  opacity: .9;
  animation: developerApplyShine 2.8s ease-in-out infinite;
  pointer-events: none;
  z-index: 0;
}

body:has(.developer-section-tabs) .developer-filter-btn > i,
body:has(.developer-section-tabs) .developer-filter-btn > span {
  position: relative;
  z-index: 1;
}

@keyframes developerApplyShine {
  0%, 54% { left: -72%; }
  78%, 100% { left: 126%; }
}

body:has(.developer-section-tabs) .developer-filter-btn-apply:hover,
body:has(.developer-section-tabs) .developer-filter-btn-apply:focus-visible {
  color: #10203f !important;
  background: linear-gradient(135deg, #83cb27 0%, #9fdf4c 52%, #6fa91f 100%) !important;
  border-color: rgba(105, 159, 31, .98) !important;
  box-shadow: 0 16px 30px rgba(141, 214, 44, .28), inset 0 1px 0 rgba(255, 255, 255, .36) !important;
  transform: translateY(-1px);
}

body:has(.developer-section-tabs) .developer-filter-btn-apply *,
body:has(.developer-section-tabs) .developer-filter-btn-apply:hover *,
body:has(.developer-section-tabs) .developer-filter-btn-apply:focus-visible * {
  color: #10203f !important;
}

body:has(.developer-section-tabs) .developer-filter-btn-reset {
  color: #384044 !important;
  background: linear-gradient(180deg, #ffffff 0%, #f7f9f4 100%) !important;
  border-color: rgba(86, 93, 98, .20) !important;
  box-shadow: 0 10px 22px rgba(15, 23, 42, .055), inset 0 1px 0 rgba(255, 255, 255, .9) !important;
}

body:has(.developer-section-tabs) .developer-filter-btn-reset:hover,
body:has(.developer-section-tabs) .developer-filter-btn-reset:focus-visible {
  color: #283033 !important;
  background: linear-gradient(180deg, #ffffff 0%, #edf3e8 100%) !important;
  border-color: rgba(141, 214, 44, .34) !important;
  box-shadow: 0 14px 28px rgba(15, 23, 42, .08), inset 0 0 0 1px rgba(141, 214, 44, .10) !important;
  transform: translateY(-1px);
}

body:has(.developer-section-tabs) .developer-filter-btn-reset *,
body:has(.developer-section-tabs) .developer-filter-btn-reset:hover *,
body:has(.developer-section-tabs) .developer-filter-btn-reset:focus-visible * {
  color: currentColor !important;
}

body:has(.developer-section-tabs) .developer-custom-select {
  position: relative;
  width: 100%;
}

body:has(.developer-section-tabs) .developer-custom-select .developer-native-select {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  z-index: -1 !important;
}

body:has(.developer-section-tabs) .developer-select-button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  width: 100%;
  min-height: 44px;
  padding: .72rem .9rem .72rem 1rem;
  border: 1px solid rgba(15, 23, 42, .11);
  border-radius: 14px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfcf8 100%);
  color: #1f2428;
  text-align: left;
  font-size: .96rem;
  font-weight: 500;
  line-height: 1.2;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .045);
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease, transform .18s ease;
}

body:has(.developer-section-tabs) .developer-select-button:hover {
  border-color: rgba(141, 214, 44, .36);
  box-shadow: 0 10px 22px rgba(15, 23, 42, .055);
}

body:has(.developer-section-tabs) .developer-select-button:focus-visible,
body:has(.developer-section-tabs) .developer-custom-select.is-open .developer-select-button {
  outline: 0;
  border-color: rgba(141, 214, 44, .62);
  box-shadow: 0 0 0 .2rem rgba(141, 214, 44, .12), 0 12px 26px rgba(15, 23, 42, .07);
}

body:has(.developer-section-tabs) .developer-select-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.8rem;
  height: 1.8rem;
  flex: 0 0 auto;
  border-radius: 999px;
  background: #f1f6ea;
  color: #628a2c;
  transition: transform .18s ease, background-color .18s ease;
}

body:has(.developer-section-tabs) .developer-custom-select.is-open .developer-select-arrow {
  transform: rotate(180deg);
  background: #e8f4da;
}

body:has(.developer-section-tabs) .developer-select-menu {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + .45rem);
  z-index: 1045;
  display: grid;
  gap: .2rem;
  padding: .38rem;
  border: 1px solid rgba(141, 214, 44, .24);
  border-radius: 16px;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 22px 48px rgba(15, 23, 42, .15), 0 0 0 1px rgba(255, 255, 255, .8) inset;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px) scale(.98);
  transform-origin: top center;
  transition: opacity .16s ease, visibility .16s ease, transform .16s ease;
}

body:has(.developer-section-tabs) .developer-custom-select.is-open .developer-select-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}

body:has(.developer-section-tabs) .developer-select-option {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 38px;
  padding: .55rem .72rem;
  border: 0;
  border-radius: 11px;
  background: transparent;
  color: #263238;
  text-align: left;
  font-size: .94rem;
  font-weight: 500;
  line-height: 1.2;
  transition: background-color .15s ease, color .15s ease, transform .15s ease;
}

body:has(.developer-section-tabs) .developer-select-option:hover,
body:has(.developer-section-tabs) .developer-select-option:focus-visible {
  outline: 0;
  background: #f1f8e7;
  color: #405f1e;
}

body:has(.developer-section-tabs) .developer-select-option.is-selected {
  background: linear-gradient(135deg, #8dd62c 0%, #9fdf4c 100%);
  color: #10203f;
  font-weight: 800;
  box-shadow: inset 0 0 0 1px rgba(118, 183, 36, .24);
}

@media (max-width: 768px) {
  .sidebar-link .site-errors-nav-badge {
    min-width: 1.5rem;
    height: 1.5rem;
    transform: none;
  }

  body:has(.developer-section-tabs) .developer-select-menu {
    position: static;
    margin-top: .45rem;
  }
}

/* v126: developer page button tone cleanup */
body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-success {
  background: linear-gradient(135deg, #7fc624 0%, #669c1f 100%) !important;
  border-color: #669c1f !important;
  color: #ffffff !important;
  box-shadow: 0 10px 22px rgba(102, 156, 31, .22) !important;
}

body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-success:hover,
body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-success:focus,
body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-success:focus-visible {
  background: linear-gradient(135deg, #75b720 0%, #5a8d1a 100%) !important;
  border-color: #5a8d1a !important;
  color: #ffffff !important;
  box-shadow: 0 12px 25px rgba(102, 156, 31, .26) !important;
  transform: translateY(-1px);
}

body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-danger,
body:has(.developer-section-tabs) .delete-error-actions .btn.btn-danger {
  background: #c94646 !important;
  background-image: none !important;
  border-color: #c94646 !important;
  color: #ffffff !important;
  box-shadow: 0 8px 18px rgba(201, 70, 70, .18) !important;
}

body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-danger:hover,
body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-danger:focus,
body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-danger:focus-visible,
body:has(.developer-section-tabs) .delete-error-actions .btn.btn-danger:hover,
body:has(.developer-section-tabs) .delete-error-actions .btn.btn-danger:focus,
body:has(.developer-section-tabs) .delete-error-actions .btn.btn-danger:focus-visible {
  background: #bd3f3f !important;
  background-image: none !important;
  border-color: #bd3f3f !important;
  color: #ffffff !important;
  box-shadow: 0 10px 22px rgba(201, 70, 70, .22) !important;
  transform: translateY(-1px);
}

body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-success *,
body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-danger *,
body:has(.developer-section-tabs) .delete-error-actions .btn.btn-danger * {
  color: #ffffff !important;
}

/* v127: developer page final button color normalization */
body:has(.developer-section-tabs) .site-error-card.closed {
  opacity: 1 !important;
}

body:has(.developer-section-tabs) .site-error-card.closed .site-error-actions,
body:has(.developer-section-tabs) .site-error-card.closed .site-error-action-btn {
  opacity: 1 !important;
  filter: none !important;
}

body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions.developer-filter-actions .developer-filter-btn-reset,
body:has(.developer-section-tabs) form.site-errors-filter-form .filter-actions.developer-filter-actions a.developer-filter-btn-reset.btn,
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions .btn.btn-outline-secondary.developer-filter-btn-reset {
  color: #10203f !important;
  background: linear-gradient(180deg, #ffffff 0%, #f7f9f4 100%) !important;
  background-color: #ffffff !important;
  border-color: rgba(137, 173, 84, .26) !important;
  box-shadow: 0 10px 22px rgba(15, 23, 42, .055), inset 0 1px 0 rgba(255, 255, 255, .9) !important;
}

body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions.developer-filter-actions .developer-filter-btn-reset:hover,
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions.developer-filter-actions .developer-filter-btn-reset:focus,
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions.developer-filter-actions .developer-filter-btn-reset:focus-visible,
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions .btn.btn-outline-secondary.developer-filter-btn-reset:hover,
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions .btn.btn-outline-secondary.developer-filter-btn-reset:focus,
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions .btn.btn-outline-secondary.developer-filter-btn-reset:focus-visible {
  color: #10203f !important;
  background: linear-gradient(180deg, #ffffff 0%, #eef5e8 100%) !important;
  background-color: #ffffff !important;
  border-color: rgba(137, 173, 84, .42) !important;
  box-shadow: 0 14px 28px rgba(15, 23, 42, .08), inset 0 0 0 1px rgba(141, 214, 44, .10) !important;
  transform: translateY(-1px);
}

body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions.developer-filter-actions .developer-filter-btn-reset *,
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions .btn.btn-outline-secondary.developer-filter-btn-reset * {
  color: currentColor !important;
}

body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-success {
  background: linear-gradient(135deg, #7fc624 0%, #669c1f 100%) !important;
  border-color: #669c1f !important;
  color: #10203f !important;
  box-shadow: 0 10px 22px rgba(102, 156, 31, .22) !important;
}

body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-success:hover,
body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-success:focus,
body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-success:focus-visible {
  background: linear-gradient(135deg, #78ba22 0%, #5f931d 100%) !important;
  border-color: #5f931d !important;
  color: #10203f !important;
  box-shadow: 0 12px 25px rgba(102, 156, 31, .26) !important;
  transform: translateY(-1px);
}

body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-success *,
body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-success:hover *,
body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-success:focus *,
body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-success:focus-visible * {
  color: #10203f !important;
}

body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-danger,
body:has(.developer-section-tabs) .site-error-card.closed .site-error-actions .site-error-action-btn.site-error-action-btn-danger,
body:has(.developer-section-tabs) .delete-error-actions .btn.btn-danger {
  background: #c94646 !important;
  background-image: none !important;
  border-color: #c94646 !important;
  color: #ffffff !important;
  opacity: 1 !important;
  filter: none !important;
  box-shadow: 0 8px 18px rgba(201, 70, 70, .18) !important;
}

body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-danger:hover,
body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-danger:focus,
body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-danger:focus-visible,
body:has(.developer-section-tabs) .site-error-card.closed .site-error-actions .site-error-action-btn.site-error-action-btn-danger:hover,
body:has(.developer-section-tabs) .site-error-card.closed .site-error-actions .site-error-action-btn.site-error-action-btn-danger:focus,
body:has(.developer-section-tabs) .site-error-card.closed .site-error-actions .site-error-action-btn.site-error-action-btn-danger:focus-visible,
body:has(.developer-section-tabs) .delete-error-actions .btn.btn-danger:hover,
body:has(.developer-section-tabs) .delete-error-actions .btn.btn-danger:focus,
body:has(.developer-section-tabs) .delete-error-actions .btn.btn-danger:focus-visible {
  background: #bd3f3f !important;
  background-image: none !important;
  border-color: #bd3f3f !important;
  color: #ffffff !important;
  opacity: 1 !important;
  filter: none !important;
  box-shadow: 0 10px 22px rgba(201, 70, 70, .22) !important;
  transform: translateY(-1px);
}

body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-danger *,
body:has(.developer-section-tabs) .site-error-card.closed .site-error-actions .site-error-action-btn.site-error-action-btn-danger *,
body:has(.developer-section-tabs) .delete-error-actions .btn.btn-danger * {
  color: #ffffff !important;
}

body:has(.developer-section-tabs) .delete-error-actions .btn.btn-outline-secondary {
  background: #ffffff !important;
  background-image: none !important;
  border-color: rgba(137, 173, 84, .34) !important;
  color: #10203f !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .055) !important;
}

body:has(.developer-section-tabs) .delete-error-actions .btn.btn-outline-secondary:hover,
body:has(.developer-section-tabs) .delete-error-actions .btn.btn-outline-secondary:focus,
body:has(.developer-section-tabs) .delete-error-actions .btn.btn-outline-secondary:focus-visible {
  background: #f7fbf1 !important;
  background-image: none !important;
  border-color: rgba(137, 173, 84, .48) !important;
  color: #10203f !important;
  box-shadow: 0 10px 22px rgba(15, 23, 42, .075), inset 0 0 0 1px rgba(141, 214, 44, .08) !important;
  transform: translateY(-1px);
}

body:has(.developer-section-tabs) .delete-error-actions .btn.btn-outline-secondary *,
body:has(.developer-section-tabs) .delete-error-actions .btn.btn-outline-secondary:hover *,
body:has(.developer-section-tabs) .delete-error-actions .btn.btn-outline-secondary:focus *,
body:has(.developer-section-tabs) .delete-error-actions .btn.btn-outline-secondary:focus-visible * {
  color: #10203f !important;
}


/* v127b: fallback for the native reset link if page template still uses only Bootstrap classes */
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions .btn.btn-outline-secondary:not(.developer-filter-btn-apply) {
  color: #10203f !important;
  background: linear-gradient(180deg, #ffffff 0%, #f7f9f4 100%) !important;
  background-color: #ffffff !important;
  border-color: rgba(137, 173, 84, .26) !important;
  box-shadow: 0 10px 22px rgba(15, 23, 42, .055), inset 0 1px 0 rgba(255, 255, 255, .9) !important;
}

body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions .btn.btn-outline-secondary:not(.developer-filter-btn-apply):hover,
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions .btn.btn-outline-secondary:not(.developer-filter-btn-apply):focus,
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions .btn.btn-outline-secondary:not(.developer-filter-btn-apply):focus-visible {
  color: #10203f !important;
  background: linear-gradient(180deg, #ffffff 0%, #eef5e8 100%) !important;
  background-color: #ffffff !important;
  border-color: rgba(137, 173, 84, .42) !important;
  box-shadow: 0 14px 28px rgba(15, 23, 42, .08), inset 0 0 0 1px rgba(141, 214, 44, .10) !important;
  transform: translateY(-1px);
}

body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions .btn.btn-outline-secondary:not(.developer-filter-btn-apply) *,
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions .btn.btn-outline-secondary:not(.developer-filter-btn-apply):hover *,
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions .btn.btn-outline-secondary:not(.developer-filter-btn-apply):focus *,
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions .btn.btn-outline-secondary:not(.developer-filter-btn-apply):focus-visible * {
  color: currentColor !important;
}

/* v128: developer dropdown correction - solid panel, proper stacking and readable options */
body:has(.developer-section-tabs) .content-card:has(.site-errors-filter-form),
body:has(.developer-section-tabs) .content-card:has(.site-errors-filter-form) .card-body,
body:has(.developer-section-tabs) .site-errors-filter-form,
body:has(.developer-section-tabs) .site-errors-filter-field {
  overflow: visible !important;
}

body:has(.developer-section-tabs) .content-card:has(.site-errors-filter-form) {
  position: relative;
  z-index: 20;
}

body:has(.developer-section-tabs) .site-errors-list {
  position: relative;
  z-index: 1;
}

body:has(.developer-section-tabs) .developer-custom-select {
  position: relative !important;
  isolation: isolate;
}

body:has(.developer-section-tabs) .developer-custom-select.is-open {
  z-index: 5000 !important;
}

body:has(.developer-section-tabs) .developer-select-menu {
  top: calc(100% + .35rem) !important;
  z-index: 5001 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: .18rem !important;
  width: 100% !important;
  min-width: 100% !important;
  max-height: 240px !important;
  overflow: auto !important;
  padding: .32rem !important;
  border: 1px solid rgba(127, 186, 47, .34) !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  box-shadow: 0 18px 36px rgba(15, 23, 42, .14), 0 0 0 1px rgba(255, 255, 255, .92) inset !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body:has(.developer-section-tabs) .developer-custom-select.is-open .developer-select-menu {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
}

body:has(.developer-section-tabs) .developer-select-option {
  min-height: 40px !important;
  justify-content: flex-start !important;
  padding: .62rem .75rem !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: transparent !important;
  background-image: none !important;
  color: #10203f !important;
  opacity: 1 !important;
  filter: none !important;
  box-shadow: none !important;
  font-size: .94rem !important;
  font-weight: 600 !important;
  text-align: left !important;
}

body:has(.developer-section-tabs) .developer-select-option:hover,
body:has(.developer-section-tabs) .developer-select-option:focus,
body:has(.developer-section-tabs) .developer-select-option:focus-visible {
  outline: 0 !important;
  background: #f1f8e7 !important;
  color: #10203f !important;
  opacity: 1 !important;
  box-shadow: none !important;
}

body:has(.developer-section-tabs) .developer-select-option.is-selected,
body:has(.developer-section-tabs) .developer-select-option.is-selected:hover,
body:has(.developer-section-tabs) .developer-select-option.is-selected:focus,
body:has(.developer-section-tabs) .developer-select-option.is-selected:focus-visible {
  background: #8dd62c !important;
  background-image: none !important;
  color: #10203f !important;
  opacity: 1 !important;
  font-weight: 800 !important;
  box-shadow: inset 0 0 0 1px rgba(105, 159, 31, .22) !important;
}

body:has(.developer-section-tabs) .developer-select-menu::-webkit-scrollbar {
  width: 8px;
}

body:has(.developer-section-tabs) .developer-select-menu::-webkit-scrollbar-track {
  background: #f5f8ef;
  border-radius: 999px;
}

body:has(.developer-section-tabs) .developer-select-menu::-webkit-scrollbar-thumb {
  background: rgba(127, 186, 47, .55);
  border-radius: 999px;
}

@media (max-width: 768px) {
  body:has(.developer-section-tabs) .developer-custom-select.is-open {
    z-index: 1 !important;
  }

  body:has(.developer-section-tabs) .developer-select-menu {
    max-height: none !important;
    box-shadow: 0 12px 24px rgba(15, 23, 42, .10) !important;
  }
}

/* v129: developer action buttons + sticky top bars */
body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-success,
body:has(.developer-section-tabs) .developer-delete-log-actions .btn.btn-primary {
  color: #ffffff !important;
  background: linear-gradient(180deg, #82c929 0%, #72b821 100%) !important;
  background-color: #78bd24 !important;
  border-color: rgba(91, 151, 24, .36) !important;
  box-shadow: 0 12px 24px rgba(120, 189, 36, .24) !important;
}

body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-success:hover,
body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-success:focus,
body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-success:focus-visible,
body:has(.developer-section-tabs) .developer-delete-log-actions .btn.btn-primary:hover,
body:has(.developer-section-tabs) .developer-delete-log-actions .btn.btn-primary:focus,
body:has(.developer-section-tabs) .developer-delete-log-actions .btn.btn-primary:focus-visible {
  color: #ffffff !important;
  background: linear-gradient(180deg, #78bd24 0%, #67a91d 100%) !important;
  background-color: #72b821 !important;
  border-color: rgba(91, 151, 24, .48) !important;
  box-shadow: 0 14px 28px rgba(120, 189, 36, .28) !important;
  transform: translateY(-1px);
}

body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-success *,
body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-success:hover *,
body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-success:focus *,
body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-success:focus-visible *,
body:has(.developer-section-tabs) .developer-delete-log-actions .btn.btn-primary *,
body:has(.developer-section-tabs) .developer-delete-log-actions .btn.btn-primary:hover *,
body:has(.developer-section-tabs) .developer-delete-log-actions .btn.btn-primary:focus *,
body:has(.developer-section-tabs) .developer-delete-log-actions .btn.btn-primary:focus-visible * {
  color: #ffffff !important;
}

body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions.developer-filter-actions .developer-filter-btn-reset,
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions.developer-filter-actions a.developer-filter-btn-reset.btn,
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions a.btn:not(.developer-filter-btn-apply),
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions .btn.btn-outline-secondary,
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions .btn.btn-secondary {
  color: #10203f !important;
  background: linear-gradient(180deg, #ffffff 0%, #f7f9f4 100%) !important;
  background-color: #ffffff !important;
  border-color: rgba(137, 173, 84, .30) !important;
  box-shadow: 0 10px 22px rgba(15, 23, 42, .055), inset 0 1px 0 rgba(255, 255, 255, .9) !important;
}

body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions.developer-filter-actions .developer-filter-btn-reset:hover,
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions.developer-filter-actions .developer-filter-btn-reset:focus,
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions.developer-filter-actions .developer-filter-btn-reset:focus-visible,
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions a.btn:not(.developer-filter-btn-apply):hover,
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions a.btn:not(.developer-filter-btn-apply):focus,
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions a.btn:not(.developer-filter-btn-apply):focus-visible,
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions .btn.btn-outline-secondary:hover,
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions .btn.btn-outline-secondary:focus,
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions .btn.btn-outline-secondary:focus-visible,
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions .btn.btn-secondary:hover,
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions .btn.btn-secondary:focus,
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions .btn.btn-secondary:focus-visible {
  color: #10203f !important;
  background: linear-gradient(180deg, #ffffff 0%, #eef5e8 100%) !important;
  background-color: #ffffff !important;
  border-color: rgba(137, 173, 84, .46) !important;
  box-shadow: 0 14px 28px rgba(15, 23, 42, .08), inset 0 0 0 1px rgba(141, 214, 44, .10) !important;
  transform: translateY(-1px);
}

body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions.developer-filter-actions .developer-filter-btn-reset *,
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions.developer-filter-actions .developer-filter-btn-reset:hover *,
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions.developer-filter-actions .developer-filter-btn-reset:focus *,
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions.developer-filter-actions .developer-filter-btn-reset:focus-visible *,
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions a.btn:not(.developer-filter-btn-apply) *,
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions .btn.btn-outline-secondary *,
body:has(.developer-section-tabs) .site-errors-filter-form .filter-actions .btn.btn-secondary * {
  color: #10203f !important;
}

body.app-body .app-topbar,
body.app-body .objects-topbar,
body.app-body .documents-topbar,
body.app-body .settings-topbar,
.documents-standalone-layout .objects-topbar,
.settings-standalone-layout .objects-topbar {
  position: sticky !important;
  top: 0 !important;
  z-index: 1030 !important;
}

body.app-body .app-topbar,
body.app-body .objects-topbar,
body.app-body .documents-topbar,
body.app-body .settings-topbar {
  will-change: transform;
}

@media (max-width: 768px) {
  body.app-body .app-topbar,
  body.app-body .objects-topbar,
  body.app-body .documents-topbar,
  body.app-body .settings-topbar,
  .documents-standalone-layout .objects-topbar,
  .settings-standalone-layout .objects-topbar {
    position: sticky !important;
    top: env(safe-area-inset-top, 0px) !important;
    z-index: 1030 !important;
  }
}

/* v130: softer developer dropdown selection tone and regular text weight */
body:has(.developer-section-tabs) .developer-select-menu {
  border-color: rgba(137, 173, 84, .28) !important;
}

body:has(.developer-section-tabs) .developer-select-option {
  font-weight: 400 !important;
}

body:has(.developer-section-tabs) .developer-select-option:hover,
body:has(.developer-section-tabs) .developer-select-option:focus,
body:has(.developer-section-tabs) .developer-select-option:focus-visible {
  background: #eef5e8 !important;
  color: #10203f !important;
  font-weight: 400 !important;
}

body:has(.developer-section-tabs) .developer-select-option.is-selected,
body:has(.developer-section-tabs) .developer-select-option.is-selected:hover,
body:has(.developer-section-tabs) .developer-select-option.is-selected:focus,
body:has(.developer-section-tabs) .developer-select-option.is-selected:focus-visible {
  background: #dceecb !important;
  background-image: none !important;
  color: #10203f !important;
  font-weight: 400 !important;
  box-shadow: inset 0 0 0 1px rgba(137, 173, 84, .24) !important;
}

body:has(.developer-section-tabs) .developer-select-menu::-webkit-scrollbar-thumb {
  background: rgba(137, 173, 84, .45) !important;
}

/* v131: report page Excel export button keeps the icon and text white. */
body:has(.report-grid) .work-report-export-all-btn,
body:has(.report-grid) .work-report-export-all-btn:hover,
body:has(.report-grid) .work-report-export-all-btn:focus,
body:has(.report-grid) .work-report-export-all-btn:active,
body:has(.report-grid) .work-report-export-all-btn:visited,
body:has(.report-grid) .work-report-export-all-btn *,
body:has(.report-grid) .work-report-export-all-btn:hover *,
body:has(.report-grid) .work-report-export-all-btn:focus *,
body:has(.report-grid) .work-report-export-all-btn:active * {
  color: #ffffff !important;
}


/* v132: report and daily assignment report polish requested by user. */
body:has(.report-grid) .work-report-daily-btn,
body:has(.report-grid) .work-report-daily-btn:hover,
body:has(.report-grid) .work-report-daily-btn:focus,
body:has(.report-grid) .work-report-daily-btn:active,
body:has(.report-grid) .work-report-daily-btn *,
body:has(.report-grid) .work-report-daily-btn:hover *,
body:has(.report-grid) .work-report-daily-btn:focus *,
body:has(.report-grid) .work-report-daily-btn:active * {
  color: #10203f !important;
}

body:has(.assignment-report-page) .assignment-report-hero,
body:has(.assignment-report-page) .assignment-report-card,
body:has(.assignment-report-page) .assignment-report-filter-card {
  border-color: rgba(137, 173, 84, .18) !important;
  background: linear-gradient(135deg, #ffffff 0%, #fbfcf7 100%) !important;
  box-shadow: 0 16px 40px rgba(15, 23, 42, .065) !important;
}

body:has(.assignment-report-page) .assignment-report-metric > span {
  background: #f1f6e9 !important;
  color: #5f7d35 !important;
}

body:has(.assignment-report-page) .assignment-report-metric.done > span {
  background: #edf6e7 !important;
  color: #557f24 !important;
}

body:has(.assignment-report-page) .assignment-report-metric.left > span {
  background: #f7f8f3 !important;
  color: #565d62 !important;
}

body:has(.assignment-report-page) .assignment-report-table-wrap {
  border-color: rgba(137, 173, 84, .18) !important;
}

body:has(.assignment-report-page) .assignment-report-table thead th {
  background: #eef5e8 !important;
  color: #10203f !important;
  border-bottom-color: rgba(137, 173, 84, .22) !important;
}

body:has(.assignment-report-page) .assignment-report-table td,
body:has(.assignment-report-page) .assignment-report-table tbody tr {
  border-color: rgba(137, 173, 84, .12) !important;
}

body:has(.assignment-report-page) .assignment-report-table tr.is-done td {
  background: #f1f8ec !important;
}

body:has(.assignment-report-page) .assignment-report-empty,
body:has(.assignment-report-page) .assignment-room-pill {
  background: #f7f8f3 !important;
  color: #10203f !important;
}

body:has(.assignment-report-page) .assignment-report-filter-form .form-control,
body:has(.assignment-report-page) .assignment-report-filter-form .form-select {
  border-color: rgba(137, 173, 84, .20) !important;
  background-color: #ffffff !important;
  color: #10203f !important;
}

body:has(.assignment-report-page) .assignment-report-filter-form .form-control:focus,
body:has(.assignment-report-page) .assignment-report-filter-form .form-select:focus {
  border-color: rgba(137, 173, 84, .46) !important;
  box-shadow: 0 0 0 .18rem rgba(141, 214, 44, .12) !important;
}

body:has(.assignment-report-page) .btn-outline-secondary,
body:has(.assignment-report-page) .btn-outline-secondary:hover,
body:has(.assignment-report-page) .btn-outline-secondary:focus,
body:has(.assignment-report-page) .btn-outline-secondary:active,
body:has(.assignment-report-page) .btn-outline-secondary *,
body:has(.assignment-report-page) .btn-outline-secondary:hover *,
body:has(.assignment-report-page) .btn-outline-secondary:focus *,
body:has(.assignment-report-page) .btn-outline-secondary:active * {
  color: #10203f !important;
}

body:has(.assignment-report-page) .assignment-worker-pdf,
body:has(.assignment-report-page) .assignment-worker-pdf *,
body:has(.assignment-report-page) .assignment-worker-pdf:hover,
body:has(.assignment-report-page) .assignment-worker-pdf:focus,
body:has(.assignment-report-page) .assignment-worker-pdf:hover *,
body:has(.assignment-report-page) .assignment-worker-pdf:focus * {
  font-weight: 400 !important;
}

body:has(.assignment-report-page) .assignment-report-status-actions .assignment-report-done-btn {
  width: 42px !important;
  max-width: 42px !important;
  min-width: 42px !important;
  height: 38px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  margin-inline: auto !important;
}

body:has(.assignment-report-page) .assignment-report-status-actions .assignment-report-done-btn i {
  font-size: 1.08rem !important;
}

/* v133: daily assignment report date picker, worker dropdown and done remark strike-through */
body:has(.assignment-report-page) .assignment-report-date-picker {
  position: relative;
  width: 100%;
}

body:has(.assignment-report-page) .assignment-report-date-button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  width: 100%;
  min-height: 44px;
  padding: .72rem .9rem .72rem 1rem;
  border: 1px solid rgba(137, 173, 84, .24);
  border-radius: 14px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfcf8 100%);
  color: #10203f;
  text-align: left;
  font-size: .96rem;
  font-weight: 500;
  line-height: 1.2;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .045);
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

body:has(.assignment-report-page) .assignment-report-date-button:hover,
body:has(.assignment-report-page) .assignment-report-date-button:focus-visible {
  outline: 0;
  border-color: rgba(137, 173, 84, .44);
  box-shadow: 0 0 0 .2rem rgba(141, 214, 44, .10), 0 12px 26px rgba(15, 23, 42, .06);
}

body:has(.assignment-report-page) .assignment-report-date-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.8rem;
  height: 1.8rem;
  flex: 0 0 auto;
  border-radius: 999px;
  background: #f1f6ea;
  color: #628a2c;
}

body:has(.assignment-report-page) .developer-custom-select {
  position: relative;
  width: 100%;
}

body:has(.assignment-report-page) .developer-custom-select .developer-native-select {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  z-index: -1 !important;
}

body:has(.assignment-report-page) .developer-select-button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  width: 100%;
  min-height: 44px;
  padding: .72rem .9rem .72rem 1rem;
  border: 1px solid rgba(137, 173, 84, .24);
  border-radius: 14px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfcf8 100%);
  color: #10203f;
  text-align: left;
  font-size: .96rem;
  font-weight: 500;
  line-height: 1.2;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .045);
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease, transform .18s ease;
}

body:has(.assignment-report-page) .developer-select-button:hover,
body:has(.assignment-report-page) .developer-select-button:focus-visible,
body:has(.assignment-report-page) .developer-custom-select.is-open .developer-select-button {
  outline: 0;
  border-color: rgba(137, 173, 84, .44);
  box-shadow: 0 0 0 .2rem rgba(141, 214, 44, .10), 0 12px 26px rgba(15, 23, 42, .06);
}

body:has(.assignment-report-page) .developer-select-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.8rem;
  height: 1.8rem;
  flex: 0 0 auto;
  border-radius: 999px;
  background: #f1f6ea;
  color: #628a2c;
  transition: transform .18s ease, background-color .18s ease;
}

body:has(.assignment-report-page) .developer-custom-select.is-open .developer-select-arrow {
  transform: rotate(180deg);
  background: #e8f1dc;
}

body:has(.assignment-report-page) .developer-select-menu {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + .45rem);
  z-index: 1080;
  display: grid;
  gap: .2rem;
  padding: .38rem;
  border: 1px solid rgba(137, 173, 84, .28);
  border-radius: 16px;
  background: rgba(255, 255, 255, .99);
  box-shadow: 0 22px 48px rgba(15, 23, 42, .15), 0 0 0 1px rgba(255, 255, 255, .8) inset;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px) scale(.98);
  transform-origin: top center;
  transition: opacity .16s ease, visibility .16s ease, transform .16s ease;
}

body:has(.assignment-report-page) .developer-custom-select.is-open .developer-select-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}

body:has(.assignment-report-page) .developer-select-option {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 38px;
  padding: .55rem .72rem;
  border: 0;
  border-radius: 11px;
  background: transparent;
  color: #10203f;
  text-align: left;
  font-size: .94rem;
  font-weight: 400;
  line-height: 1.2;
  transition: background-color .15s ease, color .15s ease, transform .15s ease;
}

body:has(.assignment-report-page) .developer-select-option:hover,
body:has(.assignment-report-page) .developer-select-option:focus-visible {
  outline: 0;
  background: #f1f6ea;
  color: #10203f;
}

body:has(.assignment-report-page) .developer-select-option.is-selected {
  background: #eef6e6;
  color: #10203f;
  font-weight: 400;
  box-shadow: inset 0 0 0 1px rgba(137, 173, 84, .16);
}

body:has(.assignment-report-page) .assignment-report-filter-card,
body:has(.assignment-report-page) .assignment-report-filter-card .card-body,
body:has(.assignment-report-page) .assignment-report-filter-form {
  overflow: visible !important;
}

body:has(.assignment-report-page) .assignment-report-table tr.is-done .assignment-report-task-cell {
  text-decoration-line: line-through;
  text-decoration-thickness: 1.5px;
  text-decoration-color: rgba(16, 32, 63, .52);
  color: rgba(16, 32, 63, .68) !important;
}

body:has(.assignment-report-page) .assignment-report-table tr.is-done .assignment-report-task-cell::selection {
  text-decoration: none;
}

@media (max-width: 768px) {
  body:has(.assignment-report-page) .developer-select-menu {
    position: static;
    margin-top: .45rem;
  }
}


/* v134: report buttons and daily report dropdown/action alignment fixes */
body:has(.report-grid) .work-report-daily-btn,
body:has(.report-grid) .work-report-daily-btn:visited,
body:has(.report-grid) .work-report-daily-btn:hover,
body:has(.report-grid) .work-report-daily-btn:focus,
body:has(.report-grid) .work-report-daily-btn:active {
  color: #000000 !important;
  border-color: rgba(137, 173, 84, .58) !important;
  background: #ffffff !important;
}

body:has(.report-grid) .work-report-daily-btn i,
body:has(.report-grid) .work-report-daily-btn span,
body:has(.report-grid) .work-report-daily-btn:hover i,
body:has(.report-grid) .work-report-daily-btn:focus i,
body:has(.report-grid) .work-report-daily-btn:active i {
  color: #000000 !important;
}

body:has(.report-grid) .work-report-export-all-btn,
body:has(.report-grid) .work-report-export-all-btn:hover,
body:has(.report-grid) .work-report-export-all-btn:focus,
body:has(.report-grid) .work-report-export-all-btn:active,
body:has(.report-grid) .work-report-export-all-btn:visited {
  color: #ffffff !important;
}

body:has(.report-grid) .work-report-export-all-btn i,
body:has(.report-grid) .work-report-export-all-btn .bi,
body:has(.report-grid) .work-report-export-all-btn span,
body:has(.report-grid) .work-report-export-all-btn:hover i,
body:has(.report-grid) .work-report-export-all-btn:hover .bi,
body:has(.report-grid) .work-report-export-all-btn:focus i,
body:has(.report-grid) .work-report-export-all-btn:focus .bi,
body:has(.report-grid) .work-report-export-all-btn:active i,
body:has(.report-grid) .work-report-export-all-btn:active .bi {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body:has(.assignment-report-page) .assignment-report-filter-card {
  position: relative;
  z-index: 80;
  overflow: visible !important;
}

body:has(.assignment-report-page) .assignment-report-filter-card .card-body,
body:has(.assignment-report-page) .assignment-report-filter-form,
body:has(.assignment-report-page) .assignment-report-worker-select {
  position: relative;
  overflow: visible !important;
}

body:has(.assignment-report-page) .assignment-report-grid {
  position: relative;
  z-index: 1;
}

body:has(.assignment-report-page) .assignment-report-worker-select.is-open {
  z-index: 1200;
}

body:has(.assignment-report-page) .assignment-report-worker-select .developer-select-menu {
  top: calc(100% + .35rem) !important;
  max-height: min(320px, calc(100vh - 260px));
  overflow-y: auto;
  border-color: rgba(137, 173, 84, .32) !important;
  background: #ffffff !important;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .14), 0 0 0 1px rgba(255, 255, 255, .92) inset !important;
}

body:has(.assignment-report-page) .assignment-report-worker-select .developer-select-option,
body:has(.assignment-report-page) .assignment-report-worker-select .developer-select-option:hover,
body:has(.assignment-report-page) .assignment-report-worker-select .developer-select-option:focus-visible,
body:has(.assignment-report-page) .assignment-report-worker-select .developer-select-option.is-selected {
  font-weight: 400 !important;
}

body:has(.assignment-report-page) .assignment-report-worker-select .developer-select-option.is-selected {
  background: #eef6e6 !important;
  color: #10203f !important;
  box-shadow: inset 0 0 0 1px rgba(137, 173, 84, .16) !important;
}

body:has(.assignment-report-page) .assignment-report-table th:nth-child(5),
body:has(.assignment-report-page) .assignment-report-table td.assignment-report-status-actions {
  text-align: center !important;
  vertical-align: middle !important;
}

body:has(.assignment-report-page) .assignment-report-status-actions {
  padding-left: .75rem !important;
  padding-right: .75rem !important;
}

body:has(.assignment-report-page) .assignment-report-status-actions form {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  margin: 0 auto !important;
}

body:has(.assignment-report-page) .assignment-report-status-actions .assignment-report-done-btn,
body:has(.assignment-report-page) .assignment-report-status-actions .assignment-report-return-btn {
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 768px) {
  body:has(.assignment-report-page) .assignment-report-worker-select .developer-select-menu {
    position: static !important;
    max-height: none;
  }
}

/* v135: softer Excel buttons and calmer assignment report calendar accents */
body:has(.assignment-report-page) .assignment-worker-pdf,
body:has(.assignment-report-page) .assignment-worker-pdf:visited {
  background: #eaf4dd !important;
  border: 1px solid rgba(111, 158, 47, .34) !important;
  color: #10203f !important;
  box-shadow: none !important;
}

body:has(.assignment-report-page) .assignment-worker-pdf i,
body:has(.assignment-report-page) .assignment-worker-pdf .bi,
body:has(.assignment-report-page) .assignment-worker-pdf span {
  color: #10203f !important;
  -webkit-text-fill-color: #10203f !important;
}

body:has(.assignment-report-page) .assignment-worker-pdf:hover,
body:has(.assignment-report-page) .assignment-worker-pdf:focus-visible,
body:has(.assignment-report-page) .assignment-worker-pdf:active {
  background: #dfeecd !important;
  border-color: rgba(111, 158, 47, .48) !important;
  color: #10203f !important;
  box-shadow: 0 8px 18px rgba(83, 117, 40, .10) !important;
}

body:has(.assignment-report-page) .assignment-date-quick-row button {
  background: #f3f8ea !important;
  border-color: rgba(111, 158, 47, .22) !important;
  color: #628a2c !important;
  font-weight: 500 !important;
}

body:has(.assignment-report-page) .assignment-date-quick-row button:hover,
body:has(.assignment-report-page) .assignment-date-quick-row button:focus-visible {
  background: #eaf4dd !important;
  border-color: rgba(111, 158, 47, .36) !important;
  color: #10203f !important;
}

body:has(.assignment-report-page) .assignment-date-modal-close:hover,
body:has(.assignment-report-page) .assignment-date-nav:hover,
body:has(.assignment-report-page) .assignment-date-modal-close:focus-visible,
body:has(.assignment-report-page) .assignment-date-nav:focus-visible {
  border-color: rgba(111, 158, 47, .34) !important;
  color: #628a2c !important;
  box-shadow: 0 8px 18px rgba(83, 117, 40, .10) !important;
}

body:has(.assignment-report-page) .assignment-date-day:hover,
body:has(.assignment-report-page) .assignment-date-day:focus-visible {
  border-color: rgba(111, 158, 47, .28) !important;
  background: #f3f8ea !important;
  color: #10203f !important;
}

body:has(.assignment-report-page) .assignment-date-day.is-today {
  border-color: rgba(111, 158, 47, .32) !important;
  background: #eef6e6 !important;
  color: #5f842b !important;
}

body:has(.assignment-report-page) .assignment-date-day.is-selected,
body:has(.assignment-report-page) .assignment-date-day.is-selected:hover,
body:has(.assignment-report-page) .assignment-date-day.is-selected:focus-visible {
  border-color: transparent !important;
  background: #6f9e2f !important;
  color: #ffffff !important;
  box-shadow: 0 8px 18px rgba(83, 117, 40, .18) !important;
}

body:has(.assignment-report-page) .assignment-date-modal-actions .btn-primary,
body:has(.assignment-report-page) .assignment-date-modal-actions .btn-primary:hover,
body:has(.assignment-report-page) .assignment-date-modal-actions .btn-primary:focus-visible,
body:has(.assignment-report-page) .assignment-date-modal-actions .btn-primary:active {
  background: #6f9e2f !important;
  border-color: #6f9e2f !important;
  color: #ffffff !important;
  box-shadow: 0 10px 22px rgba(83, 117, 40, .18) !important;
}

body:has(.assignment-report-page) .assignment-date-modal-actions .btn-primary:hover,
body:has(.assignment-report-page) .assignment-date-modal-actions .btn-primary:focus-visible {
  background: #628a2c !important;
  border-color: #628a2c !important;
}

body:has(.assignment-report-page) .assignment-date-modal-actions .btn-primary i,
body:has(.assignment-report-page) .assignment-date-modal-actions .btn-primary span {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* v136: report page button colors without relying on :has() or Bootstrap inheritance */
.work-report-daily-btn,
.work-report-daily-btn:visited,
.work-report-daily-btn:hover,
.work-report-daily-btn:focus,
.work-report-daily-btn:active {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
  background: #ffffff !important;
  background-image: none !important;
  border: 1px solid rgba(137, 173, 84, .58) !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .04) !important;
}

.work-report-daily-btn i,
.work-report-daily-btn i::before,
.work-report-daily-btn .bi,
.work-report-daily-btn .bi::before,
.work-report-daily-btn span,
.work-report-daily-btn:hover i,
.work-report-daily-btn:hover i::before,
.work-report-daily-btn:hover .bi,
.work-report-daily-btn:hover .bi::before,
.work-report-daily-btn:hover span,
.work-report-daily-btn:focus i,
.work-report-daily-btn:focus i::before,
.work-report-daily-btn:focus .bi,
.work-report-daily-btn:focus .bi::before,
.work-report-daily-btn:focus span,
.work-report-daily-btn:active i,
.work-report-daily-btn:active i::before,
.work-report-daily-btn:active .bi,
.work-report-daily-btn:active .bi::before,
.work-report-daily-btn:active span {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
}

.work-report-export-all-btn,
.work-report-export-all-btn:visited,
.work-report-export-all-btn:hover,
.work-report-export-all-btn:focus,
.work-report-export-all-btn:active {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.work-report-export-all-btn i,
.work-report-export-all-btn i::before,
.work-report-export-all-btn .bi,
.work-report-export-all-btn .bi::before,
.work-report-export-all-btn .report-export-icon-white,
.work-report-export-all-btn .report-export-icon-white::before,
.work-report-export-all-btn span,
.work-report-export-all-btn:hover i,
.work-report-export-all-btn:hover i::before,
.work-report-export-all-btn:hover .bi,
.work-report-export-all-btn:hover .bi::before,
.work-report-export-all-btn:hover span,
.work-report-export-all-btn:focus i,
.work-report-export-all-btn:focus i::before,
.work-report-export-all-btn:focus .bi,
.work-report-export-all-btn:focus .bi::before,
.work-report-export-all-btn:focus span,
.work-report-export-all-btn:active i,
.work-report-export-all-btn:active i::before,
.work-report-export-all-btn:active .bi,
.work-report-export-all-btn:active .bi::before,
.work-report-export-all-btn:active span {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* v137: assignments page fixes requested 2026-06-20 */
body:has(.assignments-page-head) .assignment-manual-task-btn,
body:has(.assignments-page-head) .assignment-manual-task-btn * {
  color: #ffffff !important;
}
body:has(.assignments-page-head) .assignment-manual-task-btn i,
body:has(.assignments-page-head) .assignment-manual-task-btn .bi::before {
  color: #ffffff !important;
}

body:has(.assignments-page-head) .assignment-subtab,
body:has(.assignments-page-head) .assignment-subtab i,
body:has(.assignments-page-head) .assignment-subtab span:not(.nav-count-badge) {
  color: #000000 !important;
}
body:has(.assignments-page-head) .assignment-subtab.active,
body:has(.assignments-page-head) .assignment-subtab:hover,
body:has(.assignments-page-head) .assignment-subtab:focus {
  color: #000000 !important;
  background: #8dd62c !important;
  border-color: rgba(112, 169, 37, .38) !important;
  box-shadow: 0 10px 22px rgba(141, 214, 44, .14) !important;
}
body:has(.assignments-page-head) .assignment-subtab.active span,
body:has(.assignments-page-head) .assignment-subtab:hover span {
  background: rgba(255, 255, 255, .64) !important;
  color: #000000 !important;
}

body:has(.assignments-page-head) .assignment-filter-pill-danger,
body:has(.assignments-page-head) .assignment-filter-pill-danger i,
body:has(.assignments-page-head) .assignment-filter-pill-danger span {
  color: #b42318 !important;
  border-color: rgba(180, 35, 24, .24) !important;
}
body:has(.assignments-page-head) .assignment-filter-pill-danger.active,
body:has(.assignments-page-head) .assignment-filter-pill-danger:hover,
body:has(.assignments-page-head) .assignment-filter-pill-danger:focus {
  background: #fff1f0 !important;
  color: #b42318 !important;
  border-color: rgba(180, 35, 24, .38) !important;
  box-shadow: 0 8px 18px rgba(180, 35, 24, .10) !important;
}
body:has(.assignments-page-head) .assignment-filter-pill-danger.active span,
body:has(.assignments-page-head) .assignment-filter-pill-danger:hover span {
  background: #b42318 !important;
  color: #ffffff !important;
}

body:has(.assignments-page-head) .assignment-issue-panel-restored {
  display: none !important;
  overflow: visible !important;
}
body:has(.assignments-page-head) .assignment-shell.has-bulk-selection .assignment-issue-panel-restored {
  display: block !important;
}
body:has(.assignments-page-head) .assignment-shell,
body:has(.assignments-page-head) .assignment-shell .card-body,
body:has(.assignments-page-head) .assignment-smart-card,
body:has(.assignments-page-head) .assignment-smart-card .card-body,
body:has(.assignments-page-head) .assignment-toolbar-grid-restored {
  overflow: visible !important;
}
body:has(.assignments-page-head) .assignment-bulk-panel-restored-actions {
  grid-template-columns: 1fr !important;
}

body:has(.assignments-page-head) .assignment-task-row.is-selected,
body:has(.assignments-page-head) .assignment-shell .js-bulk-row.is-selected,
body:has(.assignments-page-head) .assignment-task-row.is-selected td,
body:has(.assignments-page-head) .assignment-shell .js-bulk-row.is-selected td,
body:has(.assignments-page-head) .assignment-task-row.is-selected td:first-child,
body:has(.assignments-page-head) .assignment-shell .js-bulk-row.is-selected td:first-child {
  background: #f6faef !important;
  box-shadow: none !important;
  border-left: 0 !important;
  border-right-color: rgba(137, 156, 105, .12) !important;
}
body:has(.assignments-page-head) .assignment-contractor-table tbody tr:hover,
body:has(.assignments-page-head) .assignment-issued-table tbody tr:hover,
body:has(.assignments-page-head) .assignment-issued-table tbody tr:hover > *,
body:has(.assignments-page-head) .assignment-contractor-table tbody tr:hover > * {
  background: #fbfcf8 !important;
  box-shadow: none !important;
}
body:has(.assignments-page-head) .assignment-contractor-table th,
body:has(.assignments-page-head) .assignment-contractor-table td {
  border-left-color: rgba(137, 156, 105, .10) !important;
  border-right-color: rgba(137, 156, 105, .10) !important;
}

body:has(.assignments-page-head) .assignment-page-custom-select {
  position: relative !important;
  z-index: 60 !important;
  width: 100% !important;
}
body:has(.assignments-page-head) .assignment-page-custom-select.is-open {
  z-index: 3000 !important;
}
body:has(.assignments-page-head) .assignment-page-custom-select .developer-native-select {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  pointer-events: none !important;
  z-index: -1 !important;
}
body:has(.assignments-page-head) .assignment-page-custom-select .developer-select-button {
  width: 100% !important;
  min-height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: .8rem !important;
  padding: .72rem .86rem !important;
  border-radius: 12px !important;
  border: 1px solid rgba(137, 156, 105, .22) !important;
  background: #ffffff !important;
  color: #000000 !important;
  font-weight: 400 !important;
  text-align: left !important;
  box-shadow: none !important;
}
body:has(.assignments-page-head) .assignment-page-custom-select.is-invalid .developer-select-button,
body:has(.assignments-page-head) .assignment-page-custom-select .developer-select-button:focus-visible,
body:has(.assignments-page-head) .assignment-page-custom-select.is-open .developer-select-button {
  border-color: rgba(141, 214, 44, .54) !important;
  box-shadow: 0 0 0 .18rem rgba(141, 214, 44, .12) !important;
  outline: 0 !important;
}
body:has(.assignments-page-head) .assignment-page-custom-select .developer-select-value {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: #000000 !important;
  font-weight: 400 !important;
}
body:has(.assignments-page-head) .assignment-page-custom-select .developer-select-arrow {
  width: 30px !important;
  height: 30px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #eef5e4 !important;
  color: #42583a !important;
  flex: 0 0 auto !important;
}
body:has(.assignments-page-head) .assignment-page-custom-select .developer-select-menu {
  position: absolute !important;
  top: calc(100% + 7px) !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 3001 !important;
  display: none !important;
  max-height: min(280px, 52vh) !important;
  overflow-y: auto !important;
  padding: 7px !important;
  border-radius: 13px !important;
  background: #ffffff !important;
  border: 1px solid rgba(137, 156, 105, .26) !important;
  box-shadow: 0 22px 54px rgba(15, 23, 42, .16) !important;
}
body:has(.assignments-page-head) .assignment-page-custom-select.is-open .developer-select-menu {
  display: grid !important;
  gap: 4px !important;
}
body:has(.assignments-page-head) .assignment-page-custom-select .developer-select-option {
  width: 100% !important;
  min-height: 38px !important;
  padding: .58rem .68rem !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: transparent !important;
  color: #10203f !important;
  font-weight: 400 !important;
  text-align: left !important;
}
body:has(.assignments-page-head) .assignment-page-custom-select .developer-select-option:hover,
body:has(.assignments-page-head) .assignment-page-custom-select .developer-select-option:focus-visible {
  background: #f2f6ec !important;
  color: #10203f !important;
  outline: 0 !important;
}
body:has(.assignments-page-head) .assignment-page-custom-select .developer-select-option.is-selected {
  background: #edf4e6 !important;
  color: #10203f !important;
  font-weight: 400 !important;
}

body:has(.assignments-page-head) .assignment-issued-table {
  width: 100% !important;
  min-width: 1040px !important;
  table-layout: fixed !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}
body:has(.assignments-page-head) .assignment-issued-col-room { width: 118px !important; }
body:has(.assignments-page-head) .assignment-issued-col-task { width: auto !important; }
body:has(.assignments-page-head) .assignment-issued-col-date { width: 145px !important; }
body:has(.assignments-page-head) .assignment-issued-col-status { width: 160px !important; }
body:has(.assignments-page-head) .assignment-issued-col-actions { width: 148px !important; }
body:has(.assignments-page-head) .assignment-issued-table th,
body:has(.assignments-page-head) .assignment-issued-table td {
  vertical-align: middle !important;
  overflow: hidden !important;
}
body:has(.assignments-page-head) .assignment-issued-table .task-text,
body:has(.assignments-page-head) .assignment-issued-table .assignment-task-text {
  display: block !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  line-height: 1.45 !important;
}
body:has(.assignments-page-head) .assignment-issued-date-cell > span,
body:has(.assignments-page-head) .assignment-issued-date-cell > small {
  display: block !important;
  white-space: nowrap !important;
}
body:has(.assignments-page-head) .assignment-issued-actions-cell,
body:has(.assignments-page-head) .assignment-issued-table th.text-end {
  text-align: center !important;
}
body:has(.assignments-page-head) .assignment-issued-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  width: 100% !important;
}
body:has(.assignments-page-head) .assignment-issued-actions .btn {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 11px !important;
}
body:has(.assignments-page-head) .assignment-issued-actions .btn span,
body:has(.assignments-page-head) .assignment-issued-actions .assignment-change-assignee-text {
  display: none !important;
}
body:has(.assignments-page-head) .assignment-issued-actions .btn i {
  margin: 0 !important;
  font-size: .98rem !important;
}
body:has(.assignments-page-head) .assignment-issued-row.done-task .assignment-date-action-form {
  display: none !important;
}

body:has(.assignments-page-head) .assignment-change-assignee-check i {
  opacity: 0 !important;
}
body:has(.assignments-page-head) .assignment-change-assignee-option:has(input:checked) .assignment-change-assignee-check i,
body:has(.assignments-page-head) .assignment-change-assignee-option.is-picked .assignment-change-assignee-check i {
  opacity: 1 !important;
}
body:has(.assignments-page-head) .assignment-change-assignee-option:not(:has(input:checked)):not(.is-picked) .assignment-change-assignee-check {
  background: #f3f5ef !important;
  color: transparent !important;
}

body:has(.assignments-page-head) .assignment-modern-table thead th,
body:has(.assignments-page-head) .assignment-contractor-table thead th,
body:has(.assignments-page-head) .assignment-issued-table thead th {
  background: #f3f6ec !important;
  color: #000000 !important;
}
body:has(.assignments-page-head) .assignment-search-form-compact .form-control:focus,
body:has(.assignments-page-head) .assignment-smart-form .form-control:focus,
body:has(.assignments-page-head) .assignment-bulk-form-restored .form-control:focus,
body:has(.assignments-page-head) .assignment-date-modal .btn:focus,
body:has(.assignments-page-head) .assignment-status-toggle:focus,
body:has(.assignments-page-head) .assignment-status-toggle:focus-visible {
  border-color: rgba(141, 214, 44, .52) !important;
  box-shadow: 0 0 0 .18rem rgba(141, 214, 44, .12) !important;
  outline: 0 !important;
}

/* v137: fixed top panel across app pages */
@media (min-width: 992px) {
  .app-layout .app-sidebar {
    position: sticky !important;
    top: 0 !important;
    height: 100vh !important;
    overflow-y: auto !important;
    align-self: flex-start !important;
  }
  .app-layout .app-topbar {
    position: fixed !important;
    top: 0 !important;
    left: 230px !important;
    right: 0 !important;
    min-height: 64px !important;
    z-index: 1050 !important;
  }
  .app-layout .app-content {
    padding-top: calc(1.65rem + 64px) !important;
  }
  .objects-layout .objects-topbar,
  .documents-standalone-layout .objects-topbar,
  .documents-layout .documents-topbar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1050 !important;
  }
  .objects-layout .objects-content,
  .documents-standalone-layout .documents-content,
  .documents-layout .documents-content {
    padding-top: calc(3rem + 76px) !important;
  }
}
@media (max-width: 991.98px) {
  .app-layout .app-topbar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1050 !important;
  }
  .app-layout .app-content {
    padding-top: calc(1.25rem + 4.25rem) !important;
  }
  .objects-layout .objects-topbar,
  .documents-standalone-layout .objects-topbar,
  .documents-layout .documents-topbar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1050 !important;
  }
  .objects-layout .objects-content,
  .documents-standalone-layout .documents-content,
  .documents-layout .documents-content {
    padding-top: calc(1.6rem + 76px) !important;
  }
}
@media (min-width: 992px) {
  .app-layout.worker-layout .app-topbar {
    left: 0 !important;
  }
  .app-layout.worker-layout .app-content {
    padding-top: calc(clamp(.85rem, 3vw, 1.5rem) + 64px) !important;
  }
}

/* v138: global CRM dropdowns and date picker controls */
.developer-custom-select,
.global-custom-select {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  z-index: auto !important;
}
.developer-custom-select.is-open,
.global-custom-select.is-open,
.global-date-picker:focus-within {
  z-index: 5002 !important;
}
.developer-custom-select .developer-native-select,
.global-custom-select .developer-native-select {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  z-index: -1 !important;
}
.developer-select-button,
.global-date-button {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: .75rem !important;
  width: 100% !important;
  min-height: 44px !important;
  padding: .72rem .9rem .72rem 1rem !important;
  border: 1px solid rgba(137, 156, 105, .24) !important;
  border-radius: 14px !important;
  background: linear-gradient(180deg, #ffffff 0%, #fbfcf8 100%) !important;
  color: #10203f !important;
  text-align: left !important;
  font-size: .96rem !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .045) !important;
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease, transform .18s ease !important;
}
.developer-select-button:hover,
.global-date-button:hover {
  border-color: rgba(137, 173, 84, .40) !important;
  box-shadow: 0 10px 22px rgba(15, 23, 42, .055) !important;
}
.developer-select-button:focus-visible,
.developer-custom-select.is-open .developer-select-button,
.global-date-button:focus-visible {
  outline: 0 !important;
  border-color: rgba(137, 173, 84, .58) !important;
  box-shadow: 0 0 0 .18rem rgba(141, 214, 44, .11), 0 12px 26px rgba(15, 23, 42, .07) !important;
}
.developer-select-value,
.global-date-value {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: #10203f !important;
  font-weight: 400 !important;
}
.developer-select-arrow,
.global-date-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 1.8rem !important;
  height: 1.8rem !important;
  flex: 0 0 auto !important;
  border-radius: 999px !important;
  background: #eef5e4 !important;
  color: #42583a !important;
  transition: transform .18s ease, background-color .18s ease !important;
}
.developer-custom-select.is-open .developer-select-arrow {
  transform: rotate(180deg) !important;
  background: #e7f0dc !important;
}
.developer-select-menu-portal {
  position: fixed !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 6000 !important;
  display: grid !important;
  gap: 4px !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  padding: 7px !important;
  border: 1px solid rgba(137, 156, 105, .26) !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, .99) !important;
  box-shadow: 0 26px 60px rgba(15, 23, 42, .20), 0 0 0 1px rgba(255, 255, 255, .9) inset !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(-5px) scale(.985) !important;
  transform-origin: top center !important;
  transition: opacity .16s ease, visibility .16s ease, transform .16s ease !important;
}
.developer-select-menu-portal.is-portal-open {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) scale(1) !important;
}
.developer-select-menu-portal.is-above {
  transform-origin: bottom center !important;
}
.developer-select-menu-portal[hidden] {
  display: none !important;
}
.developer-select-option {
  width: 100% !important;
  min-height: 38px !important;
  padding: .58rem .72rem !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: #10203f !important;
  text-align: left !important;
  font-size: .94rem !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  transition: background-color .15s ease, color .15s ease, transform .15s ease !important;
}
.developer-select-option:hover,
.developer-select-option:focus-visible {
  outline: 0 !important;
  background: #f2f6ec !important;
  color: #10203f !important;
}
.developer-select-option.is-selected {
  background: #edf4e6 !important;
  color: #10203f !important;
  font-weight: 400 !important;
  box-shadow: inset 0 0 0 1px rgba(137, 173, 84, .12) !important;
}
.developer-select-option:disabled {
  opacity: .48 !important;
  cursor: not-allowed !important;
}
.global-date-picker {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
}
.global-date-picker .global-native-date-input {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  z-index: -1 !important;
}
.global-date-button.is-empty .global-date-value {
  color: #5f6b73 !important;
}
.global-date-modal-overlay,
.assignment-date-modal-overlay {
  z-index: 7000 !important;
}
.global-date-modal .assignment-date-day.is-selected,
.assignment-date-modal .assignment-date-day.is-selected {
  border-color: rgba(98, 128, 45, .30) !important;
  background: linear-gradient(135deg, #6fa91f 0%, #7fbd2f 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 10px 22px rgba(111, 169, 31, .20) !important;
}
.global-date-modal .assignment-date-day:hover,
.assignment-date-modal .assignment-date-day:hover {
  border-color: rgba(137, 173, 84, .28) !important;
  background: #f2f6ec !important;
  color: #42583a !important;
}
.global-date-modal .assignment-date-quick-row button,
.assignment-date-modal .assignment-date-quick-row button {
  border-color: rgba(137, 173, 84, .22) !important;
  background: #f5f8ef !important;
  color: #62802d !important;
  font-weight: 500 !important;
}
.global-date-modal .assignment-date-modal-actions .btn-primary,
.assignment-date-modal .assignment-date-modal-actions .btn-primary {
  background: linear-gradient(135deg, #6fa91f 0%, #7fbd2f 100%) !important;
  border-color: #6fa91f !important;
  color: #ffffff !important;
}
.global-date-modal .assignment-date-modal-actions .btn-primary *,
.assignment-date-modal .assignment-date-modal-actions .btn-primary * {
  color: #ffffff !important;
}
select.form-select:focus,
select.form-control:focus,
input[type="date"].form-control:focus,
input[type="date"].form-select:focus {
  border-color: rgba(137, 173, 84, .58) !important;
  box-shadow: 0 0 0 .18rem rgba(141, 214, 44, .11) !important;
}
@media (max-width: 520px) {
  .developer-select-menu-portal {
    max-width: calc(100vw - 24px) !important;
  }
}

/* v139: measurements tab final color cleanup */
.glass-page,
.glass-page .card,
.glass-page .content-card,
.glass-page .table-shell,
.glass-page .glass-order-card,
.glass-page .glass-order-page-card,
.glass-page .glass-table-shell,
.glass-page .glass-card-header,
.glass-page .glass-order-page-header,
.glass-page .bulk-actions-panel,
.glass-page .table,
.glass-page .table thead th,
.glass-page .glass-ordered-table thead th {
  border-color: #dfe8d4 !important;
  box-shadow: none !important;
}
.glass-page .table thead th,
.glass-page .glass-ordered-table thead th,
.glass-page .glass-measure-table th {
  background: #edf5e8 !important;
  color: #14211d !important;
  font-weight: 700 !important;
}
.glass-page .table-hover > tbody > tr:hover > *,
.glass-page .task-row-link:hover > *,
.glass-page .glass-order-row:hover > * {
  background-color: #f7faf2 !important;
  color: #14211d !important;
}
.glass-page .crm-tabs .nav-link,
.glass-page .remarks-tabs .nav-link {
  color: #111827 !important;
  border-color: #dfe8d4 !important;
  box-shadow: none !important;
}
.glass-page .crm-tabs .nav-link.active,
.glass-page .remarks-tabs .nav-link.active {
  color: #111827 !important;
  background: #8dd62c !important;
  border-color: #78bb24 !important;
}
.glass-page .btn,
.glass-page button.btn,
.glass-page a.btn,
.glass-page .glass-type-choice,
.glass-page .glass-status-choice {
  box-shadow: none !important;
}
.glass-page .btn:not(.btn-primary):not(.btn-success):not(.btn-danger):not(.btn-warning):not(.btn-outline-danger),
.glass-page .btn-outline-secondary,
.glass-page .btn-outline-primary,
.glass-page .btn-outline-success,
.glass-page .btn-light,
.glass-page .glass-measure-start-btn,
.glass-page .glass-type-choice,
.glass-page .glass-status-choice {
  color: #111827 !important;
}
.glass-page .btn-outline-primary,
.glass-page .glass-measure-start-btn,
.glass-page .btn-outline-success,
.glass-page .glass-excel-btn,
.glass-page .glass-card-header .btn-outline-success {
  background: #ffffff !important;
  border-color: #b8d79b !important;
  color: #111827 !important;
}
.glass-page .btn-outline-primary:hover,
.glass-page .glass-measure-start-btn:hover,
.glass-page .btn-outline-success:hover,
.glass-page .glass-excel-btn:hover,
.glass-page .glass-card-header .btn-outline-success:hover,
.glass-page .btn-outline-primary:focus,
.glass-page .glass-measure-start-btn:focus,
.glass-page .btn-outline-success:focus,
.glass-page .glass-excel-btn:focus {
  background: #f2f8ec !important;
  border-color: #91bd66 !important;
  color: #111827 !important;
  box-shadow: 0 0 0 .18rem rgba(141, 214, 44, .10) !important;
}
.glass-page .glass-excel-btn,
.glass-page .glass-excel-btn span,
.glass-page .glass-excel-btn i,
.glass-page .glass-excel-btn .bi,
.glass-page .glass-excel-btn .bi::before {
  font-weight: 400 !important;
}
.glass-page .form-control:focus,
.glass-page .form-select:focus,
.glass-page .developer-select-trigger:focus,
.glass-page .developer-custom-select.is-open .developer-select-trigger,
.glass-page .global-date-button:focus,
.glass-page .global-date-button:focus-visible {
  border-color: rgba(137, 173, 84, .58) !important;
  box-shadow: 0 0 0 .18rem rgba(141, 214, 44, .10) !important;
}
.glass-page .badge.bg-primary,
.glass-page .badge.text-bg-primary,
.glass-page .glass-status-needed,
.glass-page .glass-status-none {
  background: #eef6e8 !important;
  color: #315329 !important;
  border: 1px solid #d5e8c5 !important;
}
.glass-page .glass-status-ordered,
.glass-page .glass-status-measured,
.glass-page .glass-status-badge,
.glass-page .glass-ordered-badge {
  background: #f4f8ee !important;
  color: #111827 !important;
  border-color: #dfe8d4 !important;
}
.glass-page .glass-status-replaced,
.glass-page .glass-replaced-badge {
  background: #eaf6de !important;
  color: #315329 !important;
  border-color: #cfe5ba !important;
}
.glass-page .glass-order-row.is-selected,
.glass-page .glass-order-row.is-selected td,
.glass-page .js-bulk-row.is-selected,
.glass-page .js-bulk-row.is-selected > * {
  background: #f4f8ee !important;
  border-color: #dfe8d4 !important;
}
.glass-page .glass-type-choice.is-active,
.glass-page .glass-status-choice.is-active,
.glass-page .glass-status-choice.is-active.is-ordered,
.glass-page .glass-status-choice.is-active.is-replaced {
  background: #eaf6de !important;
  color: #111827 !important;
  border-color: #b8d79b !important;
  font-weight: 500 !important;
}
.glass-page .text-muted.btn,
.glass-page .btn .text-muted,
.glass-page button .text-muted,
.glass-page a.btn .text-muted {
  color: #111827 !important;
}
.glass-page .form-check-input:checked {
  background-color: #78bb24 !important;
  border-color: #78bb24 !important;
}
.glass-page .form-check-input:focus {
  border-color: rgba(137, 173, 84, .58) !important;
  box-shadow: 0 0 0 .18rem rgba(141, 214, 44, .10) !important;
}
.glass-page ::selection {
  background: rgba(141, 214, 44, .26) !important;
  color: #111827 !important;
}


/* v140: commercial labels in Excel only + object trash and top whitespace fix */
.object-action.object-action-danger,
a.object-action.object-action-danger,
.object-card .object-action-danger,
.object-card .object-action-danger i,
.object-card .object-action-danger .bi,
.object-card .object-action-danger .bi::before {
  color: #d83a3a !important;
}
.object-action.object-action-danger,
a.object-action.object-action-danger,
.object-card .object-action-danger {
  background: #fff5f5 !important;
  border-color: rgba(216, 58, 58, .34) !important;
}
.object-action.object-action-danger:hover,
.object-action.object-action-danger:focus,
a.object-action.object-action-danger:hover,
a.object-action.object-action-danger:focus,
.object-card .object-action-danger:hover,
.object-card .object-action-danger:focus {
  background: #d83a3a !important;
  border-color: #d83a3a !important;
  color: #ffffff !important;
}
.object-action.object-action-danger:hover i,
.object-action.object-action-danger:focus i,
.object-action.object-action-danger:hover .bi,
.object-action.object-action-danger:focus .bi,
.object-action.object-action-danger:hover .bi::before,
.object-action.object-action-danger:focus .bi::before {
  color: #ffffff !important;
}

@media (min-width: 992px) {
  .app-layout .app-content {
    padding-top: 64px !important;
  }
  .objects-layout .objects-content,
  .documents-standalone-layout .documents-content,
  .documents-layout .documents-content {
    padding-top: 76px !important;
  }
  .app-content > :first-child,
  .objects-content > :first-child,
  .documents-content > :first-child {
    margin-top: 0 !important;
  }
}
@media (max-width: 991.98px) {
  .app-layout .app-content {
    padding-top: 4.25rem !important;
  }
  .objects-layout .objects-content,
  .documents-standalone-layout .documents-content,
  .documents-layout .documents-content {
    padding-top: 4.75rem !important;
  }
  .app-content > :first-child,
  .objects-content > :first-child,
  .documents-content > :first-child {
    margin-top: 0 !important;
  }
}

/* v141: assignments bugfixes that must override previous cached/Bootstrap styles */
.assignment-manual-task-btn,
a.assignment-manual-task-btn,
.assignment-head-actions .assignment-manual-task-btn {
  color: #ffffff !important;
}
.assignment-manual-task-btn i,
.assignment-manual-task-btn .bi,
.assignment-manual-task-btn .assignment-manual-plus,
.assignment-manual-task-btn i::before,
.assignment-manual-task-btn .bi::before,
a.btn.assignment-manual-task-btn .bi-plus-lg::before {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.assignment-bulk-panel .js-bulk-clear,
.assignment-bulk-panel-restored-actions .js-check-all {
  display: none !important;
}
.assignment-bulk-panel-restored-actions {
  grid-template-columns: 1fr !important;
}
.assignment-bulk-panel-restored-actions .js-bulk-submit {
  width: 100% !important;
}

.assignment-issued-table-wrap {
  overflow-x: auto !important;
}
.assignment-issued-table {
  table-layout: fixed !important;
  width: 100% !important;
  min-width: 1080px !important;
}
.assignment-issued-table .assignment-issued-col-room { width: 120px !important; }
.assignment-issued-table .assignment-issued-col-task { width: auto !important; }
.assignment-issued-table .assignment-issued-col-date { width: 142px !important; }
.assignment-issued-table .assignment-issued-col-status { width: 170px !important; }
.assignment-issued-table .assignment-issued-col-actions { width: 178px !important; }
.assignment-issued-table th,
.assignment-issued-table td {
  vertical-align: middle !important;
}
.assignment-issued-table td.task-text,
.assignment-issued-table .task-text {
  max-width: none !important;
  min-width: 0 !important;
  width: auto !important;
  white-space: normal !important;
  overflow: visible !important;
}
.assignment-issued-table .assignment-task-open-link,
.assignment-issued-table .assignment-task-text {
  display: block !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  line-height: 1.36 !important;
}
.assignment-issued-date-cell,
.assignment-issued-table .assignment-status-toggle {
  white-space: nowrap !important;
}
.assignment-issued-actions-cell {
  text-align: right !important;
}
.assignment-issued-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
}
.assignment-issued-actions form {
  margin: 0 !important;
}
.assignment-issued-actions .btn,
.assignment-issued-actions button {
  min-width: 40px !important;
  min-height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.assignment-issued-actions .js-assignment-date-open span,
.assignment-issued-actions .assignment-delete-employee-task-btn span {
  display: none !important;
}

.assignment-shell .js-bulk-row.is-selected > *,
.assignment-shell .assignment-task-row.is-selected td {
  background: #f4f8ee !important;
  box-shadow: none !important;
}
.assignment-shell .js-bulk-row.is-selected > *:first-child,
.assignment-shell .assignment-task-row.is-selected td:first-child {
  box-shadow: none !important;
}


/* v142: remove global top whitespace and hide technical date field names */
@media (min-width: 992px) {
  body.app-body .app-layout .app-content,
  body.app-body .objects-layout .objects-content,
  body.app-body .documents-standalone-layout .documents-content,
  body.app-body .documents-layout .documents-content {
    padding-top: 1.15rem !important;
  }
}
@media (max-width: 991.98px) {
  body.app-body .app-layout .app-content,
  body.app-body .objects-layout .objects-content,
  body.app-body .documents-standalone-layout .documents-content,
  body.app-body .documents-layout .documents-content {
    padding-top: .75rem !important;
  }
}
.global-date-modal .js-global-date-kicker {
  text-transform: none !important;
}

/* v143: sticky topbar without extra reserved whitespace */
@media (min-width: 992px) {
  body.app-body .app-layout .app-topbar {
    position: sticky !important;
    top: 0 !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    z-index: 1050 !important;
  }
  body.app-body .objects-layout .objects-topbar,
  body.app-body .documents-standalone-layout .objects-topbar,
  body.app-body .documents-layout .documents-topbar {
    position: sticky !important;
    top: 0 !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    z-index: 1050 !important;
  }
  body.app-body .app-layout .app-content,
  body.app-body .objects-layout .objects-content,
  body.app-body .documents-standalone-layout .documents-content,
  body.app-body .documents-layout .documents-content {
    padding-top: .95rem !important;
  }
}
@media (max-width: 991.98px) {
  body.app-body .app-layout .app-content,
  body.app-body .objects-layout .objects-content,
  body.app-body .documents-standalone-layout .documents-content,
  body.app-body .documents-layout .documents-content {
    padding-top: .55rem !important;
  }
}

/* v144: issued table hard fix + measurements/materials cleanup */
.assignment-issued-table-wrap {
  width: 100% !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
}
.assignment-issued-table {
  width: 100% !important;
  min-width: 1120px !important;
  table-layout: fixed !important;
  border-collapse: collapse !important;
}
.assignment-issued-table col.assignment-issued-col-room { width: 126px !important; }
.assignment-issued-table col.assignment-issued-col-task { width: auto !important; }
.assignment-issued-table col.assignment-issued-col-date { width: 150px !important; }
.assignment-issued-table col.assignment-issued-col-status { width: 170px !important; }
.assignment-issued-table col.assignment-issued-col-actions { width: 154px !important; }
.assignment-issued-table th,
.assignment-issued-table td {
  box-sizing: border-box !important;
  vertical-align: middle !important;
  overflow: hidden !important;
}
.assignment-issued-table th:nth-child(1),
.assignment-issued-table td:nth-child(1) {
  width: 126px !important;
  max-width: 126px !important;
}
.assignment-issued-table th:nth-child(3),
.assignment-issued-table td:nth-child(3) {
  width: 150px !important;
  max-width: 150px !important;
  white-space: nowrap !important;
}
.assignment-issued-table th:nth-child(4),
.assignment-issued-table td:nth-child(4) {
  width: 170px !important;
  max-width: 170px !important;
  white-space: nowrap !important;
  text-align: center !important;
}
.assignment-issued-table th:nth-child(5),
.assignment-issued-table td:nth-child(5),
.assignment-issued-actions-cell {
  width: 154px !important;
  max-width: 154px !important;
  white-space: nowrap !important;
  text-align: center !important;
}
.assignment-issued-table th:nth-child(2),
.assignment-issued-table td.task-text,
.assignment-issued-table td:nth-child(2) {
  width: auto !important;
  max-width: none !important;
  white-space: normal !important;
  overflow: hidden !important;
}
.assignment-issued-table td.task-text,
.assignment-issued-table .task-text {
  min-width: 0 !important;
  padding-right: 1rem !important;
}
.assignment-issued-table .assignment-task-open-link,
.assignment-issued-table .assignment-task-text,
.assignment-issued-table td.task-text > a,
.assignment-issued-table td.task-text > span {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  white-space: normal !important;
  overflow: hidden !important;
  overflow-wrap: break-word !important;
  word-break: break-word !important;
  line-height: 1.42 !important;
  text-decoration-thickness: .04em !important;
}
.assignment-issued-actions {
  justify-content: center !important;
  align-items: center !important;
  gap: 6px !important;
  flex-wrap: nowrap !important;
}
.assignment-issued-actions .btn,
.assignment-issued-actions button.btn {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
}
@media (max-width: 1280px) {
  .assignment-issued-table { min-width: 1040px !important; }
  .assignment-issued-table col.assignment-issued-col-room,
  .assignment-issued-table th:nth-child(1),
  .assignment-issued-table td:nth-child(1) { width: 110px !important; max-width: 110px !important; }
  .assignment-issued-table col.assignment-issued-col-date,
  .assignment-issued-table th:nth-child(3),
  .assignment-issued-table td:nth-child(3) { width: 138px !important; max-width: 138px !important; }
  .assignment-issued-table col.assignment-issued-col-status,
  .assignment-issued-table th:nth-child(4),
  .assignment-issued-table td:nth-child(4) { width: 155px !important; max-width: 155px !important; }
  .assignment-issued-table col.assignment-issued-col-actions,
  .assignment-issued-table th:nth-child(5),
  .assignment-issued-table td:nth-child(5),
  .assignment-issued-actions-cell { width: 140px !important; max-width: 140px !important; }
}

/* Measurements: calm green/gray only, uniform filter controls and dropdown type picker */
.glass-page .glass-filter-form .form-control,
.glass-page .glass-filter-form .developer-select-button,
.glass-page .glass-filter-form .global-date-button {
  min-height: 44px !important;
  height: 44px !important;
  padding-top: .72rem !important;
  padding-bottom: .72rem !important;
}
.glass-page .btn-primary,
.glass-page button.btn-primary,
.glass-page a.btn-primary {
  background: #6f9e2f !important;
  border-color: #6f9e2f !important;
  color: #ffffff !important;
  box-shadow: 0 10px 22px rgba(83, 117, 40, .12) !important;
}
.glass-page .btn-primary:hover,
.glass-page .btn-primary:focus-visible,
.glass-page .btn-primary:active {
  background: #628a2c !important;
  border-color: #628a2c !important;
  color: #ffffff !important;
  box-shadow: 0 12px 24px rgba(83, 117, 40, .16) !important;
}
.glass-page .btn-primary *,
.glass-page .btn-primary i,
.glass-page .btn-primary .bi,
.glass-page .btn-primary .bi::before {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.glass-page .btn-outline-primary,
.glass-page .btn-outline-secondary,
.glass-page .btn-outline-success,
.glass-page .glass-status-choice,
.glass-page .glass-type-select-field .developer-select-button {
  background: #ffffff !important;
  border-color: #bfd7a5 !important;
  color: #111827 !important;
  box-shadow: none !important;
}
.glass-page .btn-outline-primary:hover,
.glass-page .btn-outline-secondary:hover,
.glass-page .btn-outline-success:hover,
.glass-page .glass-status-choice:hover,
.glass-page .glass-type-select-field .developer-select-button:hover {
  background: #f3f8ee !important;
  border-color: #9dbf75 !important;
  color: #111827 !important;
  box-shadow: none !important;
}
.glass-page .glass-status-choice.is-active,
.glass-page .glass-status-choice.is-active.is-ordered,
.glass-page .glass-status-choice.is-active.is-replaced {
  background: #e7f2dc !important;
  border-color: #b8d79b !important;
  color: #111827 !important;
}
.glass-page .glass-order-page-card,
.glass-page .glass-table-shell,
.glass-page .glass-order-card,
.glass-page .glass-order-card-body,
.glass-page .glass-ordered-table-responsive,
.glass-page .glass-request-panel {
  border-color: #dfe8d4 !important;
  background-image: none !important;
  box-shadow: none !important;
}
.glass-page .glass-order-card:hover,
.glass-page .glass-ordered-table tbody tr:hover > *,
.glass-page .glass-order-row:hover > * {
  background: #f7faf2 !important;
  color: #111827 !important;
}
.glass-page .glass-select-col,
.glass-page .glass-order-row.is-selected > *,
.glass-page .glass-order-row.is-selected td,
.glass-page .js-bulk-row.is-selected > * {
  background: #f3f8ee !important;
  border-color: #dfe8d4 !important;
  box-shadow: none !important;
}
.glass-page .form-check-input:checked,
.glass-page .js-bulk-master:checked,
.glass-page .glass-order-check:checked {
  background-color: #6f9e2f !important;
  border-color: #6f9e2f !important;
}
.glass-page .glass-type-select-field .developer-custom-select,
.glass-page .glass-type-select-field .global-custom-select {
  min-width: 150px !important;
}
.glass-page .glass-type-select-field .developer-select-value {
  color: #111827 !important;
}

/* Materials: remove blue accents, icon-only delete, black text on buttons */
body:has(.materials-page-head) .content-card,
body:has(.materials-page-head) .table-shell,
body:has(.materials-page-head) .materials-animated-card,
body:has(.materials-page-head) .materials-summary-card,
body:has(.materials-page-head) .material-tasks-box,
body:has(.materials-page-head) .material-selected-strip,
body:has(.materials-page-head) .bulk-actions-panel {
  border-color: #dfe8d4 !important;
  box-shadow: none !important;
  background-image: none !important;
}
body:has(.materials-page-head) .materials-table thead th,
body:has(.materials-page-head) .material-tasks-table thead th,
body:has(.materials-page-head) .material-edit-table thead th,
body:has(.materials-page-head) .task-table thead th {
  background: #edf5e8 !important;
  color: #14211d !important;
  border-color: #dfe8d4 !important;
}
body:has(.materials-page-head) .materials-table tbody tr:hover > *,
body:has(.materials-page-head) .material-tasks-table tbody tr:hover > *,
body:has(.materials-page-head) .task-row-link:hover > * {
  background: #f7faf2 !important;
  color: #14211d !important;
  box-shadow: none !important;
}
body:has(.materials-page-head) .materials-tabs .crm-tabs .nav-link,
body:has(.materials-page-head) .remarks-tabs .nav-link {
  color: #111827 !important;
  border-color: #dfe8d4 !important;
  box-shadow: none !important;
}
body:has(.materials-page-head) .materials-tabs .crm-tabs .nav-link.active,
body:has(.materials-page-head) .remarks-tabs .nav-link.active {
  background: #8dd62c !important;
  border-color: #78bb24 !important;
  color: #111827 !important;
}
body:has(.materials-page-head) .btn-outline-primary,
body:has(.materials-page-head) .btn-outline-secondary,
body:has(.materials-page-head) .btn-outline-success,
body:has(.materials-page-head) .btn-light,
body:has(.materials-page-head) .download-excel-btn {
  background: #ffffff !important;
  border-color: #bfd7a5 !important;
  color: #000000 !important;
  box-shadow: none !important;
}
body:has(.materials-page-head) .btn-outline-primary:hover,
body:has(.materials-page-head) .btn-outline-secondary:hover,
body:has(.materials-page-head) .btn-outline-success:hover,
body:has(.materials-page-head) .download-excel-btn:hover,
body:has(.materials-page-head) .btn-outline-primary:focus-visible,
body:has(.materials-page-head) .btn-outline-secondary:focus-visible,
body:has(.materials-page-head) .btn-outline-success:focus-visible,
body:has(.materials-page-head) .download-excel-btn:focus-visible {
  background: #f3f8ee !important;
  border-color: #9dbf75 !important;
  color: #000000 !important;
  box-shadow: 0 0 0 .18rem rgba(141, 214, 44, .10) !important;
}
body:has(.materials-page-head) .btn-primary,
body:has(.materials-page-head) button.btn-primary,
body:has(.materials-page-head) a.btn-primary,
body:has(.materials-page-head) .btn-success,
body:has(.materials-page-head) a.btn-success {
  background: #6f9e2f !important;
  border-color: #6f9e2f !important;
  box-shadow: 0 10px 22px rgba(83, 117, 40, .12) !important;
}
body:has(.materials-page-head) .btn,
body:has(.materials-page-head) .btn span,
body:has(.materials-page-head) .btn i,
body:has(.materials-page-head) .btn .bi,
body:has(.materials-page-head) .btn .bi::before,
body:has(.materials-page-head) .btn .text-muted,
body:has(.materials-page-head) button .text-muted,
body:has(.materials-page-head) a.btn .text-muted {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
}
body:has(.materials-page-head) .btn-primary,
body:has(.materials-page-head) .btn-primary *,
body:has(.materials-page-head) .btn-success,
body:has(.materials-page-head) .btn-success *,
body:has(.materials-page-head) .btn-danger,
body:has(.materials-page-head) .btn-danger * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
body:has(.materials-page-head) .download-excel-btn,
body:has(.materials-page-head) .download-excel-btn span,
body:has(.materials-page-head) .download-excel-btn i,
body:has(.materials-page-head) .download-excel-btn .bi,
body:has(.materials-page-head) .download-excel-btn .bi::before {
  font-weight: 400 !important;
}
body:has(.materials-page-head) .material-icon-delete-btn {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 11px !important;
}
body:has(.materials-page-head) .material-icon-delete-btn i,
body:has(.materials-page-head) .material-icon-delete-btn .bi,
body:has(.materials-page-head) .material-icon-delete-btn .bi::before {
  margin: 0 !important;
}
body:has(.materials-page-head) .material-select-row.is-selected,
body:has(.materials-page-head) .material-select-row.is-selected > *,
body:has(.materials-page-head) .js-bulk-row.is-selected,
body:has(.materials-page-head) .js-bulk-row.is-selected > * {
  background: #f3f8ee !important;
  border-color: #dfe8d4 !important;
  box-shadow: none !important;
}
body:has(.materials-page-head) .material-select-row.is-selected td:first-child,
body:has(.materials-page-head) .js-bulk-row.is-selected td:first-child {
  box-shadow: none !important;
}
body:has(.materials-page-head) .form-control:focus,
body:has(.materials-page-head) .form-select:focus,
body:has(.materials-page-head) .developer-custom-select.is-open .developer-select-button,
body:has(.materials-page-head) .global-date-button:focus-visible {
  border-color: rgba(137, 173, 84, .58) !important;
  box-shadow: 0 0 0 .18rem rgba(141, 214, 44, .10) !important;
}
body:has(.materials-page-head) .form-check-input:checked {
  background-color: #6f9e2f !important;
  border-color: #6f9e2f !important;
}
body:has(.materials-page-head) ::selection {
  background: rgba(141, 214, 44, .26) !important;
  color: #111827 !important;
}

/* v145 final request: fixed topbar, issued table cleanup, apartments/remarks/contractors polish */
@media (min-width: 821px) {
  body.app-body {
    overflow-x: hidden !important;
  }
  .app-layout {
    display: block !important;
    min-height: 100vh !important;
    padding: 0 !important;
  }
  .app-sidebar {
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    z-index: 1100 !important;
    height: 100vh !important;
    overflow-y: auto !important;
  }
  .app-main {
    margin-left: 230px !important;
    width: calc(100% - 230px) !important;
    min-height: 100vh !important;
    padding-top: 4.9rem !important;
    display: block !important;
  }
  .app-topbar {
    position: fixed !important;
    top: 0 !important;
    left: 230px !important;
    right: 0 !important;
    z-index: 1090 !important;
    min-height: 4.9rem !important;
    margin: 0 !important;
    transform: none !important;
    will-change: auto !important;
  }
  .app-content {
    padding-top: 1.45rem !important;
  }
}

/* Remove transparent split lines and keep issued employee rows readable. */
body:has(.assignments-page-head) .assignment-issued-table {
  table-layout: fixed !important;
  width: 100% !important;
  min-width: 0 !important;
  border-collapse: collapse !important;
}
body:has(.assignments-page-head) .assignment-issued-col-room { width: 7.2rem !important; }
body:has(.assignments-page-head) .assignment-issued-col-task { width: auto !important; }
body:has(.assignments-page-head) .assignment-issued-col-date { width: 9.5rem !important; }
body:has(.assignments-page-head) .assignment-issued-col-status { width: 12rem !important; }
body:has(.assignments-page-head) .assignment-issued-col-actions { width: 9.5rem !important; }
body:has(.assignments-page-head) .assignment-issued-table th,
body:has(.assignments-page-head) .assignment-issued-table td {
  border-bottom-color: transparent !important;
  box-shadow: none !important;
  vertical-align: middle !important;
}
body:has(.assignments-page-head) .assignment-issued-table tbody tr + tr td {
  border-top: 1px solid rgba(86, 93, 98, .075) !important;
}
body:has(.assignments-page-head) .assignment-issued-table .task-text,
body:has(.assignments-page-head) .assignment-issued-table .assignment-task-text {
  display: block !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow: visible !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  line-height: 1.42 !important;
  text-decoration-thickness: 1px !important;
}
body:has(.assignments-page-head) .assignment-issued-date-cell,
body:has(.assignments-page-head) .assignment-issued-actions-cell {
  white-space: nowrap !important;
  overflow: visible !important;
}
body:has(.assignments-page-head) .assignment-issued-actions {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: .4rem !important;
  white-space: nowrap !important;
}
body:has(.assignments-page-head) .assignment-issued-row::before,
body:has(.assignments-page-head) .assignment-issued-row::after,
body:has(.assignments-page-head) .assignment-issued-table td::before,
body:has(.assignments-page-head) .assignment-issued-table td::after {
  display: none !important;
  content: none !important;
}

/* Apartments: no blue accents, black button text, full commercial label only inside opened card. */
.apartments-page .table-hover > tbody > tr:hover > *,
.apartment-detail-page .table-hover > tbody > tr:hover > * {
  background: #f7faef !important;
}
.apartments-page .form-control:focus,
.apartments-page .form-select:focus,
.apartment-detail-page .form-control:focus,
.apartment-detail-page .form-select:focus {
  border-color: rgba(141, 214, 44, .62) !important;
  box-shadow: 0 0 0 .18rem rgba(141, 214, 44, .12) !important;
}
.apartments-page .btn,
.apartments-page .btn *,
.apartment-detail-page .btn,
.apartment-detail-page .btn * {
  color: #000 !important;
}
.apartments-page .btn-success,
.apartments-page .btn-success *,
.apartments-page .btn-primary,
.apartments-page .btn-primary *,
.apartment-detail-page .btn-success,
.apartment-detail-page .btn-success *,
.apartment-detail-page .btn-primary,
.apartment-detail-page .btn-primary * {
  color: #fff !important;
}
.apartments-page .btn-outline-primary,
.apartment-detail-page .btn-outline-primary {
  border-color: rgba(141, 214, 44, .34) !important;
  color: #000 !important;
  background: #fff !important;
}
.apartments-page .btn-outline-primary:hover,
.apartment-detail-page .btn-outline-primary:hover {
  background: #f7faef !important;
  color: #000 !important;
}
.apartments-page .status-pill-info,
.apartment-detail-page .status-pill-info,
.apartments-page .badge.bg-info,
.apartment-detail-page .badge.bg-info {
  background: #eef3ea !important;
  color: #31443a !important;
  border-color: rgba(86, 93, 98, .16) !important;
}
.apartments-page .progress-bar,
.apartment-detail-page .progress-bar {
  background: linear-gradient(90deg, #8fc54a, #72ad2d) !important;
}

/* Remarks and contractors: export selection in separate panel, no blue tints, calmer buttons. */
.remarks-page-head .btn,
.remarks-page-head .btn *,
.remarks-filter-form .btn,
.remarks-filter-form .btn *,
.remarks-selection-card .btn,
.remarks-selection-card .btn *,
.task-table .btn,
.task-table .btn * {
  font-weight: 500 !important;
}
.remarks-page-head .btn:not(.btn-success):not(.btn-primary):not(.btn-danger),
.remarks-page-head .btn:not(.btn-success):not(.btn-primary):not(.btn-danger) *,
.remarks-filter-form .btn:not(.btn-success):not(.btn-primary):not(.btn-danger),
.remarks-filter-form .btn:not(.btn-success):not(.btn-primary):not(.btn-danger) *,
.remarks-selection-card .btn:not(.btn-success):not(.btn-primary):not(.btn-danger),
.remarks-selection-card .btn:not(.btn-success):not(.btn-primary):not(.btn-danger) *,
.task-table .btn:not(.btn-success):not(.btn-primary):not(.btn-danger),
.task-table .btn:not(.btn-success):not(.btn-primary):not(.btn-danger) * {
  color: #000 !important;
}
.remarks-page-head .btn-success,
.remarks-page-head .btn-success *,
.remarks-selection-card .btn-success,
.remarks-selection-card .btn-success * {
  color: #fff !important;
}
.remarks-page-head .js-remark-export-submit,
.remarks-page-head .js-remark-export-submit * {
  font-weight: 500 !important;
}
.remarks-excel-options-toggle.is-active,
.remarks-excel-options-toggle:hover,
.remarks-excel-options-toggle:focus {
  border-color: rgba(141, 214, 44, .55) !important;
  background: #f7faef !important;
  color: #000 !important;
}
.remarks-selection-card {
  border-color: rgba(141, 214, 44, .20) !important;
  background: linear-gradient(180deg, #fff, #f9fbf5) !important;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .06) !important;
}
.remarks-selection-card .assignment-section-title > span {
  background: #f1f6e9 !important;
  color: #5f872d !important;
}
.remarks-premise-option,
.remarks-premise-filter {
  border-color: rgba(141, 214, 44, .20) !important;
  background: #fff !important;
}
.remarks-premise-option:hover {
  border-color: rgba(141, 214, 44, .42) !important;
  background: #f7faef !important;
}
.remarks-export-scope:not(.has-bulk-selection) .remarks-selected-only {
  display: none !important;
}
.remarks-export-scope.has-bulk-selection .remarks-selected-only {
  display: inline-flex !important;
}
.remarks-export-scope .bulk-actions-panel {
  border-top: 1px solid rgba(141, 214, 44, .18) !important;
  border-bottom: 0 !important;
}
.remarks-export-table-shell,
.remarks-export-table-shell .table thead th {
  border-color: rgba(141, 214, 44, .14) !important;
}
.remarks-export-table-shell .table thead th {
  background: #eef6e7 !important;
  color: #26332d !important;
}
.remarks-export-table-shell .table > :not(caption) > * > * {
  border-bottom-color: rgba(86, 93, 98, .08) !important;
}
.remarks-export-table-shell .table-hover > tbody > tr:hover > * {
  background: #f7faef !important;
}
.remarks-export-table-shell .table-success > * {
  --bs-table-bg: #f0f7e9 !important;
}
.remarks-export-table-shell .table-warning > * {
  --bs-table-bg: #fff8e8 !important;
}
.task-table .status-action-form[data-status-action="done"] .btn,
.task-table .status-action-form[data-status-action="done"] .btn:hover,
.task-table .status-action-form[data-status-action="done"] .btn:focus {
  background: #8dd62c !important;
  border-color: #8dd62c !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(141, 214, 44, .20) !important;
}
.task-table .status-action-form[data-status-action="done"] .btn i {
  color: #fff !important;
}
.problem-action-form-inline {
  position: relative !important;
}
.problem-action-form-inline .problem-comment-wrap:not(.d-none) {
  position: absolute !important;
  right: 0 !important;
  top: calc(100% + .45rem) !important;
  z-index: 1200 !important;
  display: grid !important;
  grid-template-columns: minmax(190px, 1fr) 38px 38px !important;
  width: min(360px, 70vw) !important;
  padding: .45rem !important;
  border: 1px solid rgba(141, 214, 44, .28) !important;
  border-radius: .95rem !important;
  background: #fff !important;
  box-shadow: 0 18px 44px rgba(15, 23, 42, .18) !important;
}
.problem-action-form-inline .problem-comment-wrap .btn,
.problem-action-form-inline .problem-comment-wrap .btn * {
  color: #000 !important;
}
.problem-action-form-inline .problem-comment-wrap .btn-danger,
.problem-action-form-inline .problem-comment-wrap .btn-danger * {
  color: #fff !important;
}

/* Ensure exported Excel headers remain green for all exported files generated by project styles. */

/* v145 final request additional apartment/contractor blue cleanup */
.apartments-page .commercial-badge,
.apartment-detail-page .commercial-badge,
.apartments-page .premise-number,
.apartment-detail-page .premise-number {
  background: #f7faef !important;
  color: #31443a !important;
  border-color: rgba(141, 214, 44, .22) !important;
}
.apartments-page .badge.bg-primary,
.apartments-page .badge.bg-info,
.apartment-detail-page .badge.bg-primary,
.apartment-detail-page .badge.bg-info,
.remarks-export-table-shell .badge.bg-primary,
.remarks-export-table-shell .badge.bg-info {
  background: #eef3ea !important;
  color: #31443a !important;
  border: 1px solid rgba(86, 93, 98, .16) !important;
}
.apartments-page a:focus,
.apartment-detail-page a:focus,
.remarks-export-scope a:focus,
.remarks-export-scope button:focus,
.remarks-export-scope input:focus,
.remarks-export-scope .form-check-input:focus {
  outline: none !important;
  box-shadow: 0 0 0 .18rem rgba(141, 214, 44, .12) !important;
  border-color: rgba(141, 214, 44, .55) !important;
}
.remarks-export-scope .form-check-input:checked,
.apartments-page .form-check-input:checked,
.apartment-detail-page .form-check-input:checked {
  background-color: #8dd62c !important;
  border-color: #8dd62c !important;
}

/* v146: material selection strip, global notifications/buttons, hard fixed app topbar, issued row cleanup */
@media (min-width: 992px) {
  body.app-body .app-layout {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    min-height: 100vh !important;
  }
  body.app-body .app-layout .app-sidebar {
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 230px !important;
    height: 100vh !important;
    overflow-y: auto !important;
    z-index: 4090 !important;
  }
  body.app-body .app-layout .app-main {
    margin-left: 230px !important;
    width: calc(100% - 230px) !important;
    min-height: 100vh !important;
    padding-top: 4.9rem !important;
    display: block !important;
  }
  body.app-body .app-layout .app-topbar {
    position: fixed !important;
    top: 0 !important;
    left: 230px !important;
    right: 0 !important;
    width: auto !important;
    min-height: 4.9rem !important;
    margin: 0 !important;
    z-index: 4080 !important;
    transform: translateZ(0) !important;
    will-change: transform !important;
  }
  body.app-body .app-layout .app-content {
    padding-top: 1.45rem !important;
  }
}

@media (max-width: 991.98px) {
  body.app-body .app-layout .app-topbar {
    position: sticky !important;
    top: 0 !important;
    z-index: 4080 !important;
  }
}

body:has(.assignments-page-head) .assignment-issued-table,
body:has(.assignments-page-head) .assignment-issued-table tr,
body:has(.assignments-page-head) .assignment-issued-table th,
body:has(.assignments-page-head) .assignment-issued-table td,
body:has(.assignments-page-head) .assignment-issued-table tbody tr + tr td,
body:has(.assignments-page-head) .assignment-issued-table .task-text,
body:has(.assignments-page-head) .assignment-issued-date-cell,
body:has(.assignments-page-head) .assignment-issued-actions-cell {
  border-color: transparent !important;
  border-top-color: transparent !important;
  border-bottom-color: transparent !important;
  box-shadow: none !important;
  background-image: none !important;
}
body:has(.assignments-page-head) .assignment-issued-table tbody tr + tr td {
  border-top: 0 !important;
}
body:has(.assignments-page-head) .assignment-issued-table .task-text,
body:has(.assignments-page-head) .assignment-issued-table .assignment-task-text,
body:has(.assignments-page-head) .assignment-issued-table .assignment-task-open-link {
  text-decoration-color: currentColor !important;
  text-decoration-thickness: 1px !important;
}

.crm-toast-stack .crm-toast,
.flash-stack.crm-toast-stack .alert,
.crm-toast-info,
.crm-toast-success,
.crm-toast-warning,
.crm-toast-danger {
  background: #ffffff !important;
  background-color: #ffffff !important;
  border-color: #dfe8d4 !important;
  color: #111827 !important;
}
.crm-toast-stack .crm-toast::before {
  background: #8dd62c !important;
}
.crm-toast-title,
.crm-toast-text,
.crm-toast-close,
.crm-toast-close i {
  color: #111827 !important;
}
.crm-toast-icon {
  background: #f2f7ec !important;
}
.crm-toast-success .crm-toast-icon,
.crm-toast-info .crm-toast-icon {
  color: #6f9e2f !important;
}

.crm-search-btn,
.crm-filter-form .btn-primary[type="submit"],
.filter-actions .btn-primary[type="submit"] {
  background: #6f9e2f !important;
  border-color: #6f9e2f !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  box-shadow: 0 10px 22px rgba(83, 117, 40, .14) !important;
}
.crm-search-btn *,
.crm-filter-form .btn-primary[type="submit"] *,
.filter-actions .btn-primary[type="submit"] * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.crm-search-btn:hover,
.crm-search-btn:focus,
.crm-filter-form .btn-primary[type="submit"]:hover,
.crm-filter-form .btn-primary[type="submit"]:focus,
.filter-actions .btn-primary[type="submit"]:hover,
.filter-actions .btn-primary[type="submit"]:focus {
  background: #638f2b !important;
  border-color: #638f2b !important;
}
.crm-reset-btn,
.crm-filter-form .btn-outline-secondary,
.filter-actions .btn-outline-secondary {
  background: #ffffff !important;
  border-color: #dfe8d4 !important;
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
  font-weight: 600 !important;
}
.crm-reset-btn *,
.crm-filter-form .btn-outline-secondary *,
.filter-actions .btn-outline-secondary * {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
}
.crm-reset-btn:hover,
.crm-reset-btn:focus,
.crm-filter-form .btn-outline-secondary:hover,
.crm-filter-form .btn-outline-secondary:focus,
.filter-actions .btn-outline-secondary:hover,
.filter-actions .btn-outline-secondary:focus {
  background: #f5f8f0 !important;
  border-color: #bdd3a3 !important;
  color: #000000 !important;
  box-shadow: 0 0 0 .18rem rgba(141, 214, 44, .10) !important;
}

body:has(.materials-page-head) .material-selected-strip.d-none {
  display: none !important;
}
body:has(.materials-page-head) .material-selected-strip:not(.d-none) {
  display: flex !important;
}
body:has(.materials-page-head) .material-pick-style-btn,
body:has(.materials-page-head) .materials-actions .material-pick-style-btn {
  background: #6f9e2f !important;
  border-color: #6f9e2f !important;
  color: #ffffff !important;
  box-shadow: 0 10px 22px rgba(83, 117, 40, .14) !important;
}
body:has(.materials-page-head) .material-pick-style-btn *,
body:has(.materials-page-head) .materials-actions .material-pick-style-btn * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
body:has(.materials-page-head) .material-pick-style-btn:hover,
body:has(.materials-page-head) .material-pick-style-btn:focus {
  background: #638f2b !important;
  border-color: #638f2b !important;
}

/* v147: repair topbar layout after fixed-position regression, issued rows, and inline problem editor */
@media (min-width: 992px) {
  body.app-body .app-layout {
    display: flex !important;
    align-items: stretch !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--crm-bg) !important;
  }
  body.app-body .app-layout .app-sidebar {
    position: sticky !important;
    top: 0 !important;
    left: auto !important;
    bottom: auto !important;
    width: 230px !important;
    flex: 0 0 230px !important;
    height: 100vh !important;
    min-height: 100vh !important;
    z-index: 1060 !important;
    overflow-y: auto !important;
  }
  body.app-body .app-layout .app-main {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    margin-left: 0 !important;
    padding-top: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 100vh !important;
  }
  body.app-body .app-layout .app-topbar {
    position: sticky !important;
    top: 0 !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    min-height: 4.9rem !important;
    margin: 0 !important;
    z-index: 1080 !important;
    transform: none !important;
    will-change: auto !important;
  }
  body.app-body .app-layout .app-content {
    padding-top: 1.25rem !important;
  }
}

/* Remove the faint row split artefacts on the issued-assignment table and keep columns separated cleanly. */
body:has(.assignments-page-head) .assignment-issued-table-wrap {
  overflow-x: visible !important;
  overflow-y: visible !important;
}
body:has(.assignments-page-head) .assignment-issued-table {
  width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
}
body:has(.assignments-page-head) .assignment-issued-table col.assignment-issued-col-room { width: 7.5rem !important; }
body:has(.assignments-page-head) .assignment-issued-table col.assignment-issued-col-task { width: auto !important; }
body:has(.assignments-page-head) .assignment-issued-table col.assignment-issued-col-date { width: 9.4rem !important; }
body:has(.assignments-page-head) .assignment-issued-table col.assignment-issued-col-status { width: 12rem !important; }
body:has(.assignments-page-head) .assignment-issued-table col.assignment-issued-col-actions { width: 8.4rem !important; }
body:has(.assignments-page-head) .assignment-issued-table > :not(caption) > * > * {
  border-top: 0 !important;
  border-bottom: 0 !important;
  border-color: transparent !important;
  box-shadow: none !important;
  background-image: none !important;
}
body:has(.assignments-page-head) .assignment-issued-table thead th {
  border-bottom: 1px solid rgba(141, 214, 44, .20) !important;
}
body:has(.assignments-page-head) .assignment-issued-row,
body:has(.assignments-page-head) .assignment-issued-row > td,
body:has(.assignments-page-head) .assignment-issued-row > th,
body:has(.assignments-page-head) .assignment-issued-table tbody tr + tr td {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background-image: none !important;
}
body:has(.assignments-page-head) .assignment-issued-row:not(:last-child) > td {
  border-bottom: 0 !important;
}
body:has(.assignments-page-head) .assignment-issued-table td.task-text {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  overflow: hidden !important;
  white-space: normal !important;
  padding-right: 1.05rem !important;
}
body:has(.assignments-page-head) .assignment-issued-table .assignment-task-open-link,
body:has(.assignments-page-head) .assignment-issued-table .assignment-task-text {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  line-height: 1.42 !important;
}
body:has(.assignments-page-head) .assignment-issued-date-cell,
body:has(.assignments-page-head) .assignment-issued-table td:nth-child(4),
body:has(.assignments-page-head) .assignment-issued-actions-cell {
  white-space: nowrap !important;
  overflow: visible !important;
}
body:has(.assignments-page-head) .assignment-issued-actions {
  width: 100% !important;
  justify-content: center !important;
}
@media (max-width: 1180px) and (min-width: 821px) {
  body:has(.assignments-page-head) .assignment-issued-table col.assignment-issued-col-room { width: 6.6rem !important; }
  body:has(.assignments-page-head) .assignment-issued-table col.assignment-issued-col-date { width: 8.8rem !important; }
  body:has(.assignments-page-head) .assignment-issued-table col.assignment-issued-col-status { width: 10.8rem !important; }
  body:has(.assignments-page-head) .assignment-issued-table col.assignment-issued-col-actions { width: 7.8rem !important; }
}

/* Keep the problem editor above the table without increasing table width or shifting columns. */
.task-table-shell,
.remarks-export-table-shell,
.task-table-shell .table-responsive {
  overflow: visible !important;
}
.task-table {
  table-layout: fixed !important;
  width: 100% !important;
}
.task-table .task-col-actions { width: 15.8rem !important; }
.task-table .task-text {
  min-width: 0 !important;
  max-width: none !important;
  overflow-wrap: anywhere !important;
}
.actions-cell {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: .35rem !important;
  flex-wrap: nowrap !important;
}
.problem-action-form-inline .problem-comment-wrap:not(.d-none),
.problem-action-form-inline.problem-popover-open .problem-comment-wrap {
  position: fixed !important;
  z-index: 5000 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 38px 38px !important;
  gap: .35rem !important;
  width: min(360px, calc(100vw - 32px)) !important;
  max-width: calc(100vw - 32px) !important;
  padding: .45rem !important;
  border: 1px solid rgba(141, 214, 44, .28) !important;
  border-radius: .95rem !important;
  background: #fff !important;
  box-shadow: 0 18px 44px rgba(15, 23, 42, .18) !important;
}
.problem-action-form-inline .problem-comment-wrap .form-control {
  min-width: 0 !important;
}
.problem-action-form-inline .problem-comment-wrap .btn {
  min-width: 38px !important;
  width: 38px !important;
  height: 38px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* v147b: keep standalone topbars sticky too without reserving empty space. */
@media (min-width: 992px) {
  body.app-body .objects-layout,
  body.app-body .documents-standalone-layout,
  body.app-body .documents-layout {
    display: flex !important;
    flex-direction: column !important;
    min-height: 100vh !important;
    padding-top: 0 !important;
  }
  body.app-body .objects-topbar,
  body.app-body .documents-topbar {
    position: sticky !important;
    top: 0 !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    z-index: 1080 !important;
    transform: none !important;
    will-change: auto !important;
  }
  body.app-body .objects-content,
  body.app-body .documents-content {
    padding-top: 1.25rem !important;
  }
}

/* ======================================================================
   v148: final override for material buttons, global search/reset, topbar
   text colors, contractor export persistence and problem action UI.
   ====================================================================== */
:root {
  --peredacha-action-green: #8dd62c;
  --peredacha-action-green-hover: #7cc922;
  --peredacha-action-green-dark: #5f9824;
  --peredacha-danger-red: #dc4c4c;
  --peredacha-danger-red-hover: #c83f3f;
}

/* Keep top bar in normal layout and make its text white even after global button overrides. */
body.app-body .app-layout .app-topbar,
body.app-body .objects-topbar,
body.app-body .documents-topbar {
  position: sticky !important;
  top: 0 !important;
  z-index: 1080 !important;
  transform: none !important;
  margin: 0 !important;
}
body.app-body .app-layout .app-main,
body.app-body .objects-layout,
body.app-body .documents-layout {
  padding-top: 0 !important;
}
.app-topbar .topbar-project,
.app-topbar .topbar-project span,
.app-topbar .topbar-project .btn,
.app-topbar .topbar-project .btn *,
.objects-topbar .topbar-project,
.objects-topbar .topbar-project span,
.objects-topbar .topbar-project .btn,
.objects-topbar .topbar-project .btn *,
.documents-topbar .topbar-project,
.documents-topbar .topbar-project span,
.documents-topbar .topbar-project .btn,
.documents-topbar .topbar-project .btn * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.app-topbar .topbar-project .btn,
.objects-topbar .topbar-project .btn,
.documents-topbar .topbar-project .btn {
  border-color: rgba(255, 255, 255, .30) !important;
  background: rgba(255, 255, 255, .07) !important;
}

/* White question mark on every page, including Расход материалов where button text is black. */
.report-error-btn,
.report-error-floating,
.floating-error-corner .report-error-floating {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.report-error-btn .report-error-icon,
.report-error-floating .report-error-icon,
body:has(.materials-page-head) .report-error-floating .report-error-icon,
body:has(.materials-page-head) .report-error-floating span,
body:has(.materials-page-head) .report-error-floating * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Bring material action buttons to the same bright tone as "Подбор задач". */
body:has(.materials-page-head) .material-pick-style-btn,
body:has(.materials-page-head) .materials-actions .material-pick-style-btn,
body:has(.materials-page-head) .materials-actions .btn.btn-primary,
body:has(.materials-page-head) a[href*="material_request_new"],
body:has(.materials-page-head) button[type="submit"].material-pick-style-btn,
body:has(.materials-page-head) .material-form-shell .btn.btn-primary,
body:has(.materials-page-head) .material-form-shell .btn.btn-success {
  background: linear-gradient(180deg, var(--peredacha-action-green) 0%, var(--peredacha-action-green-hover) 100%) !important;
  border-color: var(--peredacha-action-green-hover) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-weight: 700 !important;
  box-shadow: 0 12px 26px rgba(141, 214, 44, .22) !important;
}
body:has(.materials-page-head) .material-pick-style-btn *,
body:has(.materials-page-head) .materials-actions .material-pick-style-btn *,
body:has(.materials-page-head) .materials-actions .btn.btn-primary *,
body:has(.materials-page-head) a[href*="material_request_new"] *,
body:has(.materials-page-head) button[type="submit"].material-pick-style-btn *,
body:has(.materials-page-head) .material-form-shell .btn.btn-primary *,
body:has(.materials-page-head) .material-form-shell .btn.btn-success * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
body:has(.materials-page-head) .material-pick-style-btn:hover,
body:has(.materials-page-head) .materials-actions .material-pick-style-btn:hover,
body:has(.materials-page-head) .materials-actions .btn.btn-primary:hover,
body:has(.materials-page-head) a[href*="material_request_new"]:hover,
body:has(.materials-page-head) button[type="submit"].material-pick-style-btn:hover,
body:has(.materials-page-head) .material-form-shell .btn.btn-primary:hover,
body:has(.materials-page-head) .material-form-shell .btn.btn-success:hover {
  background: linear-gradient(180deg, #84cf27 0%, #70bd1d 100%) !important;
  border-color: #70bd1d !important;
}

/* Global Find / Reset buttons: same bright style and visible icons. */
.crm-search-btn,
button.crm-search-btn,
a.crm-search-btn,
.crm-filter-form .btn.btn-primary[type="submit"],
.filter-actions .btn.btn-primary[type="submit"],
.assignment-search-actions .btn.btn-primary,
.remarks-filter-form .btn.btn-primary[type="submit"],
.glass-filter-form .btn.btn-primary[type="submit"],
.materials-filter-form .btn.btn-primary[type="submit"] {
  background: linear-gradient(180deg, var(--peredacha-action-green) 0%, var(--peredacha-action-green-hover) 100%) !important;
  border-color: var(--peredacha-action-green-hover) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 12px 26px rgba(141, 214, 44, .22) !important;
  font-weight: 700 !important;
}
.crm-search-btn *,
.crm-filter-form .btn.btn-primary[type="submit"] *,
.filter-actions .btn.btn-primary[type="submit"] *,
.assignment-search-actions .btn.btn-primary *,
.remarks-filter-form .btn.btn-primary[type="submit"] *,
.glass-filter-form .btn.btn-primary[type="submit"] *,
.materials-filter-form .btn.btn-primary[type="submit"] * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.crm-search-btn i,
.crm-filter-form .btn.btn-primary[type="submit"] i,
.filter-actions .btn.btn-primary[type="submit"] i,
.assignment-search-actions .btn.btn-primary i,
.remarks-filter-form .btn.btn-primary[type="submit"] i,
.glass-filter-form .btn.btn-primary[type="submit"] i,
.materials-filter-form .btn.btn-primary[type="submit"] i {
  opacity: 1 !important;
  color: #ffffff !important;
}
.crm-reset-btn,
a.crm-reset-btn,
button.crm-reset-btn,
.crm-filter-form .btn.btn-outline-secondary,
.filter-actions .btn.btn-outline-secondary,
.assignment-search-actions .btn.btn-outline-secondary,
.remarks-filter-form .btn.btn-outline-secondary,
.glass-filter-form .btn.btn-outline-secondary,
.materials-filter-form .btn.btn-outline-secondary {
  background: #ffffff !important;
  border: 1px solid #d6e5c9 !important;
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
  font-weight: 700 !important;
  box-shadow: 0 8px 18px rgba(24, 37, 18, .06) !important;
}
.crm-reset-btn *,
.crm-filter-form .btn.btn-outline-secondary *,
.filter-actions .btn.btn-outline-secondary *,
.assignment-search-actions .btn.btn-outline-secondary *,
.remarks-filter-form .btn.btn-outline-secondary *,
.glass-filter-form .btn.btn-outline-secondary *,
.materials-filter-form .btn.btn-outline-secondary * {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
  opacity: 1 !important;
}
.crm-reset-btn:hover,
.crm-reset-btn:focus,
.crm-filter-form .btn.btn-outline-secondary:hover,
.crm-filter-form .btn.btn-outline-secondary:focus,
.filter-actions .btn.btn-outline-secondary:hover,
.filter-actions .btn.btn-outline-secondary:focus,
.assignment-search-actions .btn.btn-outline-secondary:hover,
.assignment-search-actions .btn.btn-outline-secondary:focus,
.remarks-filter-form .btn.btn-outline-secondary:hover,
.remarks-filter-form .btn.btn-outline-secondary:focus,
.glass-filter-form .btn.btn-outline-secondary:hover,
.glass-filter-form .btn.btn-outline-secondary:focus,
.materials-filter-form .btn.btn-outline-secondary:hover,
.materials-filter-form .btn.btn-outline-secondary:focus {
  background: #f6fbef !important;
  border-color: #b7d89b !important;
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
}

/* Contractor/remarks problem action: red button and visible popover save check. */
.task-table .problem-toggle-btn,
.problem-action-form-inline .problem-toggle-btn,
button.problem-toggle-btn {
  background: var(--peredacha-danger-red) !important;
  border-color: var(--peredacha-danger-red) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 10px 22px rgba(220, 76, 76, .18) !important;
}
.task-table .problem-toggle-btn *,
.problem-action-form-inline .problem-toggle-btn *,
button.problem-toggle-btn * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.task-table .problem-toggle-btn:hover,
.problem-action-form-inline .problem-toggle-btn:hover,
button.problem-toggle-btn:hover {
  background: var(--peredacha-danger-red-hover) !important;
  border-color: var(--peredacha-danger-red-hover) !important;
}
.problem-action-form-inline .problem-comment-wrap:not(.d-none),
.problem-action-form-inline.problem-popover-open .problem-comment-wrap {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 38px 38px !important;
  overflow: visible !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.problem-action-form-inline .problem-comment-wrap button[type="submit"],
.problem-action-form-inline.problem-popover-open .problem-comment-wrap button[type="submit"] {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  align-items: center !important;
  justify-content: center !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: var(--peredacha-action-green) !important;
  border-color: var(--peredacha-action-green) !important;
}
.problem-action-form-inline .problem-comment-wrap button[type="submit"] *,
.problem-action-form-inline.problem-popover-open .problem-comment-wrap button[type="submit"] * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Make the Excel selection panel behave like its own stable tab/area and restore when saved choices exist. */
.remarks-excel-options-toggle.is-active,
.remarks-excel-options-toggle:focus-visible {
  border-color: var(--peredacha-action-green-hover) !important;
  background: #f5fbeb !important;
  color: #000000 !important;
}
.remarks-selection-card[data-excel-options-panel]:not(.d-none) {
  display: block !important;
  position: relative !important;
  z-index: 4 !important;
}

/* v148b: material standalone form submit buttons also use the bright action green. */
body:has(.materials-page-head) .material-form-card .btn.btn-primary,
body:has(.materials-page-head) .material-form-card button.btn-primary[type="submit"] {
  background: linear-gradient(180deg, var(--peredacha-action-green) 0%, var(--peredacha-action-green-hover) 100%) !important;
  border-color: var(--peredacha-action-green-hover) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-weight: 700 !important;
  box-shadow: 0 12px 26px rgba(141, 214, 44, .22) !important;
}
body:has(.materials-page-head) .material-form-card .btn.btn-primary *,
body:has(.materials-page-head) .material-form-card button.btn-primary[type="submit"] * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* v149: final remark/problem/commercial display repair.
   Keeps the problem editor stable above the table and removes heavy Excel button typography on Remarks/Contractors. */
body:has(.remarks-page-head) .remarks-export-btn,
body:has(.remarks-page-head) .js-remark-export-submit,
body:has(.remarks-page-head) .remarks-export-btn span,
body:has(.remarks-page-head) .js-remark-export-submit span,
body:has(.remarks-page-head) .remarks-export-btn i,
body:has(.remarks-page-head) .js-remark-export-submit i {
  font-weight: 500 !important;
}

body:has(.remarks-page-head) .task-table,
body:has(.remarks-page-head) .remarks-export-table-shell .task-table {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  table-layout: fixed !important;
}

body:has(.remarks-page-head) .remarks-export-table-shell,
body:has(.remarks-page-head) .remarks-export-table-shell .card-body,
body:has(.remarks-page-head) .remarks-export-table-shell .table-responsive {
  max-width: 100% !important;
  overflow-x: clip !important;
  overflow-y: visible !important;
}

body:has(.remarks-page-head) .task-table .task-col-actions,
body:has(.remarks-page-head) .task-table th.task-col-actions,
body:has(.remarks-page-head) .task-table td:last-child {
  width: 12.2rem !important;
  min-width: 12.2rem !important;
  max-width: 12.2rem !important;
}

body:has(.remarks-page-head) .task-table .task-col-status,
body:has(.remarks-page-head) .task-table .task-status-cell {
  width: 9.5rem !important;
  min-width: 9.5rem !important;
  max-width: 9.5rem !important;
}

body:has(.remarks-page-head) .task-table .task-text,
body:has(.remarks-page-head) .task-table .inline-text {
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

body:has(.remarks-page-head) .actions-cell {
  max-width: 100% !important;
  min-width: 0 !important;
  justify-content: flex-end !important;
  overflow: visible !important;
}

body:has(.remarks-page-head) .task-table .status-action-form[data-status-action="done"] .btn,
body:has(.remarks-page-head) .task-table .status-action-form[data-status-action="done"] .btn:hover,
body:has(.remarks-page-head) .task-table .status-action-form[data-status-action="done"] .btn:focus {
  background: #8dd62c !important;
  border-color: #8dd62c !important;
  color: #ffffff !important;
  box-shadow: 0 10px 24px rgba(141, 214, 44, .20) !important;
}

body:has(.remarks-page-head) .task-table .status-action-form[data-status-action="done"] .btn *,
body:has(.remarks-page-head) .task-table .status-action-form[data-status-action="done"] .btn i {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body:has(.remarks-page-head) .problem-action-form-inline,
body:has(.remarks-page-head) .problem-action-form {
  position: relative !important;
}

body:has(.remarks-page-head) .problem-action-form-inline .problem-toggle-btn,
body:has(.remarks-page-head) .problem-action-form-inline .problem-toggle-btn:hover,
body:has(.remarks-page-head) .problem-action-form-inline .problem-toggle-btn:focus {
  background: #dc4c4c !important;
  border-color: #dc4c4c !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}

body:has(.remarks-page-head) .problem-action-form-inline .problem-toggle-btn *,
body:has(.remarks-page-head) .problem-action-form-inline .problem-toggle-btn i {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body:has(.remarks-page-head) .problem-action-form-inline .problem-comment-wrap:not(.d-none),
body:has(.remarks-page-head) .problem-action-form-inline.problem-popover-open .problem-comment-wrap {
  position: fixed !important;
  right: auto !important;
  z-index: 9000 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 38px 38px !important;
  align-items: center !important;
  gap: .4rem !important;
  width: min(360px, calc(100vw - 32px)) !important;
  max-width: calc(100vw - 32px) !important;
  box-sizing: border-box !important;
  padding: .45rem !important;
  border: 1px solid rgba(141, 214, 44, .28) !important;
  border-radius: .95rem !important;
  background: #ffffff !important;
  box-shadow: 0 18px 44px rgba(15, 23, 42, .18) !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

body:has(.remarks-page-head) .problem-comment-wrap .form-control,
body:has(.remarks-page-head) .problem-comment-wrap .form-control-sm {
  min-width: 0 !important;
  width: 100% !important;
  height: 38px !important;
}

body:has(.remarks-page-head) .problem-comment-wrap .btn,
body:has(.remarks-page-head) .problem-comment-wrap .btn-sm {
  min-width: 38px !important;
  width: 38px !important;
  height: 38px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

body:has(.remarks-page-head) .problem-comment-wrap button[type="submit"],
body:has(.remarks-page-head) .problem-comment-wrap button[type="submit"] * {
  background: #8dd62c !important;
  border-color: #8dd62c !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body:has(.remarks-page-head) .problem-comment-wrap .problem-cancel-btn,
body:has(.remarks-page-head) .problem-comment-wrap .problem-cancel-btn * {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
}

body:has(.remarks-page-head) .remarks-export-scope:not(.has-bulk-selection) .remarks-selected-only {
  display: none !important;
}
body:has(.remarks-page-head) .remarks-export-scope.has-bulk-selection .remarks-selected-only {
  display: inline-flex !important;
}

/* v147: final alignment for search fields, material buttons and dropdown portal */
@media (min-width: 768px) {
  .apartments-filter-form > div:has(input[name="q"]),
  .remarks-filter-form > div:has(input[name="q"]) {
    flex: 1 1 360px !important;
    max-width: none !important;
  }
  .apartments-filter-form > div:has(select),
  .remarks-filter-form > div:has(select) {
    flex: 1 1 220px !important;
    max-width: none !important;
  }
  .remarks-filter-form > .filter-actions,
  .apartments-filter-form > .filter-actions,
  .remarks-filter-form > .remarks-filter-actions {
    flex: 0 0 auto !important;
    max-width: none !important;
  }
}

body:has(.materials-page-head) .material-form-card .row > div:has(input[name="title"]),
body:has(.materials-page-head) .material-form-card .row > div:has(input[name="request_date"]) {
  flex: 1 1 0 !important;
  max-width: none !important;
}
body:has(.materials-page-head) .material-form-card input[name="title"],
body:has(.materials-page-head) .material-form-card input[name="request_date"] {
  min-height: 46px !important;
}

body:has(.materials-page-head) .material-pick-style-btn i.bi-plus-lg,
body:has(.materials-page-head) .material-pick-style-btn i.bi-check2-circle,
body:has(.materials-page-head) .material-pick-style-btn i.bi-plus-lg::before,
body:has(.materials-page-head) .material-pick-style-btn i.bi-check2-circle::before {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}

.developer-select-menu-portal {
  height: auto !important;
  min-height: 0 !important;
  overflow-x: hidden !important;
  background: #ffffff !important;
  backdrop-filter: none !important;
}
.developer-select-menu-portal.is-portal-open {
  pointer-events: auto !important;
}
body:has(.materials-page-head) .developer-select-menu-portal,
body:has(.materials-page-head) .developer-select-menu-portal.is-portal-open {
  z-index: 12000 !important;
  background: #ffffff !important;
  box-shadow: 0 18px 44px rgba(15, 23, 42, .20) !important;
}

.contractor-excel-selection-page .remarks-selection-card {
  overflow: visible !important;
}
.contractor-excel-selection-page .remarks-selected-only {
  display: none !important;
}
.contractor-excel-selection-page.has-bulk-selection .remarks-selected-only {
  display: inline-flex !important;
}
.contractor-excel-table .task-text {
  max-width: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}
.contractor-excel-table .task-col-point {
  width: 8rem !important;
}

/* ======================================================================
   v151: final layout alignment, dropdown portal repair and exact green tone
   ====================================================================== */
:root {
  --peredacha-action-green: #8dd62c;
  --peredacha-action-green-hover: #7cc922;
  --peredacha-action-green-shadow: rgba(141, 214, 44, .24);
}

/* Equal-width search controls in Квартиры / Подрядчики / Замечания. */
@media (min-width: 768px) {
  .apartments-filter-form,
  .remarks-filter-form {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-end !important;
  }
  .apartments-filter-form > div:has(input[name="q"]),
  .apartments-filter-form > div:has(select),
  .remarks-filter-form > div:has(input[name="q"]),
  .remarks-filter-form > div:has(select) {
    flex: 1 1 250px !important;
    max-width: none !important;
    width: auto !important;
  }
  .apartments-filter-form > .filter-actions,
  .remarks-filter-form > .filter-actions,
  .remarks-filter-form > .remarks-filter-actions,
  .remarks-filter-form > .contractor-filter-actions {
    flex: 0 0 auto !important;
    max-width: none !important;
    width: auto !important;
  }
}

/* Equalize material request title/date fields. */
@media (min-width: 992px) {
  body:has(.materials-page-head) .material-form-card .row > div:has(input[name="title"]),
  body:has(.materials-page-head) .material-form-card .row > div:has(input[name="request_date"]) {
    flex: 1 1 0 !important;
    max-width: 50% !important;
    width: 50% !important;
  }
}

/* Dropdown menus must open as clean floating panels above every card, without covering the trigger. */
.developer-select-menu-portal {
  position: fixed !important;
  z-index: 15000 !important;
  display: grid !important;
  gap: 4px !important;
  min-width: 180px !important;
  height: auto !important;
  min-height: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  padding: 7px !important;
  border: 1px solid rgba(137, 156, 105, .28) !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  box-shadow: 0 20px 52px rgba(15, 23, 42, .18) !important;
  backdrop-filter: none !important;
  pointer-events: none !important;
}
.developer-select-menu-portal.is-portal-open {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) scale(1) !important;
  pointer-events: auto !important;
}
.developer-select-menu-portal[hidden] {
  display: none !important;
}
.developer-select-option {
  font-weight: 400 !important;
}
.developer-select-option.is-selected {
  background: #edf4e6 !important;
  color: #10203f !important;
  font-weight: 400 !important;
}

/* Remove star look from material action buttons and keep icons white. */
body:has(.materials-page-head) .material-pick-style-btn i,
body:has(.materials-page-head) .material-pick-style-btn i::before,
body:has(.materials-page-head) .materials-actions .material-pick-style-btn i,
body:has(.materials-page-head) .materials-actions .material-pick-style-btn i::before {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}

/* Exact green tone for all active green buttons: same as Подбор задач. */
button.btn-primary,
a.btn-primary,
button.btn-success,
a.btn-success,
button.crm-search-btn,
a.crm-search-btn,
.crm-filter-form .btn.btn-primary[type="submit"],
.filter-actions .btn.btn-primary[type="submit"],
.material-pick-style-btn,
.material-form-card .btn.btn-primary,
.material-form-card button.btn-primary[type="submit"],
.assignment-search-actions .btn.btn-primary,
.status-action-form[data-status-action="done"] .btn,
.report-error-floating,
.report-error-btn {
  background: linear-gradient(180deg, var(--peredacha-action-green) 0%, var(--peredacha-action-green-hover) 100%) !important;
  border-color: var(--peredacha-action-green-hover) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 12px 26px var(--peredacha-action-green-shadow) !important;
}
button.btn-primary *,
a.btn-primary *,
button.btn-success *,
a.btn-success *,
button.crm-search-btn *,
a.crm-search-btn *,
.crm-filter-form .btn.btn-primary[type="submit"] *,
.filter-actions .btn.btn-primary[type="submit"] *,
.material-pick-style-btn *,
.material-form-card .btn.btn-primary *,
.material-form-card button.btn-primary[type="submit"] *,
.assignment-search-actions .btn.btn-primary *,
.status-action-form[data-status-action="done"] .btn *,
.report-error-floating *,
.report-error-btn * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
button.btn-primary:hover,
a.btn-primary:hover,
button.btn-success:hover,
a.btn-success:hover,
button.crm-search-btn:hover,
a.crm-search-btn:hover,
.crm-filter-form .btn.btn-primary[type="submit"]:hover,
.filter-actions .btn.btn-primary[type="submit"]:hover,
.material-pick-style-btn:hover,
.material-form-card .btn.btn-primary:hover,
.material-form-card button.btn-primary[type="submit"]:hover,
.assignment-search-actions .btn.btn-primary:hover,
.status-action-form[data-status-action="done"] .btn:hover,
.report-error-floating:hover,
.report-error-btn:hover {
  background: linear-gradient(180deg, var(--peredacha-action-green) 0%, var(--peredacha-action-green-hover) 100%) !important;
  border-color: var(--peredacha-action-green-hover) !important;
}

/* Contractor Excel selection is a standalone page and must keep visible saved choice controls. */
.contractor-excel-selection-page.has-bulk-selection .remarks-selected-only,
.contractor-excel-selection-page .remarks-export-scope.has-bulk-selection .remarks-selected-only {
  display: inline-flex !important;
}
.contractor-excel-selection-page .remarks-selection-card,
.contractor-excel-selection-page .remarks-export-table-shell,
.contractor-excel-selection-page .table-responsive {
  overflow: visible !important;
}

/* ======================================================================
   v152: unify all existing green buttons to the exact "Подбор задач" tone
   ====================================================================== */
:is(
  .btn-primary,
  .btn.btn-primary,
  button.btn-primary,
  a.btn-primary,
  input.btn-primary,
  .btn-success,
  .btn.btn-success,
  button.btn-success,
  a.btn-success,
  .dashboard-btn-primary,
  .app-topbar .topbar-project .btn.btn-primary,
  .objects-topbar .topbar-project .btn.btn-primary,
  .documents-topbar .topbar-project .btn.btn-primary,
  .crm-search-btn,
  .crm-filter-form .btn.btn-primary[type="submit"],
  .filter-actions .btn.btn-primary[type="submit"],
  .assignment-search-actions .btn.btn-primary,
  .remarks-filter-form .btn.btn-primary[type="submit"],
  .glass-filter-form .btn.btn-primary[type="submit"],
  .materials-filter-form .btn.btn-primary[type="submit"],
  .material-pick-style-btn,
  .material-form-card .btn.btn-primary,
  .material-form-card button.btn-primary[type="submit"],
  .status-action-form[data-status-action="done"] .btn,
  .report-error-floating,
  .report-error-btn,
  .btn-outline-success.download-excel-btn,
  .btn-outline-success.glass-excel-btn,
  .btn-outline-success.remarks-export-btn,
  .js-remark-export-submit,
  .assignment-issued-export-btn,
  body:has(.developer-section-tabs) .developer-filter-btn-apply,
  body:has(.developer-section-tabs) .site-errors-filter-form .btn.btn-primary,
  body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-success,
  body:has(.developer-section-tabs) .developer-delete-log-actions .btn.btn-primary
):not(.site-error-action-btn-close):not(.site-error-action-btn-danger):not(.btn-danger):not(.btn-warning):not(.btn-outline-secondary) {
  background: linear-gradient(180deg, var(--peredacha-action-green) 0%, var(--peredacha-action-green-hover) 100%) !important;
  border-color: var(--peredacha-action-green-hover) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 12px 26px var(--peredacha-action-green-shadow) !important;
}

:is(
  .btn-primary,
  .btn.btn-primary,
  button.btn-primary,
  a.btn-primary,
  input.btn-primary,
  .btn-success,
  .btn.btn-success,
  button.btn-success,
  a.btn-success,
  .dashboard-btn-primary,
  .app-topbar .topbar-project .btn.btn-primary,
  .objects-topbar .topbar-project .btn.btn-primary,
  .documents-topbar .topbar-project .btn.btn-primary,
  .crm-search-btn,
  .crm-filter-form .btn.btn-primary[type="submit"],
  .filter-actions .btn.btn-primary[type="submit"],
  .assignment-search-actions .btn.btn-primary,
  .remarks-filter-form .btn.btn-primary[type="submit"],
  .glass-filter-form .btn.btn-primary[type="submit"],
  .materials-filter-form .btn.btn-primary[type="submit"],
  .material-pick-style-btn,
  .material-form-card .btn.btn-primary,
  .material-form-card button.btn-primary[type="submit"],
  .status-action-form[data-status-action="done"] .btn,
  .report-error-floating,
  .report-error-btn,
  .btn-outline-success.download-excel-btn,
  .btn-outline-success.glass-excel-btn,
  .btn-outline-success.remarks-export-btn,
  .js-remark-export-submit,
  .assignment-issued-export-btn,
  body:has(.developer-section-tabs) .developer-filter-btn-apply,
  body:has(.developer-section-tabs) .site-errors-filter-form .btn.btn-primary,
  body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-success,
  body:has(.developer-section-tabs) .developer-delete-log-actions .btn.btn-primary
):not(.site-error-action-btn-close):not(.site-error-action-btn-danger):not(.btn-danger):not(.btn-warning):not(.btn-outline-secondary) * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

:is(
  .btn-primary:hover,
  .btn-primary:focus,
  .btn-primary:focus-visible,
  .btn-primary:active,
  .btn-primary.active,
  .show > .btn-primary.dropdown-toggle,
  .btn-success:hover,
  .btn-success:focus,
  .btn-success:focus-visible,
  .btn-success:active,
  .dashboard-btn-primary:hover,
  .dashboard-btn-primary:focus,
  .dashboard-btn-primary:focus-visible,
  .app-topbar .topbar-project .btn.btn-primary:hover,
  .app-topbar .topbar-project .btn.btn-primary:focus,
  .objects-topbar .topbar-project .btn.btn-primary:hover,
  .objects-topbar .topbar-project .btn.btn-primary:focus,
  .documents-topbar .topbar-project .btn.btn-primary:hover,
  .documents-topbar .topbar-project .btn.btn-primary:focus,
  .crm-search-btn:hover,
  .crm-search-btn:focus,
  .crm-filter-form .btn.btn-primary[type="submit"]:hover,
  .crm-filter-form .btn.btn-primary[type="submit"]:focus,
  .filter-actions .btn.btn-primary[type="submit"]:hover,
  .filter-actions .btn.btn-primary[type="submit"]:focus,
  .assignment-search-actions .btn.btn-primary:hover,
  .assignment-search-actions .btn.btn-primary:focus,
  .remarks-filter-form .btn.btn-primary[type="submit"]:hover,
  .remarks-filter-form .btn.btn-primary[type="submit"]:focus,
  .glass-filter-form .btn.btn-primary[type="submit"]:hover,
  .glass-filter-form .btn.btn-primary[type="submit"]:focus,
  .materials-filter-form .btn.btn-primary[type="submit"]:hover,
  .materials-filter-form .btn.btn-primary[type="submit"]:focus,
  .material-pick-style-btn:hover,
  .material-pick-style-btn:focus,
  .material-form-card .btn.btn-primary:hover,
  .material-form-card .btn.btn-primary:focus,
  .material-form-card button.btn-primary[type="submit"]:hover,
  .material-form-card button.btn-primary[type="submit"]:focus,
  .status-action-form[data-status-action="done"] .btn:hover,
  .status-action-form[data-status-action="done"] .btn:focus,
  .report-error-floating:hover,
  .report-error-floating:focus,
  .report-error-btn:hover,
  .report-error-btn:focus,
  .btn-outline-success.download-excel-btn:hover,
  .btn-outline-success.download-excel-btn:focus,
  .btn-outline-success.glass-excel-btn:hover,
  .btn-outline-success.glass-excel-btn:focus,
  .btn-outline-success.remarks-export-btn:hover,
  .btn-outline-success.remarks-export-btn:focus,
  .js-remark-export-submit:hover,
  .js-remark-export-submit:focus,
  .assignment-issued-export-btn:hover,
  .assignment-issued-export-btn:focus,
  body:has(.developer-section-tabs) .developer-filter-btn-apply:hover,
  body:has(.developer-section-tabs) .developer-filter-btn-apply:focus,
  body:has(.developer-section-tabs) .developer-filter-btn-apply:focus-visible,
  body:has(.developer-section-tabs) .site-errors-filter-form .btn.btn-primary:hover,
  body:has(.developer-section-tabs) .site-errors-filter-form .btn.btn-primary:focus,
  body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-success:hover,
  body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-success:focus,
  body:has(.developer-section-tabs) .site-error-actions .site-error-action-btn.site-error-action-btn-success:focus-visible,
  body:has(.developer-section-tabs) .developer-delete-log-actions .btn.btn-primary:hover,
  body:has(.developer-section-tabs) .developer-delete-log-actions .btn.btn-primary:focus,
  body:has(.developer-section-tabs) .developer-delete-log-actions .btn.btn-primary:focus-visible
):not(.site-error-action-btn-close):not(.site-error-action-btn-danger):not(.btn-danger):not(.btn-warning):not(.btn-outline-secondary) {
  background: linear-gradient(180deg, var(--peredacha-action-green) 0%, var(--peredacha-action-green-hover) 100%) !important;
  border-color: var(--peredacha-action-green-hover) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 14px 28px var(--peredacha-action-green-shadow) !important;
}

/* ======================================================================
   v153: align input field heights with selects in filters and materials
   ====================================================================== */
.apartments-filter-form .form-control,
.apartments-filter-form .form-select,
.remarks-filter-form .form-control,
.remarks-filter-form .form-select {
  height: 48px !important;
  min-height: 48px !important;
  padding-top: 0.72rem !important;
  padding-bottom: 0.72rem !important;
  box-sizing: border-box !important;
}

.apartments-filter-form .form-select,
.remarks-filter-form .form-select {
  padding-right: 2.8rem !important;
}

body:has(.materials-page-head) .material-form-card input[name="title"],
body:has(.materials-page-head) .material-form-card input[name="request_date"] {
  height: 48px !important;
  min-height: 48px !important;
  padding-top: 0.72rem !important;
  padding-bottom: 0.72rem !important;
  box-sizing: border-box !important;
}

/* ======================================================================
   v154: slightly darker global green buttons, matched to the bottom ? button
   ====================================================================== */
:root {
  --peredacha-action-green: #79bf25;
  --peredacha-action-green-hover: #6aa81f;
  --peredacha-action-green-dark: #5f9824;
  --peredacha-action-green-shadow: rgba(121, 191, 37, .22);
}

body:has(.materials-page-head) .materials-tabs .crm-tabs .nav-link.active,
body:has(.materials-page-head) .remarks-tabs .nav-link.active {
  background: linear-gradient(180deg, var(--peredacha-action-green) 0%, var(--peredacha-action-green-hover) 100%) !important;
  border-color: var(--peredacha-action-green-hover) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 10px 22px var(--peredacha-action-green-shadow) !important;
}

body:has(.materials-page-head) .materials-tabs .crm-tabs .nav-link.active:hover,
body:has(.materials-page-head) .materials-tabs .crm-tabs .nav-link.active:focus-visible,
body:has(.materials-page-head) .remarks-tabs .nav-link.active:hover,
body:has(.materials-page-head) .remarks-tabs .nav-link.active:focus-visible {
  background: linear-gradient(180deg, var(--peredacha-action-green) 0%, var(--peredacha-action-green-hover) 100%) !important;
  border-color: var(--peredacha-action-green-hover) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 12px 24px var(--peredacha-action-green-shadow) !important;
}

/* ======================================================================
   v155: pixel-perfect alignment for filter inputs and selects
   ====================================================================== */
:root {
  --peredacha-filter-field-height: 50px;
  --peredacha-filter-field-radius: 16px;
}

.apartments-filter-form .form-control,
.apartments-filter-form .form-select,
.remarks-filter-form .form-control,
.remarks-filter-form .form-select,
body:has(.materials-page-head) .material-form-card input[name="title"],
body:has(.materials-page-head) .material-form-card input[name="request_date"] {
  height: var(--peredacha-filter-field-height) !important;
  min-height: var(--peredacha-filter-field-height) !important;
  max-height: var(--peredacha-filter-field-height) !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 1rem !important;
  padding-right: 1rem !important;
  line-height: calc(var(--peredacha-filter-field-height) - 2px) !important;
  border-radius: var(--peredacha-filter-field-radius) !important;
  box-sizing: border-box !important;
  vertical-align: middle !important;
}

.apartments-filter-form .form-select,
.remarks-filter-form .form-select {
  padding-right: 3rem !important;
  background-position: right 1rem center !important;
  background-size: 16px 12px !important;
}

body:has(.materials-page-head) .material-form-card input[type="date"][name="request_date"] {
  padding-right: 0.95rem !important;
}

body:has(.materials-page-head) .material-form-card input[type="date"][name="request_date"]::-webkit-date-and-time-value,
.apartments-filter-form input::-webkit-date-and-time-value,
.remarks-filter-form input::-webkit-date-and-time-value {
  text-align: left !important;
}

/* ======================================================================
   v156: slightly darken green checkboxes site-wide
   ====================================================================== */
.form-check-input:checked,
.form-check-input[type="checkbox"]:checked {
  background-color: var(--peredacha-action-green) !important;
  border-color: var(--peredacha-action-green-hover) !important;
}

.form-check-input:focus,
.form-check-input:checked:focus,
.form-check-input[type="checkbox"]:checked:focus {
  box-shadow: 0 0 0 0.18rem rgba(121, 191, 37, .14) !important;
}

/* ======================================================================
   v157: keep one cursor style across the whole apartment card
   ====================================================================== */
.apartments-page .apartment-card,
.apartments-page .apartment-card > *,
.apartments-page .apartment-card-link,
.apartments-page .apartment-card-link *,
.apartments-page .apartment-progress,
.apartments-page .apartment-progress *,
.apartments-page .apartment-stat-row,
.apartments-page .apartment-stat-row * {
  cursor: pointer !important;
}

.apartments-page .apartment-po-form,
.apartments-page .apartment-po-form *,
.apartments-page .apartment-po-form .po-option,
.apartments-page .apartment-po-form label {
  cursor: pointer !important;
}

/* Users page: selected role checkmark should match the darker green tone. */
.users-page .users-role-input:checked + .users-role-check {
  background: var(--peredacha-action-green) !important;
  border-color: var(--peredacha-action-green-hover) !important;
  color: #ffffff !important;
  box-shadow: 0 6px 14px rgba(121, 191, 37, .18) !important;
}

.users-page .users-role-option:has(.users-role-input:checked) {
  border-color: rgba(121, 191, 37, .34) !important;
  background: #f8fcf1 !important;
}

/* Glass measurements tabs: same darker green tone as the rest of the site. */
.glass-page .crm-tabs .nav-link.active,
.glass-page .remarks-tabs .nav-link.active {
  background: linear-gradient(180deg, var(--peredacha-action-green) 0%, var(--peredacha-action-green-hover) 100%) !important;
  border-color: var(--peredacha-action-green-hover) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 10px 22px var(--peredacha-action-green-shadow) !important;
}

.glass-page .crm-tabs .nav-link.active:hover,
.glass-page .crm-tabs .nav-link.active:focus-visible,
.glass-page .remarks-tabs .nav-link.active:hover,
.glass-page .remarks-tabs .nav-link.active:focus-visible {
  background: linear-gradient(180deg, var(--peredacha-action-green) 0%, var(--peredacha-action-green-hover) 100%) !important;
  border-color: var(--peredacha-action-green-hover) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 12px 24px var(--peredacha-action-green-shadow) !important;
}

/* Assignments: darken active top tabs and green day filters to match the site. */
body:has(.assignments-page-head) .assignment-subtab.active,
body:has(.assignments-page-head) .assignment-subtab:hover,
body:has(.assignments-page-head) .assignment-subtab:focus,
body:has(.assignments-page-head) .assignment-filter-pill.active:not(.assignment-filter-pill-danger),
body:has(.assignments-page-head) .assignment-filter-pill:hover:not(.assignment-filter-pill-danger),
body:has(.assignments-page-head) .assignment-filter-pill:focus-visible:not(.assignment-filter-pill-danger) {
  background: linear-gradient(180deg, var(--peredacha-action-green) 0%, var(--peredacha-action-green-hover) 100%) !important;
  border-color: var(--peredacha-action-green-hover) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 10px 22px var(--peredacha-action-green-shadow) !important;
}

body:has(.assignments-page-head) .assignment-subtab.active i,
body:has(.assignments-page-head) .assignment-subtab:hover i,
body:has(.assignments-page-head) .assignment-subtab:focus i,
body:has(.assignments-page-head) .assignment-filter-pill.active:not(.assignment-filter-pill-danger) i,
body:has(.assignments-page-head) .assignment-filter-pill:hover:not(.assignment-filter-pill-danger) i,
body:has(.assignments-page-head) .assignment-filter-pill:focus-visible:not(.assignment-filter-pill-danger) i,
body:has(.assignments-page-head) .assignment-filter-pill.active:not(.assignment-filter-pill-danger) span,
body:has(.assignments-page-head) .assignment-filter-pill:hover:not(.assignment-filter-pill-danger) span,
body:has(.assignments-page-head) .assignment-filter-pill:focus-visible:not(.assignment-filter-pill-danger) span {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body:has(.assignments-page-head) .assignment-subtab.active span,
body:has(.assignments-page-head) .assignment-subtab:hover span,
body:has(.assignments-page-head) .assignment-subtab:focus span {
  background: rgba(255, 255, 255, .22) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* ======================================================================
   v158: final dark-green cleanup for mapping, remarks Excel, report and apartment detail
   ====================================================================== */
.mapping-page .mapping-list .form-check-input:checked,
body:has(.mapping-page) .form-check-input:checked,
body:has(.mapping-page) .form-check-input[type="checkbox"]:checked {
  background-color: var(--peredacha-action-green) !important;
  border-color: var(--peredacha-action-green-hover) !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='M4.5 10.5l3.2 3.2 7.8-8'/%3e%3c/svg%3e") !important;
}

.mapping-page .mapping-list .form-check-input:focus,
body:has(.mapping-page) .form-check-input:focus {
  border-color: var(--peredacha-action-green-hover) !important;
  box-shadow: 0 0 0 .18rem rgba(121, 191, 37, .14) !important;
}

body:has(.remarks-page-head) .remarks-tabs .crm-tabs .nav-link.active,
body:has(.remarks-page-head) .remarks-tabs .crm-tabs .nav-link.active:hover,
body:has(.remarks-page-head) .remarks-tabs .crm-tabs .nav-link.active:focus,
body:has(.remarks-page-head) .remarks-tabs .crm-tabs .nav-link.active:focus-visible,
body:has(.remarks-page-head) .crm-tabs .nav-link.active,
body:has(.remarks-page-head) .crm-tabs .nav-link.active:hover,
body:has(.remarks-page-head) .crm-tabs .nav-link.active:focus,
body:has(.remarks-page-head) .crm-tabs .nav-link.active:focus-visible {
  background: linear-gradient(180deg, var(--peredacha-action-green) 0%, var(--peredacha-action-green-hover) 100%) !important;
  border-color: var(--peredacha-action-green-hover) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 10px 22px var(--peredacha-action-green-shadow) !important;
}

body:has(.remarks-page-head) .remarks-tabs .crm-tabs .nav-link.active *,
body:has(.remarks-page-head) .crm-tabs .nav-link.active * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.contractor-excel-selection-page .remarks-premise-option .form-check-input:checked,
.contractor-excel-selection-page .remarks-premise-option .form-check-input[type="checkbox"]:checked,
body:has(.remarks-page-head) .remarks-premise-option .form-check-input:checked,
body:has(.remarks-page-head) .remarks-premise-option .form-check-input[type="checkbox"]:checked,
body:has(.remarks-page-head) .remarks-export-scope .assignment-check-cell .form-check-input:checked,
body:has(.remarks-page-head) .remarks-export-scope .assignment-check-cell .form-check-input[type="checkbox"]:checked {
  background-color: var(--peredacha-action-green) !important;
  border-color: var(--peredacha-action-green-hover) !important;
}

body:has(.report-grid) .work-report-export-all-btn,
body:has(.report-grid) .work-report-export-all-btn:visited,
body:has(.report-grid) .work-report-export-all-btn:hover,
body:has(.report-grid) .work-report-export-all-btn:focus,
body:has(.report-grid) .work-report-export-all-btn:active,
body:has(.report-grid) .report-summary-actions .btn.btn-outline-success,
body:has(.report-grid) .report-summary-actions .btn.btn-outline-success:visited,
body:has(.report-grid) .report-summary-actions .btn.btn-outline-success:hover,
body:has(.report-grid) .report-summary-actions .btn.btn-outline-success:focus,
body:has(.report-grid) .report-summary-actions .btn.btn-outline-success:active {
  background: linear-gradient(180deg, var(--peredacha-action-green) 0%, var(--peredacha-action-green-hover) 100%) !important;
  border-color: var(--peredacha-action-green-hover) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 12px 26px var(--peredacha-action-green-shadow) !important;
}

body:has(.report-grid) .work-report-export-all-btn *,
body:has(.report-grid) .work-report-export-all-btn:hover *,
body:has(.report-grid) .work-report-export-all-btn:focus *,
body:has(.report-grid) .report-summary-actions .btn.btn-outline-success *,
body:has(.report-grid) .report-summary-actions .btn.btn-outline-success:hover *,
body:has(.report-grid) .report-summary-actions .btn.btn-outline-success:focus * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.apartment-detail-page .apartment-data-row,
.apartment-detail-page .apartment-data-note,
.apartment-detail-page .apartment-data-po,
.apartment-detail-page .inspection-note-form,
.apartment-detail-page .apartment-big-progress,
.apartment-detail-page .apartment-task-item,
.apartment-detail-page .apartment-activity-item,
.apartment-detail-page .empty-info-box {
  background: #ffffff !important;
}

.apartment-detail-page .apartment-task-item:hover {
  background: #ffffff !important;
  border-color: rgba(121, 191, 37, .34) !important;
}

.apartment-detail-page .apartment-task-item.is-done,
.apartment-detail-page .apartment-task-item.is-done:hover {
  background: #f0f7e9 !important;
  border-color: rgba(121, 191, 37, .26) !important;
}

/* Patch: task problem modal, readable secondary buttons, related task navigation */
.object-form-actions .btn-outline-secondary,
.object-form-actions .btn-outline-secondary:hover,
.object-form-actions .btn-outline-secondary:focus-visible,
.task-detail-back-btn,
.task-detail-back-btn:hover,
.task-detail-back-btn:focus-visible,
.task-problem-modal-cancel,
.task-problem-modal-cancel:hover,
.task-problem-modal-cancel:focus-visible {
  color: #111827 !important;
}

.modal,
.task-problem-modal {
  z-index: 20020 !important;
}

.modal-backdrop {
  z-index: 20010 !important;
}

.task-problem-modal-content {
  border: 1px solid rgba(80, 109, 47, .16);
  border-radius: 1.35rem;
  background: #ffffff;
  box-shadow: 0 26px 80px rgba(17, 24, 39, .22);
  overflow: hidden;
}

.task-problem-modal .modal-header,
.task-problem-modal .modal-footer {
  border-color: rgba(80, 109, 47, .12);
}

.task-problem-modal .modal-title {
  color: #111827;
  font-weight: 850;
  letter-spacing: -.02em;
}

.task-problem-modal textarea.form-control {
  min-height: 8.5rem;
  resize: vertical;
}

.apartment-task-head {
  gap: .5rem;
}

.apartment-task-status-form,
.apartment-task-problem-form {
  margin: 0;
}

.apartment-task-problem-btn {
  border: 1px solid rgba(148, 56, 56, .22);
  cursor: pointer;
}

.related-task-item[data-href] {
  cursor: pointer;
}

.related-task-item[data-href]:focus-visible {
  outline: 3px solid rgba(80, 109, 47, .22);
  outline-offset: 3px;
}

/* ======================================================================
   v159: report download buttons, apartment card tap flash, darker register icon
   ====================================================================== */
body:has(.report-grid) .work-report-export-all-btn,
body:has(.report-grid) .work-report-export-all-btn:visited,
body:has(.report-grid) .work-report-export-all-btn:focus,
body:has(.report-grid) .report-summary-actions .btn.btn-outline-success,
body:has(.report-grid) .report-summary-actions .btn.btn-outline-success:visited,
body:has(.report-grid) .report-summary-actions .btn.btn-outline-success:focus {
  background: #ffffff !important;
  background-image: none !important;
  border-color: rgba(95, 152, 36, .52) !important;
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
  box-shadow: 0 8px 18px rgba(17, 24, 39, .05) !important;
}

body:has(.report-grid) .work-report-export-all-btn *,
body:has(.report-grid) .work-report-export-all-btn:visited *,
body:has(.report-grid) .work-report-export-all-btn:focus *,
body:has(.report-grid) .report-summary-actions .btn.btn-outline-success *,
body:has(.report-grid) .report-summary-actions .btn.btn-outline-success:visited *,
body:has(.report-grid) .report-summary-actions .btn.btn-outline-success:focus * {
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
}

body:has(.report-grid) .work-report-export-all-btn:hover,
body:has(.report-grid) .work-report-export-all-btn:focus-visible,
body:has(.report-grid) .work-report-export-all-btn:active,
body:has(.report-grid) .report-summary-actions .btn.btn-outline-success:hover,
body:has(.report-grid) .report-summary-actions .btn.btn-outline-success:focus-visible,
body:has(.report-grid) .report-summary-actions .btn.btn-outline-success:active {
  background: linear-gradient(180deg, var(--peredacha-action-green) 0%, var(--peredacha-action-green-hover) 100%) !important;
  border-color: var(--peredacha-action-green-hover) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 12px 26px var(--peredacha-action-green-shadow) !important;
}

body:has(.report-grid) .work-report-export-all-btn:hover *,
body:has(.report-grid) .work-report-export-all-btn:focus-visible *,
body:has(.report-grid) .work-report-export-all-btn:active *,
body:has(.report-grid) .report-summary-actions .btn.btn-outline-success:hover *,
body:has(.report-grid) .report-summary-actions .btn.btn-outline-success:focus-visible *,
body:has(.report-grid) .report-summary-actions .btn.btn-outline-success:active * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.apartments-page .apartment-card,
.apartments-page .apartment-card-link,
.apartments-page .apartment-card-link * {
  -webkit-tap-highlight-color: transparent !important;
}

.apartments-page .apartment-card:active,
.apartments-page .apartment-card:focus,
.apartments-page .apartment-card:focus-within,
.apartments-page .apartment-card-link:active,
.apartments-page .apartment-card-link:focus,
.apartments-page .apartment-card-link:focus-visible,
.apartments-page .apartment-card-link:active .apartment-card-top,
.apartments-page .apartment-card-link:focus .apartment-card-top,
.apartments-page .apartment-card-link:focus-visible .apartment-card-top,
.apartments-page .apartment-card-link:active .apartment-card-label,
.apartments-page .apartment-card-link:focus .apartment-card-label,
.apartments-page .apartment-card-link:focus-visible .apartment-card-label,
.apartments-page .apartment-card-link:active .apartment-card-number,
.apartments-page .apartment-card-link:focus .apartment-card-number,
.apartments-page .apartment-card-link:focus-visible .apartment-card-number {
  background: #ffffff !important;
  outline: none !important;
  box-shadow: none !important;
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}

.apartments-page .apartment-card:active,
.apartments-page .apartment-card:focus-within {
  border-color: rgba(121, 191, 37, .26) !important;
}

body.auth-body .login-register-button {
  border-color: var(--peredacha-action-green-dark) !important;
  color: #24340f !important;
  -webkit-text-fill-color: #24340f !important;
  box-shadow: 0 8px 18px rgba(95, 152, 36, .10) !important;
}

body.auth-body .login-register-button i,
body.auth-body .login-register-button .bi,
body.auth-body .login-register-button i::before,
body.auth-body .login-register-button .bi::before {
  color: #24340f !important;
  -webkit-text-fill-color: #24340f !important;
}

body.auth-body .login-register-button:hover,
body.auth-body .login-register-button:focus,
body.auth-body .login-register-button:focus-visible,
body.auth-body .login-register-button:active {
  background: linear-gradient(180deg, var(--peredacha-action-green) 0%, var(--peredacha-action-green-hover) 100%) !important;
  border-color: var(--peredacha-action-green-hover) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 12px 24px rgba(95, 152, 36, .18) !important;
}

body.auth-body .login-register-button:hover i,
body.auth-body .login-register-button:focus i,
body.auth-body .login-register-button:focus-visible i,
body.auth-body .login-register-button:active i,
body.auth-body .login-register-button:hover .bi,
body.auth-body .login-register-button:focus .bi,
body.auth-body .login-register-button:focus-visible .bi,
body.auth-body .login-register-button:active .bi,
body.auth-body .login-register-button:hover i::before,
body.auth-body .login-register-button:focus i::before,
body.auth-body .login-register-button:focus-visible i::before,
body.auth-body .login-register-button:active i::before,
body.auth-body .login-register-button:hover .bi::before,
body.auth-body .login-register-button:focus .bi::before,
body.auth-body .login-register-button:focus-visible .bi::before,
body.auth-body .login-register-button:active .bi::before {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}


/* ======================================================================
   v160: darker brand green, Russian text repair support, no blue focus
   ====================================================================== */
:root {
  --crm-primary: #79bf25;
  --crm-primary-dark: #6aa81f;
  --peredacha-action-green: #79bf25;
  --peredacha-action-green-hover: #6aa81f;
  --peredacha-action-green-dark: #5f9824;
  --peredacha-action-green-shadow: rgba(121, 191, 37, .22);
  --peredacha-action-green-soft: rgba(121, 191, 37, .13);
}

.btn-primary:not(.work-report-export-all-btn),
.btn-success:not(.work-report-export-all-btn),
.objects-topbar .btn-primary,
.object-form-actions .btn-primary,
.users-submit-btn,
.maintenance-logout-btn,
.document-addendum-form .btn-primary,
.document-result-actions .btn-success,
.glass-measure-icon-btn,
.glass-measure-start-btn,
.assignment-issued-export-btn,
.assignment-shell .btn-primary,
.material-form-footer .btn-primary {
  background: linear-gradient(180deg, var(--peredacha-action-green) 0%, var(--peredacha-action-green-hover) 100%) !important;
  border-color: var(--peredacha-action-green-hover) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 10px 22px var(--peredacha-action-green-shadow) !important;
}

.btn-primary:not(.work-report-export-all-btn):hover,
.btn-primary:not(.work-report-export-all-btn):focus,
.btn-primary:not(.work-report-export-all-btn):focus-visible,
.btn-primary:not(.work-report-export-all-btn):active,
.btn-success:not(.work-report-export-all-btn):hover,
.btn-success:not(.work-report-export-all-btn):focus,
.btn-success:not(.work-report-export-all-btn):focus-visible,
.btn-success:not(.work-report-export-all-btn):active,
.objects-topbar .btn-primary:hover,
.objects-topbar .btn-primary:focus-visible,
.users-submit-btn:hover,
.users-submit-btn:focus-visible,
.maintenance-logout-btn:hover,
.maintenance-logout-btn:focus-visible {
  background: linear-gradient(180deg, var(--peredacha-action-green-hover) 0%, var(--peredacha-action-green-dark) 100%) !important;
  border-color: var(--peredacha-action-green-dark) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 12px 26px rgba(95, 152, 36, .26) !important;
}

.form-control:hover,
.form-select:hover,
.users-page .form-control:hover,
.users-page .form-select:hover,
.users-page .users-role-option:hover,
.document-addendum-form .form-control:hover,
.document-addendum-form .form-select:hover,
.glass-measurements-page .form-control:hover,
.glass-measurements-page .form-select:hover,
.assignment-shell .form-control:hover,
.assignment-shell .form-select:hover,
.worker-layout .form-control:hover,
.worker-layout .form-select:hover {
  border-color: rgba(121, 191, 37, .52) !important;
  box-shadow: 0 0 0 3px rgba(121, 191, 37, .10) !important;
}

.form-control:focus,
.form-select:focus,
.form-check-input:focus,
.users-page .form-control:focus,
.users-page .form-select:focus,
.users-page .users-role-input:focus-visible + .users-role-check,
.document-addendum-form .form-control:focus,
.document-addendum-form .form-select:focus,
.glass-measurements-page .form-control:focus,
.glass-measurements-page .form-select:focus,
.assignment-shell .form-control:focus,
.assignment-shell .form-select:focus,
.worker-layout .form-control:focus,
.worker-layout .form-select:focus {
  border-color: var(--peredacha-action-green) !important;
  box-shadow: 0 0 0 4px rgba(121, 191, 37, .16) !important;
  outline: none !important;
}

.form-control::selection,
.form-select::selection,
textarea::selection,
input::selection {
  background: rgba(121, 191, 37, .22) !important;
  color: #111827 !important;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px #ffffff inset, 0 0 0 4px rgba(121, 191, 37, .14) !important;
  -webkit-text-fill-color: #111827 !important;
  caret-color: var(--peredacha-action-green-dark) !important;
}

.users-page .users-role-option:has(.users-role-input:checked),
.users-page .users-role-option:focus-within {
  border-color: rgba(121, 191, 37, .62) !important;
  background: linear-gradient(180deg, #ffffff 0%, #f5fbeb 100%) !important;
  box-shadow: 0 12px 24px rgba(121, 191, 37, .12) !important;
}

.users-page .users-role-check,
.users-page .password-preview-toggle,
.users-page .users-action-btn-password,
.users-page .users-action-btn-password i,
.users-page .users-action-btn-password .bi,
.users-page .users-submit-btn i,
.users-page .users-submit-btn .bi {
  color: var(--peredacha-action-green-dark) !important;
  -webkit-text-fill-color: var(--peredacha-action-green-dark) !important;
}

.users-page .users-role-option:has(.users-role-input:checked) .users-role-check,
.users-page .users-submit-btn i,
.users-page .users-submit-btn .bi,
.users-page .users-submit-btn:hover i,
.users-page .users-submit-btn:hover .bi {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.dashboard-page.dashboard-redesign .dashboard-roadmap-mini-title i,
.dashboard-page.dashboard-redesign .dashboard-roadmap-mini-list i,
.dashboard-page.dashboard-redesign .dashboard-roadmap-mini-more i,
.dashboard-page.dashboard-redesign .dashboard-roadmap-item i,
body:has(.dashboard-page.dashboard-redesign) .dashboard-roadmap-mini-list span i,
body:has(.dashboard-page.dashboard-redesign) .dashboard-roadmap-mini-more i,
body:has(.dashboard-page.dashboard-redesign) .dashboard-roadmap-item i {
  color: var(--peredacha-action-green-dark) !important;
  -webkit-text-fill-color: var(--peredacha-action-green-dark) !important;
}

body:has(.dashboard-page.dashboard-redesign) .dashboard-roadmap-item i {
  background: linear-gradient(180deg, #f5fbeb 0%, #ecf6dc 100%) !important;
  border: 1px solid rgba(121, 191, 37, .22) !important;
  box-shadow: 0 10px 20px rgba(121, 191, 37, .10) !important;
}

.document-type-card:hover,
.document-type-card:focus-visible,
.document-addendum-form .document-step-card:hover,
.document-addendum-form .document-owner-option:hover,
.document-addendum-form .document-upload-drop:hover {
  border-color: rgba(121, 191, 37, .44) !important;
  box-shadow: 0 14px 32px rgba(121, 191, 37, .12) !important;
}

.document-type-icon,
.document-step-number,
.document-upload-drop > span:first-of-type,
.document-help-list i,
.document-result-status,
.document-result-status i,
.document-result-stat b,
.document-change-title,
.document-diff-line-after span,
.document-addendum-form .required-dot,
.document-addendum-form .document-preset-title {
  color: var(--peredacha-action-green-dark) !important;
  -webkit-text-fill-color: var(--peredacha-action-green-dark) !important;
}

.document-step-number,
.document-type-icon,
.document-upload-drop > span:first-of-type,
.document-help-list i {
  background: linear-gradient(180deg, #f5fbeb 0%, #ecf6dc 100%) !important;
  border-color: rgba(121, 191, 37, .24) !important;
  box-shadow: inset 0 0 0 1px rgba(121, 191, 37, .12) !important;
}

.document-choice-btn.is-active,
.document-choice-btn:hover,
.document-quick-btn:hover,
.document-owner-option:has(.form-check-input:checked),
.document-addendum-form .form-check-input:checked {
  background: var(--peredacha-action-green) !important;
  border-color: var(--peredacha-action-green-hover) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 10px 22px var(--peredacha-action-green-shadow) !important;
}

.glass-type-select,
.glass-type-choice:hover,
.glass-type-choice.is-active,
.material-selected-strip,
.material-tasks-table .material-select-row.is-selected td:first-child,
.assignment-assignee-edit-trigger:hover,
.assignment-assignee-edit-trigger:focus {
  border-color: rgba(121, 191, 37, .44) !important;
  color: var(--peredacha-action-green-dark) !important;
}

.glass-type-select {
  background-color: #f5fbeb !important;
}

.glass-type-choice.is-active {
  background: var(--peredacha-action-green) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 8px 18px rgba(121, 191, 37, .18) !important;
}

.material-selected-strip,
.assignment-assignee-edit-trigger:hover,
.assignment-assignee-edit-trigger:focus {
  background: #f5fbeb !important;
  box-shadow: 0 0 0 3px rgba(121, 191, 37, .12) !important;
}

.material-tasks-table .material-select-row.is-selected td:first-child {
  box-shadow: inset 4px 0 0 var(--peredacha-action-green) !important;
}

.worker-layout .sidebar-link.active,
.worker-layout .sidebar-link:hover,
.worker-layout .mobile-nav-item.active,
.worker-layout .mobile-nav-item:hover {
  color: #ffffff !important;
  background: linear-gradient(180deg, var(--peredacha-action-green) 0%, var(--peredacha-action-green-hover) 100%) !important;
  box-shadow: 0 10px 22px var(--peredacha-action-green-shadow) !important;
}

.worker-layout .sidebar-link:focus-visible,
.worker-layout .mobile-nav-item:focus-visible,
.worker-task-card:focus-within,
.worker-task-card:hover,
.my-task-card:focus-within,
.my-task-card:hover {
  outline: none !important;
  border-color: rgba(121, 191, 37, .44) !important;
  box-shadow: 0 12px 28px rgba(121, 191, 37, .12) !important;
}

.maintenance-logout-form {
  margin: 0;
}

.maintenance-logout-btn {
  min-width: 160px;
}

.maintenance-card .under-dev-icon i,
.under-dev-card .under-dev-icon i,
.empty-section-icon i {
  color: var(--peredacha-action-green-dark) !important;
  -webkit-text-fill-color: var(--peredacha-action-green-dark) !important;
}

.maintenance-card .under-dev-icon,
.under-dev-card .under-dev-icon,
.empty-section-icon {
  background: linear-gradient(180deg, #f5fbeb 0%, #ecf6dc 100%) !important;
  border-color: rgba(121, 191, 37, .22) !important;
  box-shadow: inset 0 0 0 1px rgba(121, 191, 37, .12), 0 12px 24px rgba(121, 191, 37, .10) !important;
}

.objects-topbar .btn-primary,
.object-form-panel .btn-primary,
.object-add-panel .btn-primary,
.object-form-actions .btn-primary {
  background: linear-gradient(180deg, var(--peredacha-action-green) 0%, var(--peredacha-action-green-hover) 100%) !important;
  border-color: var(--peredacha-action-green-hover) !important;
  box-shadow: 0 10px 22px var(--peredacha-action-green-shadow) !important;
}

.btn:focus,
.btn:focus-visible,
.dropdown-item:focus,
.page-link:focus,
.topbar-user:focus,
.topbar-icon:focus,
.sidebar-link:focus-visible,
a:focus-visible {
  box-shadow: 0 0 0 4px rgba(121, 191, 37, .16) !important;
  outline: none !important;
}


/* ======================================================================
   v161: iOS/PWA green icon + loader cleanup.
   Убираем оставшийся синий/фиолетовый из мобильной загрузки и WebApp.
   ====================================================================== */
:root {
  --peredacha-mobile-loader-green: #8dd62c;
  --peredacha-mobile-loader-green-hover: #7cc922;
  --peredacha-mobile-loader-green-dark: #5f9824;
  --peredacha-mobile-loader-gray: #565d62;
}

.site-page-loader,
.site-page-loader.js-success-loader,
.app-launch-loader,
body.mobile-dev-flag .mobile-dev-screen,
.mobile-loading-card {
  background:
    radial-gradient(circle at 18% 18%, rgba(141, 214, 44, .14), transparent 16rem),
    radial-gradient(circle at 82% 20%, rgba(141, 214, 44, .10), transparent 14rem),
    linear-gradient(180deg, #fefdfe 0%, #f7faef 100%) !important;
}

.site-page-loader-card,
.site-page-loader.js-success-loader .site-page-loader-card,
.app-launch-loader .site-page-loader-card,
.mobile-loading-card {
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,244,.98)) !important;
  border-color: rgba(141, 214, 44, .24) !important;
  box-shadow: 0 28px 90px rgba(86, 93, 98, .16) !important;
}

.site-page-loader .mobile-loading-orbit::before,
.site-page-loader.js-success-loader .mobile-loading-orbit::before,
.app-launch-loader .mobile-loading-orbit::before,
.mobile-loading-card .mobile-loading-orbit::before,
.mobile-loading-orbit::before {
  border-top-color: rgba(141, 214, 44, .96) !important;
  border-right-color: rgba(141, 214, 44, .28) !important;
  border-bottom-color: transparent !important;
  border-left-color: transparent !important;
}

.site-page-loader .mobile-loading-orbit::after,
.site-page-loader.js-success-loader .mobile-loading-orbit::after,
.app-launch-loader .mobile-loading-orbit::after,
.mobile-loading-card .mobile-loading-orbit::after,
.mobile-loading-orbit::after {
  border-bottom-color: rgba(124, 201, 34, .92) !important;
  border-left-color: rgba(141, 214, 44, .24) !important;
  border-top-color: transparent !important;
  border-right-color: transparent !important;
}

.site-page-loader .mobile-loading-orbit > span:nth-child(1),
.site-page-loader.js-success-loader .mobile-loading-orbit > span:nth-child(1),
.app-launch-loader .mobile-loading-orbit > span:nth-child(1),
.mobile-loading-card .mobile-loading-orbit > span:nth-child(1),
.mobile-loading-orbit > span:nth-child(1) {
  border-top-color: rgba(95, 152, 36, .38) !important;
  border-right-color: transparent !important;
  border-bottom-color: transparent !important;
  border-left-color: transparent !important;
  background: none !important;
}

.site-page-loader .mobile-loading-orbit > span:nth-child(2),
.site-page-loader.js-success-loader .mobile-loading-orbit > span:nth-child(2),
.app-launch-loader .mobile-loading-orbit > span:nth-child(2),
.mobile-loading-card .mobile-loading-orbit > span:nth-child(2),
.mobile-loading-orbit > span:nth-child(2) {
  border-right-color: rgba(141, 214, 44, .22) !important;
  border-top-color: transparent !important;
  border-bottom-color: transparent !important;
  border-left-color: transparent !important;
  background: none !important;
}

.site-page-loader .mobile-loading-orbit > span:nth-child(3),
.site-page-loader.js-success-loader .mobile-loading-orbit > span:nth-child(3),
.app-launch-loader .mobile-loading-orbit > span:nth-child(3),
.mobile-loading-card .mobile-loading-orbit > span:nth-child(3),
.mobile-loading-orbit > span:nth-child(3) {
  border-color: rgba(141, 214, 44, .16) !important;
  background: radial-gradient(circle, rgba(141, 214, 44, .12), transparent 68%) !important;
}

.site-page-loader .mobile-loading-mark,
.site-page-loader.js-success-loader .mobile-loading-mark,
.app-launch-loader .mobile-loading-mark,
.mobile-loading-card .mobile-loading-mark,
.mobile-loading-mark,
.ios-install-app-icon {
  background: linear-gradient(180deg, #9fdf4c 0%, #78bb24 100%) !important;
  border-color: rgba(141, 214, 44, .38) !important;
  box-shadow: 0 18px 42px rgba(141, 214, 44, .28) !important;
}

.mobile-loading-logo,
.mobile-loading-mark img,
.ios-install-app-icon-image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: inherit !important;
}

.mobile-loading-dots span,
.mobile-loading-card .mobile-loading-dots span {
  background: var(--peredacha-mobile-loader-green) !important;
}

@media (max-width: 768px) {
  body.app-body {
    background:
      radial-gradient(circle at 50% -15%, rgba(141, 214, 44, .13), transparent 19rem),
      #f7faef !important;
  }

  .mobile-app-topbar {
    background:
      radial-gradient(circle at 16% 0%, rgba(141, 214, 44, .12), transparent 12rem),
      linear-gradient(180deg, #23292f 0%, #1a1f24 100%) !important;
  }

  .mobile-top-avatar,
  .mobile-nav-item.active {
    color: var(--peredacha-mobile-loader-green-dark) !important;
  }
}

/* ======================================================================
   v162: green-only users focus + polished worker task interface.
   ====================================================================== */
:root {
  --peredacha-v162-green: #79bf25;
  --peredacha-v162-green-hover: #6aa81f;
  --peredacha-v162-green-dark: #5f9824;
  --peredacha-v162-soft: #f5fbeb;
  --peredacha-v162-soft-2: #eef7df;
  --peredacha-v162-border: rgba(121, 191, 37, .28);
  --peredacha-v162-ink: #111827;
  --peredacha-v162-muted: #565d62;
}

/* Users: remove Chrome/Bootstrap blue focus and password-manager fill tint. */
.users-page .users-create-form .form-control,
.users-page .users-create-form input.form-control,
.users-page .users-create-form textarea.form-control,
.users-page .users-create-form select.form-select {
  color-scheme: light !important;
  background-color: #ffffff !important;
  background-image: none !important;
  color: var(--peredacha-v162-ink) !important;
  border-color: rgba(121, 191, 37, .26) !important;
  caret-color: var(--peredacha-v162-green-dark) !important;
  -webkit-text-fill-color: var(--peredacha-v162-ink) !important;
  box-shadow: none !important;
  transition: border-color .16s ease, box-shadow .16s ease, background-color 999999s ease-in-out 0s !important;
}

.users-page .users-create-form .form-control:hover,
.users-page .users-create-form input.form-control:hover,
.users-page .users-create-form textarea.form-control:hover,
.users-page .users-create-form select.form-select:hover {
  background-color: #ffffff !important;
  border-color: rgba(121, 191, 37, .50) !important;
  box-shadow: 0 0 0 3px rgba(121, 191, 37, .08) !important;
}

.users-page .users-create-form .form-control:focus,
.users-page .users-create-form .form-control:focus-visible,
.users-page .users-create-form input.form-control:focus,
.users-page .users-create-form input.form-control:focus-visible,
.users-page .users-create-form textarea.form-control:focus,
.users-page .users-create-form textarea.form-control:focus-visible,
.users-page .users-create-form select.form-select:focus,
.users-page .users-create-form select.form-select:focus-visible {
  color-scheme: light !important;
  background-color: #ffffff !important;
  background-image: none !important;
  color: var(--peredacha-v162-ink) !important;
  -webkit-text-fill-color: var(--peredacha-v162-ink) !important;
  border-color: var(--peredacha-v162-green) !important;
  outline: none !important;
  box-shadow: inset 0 0 0 1000px #ffffff, 0 0 0 4px rgba(121, 191, 37, .15) !important;
}

.users-page .users-create-form input.form-control:-webkit-autofill,
.users-page .users-create-form input.form-control:-webkit-autofill:hover,
.users-page .users-create-form input.form-control:-webkit-autofill:focus,
.users-page .users-create-form input.form-control:-webkit-autofill:active,
.users-page .users-create-form textarea.form-control:-webkit-autofill,
.users-page .users-create-form textarea.form-control:-webkit-autofill:hover,
.users-page .users-create-form textarea.form-control:-webkit-autofill:focus,
.users-page .users-create-form textarea.form-control:-webkit-autofill:active {
  color-scheme: light !important;
  background-color: #ffffff !important;
  background-image: none !important;
  -webkit-text-fill-color: var(--peredacha-v162-ink) !important;
  caret-color: var(--peredacha-v162-green-dark) !important;
  -webkit-box-shadow: inset 0 0 0 1000px #ffffff, 0 0 0 4px rgba(121, 191, 37, .15) !important;
  box-shadow: inset 0 0 0 1000px #ffffff, 0 0 0 4px rgba(121, 191, 37, .15) !important;
  transition: background-color 999999s ease-in-out 0s, color 999999s ease-in-out 0s !important;
}

.users-page .users-create-card:focus-within {
  border-color: rgba(121, 191, 37, .28) !important;
  box-shadow: 0 18px 42px rgba(86, 93, 98, .10), 0 0 0 4px rgba(121, 191, 37, .06) !important;
}

.users-page .users-role-option:focus-within,
.users-page .users-role-option:has(.users-role-input:checked) {
  border-color: rgba(121, 191, 37, .58) !important;
  background: linear-gradient(180deg, #ffffff 0%, var(--peredacha-v162-soft) 100%) !important;
  box-shadow: 0 12px 24px rgba(121, 191, 37, .12) !important;
}

/* Worker roles: one clean branded interface for painters, glaziers and handymen. */
.worker-layout {
  background:
    radial-gradient(circle at 50% -120px, rgba(121, 191, 37, .18), transparent 380px),
    linear-gradient(180deg, #f8fbf2 0%, #ffffff 46%, #f6f8f3 100%) !important;
}

.worker-layout .app-topbar {
  min-height: 76px !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(121, 191, 37, .18), transparent 220px),
    linear-gradient(180deg, #1e2429 0%, #151a1f 100%) !important;
  border-bottom: 1px solid rgba(121, 191, 37, .13) !important;
  box-shadow: 0 12px 32px rgba(17, 24, 39, .16) !important;
}

.worker-layout .app-content {
  width: 100% !important;
  padding: clamp(18px, 3vw, 34px) clamp(14px, 4vw, 40px) 40px !important;
}

.worker-page-minimal {
  position: relative;
  max-width: 930px !important;
  margin: 0 auto !important;
}

.worker-day-head {
  position: relative;
  overflow: hidden;
  align-items: center !important;
  margin-bottom: 18px !important;
  padding: clamp(20px, 3vw, 28px) !important;
  border-radius: 28px !important;
  border: 1px solid rgba(121, 191, 37, .24) !important;
  background:
    radial-gradient(circle at 95% 6%, rgba(121, 191, 37, .18), transparent 180px),
    linear-gradient(180deg, #ffffff 0%, #fbfdf8 100%) !important;
  box-shadow: 0 22px 54px rgba(86, 93, 98, .12) !important;
}

.worker-day-head::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 6px;
  background: linear-gradient(180deg, var(--peredacha-v162-green) 0%, var(--peredacha-v162-green-hover) 100%);
}

.worker-day-head h1 {
  color: #000000 !important;
  letter-spacing: -0.04em !important;
  font-weight: 850 !important;
}

.worker-day-head p {
  color: var(--peredacha-v162-muted) !important;
  font-weight: 500 !important;
}

.worker-person-name {
  color: var(--peredacha-v162-green-dark) !important;
  -webkit-text-fill-color: var(--peredacha-v162-green-dark) !important;
  background: linear-gradient(180deg, var(--peredacha-v162-soft) 0%, var(--peredacha-v162-soft-2) 100%) !important;
  border: 1px solid rgba(121, 191, 37, .22) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .68) !important;
}

.worker-day-counts span {
  min-height: 42px !important;
  color: #111827 !important;
  background: #ffffff !important;
  border: 1px solid rgba(121, 191, 37, .25) !important;
  box-shadow: 0 10px 22px rgba(86, 93, 98, .06) !important;
}

.worker-day-counts b {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
}

.worker-task-list-minimal {
  gap: 14px !important;
}

.worker-task-card-minimal {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 18px !important;
  padding: 18px !important;
  border-radius: 24px !important;
  border: 1px solid rgba(121, 191, 37, .18) !important;
  background: rgba(255, 255, 255, .98) !important;
  box-shadow: 0 16px 38px rgba(86, 93, 98, .09) !important;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background-color .16s ease !important;
}

.worker-task-card-minimal:hover,
.worker-task-card-minimal:focus-within {
  transform: translateY(-1px);
  border-color: rgba(121, 191, 37, .42) !important;
  box-shadow: 0 20px 46px rgba(86, 93, 98, .12), 0 0 0 4px rgba(121, 191, 37, .07) !important;
}

.worker-task-card-minimal.done {
  background: linear-gradient(180deg, #ffffff 0%, #f5fbeb 100%) !important;
  border-color: rgba(121, 191, 37, .35) !important;
}

.worker-task-card-minimal.done::after {
  content: "";
  position: absolute;
  inset: 12px 12px auto auto;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--peredacha-v162-green);
  box-shadow: 0 0 0 6px rgba(121, 191, 37, .12);
}

.worker-task-meta-minimal {
  gap: 8px !important;
  margin-bottom: 10px !important;
}

.worker-task-meta-minimal span {
  min-height: 30px !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  color: #111827 !important;
  background: #f3f5f1 !important;
  border: 1px solid rgba(86, 93, 98, .08) !important;
  font-size: .84rem !important;
  font-weight: 750 !important;
  letter-spacing: -0.01em !important;
}

.worker-task-meta-minimal .worker-room {
  text-transform: lowercase !important;
  color: var(--peredacha-v162-green-dark) !important;
  -webkit-text-fill-color: var(--peredacha-v162-green-dark) !important;
  background: var(--peredacha-v162-soft) !important;
  border-color: rgba(121, 191, 37, .20) !important;
}

.worker-task-card-minimal .worker-task-text {
  color: #20252a !important;
  font-size: clamp(.98rem, .26vw + .92rem, 1.07rem) !important;
  line-height: 1.5 !important;
  font-weight: 650 !important;
}

.worker-task-card-minimal.done .worker-task-text {
  color: #565d62 !important;
  text-decoration-color: rgba(95, 152, 36, .58) !important;
}

.worker-task-status-zone {
  min-width: 188px !important;
  gap: 9px !important;
}

.worker-status-pill {
  border-radius: 999px !important;
  padding: 7px 11px !important;
  color: #111827 !important;
  background: #f4f7ef !important;
  border: 1px solid rgba(121, 191, 37, .16) !important;
  font-size: .82rem !important;
  font-weight: 800 !important;
  -webkit-text-fill-color: #111827 !important;
}

.worker-status-pill.bg-success,
.worker-task-card-minimal.done .worker-status-pill {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: linear-gradient(180deg, var(--peredacha-v162-green) 0%, var(--peredacha-v162-green-hover) 100%) !important;
  border-color: var(--peredacha-v162-green-hover) !important;
  box-shadow: 0 8px 18px rgba(121, 191, 37, .20) !important;
}

.worker-status-btn {
  min-height: 46px !important;
  min-width: 176px !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
}

.worker-status-btn-done {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: var(--peredacha-v162-green-hover) !important;
  background: linear-gradient(180deg, var(--peredacha-v162-green) 0%, var(--peredacha-v162-green-hover) 100%) !important;
  box-shadow: 0 12px 24px rgba(121, 191, 37, .22) !important;
}

.worker-status-btn-done:hover,
.worker-status-btn-done:focus,
.worker-status-btn-done:focus-visible {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: var(--peredacha-v162-green-dark) !important;
  background: linear-gradient(180deg, var(--peredacha-v162-green-hover) 0%, var(--peredacha-v162-green-dark) 100%) !important;
  box-shadow: 0 14px 28px rgba(95, 152, 36, .25) !important;
}

.worker-status-btn-return {
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
  border: 1px solid rgba(121, 191, 37, .30) !important;
  background: #ffffff !important;
  box-shadow: 0 10px 22px rgba(86, 93, 98, .08) !important;
}

.worker-status-btn-return:hover,
.worker-status-btn-return:focus,
.worker-status-btn-return:focus-visible {
  color: var(--peredacha-v162-green-dark) !important;
  -webkit-text-fill-color: var(--peredacha-v162-green-dark) !important;
  border-color: rgba(121, 191, 37, .50) !important;
  background: var(--peredacha-v162-soft) !important;
  box-shadow: 0 14px 28px rgba(121, 191, 37, .13) !important;
}

.worker-empty-card {
  border-color: rgba(121, 191, 37, .28) !important;
  background: rgba(255, 255, 255, .86) !important;
  box-shadow: 0 18px 42px rgba(86, 93, 98, .09) !important;
}

.worker-empty-card i {
  background: linear-gradient(180deg, var(--peredacha-v162-soft) 0%, var(--peredacha-v162-soft-2) 100%) !important;
  color: var(--peredacha-v162-green-dark) !important;
  -webkit-text-fill-color: var(--peredacha-v162-green-dark) !important;
  border: 1px solid rgba(121, 191, 37, .24) !important;
}

.worker-layout .topbar-user:hover,
.worker-layout .topbar-user:focus,
.worker-layout .topbar-user:focus-visible {
  background: rgba(121, 191, 37, .14) !important;
  box-shadow: 0 0 0 4px rgba(121, 191, 37, .14) !important;
}

.worker-layout .topbar-avatar,
.worker-layout .mobile-top-avatar,
.worker-layout .mobile-nav-item.active i {
  color: var(--peredacha-v162-green-dark) !important;
  -webkit-text-fill-color: var(--peredacha-v162-green-dark) !important;
}

@media (max-width: 720px) {
  .worker-layout .app-topbar {
    min-height: 68px !important;
  }
  .worker-layout .app-content {
    padding: 14px 12px calc(86px + env(safe-area-inset-bottom)) !important;
  }
  .worker-day-head,
  .worker-task-card-minimal {
    grid-template-columns: 1fr !important;
    border-radius: 22px !important;
  }
  .worker-day-head {
    align-items: flex-start !important;
    padding: 20px !important;
  }
  .worker-day-counts {
    width: 100%;
    justify-content: flex-start !important;
  }
  .worker-day-counts span {
    flex: 1 1 130px;
    justify-content: center;
  }
  .worker-task-status-zone,
  .worker-status-form-minimal,
  .worker-status-btn {
    width: 100% !important;
    min-width: 0 !important;
  }
  .worker-status-zone {
    justify-items: stretch !important;
  }
  .worker-status-pill {
    justify-self: start !important;
  }
}

/* ======================================================================
   v170: no-blue users, branded worker UI, account/2FA, green iOS/PWA.
   ====================================================================== */
:root {
  --peredacha-brand-green: #79bf25;
  --peredacha-brand-green-hover: #6aa81f;
  --peredacha-brand-green-dark: #5f9824;
  --peredacha-brand-soft: #f5fbeb;
  --peredacha-brand-soft-2: #eef7df;
  --peredacha-brand-gray: #565d62;
  --peredacha-brand-ink: #111827;
}

/* Users: final hard override against blue browser focus/autofill. */
body:has(.users-page) .form-control,
body:has(.users-page) input.form-control,
body:has(.users-page) textarea.form-control,
body:has(.users-page) .form-select,
body:has(.users-page) .developer-select-button {
  --bs-primary: var(--peredacha-brand-green) !important;
  --bs-focus-ring-color: rgba(121, 191, 37, .18) !important;
  --bs-border-color: rgba(121, 191, 37, .24) !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  color-scheme: light !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  border-color: rgba(121, 191, 37, .28) !important;
  outline: 0 !important;
  caret-color: var(--peredacha-brand-green-dark) !important;
  color: var(--peredacha-brand-ink) !important;
  -webkit-text-fill-color: var(--peredacha-brand-ink) !important;
  box-shadow: inset 0 0 0 1000px #ffffff !important;
}

body:has(.users-page) .form-control:hover,
body:has(.users-page) input.form-control:hover,
body:has(.users-page) textarea.form-control:hover,
body:has(.users-page) .form-select:hover,
body:has(.users-page) .developer-select-button:hover {
  background: #ffffff !important;
  border-color: rgba(121, 191, 37, .52) !important;
  box-shadow: inset 0 0 0 1000px #ffffff, 0 0 0 4px rgba(121, 191, 37, .08) !important;
}

body:has(.users-page) .form-control:focus,
body:has(.users-page) .form-control:focus-visible,
body:has(.users-page) input.form-control:focus,
body:has(.users-page) input.form-control:focus-visible,
body:has(.users-page) textarea.form-control:focus,
body:has(.users-page) textarea.form-control:focus-visible,
body:has(.users-page) .form-select:focus,
body:has(.users-page) .form-select:focus-visible,
body:has(.users-page) .developer-select-button:focus,
body:has(.users-page) .developer-select-button:focus-visible {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  border-color: var(--peredacha-brand-green) !important;
  outline: 0 !important;
  box-shadow: inset 0 0 0 1000px #ffffff, 0 0 0 4px rgba(121, 191, 37, .16) !important;
}

body:has(.users-page) input:-webkit-autofill,
body:has(.users-page) input:-webkit-autofill:hover,
body:has(.users-page) input:-webkit-autofill:focus,
body:has(.users-page) input:-webkit-autofill:active,
body:has(.users-page) textarea:-webkit-autofill,
body:has(.users-page) textarea:-webkit-autofill:hover,
body:has(.users-page) textarea:-webkit-autofill:focus,
body:has(.users-page) textarea:-webkit-autofill:active {
  -webkit-text-fill-color: var(--peredacha-brand-ink) !important;
  caret-color: var(--peredacha-brand-green-dark) !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  -webkit-box-shadow: 0 0 0 1000px #ffffff inset, 0 0 0 4px rgba(121, 191, 37, .14) !important;
  box-shadow: 0 0 0 1000px #ffffff inset, 0 0 0 4px rgba(121, 191, 37, .14) !important;
  transition: background-color 999999s ease-in-out 0s, color 999999s ease-in-out 0s !important;
}

.users-captcha-form {
  margin: 0;
}
.users-captcha-toggle {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  margin: 0;
  cursor: pointer;
  user-select: none;
}
.users-captcha-input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.users-captcha-toggle > span {
  width: 2.6rem;
  height: 1.45rem;
  position: relative;
  border-radius: 999px;
  border: 1px solid rgba(121, 191, 37, .32);
  background: #eaf2df;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.65);
}
.users-captcha-toggle > span::after {
  content: "";
  position: absolute;
  width: 1.05rem;
  height: 1.05rem;
  left: .18rem;
  top: .16rem;
  border-radius: 50%;
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(86,93,98,.16);
  transition: transform .16s ease, background-color .16s ease;
}
.users-captcha-input:checked + span {
  background: linear-gradient(180deg, var(--peredacha-brand-green), var(--peredacha-brand-green-hover));
  border-color: var(--peredacha-brand-green-hover);
}
.users-captcha-input:checked + span::after {
  transform: translateX(1.15rem);
}
.users-captcha-toggle small {
  min-width: 2rem;
  color: var(--peredacha-brand-gray);
  font-weight: 800;
}

/* Remarks/contractors selection: green only, no blue strip/fill. */
.remarks-export-scope .js-bulk-row.is-selected,
.remarks-export-scope .js-bulk-row.is-selected > *,
.remarks-export-scope .js-bulk-row.is-selected td,
.remarks-export-scope .task-row-link.is-selected > * {
  background: #f5fbeb !important;
  color: #111827 !important;
  box-shadow: none !important;
}
.remarks-export-scope .js-bulk-row.is-selected > *:first-child,
.remarks-export-scope .js-bulk-row.is-selected td:first-child {
  box-shadow: inset 4px 0 0 var(--peredacha-brand-green) !important;
}
.remarks-export-scope .form-check-input:checked,
.remarks-export-scope .remark-task-check:checked,
.remarks-export-scope .js-bulk-master:checked {
  background-color: var(--peredacha-brand-green) !important;
  border-color: var(--peredacha-brand-green-hover) !important;
  box-shadow: none !important;
}
.remarks-export-scope .form-check-input:focus,
.remarks-export-scope .remark-task-check:focus,
.remarks-export-scope .js-bulk-master:focus {
  border-color: var(--peredacha-brand-green) !important;
  box-shadow: 0 0 0 4px rgba(121,191,37,.14) !important;
}

/* Mapping: no save button; checkboxes save automatically. */
.mapping-autosave-note {
  display: inline-flex;
  align-items: center;
  min-height: 2.55rem;
  padding: .62rem .85rem;
  border-radius: 999px;
  color: var(--peredacha-brand-green-dark);
  background: var(--peredacha-brand-soft);
  border: 1px solid rgba(121, 191, 37, .24);
  font-weight: 800;
}
.js-mapping-autosave-form.is-autosaving .mapping-autosave-note {
  color: #111827;
  background: #ffffff;
}
.js-mapping-autosave-form .form-check-input:checked {
  background-color: var(--peredacha-brand-green) !important;
  border-color: var(--peredacha-brand-green-hover) !important;
}
.js-mapping-autosave-form .form-check-input:focus {
  box-shadow: 0 0 0 4px rgba(121, 191, 37, .15) !important;
}

/* Account page + 2FA setup. */
.account-page {
  max-width: 1060px;
  margin: 0 auto;
}
.account-grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 1rem;
}
.account-card {
  border: 1px solid rgba(121, 191, 37, .22) !important;
  border-radius: 1.5rem !important;
  background: rgba(255,255,255,.94) !important;
  box-shadow: 0 18px 44px rgba(86,93,98,.10) !important;
  overflow: hidden;
}
.account-card-title {
  display: flex;
  align-items: center;
  gap: .85rem;
  margin-bottom: 1rem;
}
.account-card-title > span {
  width: 3rem;
  height: 3rem;
  display: grid;
  place-items: center;
  border-radius: 1rem;
  color: var(--peredacha-brand-green-dark);
  background: var(--peredacha-brand-soft);
  border: 1px solid rgba(121,191,37,.22);
  font-size: 1.35rem;
}
.account-card-title h2 {
  margin: 0;
  color: #111827;
  font-size: 1.28rem;
  font-weight: 900;
  letter-spacing: -.03em;
}
.account-card-title p,
.account-security-text {
  margin: .12rem 0 0;
  color: var(--peredacha-brand-gray);
  font-weight: 600;
}
.account-profile-list {
  display: grid;
  gap: .55rem;
  margin: 0;
}
.account-profile-list div {
  display: grid;
  grid-template-columns: 8rem 1fr;
  gap: .75rem;
  padding: .75rem;
  border-radius: .95rem;
  background: #f9fbf5;
  border: 1px solid rgba(121,191,37,.14);
}
.account-profile-list dt {
  color: var(--peredacha-brand-gray);
  font-weight: 800;
}
.account-profile-list dd {
  margin: 0;
  color: #111827;
  font-weight: 850;
}
.account-security-status {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  min-height: 2.4rem;
  padding: .5rem .8rem;
  border-radius: 999px;
  color: #111827;
  background: #f3f5f1;
  border: 1px solid rgba(86,93,98,.12);
  font-weight: 850;
}
.account-security-status.is-enabled,
.account-security-status.is-pending {
  color: var(--peredacha-brand-green-dark);
  background: var(--peredacha-brand-soft);
  border-color: rgba(121,191,37,.28);
}
.account-2fa-setup {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  align-items: center;
  margin-top: 1rem;
  padding: .9rem;
  border-radius: 1.1rem;
  background: #f9fbf5;
  border: 1px solid rgba(121,191,37,.18);
}
.account-qr-box {
  width: 9.5rem;
  height: 9.5rem;
  display: grid;
  place-items: center;
  border-radius: 1rem;
  background: #ffffff;
  border: 1px solid rgba(121,191,37,.20);
}
.account-qr-box img {
  width: 8.8rem;
  height: 8.8rem;
  display: block;
}
.account-2fa-key label {
  display: block;
  margin-bottom: .35rem;
  color: var(--peredacha-brand-gray);
  font-weight: 850;
}
.account-2fa-key code {
  display: block;
  width: 100%;
  padding: .7rem .8rem;
  border-radius: .8rem;
  color: #111827;
  background: #ffffff;
  border: 1px solid rgba(121,191,37,.22);
  font-size: .94rem;
  white-space: normal;
  word-break: break-all;
}
.account-2fa-key small {
  display: block;
  margin-top: .45rem;
  color: var(--peredacha-brand-gray);
  line-height: 1.35;
}
.account-code-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .65rem;
}
.account-code-row .form-control,
.login-2fa-wrap .form-control {
  border-color: rgba(121,191,37,.26) !important;
  box-shadow: none !important;
}
.account-code-row .form-control:focus,
.login-2fa-wrap .form-control:focus {
  border-color: var(--peredacha-brand-green) !important;
  box-shadow: 0 0 0 4px rgba(121,191,37,.15) !important;
}
.account-enable-2fa-btn,
.account-enable-2fa-btn:hover,
.account-enable-2fa-btn:focus-visible {
  color: #ffffff !important;
}

/* Worker interface: branded, calm and readable for painters/glaziers/handymen. */
.worker-layout .sidebar-brand-link,
.worker-layout .sidebar-link.active,
.worker-layout .mobile-nav-item.active {
  color: var(--peredacha-brand-green-dark) !important;
}
.worker-layout .app-sidebar {
  background: linear-gradient(180deg, #ffffff 0%, #f8fbf2 100%) !important;
  border-right: 1px solid rgba(121,191,37,.14) !important;
}
.worker-layout .app-topbar .topbar-user,
.worker-layout .app-topbar .dropdown-menu .dropdown-item {
  color: #ffffff !important;
}
.worker-layout .app-topbar .dropdown-menu .dropdown-item {
  color: #111827 !important;
}
.worker-day-head {
  background:
    radial-gradient(circle at 94% 5%, rgba(121,191,37,.22), transparent 10rem),
    linear-gradient(180deg, #ffffff 0%, #f7fbef 100%) !important;
}
.worker-day-head::after {
  content: "";
  position: absolute;
  right: -3.5rem;
  bottom: -4.25rem;
  width: 12rem;
  height: 12rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(121,191,37,.13), transparent 65%);
  pointer-events: none;
}
.worker-task-card-minimal {
  border-color: rgba(121,191,37,.20) !important;
  background: linear-gradient(180deg, #ffffff 0%, #fdfefb 100%) !important;
}
.worker-empty-card h2 {
  color: #111827 !important;
  font-weight: 900 !important;
}
.worker-empty-card p {
  color: var(--peredacha-brand-gray) !important;
}

/* iOS/auth green assets and install prompt. */
.brand-mark,
.mobile-loading-mark,
.ios-install-app-icon,
.ios-install-button-logo {
  background: linear-gradient(180deg, #9fdf4c 0%, #78bb24 100%) !important;
  border: 1px solid rgba(121,191,37,.25) !important;
  box-shadow: 0 14px 34px rgba(121,191,37,.18) !important;
}
.brand-mark-image,
.mobile-loading-logo,
.ios-install-app-icon-image,
.ios-install-button-logo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: inherit !important;
}
.mobile-loading-orbit > span:nth-child(1),
.mobile-loading-orbit > span:nth-child(2),
.mobile-loading-orbit > span:nth-child(3),
.mobile-loading-orbit::before,
.mobile-loading-orbit::after {
  filter: none !important;
}
.mobile-loading-orbit > span:nth-child(1) {
  border-top-color: rgba(95,152,36,.40) !important;
  border-right-color: transparent !important;
  border-bottom-color: transparent !important;
  border-left-color: transparent !important;
}
.mobile-loading-orbit::after {
  border-bottom-color: rgba(121,191,37,.92) !important;
  border-left-color: rgba(121,191,37,.24) !important;
}
.ios-install-button {
  margin-left: auto !important;
  margin-right: auto !important;
  transform: translateX(1.05rem);
  color: var(--peredacha-brand-green-dark) !important;
  border-color: rgba(121,191,37,.26) !important;
  background: #f5fbeb !important;
}
.ios-install-button-logo {
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
  border-radius: .38rem;
  overflow: hidden;
}
.mobile-auth-signature {
  display: none;
  margin-top: .85rem;
  text-align: center;
  color: #565d62;
  font-size: .82rem;
  font-weight: 850;
}
.ios-install-body-minimal {
  padding-top: .3rem !important;
}
.ios-install-steps-arrows li {
  grid-template-columns: 2rem 1fr !important;
}
.ios-install-steps-arrows li > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .6rem;
}
.ios-install-steps-arrows .bi-arrow-right {
  color: var(--peredacha-brand-green-dark);
  font-size: 1.1rem;
}
.ios-install-note,
.ios-install-body-minimal > p {
  display: none !important;
}
.ios-install-actions .btn {
  background: linear-gradient(180deg, var(--peredacha-brand-green), var(--peredacha-brand-green-hover)) !important;
  border-color: var(--peredacha-brand-green-hover) !important;
  color: #ffffff !important;
}

@media (max-width: 768px) {
  body.auth-body .floating-error-corner {
    display: none !important;
  }
  body.auth-body .auth-footer {
    display: none !important;
  }
  .mobile-auth-signature {
    display: block;
  }
  .ios-install-button {
    margin-top: .85rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
    transform: translateX(1.05rem);
  }
  .account-grid,
  .account-2fa-setup,
  .account-code-row {
    grid-template-columns: 1fr;
  }
  .account-profile-list div {
    grid-template-columns: 1fr;
    gap: .25rem;
  }
}

.ios-install-button {
  display: flex !important;
  width: max-content !important;
  max-width: calc(100% - 2rem) !important;
}

/* ======================================================================
   v172: remarks visibility, 2FA QR, users captcha, neutral worker top.
   ====================================================================== */
.users-page .form-control,
.users-page input.form-control,
.users-page textarea.form-control,
.users-page .form-select,
.users-page .users-create-form .form-control,
.users-page .users-create-form .form-select {
  --bs-primary: var(--peredacha-brand-green) !important;
  --bs-focus-ring-color: rgba(121, 191, 37, .18) !important;
  --bs-border-color: rgba(121, 191, 37, .28) !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  border-color: rgba(121, 191, 37, .28) !important;
  outline: 0 !important;
  caret-color: var(--peredacha-brand-green-dark) !important;
  color: var(--peredacha-brand-ink) !important;
  -webkit-text-fill-color: var(--peredacha-brand-ink) !important;
  box-shadow: inset 0 0 0 1000px #ffffff !important;
}
.users-page .form-control:hover,
.users-page input.form-control:hover,
.users-page textarea.form-control:hover,
.users-page .form-select:hover,
.users-page .users-create-form .form-control:hover,
.users-page .users-create-form .form-select:hover,
.users-page .form-control:focus,
.users-page .form-control:focus-visible,
.users-page input.form-control:focus,
.users-page input.form-control:focus-visible,
.users-page textarea.form-control:focus,
.users-page textarea.form-control:focus-visible,
.users-page .form-select:focus,
.users-page .form-select:focus-visible,
.users-page .users-create-form .form-control:focus,
.users-page .users-create-form .form-control:focus-visible,
.users-page .users-create-form .form-select:focus,
.users-page .users-create-form .form-select:focus-visible {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  border-color: var(--peredacha-brand-green) !important;
  outline: 0 !important;
  box-shadow: inset 0 0 0 1000px #ffffff, 0 0 0 4px rgba(121, 191, 37, .16) !important;
}
.users-page input:-webkit-autofill,
.users-page input:-webkit-autofill:hover,
.users-page input:-webkit-autofill:focus,
.users-page input:-webkit-autofill:active,
.users-page textarea:-webkit-autofill,
.users-page textarea:-webkit-autofill:hover,
.users-page textarea:-webkit-autofill:focus,
.users-page textarea:-webkit-autofill:active {
  -webkit-text-fill-color: var(--peredacha-brand-ink) !important;
  caret-color: var(--peredacha-brand-green-dark) !important;
  -webkit-box-shadow: 0 0 0 1000px #ffffff inset, 0 0 0 4px rgba(121, 191, 37, .14) !important;
  box-shadow: 0 0 0 1000px #ffffff inset, 0 0 0 4px rgba(121, 191, 37, .14) !important;
  transition: background-color 999999s ease-in-out 0s, color 999999s ease-in-out 0s !important;
}
.users-captcha-toggle > span {
  background: #e9ecef !important;
  border-color: rgba(86, 93, 98, .22) !important;
}
.users-captcha-input:checked + span {
  background: linear-gradient(180deg, var(--peredacha-brand-green), var(--peredacha-brand-green-hover)) !important;
  border-color: var(--peredacha-brand-green-hover) !important;
}
.users-captcha-input:not(:checked) + span::after {
  transform: translateX(0) !important;
}
.users-captcha-input:checked + span::after {
  transform: translateX(1.15rem) !important;
}

.account-profile-list dt {
  font-weight: 900 !important;
}
.account-profile-list dd {
  font-weight: 500 !important;
  color: #20252a !important;
}
.account-qr-box-empty {
  grid-template-rows: auto auto;
  gap: .3rem;
  color: var(--peredacha-brand-gray);
  font-size: .78rem;
  font-weight: 800;
  text-align: center;
}
.account-qr-box-empty i {
  color: var(--peredacha-brand-green-dark);
  font-size: 2.25rem;
}

.worker-day-head {
  border-color: rgba(86, 93, 98, .12) !important;
  background: #ffffff !important;
  box-shadow: 0 16px 38px rgba(86, 93, 98, .08) !important;
}
.worker-day-head::before,
.worker-day-head::after {
  display: none !important;
  content: none !important;
}
.worker-person-name {
  color: #565d62 !important;
  -webkit-text-fill-color: #565d62 !important;
  background: #f4f6f8 !important;
  border-color: rgba(86, 93, 98, .12) !important;
  box-shadow: none !important;
}
.worker-day-counts span {
  border-color: rgba(86, 93, 98, .12) !important;
  box-shadow: 0 8px 18px rgba(86, 93, 98, .05) !important;
}
.worker-layout .topbar-avatar,
.worker-layout .mobile-top-avatar,
.worker-layout .mobile-nav-item.active i {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.worker-layout .topbar-avatar {
  background: rgba(255, 255, 255, .08) !important;
  border: 0 !important;
}
.worker-layout .topbar-user:hover,
.worker-layout .topbar-user:focus,
.worker-layout .topbar-user:focus-visible {
  background: transparent !important;
  box-shadow: none !important;
}
.worker-status-pill,
.worker-status-btn,
.worker-status-btn span {
  font-family: var(--crm-font-sans) !important;
  letter-spacing: -.012em !important;
}
.worker-status-pill {
  font-size: .86rem !important;
  font-weight: 720 !important;
}
.worker-status-btn {
  font-size: .94rem !important;
  font-weight: 760 !important;
}


/* ======================================================================
   v173: documents/addendum checks, favicon restore support, account text cleanup.
   ====================================================================== */
.document-addendum-form .form-check-input {
  width: 1.15rem !important;
  height: 1.15rem !important;
  min-width: 1.15rem !important;
  flex: 0 0 1.15rem !important;
  margin: 0 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  background-color: #ffffff !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: .72rem .72rem !important;
  border: 1.5px solid rgba(86, 93, 98, .34) !important;
  box-shadow: none !important;
}

.document-addendum-form .form-check-input[type="radio"] {
  border-radius: 50% !important;
}

.document-addendum-form .form-check-input[type="checkbox"] {
  border-radius: .35rem !important;
}

.document-addendum-form .form-check-input:checked {
  background-color: var(--peredacha-action-green) !important;
  border-color: var(--peredacha-action-green-hover) !important;
  box-shadow: 0 0 0 3px rgba(121, 191, 37, .13) !important;
}

.document-addendum-form .form-check-input[type="radio"]:checked {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2.35' fill='%23fff'/%3e%3c/svg%3e") !important;
}

.document-addendum-form .form-check-input[type="checkbox"]:checked {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e") !important;
}

.document-addendum-form .form-check-input:focus,
.document-addendum-form .form-check-input:focus-visible {
  border-color: var(--peredacha-action-green-hover) !important;
  box-shadow: 0 0 0 4px rgba(121, 191, 37, .16) !important;
  outline: none !important;
}

.document-result-actions .btn-success i,
.document-result-actions .btn-success .bi,
.document-result-actions .btn-success i::before,
.document-result-actions .btn-success .bi::before {
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.account-card-title {
  margin-bottom: .85rem !important;
}

.account-security-status,
.account-security-status span {
  font-weight: 500 !important;
}

.account-security-status i {
  font-weight: 400 !important;
}

.account-profile-list dt {
  font-weight: 900 !important;
}

.account-profile-list dd {
  font-weight: 500 !important;
}

/* Worker roles: hide the left brand in the topbar and tint the user name chip. */
.worker-layout .worker-topbar-brand {
  min-width: 1px !important;
  min-height: 2.25rem !important;
}

.worker-layout .worker-topbar-brand-link {
  display: none !important;
}

.worker-layout .worker-person-name {
  color: #4f8f16 !important;
  -webkit-text-fill-color: #4f8f16 !important;
  background: linear-gradient(180deg, #f3faea 0%, #eaf6dc 100%) !important;
  border-color: rgba(121, 191, 37, .36) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .75), 0 8px 18px rgba(121, 191, 37, .10) !important;
}

/* Mobile app navigation and iOS standalone refinements. */
@supports (min-height: 100dvh) {
  html,
  body,
  .app-layout,
  .objects-layout,
  .documents-standalone-layout,
  .auth-shell,
  .maintenance-screen {
    min-height: 100dvh;
  }
}

html,
body {
  max-width: 100%;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
}

input,
select,
textarea {
  font-size: max(16px, 1rem);
}

@media (max-width: 767.98px) {
  .mobile-bottom-nav {
    grid-template-columns: repeat(var(--mobile-nav-count, 4), minmax(0, 1fr)) !important;
    gap: clamp(.08rem, .8vw, .18rem) !important;
    min-height: 64px !important;
    padding: .42rem clamp(.28rem, 1.6vw, .48rem) !important;
    padding-bottom: calc(.42rem + max(0px, env(safe-area-inset-bottom) * .12)) !important;
    border-radius: clamp(.95rem, 4vw, 1.2rem) !important;
  }

  .mobile-nav-item,
  .mobile-bottom-nav .mobile-menu-toggle {
    min-height: 50px !important;
    padding-inline: .08rem !important;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }

  .mobile-nav-item i {
    font-size: clamp(1rem, 4.4vw, 1.16rem) !important;
  }

  .mobile-nav-item span {
    font-size: clamp(.58rem, 2.55vw, .68rem) !important;
    letter-spacing: -.02em !important;
  }

  .app-content,
  .objects-content,
  .documents-content {
    padding-bottom: calc(92px + env(safe-area-inset-bottom)) !important;
  }

  .modal-dialog {
    margin: max(.75rem, env(safe-area-inset-top)) max(.75rem, env(safe-area-inset-right)) max(.75rem, env(safe-area-inset-bottom)) max(.75rem, env(safe-area-inset-left)) !important;
  }
}

@media (max-width: 340px) {
  .mobile-bottom-nav {
    left: max(.32rem, env(safe-area-inset-left)) !important;
    right: max(.32rem, env(safe-area-inset-right)) !important;
  }

  .mobile-nav-item span {
    font-size: .56rem !important;
  }
}

/* Mobile auth install prompt: centered CTA and polished iOS-style card. */
body.auth-body .mobile-auth-signature {
  display: none !important;
}

body.auth-body .ios-install-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: fit-content !important;
  max-width: min(100%, 18rem);
  min-height: 3rem;
  margin: .9rem auto 0 !important;
  padding: .62rem 1rem !important;
  transform: none !important;
  border-radius: 999px !important;
  color: #4f8f16 !important;
  background: linear-gradient(180deg, #f8fff1 0%, #edf8df 100%) !important;
  border: 1px solid rgba(121, 191, 37, .34) !important;
  box-shadow: 0 14px 30px rgba(121, 191, 37, .12) !important;
}

body.auth-body .ios-install-button[hidden] {
  display: none !important;
}

body.auth-body .login-form {
  display: flex;
  flex-direction: column;
}

body.auth-body .ios-install-button-logo {
  width: 1.45rem !important;
  height: 1.45rem !important;
  border-radius: .46rem !important;
}

body.auth-body .ios-install-modal {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .86) !important;
  border-radius: clamp(1.55rem, 6vw, 2.35rem) !important;
  padding: clamp(1.25rem, 4.5vw, 2rem) !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(121, 191, 37, .16), transparent 15rem),
    linear-gradient(180deg, rgba(255, 255, 255, .98) 0%, rgba(253, 254, 251, .98) 100%) !important;
  box-shadow: 0 24px 70px rgba(17, 24, 39, .22), inset 0 0 0 1px rgba(255, 255, 255, .68) !important;
}

body.auth-body .ios-install-modal::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 18% 12%, rgba(121, 191, 37, .12), transparent 9rem),
    radial-gradient(circle at 94% 2%, rgba(121, 191, 37, .10), transparent 11rem);
}

body.auth-body .ios-install-modal > * {
  position: relative;
  z-index: 1;
}

body.auth-body .ios-install-hero {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr);
  gap: clamp(1rem, 4vw, 1.45rem) !important;
  align-items: center !important;
  margin-bottom: clamp(1.25rem, 4vw, 1.8rem) !important;
}

body.auth-body .ios-install-app-icon {
  width: clamp(5rem, 18vw, 6.4rem) !important;
  height: clamp(5rem, 18vw, 6.4rem) !important;
  border-radius: clamp(1.25rem, 4.5vw, 1.65rem) !important;
  box-shadow: 0 18px 34px rgba(121, 191, 37, .22) !important;
}

body.auth-body .ios-install-eyebrow {
  margin-bottom: .28rem;
  color: #62b315 !important;
  font-size: clamp(.82rem, 3.4vw, 1rem) !important;
  font-weight: 950 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase;
}

body.auth-body .ios-install-modal h2 {
  margin: 0 !important;
  color: #111827 !important;
  font-size: clamp(1.55rem, 7vw, 2.35rem) !important;
  line-height: 1.04 !important;
  font-weight: 950 !important;
  letter-spacing: -.045em !important;
}

body.auth-body .ios-install-subtitle {
  margin: .65rem 0 0 !important;
  color: #565d62 !important;
  font-size: clamp(1rem, 4.2vw, 1.25rem) !important;
  line-height: 1.28 !important;
  font-weight: 650 !important;
}

body.auth-body .ios-install-body-minimal {
  padding: 0 !important;
}

body.auth-body .ios-install-steps {
  display: grid !important;
  gap: .78rem !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.auth-body .ios-install-steps-arrows li {
  display: grid !important;
  grid-template-columns: 3.15rem minmax(0, 1fr) !important;
  align-items: center;
  min-height: 4.5rem;
  gap: .9rem;
  padding: .82rem 1rem !important;
  border-radius: 1.25rem !important;
  background: rgba(255, 255, 255, .92) !important;
  border: 1px solid rgba(213, 223, 239, .76) !important;
  box-shadow: 0 12px 26px rgba(17, 24, 39, .07) !important;
}

body.auth-body .ios-install-steps li > span {
  display: grid !important;
  place-items: center;
  width: 3rem !important;
  height: 3rem !important;
  border-radius: 1rem !important;
  color: #67b916 !important;
  background: linear-gradient(180deg, #f1f9e8, #e6f4d7) !important;
  font-size: 1.62rem !important;
  font-weight: 950 !important;
}

body.auth-body .ios-install-steps-arrows li > div {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: .85rem;
  color: #111827 !important;
  font-size: clamp(1rem, 4.5vw, 1.35rem) !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
}

body.auth-body .ios-install-steps-arrows li > div strong {
  font-weight: 950 !important;
}

body.auth-body .ios-install-steps-arrows li > div > strong:first-child:last-child {
  justify-self: end;
  font-size: 1.45rem;
  letter-spacing: .14em;
}

body.auth-body .ios-install-steps-arrows li i {
  color: #111827 !important;
  font-size: 1.9rem !important;
}

body.auth-body .ios-install-actions {
  margin-top: 1.45rem !important;
}

body.auth-body .ios-install-actions::before {
  content: "✦";
  display: block;
  width: auto;
  margin: 0 auto .7rem;
  color: #8dd62c;
  text-align: center;
  line-height: 1;
  background: none !important;
}

body.auth-body .ios-install-actions .btn {
  min-height: 3.8rem !important;
  border-radius: 1.05rem !important;
  font-size: 1.2rem !important;
  font-weight: 950 !important;
  box-shadow: 0 18px 34px rgba(95, 152, 36, .26) !important;
}

@media (max-width: 430px) {
  body.auth-body .ios-install-modal {
    max-height: calc(100dvh - 2rem);
    overflow-y: auto;
    padding: .9rem !important;
    border-radius: 1.45rem !important;
  }

  body.auth-body .ios-install-hero {
    grid-template-columns: 3.9rem minmax(0, 1fr);
    gap: .82rem !important;
    margin-bottom: .85rem !important;
  }

  body.auth-body .ios-install-app-icon {
    width: 3.9rem !important;
    height: 3.9rem !important;
    border-radius: 1rem !important;
  }

  body.auth-body .ios-install-eyebrow {
    margin-bottom: .14rem !important;
    font-size: .72rem !important;
    letter-spacing: .07em !important;
  }

  body.auth-body .ios-install-modal h2 {
    font-size: clamp(1.55rem, 8vw, 1.95rem) !important;
    line-height: .98 !important;
    letter-spacing: -.055em !important;
  }

  body.auth-body .ios-install-subtitle {
    margin-top: .38rem !important;
    font-size: .98rem !important;
    line-height: 1.2 !important;
  }

  body.auth-body .ios-install-steps {
    gap: .55rem !important;
  }

  body.auth-body .ios-install-steps-arrows li {
    grid-template-columns: 2.35rem minmax(0, 1fr) !important;
    min-height: 3.35rem;
    gap: .64rem;
    padding: .52rem .64rem !important;
    border-radius: .96rem !important;
  }

  body.auth-body .ios-install-steps li > span {
    width: 2.24rem !important;
    height: 2.24rem !important;
    border-radius: .72rem !important;
    font-size: 1.16rem !important;
  }

  body.auth-body .ios-install-steps-arrows li > div {
    gap: .45rem;
    font-size: clamp(.88rem, 4.4vw, 1.05rem) !important;
    line-height: 1.12 !important;
  }

  body.auth-body .ios-install-steps-arrows li i {
    font-size: 1.42rem !important;
  }

  body.auth-body .ios-install-steps-arrows li > div > strong:first-child:last-child {
    font-size: 1.05rem;
    letter-spacing: .1em;
  }

  body.auth-body .ios-install-actions {
    margin-top: .8rem !important;
  }

  body.auth-body .ios-install-actions .btn {
    min-height: 3.1rem !important;
    border-radius: .88rem !important;
    font-size: 1rem !important;
  }
}

@media (max-width: 380px) {
  body.auth-body .ios-install-modal {
    padding: .78rem !important;
  }

  body.auth-body .ios-install-modal h2 {
    font-size: 1.55rem !important;
  }

  body.auth-body .ios-install-subtitle {
    font-size: .9rem !important;
  }

  body.auth-body .ios-install-steps-arrows li {
    min-height: 3.05rem;
    padding: .46rem .56rem !important;
  }

  body.auth-body .ios-install-steps li > span {
    width: 2.04rem !important;
    height: 2.04rem !important;
    font-size: 1.04rem !important;
  }

  body.auth-body .ios-install-steps-arrows li > div {
    font-size: .88rem !important;
  }
}

.account-2fa-disable-form .btn-danger,
.account-2fa-disable-form .btn-danger:hover,
.account-2fa-disable-form .btn-danger:focus,
.account-2fa-disable-form .btn-danger:active,
.account-2fa-disable-form .btn-danger:focus-visible,
.account-2fa-disable-form .btn-danger *,
.account-2fa-disable-form .btn-danger:hover *,
.account-2fa-disable-form .btn-danger:focus *,
.account-2fa-disable-form .btn-danger:active * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Compact iOS install modal: keep all instructions readable on small iPhones. */
body.auth-body #iosInstallModal .modal-dialog {
  width: min(92vw, 25rem) !important;
  max-width: min(92vw, 25rem) !important;
}

body.auth-body #iosInstallModal .ios-install-modal {
  max-height: min(88dvh, 42rem) !important;
  overflow-y: auto !important;
  padding: clamp(.82rem, 3.6vw, 1.15rem) !important;
  border-radius: clamp(1.1rem, 4.4vw, 1.55rem) !important;
}

body.auth-body #iosInstallModal .ios-install-hero {
  grid-template-columns: clamp(3.2rem, 13vw, 4.2rem) minmax(0, 1fr) !important;
  gap: .82rem !important;
  margin-bottom: .82rem !important;
}

body.auth-body #iosInstallModal .ios-install-app-icon {
  width: clamp(3.2rem, 13vw, 4.2rem) !important;
  height: clamp(3.2rem, 13vw, 4.2rem) !important;
  border-radius: .95rem !important;
}

body.auth-body #iosInstallModal .ios-install-eyebrow {
  margin-bottom: .12rem !important;
  font-size: clamp(.66rem, 2.8vw, .78rem) !important;
}

body.auth-body #iosInstallModal .ios-install-modal h2 {
  font-size: clamp(1.35rem, 6.6vw, 1.9rem) !important;
  line-height: 1 !important;
}

body.auth-body #iosInstallModal .ios-install-subtitle {
  margin-top: .34rem !important;
  font-size: clamp(.84rem, 3.8vw, 1rem) !important;
  line-height: 1.18 !important;
}

body.auth-body #iosInstallModal .ios-install-steps {
  gap: .5rem !important;
}

body.auth-body #iosInstallModal .ios-install-steps-arrows li {
  grid-template-columns: 2.1rem minmax(0, 1fr) !important;
  min-height: 3.05rem !important;
  gap: .55rem !important;
  padding: .48rem .58rem !important;
  border-radius: .85rem !important;
}

body.auth-body #iosInstallModal .ios-install-steps li > span {
  width: 2rem !important;
  height: 2rem !important;
  border-radius: .64rem !important;
  font-size: 1rem !important;
}

body.auth-body #iosInstallModal .ios-install-steps-arrows li > div {
  gap: .38rem !important;
  font-size: clamp(.82rem, 3.9vw, .98rem) !important;
  line-height: 1.1 !important;
}

body.auth-body #iosInstallModal .ios-install-steps-arrows li i {
  font-size: 1.24rem !important;
}

body.auth-body #iosInstallModal .ios-install-actions {
  margin-top: .65rem !important;
}

body.auth-body #iosInstallModal .ios-install-actions::before {
  width: auto !important;
  margin: 0 auto .5rem !important;
  color: #8dd62c !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.auth-body #iosInstallModal .ios-install-actions .btn {
  min-height: 2.85rem !important;
  border-radius: .78rem !important;
  font-size: .98rem !important;
}

/* Mobile/iOS polish v180: app-like navigation and compact working screens. */
html.standalone-app,
html.standalone-app body,
body.standalone-app {
  min-height: 100dvh !important;
  background: #f7faef !important;
  overflow-x: hidden !important;
}

body.standalone-app {
  padding-bottom: 0 !important;
}

body.standalone-app .site-page-loader,
html.standalone-app .site-page-loader {
  inset: 0 !important;
  width: 100vw !important;
  min-height: 100dvh !important;
  height: 100dvh !important;
  padding-bottom: env(safe-area-inset-bottom) !important;
  background:
    radial-gradient(circle at 50% 39%, rgba(141, 214, 44, .18), transparent 28rem),
    linear-gradient(180deg, #fbfff4 0%, #f6faef 100%) !important;
}

@supports not (height: 100dvh) {
  body.standalone-app .site-page-loader,
  html.standalone-app .site-page-loader {
    min-height: -webkit-fill-available !important;
    height: -webkit-fill-available !important;
  }
}

@media (max-width: 767.98px) {
  body.app-body {
    min-height: 100dvh;
    background: #f7faef;
    padding-bottom: calc(5.8rem + env(safe-area-inset-bottom));
    overflow-x: hidden;
  }

  body.app-body.worker-layout,
  body:has(.worker-layout) {
    padding-bottom: env(safe-area-inset-bottom);
  }

  .mobile-app-topbar {
    grid-template-columns: 2.65rem minmax(0, 1fr);
    gap: .75rem;
    padding: calc(.7rem + env(safe-area-inset-top)) .9rem .65rem;
  }

  .mobile-app-topbar-worker {
    display: flex;
    justify-content: flex-start;
    padding: calc(.72rem + env(safe-area-inset-top)) 1rem .38rem;
    background: transparent;
    box-shadow: none;
  }

  .mobile-app-topbar-worker .mobile-top-avatar {
    width: 2.9rem;
    height: 2.9rem;
    border-radius: 999px;
    box-shadow: 0 12px 28px rgba(103, 178, 24, .24);
  }

  .mobile-top-title {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .app-layout > .mobile-menu-toggle {
    display: none !important;
  }

  .mobile-bottom-nav {
    left: .72rem;
    right: .72rem;
    bottom: max(.62rem, env(safe-area-inset-bottom));
    width: auto;
    grid-template-columns: repeat(var(--mobile-nav-count), minmax(0, 1fr));
    padding: .52rem;
    border-radius: 1.35rem;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 18px 42px rgba(22, 32, 18, .14);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
  }

  .mobile-nav-item {
    min-width: 0;
    min-height: 3.45rem;
    border-radius: 1rem;
    padding: .42rem .18rem;
  }

  .mobile-nav-item span {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: .72rem;
  }

  .worker-layout .mobile-bottom-nav {
    display: none !important;
  }

  .worker-layout .app-main,
  .worker-layout .app-content {
    padding-top: .2rem !important;
  }

  .worker-layout .app-topbar,
  .worker-layout .app-sidebar,
  .worker-layout .mobile-sidebar-backdrop {
    display: none !important;
  }

  .objects-topbar .object-add-button,
  .app-topbar .topbar-actions .topbar-icon {
    display: none !important;
  }

  .app-topbar .topbar-project,
  .objects-topbar .topbar-project,
  .documents-topbar .topbar-project {
    border: 0 !important;
    box-shadow: none !important;
  }

  .app-topbar .topbar-project .btn-outline-light,
  .objects-topbar .topbar-project .btn-outline-light,
  .documents-topbar .topbar-project .btn-outline-light {
    border-color: transparent !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .dashboard-page.dashboard-redesign .dashboard-roadmap-mini-card,
  .dashboard-page.dashboard-redesign .dashboard-section-redesign,
  .dashboard-page.dashboard-redesign .dashboard-specialists-grid,
  .dashboard-roadmap-modal {
    display: none !important;
  }

  .account-page {
    padding: .15rem .75rem calc(5.65rem + env(safe-area-inset-bottom));
  }

  .account-page-head {
    display: none !important;
  }

  .account-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: .72rem;
    max-width: 100%;
  }

  .account-card {
    border-radius: 1.05rem !important;
    box-shadow: 0 14px 36px rgba(20, 32, 18, .08) !important;
  }

  .account-card .card-body {
    padding: .86rem !important;
  }

  .account-card-title {
    gap: .58rem;
    margin-bottom: .62rem;
  }

  .account-card-title > span {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: .74rem;
  }

  .account-card-title h2 {
    font-size: 1rem !important;
    line-height: 1.18;
  }

  .account-profile-list {
    gap: .42rem !important;
  }

  .account-profile-list > div {
    min-height: 2.4rem;
    padding: .54rem .62rem !important;
    border-radius: .72rem !important;
  }

  .account-profile-list dt,
  .account-profile-list dd {
    font-size: .86rem !important;
  }

  .account-security-text {
    margin-bottom: .2rem;
    font-size: .88rem;
    line-height: 1.32;
  }

  .account-2fa-setup {
    grid-template-columns: 5.7rem minmax(0, 1fr) !important;
    gap: .65rem !important;
    align-items: center;
  }

  .account-qr-box {
    width: 5.7rem !important;
    min-height: 5.7rem !important;
    padding: .35rem !important;
  }

  .account-2fa-key code {
    max-width: 100%;
    white-space: normal;
    word-break: break-all;
    font-size: .72rem;
  }

  .account-code-row {
    grid-template-columns: 1fr;
    gap: .55rem;
  }

  .account-code-row .btn,
  .account-enable-2fa-btn {
    min-height: 2.75rem;
    width: 100%;
  }

  .remarks-page-head {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: .75rem;
    padding: .82rem .9rem !important;
    border-radius: 1.12rem !important;
  }

  .remarks-page-head .page-title {
    font-size: 1.34rem !important;
    line-height: 1.06;
  }

  .remarks-page-head .page-subtitle {
    margin-top: .2rem;
    font-size: .83rem;
  }

  .remarks-page-head .remarks-excel-options-toggle,
  .remarks-page-head .remarks-export-btn,
  .remarks-page-head .js-remark-export-submit {
    display: none !important;
  }

  .remarks-page-head .btn-success {
    width: 100%;
    min-height: 2.75rem;
    border-radius: .85rem;
  }

  .remarks-tabs {
    margin: .72rem 0 !important;
    padding: .1rem .1rem .2rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .remarks-tabs .crm-tabs {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    gap: .45rem !important;
    min-width: max-content;
  }

  .remarks-tabs .nav-link {
    min-height: 2.35rem;
    padding: .52rem .82rem !important;
    border-radius: 999px !important;
    font-size: .84rem !important;
    white-space: nowrap;
    background: #fff;
    border: 1px solid rgba(128, 183, 69, .22);
    box-shadow: 0 8px 20px rgba(20, 32, 18, .06);
  }

  .remarks-tabs .nav-link.active {
    color: #fff !important;
    background: linear-gradient(135deg, #8bd62b, #5ead17) !important;
    border-color: transparent !important;
  }

  .remarks-filter-form {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .62rem !important;
  }

  .remarks-filter-form > [class*="col-"] {
    width: 100%;
    max-width: 100%;
    padding: 0 !important;
  }

  .remarks-filter-form .form-label {
    margin-bottom: .24rem;
    font-size: .75rem;
    letter-spacing: .045em;
    text-transform: uppercase;
    color: #7a8377;
  }

  .remarks-filter-form .form-control,
  .remarks-filter-form .form-select,
  .remarks-filter-form .developer-select-button {
    min-height: 2.85rem !important;
    border-radius: .84rem !important;
    font-size: 1rem !important;
  }

  .remarks-filter-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: .55rem !important;
  }

  .remarks-filter-actions .btn {
    width: 100%;
    min-height: 2.75rem;
    border-radius: .84rem;
  }

  .remarks-export-table-shell {
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .remarks-export-table-shell .card-body,
  .remarks-export-table-shell .table-responsive {
    overflow: visible !important;
  }

  .remarks-export-table-shell table,
  .remarks-export-table-shell thead,
  .remarks-export-table-shell tbody,
  .remarks-export-table-shell tr,
  .remarks-export-table-shell td {
    display: block !important;
    width: 100% !important;
  }

  .remarks-export-table-shell thead {
    display: none !important;
  }

  .remarks-export-table-shell tbody {
    display: grid !important;
    gap: .72rem;
  }

  .remarks-export-table-shell tbody tr {
    position: relative;
    padding: .82rem !important;
    border: 1px solid rgba(128, 183, 69, .22) !important;
    border-radius: 1.05rem !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 14px 34px rgba(20, 32, 18, .08) !important;
  }

  .remarks-export-table-shell td {
    border: 0 !important;
    padding: .32rem 0 !important;
    background: transparent !important;
  }

  .remarks-export-table-shell .assignment-check-cell {
    display: none !important;
  }

  .remarks-export-table-shell .task-col-finish,
  .remarks-export-table-shell .task-col-mode,
  .remarks-export-table-shell .task-col-date,
  .remarks-export-table-shell .task-col-status {
    display: none !important;
  }

  .remarks-export-table-shell .task-card-finish-cell,
  .remarks-export-table-shell .task-card-mode-cell,
  .remarks-export-table-shell .task-card-deadline-cell,
  .remarks-export-table-shell .task-status-cell {
    display: grid !important;
    grid-template-columns: 5.4rem minmax(0, 1fr);
    gap: .45rem;
    align-items: center;
    font-size: .88rem;
  }

  .remarks-export-table-shell .task-card-finish-cell::before,
  .remarks-export-table-shell .task-card-mode-cell::before,
  .remarks-export-table-shell .task-card-deadline-cell::before,
  .remarks-export-table-shell .task-status-cell::before,
  .remarks-export-table-shell .task-text::before,
  .remarks-export-table-shell .task-actions-cell::before {
    content: attr(data-label);
    display: block;
    color: #7d8a78;
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .remarks-export-table-shell .task-text::before,
  .remarks-export-table-shell .task-actions-cell::before {
    margin-bottom: .28rem;
  }

  .remarks-export-table-shell .task-card-premise-cell {
    display: inline-flex !important;
    width: auto !important;
    max-width: 100%;
    margin-bottom: .38rem;
    padding: .22rem .55rem !important;
    border-radius: 999px;
    background: #eef9e6 !important;
    color: #4c951a;
    font-weight: 850;
  }

  .remarks-export-table-shell .task-text {
    font-size: .98rem !important;
    line-height: 1.45 !important;
    color: #1f271e;
  }

  .remarks-export-table-shell .task-text .inline-text {
    display: block;
    max-height: 12.5rem;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }

  .remarks-export-table-shell .inline-edit-btn {
    margin-top: .55rem;
    width: 2.55rem;
    height: 2.55rem;
    border-radius: .8rem;
  }

  .remarks-export-table-shell .actions-cell {
    display: flex !important;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: .42rem;
    padding-top: .45rem;
  }

  .remarks-export-table-shell .actions-cell .btn {
    min-width: 2.5rem;
    min-height: 2.5rem;
    border-radius: .78rem;
  }

  .floating-error-corner {
    right: .9rem;
    bottom: calc(6.15rem + env(safe-area-inset-bottom));
  }
}

/* Final mobile/iOS overrides v181. Keep this block last. */
html.standalone-app,
html.standalone-app body,
body.standalone-app,
body.standalone-app.app-body {
  min-height: 100dvh !important;
  background: #f7faef !important;
  overflow-x: hidden !important;
}

body.standalone-app.app-body {
  padding-bottom: calc(4.5rem + env(safe-area-inset-bottom)) !important;
}

@media (max-width: 767.98px) {
  html,
  body,
  body * {
    -webkit-tap-highlight-color: transparent !important;
  }

  .mobile-project-topbar {
    position: sticky !important;
    top: 0 !important;
    z-index: 1035 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: .7rem !important;
    padding: calc(.74rem + env(safe-area-inset-top)) .78rem .74rem !important;
    color: #fff !important;
    background: linear-gradient(135deg, #111a20, #1d252c) !important;
    border-bottom: 1px solid rgba(255, 255, 255, .12) !important;
    box-shadow: 0 12px 28px rgba(8, 16, 20, .16) !important;
  }

  .mobile-project-title {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: .98rem !important;
    font-weight: 950 !important;
  }

  .mobile-project-change {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 2.25rem !important;
    padding: 0 .72rem !important;
    border-radius: .72rem !important;
    color: #fff !important;
    text-decoration: none !important;
    font-size: .78rem !important;
    font-weight: 850 !important;
    background: rgba(255, 255, 255, .1) !important;
    border: 1px solid rgba(255, 255, 255, .16) !important;
  }

  .app-layout > .app-main > .app-topbar {
    display: none !important;
  }

  .documents-standalone-layout > .objects-topbar,
  .objects-layout > .objects-topbar {
    display: none !important;
  }

  .mobile-bottom-nav {
    bottom: env(safe-area-inset-bottom) !important;
    padding: .44rem !important;
    border-radius: 1.22rem !important;
    background: rgba(255, 255, 255, .96) !important;
  }

  body.standalone-app .mobile-bottom-nav {
    bottom: 0 !important;
    padding-bottom: max(.44rem, env(safe-area-inset-bottom)) !important;
  }

  .mobile-nav-item.active {
    color: #fff !important;
    background: linear-gradient(135deg, #83d925, #57ad13) !important;
    box-shadow: 0 12px 28px rgba(93, 177, 20, .3) !important;
    opacity: 1 !important;
  }

  .mobile-nav-item.active i,
  .mobile-nav-item.active span {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    opacity: 1 !important;
  }

  .task-row-link:hover,
  .task-row-link:focus,
  .task-row-link:active,
  .assignment-task-row:hover,
  .assignment-task-row:focus,
  .assignment-task-row:active,
  .apartment-card:hover,
  .apartment-card:focus-within,
  .apartment-card:active,
  .apartment-card-link:hover,
  .apartment-card-link:focus,
  .apartment-card-link:active,
  .remarks-export-scope .js-bulk-row.is-selected,
  .remarks-export-scope .js-bulk-row.is-selected > *,
  .assignment-shell .js-bulk-row.is-selected td,
  .assignment-task-row.is-selected td {
    background: #fff !important;
    transform: none !important;
    box-shadow: 0 14px 34px rgba(20, 32, 18, .08) !important;
  }

  .apartment-card-link,
  .apartment-card-link *,
  .task-row-link,
  .assignment-task-row {
    -webkit-tap-highlight-color: transparent !important;
  }

  .account-logout-form {
    margin-top: .72rem !important;
  }

  .account-logout-btn {
    width: 100% !important;
    min-height: 2.75rem !important;
    border-radius: .82rem !important;
    font-weight: 850 !important;
  }

  .dashboard-page.dashboard-redesign,
  .dashboard-info-columns {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  .dashboard-page.dashboard-redesign > *:last-child {
    margin-bottom: 0 !important;
  }

  .remarks-tabs {
    overflow: visible !important;
  }

  .remarks-tabs .crm-tabs {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    min-width: 0 !important;
    width: 100% !important;
    gap: .45rem !important;
    justify-content: stretch !important;
  }

  .remarks-tabs .crm-tabs.justify-content-end {
    margin-top: .45rem !important;
  }

  .remarks-tabs .nav-item {
    min-width: 0 !important;
  }

  .remarks-tabs .nav-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: .5rem .45rem !important;
    font-size: .78rem !important;
    text-align: center !important;
  }

  .remarks-tab-icon {
    margin-right: .3rem !important;
    font-size: .95rem !important;
    line-height: 1 !important;
  }

  .remarks-export-table-shell .status-pill,
  .remarks-export-table-shell .badge,
  .remarks-export-table-shell .deadline-badge,
  .remarks-export-table-shell .glass-ordered-badge,
  .task-card-mode-cell .status-pill,
  .apartments-page .status-pill,
  .apartments-page .deadline-badge,
  .apartments-page .glass-ordered-badge,
  .assignment-contractor-table .badge,
  .assignment-issued-table .badge {
    display: inline-flex !important;
    width: fit-content !important;
    max-width: 100% !important;
    justify-self: start !important;
    align-self: center !important;
    white-space: nowrap !important;
  }

  .apartment-card-top {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    gap: .42rem !important;
  }

  .apartment-card-top > div:first-child {
    flex: 0 0 100% !important;
  }

  .assignments-page-head {
    display: none !important;
  }

  .assignment-subtabs {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: .48rem !important;
    margin: .72rem 0 !important;
    padding: .1rem !important;
  }

  .assignment-subtab {
    min-height: 2.6rem !important;
    justify-content: center !important;
    border-radius: .9rem !important;
    font-size: .84rem !important;
  }

  .assignment-subtab.active {
    color: #fff !important;
    background: linear-gradient(135deg, #83d925, #57ad13) !important;
    border-color: transparent !important;
  }

  .assignment-toolbar-grid-restored {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .72rem !important;
  }

  .assignment-search-card-compact,
  .assignment-smart-card-compact,
  .assignment-shell,
  .assignment-issued-card {
    border-radius: 1.05rem !important;
    border: 1px solid rgba(128, 183, 69, .18) !important;
    box-shadow: 0 14px 34px rgba(20, 32, 18, .08) !important;
  }

  .assignment-search-form-compact,
  .assignment-smart-form,
  .assignment-bulk-form-restored {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .62rem !important;
  }

  .assignment-search-actions,
  .assignment-smart-actions,
  .assignment-bulk-panel-restored-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: .55rem !important;
    width: 100% !important;
  }

  .assignment-smart-actions,
  .assignment-bulk-panel-restored-actions {
    grid-template-columns: 1fr !important;
  }

  .assignment-search-actions .btn,
  .assignment-smart-actions .btn,
  .assignment-bulk-panel-restored-actions .btn,
  .assignment-bulk-form-restored .form-control,
  .assignment-smart-form .form-control,
  .assignment-search-form-compact .form-control,
  .assignment-page-custom-select .developer-select-button {
    min-height: 2.75rem !important;
    border-radius: .84rem !important;
  }

  .assignment-contractor-table,
  .assignment-contractor-table thead,
  .assignment-contractor-table tbody,
  .assignment-contractor-table tr,
  .assignment-contractor-table td,
  .assignment-issued-table,
  .assignment-issued-table thead,
  .assignment-issued-table tbody,
  .assignment-issued-table tr,
  .assignment-issued-table td {
    display: block !important;
    width: 100% !important;
  }

  .assignment-contractor-table thead,
  .assignment-contractor-table colgroup,
  .assignment-issued-table thead,
  .assignment-issued-table colgroup {
    display: none !important;
  }

  .assignment-contractor-table tbody,
  .assignment-issued-table tbody {
    display: grid !important;
    gap: .72rem !important;
    padding: .72rem !important;
  }

  .assignment-contractor-table tbody tr,
  .assignment-issued-row {
    padding: .8rem !important;
    border: 1px solid rgba(128, 183, 69, .2) !important;
    border-radius: 1rem !important;
    background: #fff !important;
    box-shadow: 0 12px 28px rgba(20, 32, 18, .07) !important;
  }

  .assignment-contractor-table td,
  .assignment-issued-table td {
    border: 0 !important;
    padding: .28rem 0 !important;
    background: transparent !important;
  }

  .assignment-contractor-table .assignment-check-cell {
    display: flex !important;
    justify-content: flex-end !important;
    padding-bottom: .2rem !important;
  }

  .assignment-contractor-table .assignment-room-pill,
  .assignment-contractor-table .assignment-user-pill,
  .assignment-contractor-table .assignment-user-empty,
  .assignment-issued-table .assignment-room-pill {
    width: fit-content !important;
    max-width: 100% !important;
  }
}

/* v182 final override: hidden mobile mode uses the same loader as login/logout. */
body.mobile-dev-flag .mobile-dev-screen.site-page-loader {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  min-width: 100vw !important;
  height: 100vh !important;
  min-height: 100vh !important;
  height: 100dvh !important;
  min-height: 100dvh !important;
  padding: max(env(safe-area-inset-top), 1rem) 1rem max(env(safe-area-inset-bottom), 1rem) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 50% 40%, rgba(141, 214, 44, .16), transparent 22rem),
    linear-gradient(180deg, #fbfdf7 0%, #f7faef 100%) !important;
  z-index: 9999 !important;
}

body.mobile-dev-flag .mobile-dev-screen.site-page-loader .site-page-loader-card {
  margin: 0 auto !important;
}

body.mobile-dev-flag .mobile-dev-screen .mobile-loading-dots {
  display: none !important;
}

/* v183 true final override: iOS install hint and bottom nav scroll boundary. */
body.auth-body .ios-install-button span:last-child {
  white-space: nowrap !important;
}

body.auth-body #iosInstallModal .modal-dialog {
  width: min(90vw, 24rem) !important;
  max-width: min(90vw, 24rem) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.auth-body #iosInstallModal .ios-install-modal {
  max-height: min(86dvh, 39rem) !important;
  padding: clamp(.72rem, 3vw, 1rem) !important;
}

body.auth-body #iosInstallModal .ios-install-hero {
  grid-template-columns: clamp(3rem, 12vw, 3.8rem) minmax(0, 1fr) !important;
  gap: .72rem !important;
}

body.auth-body #iosInstallModal .ios-install-modal h2 {
  font-size: clamp(1.35rem, 5.8vw, 1.78rem) !important;
  line-height: 1.02 !important;
}

body.auth-body #iosInstallModal .ios-install-subtitle {
  font-size: clamp(.82rem, 3.5vw, .96rem) !important;
  line-height: 1.16 !important;
}

body.auth-body #iosInstallModal .ios-install-steps-arrows li {
  grid-template-columns: 2rem minmax(0, 1fr) !important;
  align-items: center !important;
  gap: .48rem !important;
  min-height: 2.85rem !important;
  padding: .42rem .54rem !important;
}

body.auth-body #iosInstallModal .ios-install-steps-arrows li > div {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: .45rem !important;
  min-width: 0 !important;
  width: 100% !important;
}

body.auth-body #iosInstallModal .ios-step-text {
  min-width: 0 !important;
  line-height: 1.08 !important;
}

body.auth-body #iosInstallModal .ios-step-symbol,
body.auth-body #iosInstallModal .ios-install-steps-arrows li i {
  justify-self: end !important;
  margin: 0 !important;
  white-space: nowrap !important;
  line-height: 1 !important;
}

body.auth-body #iosInstallModal .ios-install-steps-arrows li i {
  font-size: 1.3rem !important;
}

body.auth-body #iosInstallModal .ios-step-symbol {
  font-size: clamp(.78rem, 3.4vw, .92rem) !important;
}

body.auth-body #iosInstallModal .ios-install-actions::before {
  content: "*" !important;
}

@media (max-width: 767.98px) {
  body.app-body {
    padding-bottom: 0 !important;
  }

  body.app-body:not(.worker-layout) .app-main,
  body.app-body:not(.worker-layout) .objects-content,
  body.app-body:not(.worker-layout) .documents-standalone-content {
    padding-bottom: calc(5.05rem + env(safe-area-inset-bottom)) !important;
  }

  body.app-body:not(.worker-layout) .mobile-bottom-nav {
    bottom: 0 !important;
    margin-bottom: env(safe-area-inset-bottom) !important;
  }

  html.standalone-app body.app-body:not(.worker-layout) .mobile-bottom-nav,
  body.standalone-app.app-body:not(.worker-layout) .mobile-bottom-nav {
    bottom: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: max(.44rem, env(safe-area-inset-bottom)) !important;
  }
}

/* ======================================================================
   v186: mobile-only iOS/PWA app polish. Desktop styles are intentionally
   untouched: everything below is scoped to phone widths or iOS standalone.
   ====================================================================== */
:root {
  --ios-app-height: var(--app-height, 100dvh);
  --ios-safe-top: env(safe-area-inset-top, 0px);
  --ios-safe-right: env(safe-area-inset-right, 0px);
  --ios-safe-bottom: env(safe-area-inset-bottom, 0px);
  --ios-safe-left: env(safe-area-inset-left, 0px);
}

@media (max-width: 767.98px) {
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 100svh;
    min-height: var(--ios-app-height) !important;
    overflow-x: clip !important;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    touch-action: manipulation;
    background: #f7faef !important;
  }

  body.app-body,
  body.auth-body {
    min-height: var(--ios-app-height) !important;
    overscroll-behavior-y: none;
    -webkit-font-smoothing: antialiased;
  }

  body.app-body:not(.worker-layout) {
    padding-bottom: 0 !important;
  }

  body.app-body:not(.worker-layout) .app-main,
  body.app-body:not(.worker-layout) .objects-content,
  body.app-body:not(.worker-layout) .documents-content,
  body.app-body:not(.worker-layout) .documents-standalone-content {
    padding-left: max(.74rem, var(--ios-safe-left)) !important;
    padding-right: max(.74rem, var(--ios-safe-right)) !important;
    padding-bottom: calc(6.35rem + var(--ios-safe-bottom)) !important;
  }

  body.worker-layout .app-main,
  body.app-body .worker-layout .app-main {
    padding-bottom: calc(1.25rem + var(--ios-safe-bottom)) !important;
  }

  .mobile-app-topbar,
  .mobile-project-topbar {
    position: sticky !important;
    top: 0 !important;
    z-index: 1040 !important;
    min-height: calc(3.75rem + var(--ios-safe-top)) !important;
    padding-top: calc(.58rem + var(--ios-safe-top)) !important;
    padding-left: max(.82rem, var(--ios-safe-left)) !important;
    padding-right: max(.82rem, var(--ios-safe-right)) !important;
    padding-bottom: .62rem !important;
    border-bottom: 1px solid rgba(255,255,255,.16) !important;
    background: linear-gradient(135deg, rgba(79,86,91,.98), rgba(44,51,55,.98)) !important;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .18) !important;
    backdrop-filter: saturate(130%) blur(16px);
    -webkit-backdrop-filter: saturate(130%) blur(16px);
  }

  .mobile-project-topbar {
    grid-template-columns: minmax(0, 1fr) auto !important;
  }

  .app-layout:not(.worker-layout) .mobile-project-title {
    padding-left: 3.25rem !important;
  }

  .mobile-project-title,
  .mobile-top-title {
    color: #fff !important;
    font-size: clamp(.98rem, 4.1vw, 1.12rem) !important;
    line-height: 1.1 !important;
    letter-spacing: -.01em !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .mobile-project-change {
    min-height: 2.34rem !important;
    padding: 0 .72rem !important;
    border-radius: .88rem !important;
    background: rgba(255,255,255,.12) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
  }

  .mobile-menu-toggle {
    top: calc(.58rem + var(--ios-safe-top)) !important;
    left: max(.72rem, var(--ios-safe-left)) !important;
    z-index: 1046 !important;
    width: 2.54rem !important;
    min-width: 2.54rem !important;
    height: 2.54rem !important;
    min-height: 2.54rem !important;
    padding: 0 !important;
    border-radius: .92rem !important;
    background: rgba(255,255,255,.14) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(15,23,42,.18) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
  }

  .mobile-menu-toggle span {
    display: none !important;
  }

  .mobile-menu-toggle i {
    color: #fff !important;
    font-size: 1.35rem !important;
  }

  .app-sidebar {
    width: min(86vw, 21.5rem) !important;
    min-height: var(--ios-app-height) !important;
    max-height: var(--ios-app-height) !important;
    padding-top: calc(1rem + var(--ios-safe-top)) !important;
    padding-left: max(.85rem, var(--ios-safe-left)) !important;
    padding-bottom: calc(1.2rem + var(--ios-safe-bottom)) !important;
    background: linear-gradient(180deg, #565d62, #42494e) !important;
    -webkit-overflow-scrolling: touch;
  }

  .mobile-sidebar-backdrop {
    min-height: var(--ios-app-height) !important;
  }

  .mobile-bottom-nav {
    position: fixed !important;
    left: max(.48rem, var(--ios-safe-left)) !important;
    right: max(.48rem, var(--ios-safe-right)) !important;
    bottom: max(.42rem, var(--ios-safe-bottom)) !important;
    z-index: 1038 !important;
    display: grid !important;
    grid-template-columns: repeat(var(--mobile-nav-count, 5), minmax(0, 1fr)) !important;
    gap: .26rem !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: .38rem !important;
    padding-bottom: max(.38rem, calc(.38rem + var(--ios-safe-bottom) * .18)) !important;
    border-radius: 1.28rem !important;
    background: rgba(255,255,255,.94) !important;
    border: 1px solid rgba(121,191,37,.20) !important;
    box-shadow: 0 18px 46px rgba(26, 35, 22, .18) !important;
    backdrop-filter: saturate(135%) blur(18px);
    -webkit-backdrop-filter: saturate(135%) blur(18px);
  }

  html.standalone-app body.app-body:not(.worker-layout) .mobile-bottom-nav,
  body.standalone-app.app-body:not(.worker-layout) .mobile-bottom-nav {
    bottom: max(.32rem, var(--ios-safe-bottom)) !important;
    padding-bottom: max(.38rem, calc(.38rem + var(--ios-safe-bottom) * .2)) !important;
  }

  .mobile-nav-item {
    min-width: 0 !important;
    min-height: 3.2rem !important;
    padding: .42rem .18rem !important;
    border-radius: .96rem !important;
    color: #565d62 !important;
    text-decoration: none !important;
    background: transparent !important;
    box-shadow: none !important;
    transition: transform .14s ease, background-color .14s ease, box-shadow .14s ease !important;
  }

  .mobile-nav-item i {
    font-size: 1.16rem !important;
    line-height: 1 !important;
    color: currentColor !important;
  }

  .mobile-nav-item span {
    display: block !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: clamp(.59rem, 2.55vw, .72rem) !important;
    line-height: 1.05 !important;
    letter-spacing: -.015em !important;
    color: currentColor !important;
  }

  .mobile-nav-item.active {
    color: #fff !important;
    background: linear-gradient(135deg, #8dd62c, #6fb820) !important;
    box-shadow: 0 12px 26px rgba(111, 184, 32, .30) !important;
    transform: translateY(-1px);
  }

  .mobile-nav-item:active {
    transform: scale(.97);
  }

  .auth-shell {
    min-height: var(--ios-app-height) !important;
    justify-content: center !important;
    padding: max(1rem, var(--ios-safe-top)) max(.78rem, var(--ios-safe-right)) calc(6.4rem + var(--ios-safe-bottom)) max(.78rem, var(--ios-safe-left)) !important;
    overflow-x: clip !important;
  }

  .login-wrap,
  .login-card,
  .registration-request-modal,
  .account-card,
  .content-card,
  .filter-card,
  .table-shell,
  .assignment-issued-card,
  .assignment-shell,
  .material-form-card,
  .materials-animated-card,
  .object-card,
  .apartment-card {
    max-width: 100% !important;
    border-radius: 1.24rem !important;
    box-shadow: 0 16px 38px rgba(30, 42, 25, .09) !important;
  }

  .card-body,
  .content-card .card-body,
  .filter-card .card-body,
  .table-shell .card-body,
  .login-card .card-body {
    padding: clamp(.88rem, 3.7vw, 1.08rem) !important;
  }

  .page-head,
  .remarks-page-head,
  .materials-page-head,
  .dashboard-head,
  .objects-head,
  .glass-card-header,
  .assignment-page-head {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .72rem !important;
    align-items: stretch !important;
  }

  .page-title,
  .dashboard-title,
  .objects-title {
    font-size: clamp(1.32rem, 7vw, 1.72rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em !important;
  }

  .page-subtitle,
  .dashboard-subtitle,
  .objects-subtitle,
  .text-muted,
  .small,
  small {
    overflow-wrap: anywhere;
  }

  .btn,
  button,
  .form-control,
  .form-select,
  select.mobile-native-select,
  .developer-select-button {
    min-height: 2.82rem !important;
    border-radius: .88rem !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
  }

  .btn-sm,
  .form-control-sm,
  .form-select-sm {
    min-height: 2.48rem !important;
    border-radius: .76rem !important;
    font-size: 15px !important;
  }

  input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]),
  select,
  textarea {
    font-size: 16px !important;
    max-width: 100% !important;
    -webkit-appearance: none;
    appearance: none;
    color-scheme: light;
  }

  input[type="checkbox"],
  input[type="radio"] {
    min-height: auto !important;
    -webkit-appearance: auto !important;
    appearance: auto !important;
  }

  input[type="date"],
  input[type="time"],
  input[type="datetime-local"],
  select.mobile-native-select {
    -webkit-appearance: none !important;
    appearance: none !important;
    background-color: #fff !important;
  }

  textarea.form-control {
    min-height: 7.5rem !important;
    resize: vertical;
  }

  .form-control:focus,
  .form-select:focus,
  select.mobile-native-select:focus,
  textarea.form-control:focus,
  .developer-select-button:focus,
  .developer-select-button:focus-visible {
    border-color: #8dd62c !important;
    box-shadow: 0 0 0 4px rgba(141, 214, 44, .16) !important;
    outline: 0 !important;
  }

  .row,
  form.row,
  .filters,
  .search-form,
  .crm-filter-form,
  .glass-filter-form,
  .materials-filter-form,
  .assignment-search-form-compact,
  .assignment-smart-form,
  .material-form-footer,
  .object-form-actions,
  .dashboard-actions,
  .materials-actions,
  .filter-actions,
  .apartment-avr-actions,
  .apartment-po-form-inline,
  .apartment-po-row {
    min-width: 0 !important;
  }

  .row > [class*="col-"],
  form.row > [class*="col-"],
  .crm-filter-form > *,
  .glass-filter-form > *,
  .materials-filter-form > * {
    min-width: 0 !important;
  }

  .d-flex.gap-2,
  .action-buttons,
  .materials-actions,
  .dashboard-actions,
  .modal-actions,
  .object-form-actions,
  .apartment-avr-actions,
  .material-form-footer,
  .assignment-search-actions,
  .assignment-smart-actions,
  .assignment-bulk-panel-restored-actions {
    gap: .55rem !important;
  }

  .d-flex.gap-2 > .btn,
  .materials-actions .btn,
  .dashboard-actions .btn,
  .object-form-actions .btn,
  .apartment-avr-actions .btn,
  .material-form-footer .btn,
  .assignment-search-actions .btn,
  .assignment-smart-actions .btn,
  .assignment-bulk-panel-restored-actions .btn {
    min-width: 0 !important;
  }

  .table-responsive,
  .materials-table-responsive,
  .glass-ordered-table-responsive,
  .assignment-table-wrap,
  .assignment-issued-table-wrap {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: clip !important;
    border-radius: 1.12rem !important;
  }

  .mobile-card-table,
  .mobile-card-table thead,
  .mobile-card-table tbody,
  .mobile-card-table tr,
  .mobile-card-table th,
  .mobile-card-table td {
    width: 100% !important;
  }

  .mobile-card-table thead,
  .mobile-card-table colgroup {
    display: none !important;
  }

  .mobile-card-table tbody {
    display: grid !important;
    gap: .76rem !important;
    padding: .72rem !important;
    background: #f7faef !important;
  }

  .mobile-card-table tbody tr {
    display: block !important;
    width: 100% !important;
    overflow: hidden !important;
    border: 1px solid rgba(121, 191, 37, .18) !important;
    border-radius: 1.08rem !important;
    background: #fff !important;
    box-shadow: 0 12px 28px rgba(30, 42, 25, .075) !important;
  }

  .mobile-card-table td {
    display: grid !important;
    grid-template-columns: minmax(5.9rem, 34%) minmax(0, 1fr) !important;
    gap: .72rem !important;
    align-items: start !important;
    min-width: 0 !important;
    padding: .7rem .78rem !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(121, 191, 37, .10) !important;
    background: transparent !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  .mobile-card-table td:last-child {
    border-bottom: 0 !important;
  }

  .mobile-card-table td::before {
    content: attr(data-label);
    min-width: 0 !important;
    color: #565d62 !important;
    font-size: .74rem !important;
    font-weight: 900 !important;
    line-height: 1.18 !important;
    text-transform: none !important;
    opacity: .9;
  }

  .mobile-card-table td:not([data-label])::before,
  .mobile-card-table td[data-label=""]::before {
    content: "";
  }

  .mobile-card-table td > * {
    max-width: 100% !important;
  }

  .mobile-card-table .btn,
  .mobile-card-table form,
  .mobile-card-table .actions-cell,
  .mobile-card-table .status-action-form,
  .mobile-card-table .assignment-issued-actions {
    min-width: 0 !important;
  }

  .mobile-card-table td[data-label="Действия"],
  .mobile-card-table td[data-label="Статус"],
  .mobile-card-table .task-actions-cell,
  .mobile-card-table .actions-cell {
    grid-template-columns: 1fr !important;
  }

  .mobile-card-table td[data-label="Действия"]::before,
  .mobile-card-table td[data-label="Статус"]::before,
  .mobile-card-table .task-actions-cell::before {
    margin-bottom: .15rem !important;
  }

  .material-edit-table,
  .material-edit-table thead,
  .material-edit-table tbody,
  .material-edit-table tr,
  .material-edit-table th,
  .material-edit-table td {
    display: block !important;
    width: 100% !important;
  }

  .material-edit-table thead {
    display: none !important;
  }

  .material-edit-table tbody {
    display: grid !important;
    gap: .72rem !important;
    padding: .72rem !important;
    background: #f7faef !important;
  }

  .material-edit-table tr {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .56rem !important;
    padding: .78rem !important;
    border-radius: 1rem !important;
    border: 1px solid rgba(121, 191, 37, .18) !important;
    background: #fff !important;
    box-shadow: 0 10px 24px rgba(30,42,25,.065) !important;
  }

  .material-edit-table td {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  .material-edit-table td:first-child {
    display: inline-flex !important;
    align-items: center !important;
    width: fit-content !important;
    min-width: 2.1rem !important;
    min-height: 2.1rem !important;
    justify-content: center !important;
    padding: 0 .62rem !important;
    border-radius: 999px !important;
    background: #eef7df !important;
    color: #565d62 !important;
    font-weight: 900 !important;
  }

  .material-edit-table td:nth-child(2)::before,
  .material-edit-table td:nth-child(3)::before,
  .material-edit-table td:nth-child(4)::before {
    display: block;
    margin: 0 0 .26rem;
    color: #565d62;
    font-size: .74rem;
    font-weight: 900;
  }

  .material-edit-table td:nth-child(2)::before { content: "Наименование"; }
  .material-edit-table td:nth-child(3)::before { content: "Количество"; }
  .material-edit-table td:nth-child(4)::before { content: "Ед.измерения"; }

  .actions-cell,
  .assignment-issued-actions,
  .assignment-status-toggle-form,
  .status-action-form,
  .glass-status-button-form,
  .material-detail-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .46rem !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  .actions-cell .btn,
  .assignment-issued-actions .btn,
  .assignment-status-toggle-form .btn,
  .status-action-form .btn,
  .glass-status-button-form .btn,
  .material-detail-actions .btn {
    width: 100% !important;
    justify-content: center !important;
  }

  .modal {
    padding-left: max(.5rem, var(--ios-safe-left)) !important;
    padding-right: max(.5rem, var(--ios-safe-right)) !important;
  }

  .modal-dialog {
    width: auto !important;
    max-width: none !important;
    margin: max(.72rem, var(--ios-safe-top)) auto max(.72rem, var(--ios-safe-bottom)) !important;
  }

  .modal-content,
  .crm-modal .modal-content,
  .error-report-modal,
  .delete-error-modal,
  .task-problem-modal-content {
    max-height: calc(var(--ios-app-height) - max(1.44rem, var(--ios-safe-top)) - max(1.44rem, var(--ios-safe-bottom))) !important;
    overflow: hidden !important;
    border-radius: 1.35rem !important;
    border: 1px solid rgba(121,191,37,.18) !important;
    box-shadow: 0 24px 64px rgba(15, 23, 42, .25) !important;
  }

  .modal-body,
  .crm-modal .modal-body {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  .modal-footer,
  .registration-modal-actions,
  .error-report-modal .modal-footer {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .55rem !important;
    align-items: stretch !important;
  }

  .modal-footer .btn,
  .registration-modal-actions .btn,
  .error-report-modal .modal-footer .btn {
    width: 100% !important;
  }

  .flash-stack,
  .crm-toast-stack {
    left: max(.72rem, var(--ios-safe-left)) !important;
    right: max(.72rem, var(--ios-safe-right)) !important;
    top: calc(.72rem + var(--ios-safe-top)) !important;
    width: auto !important;
    max-width: none !important;
  }

  .crm-toast {
    border-radius: 1rem !important;
  }

  .floating-error-corner {
    right: max(.82rem, var(--ios-safe-right)) !important;
    bottom: calc(5.88rem + var(--ios-safe-bottom)) !important;
    z-index: 1039 !important;
  }

  .po-notification-widget {
    right: max(.82rem, var(--ios-safe-right)) !important;
    left: auto !important;
    bottom: calc(9.05rem + var(--ios-safe-bottom)) !important;
    z-index: 1039 !important;
  }

  body.auth-body .floating-error-corner {
    bottom: max(.86rem, var(--ios-safe-bottom)) !important;
  }

  body.auth-body .ios-install-button {
    position: fixed !important;
    left: max(.82rem, var(--ios-safe-left)) !important;
    right: max(.82rem, var(--ios-safe-right)) !important;
    bottom: calc(1rem + var(--ios-safe-bottom)) !important;
    z-index: 1028 !important;
    width: auto !important;
    min-height: 3.05rem !important;
    justify-content: center !important;
    border-radius: 1.08rem !important;
    background: rgba(255,255,255,.94) !important;
    border: 1px solid rgba(121,191,37,.24) !important;
    box-shadow: 0 16px 38px rgba(26,35,22,.16) !important;
    backdrop-filter: saturate(140%) blur(18px);
    -webkit-backdrop-filter: saturate(140%) blur(18px);
  }

  body.auth-body .ios-install-button[hidden] {
    display: none !important;
  }

  body.auth-body #iosInstallModal .modal-dialog {
    width: min(94vw, 25.5rem) !important;
    max-width: min(94vw, 25.5rem) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.auth-body #iosInstallModal .ios-install-modal {
    max-height: calc(var(--ios-app-height) - max(1.6rem, var(--ios-safe-top)) - max(1.6rem, var(--ios-safe-bottom))) !important;
    padding: clamp(.86rem, 3.5vw, 1.12rem) !important;
    background: linear-gradient(180deg, #ffffff, #f7faef) !important;
  }

  body.auth-body #iosInstallModal .ios-install-steps-arrows {
    display: grid !important;
    gap: .48rem !important;
  }

  body.auth-body #iosInstallModal .ios-install-steps-arrows li {
    grid-template-columns: 2.15rem minmax(0, 1fr) !important;
    min-height: 3rem !important;
    border-radius: .98rem !important;
    border: 1px solid rgba(121,191,37,.16) !important;
    background: #fff !important;
  }

  body.auth-body #iosInstallModal .ios-install-steps-arrows li > span:first-child {
    background: #eef7df !important;
    color: #5f9824 !important;
  }
}

@supports (-webkit-touch-callout: none) {
  @media (max-width: 767.98px) {
    body.ios-device,
    body.ios-device.auth-body,
    body.ios-device.app-body {
      min-height: var(--ios-app-height) !important;
      background-attachment: scroll !important;
    }

    body.ios-device input:not([type="checkbox"]):not([type="radio"]),
    body.ios-device textarea,
    body.ios-device select {
      transform: translateZ(0);
    }

    body.ios-device .modal,
    body.ios-device .app-sidebar,
    body.ios-device .modal-body {
      -webkit-overflow-scrolling: touch;
    }
  }
}

@media (max-width: 767.98px) {
  .maintenance-body,
  .maintenance-screen {
    min-height: var(--ios-app-height) !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: clip !important;
    background: #f7faef !important;
  }

  .maintenance-screen {
    padding: max(1rem, var(--ios-safe-top)) max(.82rem, var(--ios-safe-right)) max(1rem, var(--ios-safe-bottom)) max(.82rem, var(--ios-safe-left)) !important;
  }

  .maintenance-under-dev-page,
  .maintenance-card {
    max-width: 100% !important;
  }
}

/* v186 tablet/iPad: do not show the intermediate blocker in iOS/PWA; desktop >=1200 remains untouched. */
@media (min-width: 768px) and (max-width: 1199.98px) {
  body.app-body:not(.mobile-dev-flag) {
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  body.app-body:not(.mobile-dev-flag) .viewport-transition-loader {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  body.app-body:not(.mobile-dev-flag) .app-content,
  body.app-body:not(.mobile-dev-flag) .objects-content,
  body.app-body:not(.mobile-dev-flag) .documents-content {
    padding-bottom: calc(1.5rem + env(safe-area-inset-bottom, 0px)) !important;
  }
}

/* v187 mobile iOS follow-up: standalone safe areas, object topbar lift, and refined iOS install modal. */
@media (max-width: 767.98px) {
  body.app-body:not(.worker-layout) .mobile-project-topbar {
    min-height: calc(3.15rem + var(--ios-safe-top)) !important;
    padding-top: calc(.3rem + var(--ios-safe-top)) !important;
    padding-bottom: .44rem !important;
    align-items: start !important;
  }

  body.app-body:not(.worker-layout) .mobile-project-topbar .mobile-project-title,
  body.app-body:not(.worker-layout) .mobile-project-topbar .mobile-project-change {
    transform: translateY(-2px);
  }

  body.app-body:not(.worker-layout) .mobile-project-topbar .mobile-project-change {
    align-self: start !important;
  }

  html.standalone-app body.app-body::before,
  body.standalone-app.app-body::before {
    content: "";
    position: fixed;
    inset: 0 0 auto 0;
    height: calc(var(--ios-safe-top) + .42rem);
    background: linear-gradient(135deg, rgba(79, 86, 91, .98), rgba(44, 51, 55, .98));
    z-index: 1039;
    pointer-events: none;
  }

  html.standalone-app body.app-body::after,
  body.standalone-app.app-body::after {
    content: "";
    position: fixed;
    inset: auto 0 0 0;
    height: calc(var(--ios-safe-bottom) + .9rem);
    background: #f7faef;
    z-index: 1037;
    pointer-events: none;
  }

  html.standalone-app body.app-body:not(.worker-layout) .app-main,
  body.standalone-app.app-body:not(.worker-layout) .app-main,
  html.standalone-app body.app-body:not(.worker-layout) .objects-content,
  body.standalone-app.app-body:not(.worker-layout) .objects-content,
  html.standalone-app body.app-body:not(.worker-layout) .documents-content,
  body.standalone-app.app-body:not(.worker-layout) .documents-content {
    padding-top: .4rem !important;
  }

  body.auth-body.ios-install-open,
  body.auth-body.ios-install-open .auth-shell {
    background: #eef6df !important;
  }

  body.auth-body .login-wrap,
  body.auth-body .login-card,
  body.auth-body .auth-shell {
    transition: filter .24s ease, transform .24s ease, opacity .24s ease;
  }

  body.auth-body.ios-install-open .login-wrap,
  body.auth-body.ios-install-open .login-card,
  body.auth-body.ios-install-open .auth-shell > *:not(#iosInstallModal):not(.modal-backdrop) {
    filter: blur(8px);
  }

  body.auth-body.ios-install-open .login-wrap,
  body.auth-body.ios-install-open .login-card {
    transform: scale(.992);
  }

  body.auth-body .modal-backdrop.show {
    opacity: 1 !important;
    background: rgba(238, 246, 223, .72) !important;
    backdrop-filter: blur(14px) saturate(122%);
    -webkit-backdrop-filter: blur(14px) saturate(122%);
  }

  body.auth-body #iosInstallModal.modal {
    min-height: var(--ios-app-height) !important;
    padding: max(.9rem, var(--ios-safe-top)) max(.75rem, var(--ios-safe-right)) max(.9rem, var(--ios-safe-bottom)) max(.75rem, var(--ios-safe-left)) !important;
    background: linear-gradient(180deg, rgba(240, 247, 228, .96), rgba(247, 250, 239, .97)) !important;
  }

  body.auth-body #iosInstallModal .modal-dialog {
    width: min(92vw, 25rem) !important;
    max-width: min(92vw, 25rem) !important;
    margin: 0 auto !important;
  }

  body.auth-body #iosInstallModal .modal-dialog-centered {
    min-height: calc(var(--ios-app-height) - max(1.8rem, var(--ios-safe-top)) - max(1.8rem, var(--ios-safe-bottom))) !important;
  }

  body.auth-body #iosInstallModal .ios-install-modal {
    overflow: hidden !important;
    border-color: rgba(255, 255, 255, .9) !important;
  }

  body.auth-body #iosInstallModal .ios-install-hero {
    grid-template-columns: clamp(3.2rem, 13vw, 4.15rem) minmax(0, 1fr) !important;
    gap: .78rem !important;
    align-items: center !important;
  }

  body.auth-body #iosInstallModal .ios-install-app-icon {
    width: clamp(3.2rem, 13vw, 4.15rem) !important;
    height: clamp(3.2rem, 13vw, 4.15rem) !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
  }

  body.auth-body #iosInstallModal .ios-install-app-icon::before,
  body.auth-body #iosInstallModal .ios-install-app-icon::after {
    display: none !important;
    content: none !important;
  }

  body.auth-body #iosInstallModal .ios-install-app-icon-image {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }

  body.auth-body #iosInstallModal .ios-install-copy {
    display: grid !important;
    gap: .34rem !important;
    align-content: center !important;
  }

  body.auth-body #iosInstallModal .ios-install-eyebrow {
    display: none !important;
  }

  body.auth-body #iosInstallModal .ios-install-modal h2 {
    margin: 0 !important;
  }

  body.auth-body #iosInstallModal .ios-install-subtitle {
    margin: 0 !important;
    max-width: 15rem;
  }

  body.auth-body #iosInstallModal .ios-install-actions::before {
    content: "" !important;
    display: block !important;
    width: 1rem !important;
    height: 1rem !important;
    margin: 0 auto .5rem !important;
    background: #8dd62c !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath fill='black' d='M50 4c7 23 23 39 46 46-23 7-39 23-46 46-7-23-23-39-46-46 23-7 39-23 46-46Z'/%3E%3C/svg%3E") center / contain no-repeat !important;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath fill='black' d='M50 4c7 23 23 39 46 46-23 7-39 23-46 46-7-23-23-39-46-46 23-7 39-23 46-46Z'/%3E%3C/svg%3E") center / contain no-repeat !important;
  }
}

/* v188 mobile topbar fix: remove legacy white gap and restore desktop topbar color on phones. */
@media (max-width: 767.98px) {
  body.app-body.has-mobile-project-topbar,
  body.app-body:has(.mobile-project-topbar) {
    padding-top: 0 !important;
    background:
      linear-gradient(180deg, #f7faef 0%, #f7faef 100%) !important;
  }

  body.app-body.has-mobile-project-topbar .app-layout,
  body.app-body:has(.mobile-project-topbar) .app-layout {
    padding-top: 0 !important;
  }

  body.app-body.has-mobile-project-topbar .app-content,
  body.app-body:has(.mobile-project-topbar) .app-content {
    padding-top: 0 !important;
  }

  body.app-body.has-mobile-project-topbar .mobile-project-topbar,
  body.app-body:has(.mobile-project-topbar) .mobile-project-topbar {
    position: sticky !important;
    top: 0 !important;
    z-index: 1045 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) max-content !important;
    align-items: center !important;
    gap: .62rem !important;
    min-height: calc(3.32rem + var(--ios-safe-top)) !important;
    padding-top: calc(.38rem + var(--ios-safe-top)) !important;
    padding-bottom: .52rem !important;
    padding-left: max(.78rem, var(--ios-safe-left)) !important;
    padding-right: max(.78rem, var(--ios-safe-right)) !important;
    color: #fff !important;
    background:
      linear-gradient(90deg, rgba(255, 255, 255, .03), transparent 62%),
      linear-gradient(135deg, var(--crm-topbar-start, #5e656a), var(--crm-topbar-end, #4f565b)) !important;
    border-top: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
    box-shadow: 0 12px 28px rgba(22, 30, 34, .16) !important;
    transform: none !important;
  }

  body.app-body.has-mobile-project-topbar .mobile-project-topbar::before,
  body.app-body.has-mobile-project-topbar .mobile-project-topbar::after,
  body.app-body:has(.mobile-project-topbar) .mobile-project-topbar::before,
  body.app-body:has(.mobile-project-topbar) .mobile-project-topbar::after {
    display: none !important;
    content: none !important;
  }

  body.app-body.has-mobile-project-topbar .mobile-project-title,
  body.app-body:has(.mobile-project-topbar) .mobile-project-title,
  body.app-body.has-mobile-project-topbar .app-layout:not(.worker-layout) .mobile-project-title,
  body.app-body:has(.mobile-project-topbar) .app-layout:not(.worker-layout) .mobile-project-title {
    min-width: 0 !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    margin: 0 !important;
    transform: none !important;
    color: #fff !important;
    font-size: clamp(.92rem, 3.85vw, 1.02rem) !important;
    line-height: 1.1 !important;
    font-weight: 950 !important;
    letter-spacing: -.02em !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    text-shadow: 0 1px 1px rgba(0, 0, 0, .14) !important;
  }

  body.app-body.has-mobile-project-topbar .mobile-project-change,
  body.app-body:has(.mobile-project-topbar) .mobile-project-change {
    align-self: center !important;
    justify-self: end !important;
    min-height: 2.2rem !important;
    height: 2.2rem !important;
    max-width: 9.8rem !important;
    padding: 0 .72rem !important;
    transform: none !important;
    border-radius: .82rem !important;
    border: 1px solid rgba(255, 255, 255, .22) !important;
    background: rgba(255, 255, 255, .11) !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, .08),
      0 8px 20px rgba(18, 25, 28, .12) !important;
    color: #fff !important;
    font-size: clamp(.68rem, 2.85vw, .78rem) !important;
    line-height: 1 !important;
    font-weight: 850 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
  }

  body.app-body.has-mobile-project-topbar .mobile-project-change:active,
  body.app-body:has(.mobile-project-topbar) .mobile-project-change:active {
    transform: scale(.98) !important;
  }
}

/* v189 mobile auth color fix: match Safari chrome with page and make iOS install button clean white. */
@media (max-width: 767.98px) {
  html:has(body.auth-body),
  body.auth-body,
  body.auth-body .auth-shell {
    background: #ffffff !important;
  }

  body.auth-body .auth-shell {
    background:
      radial-gradient(circle at 50% 6%, rgba(141, 214, 44, .07), transparent 15.5rem),
      linear-gradient(180deg, #ffffff 0%, #ffffff 100%) !important;
  }

  body.auth-body::before,
  body.auth-body::after,
  body.auth-body .auth-shell::before,
  body.auth-body .auth-shell::after {
    background-color: #ffffff !important;
  }

  body.auth-body .ios-install-button,
  body.auth-body .ios-install-button:hover,
  body.auth-body .ios-install-button:focus,
  body.auth-body .ios-install-button:active,
  body.auth-body .ios-install-button:focus-visible {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
    background: #ffffff !important;
    border: 1px solid rgba(229, 233, 222, .95) !important;
    outline: 0 !important;
    box-shadow: 0 12px 30px rgba(25, 32, 20, .10) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  body.auth-body .ios-install-button-logo,
  body.auth-body .ios-install-button img,
  body.auth-body .ios-install-button i,
  body.auth-body .ios-install-button::before,
  body.auth-body .ios-install-button::after {
    display: none !important;
    content: none !important;
  }

  body.auth-body .ios-install-button span,
  body.auth-body .ios-install-button span:last-child {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
    font-size: .86rem !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: -.01em !important;
  }

  body.auth-body.ios-install-open,
  body.auth-body.ios-install-open .auth-shell,
  body.auth-body #iosInstallModal.modal,
  body.auth-body .modal-backdrop.show {
    background-color: #ffffff !important;
  }

  body.auth-body #iosInstallModal.modal {
    background: rgba(255, 255, 255, .82) !important;
  }

  body.auth-body .modal-backdrop.show {
    background: rgba(255, 255, 255, .78) !important;
  }
}

/* v190 mobile iOS chrome match: exact topbar color and white bottom safe area. */
@media (max-width: 767.98px) {
  html.mobile-viewport,
  html.standalone-app,
  html.standalone-app body.app-body,
  body.app-body.has-mobile-project-topbar,
  body.app-body:has(.mobile-project-topbar) {
    background-color: #ffffff !important;
  }

  body.app-body.has-mobile-project-topbar .mobile-project-topbar,
  body.app-body:has(.mobile-project-topbar) .mobile-project-topbar {
    min-height: calc(3.08rem + var(--ios-safe-top)) !important;
    padding-top: calc(.22rem + var(--ios-safe-top)) !important;
    padding-bottom: .46rem !important;
    background: #5e656a !important;
    background-color: #5e656a !important;
    border-bottom-color: rgba(255, 255, 255, .10) !important;
    box-shadow: 0 10px 24px rgba(22, 30, 34, .14) !important;
  }

  body.app-body.has-mobile-project-topbar .mobile-project-title,
  body.app-body:has(.mobile-project-topbar) .mobile-project-title {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }

  body.app-body.has-mobile-project-topbar .mobile-project-change,
  body.app-body:has(.mobile-project-topbar) .mobile-project-change {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background: rgba(255, 255, 255, .13) !important;
    border-color: rgba(255, 255, 255, .24) !important;
  }

  html.standalone-app body.app-body.has-mobile-project-topbar::before,
  body.standalone-app.app-body.has-mobile-project-topbar::before,
  html.standalone-app body.app-body:has(.mobile-project-topbar)::before,
  body.standalone-app.app-body:has(.mobile-project-topbar)::before {
    content: "" !important;
    position: fixed !important;
    inset: 0 0 auto 0 !important;
    height: calc(var(--ios-safe-top) + .5rem) !important;
    background: #5e656a !important;
    background-color: #5e656a !important;
    z-index: 1039 !important;
    pointer-events: none !important;
  }

  html.standalone-app body.app-body::after,
  body.standalone-app.app-body::after,
  html.standalone-app body.app-body.has-mobile-project-topbar::after,
  body.standalone-app.app-body.has-mobile-project-topbar::after,
  html.standalone-app body.app-body:has(.mobile-project-topbar)::after,
  body.standalone-app.app-body:has(.mobile-project-topbar)::after {
    content: "" !important;
    position: fixed !important;
    inset: auto 0 0 0 !important;
    height: calc(var(--ios-safe-bottom) + 1.45rem) !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    z-index: 1037 !important;
    pointer-events: none !important;
  }

  body.app-body:not(.worker-layout) .mobile-bottom-nav {
    background: #ffffff !important;
    background-color: #ffffff !important;
    border-color: rgba(214, 222, 206, .95) !important;
    box-shadow: 0 14px 36px rgba(26, 35, 22, .15) !important;
  }

  html.standalone-app body.app-body:not(.worker-layout) .mobile-bottom-nav,
  body.standalone-app.app-body:not(.worker-layout) .mobile-bottom-nav {
    bottom: max(.36rem, var(--ios-safe-bottom)) !important;
  }
}

/* v191 mobile project chrome fix: no top white strip, PC-colored object panel, white bottom safe zone. */
@media (max-width: 767.98px) {
  body.app-body.has-mobile-project-topbar,
  body.app-body:has(.mobile-project-topbar) {
    margin-top: 0 !important;
    padding-top: 0 !important;
    background: #f3f5f1 !important;
    background-color: #f3f5f1 !important;
    overflow-x: clip !important;
  }

  body.app-body.has-mobile-project-topbar .app-layout,
  body.app-body:has(.mobile-project-topbar) .app-layout,
  body.app-body.has-mobile-project-topbar .app-main,
  body.app-body:has(.mobile-project-topbar) .app-main,
  body.app-body.has-mobile-project-topbar .app-content,
  body.app-body:has(.mobile-project-topbar) .app-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  body.app-body.has-mobile-project-topbar .mobile-project-topbar,
  body.app-body:has(.mobile-project-topbar) .mobile-project-topbar {
    position: sticky !important;
    top: 0 !important;
    z-index: 1045 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) max-content !important;
    align-items: center !important;
    gap: .62rem !important;
    min-height: calc(3.55rem + var(--ios-safe-top)) !important;
    margin: 0 !important;
    padding-top: calc(.7rem + var(--ios-safe-top)) !important;
    padding-bottom: .68rem !important;
    padding-left: max(.78rem, var(--ios-safe-left)) !important;
    padding-right: max(.78rem, var(--ios-safe-right)) !important;
    color: #ffffff !important;
    background:
      linear-gradient(90deg, rgba(255, 255, 255, .03), transparent 60%),
      linear-gradient(135deg, var(--crm-topbar-start, #5e656a), var(--crm-topbar-end, #4f565b)) !important;
    background-color: var(--crm-topbar-start, #5e656a) !important;
    border-top: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
    border-radius: 0 !important;
    box-shadow: 0 10px 24px rgba(22, 30, 34, .14) !important;
    transform: none !important;
  }

  body.app-body.has-mobile-project-topbar .mobile-project-title,
  body.app-body:has(.mobile-project-topbar) .mobile-project-title,
  body.app-body.has-mobile-project-topbar .app-layout:not(.worker-layout) .mobile-project-title,
  body.app-body:has(.mobile-project-topbar) .app-layout:not(.worker-layout) .mobile-project-title {
    display: flex !important;
    align-items: center !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 2.18rem !important;
    padding: 0 !important;
    margin: 0 !important;
    transform: none !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: clamp(.98rem, 4vw, 1.08rem) !important;
    line-height: 1.05 !important;
    font-weight: 950 !important;
    letter-spacing: -.02em !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    text-shadow: 0 1px 1px rgba(0, 0, 0, .16) !important;
  }

  body.app-body.has-mobile-project-topbar .mobile-project-change,
  body.app-body:has(.mobile-project-topbar) .mobile-project-change {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    justify-self: end !important;
    min-height: 2.32rem !important;
    height: 2.32rem !important;
    max-width: 9.7rem !important;
    padding: 0 .74rem !important;
    margin: 0 !important;
    transform: none !important;
    border-radius: .86rem !important;
    border: 1px solid rgba(255, 255, 255, .22) !important;
    background: rgba(255, 255, 255, .10) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 8px 20px rgba(18, 25, 28, .12) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: clamp(.7rem, 2.9vw, .8rem) !important;
    line-height: 1 !important;
    font-weight: 850 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
  }

  body.app-body.has-mobile-project-topbar::before,
  body.app-body:has(.mobile-project-topbar)::before {
    content: "" !important;
    position: fixed !important;
    inset: 0 0 auto 0 !important;
    height: var(--ios-safe-top) !important;
    background:
      linear-gradient(90deg, rgba(255, 255, 255, .03), transparent 60%),
      linear-gradient(135deg, var(--crm-topbar-start, #5e656a), var(--crm-topbar-end, #4f565b)) !important;
    z-index: 1044 !important;
    pointer-events: none !important;
  }

  body.app-body.has-mobile-project-topbar::after,
  body.app-body:has(.mobile-project-topbar)::after,
  html.standalone-app body.app-body.has-mobile-project-topbar::after,
  body.standalone-app.app-body.has-mobile-project-topbar::after,
  html.standalone-app body.app-body:has(.mobile-project-topbar)::after,
  body.standalone-app.app-body:has(.mobile-project-topbar)::after {
    content: "" !important;
    position: fixed !important;
    inset: auto 0 0 0 !important;
    height: calc(var(--ios-safe-bottom) + 1.75rem) !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    z-index: 1037 !important;
    pointer-events: none !important;
  }

  body.app-body.has-mobile-project-topbar .mobile-bottom-nav,
  body.app-body:has(.mobile-project-topbar) .mobile-bottom-nav {
    bottom: max(.2rem, var(--ios-safe-bottom)) !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    border-color: rgba(214, 222, 206, .95) !important;
    box-shadow: 0 14px 36px rgba(26, 35, 22, .15) !important;
  }
}

/* v192 mobile-only fix: fixed object topbar, no desktop strip, no empty account strip. */
.mobile-project-topbar {
  display: none !important;
}

@media (max-width: 767.98px) {
  body.app-body.has-mobile-project-topbar,
  body.app-body:has(.mobile-project-topbar) {
    padding-top: 0 !important;
    overflow-x: clip !important;
  }

  body.app-body.has-mobile-project-topbar .mobile-project-topbar,
  body.app-body:has(.mobile-project-topbar) .mobile-project-topbar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1060 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) max-content !important;
    align-items: center !important;
    gap: .58rem !important;
    min-height: calc(3.32rem + var(--ios-safe-top)) !important;
    margin: 0 !important;
    padding-top: calc(.42rem + var(--ios-safe-top)) !important;
    padding-bottom: .52rem !important;
    padding-left: max(.44rem, var(--ios-safe-left)) !important;
    padding-right: max(.44rem, var(--ios-safe-right)) !important;
    color: #ffffff !important;
    background:
      linear-gradient(90deg, rgba(255, 255, 255, .03), transparent 62%),
      linear-gradient(135deg, #565d62 0%, #3f474d 100%) !important;
    background-color: #565d62 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
    border-radius: 0 !important;
    box-shadow: 0 12px 28px rgba(20, 27, 31, .22) !important;
    transform: none !important;
    will-change: transform;
  }

  body.app-body.has-mobile-project-topbar .mobile-project-topbar::before,
  body.app-body.has-mobile-project-topbar .mobile-project-topbar::after,
  body.app-body:has(.mobile-project-topbar) .mobile-project-topbar::before,
  body.app-body:has(.mobile-project-topbar) .mobile-project-topbar::after {
    display: none !important;
    content: none !important;
  }

  body.app-body.has-mobile-project-topbar .mobile-project-title,
  body.app-body:has(.mobile-project-topbar) .mobile-project-title,
  body.app-body.has-mobile-project-topbar .app-layout:not(.worker-layout) .mobile-project-title,
  body.app-body:has(.mobile-project-topbar) .app-layout:not(.worker-layout) .mobile-project-title {
    display: block !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    transform: none !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: clamp(.88rem, 3.9vw, 1rem) !important;
    line-height: 1.08 !important;
    font-weight: 950 !important;
    letter-spacing: -.02em !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    text-shadow: 0 1px 1px rgba(0, 0, 0, .18) !important;
  }

  body.app-body.has-mobile-project-topbar .mobile-project-change,
  body.app-body:has(.mobile-project-topbar) .mobile-project-change {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    justify-self: end !important;
    min-height: 2.28rem !important;
    height: 2.28rem !important;
    max-width: 8.8rem !important;
    padding: 0 .62rem !important;
    margin: 0 !important;
    transform: none !important;
    border-radius: .82rem !important;
    border: 1px solid rgba(255, 255, 255, .22) !important;
    background: rgba(255, 255, 255, .10) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 8px 20px rgba(18, 25, 28, .12) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: clamp(.66rem, 2.75vw, .76rem) !important;
    line-height: 1 !important;
    font-weight: 850 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
  }

  body.app-body.has-mobile-project-topbar .app-layout,
  body.app-body:has(.mobile-project-topbar) .app-layout,
  body.app-body.has-mobile-project-topbar .app-main,
  body.app-body:has(.mobile-project-topbar) .app-main {
    padding-top: calc(3.32rem + var(--ios-safe-top)) !important;
    margin-top: 0 !important;
  }

  body.app-body.has-mobile-project-topbar .app-content,
  body.app-body:has(.mobile-project-topbar) .app-content {
    padding-top: .74rem !important;
  }

  body.app-body.has-mobile-project-topbar .account-page-head,
  body.app-body:has(.mobile-project-topbar) .account-page-head {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
  }

  body.app-body.has-mobile-project-topbar::before,
  body.app-body:has(.mobile-project-topbar)::before,
  html.standalone-app body.app-body.has-mobile-project-topbar::before,
  body.standalone-app.app-body.has-mobile-project-topbar::before,
  html.standalone-app body.app-body:has(.mobile-project-topbar)::before,
  body.standalone-app.app-body:has(.mobile-project-topbar)::before {
    content: "" !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: calc(var(--ios-safe-top) + .42rem) !important;
    background:
      linear-gradient(90deg, rgba(255, 255, 255, .03), transparent 62%),
      linear-gradient(135deg, #565d62 0%, #3f474d 100%) !important;
    background-color: #565d62 !important;
    z-index: 1059 !important;
    pointer-events: none !important;
  }

  body.app-body.has-mobile-project-topbar::after,
  body.app-body:has(.mobile-project-topbar)::after,
  html.standalone-app body.app-body.has-mobile-project-topbar::after,
  body.standalone-app.app-body.has-mobile-project-topbar::after,
  html.standalone-app body.app-body:has(.mobile-project-topbar)::after,
  body.standalone-app.app-body:has(.mobile-project-topbar)::after {
    content: "" !important;
    position: fixed !important;
    inset: auto 0 0 0 !important;
    height: calc(var(--ios-safe-bottom) + 1.7rem) !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    z-index: 1037 !important;
    pointer-events: none !important;
  }
}

/* v193 mobile-only: every mobile top panel uses the same color as the desktop topbar. */
@media (max-width: 767.98px) {
  :root {
    --mobile-pc-topbar-start: var(--crm-topbar-start, #565d62);
    --mobile-pc-topbar-end: var(--crm-topbar-end, #3f474d);
    --mobile-pc-topbar-bg:
      linear-gradient(90deg, rgba(255, 255, 255, .03), transparent 60%),
      linear-gradient(135deg, var(--mobile-pc-topbar-start), var(--mobile-pc-topbar-end));
  }

  body.app-body .mobile-app-topbar,
  body.app-body .mobile-app-topbar.mobile-app-topbar-worker,
  body.app-body .mobile-project-topbar,
  body.app-body.has-mobile-project-topbar .mobile-project-topbar,
  body.app-body:has(.mobile-project-topbar) .mobile-project-topbar {
    color: #ffffff !important;
    background: var(--mobile-pc-topbar-bg) !important;
    background-color: var(--mobile-pc-topbar-start) !important;
    border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
    box-shadow: 0 12px 28px rgba(20, 27, 31, .20) !important;
  }

  body.app-body .mobile-app-topbar *,
  body.app-body .mobile-project-topbar *,
  body.app-body.has-mobile-project-topbar .mobile-project-topbar *,
  body.app-body:has(.mobile-project-topbar) .mobile-project-topbar * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }

  body.app-body .mobile-top-avatar,
  body.app-body .mobile-top-avatar:visited,
  body.app-body .mobile-top-avatar:hover,
  body.app-body .mobile-top-avatar:focus {
    color: #ffffff !important;
    background: rgba(255, 255, 255, .12) !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 8px 20px rgba(18, 25, 28, .12) !important;
  }

  body.app-body .mobile-top-avatar-logo {
    -webkit-text-fill-color: initial !important;
  }

  body.app-body .mobile-project-change,
  body.app-body.has-mobile-project-topbar .mobile-project-change,
  body.app-body:has(.mobile-project-topbar) .mobile-project-change {
    background: rgba(255, 255, 255, .10) !important;
    border-color: rgba(255, 255, 255, .24) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 8px 20px rgba(18, 25, 28, .12) !important;
  }

  body.app-body.has-mobile-project-topbar::before,
  body.app-body:has(.mobile-project-topbar)::before,
  html.standalone-app body.app-body::before,
  body.standalone-app.app-body::before,
  html.standalone-app body.app-body.has-mobile-project-topbar::before,
  body.standalone-app.app-body.has-mobile-project-topbar::before,
  html.standalone-app body.app-body:has(.mobile-project-topbar)::before,
  body.standalone-app.app-body:has(.mobile-project-topbar)::before {
    background: var(--mobile-pc-topbar-bg) !important;
    background-color: var(--mobile-pc-topbar-start) !important;
  }
}

/* v194 mobile iOS install button cleanup: text-only button placed below registration button on phones. */
@media (max-width: 767.98px) {
  body.auth-body .login-form {
    display: flex !important;
    flex-direction: column !important;
  }

  body.auth-body .login-register-button {
    order: 20 !important;
  }

  body.auth-body .ios-install-button {
    order: 21 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    margin-top: .72rem !important;
    margin-bottom: 0 !important;
    min-height: 3rem !important;
    width: 100% !important;
    padding: .82rem 1rem !important;
  }

  body.auth-body .ios-install-button[hidden] {
    display: none !important;
  }

  body.auth-body .ios-install-button-logo,
  body.auth-body .ios-install-button img,
  body.auth-body .ios-install-button i,
  body.auth-body .ios-install-button::before,
  body.auth-body .ios-install-button::after {
    display: none !important;
    content: none !important;
  }

  body.auth-body .ios-install-button span,
  body.auth-body .ios-install-button span:last-child {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
    font-size: .96rem !important;
    font-weight: 800 !important;
    letter-spacing: -.01em !important;
    line-height: 1.15 !important;
    text-align: center !important;
  }
}

/* v195 mobile Safari/PWA unification: normal mobile Safari matches iOS Home Screen and desktop topbar color. */
@media (max-width: 767.98px) {
  :root {
    --mobile-desktop-topbar-bg:
      radial-gradient(circle at 38% 12%, rgba(141, 214, 44, .22), transparent 22rem),
      linear-gradient(180deg, #1f2730 0%, #151b22 100%);
    --mobile-desktop-topbar-solid: #1f2730;
    --mobile-desktop-topbar-border: rgba(255, 255, 255, .05);
    --mobile-desktop-topbar-shadow: 0 10px 28px rgba(8, 11, 15, .18);
  }

  html.mobile-viewport,
  html.mobile-viewport body.app-body,
  html.standalone-app,
  html.standalone-app body.app-body {
    background: #ffffff !important;
  }

  body.app-body {
    background: #ffffff !important;
  }

  body.app-body .mobile-app-topbar,
  body.app-body .mobile-app-topbar.mobile-app-topbar-worker,
  body.app-body .mobile-project-topbar,
  body.app-body.has-mobile-project-topbar .mobile-project-topbar,
  body.app-body:has(.mobile-project-topbar) .mobile-project-topbar,
  body.worker-layout .mobile-app-topbar,
  body.worker-layout .mobile-project-topbar {
    color: #ffffff !important;
    background: var(--mobile-desktop-topbar-bg) !important;
    background-color: var(--mobile-desktop-topbar-solid) !important;
    border-top: 0 !important;
    border-bottom: 1px solid var(--mobile-desktop-topbar-border) !important;
    box-shadow: var(--mobile-desktop-topbar-shadow) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
  }

  body.app-body .mobile-app-topbar *,
  body.app-body .mobile-project-topbar *,
  body.worker-layout .mobile-app-topbar *,
  body.worker-layout .mobile-project-topbar *,
  body.app-body.has-mobile-project-topbar .mobile-project-topbar *,
  body.app-body:has(.mobile-project-topbar) .mobile-project-topbar * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }

  body.app-body .mobile-top-avatar,
  body.app-body .mobile-top-avatar:visited,
  body.app-body .mobile-top-avatar:hover,
  body.app-body .mobile-top-avatar:focus,
  body.app-body .mobile-project-change,
  body.app-body.has-mobile-project-topbar .mobile-project-change,
  body.app-body:has(.mobile-project-topbar) .mobile-project-change {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background: rgba(255, 255, 255, .10) !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 8px 20px rgba(18, 25, 28, .14) !important;
  }

  body.app-body .mobile-top-avatar-logo,
  body.app-body .mobile-top-avatar-logo * {
    -webkit-text-fill-color: initial !important;
  }

  body.app-body::before,
  body.app-body.has-mobile-project-topbar::before,
  body.app-body:has(.mobile-project-topbar)::before,
  html.standalone-app body.app-body::before,
  body.standalone-app.app-body::before,
  html.standalone-app body.app-body.has-mobile-project-topbar::before,
  body.standalone-app.app-body.has-mobile-project-topbar::before,
  html.standalone-app body.app-body:has(.mobile-project-topbar)::before,
  body.standalone-app.app-body:has(.mobile-project-topbar)::before {
    content: "" !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: calc(var(--ios-safe-top) + .42rem) !important;
    background: var(--mobile-desktop-topbar-bg) !important;
    background-color: var(--mobile-desktop-topbar-solid) !important;
    z-index: 1059 !important;
    pointer-events: none !important;
  }

  body.app-body::after,
  body.app-body.has-mobile-project-topbar::after,
  body.app-body:has(.mobile-project-topbar)::after,
  html.standalone-app body.app-body::after,
  body.standalone-app.app-body::after,
  html.standalone-app body.app-body.has-mobile-project-topbar::after,
  body.standalone-app.app-body.has-mobile-project-topbar::after,
  html.standalone-app body.app-body:has(.mobile-project-topbar)::after,
  body.standalone-app.app-body:has(.mobile-project-topbar)::after {
    content: "" !important;
    position: fixed !important;
    inset: auto 0 0 0 !important;
    height: calc(var(--ios-safe-bottom) + 1.7rem) !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    z-index: 1037 !important;
    pointer-events: none !important;
  }

  body.app-body .mobile-bottom-nav {
    background: #ffffff !important;
    background-color: #ffffff !important;
  }
}

/* v196 desktop loader fix: mobile development loader must never block the PC version. */
@media (min-width: 768px) {
  body.app-body.mobile-dev-flag {
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  body.app-body.mobile-dev-flag .mobile-dev-screen.site-page-loader,
  body.app-body .viewport-transition-loader {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    z-index: -1 !important;
  }
}

@media (min-width: 1200px) {
  body.app-body .site-page-loader.viewport-transition-loader,
  body.app-body.mobile-dev-flag .site-page-loader.mobile-dev-screen {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

/* v197 fix: desktop >=1200 opens normally; intermediate tablet width shows loader animation instead of blank white screen. */
@media (min-width: 768px) and (max-width: 1199.98px) {
  body.app-body:not(.mobile-dev-flag) {
    overflow: hidden !important;
  }

  body.app-body:not(.mobile-dev-flag) .viewport-transition-loader {
    position: fixed !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100vw !important;
    min-width: 100vw !important;
    height: 100vh !important;
    min-height: 100vh !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    padding: max(env(safe-area-inset-top, 0px), 1rem) 1rem max(env(safe-area-inset-bottom, 0px), 1rem) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    z-index: 2147483000 !important;
    background:
      radial-gradient(circle at 50% 40%, rgba(141, 214, 44, .16), transparent 22rem),
      linear-gradient(180deg, #fbfdf7 0%, #f7faef 100%) !important;
  }

  body.app-body.mobile-dev-flag .mobile-dev-screen.site-page-loader {
    position: fixed !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100vw !important;
    min-width: 100vw !important;
    height: 100vh !important;
    min-height: 100vh !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    z-index: 2147483000 !important;
    background:
      radial-gradient(circle at 50% 40%, rgba(141, 214, 44, .16), transparent 22rem),
      linear-gradient(180deg, #fbfdf7 0%, #f7faef 100%) !important;
  }

  body.app-body:not(.mobile-dev-flag) .viewport-transition-loader.is-hidden,
  body.app-body.mobile-dev-flag .mobile-dev-screen.site-page-loader.is-hidden {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
}

@media (min-width: 1200px) {
  body.app-body.mobile-dev-flag {
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  body.app-body .viewport-transition-loader,
  body.app-body .site-page-loader.viewport-transition-loader,
  body.app-body.mobile-dev-flag .mobile-dev-screen.site-page-loader,
  body.app-body.mobile-dev-flag .site-page-loader.mobile-dev-screen {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    z-index: -1 !important;
  }
}

/* v198 final mobile fix: iOS install button is text-only and sits directly below registration. */
@media (max-width: 767.98px) {
  body.auth-body .login-form {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }

  body.auth-body .login-submit {
    order: 30 !important;
  }

  body.auth-body .login-register-button {
    order: 40 !important;
    margin-top: .72rem !important;
    margin-bottom: 0 !important;
  }

  body.auth-body .login-form > .ios-install-button,
  body.auth-body .ios-install-button,
  body.auth-body .ios-install-button:hover,
  body.auth-body .ios-install-button:focus,
  body.auth-body .ios-install-button:active,
  body.auth-body .ios-install-button:focus-visible {
    order: 41 !important;
    position: static !important;
    inset: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 3rem !important;
    height: auto !important;
    margin: .72rem 0 0 !important;
    padding: .82rem 1rem !important;
    gap: 0 !important;
    border-radius: .9rem !important;
    border: 1px solid rgba(213, 223, 239, .88) !important;
    outline: 0 !important;
    background: #ffffff !important;
    background-image: none !important;
    box-shadow: 0 10px 24px rgba(20, 36, 68, .06) !important;
    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
    text-decoration: none !important;
    transform: none !important;
  }

  body.auth-body .ios-install-button[hidden] {
    display: none !important;
  }

  body.auth-body .ios-install-button::before,
  body.auth-body .ios-install-button::after,
  body.auth-body .ios-install-button-logo,
  body.auth-body .ios-install-button img,
  body.auth-body .ios-install-button i,
  body.auth-body .ios-install-button .bi,
  body.auth-body .ios-install-button > span:first-child:not(:last-child) {
    display: none !important;
    content: none !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  body.auth-body .ios-install-button .ios-install-button-text,
  body.auth-body .ios-install-button span:last-child {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
    font-size: .96rem !important;
    font-weight: 850 !important;
    line-height: 1.15 !important;
    letter-spacing: -.01em !important;
    text-align: center !important;
    opacity: 1 !important;
  }
}

/* v199 mobile account + topbar UX polish: normal Safari matches iOS Home Screen, no account autokeyboard, clean tabs/safe areas. */
@media (max-width: 767.98px) {
  :root {
    --mobile-topbar-bg-final:
      radial-gradient(circle at 38% 12%, rgba(141, 214, 44, .20), transparent 22rem),
      linear-gradient(180deg, #1f2730 0%, #151b22 100%);
    --mobile-topbar-solid-final: #1f2730;
    --mobile-home-topbar-height: calc(4.55rem + var(--ios-safe-top));
    --mobile-project-topbar-height-final: calc(3.75rem + var(--ios-safe-top));
  }

  html.mobile-viewport,
  html.mobile-viewport body,
  html.standalone-app,
  html.standalone-app body {
    background: #ffffff !important;
  }

  body.app-body {
    min-height: var(--ios-app-height) !important;
    overflow-x: clip !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    background: #ffffff !important;
  }

  body.app-body .mobile-app-topbar,
  body.app-body .mobile-app-topbar.mobile-app-topbar-worker,
  body.app-body .mobile-project-topbar,
  body.app-body.has-mobile-project-topbar .mobile-project-topbar,
  body.app-body:has(.mobile-project-topbar) .mobile-project-topbar,
  body.worker-layout .mobile-app-topbar,
  body.worker-layout .mobile-project-topbar {
    background: var(--mobile-topbar-bg-final) !important;
    background-color: var(--mobile-topbar-solid-final) !important;
    border-top: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, .06) !important;
    box-shadow: 0 10px 28px rgba(8, 11, 15, .18) !important;
    color: #ffffff !important;
    -webkit-font-smoothing: antialiased;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
  }

  body.app-body::before,
  body.app-body.has-mobile-project-topbar::before,
  body.app-body:has(.mobile-project-topbar)::before,
  html.standalone-app body.app-body::before,
  body.standalone-app.app-body::before,
  html.standalone-app body.app-body.has-mobile-project-topbar::before,
  body.standalone-app.app-body.has-mobile-project-topbar::before,
  html.standalone-app body.app-body:has(.mobile-project-topbar)::before,
  body.standalone-app.app-body:has(.mobile-project-topbar)::before {
    content: "" !important;
    position: fixed !important;
    inset: 0 0 auto 0 !important;
    height: calc(var(--ios-safe-top) + .12rem) !important;
    background: var(--mobile-topbar-bg-final) !important;
    background-color: var(--mobile-topbar-solid-final) !important;
    z-index: 1059 !important;
    pointer-events: none !important;
  }

  body.app-body::after,
  body.app-body.has-mobile-project-topbar::after,
  body.app-body:has(.mobile-project-topbar)::after,
  html.standalone-app body.app-body::after,
  body.standalone-app.app-body::after,
  html.standalone-app body.app-body.has-mobile-project-topbar::after,
  body.standalone-app.app-body.has-mobile-project-topbar::after,
  html.standalone-app body.app-body:has(.mobile-project-topbar)::after,
  body.standalone-app.app-body:has(.mobile-project-topbar)::after {
    content: "" !important;
    position: fixed !important;
    inset: auto 0 0 0 !important;
    height: max(var(--ios-safe-bottom), .36rem) !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    z-index: 1037 !important;
    pointer-events: none !important;
  }

  body.app-body .mobile-app-topbar {
    position: fixed !important;
    inset: 0 0 auto 0 !important;
    z-index: 1060 !important;
    display: grid !important;
    grid-template-columns: 2.75rem minmax(0, 1fr) 2.75rem !important;
    align-items: end !important;
    gap: .55rem !important;
    min-height: var(--mobile-home-topbar-height) !important;
    padding: calc(.72rem + var(--ios-safe-top)) max(.95rem, var(--ios-safe-right)) .9rem max(.95rem, var(--ios-safe-left)) !important;
    border-radius: 0 0 1.22rem 1.22rem !important;
  }

  body.app-body .mobile-app-topbar::after {
    content: "" !important;
    display: block !important;
    width: 2.75rem !important;
    height: 2.75rem !important;
  }

  body.app-body .mobile-top-avatar {
    grid-column: 1 !important;
    justify-self: start !important;
    align-self: end !important;
    width: 2.55rem !important;
    height: 2.55rem !important;
    min-width: 2.55rem !important;
    border-radius: .86rem !important;
    transform: none !important;
  }

  body.app-body .mobile-top-title {
    grid-column: 2 !important;
    justify-self: center !important;
    align-self: center !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    text-align: center !important;
    font-size: clamp(1.06rem, 4.6vw, 1.26rem) !important;
    line-height: 1.05 !important;
    font-weight: 950 !important;
    letter-spacing: -.025em !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }

  body.app-body:not(.has-mobile-project-topbar) .objects-content,
  body.app-body:not(.has-mobile-project-topbar) .documents-content,
  body.app-body:not(.has-mobile-project-topbar) .app-main {
    padding-top: calc(var(--mobile-home-topbar-height) + .85rem) !important;
  }

  body.app-body.has-mobile-project-topbar .mobile-project-topbar,
  body.app-body:has(.mobile-project-topbar) .mobile-project-topbar {
    position: fixed !important;
    inset: 0 0 auto 0 !important;
    z-index: 1060 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) max-content !important;
    align-items: end !important;
    gap: .62rem !important;
    min-height: var(--mobile-project-topbar-height-final) !important;
    padding-top: calc(.7rem + var(--ios-safe-top)) !important;
    padding-bottom: .74rem !important;
    padding-left: max(1.02rem, var(--ios-safe-left)) !important;
    padding-right: max(.68rem, var(--ios-safe-right)) !important;
    border-radius: 0 !important;
  }

  body.app-body.has-mobile-project-topbar .mobile-project-title,
  body.app-body:has(.mobile-project-topbar) .mobile-project-title,
  body.app-body.has-mobile-project-topbar .app-layout:not(.worker-layout) .mobile-project-title,
  body.app-body:has(.mobile-project-topbar) .app-layout:not(.worker-layout) .mobile-project-title {
    padding-left: .28rem !important;
    margin: 0 !important;
    transform: none !important;
    font-size: clamp(.96rem, 4.05vw, 1.08rem) !important;
    line-height: 1.08 !important;
    font-weight: 950 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body.app-body.has-mobile-project-topbar .mobile-project-change,
  body.app-body:has(.mobile-project-topbar) .mobile-project-change {
    margin-right: .34rem !important;
    min-height: 2.32rem !important;
    height: 2.32rem !important;
    max-width: 8.6rem !important;
    padding: 0 .68rem !important;
    border-radius: .82rem !important;
    background: rgba(255, 255, 255, .10) !important;
    border: 1px solid rgba(255, 255, 255, .24) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: clamp(.66rem, 2.7vw, .76rem) !important;
    font-weight: 850 !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  body.app-body.has-mobile-project-topbar .app-layout,
  body.app-body:has(.mobile-project-topbar) .app-layout,
  body.app-body.has-mobile-project-topbar .app-main,
  body.app-body:has(.mobile-project-topbar) .app-main {
    padding-top: calc(var(--mobile-project-topbar-height-final) + .72rem) !important;
    margin-top: 0 !important;
  }

  body.app-body.has-mobile-project-topbar .app-content,
  body.app-body:has(.mobile-project-topbar) .app-content {
    padding-top: .78rem !important;
  }

  body.app-body.has-account-page,
  body.app-body:has(.account-page) {
    overflow-y: auto !important;
    overscroll-behavior-y: auto !important;
    background: #ffffff !important;
  }

  body.app-body.has-account-page .app-layout,
  body.app-body.has-account-page .app-main,
  body.app-body.has-account-page .app-content,
  body.app-body:has(.account-page) .app-layout,
  body.app-body:has(.account-page) .app-main,
  body.app-body:has(.account-page) .app-content {
    overflow: visible !important;
    min-height: auto !important;
  }

  body.app-body.has-account-page .app-content,
  body.app-body:has(.account-page) .app-content {
    padding-bottom: calc(7.3rem + var(--ios-safe-bottom)) !important;
  }

  body.app-body .account-page {
    width: min(100%, 23.5rem) !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding-bottom: calc(1.2rem + var(--ios-safe-bottom)) !important;
  }

  body.app-body .account-grid {
    grid-template-columns: 1fr !important;
    gap: .9rem !important;
  }

  body.app-body .account-card {
    border-radius: 1.22rem !important;
    overflow: visible !important;
  }

  body.app-body .account-card .card-body {
    padding: 1rem !important;
  }

  body.app-body .account-card-title {
    gap: .72rem !important;
    margin-bottom: .86rem !important;
  }

  body.app-body .account-card-title > span {
    width: 2.35rem !important;
    height: 2.35rem !important;
    border-radius: .78rem !important;
    font-size: 1.05rem !important;
  }

  body.app-body .account-card-title h2 {
    font-size: 1.05rem !important;
    line-height: 1.12 !important;
  }

  body.app-body .account-profile-list div {
    grid-template-columns: 1fr !important;
    gap: .22rem !important;
    padding: .72rem .78rem !important;
    border-radius: .86rem !important;
  }

  body.app-body .account-code-row {
    grid-template-columns: 1fr !important;
    gap: .55rem !important;
  }

  body.app-body .account-code-row .btn {
    width: 100% !important;
  }

  body.app-body .remarks-page-head {
    gap: .86rem !important;
    margin-bottom: .85rem !important;
  }

  body.app-body .remarks-page-head .d-flex {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .55rem !important;
  }

  body.app-body .remarks-page-head .btn-success {
    width: 100% !important;
    min-height: 3.2rem !important;
    border-radius: 1.08rem !important;
    font-size: 1.08rem !important;
    font-weight: 850 !important;
  }

  body.app-body .remarks-tabs {
    display: flex !important;
    align-items: center !important;
    gap: .48rem !important;
    width: 100% !important;
    margin: .6rem 0 .9rem !important;
    padding: 0 .15rem .18rem !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  body.app-body .remarks-tabs::-webkit-scrollbar {
    display: none !important;
  }

  body.app-body .remarks-tabs .crm-tabs {
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    gap: .48rem !important;
    min-width: max-content !important;
    margin: 0 !important;
  }

  body.app-body .remarks-tabs .nav-item {
    flex: 0 0 auto !important;
  }

  body.app-body .remarks-tabs .nav-link {
    min-height: 2.7rem !important;
    padding: .62rem .88rem !important;
    border-radius: 999px !important;
    white-space: nowrap !important;
    font-size: .9rem !important;
  }

  body.app-body .remarks-filter-form .form-control,
  body.app-body .remarks-filter-form .form-select {
    min-height: 3.35rem !important;
    border-radius: .98rem !important;
  }

  body.app-body .mobile-bottom-nav {
    background: #ffffff !important;
    background-color: #ffffff !important;
    bottom: max(.36rem, var(--ios-safe-bottom)) !important;
  }
}

/* v200 tablet/intermediate layout: usable 768-1199px version instead of loader/blank screen. */
@media (min-width: 768px) and (max-width: 1199.98px) {
  html,
  body,
  body.app-body {
    width: 100% !important;
    min-height: 100vh !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    background: #f7faef !important;
  }

  body.app-body.mobile-dev-flag {
    overflow-y: auto !important;
  }

  body.app-body .viewport-transition-loader,
  body.app-body .site-page-loader.viewport-transition-loader,
  body.app-body.mobile-dev-flag .mobile-dev-screen.site-page-loader,
  body.app-body.mobile-dev-flag .site-page-loader.mobile-dev-screen {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    z-index: -1 !important;
  }

  body.app-body .mobile-app-topbar,
  body.app-body .mobile-project-topbar,
  body.app-body .mobile-bottom-nav,
  body.app-body .mobile-menu-toggle,
  body.app-body .mobile-sidebar-backdrop {
    display: none !important;
  }

  body.app-body .app-layout {
    display: grid !important;
    grid-template-columns: minmax(12.5rem, 14rem) minmax(0, 1fr) !important;
    min-height: 100vh !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #f7faef !important;
  }

  body.app-body .app-sidebar {
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    align-self: start !important;
    width: auto !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    min-height: 100vh !important;
    height: 100vh !important;
    max-height: 100vh !important;
    padding: .9rem .72rem !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    background:
      radial-gradient(circle at 0% 0%, rgba(141, 214, 44, .20), transparent 13rem),
      linear-gradient(180deg, var(--crm-sidebar-start, #565d62), var(--crm-sidebar-end, #20262b)) !important;
    border-right: 1px solid rgba(255, 255, 255, .08) !important;
    box-shadow: 12px 0 34px rgba(17, 24, 39, .08) !important;
  }

  body.app-body .sidebar-brand {
    margin: 0 0 .7rem !important;
    padding: .2rem .24rem .72rem !important;
  }

  body.app-body .sidebar-brand-link {
    gap: .62rem !important;
    min-width: 0 !important;
  }

  body.app-body .brand-logo {
    width: 2.05rem !important;
    height: 2.05rem !important;
    border-radius: .72rem !important;
  }

  body.app-body .brand-text {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: .98rem !important;
  }

  body.app-body .sidebar-nav {
    display: flex !important;
    grid-template-columns: none !important;
    flex-direction: column !important;
    gap: .34rem !important;
  }

  body.app-body .sidebar-link {
    min-width: 0 !important;
    min-height: 2.65rem !important;
    padding: .62rem .64rem !important;
    gap: .56rem !important;
    border-radius: .82rem !important;
    color: rgba(255, 255, 255, .84) !important;
    font-size: .83rem !important;
    font-weight: 780 !important;
  }

  body.app-body .sidebar-link i,
  body.app-body .sidebar-link .bi {
    flex: 0 0 auto !important;
    width: 1.15rem !important;
    text-align: center !important;
    font-size: 1rem !important;
  }

  body.app-body .sidebar-link > span:not(.nav-count-badge) {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body.app-body .sidebar-link.active {
    color: #ffffff !important;
    background: linear-gradient(135deg, rgba(141, 214, 44, .18), rgba(141, 214, 44, .08)) !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08), 0 10px 24px rgba(12, 18, 24, .14) !important;
  }

  body.app-body .app-main {
    min-width: 0 !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    background: #f7faef !important;
  }

  body.app-body .app-topbar {
    position: sticky !important;
    top: 0 !important;
    z-index: 1020 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: .75rem !important;
    min-height: 4.05rem !important;
    width: 100% !important;
    margin: 0 !important;
    padding: .72rem .95rem !important;
    color: #ffffff !important;
    background:
      linear-gradient(90deg, rgba(255, 255, 255, .03), transparent 60%),
      linear-gradient(135deg, var(--crm-topbar-start, #1f2730), var(--crm-topbar-end, #151b22)) !important;
    background-color: var(--crm-topbar-start, #1f2730) !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
    border-radius: 0 !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .14) !important;
  }

  body.app-body .app-topbar *,
  body.app-body .topbar-project,
  body.app-body .topbar-project span,
  body.app-body .topbar-user,
  body.app-body .topbar-user span,
  body.app-body .topbar-icon,
  body.app-body .topbar-avatar {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }

  body.app-body .topbar-project {
    min-width: 0 !important;
    flex: 1 1 auto !important;
    gap: .62rem !important;
  }

  body.app-body .topbar-project span {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: .94rem !important;
  }

  body.app-body .topbar-project .btn,
  body.app-body .topbar-project a.btn {
    flex: 0 0 auto !important;
    min-height: 2.15rem !important;
    padding: .42rem .68rem !important;
    border-radius: .78rem !important;
    border-color: rgba(255, 255, 255, .24) !important;
    background: rgba(255, 255, 255, .10) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: .78rem !important;
    font-weight: 850 !important;
  }

  body.app-body .topbar-actions {
    flex: 0 0 auto !important;
    gap: .42rem !important;
  }

  body.app-body .topbar-user {
    gap: .42rem !important;
  }

  body.app-body .topbar-user > span:last-child {
    max-width: 8.5rem !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body.app-body .topbar-icon,
  body.app-body .topbar-avatar {
    width: 2.25rem !important;
    height: 2.25rem !important;
    border-radius: .78rem !important;
    background: rgba(255, 255, 255, .10) !important;
  }

  body.app-body .app-content {
    width: 100% !important;
    min-width: 0 !important;
    padding: 1.05rem !important;
    padding-bottom: 1.45rem !important;
    overflow: visible !important;
  }

  body.app-body .objects-layout,
  body.app-body .documents-standalone-layout,
  body.app-body .settings-standalone-layout {
    min-height: 100vh !important;
    background: #f7faef !important;
  }

  body.app-body .objects-topbar,
  body.app-body .documents-standalone-layout .objects-topbar,
  body.app-body .settings-standalone-layout .objects-topbar {
    position: sticky !important;
    top: 0 !important;
    z-index: 1020 !important;
    min-height: 4.15rem !important;
    margin: 0 !important;
    padding: .72rem 1rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    gap: .8rem !important;
    background:
      linear-gradient(90deg, rgba(255, 255, 255, .03), transparent 60%),
      linear-gradient(135deg, var(--crm-topbar-start, #1f2730), var(--crm-topbar-end, #151b22)) !important;
    background-color: var(--crm-topbar-start, #1f2730) !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .14) !important;
  }

  body.app-body .objects-topbar .sidebar-brand-link,
  body.app-body .documents-standalone-layout .objects-topbar .sidebar-brand-link,
  body.app-body .settings-standalone-layout .objects-topbar .sidebar-brand-link {
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  body.app-body .objects-topbar .topbar-actions,
  body.app-body .documents-standalone-layout .objects-topbar .topbar-actions,
  body.app-body .settings-standalone-layout .objects-topbar .topbar-actions {
    flex: 0 0 auto !important;
    gap: .55rem !important;
  }

  body.app-body .objects-content,
  body.app-body .documents-content {
    width: 100% !important;
    min-width: 0 !important;
    padding: 1.05rem !important;
    padding-bottom: 1.45rem !important;
  }

  body.app-body .objects-page,
  body.app-body .dashboard-page,
  body.app-body .materials-page,
  body.app-body .apartments-page,
  body.app-body .account-page,
  body.app-body .documents-page,
  body.app-body .settings-page,
  body.app-body .work-report-page {
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.app-body .objects-grid,
  body.app-body .apartments-grid,
  body.app-body .dashboard-overview-grid,
  body.app-body .dashboard-info-columns,
  body.app-body .dashboard-specialists-grid,
  body.app-body .materials-summary-grid,
  body.app-body .assignment-report-summary,
  body.app-body .report-grid,
  body.app-body .document-type-grid,
  body.app-body .account-grid,
  body.app-body .account-cards-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .9rem !important;
  }

  body.app-body .content-card,
  body.app-body .filter-card,
  body.app-body .table-shell,
  body.app-body .object-card,
  body.app-body .apartment-card,
  body.app-body .dashboard-focus-card,
  body.app-body .dashboard-info-card,
  body.app-body .dashboard-specialist-card,
  body.app-body .material-form-card,
  body.app-body .materials-animated-card,
  body.app-body .assignment-issued-card,
  body.app-body .assignment-shell,
  body.app-body .account-card {
    max-width: 100% !important;
    border-radius: 1.15rem !important;
    box-shadow: 0 12px 28px rgba(20, 36, 68, .075) !important;
  }

  body.app-body .card-body,
  body.app-body .content-card .card-body,
  body.app-body .filter-card .card-body,
  body.app-body .table-shell .card-body {
    padding: 1rem !important;
  }

  body.app-body .page-head,
  body.app-body .remarks-page-head,
  body.app-body .materials-page-head,
  body.app-body .dashboard-head,
  body.app-body .objects-head,
  body.app-body .assignment-page-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: .85rem !important;
    margin-bottom: 1rem !important;
  }

  body.app-body .page-title,
  body.app-body .dashboard-title,
  body.app-body .objects-title {
    font-size: clamp(1.65rem, 3.3vw, 2.15rem) !important;
    line-height: 1.08 !important;
  }

  body.app-body .crm-tabs,
  body.app-body .remarks-tabs .crm-tabs,
  body.app-body .materials-tabs .crm-tabs {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: .5rem !important;
    overflow: visible !important;
  }

  body.app-body .crm-tabs .nav-link {
    min-height: 2.42rem !important;
    padding: .55rem .8rem !important;
    border-radius: .82rem !important;
    font-size: .84rem !important;
    white-space: nowrap !important;
  }

  body.app-body .btn,
  body.app-body .form-control,
  body.app-body .form-select,
  body.app-body .developer-select-button {
    min-height: 2.58rem !important;
    border-radius: .82rem !important;
  }

  body.app-body .table-responsive,
  body.app-body .assignment-issued-table-wrap,
  body.app-body .materials-table-wrap,
  body.app-body .contractors-table-wrap {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  body.app-body .floating-error-corner {
    right: 1rem !important;
    bottom: 1rem !important;
  }
}

@media (min-width: 768px) and (max-width: 900px) {
  body.app-body .app-layout {
    grid-template-columns: 5.25rem minmax(0, 1fr) !important;
  }

  body.app-body .app-sidebar {
    padding: .78rem .55rem !important;
  }

  body.app-body .sidebar-brand-link {
    justify-content: center !important;
  }

  body.app-body .brand-text,
  body.app-body .sidebar-link > span:not(.nav-count-badge) {
    display: none !important;
  }

  body.app-body .sidebar-link {
    justify-content: center !important;
    min-height: 3rem !important;
    padding: .72rem .45rem !important;
  }

  body.app-body .sidebar-link i,
  body.app-body .sidebar-link .bi {
    width: auto !important;
    font-size: 1.15rem !important;
  }

  body.app-body .topbar-user > span:last-child,
  body.app-body .topbar-user::after {
    display: none !important;
  }

  body.app-body .topbar-project span {
    font-size: .86rem !important;
  }

  body.app-body .objects-grid,
  body.app-body .apartments-grid,
  body.app-body .dashboard-overview-grid,
  body.app-body .dashboard-info-columns,
  body.app-body .dashboard-specialists-grid,
  body.app-body .materials-summary-grid,
  body.app-body .assignment-report-summary,
  body.app-body .report-grid,
  body.app-body .document-type-grid,
  body.app-body .account-grid,
  body.app-body .account-cards-grid {
    grid-template-columns: 1fr !important;
  }
}

/* v201 desktop resize preview: show branded loader when shrinking desktop window to tablet/mobile layout. */
body.app-body.viewport-resize-loading {
  overflow: hidden !important;
}

body.app-body.viewport-resize-loading .viewport-transition-loader,
body.app-body.viewport-resize-loading .site-page-loader.viewport-transition-loader,
body.app-body.viewport-resize-loading .viewport-transition-loader.is-hidden,
body.app-body.viewport-resize-loading .site-page-loader.viewport-transition-loader.is-hidden {
  position: fixed !important;
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100vw !important;
  min-width: 100vw !important;
  height: 100vh !important;
  min-height: 100vh !important;
  height: 100dvh !important;
  min-height: 100dvh !important;
  padding: max(env(safe-area-inset-top, 0px), 1rem) 1rem max(env(safe-area-inset-bottom, 0px), 1rem) !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  z-index: 2147483000 !important;
  background:
    radial-gradient(circle at 50% 38%, rgba(141, 214, 44, .18), transparent 22rem),
    linear-gradient(180deg, #fbfdf7 0%, #f7faef 100%) !important;
}

body.app-body.viewport-resize-loading .viewport-transition-loader .site-page-loader-card {
  display: grid !important;
  place-items: center !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateZ(0) !important;
}

/* v202 mobile auth: centered polished iOS app button, text-only and below registration. */
@media (max-width: 767.98px) {
  body.auth-body .login-form {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }

  body.auth-body .login-register-button {
    order: 40 !important;
  }

  body.auth-body .login-form > .ios-install-button,
  body.auth-body .ios-install-button,
  body.auth-body .ios-install-button:hover,
  body.auth-body .ios-install-button:focus,
  body.auth-body .ios-install-button:active,
  body.auth-body .ios-install-button:focus-visible {
    order: 41 !important;
    position: static !important;
    inset: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    width: min(100%, 17.5rem) !important;
    min-width: 0 !important;
    max-width: 17.5rem !important;
    min-height: 3.05rem !important;
    height: auto !important;
    margin: .86rem auto 0 !important;
    padding: .86rem 1.25rem !important;
    gap: 0 !important;
    border-radius: 999px !important;
    border: 1px solid rgba(215, 225, 204, .95) !important;
    outline: 0 !important;
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 1), rgba(250, 252, 247, .98)) !important;
    background-color: #ffffff !important;
    box-shadow:
      0 14px 32px rgba(28, 43, 75, .08),
      0 2px 0 rgba(255, 255, 255, .95) inset !important;
    color: #1f2730 !important;
    -webkit-text-fill-color: #1f2730 !important;
    text-decoration: none !important;
    transform: translateZ(0) !important;
  }

  body.auth-body .ios-install-button:hover,
  body.auth-body .ios-install-button:focus,
  body.auth-body .ios-install-button:focus-visible {
    border-color: rgba(190, 208, 171, .98) !important;
    box-shadow:
      0 16px 36px rgba(28, 43, 75, .10),
      0 2px 0 rgba(255, 255, 255, .95) inset !important;
  }

  body.auth-body .ios-install-button:active {
    transform: translateY(1px) scale(.992) !important;
    box-shadow:
      0 8px 18px rgba(28, 43, 75, .08),
      0 2px 0 rgba(255, 255, 255, .95) inset !important;
  }

  body.auth-body .ios-install-button[hidden] {
    display: none !important;
  }

  body.auth-body .ios-install-button::before,
  body.auth-body .ios-install-button::after,
  body.auth-body .ios-install-button-logo,
  body.auth-body .ios-install-button img,
  body.auth-body .ios-install-button i,
  body.auth-body .ios-install-button .bi,
  body.auth-body .ios-install-button > span:first-child:not(:last-child) {
    display: none !important;
    content: none !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  body.auth-body .ios-install-button .ios-install-button-text,
  body.auth-body .ios-install-button span:last-child {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #1f2730 !important;
    -webkit-text-fill-color: #1f2730 !important;
    font-size: .98rem !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    letter-spacing: -.015em !important;
    text-align: center !important;
    opacity: 1 !important;
    white-space: nowrap !important;
  }
}
/* v190: fix ordered glass table layout after inline edit expansion */
.glass-page .glass-ordered-table-responsive {
  overflow-x: auto !important;
}

.glass-page .glass-ordered-table {
  min-width: 1480px !important;
  table-layout: fixed !important;
}

.glass-page .glass-ordered-table th:nth-child(3),
.glass-page .glass-ordered-table td:nth-child(3) {
  width: 34% !important;
}

.glass-page .glass-ordered-table th:nth-child(4),
.glass-page .glass-ordered-table td:nth-child(4) {
  width: 31% !important;
}

.glass-page .glass-ordered-table th:nth-child(5),
.glass-page .glass-ordered-table td:nth-child(5) {
  width: 10% !important;
}

.glass-page .glass-ordered-table th:nth-child(6),
.glass-page .glass-ordered-table td:nth-child(6) {
  width: 13% !important;
}

.glass-page .glass-ordered-table th:nth-child(7),
.glass-page .glass-ordered-table td:nth-child(7) {
  width: 16% !important;
}

.glass-page .glass-ordered-table .js-glass-ordered-edit-form {
  min-width: 0;
}

.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-measure-items {
  display: grid;
  gap: .8rem;
}

.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-measure-item-row,
.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-measure-item-card {
  display: grid !important;
  grid-template-columns: 150px minmax(140px, 1fr) minmax(180px, 1.2fr) 78px !important;
  gap: .8rem !important;
  align-items: end !important;
  min-width: 0 !important;
  padding: .9rem !important;
}

.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-field {
  min-width: 0 !important;
}

.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-field > span {
  display: block;
  margin-bottom: .35rem;
  white-space: normal !important;
  word-break: keep-all !important;
}

.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-field .form-control,
.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-field .form-select {
  width: 100% !important;
  min-width: 0 !important;
}

.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-qty-field .form-control {
  min-width: 72px !important;
}

.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-measure-actions {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .65rem;
}

@media (max-width: 1400px) {
  .glass-page .glass-ordered-table {
    min-width: 1560px !important;
  }
}

/* v191: keep ordered measurement edit controls inside the Sizes column */
.glass-page .glass-ordered-table .js-glass-ordered-edit-form {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden;
}

.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-measure-item-row,
.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-measure-item-card {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  grid-template-columns: minmax(112px, 1fr) minmax(104px, 1fr) 72px !important;
  grid-template-areas:
    "type size qty"
    "comment comment comment" !important;
  gap: .65rem .7rem !important;
  padding: .75rem !important;
  border-radius: 14px !important;
}

.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-type-field {
  grid-area: type;
}

.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-size-field {
  grid-area: size;
}

.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-comment-field {
  grid-area: comment;
}

.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-qty-field {
  grid-area: qty;
}

.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-comment-field .form-control {
  width: 100% !important;
}

.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-measure-actions {
  justify-content: flex-start !important;
}

/* v204: global auto-search feedback for filter forms */
.crm-filter-form,
.apartments-filter-form,
.assignment-search-form,
.assignment-smart-form,
.assignment-report-filter-form {
  position: relative;
}

.auto-search-indicator {
  position: absolute;
  right: 14px;
  bottom: -18px;
  z-index: 5;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 32px;
  padding: 6px 12px;
  border: 1px solid rgba(95, 152, 36, .24);
  border-radius: 999px;
  background: rgba(255, 255, 255, .96);
  color: #31591b;
  font-size: .86rem;
  font-weight: 800;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .12);
  opacity: 0;
  pointer-events: none;
  transform: translateY(4px);
  transition: opacity .16s ease, transform .16s ease;
}

.auto-search-indicator.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.glass-order-transferred-note {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 10px 14px;
  border: 1px solid rgba(95, 152, 36, .22);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(240, 253, 232, .98) 0%, rgba(229, 247, 211, .92) 100%);
  color: #31591b;
  font-weight: 850;
  box-shadow: 0 12px 24px rgba(95, 152, 36, .12);
}

.glass-order-transferred-note i,
.glass-order-transferred-note .bi,
.glass-order-transferred-note .bi::before {
  color: #5f9824;
  -webkit-text-fill-color: #5f9824;
  font-size: 1.1rem;
}

.auto-search-spinner {
  width: 14px;
  height: 14px;
  border: 2px solid rgba(95, 152, 36, .24);
  border-top-color: #5f9824;
  border-radius: 50%;
  animation: auto-search-spin .7s linear infinite;
}

@keyframes auto-search-spin {
  to {
    transform: rotate(360deg);
  }
}

@media (max-width: 767px) {
  .auto-search-indicator {
    right: 10px;
    bottom: -14px;
    max-width: calc(100% - 20px);
  }
}

/* v207: remove blue undertones from measurements tables and empty states */
.glass-page .glass-table-shell,
.glass-page .glass-order-page-card,
.glass-page .glass-order-card-body,
.glass-page .glass-card-header,
.glass-page .glass-order-page-header,
.glass-page .glass-order-list,
.glass-page .glass-table-shell .card-body,
.glass-page .glass-table-shell .table-responsive,
.glass-page .glass-ordered-table-responsive,
.glass-page .glass-request-panel {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
}

.glass-page .glass-order-card,
.glass-page .glass-measure-item-row,
.glass-page .glass-measure-item-card,
.glass-page .glass-ordered-size-line {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
}

.glass-page .glass-empty-state,
.glass-page .glass-ordered-empty-state {
  background: #ffffff !important;
  background-color: #ffffff !important;
  border-color: rgba(141, 214, 44, .32) !important;
  color: #111827 !important;
}

.glass-page .glass-ordered-table thead th,
.glass-page .glass-measure-table thead th {
  background: #f7faef !important;
  background-color: #f7faef !important;
  color: #111827 !important;
}

.glass-page .glass-type-select,
.glass-page .glass-order-card .glass-type-field .form-select,
.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-field .form-select {
  border-color: rgba(141, 214, 44, .46) !important;
  color: #111827 !important;
  box-shadow: none !important;
}

/* v208: assignment validation keeps selection and highlights incompatible tasks */
.assignment-invalid-selection-note {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid rgba(220, 38, 38, .28);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(254, 242, 242, .98), rgba(254, 226, 226, .9));
  color: #991b1b;
  font-weight: 800;
}

.assignment-invalid-selection-note i {
  color: #dc2626;
  -webkit-text-fill-color: #dc2626;
  margin-top: 2px;
}

body:has(.assignments-page-head) .assignment-task-row-invalid,
body:has(.assignments-page-head) .assignment-task-row-invalid > td {
  background: #fff1f2 !important;
  color: #7f1d1d !important;
}

body:has(.assignments-page-head) .assignment-task-row-invalid > td:first-child {
  box-shadow: inset 5px 0 0 #dc2626 !important;
}

body:has(.assignments-page-head) .assignment-task-row-invalid .assignment-task-text,
body:has(.assignments-page-head) .assignment-task-row-invalid .assignment-room-pill {
  color: #7f1d1d !important;
}

body:has(.assignments-page-head) .assignment-task-row-invalid .assignment-task-check {
  border-color: #dc2626 !important;
  box-shadow: 0 0 0 4px rgba(220, 38, 38, .12) !important;
}

body:has(.assignments-page-head) .assignment-task-row-invalid .assignment-task-check:checked {
  background-color: #dc2626 !important;
  border-color: #dc2626 !important;
}

/* v209: ordered measurements read-only sizes with edit-on-demand */
.glass-page .glass-ordered-size-view {
  display: grid;
  gap: .55rem;
  min-width: 0;
}

.glass-page .glass-ordered-size-line-readable {
  display: grid !important;
  grid-template-columns: minmax(120px, 1fr) minmax(120px, 1fr) minmax(74px, .45fr);
  gap: .35rem .7rem;
  max-width: none !important;
  padding: .75rem .85rem !important;
  background: #ffffff !important;
  border-color: rgba(141, 214, 44, .26) !important;
}

.glass-page .glass-ordered-size-line-readable span,
.glass-page .glass-ordered-size-line-readable b {
  white-space: normal !important;
  overflow-wrap: anywhere;
  color: #111827 !important;
  font-weight: 700;
}

.glass-page .glass-ordered-size-line-readable b {
  color: #31591b !important;
  font-weight: 900;
}

.glass-page .glass-ordered-size-comment {
  grid-column: 1 / -1;
}

.glass-page .glass-actions-col {
  white-space: nowrap;
}

.glass-page .glass-actions-col .js-glass-ordered-edit-toggle,
.glass-page .glass-actions-col .glass-row-delete-form {
  display: inline-flex;
  vertical-align: middle;
  margin-left: .35rem;
}

/* v210: persistent table selection and requested hover colors */
.glass-page .glass-measure-start-btn,
.glass-page a.glass-measure-start-btn {
  background: #5faf16 !important;
  border-color: #4f9912 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 10px 20px rgba(95, 175, 22, .18) !important;
}

.glass-page .glass-measure-start-btn *,
.glass-page .glass-measure-start-btn i,
.glass-page .glass-measure-start-btn .bi,
.glass-page .glass-measure-start-btn .bi::before {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.glass-page .glass-measure-start-btn:hover,
.glass-page .glass-measure-start-btn:focus,
.glass-page .glass-measure-start-btn:focus-visible {
  background: #ffffff !important;
  border-color: #5faf16 !important;
  color: #31591b !important;
  -webkit-text-fill-color: #31591b !important;
  box-shadow: 0 0 0 .18rem rgba(95, 175, 22, .12) !important;
}

.glass-page .glass-measure-start-btn:hover *,
.glass-page .glass-measure-start-btn:focus *,
.glass-page .glass-measure-start-btn:hover i,
.glass-page .glass-measure-start-btn:focus i,
.glass-page .glass-measure-start-btn:hover .bi,
.glass-page .glass-measure-start-btn:focus .bi,
.glass-page .glass-measure-start-btn:hover .bi::before,
.glass-page .glass-measure-start-btn:focus .bi::before {
  color: #31591b !important;
  -webkit-text-fill-color: #31591b !important;
}

.apartment-avr-actions .btn-success:hover,
.apartment-avr-actions .btn-success:focus,
.apartment-avr-actions .btn-success:focus-visible {
  background: #3f7f12 !important;
  border-color: #376f0f !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 0 0 .18rem rgba(63, 127, 18, .18) !important;
}

/* v211: final selection, ordered measurements, AVR hover and conflict layout fixes */
.auto-search-indicator,
.auto-search-spinner {
  display: none !important;
}

body.app-body .apartment-avr-actions button[name="avr_status"][value="signed"].btn-success:hover,
body.app-body .apartment-avr-actions button[name="avr_status"][value="signed"].btn-success:focus,
body.app-body .apartment-avr-actions button[name="avr_status"][value="signed"].btn-success:focus-visible,
body.app-body .apartment-avr-actions button[name="avr_status"][value="signed"].btn-outline-success:hover,
body.app-body .apartment-avr-actions button[name="avr_status"][value="signed"].btn-outline-success:focus,
body.app-body .apartment-avr-actions button[name="avr_status"][value="signed"].btn-outline-success:focus-visible {
  background: #3f7f12 !important;
  border-color: #376f0f !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 0 0 .18rem rgba(63, 127, 18, .2) !important;
}

.assignment-invalid-selection-note,
.assignment-invalid-selection-note span {
  font-weight: 400 !important;
}

.sync-conflicts-table {
  table-layout: fixed;
}

.sync-conflicts-table th:first-child,
.sync-conflicts-table td:first-child {
  width: 18%;
}

.sync-conflicts-table th:last-child,
.sync-conflicts-table td:last-child {
  width: 210px;
}

.sync-conflict-value {
  min-width: 260px;
  max-width: 520px;
  white-space: pre-line;
  overflow-wrap: anywhere;
  word-break: break-word;
  line-height: 1.45;
}

.glass-page .glass-ordered-table th:nth-child(4),
.glass-page .glass-ordered-table td:nth-child(4) {
  width: 26% !important;
}

.glass-page .glass-ordered-table th:nth-child(5),
.glass-page .glass-ordered-table td:nth-child(5) {
  width: 10% !important;
}

.glass-page .glass-ordered-table th:nth-child(6),
.glass-page .glass-ordered-table td:nth-child(6) {
  width: 13% !important;
}

.glass-page .glass-ordered-table th:nth-child(7),
.glass-page .glass-ordered-table td:nth-child(7) {
  width: 16% !important;
}

.glass-page .glass-ordered-table th:nth-child(8),
.glass-page .glass-ordered-table td:nth-child(8) {
  width: 92px !important;
}

.glass-page .glass-actions-col {
  text-align: right !important;
  vertical-align: middle !important;
}

.glass-page .glass-row-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: .45rem;
  width: 100%;
  min-width: 76px;
}

.glass-page .glass-row-actions .btn,
.glass-page .glass-row-actions .glass-row-delete-form {
  flex: 0 0 auto;
  margin: 0 !important;
}

.glass-page .glass-row-delete-form {
  display: inline-flex !important;
}

.glass-page .glass-ordered-size-view {
  color: #31591b !important;
}

.glass-page .glass-ordered-size-line-readable {
  grid-template-columns: 1fr !important;
  gap: .22rem !important;
  color: #31591b !important;
  font-weight: 400 !important;
}

.glass-page .glass-ordered-size-line-readable span,
.glass-page .glass-ordered-size-line-readable b {
  color: #31591b !important;
  -webkit-text-fill-color: #31591b !important;
  font-weight: 400 !important;
}

.glass-page .glass-ordered-size-comment {
  grid-column: auto !important;
}

.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-field .form-control,
.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-field .form-select,
.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-field .developer-select-button {
  box-sizing: border-box !important;
  min-height: 44px !important;
  height: 44px !important;
  border-width: 1px !important;
  font-weight: 400 !important;
}

.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-measure-actions {
  justify-content: flex-end !important;
}

/* v212: apartment internal status, modal dropdown layering and stable Excel/filter polish. */
.btn-check:checked + .po-option-do_not_invite,
.po-option-do_not_invite.is-static {
  border-color: #6b7280 !important;
  background: #f3f4f6 !important;
  color: #374151 !important;
  box-shadow: 0 8px 22px rgba(107, 114, 128, .14) !important;
}

.po-option-do_not_invite:hover,
.btn-check:focus + .po-option-do_not_invite {
  border-color: #4b5563 !important;
  background: #eef0f3 !important;
  color: #1f2937 !important;
}

.apartments-page .page-head {
  gap: 1rem !important;
}

.apartments-page .page-head .btn-success {
  white-space: nowrap !important;
}

.apartments-page .apartment-po-form .form-label,
.apartment-detail-page .apartment-data-po > span {
  color: #374151 !important;
  letter-spacing: .01em !important;
}

.po-notification-widget {
  min-width: 156px !important;
  gap: .55rem !important;
}

.po-notification-widget span {
  max-width: 112px !important;
  white-space: normal !important;
  line-height: 1.05 !important;
}

body.app-body .developer-select-menu-portal,
body.app-body .developer-select-menu-portal.is-portal-open {
  z-index: 2147483600 !important;
}

body.app-body .modal .developer-select-menu-portal,
body.app-body .modal .developer-select-menu-portal.is-portal-open,
body.app-body .modal-open .developer-select-menu-portal,
body.app-body.modal-open .developer-select-menu-portal {
  z-index: 2147483600 !important;
}

#glassManualTaskModal,
#glassManualTaskModal .modal-dialog,
#glassManualTaskModal .modal-content,
#glassManualTaskModal .modal-body {
  overflow: visible !important;
}

#glassManualTaskModal .js-developer-custom-select.is-open,
#glassManualTaskModal .developer-custom-select.is-open {
  position: relative !important;
  z-index: 2147483590 !important;
}

@media (max-width: 767.98px) {
  .apartments-page .page-head {
    align-items: stretch !important;
  }

  .apartments-page .page-head .btn-success {
    justify-content: center !important;
    width: 100% !important;
  }
}

/* v213: selection persistence, Excel selection, apartment PO label, and measurements polish */
.contractor-excel-selection-page .js-contractor-export-submit,
.contractor-excel-selection-page .glass-excel-btn {
  display: none !important;
}

.remarks-selection-count {
  display: block;
  margin-top: 0.3rem;
  color: #5b6782;
  font-size: 0.9rem;
  font-weight: 700;
}

body.app-body .apartment-avr-actions button[name="avr_status"][value="signed"].btn-success:hover,
body.app-body .apartment-avr-actions button[name="avr_status"][value="signed"].btn-success:focus,
body.app-body .apartment-avr-actions button[name="avr_status"][value="signed"].btn-success:focus-visible,
body.app-body .apartment-avr-actions button[name="avr_status"][value="signed"].btn-outline-success:hover,
body.app-body .apartment-avr-actions button[name="avr_status"][value="signed"].btn-outline-success:focus,
body.app-body .apartment-avr-actions button[name="avr_status"][value="signed"].btn-outline-success:focus-visible {
  background: #5faf16 !important;
  border-color: #4f9912 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 0 0 0.18rem rgba(95, 175, 22, 0.18) !important;
}

.glass-page .glass-ordered-table th:nth-child(4),
.glass-page .glass-ordered-table td:nth-child(4) {
  width: 29% !important;
}

.glass-page .glass-ordered-table th:nth-child(7),
.glass-page .glass-ordered-table td:nth-child(7) {
  width: 13% !important;
}

.glass-page .glass-ordered-table th:nth-child(8),
.glass-page .glass-ordered-table td:nth-child(8) {
  width: 116px !important;
}

.glass-page .glass-ordered-size-view,
.glass-page .glass-ordered-size-line-readable span,
.glass-page .glass-ordered-size-line-readable b {
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
}

.glass-page .glass-ordered-size-line-readable b {
  font-weight: 800;
}

.glass-page .glass-actions-col {
  text-align: left !important;
  padding-left: 0.55rem !important;
  padding-right: 1.25rem !important;
}

.glass-page .glass-row-actions {
  justify-content: flex-start !important;
  min-width: 88px;
}

.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-measure-item-row,
.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-measure-item-card {
  grid-template-columns: minmax(138px, 1fr) minmax(168px, 1.2fr) 88px !important;
  grid-template-areas:
    "type size qty"
    "comment comment comment" !important;
  align-items: end !important;
}

.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-field,
.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-field .form-control,
.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-field .form-select,
.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-field .developer-select-button {
  min-width: 0 !important;
  width: 100% !important;
}

.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-field > span {
  color: #111827 !important;
  white-space: normal !important;
}

.glass-order-transferred-note {
  align-items: center !important;
  justify-content: center !important;
  width: 100%;
  min-height: 56px;
  text-align: center;
}

.glass-order-transferred-note[hidden] {
  display: none !important;
}

.glass-order-transferred-note:not([hidden]) {
  display: flex !important;
}

.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-measure-item-row,
.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-measure-item-card {
  grid-template-columns: minmax(150px, 1fr) minmax(150px, 1fr) 92px !important;
  gap: 0.75rem !important;
}

.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-comment-field {
  grid-area: comment !important;
}

.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-comment-field .form-control {
  min-height: 44px !important;
  height: auto !important;
}

.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-measure-actions {
  justify-content: flex-start !important;
}

.po-notification-widget {
  min-width: 0 !important;
  width: auto !important;
  padding: 0.6rem 0.78rem !important;
  gap: 0.45rem !important;
}

.po-notification-widget span {
  max-width: none !important;
  white-space: nowrap !important;
}


.glass-page .glass-order-row,
.glass-page .glass-order-card {
  content-visibility: auto;
  contain-intrinsic-size: 180px;
}

.glass-page .glass-ordered-table .js-glass-ordered-edit-form {
  width: 100% !important;
}

.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-measure-item-row,
.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-measure-item-card {
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.2fr) 92px !important;
  grid-template-areas: "type size qty" "comment comment comment" !important;
}

.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-type-field { grid-area: type !important; }
.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-size-field { grid-area: size !important; }
.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-qty-field { grid-area: qty !important; min-width: 92px !important; }
.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-comment-field { grid-area: comment !important; }
.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-field > span { display: block !important; margin-bottom: .35rem !important; }

/* v214: measurements/order polish, APP deadline visual status, and bulk selection placement */
.glass-order-transferred-note,
.glass-order-transferred-note span {
  font-weight: 400 !important;
}

.glass-page .glass-ordered-size-line-readable {
  align-items: start !important;
}

.glass-page .glass-ordered-size-line-readable span {
  display: block !important;
  line-height: 1.42 !important;
}

.glass-page .glass-order-row,
.glass-page .glass-order-card {
  content-visibility: visible !important;
  contain-intrinsic-size: auto !important;
}

.btn-check:checked + .po-option-do_not_invite,
.po-option-do_not_invite.is-static {
  border-color: #b91c1c !important;
  background: #dc2626 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 10px 24px rgba(185, 28, 28, .18) !important;
}

.po-option-do_not_invite:hover,
.btn-check:focus + .po-option-do_not_invite,
.btn-check:checked + .po-option-do_not_invite:hover,
.btn-check:checked + .po-option-do_not_invite:focus {
  border-color: #991b1b !important;
  background: #b91c1c !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.remarks-export-bulk-panel .btn {
  white-space: nowrap;
}

.apartment-inspection-display {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .35rem;
}

/* v215: requested apartment export/AVR filters and ordered glass form fixes */
.glass-page .glass-order-card .glass-order-transferred-note {
  align-self: center !important;
  justify-self: center !important;
  width: auto !important;
  max-width: max-content !important;
  min-height: 0 !important;
  padding: .62rem .9rem !important;
  border-radius: 999px !important;
  white-space: nowrap !important;
  text-align: center !important;
}

.glass-page .glass-order-card .glass-order-transferred-note:not([hidden]) {
  display: inline-flex !important;
}

.glass-page .glass-ordered-table th:nth-child(4),
.glass-page .glass-ordered-table td:nth-child(4) {
  width: 34% !important;
}

.glass-page .glass-ordered-table th:nth-child(3),
.glass-page .glass-ordered-table td:nth-child(3) {
  width: 24% !important;
}

.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-measure-item-row,
.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-measure-item-card {
  grid-template-columns: minmax(170px, 1.1fr) minmax(150px, 1fr) 88px !important;
  grid-template-areas:
    "type size qty"
    "comment comment comment" !important;
  gap: .72rem !important;
  overflow: visible !important;
}

.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-type-field,
.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-size-field,
.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-qty-field,
.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-comment-field {
  min-width: 0 !important;
}

.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-type-select-field .developer-custom-select,
.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-type-select-field .global-custom-select,
.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-type-select-field .developer-select-button {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

.glass-page .glass-ordered-table .js-glass-ordered-edit-form .glass-type-select-field .developer-select-value {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

@media (max-width: 1200px) {
  .glass-page .glass-order-card .glass-order-transferred-note {
    grid-column: 1 / -1;
  }
}
