:root {
  --sonic-radius: 18px;
  --sonic-soft-radius: 13px;
  --sonic-content-max: 1680px;
  --sonic-transition: .22s ease;
}

html,
body,
button,
input,
select,
textarea,
.tooltip,
.popover,
.dropdown-menu {
  font-family: "Tajawal", "Segoe UI", Tahoma, Arial, sans-serif !important;
}

body.sonic-tower-app {
  text-align: right;
  letter-spacing: 0;
}

.required::after {
  content: " *";
  color: var(--bs-danger);
}

.sonic-content-container {
  max-width: var(--sonic-content-max);
  padding-top: 24px;
  padding-bottom: 32px;
}

.sonic-brand-wrap {
  min-height: 78px;
  padding: 14px 18px !important;
  border-bottom: 1px solid var(--bs-border-color);
}

.sonic-brand-link,
.sonic-mobile-brand {
  display: flex;
  align-items: center;
  gap: 11px;
  color: var(--bs-heading-color);
  text-decoration: none;
}

.sonic-logo-mark,
.sonic-loader-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border-radius: 14px;
  color: #fff;
  font-size: 22px;
  font-weight:700;
  background: linear-gradient(135deg, var(--bs-primary), color-mix(in srgb, var(--bs-primary) 62%, #111827));
  box-shadow: 0 10px 28px color-mix(in srgb, var(--bs-primary) 28%, transparent);
}

.sonic-loader-mark {
  width: 54px;
  height: 54px;
  border-radius: 18px;
  font-size: 28px;
  animation: sonicPulse 1.25s infinite ease-in-out;
}

@keyframes sonicPulse {
  0%,
100% { transform: scale(.9); opacity: .74; }
  50% { transform: scale(1.08); opacity: 1; }
}

.sonic-brand-copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.sonic-brand-copy strong {
  font-size: 17px;
  line-height: 1.25;
}

.sonic-brand-copy small {
  margin-top: 3px;
  color: var(--bs-secondary-color);
  font-size: 11px;
}

.sonic-mobile-brand .sonic-logo-mark {
  width: 34px;
  height: 34px;
  flex-basis: 34px;
  border-radius: 11px;
  font-size: 17px;
}

.sonic-page-context {
  display: flex;
  flex-direction: column;
  line-height: 1.25;
  padding-inline: 8px;
}

.sonic-context-kicker {
  font-size: 10px;
  color: var(--bs-secondary-color);
  margin-bottom: 3px;
}

.sonic-page-context strong {
  font-size: 14px;
  max-width: 280px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.sonic-page-heading {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 24px;
  border: 1px solid var(--bs-border-color);
  border-radius: var(--sonic-radius);
  background:
    radial-gradient(circle at 8% 10%, color-mix(in srgb, var(--bs-primary) 13%, transparent), transparent 32%),
    var(--bs-card-bg);
  box-shadow: 0 10px 32px rgba(17, 24, 39, .045);
}

.sonic-page-heading::after {
  content: "";
  position: absolute;
  left: -30px;
  bottom: -55px;
  width: 160px;
  height: 160px;
  border: 24px solid color-mix(in srgb, var(--bs-primary) 8%, transparent);
  border-radius: 50%;
  pointer-events: none;
}

.sonic-page-heading h1 {
  position: relative;
  z-index: 1;
  font-size: clamp(1.35rem, 2vw, 1.85rem);
  font-weight: 800;
}

.sonic-heading-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 10px;
  color: var(--bs-primary);
  background: var(--bs-primary-bg-subtle);
}


.card {
  border-radius: var(--sonic-radius);
  border-color: var(--bs-border-color);
  overflow: hidden;
  transition: transform var(--sonic-transition), box-shadow var(--sonic-transition), border-color var(--sonic-transition);
}

body:not(.sonic-card-border) .card {
  border-color: transparent;
  box-shadow: 0 12px 36px rgba(17, 24, 39, .065);
}

.sonic-card-border .card {
  box-shadow: none;
}

.card-header {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 20px;
  font-size: 15px;
  font-weight: 800;
  color: var(--bs-heading-color);
  background: color-mix(in srgb, var(--bs-primary) 4%, var(--bs-card-bg));
  border-bottom-color: var(--bs-border-color);
}

.card-body {
  padding: 20px;
}

.card-stat .display-6 {
  font-size: 1.8rem;
}

.form-label {
  margin-bottom: 7px;
  font-weight: 700;
  color: var(--bs-heading-color);
}

.form-control,
.form-select,
.input-group-text {
  min-height: 43px;
  border-radius: 11px;
  border-color: var(--bs-border-color);
}

textarea.form-control {
  min-height: auto;
}

.form-control:focus,
.form-select:focus {
  border-color: color-mix(in srgb, var(--bs-primary) 62%, white);
  box-shadow: 0 0 0 .22rem color-mix(in srgb, var(--bs-primary) 14%, transparent);
}

.btn {
  border-radius: 11px;
  font-weight: 700;
}

.btn-sm {
  border-radius: 9px;
}

.table-responsive {
  border: 1px solid var(--bs-border-color);
  border-radius: 14px;
}

.table {
  margin-bottom: 0;
  color: var(--bs-body-color);
}

.table th {
  white-space: nowrap;
  padding: 13px 14px;
  color: var(--bs-heading-color);
  font-size: 12px;
  font-weight: 800;
  background: color-mix(in srgb, var(--bs-primary) 5%, var(--bs-card-bg)) !important;
  border-color: var(--bs-border-color);
}

.table td {
  padding: 13px 14px;
  vertical-align: middle;
  border-color: var(--bs-border-color);
}

.table tbody tr {
  transition: background var(--sonic-transition);
}

.table tbody tr:hover > * {
  background: color-mix(in srgb, var(--bs-primary) 3.5%, transparent);
}

.badge {
  font-weight: 700;
}

.progress {
  min-width: 110px;
}

.sidebar-link {
  text-decoration: none;
}


.project-selector {
  min-width: 220px;
}

.sonic-project-menu {
  width: min(340px, calc(100vw - 30px));
}

.sonic-notifications-menu {
  width: min(410px, calc(100vw - 24px));
}

.sonic-notifications-menu .message-body {
  max-height: 390px;
}

.sonic-unread-notification {
  background: color-mix(in srgb, var(--bs-primary) 7%, transparent);
}

.sonic-user-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  color: var(--bs-primary);
  background: var(--bs-primary-bg-subtle);
  font-size: 19px;
}

.sonic-user-avatar-lg {
  width: 54px;
  height: 54px;
  font-size: 25px;
}

.checkbox-picker {
  overflow: hidden;
  border: 1px solid var(--bs-border-color);
  border-radius: 14px;
  background: var(--bs-card-bg);
}

.checkbox-picker-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .65rem;
  padding: .75rem .85rem;
  background: color-mix(in srgb, var(--bs-primary) 4%, var(--bs-card-bg));
  border-bottom: 1px solid var(--bs-border-color);
}

.checkbox-picker-list {
  max-height: 360px;
  overflow-y: auto;
  padding: .85rem;
}

.checkbox-option {
  position: relative;
  padding: .7rem .8rem .7rem 2.2rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 11px;
  background: var(--bs-card-bg);
  cursor: pointer;
  transition: background-color var(--sonic-transition), border-color var(--sonic-transition), transform var(--sonic-transition);
}

.checkbox-option:hover {
  transform: translateY(-1px);
  background: color-mix(in srgb, var(--bs-primary) 4%, var(--bs-card-bg));
  border-color: color-mix(in srgb, var(--bs-primary) 35%, var(--bs-border-color));
}

.checkbox-option:has(.form-check-input:checked) {
  background: var(--bs-primary-bg-subtle);
  border-color: color-mix(in srgb, var(--bs-primary) 60%, var(--bs-border-color));
}

.checkbox-option .form-check-label {
  cursor: pointer;
}

.checkbox-group-section + .checkbox-group-section {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px dashed var(--bs-border-color);
}

.checkbox-group-title {
  margin-bottom: .7rem;
  font-weight: 800;
  color: var(--bs-primary);
}

html[dir="rtl"] .dropdown-menu {
  text-align: right;
}

html[dir="rtl"] .form-check {
  padding-right: 1.5em;
  padding-left: 0;
}

html[dir="rtl"] .form-check .form-check-input {
  float: right;
  margin-right: -1.5em;
  margin-left: 0;
}

html[dir="rtl"] .checkbox-option {
  padding-right: 2.2rem;
  padding-left: .8rem;
}

.assignment-line {
  border-color: var(--bs-border-color) !important;
  border-radius: 14px !important;
  background: color-mix(in srgb, var(--bs-primary) 2.5%, var(--bs-card-bg));
}

.scope-panel > .form-text {
  margin-top: .75rem;
}

.sonic-layout-full .sonic-content-container {
  max-width: none;
}

[data-bs-theme="dark"] .table-light,
[data-bs-theme="dark"] .bg-light {
  --bs-table-bg: var(--bs-card-bg);
  --bs-bg-opacity: 1;
  background-color: var(--bs-card-bg) !important;
}

[data-bs-theme="dark"] .text-dark {
  color: var(--bs-heading-color) !important;
}

@media (max-width: 1199.98px) {
  .project-selector {
    max-width: 320px;
  }
  .sonic-content-container {
    padding-top: 18px;
  }
}

@media (max-width: 767.98px) {
  .sonic-page-heading {
    align-items: flex-start;
    flex-direction: column;
    padding: 18px;
  }
  
  
  .card-body,
.card-header {
    padding-left: 15px;
    padding-right: 15px;
  }
  .table-responsive {
    font-size: .875rem;
  }
  .navbar .form-select {
    max-width: 100%;
  }
  
  .checkbox-picker-toolbar {
    align-items: stretch;
    flex-direction: column;
  }
  .checkbox-picker-toolbar .badge {
    align-self: flex-start;
  }
}


/* Inline SVG icons replace bundled icon-font files. */
.ti.sonic-inline-icon {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 1.15em;
  height: 1.15em;
  font-family: inherit !important;
  font-style: normal;
  line-height: 1;
  vertical-align: -.15em;
}
.ti.sonic-inline-icon::before { content: none !important; display: none !important; }
.ti.sonic-inline-icon > svg { width: 100%; height: 100%; display: block; }

/* ===== Sonic Tower / MatDash full integration ===== */
.sonic-app-footer {
  padding: 18px 20px;
  border: 1px solid var(--bs-border-color);
  border-radius: var(--sonic-radius);
  color: var(--bs-body-color);
  background: var(--bs-card-bg);
  font-size: 12px;
}

.sonic-scroll-top {
  position: fixed;
  left: 22px;
  bottom: 22px;
  z-index: 1080;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 14px;
  color: #fff;
  background: var(--bs-primary);
  box-shadow: 0 12px 28px color-mix(in srgb, var(--bs-primary) 35%, transparent);
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition: .2s ease;
}

.sonic-scroll-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.sonic-card-title {
  display: inline-flex;
  align-items: center;
}

.alert {
  border-radius: 13px;
}

.nav-tabs {
  gap: 7px;
  border-bottom: 0;
  padding: 7px;
  border-radius: 14px;
  background: var(--bs-card-bg);
  box-shadow: 0 8px 28px rgba(17, 24, 39, .045);
}

.nav-tabs .nav-link {
  border: 0;
  border-radius: 10px;
  color: var(--bs-body-color);
  font-weight: 700;
}

.nav-tabs .nav-link.active {
  color: #fff;
  background: var(--bs-primary);
}

.table .btn + form,
.table .btn + .btn,
.table form + .btn {
  margin-inline-start: 4px;
}

.table td form.d-inline {
  white-space: nowrap;
}

/* Dashboard */
.sonic-dashboard-hero {
  position: relative;
  overflow: hidden;
  min-height: 260px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: clamp(26px, 4vw, 46px);
  border-radius: 24px;
  color: #fff;
  background:
    radial-gradient(circle at 10% 20%, rgba(255,255,255,.18), transparent 28%),
    radial-gradient(circle at 90% 80%, rgba(255,255,255,.12), transparent 32%),
    linear-gradient(135deg, color-mix(in srgb, var(--bs-primary) 88%, #0f172a), color-mix(in srgb, var(--bs-primary) 55%, #111827));
  box-shadow: 0 22px 50px color-mix(in srgb, var(--bs-primary) 25%, transparent);
}

.sonic-dashboard-hero::before,
.sonic-dashboard-hero::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 50%;
}

.sonic-dashboard-hero::before {
  width: 290px;
  height: 290px;
  left: -90px;
  top: -120px;
}

.sonic-dashboard-hero::after {
  width: 180px;
  height: 180px;
  right: 38%;
  bottom: -120px;
}

.sonic-dashboard-hero-copy {
  position: relative;
  z-index: 1;
  max-width: 760px;
}

.sonic-dashboard-kicker {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 12px;
  margin-bottom: 14px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 999px;
  background: rgba(255,255,255,.1);
  font-size: 12px;
  font-weight: 700;
}

.sonic-dashboard-hero h2 {
  margin-bottom: 10px;
  color: #fff;
  font-size: clamp(1.7rem, 3vw, 2.7rem);
  font-weight:700;
}

.sonic-dashboard-hero p {
  max-width: 650px;
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: 15px;
  line-height: 1.8;
}

.sonic-progress-orb {
  --progress: 0;
  position: relative;
  z-index: 1;
  width: 170px;
  height: 170px;
  flex: 0 0 170px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: conic-gradient(#fff calc(var(--progress) * 3.6deg), rgba(255,255,255,.18) 0);
  box-shadow: 0 22px 42px rgba(0,0,0,.18);
}

.sonic-progress-orb::before {
  content: "";
  position: absolute;
  inset: 13px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--bs-primary) 72%, #111827);
}

.sonic-progress-orb > div {
  position: relative;
  z-index: 1;
  text-align: center;
}

.sonic-progress-orb strong {
  display: block;
  color: #fff;
  font-size: 29px;
  font-weight:700;
}

.sonic-progress-orb span {
  display: block;
  margin-top: 3px;
  color: rgba(255,255,255,.72);
  font-size: 12px;
}

.sonic-stat-card .card-body {
  display: flex;
  align-items: center;
  gap: 15px;
}

.sonic-stat-icon {
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 17px;
  font-size: 24px;
}

.sonic-stat-card span:not(.sonic-stat-icon) {
  display: block;
  color: var(--bs-secondary-color);
  font-size: 12px;
  font-weight: 700;
}

.sonic-stat-card strong {
  display: block;
  margin: 1px 0;
  color: var(--bs-heading-color);
  font-size: 27px;
  font-weight:700;
  line-height: 1.2;
}

.sonic-stat-card small {
  color: var(--bs-secondary-color);
  font-size: 11px;
}

.sonic-mini-metric {
  height: 100%;
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 14px;
  border: 1px solid var(--bs-border-color);
  border-radius: 14px;
  background: color-mix(in srgb, var(--bs-primary) 1.5%, var(--bs-card-bg));
}

.sonic-mini-metric > span {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 13px;
  font-size: 20px;
}

.sonic-mini-metric small,
.sonic-mini-metric strong {
  display: block;
}

.sonic-mini-metric small {
  margin-bottom: 2px;
  color: var(--bs-secondary-color);
  font-size: 10px;
}

.sonic-mini-metric strong {
  color: var(--bs-heading-color);
  font-size: 19px;
  font-weight:700;
}

.progress-lg {
  height: 12px;
  border-radius: 999px;
}

.sonic-empty-state {
  min-height: 220px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 25px;
  text-align: center;
  color: var(--bs-secondary-color);
}

.sonic-empty-state > i {
  margin-bottom: 5px;
  color: var(--bs-primary);
  font-size: 42px;
}

.sonic-empty-state strong {
  color: var(--bs-heading-color);
  font-size: 15px;
}

.sonic-empty-state span {
  font-size: 12px;
}

.sonic-activity-list {
  max-height: 365px;
  overflow-y: auto;
}

.sonic-activity-item {
  position: relative;
  display: flex;
  gap: 13px;
  padding: 15px 20px;
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid var(--bs-border-color);
  transition: background .18s ease;
}

.sonic-activity-item:last-child {
  border-bottom: 0;
}

.sonic-activity-item:hover,
.sonic-activity-item.is-unread {
  background: color-mix(in srgb, var(--bs-primary) 5%, var(--bs-card-bg));
}

.sonic-activity-dot {
  width: 10px;
  height: 10px;
  flex: 0 0 10px;
  margin-top: 6px;
  border: 3px solid color-mix(in srgb, var(--bs-primary) 25%, transparent);
  border-radius: 50%;
  background: var(--bs-primary);
  box-sizing: content-box;
}

.sonic-activity-item strong,
.sonic-activity-item p,
.sonic-activity-item small {
  display: block;
}

.sonic-activity-item strong {
  color: var(--bs-heading-color);
  font-size: 13px;
}

.sonic-activity-item p {
  margin: 3px 0;
  color: var(--bs-secondary-color);
  font-size: 11px;
  line-height: 1.55;
}

.sonic-activity-item small {
  color: var(--bs-primary);
  font-size: 10px;
}

/* Login */
body.sonic-auth-body {
  min-height: 100vh;
  margin: 0;
  background: var(--bs-body-bg);
}

.sonic-auth-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(430px, 1.15fr) minmax(420px, .85fr);
}

.sonic-auth-visual {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 100vh;
  padding: clamp(30px, 5vw, 72px);
  color: #fff;
  background: linear-gradient(135deg, rgba(12,18,38,.93), color-mix(in srgb, var(--bs-primary) 72%, rgba(12,18,38,.9))), url("../matdash/images/backgrounds/login-bg.jpg") center/cover no-repeat;
}

.sonic-auth-visual::before,
.sonic-auth-visual::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.11);
}

.sonic-auth-visual::before {
  width: 520px;
  height: 520px;
  left: -220px;
  top: -220px;
}

.sonic-auth-visual::after {
  width: 360px;
  height: 360px;
  right: -180px;
  bottom: -160px;
}

.sonic-auth-brand,
.sonic-auth-copy {
  position: relative;
  z-index: 2;
}

.sonic-auth-brand {
  display: flex;
  align-items: center;
  gap: 14px;
}

.sonic-auth-brand strong,
.sonic-auth-brand small {
  display: block;
}

.sonic-auth-brand strong {
  color: #fff;
  font-size: 22px;
}

.sonic-auth-brand small {
  margin-top: 2px;
  color: rgba(255,255,255,.67);
  font-size: 12px;
}

.sonic-logo-mark-xl {
  width: 56px;
  height: 56px;
  flex-basis: 56px;
  border-radius: 19px;
  font-size: 28px;
  background: rgba(255,255,255,.13);
  border: 1px solid rgba(255,255,255,.2);
  box-shadow: none;
  backdrop-filter: blur(14px);
}

.sonic-logo-mark-lg {
  width: 50px;
  height: 50px;
  flex-basis: 50px;
  border-radius: 16px;
  font-size: 25px;
}

.sonic-auth-copy {
  max-width: 720px;
  padding-bottom: 6vh;
}

.sonic-auth-copy h1 {
  max-width: 690px;
  margin-bottom: 18px;
  color: #fff;
  font-size: clamp(2.1rem, 4.2vw, 4.4rem);
  font-weight:700;
  line-height: 1.18;
}

.sonic-auth-copy p {
  max-width: 650px;
  margin: 0;
  color: rgba(255,255,255,.68);
  font-size: 16px;
  line-height: 1.9;
}

.sonic-auth-features {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.sonic-auth-features span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 12px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 12px;
  background: rgba(255,255,255,.08);
  font-size: 12px;
  backdrop-filter: blur(12px);
}

.sonic-auth-panel {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(26px, 5vw, 70px);
  background: var(--bs-body-bg);
}

.sonic-auth-form-wrap {
  width: min(100%, 480px);
}

.sonic-auth-theme-toggle {
  position: absolute;
  top: 24px;
  left: 24px;
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.sonic-auth-input .input-group-text {
  color: var(--bs-primary);
  background: color-mix(in srgb, var(--bs-primary) 5%, var(--bs-card-bg));
}

.sonic-auth-demo {
  padding: 14px;
  border: 1px dashed color-mix(in srgb, var(--bs-primary) 40%, var(--bs-border-color));
  border-radius: 14px;
  background: color-mix(in srgb, var(--bs-primary) 4%, var(--bs-card-bg));
  font-size: 12px;
}

/* Mobile table presentation keeps every page usable without changing PHP logic. */
@media (max-width: 575.98px) {
  .table-responsive.sonic-mobile-cards {
    overflow: visible;
    border: 0;
  }

  .table-responsive.sonic-mobile-cards table,
.table-responsive.sonic-mobile-cards tbody,
.table-responsive.sonic-mobile-cards tr,
.table-responsive.sonic-mobile-cards td {
    display: block;
    width: 100%;
  }

  .table-responsive.sonic-mobile-cards thead {
    display: none;
  }

  .table-responsive.sonic-mobile-cards tbody tr {
    margin-bottom: 14px;
    padding: 10px 13px;
    border: 1px solid var(--bs-border-color);
    border-radius: 14px;
    background: var(--bs-card-bg);
    box-shadow: 0 8px 25px rgba(17,24,39,.045);
  }

  .table-responsive.sonic-mobile-cards td {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding: 9px 0;
    border: 0;
    border-bottom: 1px dashed var(--bs-border-color);
    text-align: left;
    white-space: normal;
  }

  .table-responsive.sonic-mobile-cards td:last-child {
    border-bottom: 0;
  }

  .table-responsive.sonic-mobile-cards td::before {
    content: attr(data-label);
    flex: 0 0 42%;
    color: var(--bs-heading-color);
    font-size: 11px;
    font-weight: 800;
    text-align: right;
  }

  .table-responsive.sonic-mobile-cards td form.d-inline {
    display: inline-block !important;
  }
}

@media (max-width: 991.98px) {
  .sonic-auth-shell {
    display: block;
  }
  .sonic-auth-visual {
    display: none;
  }
  .sonic-auth-panel {
    min-height: 100vh;
  }
  .sonic-dashboard-hero {
    align-items: flex-start;
  }
  .sonic-progress-orb {
    width: 140px;
    height: 140px;
    flex-basis: 140px;
  }
}

@media (max-width: 767.98px) {
  .sonic-dashboard-hero {
    min-height: auto;
    flex-direction: column;
  }
  .sonic-progress-orb {
    align-self: center;
  }
  .sonic-stat-card .card-body {
    align-items: flex-start;
    flex-direction: column;
  }
  .sonic-stat-icon {
    width: 46px;
    height: 46px;
    flex-basis: 46px;
    border-radius: 14px;
  }
  .sonic-auth-panel {
    padding: 78px 22px 32px;
  }
  .sonic-app-footer > div {
    align-items: flex-start !important;
    flex-direction: column;
  }
}

.sonic-notification-row {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 18px 20px;
  border-bottom: 1px solid var(--bs-border-color);
}
.sonic-notification-row:last-child { border-bottom: 0; }
.sonic-notification-row.is-unread { background: color-mix(in srgb, var(--bs-primary) 5%, var(--bs-card-bg)); }
.sonic-notification-row h6 { color: var(--bs-heading-color); font-weight: 800; }
.sonic-notification-row p { line-height: 1.7; }
@media (max-width: 575.98px) {
  .sonic-notification-row { align-items: flex-start; flex-wrap: wrap; }
  .sonic-notification-row form { width: 100%; }
  .sonic-notification-row form .btn { width: 100%; }
}

.sonic-profile-avatar {
  width: 104px;
  height: 104px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 32px;
  color: var(--bs-primary);
  background: var(--bs-primary-bg-subtle);
  font-size: 48px;
  box-shadow: inset 0 0 0 8px color-mix(in srgb, var(--bs-primary) 5%, transparent);
}
.sonic-profile-meta { border-top: 1px solid var(--bs-border-color); }
.sonic-profile-meta > div { display:flex; justify-content:space-between; gap:16px; padding:14px 0; border-bottom:1px solid var(--bs-border-color); }
.sonic-profile-meta span { color:var(--bs-secondary-color); font-size:12px; }
.sonic-profile-meta strong { color:var(--bs-heading-color); font-size:12px; text-align:left; }

/* =========================================================
   v1.5.1 - Original MatDash header and horizontal CRUD layout
   v1.5.2 - Original blue palette, visible sidebar icons and Tajawal Bold navigation
   ========================================================= */
.topbar .navbar {
  min-height: 70px;
}

.sonic-original-header-start {
  gap: 2px;
}

.sonic-original-brand-item {
  min-width: 132px;
  padding-inline: 10px 14px;
}

.sonic-original-brand-link {
  display: flex;
  align-items: center;
  padding: 0 !important;
}

.sonic-original-brand-link img {
  width: 118px;
  max-width: 118px;
  object-fit: contain;
}

.sonic-apps-dropdown {
  width: min(440px, calc(100vw - 32px));
}

.sonic-quick-app {
  display: flex;
  min-height: 88px;
  flex-direction: column;
  justify-content: center;
  gap: 3px;
  padding: 12px;
  border: 1px solid var(--bs-border-color);
  border-radius: 12px;
  color: var(--bs-heading-color);
  text-decoration: none;
  transition: border-color .2s ease, background-color .2s ease, transform .2s ease;
}

.sonic-quick-app:hover {
  border-color: color-mix(in srgb, var(--bs-primary) 40%, var(--bs-border-color));
  background: var(--bs-primary-bg-subtle);
  transform: translateY(-1px);
}

.sonic-quick-app > span {
  display: inline-flex;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  margin-bottom: 4px;
  border-radius: 10px;
  font-size: 19px;
}

.sonic-quick-app strong {
  font-size: 13px;
}

.sonic-quick-app small {
  color: var(--bs-secondary-color);
  font-size: 11px;
}

.sonic-search-links .list-group-item {
  padding: 14px 16px;
  color: var(--bs-heading-color);
  background: var(--bs-card-bg);
  border-color: var(--bs-border-color);
}

.sonic-search-links .list-group-item:hover {
  color: var(--bs-primary);
  background: var(--bs-primary-bg-subtle);
}

/* All add/edit cards are placed above their data cards. */
.body-wrapper .row:has(> [class*="col-lg-"] .card-body > form):has(> [class*="col-lg-"] table) > [class*="col-lg-"],
.body-wrapper .row:has(> [class*="col-xl-"] .card-body > form):has(> [class*="col-xl-"] table) > [class*="col-xl-"] {
  flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
}

.sonic-crud-stack {
  flex-direction: column;
}

.sonic-crud-stack > .sonic-crud-form-column,
.sonic-crud-stack > .sonic-crud-data-column {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
}

.sonic-crud-form-column {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.sonic-crud-form-column > .card,
.sonic-crud-data-column > .card {
  margin: 0 !important;
}

.sonic-horizontal-form {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: end;
  gap: 15px;
}

.sonic-horizontal-form > input[type="hidden"] {
  display: none;
}

.sonic-horizontal-form > .sonic-field-block,
.sonic-horizontal-form > .sonic-form-row-inline > .sonic-field-block {
  grid-column: span 3;
  min-width: 0;
  margin: 0 !important;
}

.sonic-horizontal-form > .sonic-field-wide,
.sonic-horizontal-form > .sonic-form-row-inline > .sonic-field-wide {
  grid-column: span 6;
}

.sonic-horizontal-form > .sonic-field-full,
.sonic-horizontal-form > .sonic-form-row-inline > .sonic-field-full,
.sonic-horizontal-form > dl {
  grid-column: 1 / -1;
}

.sonic-horizontal-form > .sonic-form-row-inline {
  display: contents;
}

.sonic-horizontal-form > .sonic-form-row-inline > [class*="col"] {
  width: auto;
  max-width: none;
  padding: 0;
}

.sonic-horizontal-form .form-label {
  min-height: 21px;
}

.sonic-horizontal-form textarea.form-control {
  min-height: 43px;
  resize: vertical;
}

.sonic-horizontal-form > .sonic-form-actions {
  grid-column: 1 / -1;
  display: flex !important;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 9px;
  margin: 2px 0 0 !important;
}

.sonic-horizontal-form > .sonic-form-actions .btn {
  min-width: 130px;
}

[data-bs-theme="dark"] .sonic-page-heading,
[data-bs-theme="dark"] body:not(.sonic-card-border) .card,
[data-bs-theme="dark"] .table-responsive.sonic-mobile-cards tbody tr {
  box-shadow: none;
}

[data-bs-theme="dark"] .sonic-quick-app,
[data-bs-theme="dark"] .sonic-search-links .list-group-item {
  background: var(--bs-card-bg);
}

@media (max-width: 991.98px) {
  .sonic-horizontal-form > .sonic-field-block,
.sonic-horizontal-form > .sonic-form-row-inline > .sonic-field-block {
    grid-column: span 6;
  }

  .sonic-horizontal-form > .sonic-field-wide,
.sonic-horizontal-form > .sonic-form-row-inline > .sonic-field-wide,
.sonic-horizontal-form > .sonic-field-full,
.sonic-horizontal-form > .sonic-form-row-inline > .sonic-field-full {
    grid-column: 1 / -1;
  }
}

@media (max-width: 575.98px) {
  .topbar .navbar {
    min-height: 64px;
  }

  .sonic-horizontal-form > .sonic-field-block,
.sonic-horizontal-form > .sonic-form-row-inline > .sonic-field-block,
.sonic-horizontal-form > .sonic-field-wide,
.sonic-horizontal-form > .sonic-form-row-inline > .sonic-field-wide {
    grid-column: 1 / -1;
  }

  .sonic-horizontal-form > .sonic-form-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .sonic-horizontal-form > .sonic-form-actions .btn {
    width: 100%;
  }
}

/* Complete dark-mode coverage for legacy utility classes used by project pages. */
[data-bs-theme="dark"] body.sonic-tower-app,
[data-bs-theme="dark"] .body-wrapper {
  background-color: var(--bs-body-bg);
  color: var(--bs-body-color);
}

[data-bs-theme="dark"] .table-light,
[data-bs-theme="dark"] thead.table-light,
[data-bs-theme="dark"] .table > thead.table-light > * > * {
  --bs-table-bg: color-mix(in srgb, var(--bs-card-bg) 84%, white 5%);
  --bs-table-color: var(--bs-heading-color);
  --bs-table-border-color: var(--bs-border-color);
  color: var(--bs-heading-color) !important;
  background-color: color-mix(in srgb, var(--bs-card-bg) 84%, white 5%) !important;
}

[data-bs-theme="dark"] .bg-light,
[data-bs-theme="dark"] .text-bg-light {
  color: var(--bs-body-color) !important;
  background-color: color-mix(in srgb, var(--bs-card-bg) 88%, white 4%) !important;
}

[data-bs-theme="dark"] .btn-light {
  --bs-btn-color: var(--bs-body-color);
  --bs-btn-bg: var(--bs-card-bg);
  --bs-btn-border-color: var(--bs-border-color);
  --bs-btn-hover-color: var(--bs-heading-color);
  --bs-btn-hover-bg: color-mix(in srgb, var(--bs-card-bg) 84%, white 6%);
  --bs-btn-hover-border-color: var(--bs-border-color);
}

[data-bs-theme="dark"] .border,
[data-bs-theme="dark"] .border-top,
[data-bs-theme="dark"] .border-bottom,
[data-bs-theme="dark"] .border-start,
[data-bs-theme="dark"] .border-end {
  border-color: var(--bs-border-color) !important;
}

[data-bs-theme="dark"] .dropdown-menu,
[data-bs-theme="dark"] .modal-content,
[data-bs-theme="dark"] .offcanvas,
[data-bs-theme="dark"] .list-group-item {
  color: var(--bs-body-color);
  background-color: var(--bs-card-bg);
  border-color: var(--bs-border-color);
}

/* v1.5.2: preserve the original MatDash blue palette and sidebar treatment. */
html {
  --sonic-template-primary: #635bff;
}

/* MatDash sidebar CSS targets iconify-icon in the original demo.
   The project uses the bundled Tabler icon font, so mirror the same rules for .ti. */
.side-mini-panel .mini-nav .mini-nav-item > a > i.ti {
  z-index: 2;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--bs-heading-color);
  font-size: 24px !important;
  line-height: 1;
  opacity: 1;
}

.side-mini-panel .mini-nav .mini-nav-item > a:hover > i.ti {
  color: var(--bs-primary);
}

.side-mini-panel .mini-nav .mini-nav-item.selected > a > i.ti {
  color: var(--bs-white) !important;
}

.side-mini-panel .sidebarmenu .sidebar-nav .sidebar-link > i.ti {
  display: inline-flex;
  flex: 0 0 22px;
  width: 22px;
  min-width: 22px;
  align-items: center;
  justify-content: center;
  color: var(--bs-heading-color);
  font-size: 20px !important;
  line-height: 1;
  opacity: .82;
}

.side-mini-panel .sidebarmenu .sidebar-nav .sidebar-link:hover > i.ti {
  color: var(--bs-primary);
  opacity: 1;
}

.side-mini-panel .sidebarmenu .sidebar-nav .sidebar-item > .sidebar-link.active > i.ti,
.side-mini-panel .sidebarmenu .sidebar-nav .sidebar-item.selected > .sidebar-link > i.ti {
  color: var(--bs-white) !important;
  opacity: 1;
}

/* Tajawal Bold for navigation and high-priority interface labels. */
.side-mini-panel .sonic-brand-copy strong,
.side-mini-panel .sidebar-nav .nav-small-cap .hide-menu,
.side-mini-panel .sidebar-nav .sidebar-link .hide-menu,
.side-mini-panel .sidebar-nav .sidebar-link,
.sonic-page-heading h1,
.sonic-page-heading .breadcrumb,
.card-header,
.card-title,
.sonic-card-title,
.form-label,
.table thead th,
.btn,
.badge,
.nav-tabs .nav-link,
.dropdown-menu .dropdown-item strong {
  font-family: "Tajawal", "Segoe UI", Tahoma, Arial, sans-serif !important;
  font-weight: 700 !important;
}

.side-mini-panel .sidebar-nav .nav-small-cap .hide-menu {
  font-weight: 800 !important;
}


/* =========================================================
   v1.5.3 - Readable filled controls, modal editing and guide polish
   ========================================================= */

/* All data-entry controls use Tajawal Bold and an opaque, readable surface. */
.form-control,
.form-select,
.input-group-text,
.form-control-plaintext,
select,
textarea,
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
.select2-container .select2-selection,
.select2-container .select2-results__option {
  font-family: "Tajawal", "Segoe UI", Tahoma, Arial, sans-serif !important;
  font-weight: 700 !important;
}

.form-control,
.form-select,
.input-group-text,
.select2-container .select2-selection,
.select2-dropdown,
.select2-results,
.select2-container .select2-results__option {
  color: #111827 !important;
  background-color: var(--bs-card-bg) !important;
  opacity: 1 !important;
}

.form-control::placeholder,
textarea.form-control::placeholder,
input::placeholder {
  color: #64748b !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}

.form-control:disabled,
.form-select:disabled,
.form-control[readonly],
input[readonly],
textarea[readonly],
select:disabled,
.input-group-text:has(+ .form-control:disabled) {
  color: #334155 !important;
  background-color: #eef2f7 !important;
  opacity: 1 !important;
}

.form-select option,
.form-select optgroup,
select option,
select optgroup {
  color: #111827 !important;
  background: var(--bs-card-bg) !important;
  font-family: "Tajawal", "Segoe UI", Tahoma, Arial, sans-serif !important;
  font-weight: 700 !important;
}

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

/* Tables remain filled and use dark text in both light and dark modes. */
.table-responsive {
  background: var(--bs-card-bg) !important;
}

.table,
.table > :not(caption) > * > *,
.table tbody td,
.table tbody th,
.table tfoot td,
.table tfoot th {
  color: #111827 !important;
  background-color: var(--bs-card-bg) !important;
}

.table thead th,
.table > thead > tr > th,
.table-light,
thead.table-light,
.table > thead.table-light > * > * {
  --bs-table-color: #111827 !important;
  --bs-table-bg: #f4f6fa !important;
  color: #111827 !important;
  background-color: #f4f6fa !important;
  font-weight: 800 !important;
}

.table tbody tr:hover > * {
  color: #0f172a !important;
  background-color: #f7f8ff !important;
}

/* Native and Bootstrap dropdown surfaces stay opaque and readable. */
.dropdown-menu,
.dropdown-menu .dropdown-item,
.dropdown-menu .message-body,
.sonic-project-menu,
.sonic-notifications-menu,
.sonic-apps-dropdown {
  font-family: "Tajawal", "Segoe UI", Tahoma, Arial, sans-serif !important;
}

.dropdown-menu {
  color: #111827 !important;
  background-color: var(--bs-card-bg) !important;
  border-color: #d9e0ea !important;
}

.dropdown-menu .dropdown-item,
.dropdown-menu p,
.dropdown-menu h1,
.dropdown-menu h2,
.dropdown-menu h3,
.dropdown-menu h4,
.dropdown-menu h5,
.dropdown-menu h6,
.dropdown-menu label,
.dropdown-menu small:not(.text-primary):not(.text-danger):not(.text-success):not(.text-warning) {
  color: #111827 !important;
}

.dropdown-menu .dropdown-item:hover,
.dropdown-menu .dropdown-item:focus {
  color: #111827 !important;
  background-color: #f1f3ff !important;
}

/* Help text below fields is always dark, bold and filled. */
.form-text,
.valid-feedback,
.invalid-feedback,
.sonic-field-note {
  color: #1f2937 !important;
  font-family: "Tajawal", "Segoe UI", Tahoma, Arial, sans-serif !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}


/* Edit operations are displayed inside the shared modal. */
.sonic-edit-modal .modal-content {
  overflow: hidden;
  border: 0;
  border-radius: 18px;
  background: var(--bs-card-bg);
  box-shadow: 0 28px 80px rgba(15, 23, 42, .22);
}

.sonic-edit-modal .modal-header {
  min-height: 66px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--bs-border-color);
  background: color-mix(in srgb, var(--bs-primary) 5%, var(--bs-card-bg));
}

.sonic-edit-modal .modal-title,
.sonic-edit-modal .modal-title span {
  font-family: "Tajawal", "Segoe UI", Tahoma, Arial, sans-serif !important;
  font-weight: 800 !important;
}

.sonic-edit-modal .modal-body {
  padding: 20px;
}

.sonic-edit-modal .sonic-modal-edit-form {
  margin: 0;
}

.sonic-edit-modal .sonic-horizontal-form > .sonic-field-block,
.sonic-edit-modal .sonic-horizontal-form > .sonic-form-row-inline > .sonic-field-block {
  grid-column: span 4;
}

.sonic-edit-modal .sonic-horizontal-form > .sonic-field-wide,
.sonic-edit-modal .sonic-horizontal-form > .sonic-form-row-inline > .sonic-field-wide {
  grid-column: span 6;
}

/* Header dropdown must render above the sidebar, while remaining below modals. */
.page-wrapper,
.topbar,
.topbar .navbar,
.topbar .navbar-nav,
.topbar .hover-dd {
  overflow: visible !important;
}

.side-mini-panel {
  z-index: 1025 !important;
}

.topbar {
  z-index: 1040 !important;
}

.sonic-apps-dropdown,
.topbar .dropdown-menu {
  z-index: 1045 !important;
}

/* MatDash RTL stylesheet mirrors logo images; keep the original logo orientation. */
html[dir="rtl"] .sonic-original-brand-link .dark-logo,
html[dir="rtl"] .sonic-original-brand-link .light-logo,
html[dir="rtl"] .topbar .dark-logo,
html[dir="rtl"] .topbar .light-logo,
.sonic-original-brand-link img {
  transform: none !important;
  scale: 1 !important;
}

/* Do not show sidebar hover tooltips. */
.side-mini-panel [data-bs-toggle="tooltip"] {
  pointer-events: auto;
}

@media (max-width: 767.98px) {
  

  

  

  

  .sonic-edit-modal .sonic-horizontal-form > .sonic-field-block,
.sonic-edit-modal .sonic-horizontal-form > .sonic-form-row-inline > .sonic-field-block,
.sonic-edit-modal .sonic-horizontal-form > .sonic-field-wide,
.sonic-edit-modal .sonic-horizontal-form > .sonic-form-row-inline > .sonic-field-wide {
    grid-column: 1 / -1;
  }
}

/* ========================================================================== */

/* ========================================================================== */
.sonic-page-heading {
  flex-wrap: wrap;
}

.sonic-page-heading > div:first-child {
  flex: 1 1 360px;
  min-width: 280px;
}


@media (max-width: 1199.98px) {
  
}

@media (max-width: 575.98px) {
  .sonic-page-heading > div:first-child {
    min-width: 0;
    width: 100%;
  }

  

  
}

@media (max-width: 399.98px) {
  
}

/* ========================================================================== */
/* v1.5.6 — Unified forms, modals, tables, statistics and checkbox typography */
/* ========================================================================== */

/* A reusable 12-column grid for all add/edit/filter cards. */
.sonic-form-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 20px 18px;
  align-items: end;
}

.sonic-form-grid > .sonic-field,
.sonic-form-grid > [class*="sonic-col-"] {
  min-width: 0;
  margin: 0 !important;
}

.sonic-col-2 { grid-column: span 2; }
.sonic-col-3 { grid-column: span 3; }
.sonic-col-4 { grid-column: span 4; }
.sonic-col-5 { grid-column: span 5; }
.sonic-col-6 { grid-column: span 6; }
.sonic-col-7 { grid-column: span 7; }
.sonic-col-8 { grid-column: span 8; }
.sonic-col-9 { grid-column: span 9; }
.sonic-col-10 { grid-column: span 10; }
.sonic-col-12 { grid-column: 1 / -1; }

.sonic-form-card .card-body,
.sonic-filter-card .card-body {
  padding: 24px;
}

.sonic-form-card .form-label,
.sonic-filter-card .form-label,
.sonic-edit-modal .form-label {
  margin-bottom: 8px;
}

.sonic-form-card textarea.form-control,
.sonic-edit-modal textarea.form-control {
  min-height: 104px;
  resize: vertical;
}

.sonic-form-actions-row {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  padding-top: 2px;
}

.sonic-section-divider {
  grid-column: 1 / -1;
  height: 1px;
  margin: 2px 0;
  background: var(--bs-border-color);
}

/* Modals always use a clean filled surface and clear spacing. */
.modal-backdrop.show {
  opacity: .58;
}

.modal-dialog {
  padding: 12px;
}

.modal-content,
.sonic-edit-modal .modal-content {
  color: #111827 !important;
  background: var(--bs-card-bg) !important;
  border: 1px solid #dfe5ee !important;
  border-radius: 20px !important;
  box-shadow: 0 30px 90px rgba(15, 23, 42, .28) !important;
}

.modal-header,
.sonic-edit-modal .modal-header {
  min-height: 70px;
  padding: 18px 24px !important;
  color: #111827 !important;
  background: #f7f7ff !important;
  border-bottom: 1px solid #dfe5ee !important;
}

.modal-title,
.modal-title span,
.sonic-edit-modal .modal-title,
.sonic-edit-modal .modal-title span {
  color: #111827 !important;
  font-family: "Tajawal", "Segoe UI", Tahoma, Arial, sans-serif !important;
  font-weight: 800 !important;
}

.modal-body,
.sonic-edit-modal .modal-body {
  padding: 26px 24px !important;
  color: #111827 !important;
  background: var(--bs-card-bg) !important;
}

.modal-footer {
  padding: 16px 24px !important;
  color: #111827 !important;
  background: var(--bs-card-bg) !important;
  border-top: 1px solid #dfe5ee !important;
}

.modal .btn-close {
  opacity: .75;
}

.modal .sonic-horizontal-form,
.sonic-edit-modal .sonic-horizontal-form {
  gap: 20px 18px !important;
}

.modal .sonic-field-block,
.modal .sonic-field-wide,
.modal .sonic-field-full,
.sonic-edit-modal .sonic-field-block,
.sonic-edit-modal .sonic-field-wide,
.sonic-edit-modal .sonic-field-full {
  margin: 0 !important;
}

.modal .form-control,
.modal .form-select,
.modal .input-group-text,
.modal textarea,
.modal select,
.modal input:not([type="checkbox"]):not([type="radio"]) {
  color: #111827 !important;
  background-color: var(--bs-card-bg) !important;
  border-color: #cfd7e3 !important;
}

/* Every table value uses Tajawal Bold and a dark readable tone. */
.table,
.table th,
.table td,
.table a,
.table button,
.table input,
.table select,
.table textarea,
.table .badge,
.table small,
.table strong {
  font-family: "Tajawal", "Segoe UI", Tahoma, Arial, sans-serif !important;
  font-weight: 700 !important;
}

.table td,
.table tbody th,
.table tfoot td,
.table tfoot th {
  color: #111827 !important;
}

/* Checkbox and radio labels stay prominent everywhere. */
.form-check-label,
.checkbox-option .form-check-label,
.checkbox-choice label,
.form-switch .form-check-label {
  color: #111827 !important;
  font-family: "Tajawal", "Segoe UI", Tahoma, Arial, sans-serif !important;
  font-weight: 800 !important;
}

.form-check {
  min-height: 42px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 12px !important;
  margin: 0 !important;
  border: 1px solid #dfe5ee;
  border-radius: 11px;
  background: var(--bs-card-bg);
}

html[dir="rtl"] .form-check .form-check-input {
  float: none !important;
  flex: 0 0 auto;
  margin: 0 !important;
}

/* Explanatory labels and notices use the warning family, with readable dark text. */
.sonic-instruction-label,
.alert-warning,
.alert-info.sonic-instruction-label,
.sonic-field-note {
  color: #946200 !important;
  font-family: "Tajawal", "Segoe UI", Tahoma, Arial, sans-serif !important;
  font-weight: 800 !important;
}

.sonic-instruction-label,
.alert-info.sonic-instruction-label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 14px 16px;
  border: 1px solid #f0cf79 !important;
  border-right: 5px solid #f0ad00 !important;
  border-radius: 13px;
  background: #fff7d9 !important;
}

/* Unified statistics cards, including legacy cards detected by JavaScript. */
.sonic-stat-card,
.card-stat,
.sonic-auto-stat-card {
  overflow: hidden;
  border-color: #e1e6ef !important;
}

.sonic-stat-card .card-body,
.card-stat .card-body,
.sonic-auto-stat-card .card-body {
  position: relative;
  min-height: 112px;
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 20px !important;
}

.sonic-stat-card .sonic-stat-icon,
.card-stat .sonic-stat-icon,
.sonic-auto-stat-card .sonic-stat-icon,
.sonic-auto-stat-card .round-56 {
  width: 56px;
  height: 56px;
  flex: 0 0 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 17px !important;
  color: var(--bs-primary) !important;
  background: var(--bs-primary-bg-subtle) !important;
  font-size: 25px;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--bs-primary) 14%, transparent);
}

.sonic-stat-card .card-body > div,
.card-stat .card-body > div,
.sonic-auto-stat-card .card-body > div {
  min-width: 0;
}

.sonic-stat-card span:not(.sonic-stat-icon),
.sonic-stat-card small,
.card-stat span:not(.sonic-stat-icon),
.card-stat small,
.sonic-auto-stat-card span:not(.sonic-stat-icon),
.sonic-auto-stat-card small,
.sonic-auto-stat-card .text-body-secondary {
  color: #334155 !important;
  font-family: "Tajawal", "Segoe UI", Tahoma, Arial, sans-serif !important;
  font-weight: 800 !important;
}

.sonic-stat-card strong,
.card-stat strong,
.sonic-auto-stat-card strong,
.sonic-auto-stat-card .fw-bold,
.sonic-auto-stat-card .fs-7 {
  color: #111827 !important;
  font-family: "Tajawal", "Segoe UI", Tahoma, Arial, sans-serif !important;
  font-weight:700 !important;
}

@media (max-width: 991.98px) {
  .sonic-col-2,
.sonic-col-3,
.sonic-col-4,
.sonic-col-5,
.sonic-col-6,
.sonic-col-7,
.sonic-col-8,
.sonic-col-9,
.sonic-col-10 {
    grid-column: span 6;
  }
}

@media (max-width: 575.98px) {
  .sonic-form-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .sonic-form-grid > [class*="sonic-col-"] {
    grid-column: 1 / -1;
  }

  .sonic-form-card .card-body,
.sonic-filter-card .card-body,
.modal-body,
.sonic-edit-modal .modal-body {
    padding: 18px 16px !important;
  }

  .modal-header,
.sonic-edit-modal .modal-header,
.modal-footer {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* Preserve the explicit page grid spans after the automatic CRUD enhancer runs. */
.sonic-form-grid > .sonic-col-2,
.sonic-horizontal-form > .sonic-col-2 { grid-column: span 2; }
.sonic-form-grid > .sonic-col-3,
.sonic-horizontal-form > .sonic-col-3 { grid-column: span 3; }
.sonic-form-grid > .sonic-col-4,
.sonic-horizontal-form > .sonic-col-4 { grid-column: span 4; }
.sonic-form-grid > .sonic-col-5,
.sonic-horizontal-form > .sonic-col-5 { grid-column: span 5; }
.sonic-form-grid > .sonic-col-6,
.sonic-horizontal-form > .sonic-col-6 { grid-column: span 6; }
.sonic-form-grid > .sonic-col-7,
.sonic-horizontal-form > .sonic-col-7 { grid-column: span 7; }
.sonic-form-grid > .sonic-col-8,
.sonic-horizontal-form > .sonic-col-8 { grid-column: span 8; }
.sonic-form-grid > .sonic-col-9,
.sonic-horizontal-form > .sonic-col-9 { grid-column: span 9; }
.sonic-form-grid > .sonic-col-10,
.sonic-horizontal-form > .sonic-col-10 { grid-column: span 10; }
.sonic-form-grid > .sonic-col-12,
.sonic-horizontal-form > .sonic-col-12 { grid-column: 1 / -1; }

.modal .sonic-horizontal-form > .sonic-col-2 { grid-column: span 2; }
.modal .sonic-horizontal-form > .sonic-col-3 { grid-column: span 3; }
.modal .sonic-horizontal-form > .sonic-col-4 { grid-column: span 4; }
.modal .sonic-horizontal-form > .sonic-col-5 { grid-column: span 5; }
.modal .sonic-horizontal-form > .sonic-col-6 { grid-column: span 6; }
.modal .sonic-horizontal-form > .sonic-col-7 { grid-column: span 7; }
.modal .sonic-horizontal-form > .sonic-col-8 { grid-column: span 8; }
.modal .sonic-horizontal-form > .sonic-col-9 { grid-column: span 9; }
.modal .sonic-horizontal-form > .sonic-col-10 { grid-column: span 10; }
.modal .sonic-horizontal-form > .sonic-col-12 { grid-column: 1 / -1; }

/* Keep permission/checklist pickers untouched; only page-form checkboxes get a filled row. */
.form-check {
  min-height: initial;
  display: block;
  padding: 0 !important;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.sonic-form-grid .form-check {
  min-height: 43px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 12px !important;
  border: 1px solid #dfe5ee;
  border-radius: 11px;
  background: var(--bs-card-bg);
}

@media (max-width: 991.98px) {
  .sonic-form-grid > [class*="sonic-col-"],
.sonic-horizontal-form > [class*="sonic-col-"],
.modal .sonic-horizontal-form > [class*="sonic-col-"] {
    grid-column: span 6;
  }

  .sonic-form-grid > .sonic-col-12,
.sonic-horizontal-form > .sonic-col-12,
.modal .sonic-horizontal-form > .sonic-col-12 {
    grid-column: 1 / -1;
  }
}

@media (max-width: 575.98px) {
  .sonic-form-grid > [class*="sonic-col-"],
.sonic-horizontal-form > [class*="sonic-col-"],
.modal .sonic-horizontal-form > [class*="sonic-col-"] {
    grid-column: 1 / -1;
  }
}
.sonic-horizontal-form > .sonic-form-actions-row,
.modal .sonic-horizontal-form > .sonic-form-actions-row {
  grid-column: 1 / -1 !important;
}

.sonic-inline-stat {
  height: 100%;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: #111827 !important;
  background: var(--bs-card-bg) !important;
  font-family: "Tajawal", "Segoe UI", Tahoma, Arial, sans-serif !important;
  font-weight: 800 !important;
}

.sonic-inline-stat-icon {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  color: var(--bs-primary);
  background: var(--bs-primary-bg-subtle);
  font-size: 19px;
}

.sonic-inline-stat small,
.sonic-inline-stat strong,
.sonic-inline-stat .fw-bold {
  color: #111827 !important;
  font-family: "Tajawal", "Segoe UI", Tahoma, Arial, sans-serif !important;
  font-weight: 800 !important;
}

/* Informational labels throughout forms follow the requested warning treatment. */

.modal .btn-close {
  filter: none !important;
}

/* Preserve semantic MatDash colors on statistics icons. */
.sonic-stat-icon.bg-primary-subtle,
.sonic-auto-stat-card .round-56.bg-primary-subtle {
  color: var(--bs-primary) !important;
  background: var(--bs-primary-bg-subtle) !important;
}
.sonic-stat-icon.bg-success-subtle,
.sonic-auto-stat-card .round-56.bg-success-subtle {
  color: var(--bs-success) !important;
  background: var(--bs-success-bg-subtle) !important;
}
.sonic-stat-icon.bg-warning-subtle,
.sonic-auto-stat-card .round-56.bg-warning-subtle {
  color: var(--bs-warning-text-emphasis) !important;
  background: var(--bs-warning-bg-subtle) !important;
}
.sonic-stat-icon.bg-info-subtle,
.sonic-auto-stat-card .round-56.bg-info-subtle {
  color: var(--bs-info) !important;
  background: var(--bs-info-bg-subtle) !important;
}
.sonic-stat-icon.bg-danger-subtle,
.sonic-auto-stat-card .round-56.bg-danger-subtle {
  color: var(--bs-danger) !important;
  background: var(--bs-danger-bg-subtle) !important;
}

/* ========================================================================== */
/* v1.5.8 — Sharp striped tables, searchable Select2 and compact inline forms */
/* ========================================================================== */

/* All tables have sharp edges, alternating rows and a clear hover state. */
.table-responsive,
.table-responsive > .table,
.table,
.table > :not(caption) > * > *,
.table thead,
.table tbody,
.table tfoot,
.table tr,
.table th,
.table td {
  border-radius: 0 !important;
}

.table-responsive {
  overflow: auto;
  border: 1px solid #dfe5ee;
  background: var(--bs-card-bg);
}

.table-responsive > .table {
  margin-bottom: 0 !important;
  border: 0 !important;
}

.table tbody tr:nth-child(odd) > * {
  --bs-table-bg: #ffffff !important;
  background-color: var(--bs-card-bg) !important;
}

.table tbody tr:nth-child(even) > * {
  --bs-table-bg: #f2f4f7 !important;
  background-color: #f2f4f7 !important;
}

.table tbody tr:hover > * {
  --bs-table-bg: #e9e7ff !important;
  background-color: #e9e7ff !important;
  color: #111827 !important;
  transition: background-color .15s ease;
}

.table thead > tr > th,
.table > thead.table-light > * > * {
  background: #e7eaf0 !important;
  color: #111827 !important;
  border-color: #cfd6e0 !important;
}

[data-bs-theme="dark"] .table-responsive {
  border-color: #3a4658;
  background: #1f2937;
}

[data-bs-theme="dark"] .table tbody tr:nth-child(odd) > * {
  --bs-table-bg: #1f2937 !important;
  background-color: #1f2937 !important;
  color: #f8fafc !important;
}

[data-bs-theme="dark"] .table tbody tr:nth-child(even) > * {
  --bs-table-bg: #273244 !important;
  background-color: #273244 !important;
  color: #f8fafc !important;
}

[data-bs-theme="dark"] .table tbody tr:hover > * {
  --bs-table-bg: #373267 !important;
  background-color: #373267 !important;
  color: #ffffff !important;
}

[data-bs-theme="dark"] .table thead > tr > th,
[data-bs-theme="dark"] .table > thead.table-light > * > * {
  background: #313c4e !important;
  color: #ffffff !important;
  border-color: #465267 !important;
}

/* MatDash Basic Select2 is used for every dropdown. */
.select2-container {
  width: 100% !important;
  font-family: "Tajawal", "Segoe UI", Tahoma, Arial, sans-serif !important;
  font-weight: 700 !important;
  direction: rtl;
}

.select2-container .select2-selection--single,
.select2-container .select2-selection--multiple {
  min-height: 43px !important;
  display: flex !important;
  align-items: center !important;
  color: #111827 !important;
  background: var(--bs-card-bg) !important;
  border: 1px solid #d7dee9 !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

.select2-container .select2-selection--single .select2-selection__rendered {
  width: 100%;
  padding: 0 14px 0 42px !important;
  color: #111827 !important;
  line-height: 41px !important;
  text-align: right;
  font-weight: 700 !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  right: auto !important;
  left: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  pointer-events: none;
}

/* Keep the Select2 caret vertically centered for every control height in RTL. */
.select2-container--default .select2-selection--single .select2-selection__arrow b {
  position: static !important;
  top: auto !important;
  left: auto !important;
  margin: 0 !important;
  flex: 0 0 auto;
}

.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default.select2-container--open .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--multiple {
  border-color: var(--bs-primary) !important;
  box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--bs-primary) 16%, transparent) !important;
}

.select2-dropdown {
  z-index: 1095 !important;
  overflow: hidden;
  color: #111827 !important;
  background: var(--bs-card-bg) !important;
  border: 1px solid #cfd7e3 !important;
  border-radius: 10px !important;
  box-shadow: 0 16px 45px rgba(15, 23, 42, .18) !important;
  font-family: "Tajawal", "Segoe UI", Tahoma, Arial, sans-serif !important;
  font-weight: 700 !important;
}

.select2-search--dropdown {
  display: block !important;
  padding: 10px !important;
  background: #f4f6fa !important;
  border-bottom: 1px solid #dfe5ee;
}

.select2-search--dropdown .select2-search__field {
  min-height: 40px;
  width: 100% !important;
  padding: 8px 12px !important;
  color: #111827 !important;
  background: var(--bs-card-bg) !important;
  border: 1px solid #cfd7e3 !important;
  border-radius: 8px !important;
  outline: none;
  font-family: "Tajawal", "Segoe UI", Tahoma, Arial, sans-serif !important;
  font-weight: 700 !important;
  text-align: right;
}

.select2-results__option {
  min-height: 40px;
  display: flex;
  align-items: center;
  padding: 9px 13px !important;
  color: #111827 !important;
  background: var(--bs-card-bg) !important;
  font-weight: 700 !important;
  text-align: right;
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
  color: #ffffff !important;
  background: var(--bs-primary) !important;
}

.select2-container--default .select2-results__option[aria-selected="true"],
.select2-container--default .select2-results__option--selected {
  color: #312e81 !important;
  background: #e9e7ff !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
  color: #312e81 !important;
  background: #e9e7ff !important;
  border-color: #c9c4ff !important;
  font-weight: 700 !important;
}

.modal .select2-container,
.sonic-edit-modal .select2-container {
  z-index: 1;
}

.modal .select2-dropdown,
.sonic-edit-modal .select2-dropdown {
  z-index: 1095 !important;
}

[data-bs-theme="dark"] .select2-container .select2-selection--single,
[data-bs-theme="dark"] .select2-container .select2-selection--multiple,
[data-bs-theme="dark"] .select2-dropdown,
[data-bs-theme="dark"] .select2-results__option,
[data-bs-theme="dark"] .select2-search--dropdown .select2-search__field {
  color: #f8fafc !important;
  background: #202a38 !important;
  border-color: #465267 !important;
}

[data-bs-theme="dark"] .select2-search--dropdown {
  background: #293446 !important;
  border-color: #465267 !important;
}

[data-bs-theme="dark"] .select2-container .select2-selection__rendered {
  color: #f8fafc !important;
}

[data-bs-theme="dark"] .select2-container--default .select2-results__option--selected {
  color: #ffffff !important;
  background: #373267 !important;
}

/* Equal-width fields and action button on the same line where space permits. */
.sonic-equal-inline-form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
  gap: 18px;
  align-items: end;
}

.sonic-equal-inline-form > input[type="hidden"] {
  display: none;
}

.sonic-equal-inline-form > .sonic-field,
.sonic-equal-inline-form > .sonic-action-cell {
  min-width: 0;
  margin: 0 !important;
}

.sonic-equal-inline-form .form-label {
  min-height: 22px;
  margin-bottom: 8px !important;
}

.sonic-equal-inline-form .form-control,
.sonic-equal-inline-form .form-select,
.sonic-equal-inline-form .select2-container .select2-selection--single,
.sonic-equal-inline-form .btn {
  min-height: 43px;
}

.sonic-equal-inline-form .sonic-action-cell {
  display: flex;
  align-items: flex-end;
  gap: 8px;
}

.sonic-equal-inline-form .sonic-action-cell .btn {
  min-width: 112px;
  flex: 1 1 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Checkbox text stays beside the control in every picker and assignment panel. */
.checkbox-option,
.checkbox-choice > .form-check,
.checkbox-picker .form-check,
.scope-panel .form-check {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  min-height: 44px;
}

.checkbox-option .form-check-input,
.checkbox-choice .form-check-input,
.checkbox-picker .form-check-input,
.scope-panel .form-check-input {
  position: static !important;
  float: none !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
}

.checkbox-option .form-check-label,
.checkbox-choice .form-check-label,
.checkbox-picker .form-check-label,
.scope-panel .form-check-label {
  flex: 1 1 auto;
  width: auto !important;
  margin: 0 !important;
  line-height: 1.55;
}

/* More distinctive statistic cards while preserving the original MatDash palette. */
.sonic-auto-stat-card,
.sonic-stat-card,
.card-stat {
  position: relative;
  border: 1px solid #e0e5ee !important;
  background: linear-gradient(135deg, #ffffff 0%, #f7f7ff 100%) !important;
  box-shadow: 0 12px 32px rgba(15, 23, 42, .07) !important;
}

.sonic-auto-stat-card::after,
.sonic-stat-card::after,
.card-stat::after {
  content: "";
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  width: 4px;
  background: var(--bs-primary);
}

[data-bs-theme="dark"] .sonic-auto-stat-card,
[data-bs-theme="dark"] .sonic-stat-card,
[data-bs-theme="dark"] .card-stat {
  border-color: #3a4658 !important;
  background: linear-gradient(135deg, #202a38 0%, #26243e 100%) !important;
}

/* Square, equal template action buttons. */
.sonic-template-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  width: 100%;
}

.sonic-template-actions form {
  display: flex;
  margin: 0;
}

.sonic-template-action-btn {
  width: 100%;
  min-height: 112px;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 16px !important;
  border-width: 2px !important;
  border-radius: 14px !important;
  font-family: "Tajawal", "Segoe UI", Tahoma, Arial, sans-serif !important;
  font-weight: 800 !important;
  text-align: center;
}

.sonic-template-action-btn i,
.sonic-template-action-btn svg {
  width: 30px;
  height: 30px;
  font-size: 30px;
}

@media (max-width: 767.98px) {
  .sonic-equal-inline-form {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .sonic-template-actions {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 992px) {
  .sonic-equal-inline-form > .sonic-field-wide {
    grid-column: span 2;
  }
}

.sonic-equal-inline-form > .sonic-full-row {
  grid-column: 1 / -1;
}

/* ========================================================================== */
/* v1.5.9 — MatDash Datatable Advanced / File export across the whole system */
/* Source layout: table-datatable-advanced.html > File export                 */
/* ========================================================================== */

.dataTables_wrapper,
.dataTables_wrapper input,
.dataTables_wrapper select,
.dataTables_wrapper button,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dt-buttons {
  font-family: "Tajawal", "Segoe UI", Tahoma, Arial, sans-serif !important;
  font-weight: 700 !important;
}

.dataTables_wrapper.sonic-datatable-file-export {
  width: 100%;
  color: #111827;
  direction: rtl;
}

.dataTables_wrapper.sonic-datatable-file-export .dt-buttons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  float: right !important;
  margin: 0 0 14px 12px;
}

.dataTables_wrapper.sonic-datatable-file-export .dt-button,
.dataTables_wrapper.sonic-datatable-file-export .sonic-dt-export-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 38px;
  min-width: 82px;
  margin: 0 !important;
  padding: 8px 14px !important;
  border: 1px solid var(--bs-primary) !important;
  border-radius: 6px !important;
  color: #fff !important;
  background: var(--bs-primary) !important;
  box-shadow: none !important;
  line-height: 1.2 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

.dataTables_wrapper.sonic-datatable-file-export .dt-button:hover,
.dataTables_wrapper.sonic-datatable-file-export .dt-button:focus,
.dataTables_wrapper.sonic-datatable-file-export .sonic-dt-export-btn:hover,
.dataTables_wrapper.sonic-datatable-file-export .sonic-dt-export-btn:focus {
  color: #fff !important;
  background: color-mix(in srgb, var(--bs-primary) 86%, #000) !important;
  border-color: color-mix(in srgb, var(--bs-primary) 86%, #000) !important;
  transform: translateY(-1px);
}

.dataTables_wrapper.sonic-datatable-file-export .dt-button i,
.dataTables_wrapper.sonic-datatable-file-export .sonic-dt-export-btn i {
  font-size: 18px;
  line-height: 1;
}

.dataTables_wrapper.sonic-datatable-file-export .dataTables_filter {
  float: left !important;
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 14px;
  color: #111827 !important;
}

.dataTables_wrapper.sonic-datatable-file-export .dataTables_filter label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: #111827 !important;
  font-weight: 800 !important;
}

.dataTables_wrapper.sonic-datatable-file-export .dataTables_filter input {
  width: min(290px, 48vw);
  min-height: 40px;
  margin: 0 !important;
  padding: 8px 12px;
  color: #111827 !important;
  background: var(--bs-card-bg) !important;
  border: 1px solid #d7dee9 !important;
  border-radius: 6px !important;
  outline: none;
  box-shadow: none !important;
}

.dataTables_wrapper.sonic-datatable-file-export .dataTables_filter input:focus {
  border-color: var(--bs-primary) !important;
  box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--bs-primary) 14%, transparent) !important;
}

.dataTables_wrapper.sonic-datatable-file-export table.dataTable,
.dataTables_wrapper.sonic-datatable-file-export table.dataTable.no-footer,
table.sonic-file-export-table,
table.sonic-file-export-table > :not(caption) > * > * {
  width: 100% !important;
  border-radius: 0 !important;
  border-collapse: collapse !important;
}

.dataTables_wrapper.sonic-datatable-file-export table.dataTable {
  clear: both;
  margin-top: 0 !important;
  margin-bottom: 14px !important;
  border: 1px solid #cfd6e0 !important;
}

.dataTables_wrapper.sonic-datatable-file-export table.dataTable thead > tr > th,
.dataTables_wrapper.sonic-datatable-file-export table.dataTable thead > tr > td {
  padding: 13px 28px 13px 14px !important;
  color: #111827 !important;
  background-color: #e7eaf0 !important;
  border: 1px solid #cfd6e0 !important;
  font-weight: 800 !important;
  text-align: right !important;
  vertical-align: middle;
}

.dataTables_wrapper.sonic-datatable-file-export table.dataTable tbody > tr > td,
.dataTables_wrapper.sonic-datatable-file-export table.dataTable tbody > tr > th,
.dataTables_wrapper.sonic-datatable-file-export table.dataTable tfoot > tr > td,
.dataTables_wrapper.sonic-datatable-file-export table.dataTable tfoot > tr > th {
  padding: 12px 14px !important;
  color: #111827 !important;
  border: 1px solid #d9dfe8 !important;
  font-weight: 700 !important;
  text-align: right !important;
  vertical-align: middle;
}

.dataTables_wrapper.sonic-datatable-file-export table.dataTable.stripe > tbody > tr.odd > *,
.dataTables_wrapper.sonic-datatable-file-export table.dataTable.display > tbody > tr.odd > *,
.dataTables_wrapper.sonic-datatable-file-export table.dataTable.table-striped > tbody > tr:nth-of-type(odd) > * {
  box-shadow: none !important;
  background: var(--bs-card-bg) !important;
}

.dataTables_wrapper.sonic-datatable-file-export table.dataTable.stripe > tbody > tr.even > *,
.dataTables_wrapper.sonic-datatable-file-export table.dataTable.display > tbody > tr.even > *,
.dataTables_wrapper.sonic-datatable-file-export table.dataTable.table-striped > tbody > tr:nth-of-type(even) > * {
  box-shadow: none !important;
  background: #f2f4f7 !important;
}

.dataTables_wrapper.sonic-datatable-file-export table.dataTable.hover > tbody > tr:hover > *,
.dataTables_wrapper.sonic-datatable-file-export table.dataTable.display > tbody > tr:hover > *,
.dataTables_wrapper.sonic-datatable-file-export table.dataTable tbody > tr:hover > * {
  color: #111827 !important;
  background: #e9e7ff !important;
  box-shadow: none !important;
}

.dataTables_wrapper.sonic-datatable-file-export .dataTables_info {
  float: right !important;
  padding-top: 14px !important;
  color: #334155 !important;
}

.dataTables_wrapper.sonic-datatable-file-export .dataTables_paginate {
  float: left !important;
  display: flex;
  align-items: center;
  gap: 4px;
  padding-top: 8px !important;
}

.dataTables_wrapper.sonic-datatable-file-export .dataTables_paginate .paginate_button {
  min-width: 38px;
  min-height: 38px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  margin: 0 2px !important;
  padding: 6px 10px !important;
  color: #334155 !important;
  background: var(--bs-card-bg) !important;
  border: 1px solid #d7dee9 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}

.dataTables_wrapper.sonic-datatable-file-export .dataTables_paginate .paginate_button.current,
.dataTables_wrapper.sonic-datatable-file-export .dataTables_paginate .paginate_button.current:hover {
  color: #fff !important;
  background: var(--bs-primary) !important;
  border-color: var(--bs-primary) !important;
}

.dataTables_wrapper.sonic-datatable-file-export .dataTables_paginate .paginate_button:hover {
  color: var(--bs-primary) !important;
  background: color-mix(in srgb, var(--bs-primary) 10%, #fff) !important;
  border-color: color-mix(in srgb, var(--bs-primary) 35%, #d7dee9) !important;
}

.dataTables_wrapper.sonic-datatable-file-export .dataTables_paginate .paginate_button.disabled,
.dataTables_wrapper.sonic-datatable-file-export .dataTables_paginate .paginate_button.disabled:hover {
  color: #94a3b8 !important;
  background: #f8fafc !important;
  border-color: #e2e8f0 !important;
  cursor: default !important;
}

.dataTables_wrapper.sonic-datatable-file-export::after {
  content: "";
  display: block;
  clear: both;
}

/* Keep table controls readable in MatDash dark mode. */
[data-bs-theme="dark"] .dataTables_wrapper.sonic-datatable-file-export {
  color: #f8fafc;
}

[data-bs-theme="dark"] .dataTables_wrapper.sonic-datatable-file-export .dataTables_filter,
[data-bs-theme="dark"] .dataTables_wrapper.sonic-datatable-file-export .dataTables_filter label,
[data-bs-theme="dark"] .dataTables_wrapper.sonic-datatable-file-export .dataTables_info {
  color: #e5e7eb !important;
}

[data-bs-theme="dark"] .dataTables_wrapper.sonic-datatable-file-export .dataTables_filter input {
  color: #f8fafc !important;
  background: #1f2937 !important;
  border-color: #465267 !important;
}

[data-bs-theme="dark"] .dataTables_wrapper.sonic-datatable-file-export table.dataTable {
  border-color: #465267 !important;
}

[data-bs-theme="dark"] .dataTables_wrapper.sonic-datatable-file-export table.dataTable thead > tr > th,
[data-bs-theme="dark"] .dataTables_wrapper.sonic-datatable-file-export table.dataTable thead > tr > td {
  color: #fff !important;
  background: #313c4e !important;
  border-color: #465267 !important;
}

[data-bs-theme="dark"] .dataTables_wrapper.sonic-datatable-file-export table.dataTable.stripe > tbody > tr.odd > *,
[data-bs-theme="dark"] .dataTables_wrapper.sonic-datatable-file-export table.dataTable.display > tbody > tr.odd > *,
[data-bs-theme="dark"] .dataTables_wrapper.sonic-datatable-file-export table.dataTable.table-striped > tbody > tr:nth-of-type(odd) > * {
  color: #f8fafc !important;
  background: #1f2937 !important;
  border-color: #3a4658 !important;
}

[data-bs-theme="dark"] .dataTables_wrapper.sonic-datatable-file-export table.dataTable.stripe > tbody > tr.even > *,
[data-bs-theme="dark"] .dataTables_wrapper.sonic-datatable-file-export table.dataTable.display > tbody > tr.even > *,
[data-bs-theme="dark"] .dataTables_wrapper.sonic-datatable-file-export table.dataTable.table-striped > tbody > tr:nth-of-type(even) > * {
  color: #f8fafc !important;
  background: #273244 !important;
  border-color: #3a4658 !important;
}

[data-bs-theme="dark"] .dataTables_wrapper.sonic-datatable-file-export table.dataTable tbody > tr:hover > * {
  color: #fff !important;
  background: #373267 !important;
}

[data-bs-theme="dark"] .dataTables_wrapper.sonic-datatable-file-export .dataTables_paginate .paginate_button {
  color: #e5e7eb !important;
  background: #1f2937 !important;
  border-color: #465267 !important;
}

[data-bs-theme="dark"] .dataTables_wrapper.sonic-datatable-file-export .dataTables_paginate .paginate_button.current,
[data-bs-theme="dark"] .dataTables_wrapper.sonic-datatable-file-export .dataTables_paginate .paginate_button.current:hover {
  color: #fff !important;
  background: var(--bs-primary) !important;
  border-color: var(--bs-primary) !important;
}

@media (max-width: 767.98px) {
  .dataTables_wrapper.sonic-datatable-file-export .dt-buttons,
.dataTables_wrapper.sonic-datatable-file-export .dataTables_filter,
.dataTables_wrapper.sonic-datatable-file-export .dataTables_info,
.dataTables_wrapper.sonic-datatable-file-export .dataTables_paginate {
    float: none !important;
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .dataTables_wrapper.sonic-datatable-file-export .dataTables_filter label {
    width: 100%;
    flex-wrap: wrap;
    justify-content: center;
  }

  .dataTables_wrapper.sonic-datatable-file-export .dataTables_filter input {
    width: 100%;
  }

  .dataTables_wrapper.sonic-datatable-file-export .dt-button,
.dataTables_wrapper.sonic-datatable-file-export .sonic-dt-export-btn {
    flex: 1 1 92px;
  }
}

/* ========================================================================== */
/* v1.5.10 — DataTable spacing and balanced column sizing                    */
/* ========================================================================== */

/* Give the top toolbar and bottom pager breathing room inside every card. */
.dataTables_wrapper.sonic-datatable-file-export .dt-buttons {
  gap: 10px !important;
  margin: 12px 12px 18px 0 !important;
}

.dataTables_wrapper.sonic-datatable-file-export .dataTables_filter {
  margin: 12px 0 18px 12px !important;
}

.dataTables_wrapper.sonic-datatable-file-export .dataTables_info {
  margin: 0 12px 12px 0 !important;
  padding-top: 14px !important;
}

.dataTables_wrapper.sonic-datatable-file-export .dataTables_paginate {
  margin: 0 0 12px 12px !important;
  padding-top: 10px !important;
  gap: 6px !important;
}

.dataTables_wrapper.sonic-datatable-file-export .dataTables_paginate .paginate_button {
  margin: 0 3px !important;
}

/* Let DataTables calculate natural widths, while protecting small utility columns. */
.dataTables_wrapper.sonic-datatable-file-export table.dataTable,
table.sonic-file-export-table {
  table-layout: auto !important;
  width: 100% !important;
}

.dataTables_wrapper.sonic-datatable-file-export table.dataTable thead > tr > th,
.dataTables_wrapper.sonic-datatable-file-export table.dataTable tbody > tr > td,
.dataTables_wrapper.sonic-datatable-file-export table.dataTable tfoot > tr > th,
.dataTables_wrapper.sonic-datatable-file-export table.dataTable tfoot > tr > td {
  min-width: 118px;
  width: auto !important;
}

/* The sequential-number column must never consume the remaining table width. */
.dataTables_wrapper.sonic-datatable-file-export table.dataTable .sonic-dt-index-col {
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
  text-align: center !important;
  white-space: nowrap !important;
}

/* Keep action buttons readable without squeezing the data columns. */
.dataTables_wrapper.sonic-datatable-file-export table.dataTable .sonic-dt-actions-col {
  width: 168px !important;
  min-width: 168px !important;
  max-width: 220px !important;
  white-space: nowrap !important;
}

.dataTables_wrapper.sonic-datatable-file-export table.dataTable .sonic-dt-status-col {
  width: 112px !important;
  min-width: 112px !important;
  max-width: 140px !important;
  white-space: nowrap !important;
  text-align: center !important;
}

/* Tables with many columns scroll horizontally instead of crushing their content. */
.dataTables_wrapper.sonic-datatable-file-export table.dataTable th:not(.sonic-dt-index-col):not(.sonic-dt-actions-col):not(.sonic-dt-status-col),
.dataTables_wrapper.sonic-datatable-file-export table.dataTable td:not(.sonic-dt-index-col):not(.sonic-dt-actions-col):not(.sonic-dt-status-col) {
  white-space: nowrap;
}

@media (max-width: 767.98px) {
  .dataTables_wrapper.sonic-datatable-file-export .dt-buttons,
.dataTables_wrapper.sonic-datatable-file-export .dataTables_filter,
.dataTables_wrapper.sonic-datatable-file-export .dataTables_info,
.dataTables_wrapper.sonic-datatable-file-export .dataTables_paginate {
    margin-inline: 10px !important;
  }

  .dataTables_wrapper.sonic-datatable-file-export .dt-buttons,
.dataTables_wrapper.sonic-datatable-file-export .dataTables_filter {
    margin-top: 10px !important;
    margin-bottom: 16px !important;
  }

  .dataTables_wrapper.sonic-datatable-file-export .dataTables_info,
.dataTables_wrapper.sonic-datatable-file-export .dataTables_paginate {
    margin-bottom: 12px !important;
  }
}

/* ========================================================================== */
/* v1.5.11 — Mobile DataTables remain true horizontally scrollable tables     */
/* ========================================================================== */

/* DataTables owns the scrolling area; keep its toolbar/search/pager outside it. */
.table-responsive.sonic-datatable-host {
  overflow: visible !important;
  border: 0 !important;
  background: transparent !important;
}

.dataTables_wrapper.sonic-datatable-file-export .dataTables_scroll {
  clear: both;
  width: 100%;
  margin: 0;
}

.dataTables_wrapper.sonic-datatable-file-export .dataTables_scrollHead,
.dataTables_wrapper.sonic-datatable-file-export .dataTables_scrollBody {
  width: 100% !important;
  max-width: 100% !important;
}

.dataTables_wrapper.sonic-datatable-file-export .dataTables_scrollHead {
  overflow: hidden !important;
  border: 1px solid #cfd6e0;
  border-bottom: 0;
  background: #e7eaf0;
}

.dataTables_wrapper.sonic-datatable-file-export .dataTables_scrollBody {
  overflow-x: auto !important;
  overflow-y: visible !important;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-inline: contain;
  border: 1px solid #cfd6e0;
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--bs-primary) 55%, #cbd5e1) #f1f5f9;
}

.dataTables_wrapper.sonic-datatable-file-export .dataTables_scrollBody::-webkit-scrollbar {
  height: 9px;
}

.dataTables_wrapper.sonic-datatable-file-export .dataTables_scrollBody::-webkit-scrollbar-track {
  background: #f1f5f9;
}

.dataTables_wrapper.sonic-datatable-file-export .dataTables_scrollBody::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--bs-primary) 55%, #cbd5e1);
  border-radius: 0;
}

.dataTables_wrapper.sonic-datatable-file-export .dataTables_scrollHeadInner,
.dataTables_wrapper.sonic-datatable-file-export .dataTables_scrollHeadInner table,
.dataTables_wrapper.sonic-datatable-file-export .dataTables_scrollBody table {
  min-width: var(--sonic-dt-min-width, 720px) !important;
}

.dataTables_wrapper.sonic-datatable-file-export .dataTables_scrollHeadInner {
  width: max(100%, var(--sonic-dt-min-width, 720px)) !important;
}

.dataTables_wrapper.sonic-datatable-file-export .dataTables_scrollHeadInner table,
.dataTables_wrapper.sonic-datatable-file-export .dataTables_scrollBody table {
  width: 100% !important;
  table-layout: auto !important;
  margin: 0 !important;
}

/* Prevent any old mobile-card rule from converting DataTables cells to blocks. */
@media (max-width: 575.98px) {
  .table-responsive.sonic-mobile-table-scroll {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
  }

  .table-responsive.sonic-mobile-cards table.sonic-file-export-table,
.table-responsive.sonic-mobile-cards table.sonic-file-export-table thead,
.table-responsive.sonic-mobile-cards table.sonic-file-export-table tbody,
.table-responsive.sonic-mobile-cards table.sonic-file-export-table tfoot {
    display: table !important;
    width: 100% !important;
  }

  .table-responsive.sonic-mobile-cards table.sonic-file-export-table thead {
    display: table-header-group !important;
  }

  .table-responsive.sonic-mobile-cards table.sonic-file-export-table tbody {
    display: table-row-group !important;
  }

  .table-responsive.sonic-mobile-cards table.sonic-file-export-table tfoot {
    display: table-footer-group !important;
  }

  .table-responsive.sonic-mobile-cards table.sonic-file-export-table tr {
    display: table-row !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .table-responsive.sonic-mobile-cards table.sonic-file-export-table th,
.table-responsive.sonic-mobile-cards table.sonic-file-export-table td {
    display: table-cell !important;
    width: auto !important;
    min-width: 118px;
    padding: 11px 12px !important;
    border: 1px solid #d9dfe8 !important;
    white-space: nowrap !important;
    text-align: right !important;
  }

  .table-responsive.sonic-mobile-cards table.sonic-file-export-table td::before {
    content: none !important;
    display: none !important;
  }

  .dataTables_wrapper.sonic-datatable-file-export {
    width: 100%;
    max-width: 100%;
  }

  .dataTables_wrapper.sonic-datatable-file-export .dataTables_scrollHeadInner,
.dataTables_wrapper.sonic-datatable-file-export .dataTables_scrollHeadInner table,
.dataTables_wrapper.sonic-datatable-file-export .dataTables_scrollBody table {
    min-width: var(--sonic-dt-min-width, 720px) !important;
  }

  .dataTables_wrapper.sonic-datatable-file-export .dataTables_scrollBody {
    margin-bottom: 12px;
  }

  .dataTables_wrapper.sonic-datatable-file-export table.dataTable .sonic-dt-index-col {
    min-width: 64px !important;
    width: 64px !important;
    max-width: 64px !important;
  }

  .dataTables_wrapper.sonic-datatable-file-export table.dataTable .sonic-dt-actions-col {
    min-width: 168px !important;
    width: 168px !important;
  }

  .dataTables_wrapper.sonic-datatable-file-export table.dataTable .sonic-dt-status-col {
    min-width: 112px !important;
    width: 112px !important;
  }
}

[data-bs-theme="dark"] .dataTables_wrapper.sonic-datatable-file-export .dataTables_scrollHead {
  border-color: #3a4658;
  background: #273244;
}

[data-bs-theme="dark"] .dataTables_wrapper.sonic-datatable-file-export .dataTables_scrollBody {
  border-color: #3a4658;
  scrollbar-color: color-mix(in srgb, var(--bs-primary) 65%, #64748b) #172033;
}


/* ========================================================================== */
/* v1.5.12 — Projects: all create/edit controls share one balanced row        */
/* ========================================================================== */

@media (min-width: 1200px) {
  .sonic-projects-inline-form {
    grid-template-columns:
      minmax(0, 1.25fr)
      minmax(0, .72fr)
      minmax(0, .86fr)
      minmax(0, 1fr)
      minmax(0, 1fr)
      minmax(0, 1.35fr)
      minmax(112px, .72fr);
    column-gap: 16px;
    row-gap: 0;
    align-items: end;
  }

  .sonic-projects-inline-form > .sonic-field,
.sonic-projects-inline-form > .sonic-action-cell {
    width: 100%;
    min-width: 0;
  }

  .sonic-projects-inline-form .form-control,
.sonic-projects-inline-form .form-select,
.sonic-projects-inline-form .select2-container {
    width: 100% !important;
    min-width: 0 !important;
  }

  .sonic-projects-inline-form .sonic-action-cell {
    display: flex;
    gap: 8px;
    align-items: flex-end;
  }

  .sonic-projects-inline-form .sonic-action-cell .btn {
    width: 100%;
    min-width: 0;
    padding-inline: 12px;
    white-space: nowrap;
  }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
  .sonic-projects-inline-form {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }

  .sonic-projects-inline-form .sonic-action-cell {
    grid-column: span 3;
  }
}


/* ========================================================================== */
/* v1.5.13 — Projects card: one real horizontal row without Bootstrap clashes */
/* ========================================================================== */

.sonic-projects-one-row-form {
  display: grid !important;
  width: 100%;
  gap: 16px;
  align-items: end;
  direction: rtl;
}

.sonic-projects-one-row-form > input[type="hidden"] {
  display: none !important;
}

.sonic-projects-one-row-form > .sonic-project-field,
.sonic-projects-one-row-form > .sonic-project-actions {
  min-width: 0 !important;
  width: 100%;
  margin: 0 !important;
}

.sonic-projects-one-row-form .form-label {
  display: block;
  min-height: 22px;
  margin: 0 0 8px !important;
  line-height: 1.45;
}

.sonic-projects-one-row-form .form-control,
.sonic-projects-one-row-form .form-select,
.sonic-projects-one-row-form .select2-container,
.sonic-projects-one-row-form .select2-container .select2-selection--single {
  width: 100% !important;
  min-width: 0 !important;
}

.sonic-projects-one-row-form .form-control,
.sonic-projects-one-row-form .form-select,
.sonic-projects-one-row-form .select2-container .select2-selection--single,
.sonic-projects-one-row-form .btn {
  min-height: 43px;
}

.sonic-projects-one-row-form .sonic-project-actions {
  display: flex;
  align-items: stretch;
  gap: 8px;
}

.sonic-projects-one-row-form .sonic-project-actions .btn {
  flex: 1 1 auto;
  min-width: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-inline: 12px;
  white-space: nowrap;
}

/* The card itself is the layout reference; 900px is enough for this compact row. */
@media (min-width: 900px) {
  .sonic-projects-one-row-form {
    grid-template-columns:
      minmax(0, 1.25fr)
      minmax(0, .72fr)
      minmax(0, .82fr)
      minmax(0, 1fr)
      minmax(0, 1fr)
      minmax(0, 1.22fr)
      minmax(108px, .68fr) !important;
    column-gap: 14px;
    row-gap: 0;
  }
}

@media (min-width: 600px) and (max-width: 899.98px) {
  .sonic-projects-one-row-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  .sonic-projects-one-row-form .sonic-project-actions {
    grid-column: 1 / -1;
  }
}

@media (max-width: 599.98px) {
  .sonic-projects-one-row-form {
    grid-template-columns: 1fr;
    gap: 15px;
  }
}


/* ========================================================================== */
/* v1.5.14 — Projects: prevent global CRUD grid from overriding the one-row form */
/* ========================================================================== */

@media (min-width: 1200px) {
  .sonic-projects-one-row-form > .sonic-project-field,
.sonic-projects-one-row-form > .sonic-project-actions,
.sonic-projects-one-row-form > .sonic-field-block,
.sonic-projects-one-row-form > .sonic-field-wide,
.sonic-projects-one-row-form > .sonic-field-full,
.sonic-projects-one-row-form > .sonic-form-actions {
    grid-column: auto !important;
  }

  .sonic-projects-one-row-form > .sonic-project-actions,
.sonic-projects-one-row-form > .sonic-form-actions {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    margin: 0 !important;
  }
}


/* ========================================================================== */
/* v1.5.15 — Towers card: one real horizontal row, matching projects.php      */
/* ========================================================================== */

.sonic-towers-one-row-form {
  display: grid !important;
  width: 100%;
  gap: 16px;
  align-items: end;
  direction: rtl;
}

.sonic-towers-one-row-form > input[type="hidden"] {
  display: none !important;
}

.sonic-towers-one-row-form > .sonic-tower-field,
.sonic-towers-one-row-form > .sonic-tower-actions {
  min-width: 0 !important;
  width: 100%;
  margin: 0 !important;
  grid-column: auto !important;
}

.sonic-towers-one-row-form .form-label {
  display: block;
  min-height: 22px;
  margin: 0 0 8px !important;
  line-height: 1.45;
}

.sonic-towers-one-row-form .form-control,
.sonic-towers-one-row-form .form-select,
.sonic-towers-one-row-form .select2-container,
.sonic-towers-one-row-form .select2-container .select2-selection--single {
  width: 100% !important;
  min-width: 0 !important;
}

.sonic-towers-one-row-form .form-control,
.sonic-towers-one-row-form .form-select,
.sonic-towers-one-row-form .select2-container .select2-selection--single,
.sonic-towers-one-row-form .btn {
  min-height: 43px;
}

.sonic-towers-one-row-form .sonic-tower-actions {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  gap: 8px;
}

.sonic-towers-one-row-form .sonic-tower-actions .btn {
  flex: 1 1 auto;
  min-width: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-inline: 12px;
  white-space: nowrap;
}

@media (min-width: 900px) {
  .sonic-towers-one-row-form {
    grid-template-columns:
      minmax(0, 1.35fr)
      minmax(0, .72fr)
      minmax(0, .95fr)
      minmax(0, .9fr)
      minmax(116px, .72fr) !important;
    column-gap: 16px;
    row-gap: 0;
  }
}

@media (min-width: 600px) and (max-width: 899.98px) {
  .sonic-towers-one-row-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  .sonic-towers-one-row-form .sonic-tower-actions {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 599.98px) {
  .sonic-towers-one-row-form {
    grid-template-columns: 1fr;
    gap: 15px;
  }
}


/* ========================================================================== */
/* v1.5.16 — MatDash Default Size Light Table                                 */
/* Source: table-sizing.html > Default Size Light Table                       */
/* Exact MatDash base + requested table-bordered and table-hover only         */
/* ========================================================================== */

.table-responsive.sonic-default-light-table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* These variables and measurements mirror MatDash's original .table rules. */
body table.sonic-default-light-table {
  --bs-table-color-type: initial;
  --bs-table-bg-type: initial;
  --bs-table-color-state: initial;
  --bs-table-bg-state: initial;
  --bs-table-color: var(--bs-body-color);
  --bs-table-bg: #fff;
  --bs-table-border-color: var(--bs-border-color);
  --bs-table-accent-bg: transparent;
  --bs-table-striped-color: var(--bs-body-color);
  --bs-table-striped-bg: #eff4fa;
  --bs-table-active-color: var(--bs-body-color);
  --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), .1);
  --bs-table-hover-color: var(--bs-body-color);
  --bs-table-hover-bg: #f6f7f9;
  width: 100%;
  margin-bottom: 0 !important;
  vertical-align: top;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  border-radius: 0 !important;
  border-color: var(--bs-table-border-color) !important;
  background-color: var(--bs-table-bg) !important;
  color: var(--bs-table-color) !important;
}

body table.sonic-default-light-table > :not(caption) > * > * {
  padding: 14px 24px !important;
  color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color))) !important;
  background-color: var(--bs-table-bg) !important;
  border-bottom-width: var(--bs-border-width) !important;
  border-color: var(--bs-table-border-color) !important;
  border-radius: 0 !important;
  box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg))) !important;
  vertical-align: middle !important;
  font-family: "Tajawal", sans-serif !important;
  font-weight: 700 !important;
}

body table.sonic-default-light-table > thead {
  vertical-align: bottom;
}

body table.sonic-default-light-table thead,
body table.sonic-default-light-table thead.text-dark,
body table.sonic-default-light-table thead > tr,
body table.sonic-default-light-table thead > tr > th,
body table.sonic-default-light-table thead > tr > td {
  color: var(--bs-heading-color) !important;
  font-family: "Tajawal", sans-serif !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}

/* Remove all previous striped row styling; Default Size Light Table is plain. */
body table.sonic-default-light-table tbody tr:nth-child(odd) > *,
body table.sonic-default-light-table tbody tr:nth-child(even) > *,
body table.sonic-default-light-table tbody tr > * {
  --bs-table-color-type: initial !important;
  --bs-table-bg-type: initial !important;
  background-color: var(--bs-table-bg) !important;
  color: var(--bs-table-color) !important;
  box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg))) !important;
}

/* Requested hover, using MatDash's original table-hover variables. */
body table.sonic-default-light-table.table-hover > tbody > tr:hover > * {
  --bs-table-color-state: var(--bs-table-hover-color) !important;
  --bs-table-bg-state: var(--bs-table-hover-bg) !important;
  color: var(--bs-table-color-state) !important;
  box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state) !important;
}

/* Requested table-bordered, matching Bootstrap/MatDash border sizing. */
body table.sonic-default-light-table.table-bordered > :not(caption) > * {
  border-width: var(--bs-border-width) 0 !important;
}

body table.sonic-default-light-table.table-bordered > :not(caption) > * > * {
  border-width: 0 var(--bs-border-width) !important;
}

body table.sonic-default-light-table.table-bordered {
  border: var(--bs-border-width) solid var(--bs-table-border-color) !important;
}

body table.sonic-default-light-table td .btn,
body table.sonic-default-light-table th .btn {
  vertical-align: middle;
}

body table.sonic-default-light-table td form.d-inline,
body table.sonic-default-light-table td .d-inline {
  white-space: nowrap;
}

/* Keep a real horizontally scrollable table on phones. */
@media (max-width: 767.98px) {
  .table-responsive.sonic-default-light-table-wrap {
    display: block !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }

  body table.sonic-default-light-table {
    width: max-content !important;
    min-width: 100% !important;
  }

  body table.sonic-default-light-table thead { display: table-header-group !important; }
  body table.sonic-default-light-table tbody { display: table-row-group !important; }
  body table.sonic-default-light-table tr { display: table-row !important; }

  body table.sonic-default-light-table th,
body table.sonic-default-light-table td {
    display: table-cell !important;
    min-width: 120px;
    white-space: nowrap !important;
  }

  body table.sonic-default-light-table th:first-child,
body table.sonic-default-light-table td:first-child {
    min-width: 64px;
  }

  body table.sonic-default-light-table td::before {
    display: none !important;
    content: none !important;
  }
}

/* MatDash's own dark-table variables, preserving the working night mode. */
[data-bs-theme="dark"] body table.sonic-default-light-table {
  --bs-table-border-color: #313e54;
  --bs-table-bg: #1a2537;
  --bs-table-hover-bg: #1f2a3d;
}

[data-bs-theme="dark"] body table.sonic-default-light-table thead > tr > th {
  color: rgba(255, 255, 255, .85) !important;
}


/* ========================================================================== */
/* v1.5.17 — Mobile Cards / Tables switch above every table                   */
/* ========================================================================== */

.sonic-mobile-table-view-switch {
  display: none;
}

@media (max-width: 767.98px) {
  .sonic-mobile-table-view-switch {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    margin: 0 0 14px;
    padding: 10px;
    border: 1px solid var(--bs-border-color);
    background: var(--bs-card-bg, #fff);
    font-family: "Tajawal", sans-serif;
    font-weight: 700;
  }

  .sonic-mobile-table-view-title {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    flex: 0 0 auto;
    color: var(--bs-heading-color);
    font-size: 13px;
    white-space: nowrap;
  }

  .sonic-mobile-table-view-title .ti {
    color: var(--bs-primary);
    font-size: 19px;
  }

  .sonic-mobile-table-view-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    flex: 1 1 auto;
    max-width: 240px;
    padding: 4px;
    background: var(--bs-tertiary-bg);
    border: 1px solid var(--bs-border-color);
  }

  .sonic-mobile-table-view-option {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 7px 12px;
    border: 1px solid transparent;
    border-radius: 4px;
    background: transparent;
    color: var(--bs-heading-color);
    font-family: "Tajawal", sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    transition: background-color .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease;
  }

  .sonic-mobile-table-view-option .ti {
    font-size: 18px;
  }

  .sonic-mobile-table-view-option.active {
    border-color: var(--bs-primary);
    background: var(--bs-primary);
    color: #fff;
    box-shadow: 0 7px 16px rgba(var(--bs-primary-rgb), .2);
  }

  .sonic-mobile-table-view-option:focus-visible {
    outline: 3px solid rgba(var(--bs-primary-rgb), .22);
    outline-offset: 2px;
  }

  /* Table mode: preserve the real MatDash table and allow horizontal touch scrolling. */
  .table-responsive.sonic-mobile-view-host[data-mobile-table-view="table"] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
  }

  .table-responsive.sonic-mobile-view-host[data-mobile-table-view="table"] table.sonic-default-light-table {
    display: table !important;
    width: max-content !important;
    min-width: 100% !important;
  }

  /* Card mode uses the original rows/cells, so buttons, forms and inputs remain functional. */
  .table-responsive.sonic-mobile-view-host[data-mobile-table-view="cards"] {
    overflow: visible !important;
    width: 100% !important;
    max-width: 100% !important;
    border: 0 !important;
    background: transparent !important;
  }

  .table-responsive.sonic-mobile-view-host[data-mobile-table-view="cards"] table.sonic-default-light-table,
.table-responsive.sonic-mobile-view-host[data-mobile-table-view="cards"] table.sonic-default-light-table > tbody {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    border: 0 !important;
    background: transparent !important;
  }

  .table-responsive.sonic-mobile-view-host[data-mobile-table-view="cards"] table.sonic-default-light-table > thead,
.table-responsive.sonic-mobile-view-host[data-mobile-table-view="cards"] table.sonic-default-light-table > tfoot {
    display: none !important;
  }

  .table-responsive.sonic-mobile-view-host[data-mobile-table-view="cards"] table.sonic-default-light-table > tbody > tr {
    display: block !important;
    width: 100% !important;
    margin: 0 0 14px !important;
    padding: 5px 14px !important;
    border: 1px solid var(--bs-border-color) !important;
    border-radius: 12px !important;
    background: var(--bs-card-bg, #fff) !important;
    box-shadow: 0 7px 22px rgba(15, 23, 42, .055) !important;
  }

  .table-responsive.sonic-mobile-view-host[data-mobile-table-view="cards"] table.sonic-default-light-table > tbody > tr:last-child {
    margin-bottom: 0 !important;
  }

  .table-responsive.sonic-mobile-view-host[data-mobile-table-view="cards"] table.sonic-default-light-table > tbody > tr > th,
.table-responsive.sonic-mobile-view-host[data-mobile-table-view="cards"] table.sonic-default-light-table > tbody > tr > td {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    gap: 8px 12px !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 46px;
    padding: 10px 0 !important;
    border: 0 !important;
    border-bottom: 1px dashed var(--bs-border-color) !important;
    background: transparent !important;
    color: var(--bs-heading-color) !important;
    white-space: normal !important;
    text-align: start !important;
    box-shadow: none !important;
    overflow-wrap: anywhere;
  }

  .table-responsive.sonic-mobile-view-host[data-mobile-table-view="cards"] table.sonic-default-light-table > tbody > tr > :last-child {
    border-bottom: 0 !important;
  }

  .table-responsive.sonic-mobile-view-host[data-mobile-table-view="cards"] table.sonic-default-light-table > tbody > tr > th::before,
.table-responsive.sonic-mobile-view-host[data-mobile-table-view="cards"] table.sonic-default-light-table > tbody > tr > td::before {
    content: attr(data-label) !important;
    display: block !important;
    flex: 0 0 min(38%, 132px);
    max-width: 132px;
    color: var(--bs-secondary-color) !important;
    font-family: "Tajawal", sans-serif;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.5;
    text-align: start;
    white-space: normal;
  }

  .table-responsive.sonic-mobile-view-host[data-mobile-table-view="cards"] .sonic-mobile-card-wide-cell::before {
    flex-basis: 100% !important;
    max-width: 100% !important;
  }

  .table-responsive.sonic-mobile-view-host[data-mobile-table-view="cards"] table.sonic-default-light-table td > .form-control,
.table-responsive.sonic-mobile-view-host[data-mobile-table-view="cards"] table.sonic-default-light-table td > .form-select,
.table-responsive.sonic-mobile-view-host[data-mobile-table-view="cards"] table.sonic-default-light-table td > .select2-container,
.table-responsive.sonic-mobile-view-host[data-mobile-table-view="cards"] table.sonic-default-light-table th > .form-control,
.table-responsive.sonic-mobile-view-host[data-mobile-table-view="cards"] table.sonic-default-light-table th > .form-select,
.table-responsive.sonic-mobile-view-host[data-mobile-table-view="cards"] table.sonic-default-light-table th > .select2-container {
    flex: 1 1 54%;
    min-width: 0;
    max-width: 100%;
  }

  .table-responsive.sonic-mobile-view-host[data-mobile-table-view="cards"] table.sonic-default-light-table td form,
.table-responsive.sonic-mobile-view-host[data-mobile-table-view="cards"] table.sonic-default-light-table th form {
    margin: 0 !important;
  }

  .table-responsive.sonic-mobile-view-host[data-mobile-table-view="cards"] table.sonic-default-light-table td .btn,
.table-responsive.sonic-mobile-view-host[data-mobile-table-view="cards"] table.sonic-default-light-table th .btn {
    margin: 2px 0 !important;
  }

  .table-responsive.sonic-mobile-view-host[data-mobile-table-view="cards"] table.sonic-default-light-table tbody tr:hover > * {
    background: transparent !important;
    box-shadow: none !important;
  }
}

@media (max-width: 399.98px) {
  .sonic-mobile-table-view-switch {
    align-items: stretch;
    flex-direction: column;
  }

  .sonic-mobile-table-view-options {
    width: 100%;
    max-width: none;
  }
}

[data-bs-theme="dark"] .sonic-mobile-table-view-switch,
[data-bs-theme="dark"] .table-responsive.sonic-mobile-view-host[data-mobile-table-view="cards"] table.sonic-default-light-table > tbody > tr {
  background: #1a2537 !important;
  border-color: #313e54 !important;
}

/* ========================================================================== */
/* v1.5.18 — Compact mobile page heading; remove inherited flex-basis gap     */
/* ========================================================================== */
@media (max-width: 767.98px) {
  .sonic-page-heading {
    min-height: 0 !important;
    height: auto !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 16px !important;
  }

  /* The desktop flex-basis (360px) became vertical height after switching the
     heading to flex-direction: column on phones. Reset it to content height. */
  .sonic-page-heading > div:first-child {
    flex: 0 0 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
  }

  /* Likewise, the desktop 100% flex-basis must not become a tall mobile row. */
  
}


/* ========================================================================== */
/* v1.5.19 — Floors card: one real horizontal row, matching projects/towers  */
/* ========================================================================== */

.sonic-floors-one-row-form {
  display: grid !important;
  width: 100%;
  gap: 16px;
  align-items: end;
  direction: rtl;
}

.sonic-floors-one-row-form > input[type="hidden"] {
  display: none !important;
}

.sonic-floors-one-row-form > .sonic-floor-field,
.sonic-floors-one-row-form > .sonic-floor-actions {
  min-width: 0 !important;
  width: 100%;
  margin: 0 !important;
  grid-column: auto !important;
}

.sonic-floors-one-row-form .form-label {
  display: block;
  min-height: 22px;
  margin: 0 0 8px !important;
  line-height: 1.45;
}

.sonic-floors-one-row-form .form-control,
.sonic-floors-one-row-form .form-select,
.sonic-floors-one-row-form .select2-container,
.sonic-floors-one-row-form .select2-container .select2-selection--single {
  width: 100% !important;
  min-width: 0 !important;
}

.sonic-floors-one-row-form .form-control,
.sonic-floors-one-row-form .form-select,
.sonic-floors-one-row-form .select2-container .select2-selection--single,
.sonic-floors-one-row-form .btn {
  min-height: 43px;
}

.sonic-floors-one-row-form .sonic-floor-actions {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  gap: 8px;
}

.sonic-floors-one-row-form .sonic-floor-actions .btn {
  flex: 1 1 auto;
  min-width: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-inline: 12px;
  white-space: nowrap;
}

@media (min-width: 900px) {
  .sonic-floors-one-row-form {
    grid-template-columns:
      minmax(0, 1.35fr)
      minmax(0, 1.25fr)
      minmax(0, .72fr)
      minmax(0, 1fr)
      minmax(116px, .72fr) !important;
    column-gap: 16px;
    row-gap: 0;
  }
}

@media (min-width: 600px) and (max-width: 899.98px) {
  .sonic-floors-one-row-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  .sonic-floors-one-row-form .sonic-floor-actions {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 599.98px) {
  .sonic-floors-one-row-form {
    grid-template-columns: 1fr;
    gap: 15px;
  }
}


/* ========================================================================== */
/* v1.5.20 — Apartment types card: one real horizontal row                    */
/* ========================================================================== */

.sonic-apartment-types-one-row-form {
  display: grid !important;
  width: 100%;
  gap: 16px;
  align-items: end;
  direction: rtl;
}

.sonic-apartment-types-one-row-form > input[type="hidden"] {
  display: none !important;
}

.sonic-apartment-types-one-row-form > .sonic-apartment-type-field,
.sonic-apartment-types-one-row-form > .sonic-apartment-type-actions {
  min-width: 0 !important;
  width: 100%;
  margin: 0 !important;
  grid-column: auto !important;
}

.sonic-apartment-types-one-row-form .form-label {
  display: block;
  min-height: 22px;
  margin: 0 0 8px !important;
  line-height: 1.45;
}

.sonic-apartment-types-one-row-form .form-control,
.sonic-apartment-types-one-row-form .form-select,
.sonic-apartment-types-one-row-form .select2-container,
.sonic-apartment-types-one-row-form .select2-container .select2-selection--single {
  width: 100% !important;
  min-width: 0 !important;
}

.sonic-apartment-types-one-row-form .form-control,
.sonic-apartment-types-one-row-form .form-select,
.sonic-apartment-types-one-row-form .select2-container .select2-selection--single,
.sonic-apartment-types-one-row-form .btn {
  min-height: 43px;
}

.sonic-apartment-types-one-row-form .sonic-apartment-type-actions {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  gap: 8px;
}

.sonic-apartment-types-one-row-form .sonic-apartment-type-actions .btn {
  flex: 1 1 auto;
  min-width: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-inline: 12px;
  white-space: nowrap;
}

@media (min-width: 900px) {
  .sonic-apartment-types-one-row-form {
    grid-template-columns:
      minmax(0, 1.25fr)
      minmax(0, .78fr)
      minmax(0, .85fr)
      minmax(0, .72fr)
      minmax(0, .72fr)
      minmax(0, 1.35fr)
      minmax(116px, .74fr) !important;
    column-gap: 16px;
    row-gap: 0;
  }
}

@media (min-width: 600px) and (max-width: 899.98px) {
  .sonic-apartment-types-one-row-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  .sonic-apartment-types-one-row-form .sonic-apartment-type-actions {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 599.98px) {
  .sonic-apartment-types-one-row-form {
    grid-template-columns: 1fr;
    gap: 15px;
  }
}


/* ========================================================================== */
/* v1.5.21 — Locations cards: two real horizontal rows                        */
/* ========================================================================== */

.sonic-locations-one-row-form,
.sonic-locations-generate-one-row-form {
  display: grid !important;
  width: 100%;
  gap: 16px;
  align-items: end;
  direction: rtl;
}

.sonic-locations-one-row-form > input[type="hidden"],
.sonic-locations-generate-one-row-form > input[type="hidden"] {
  display: none !important;
}

.sonic-locations-one-row-form > .sonic-location-field,
.sonic-locations-one-row-form > .sonic-location-actions,
.sonic-locations-generate-one-row-form > .sonic-location-generate-field,
.sonic-locations-generate-one-row-form > .sonic-location-generate-actions {
  min-width: 0 !important;
  width: 100%;
  margin: 0 !important;
  grid-column: auto !important;
}

.sonic-locations-one-row-form .form-label,
.sonic-locations-generate-one-row-form .form-label {
  display: block;
  min-height: 22px;
  margin: 0 0 8px !important;
  line-height: 1.45;
}

.sonic-locations-one-row-form .form-control,
.sonic-locations-one-row-form .form-select,
.sonic-locations-one-row-form .select2-container,
.sonic-locations-one-row-form .select2-container .select2-selection--single,
.sonic-locations-generate-one-row-form .form-control,
.sonic-locations-generate-one-row-form .form-select,
.sonic-locations-generate-one-row-form .select2-container,
.sonic-locations-generate-one-row-form .select2-container .select2-selection--single {
  width: 100% !important;
  min-width: 0 !important;
}

.sonic-locations-one-row-form .form-control,
.sonic-locations-one-row-form .form-select,
.sonic-locations-one-row-form .select2-container .select2-selection--single,
.sonic-locations-one-row-form .btn,
.sonic-locations-generate-one-row-form .form-control,
.sonic-locations-generate-one-row-form .form-select,
.sonic-locations-generate-one-row-form .select2-container .select2-selection--single,
.sonic-locations-generate-one-row-form .btn,
.sonic-locations-one-row-form .sonic-inline-check-control,
.sonic-locations-generate-one-row-form .sonic-inline-check-control {
  min-height: 43px;
}

.sonic-locations-one-row-form .sonic-inline-check-control,
.sonic-locations-generate-one-row-form .sonic-inline-check-control {
  display: flex;
  align-items: center;
  padding: 0 13px;
  border: 1px solid var(--bs-border-color);
  background: var(--bs-body-bg);
  border-radius: var(--bs-border-radius);
}

.sonic-locations-one-row-form .sonic-inline-check-control .form-check,
.sonic-locations-generate-one-row-form .sonic-inline-check-control .form-check {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  padding: 0;
}

.sonic-locations-one-row-form .sonic-inline-check-control .form-check-input,
.sonic-locations-generate-one-row-form .sonic-inline-check-control .form-check-input {
  position: static;
  float: none;
  flex: 0 0 auto;
  margin: 0 !important;
}

.sonic-locations-one-row-form .sonic-inline-check-control .form-check-label,
.sonic-locations-generate-one-row-form .sonic-inline-check-control .form-check-label {
  margin: 0 !important;
  line-height: 1.35;
  white-space: nowrap;
}

.sonic-locations-one-row-form .sonic-location-actions,
.sonic-locations-generate-one-row-form .sonic-location-generate-actions {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  gap: 8px;
}

.sonic-locations-one-row-form .sonic-location-actions .btn,
.sonic-locations-generate-one-row-form .sonic-location-generate-actions .btn {
  flex: 1 1 auto;
  min-width: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-inline: 12px;
  white-space: nowrap;
}

@media (min-width: 1100px) {
  .sonic-locations-one-row-form {
    grid-template-columns:
      minmax(0, 1.05fr)
      minmax(0, 1.05fr)
      minmax(0, 1.12fr)
      minmax(0, .86fr)
      minmax(0, 1.05fr)
      minmax(0, 1.12fr)
      minmax(0, .72fr)
      minmax(0, 1.08fr)
      minmax(112px, .76fr) !important;
    column-gap: 14px;
    row-gap: 0;
  }

  .sonic-locations-generate-one-row-form {
    grid-template-columns:
      minmax(0, 1.25fr)
      minmax(0, 1.25fr)
      minmax(0, .72fr)
      minmax(0, .72fr)
      minmax(0, 1.5fr)
      minmax(120px, .72fr) !important;
    column-gap: 16px;
    row-gap: 0;
  }
}

@media (min-width: 700px) and (max-width: 1099.98px) {
  .sonic-locations-one-row-form,
.sonic-locations-generate-one-row-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  .sonic-locations-one-row-form .sonic-location-actions,
.sonic-locations-generate-one-row-form .sonic-location-generate-actions {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 699.98px) {
  .sonic-locations-one-row-form,
.sonic-locations-generate-one-row-form {
    grid-template-columns: 1fr;
    gap: 15px;
  }
}

[data-bs-theme="dark"] .sonic-locations-one-row-form .sonic-inline-check-control,
[data-bs-theme="dark"] .sonic-locations-generate-one-row-form .sonic-inline-check-control {
  background: var(--bs-body-bg);
  border-color: var(--bs-border-color);
}


/* ========================================================================== */
/* v1.5.22 — Global field/help alignment without distorted one-row forms       */
/* ========================================================================== */

/*
 * Field instructions are intentionally kept below their controls. The old
 * end-alignment made every grid item align by its lowest edge, so a long note
 * moved the actual input upward/downward and pushed action buttons to the
 * bottom of the card. All form grids now align from the top instead.
 */
.sonic-horizontal-form,
.sonic-form-grid,
.sonic-equal-inline-form,
.sonic-projects-inline-form,
.sonic-projects-one-row-form,
.sonic-towers-one-row-form,
.sonic-floors-one-row-form,
.sonic-apartment-types-one-row-form,
.sonic-locations-one-row-form,
.sonic-locations-generate-one-row-form {
  align-items: start !important;
}

/* Every field is one stable vertical unit: label, control, then instruction. */
.sonic-horizontal-form > .sonic-field-block,
.sonic-horizontal-form > .sonic-field-wide,
.sonic-horizontal-form > .sonic-field-full,
.sonic-form-grid > .sonic-field,
.sonic-equal-inline-form > .sonic-field,
.sonic-projects-one-row-form > .sonic-project-field,
.sonic-towers-one-row-form > .sonic-tower-field,
.sonic-floors-one-row-form > .sonic-floor-field,
.sonic-apartment-types-one-row-form > .sonic-apartment-type-field,
.sonic-locations-one-row-form > .sonic-location-field,
.sonic-locations-generate-one-row-form > .sonic-location-generate-field {
  min-width: 0 !important;
  align-self: start !important;
}


/* Compact, consistent instructions that do not visually overwhelm the form. */


/* Action buttons align with the input/select line, never with the note bottom. */
.sonic-action-cell,
.sonic-form-actions,
.sonic-project-actions,
.sonic-tower-actions,
.sonic-floor-actions,
.sonic-apartment-type-actions,
.sonic-location-actions,
.sonic-location-generate-actions {
  align-self: start !important;
  padding-top: 30px !important;
  margin-top: 0 !important;
}

.sonic-action-cell .btn,
.sonic-form-actions .btn,
.sonic-project-actions .btn,
.sonic-tower-actions .btn,
.sonic-floor-actions .btn,
.sonic-apartment-type-actions .btn,
.sonic-location-actions .btn,
.sonic-location-generate-actions .btn {
  min-height: 43px;
}

/* Checkbox controls share the exact input-row height before their note. */


@media (min-width: 768px) {
  /* A shared minimum gives short notes the same visual rhythm as two-line notes. */
  
}

@media (max-width: 767.98px) {
  /* Stacked mobile forms need no reserved note height or action offset. */
  

  .sonic-action-cell,
.sonic-form-actions,
.sonic-project-actions,
.sonic-tower-actions,
.sonic-floor-actions,
.sonic-apartment-type-actions,
.sonic-location-actions,
.sonic-location-generate-actions {
    padding-top: 0 !important;
  }
}


/* ========================================================================== */

/* ========================================================================== */

/* Keep the full explanatory text accessible, but remove it from the layout. */


/* Bootstrap tooltip that matches the compact dark example supplied by user. */


/* One-row action buttons follow the new label + compact help line. */


body .sonic-action-cell,
body .sonic-form-actions,
body .sonic-project-actions,
body .sonic-tower-actions,
body .sonic-floor-actions,
body .sonic-apartment-type-actions,
body .sonic-location-actions,
body .sonic-location-generate-actions {
  padding-top: 30px !important;
}

@media (max-width: 767.98px) {
  

  body .sonic-action-cell,
body .sonic-form-actions,
body .sonic-project-actions,
body .sonic-tower-actions,
body .sonic-floor-actions,
body .sonic-apartment-type-actions,
body .sonic-location-actions,
body .sonic-location-generate-actions {
    padding-top: 0 !important;
  }

  
}


/* ========================================================================== */
/* v1.5.24 — Specialties card: one real horizontal row                        */
/* ========================================================================== */

.sonic-specialties-one-row-form {
  display: grid !important;
  width: 100%;
  gap: 16px;
  align-items: start !important;
  direction: rtl;
}

.sonic-specialties-one-row-form > input[type="hidden"] {
  display: none !important;
}

.sonic-specialties-one-row-form > .sonic-specialty-field,
.sonic-specialties-one-row-form > .sonic-specialty-actions {
  min-width: 0 !important;
  width: 100%;
  margin: 0 !important;
  grid-column: auto !important;
}

.sonic-specialties-one-row-form .form-label {
  display: block;
  min-height: 22px;
  margin: 0 0 .12rem !important;
  line-height: 1.45;
}

.sonic-specialties-one-row-form .form-control,
.sonic-specialties-one-row-form .form-select,
.sonic-specialties-one-row-form .select2-container,
.sonic-specialties-one-row-form .select2-container .select2-selection--single {
  width: 100% !important;
  min-width: 0 !important;
}

.sonic-specialties-one-row-form .form-control,
.sonic-specialties-one-row-form .form-select,
.sonic-specialties-one-row-form .select2-container .select2-selection--single,
.sonic-specialties-one-row-form .btn {
  min-height: 43px;
}

.sonic-specialties-one-row-form .sonic-specialty-actions {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  align-self: start !important;
  gap: 8px;
  padding-top: 48px !important;
}

body .sonic-specialties-one-row-form .sonic-specialty-actions {
  padding-top: 30px !important;
}

.sonic-specialties-one-row-form .sonic-specialty-actions .btn {
  flex: 1 1 auto;
  min-width: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-inline: 14px;
  white-space: nowrap;
}

@media (min-width: 900px) {
  .sonic-specialties-one-row-form {
    grid-template-columns:
      minmax(0, 1.55fr)
      minmax(0, 1fr)
      minmax(0, .72fr)
      minmax(120px, .72fr) !important;
    column-gap: 16px;
    row-gap: 0;
  }
}

@media (min-width: 600px) and (max-width: 899.98px) {
  .sonic-specialties-one-row-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  .sonic-specialties-one-row-form .sonic-specialty-actions {
    grid-column: 1 / -1 !important;
    padding-top: 0 !important;
  }
}

@media (max-width: 599.98px) {
  .sonic-specialties-one-row-form {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .sonic-specialties-one-row-form .sonic-specialty-actions {
    padding-top: 0 !important;
  }
}


/* ========================================================================== */
/* v1.5.25 — Work items one-row card + universally vertical edit modals      */
/* ========================================================================== */

/* Work items: one true row on desktop, independent from generic CRUD rules. */
.sonic-work-items-one-row-form {
  display: grid !important;
  width: 100%;
  gap: 16px;
  align-items: start !important;
  direction: rtl;
}

.sonic-work-items-one-row-form > input[type="hidden"] {
  display: none !important;
}

.sonic-work-items-one-row-form > .sonic-work-item-field,
.sonic-work-items-one-row-form > .sonic-work-item-actions {
  min-width: 0 !important;
  width: 100%;
  margin: 0 !important;
  grid-column: auto !important;
}

.sonic-work-items-one-row-form .form-label {
  display: block;
  min-height: 22px;
  margin: 0 0 .12rem !important;
  line-height: 1.45;
}

.sonic-work-items-one-row-form .form-control,
.sonic-work-items-one-row-form .form-select,
.sonic-work-items-one-row-form .select2-container,
.sonic-work-items-one-row-form .select2-container .select2-selection--single {
  width: 100% !important;
  min-width: 0 !important;
}

.sonic-work-items-one-row-form .form-control,
.sonic-work-items-one-row-form .form-select,
.sonic-work-items-one-row-form .select2-container .select2-selection--single,
.sonic-work-items-one-row-form .btn {
  min-height: 43px;
}

.sonic-work-items-one-row-form .sonic-work-item-actions {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  align-self: start !important;
  gap: 8px;
  padding-top: 48px !important;
}

body .sonic-work-items-one-row-form .sonic-work-item-actions {
  padding-top: 30px !important;
}

.sonic-work-items-one-row-form .sonic-work-item-actions .btn {
  flex: 1 1 auto;
  min-width: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-inline: 12px;
  white-space: nowrap;
}

@media (min-width: 1120px) {
  .sonic-work-items-one-row-form {
    grid-template-columns:
      minmax(0, 1.35fr)
      minmax(0, 1.65fr)
      minmax(0, .9fr)
      minmax(0, 1fr)
      minmax(0, .9fr)
      minmax(0, .68fr)
      minmax(120px, .82fr) !important;
    column-gap: 16px;
    row-gap: 0;
  }
}

@media (min-width: 700px) and (max-width: 1119.98px) {
  .sonic-work-items-one-row-form {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }

  .sonic-work-items-one-row-form .sonic-work-item-name {
    grid-column: span 2 !important;
  }

  .sonic-work-items-one-row-form .sonic-work-item-actions {
    grid-column: 1 / -1 !important;
    padding-top: 0 !important;
  }
}

@media (max-width: 699.98px) {
  .sonic-work-items-one-row-form {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .sonic-work-items-one-row-form .sonic-work-item-actions {
    padding-top: 0 !important;
  }
}

/*
 * Every edit modal is intentionally vertical, regardless of how the source
 * add-card is laid out. This selector is scoped to the shared edit modal only,
 * so normal add forms keep their one-row desktop layouts.
 */
.sonic-edit-modal .modal-dialog {
  width: calc(100% - 24px);
  max-width: 720px !important;
}

.sonic-edit-modal .sonic-modal-edit-form {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

.sonic-edit-modal .sonic-modal-edit-form > input[type="hidden"] {
  display: none !important;
}

.sonic-edit-modal .sonic-modal-edit-form > :not(input[type="hidden"]),
.sonic-edit-modal .sonic-modal-edit-form > .sonic-field,
.sonic-edit-modal .sonic-modal-edit-form > .sonic-field-block,
.sonic-edit-modal .sonic-modal-edit-form > .sonic-field-wide,
.sonic-edit-modal .sonic-modal-edit-form > .sonic-field-full,
.sonic-edit-modal .sonic-modal-edit-form > [class*="-field"],
.sonic-edit-modal .sonic-modal-edit-form > [class*="-actions"] {
  flex: 0 0 auto !important;
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  align-self: stretch !important;
}

/* Nested grids/rows inside edit forms also become one column. */
.sonic-edit-modal .sonic-modal-edit-form .row,
.sonic-edit-modal .sonic-modal-edit-form .sonic-horizontal-form,
.sonic-edit-modal .sonic-modal-edit-form .sonic-form-grid,
.sonic-edit-modal .sonic-modal-edit-form .sonic-form-row-inline,
.sonic-edit-modal .sonic-modal-edit-form .sonic-inline-grid,
.sonic-edit-modal .sonic-modal-edit-form [class*="one-row-form"],
.sonic-edit-modal .sonic-modal-edit-form [class*="inline-form"] {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 16px !important;
  width: 100% !important;
  margin: 0 !important;
}

.sonic-edit-modal .sonic-modal-edit-form .row > *,
.sonic-edit-modal .sonic-modal-edit-form .sonic-form-row-inline > *,
.sonic-edit-modal .sonic-modal-edit-form .sonic-inline-grid > *,
.sonic-edit-modal .sonic-modal-edit-form [class*="one-row-form"] > *,
.sonic-edit-modal .sonic-modal-edit-form [class*="inline-form"] > * {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.sonic-edit-modal .sonic-modal-edit-form .form-control,
.sonic-edit-modal .sonic-modal-edit-form .form-select,
.sonic-edit-modal .sonic-modal-edit-form .select2-container,
.sonic-edit-modal .sonic-modal-edit-form .select2-container .select2-selection--single,
.sonic-edit-modal .sonic-modal-edit-form .input-group {
  width: 100% !important;
  max-width: none !important;
}

/* Actions stay at the bottom, with no desktop one-row offset. */
.sonic-edit-modal .sonic-modal-edit-form .sonic-action-cell,
.sonic-edit-modal .sonic-modal-edit-form .sonic-form-actions,
.sonic-edit-modal .sonic-modal-edit-form [class*="-actions"] {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  gap: 10px !important;
  padding-top: 0 !important;
  margin-top: 2px !important;
}

.sonic-edit-modal .sonic-modal-edit-form .sonic-action-cell .btn,
.sonic-edit-modal .sonic-modal-edit-form .sonic-form-actions .btn,
.sonic-edit-modal .sonic-modal-edit-form [class*="-actions"] .btn {
  flex: 1 1 0 !important;
  min-height: 44px;
  justify-content: center;
}

@media (max-width: 575.98px) {
  .sonic-edit-modal .modal-dialog {
    width: calc(100% - 16px);
    margin: 8px auto;
  }

  .sonic-edit-modal .modal-body {
    padding: 18px 16px !important;
  }

  .sonic-edit-modal .sonic-modal-edit-form .sonic-action-cell,
.sonic-edit-modal .sonic-modal-edit-form .sonic-form-actions,
.sonic-edit-modal .sonic-modal-edit-form [class*="-actions"] {
    flex-direction: column !important;
  }
}

/* ========================================================================== */
/* v1.5.26 — Contractors page redesign                                        */
/* ========================================================================== */
.contractor-stat-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.contractor-stat-card {
  position: relative;
  min-height: 170px;
  overflow: hidden;
  border: 1px solid #dde4f0;
  border-radius: 22px;
  background: var(--bs-card-bg);
  padding: 28px 28px 24px;
  box-shadow: 0 16px 38px rgba(15, 23, 42, .06);
}

.contractor-stat-card::before {
  content: "";
  position: absolute;
  inset-inline-start: -36px;
  inset-block-start: -36px;
  width: 126px;
  height: 126px;
  border-radius: 50%;
  opacity: .9;
}

.contractor-stat-violet::before { background: #ede9ff; }
.contractor-stat-green::before { background: #ddf8ef; }
.contractor-stat-amber::before { background: #fef1d9; }

.contractor-stat-count {
  position: absolute;
  inset-inline-start: 26px;
  inset-block-start: 20px;
  font-size: 18px;
  font-weight: 800;
  z-index: 2;
}

.contractor-stat-violet .contractor-stat-count { color: #635bff; }
.contractor-stat-green .contractor-stat-count { color: #14b881; }
.contractor-stat-amber .contractor-stat-count { color: #f59e0b; }

.contractor-stat-icon {
  position: absolute;
  inset-inline-end: 22px;
  inset-block-start: 18px;
  width: 52px;
  height: 52px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
}

.contractor-stat-violet .contractor-stat-icon {
  background: #f1eeff;
  color: #7c6cff;
}
.contractor-stat-green .contractor-stat-icon {
  background: #ebfbf5;
  color: #23c79a;
}
.contractor-stat-amber .contractor-stat-icon {
  background: #fff7e8;
  color: #f4b339;
}

.contractor-stat-body {
  position: absolute;
  inset-inline: 28px 28px;
  inset-block-end: 22px;
}

.contractor-stat-body h3 {
  margin: 0 0 10px;
  color: #172b4d;
  font-size: 26px;
  font-weight: 800;
  line-height: 1.25;
}

.contractor-stat-body p {
  margin: 0;
  color: #7a8699;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.6;
}

.contractor-form-layout {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.contractor-form-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 18px;
  align-items: start;
}

.contractor-form-grid .form-label,
.contractor-specialties-head .form-label {
  margin-bottom: 8px !important;
}

.contractor-field,
.contractor-action-cell {
  min-width: 0;
}

.contractor-field-name { grid-column: span 8; }
.contractor-field-phone { grid-column: span 4; }
.contractor-field-address { grid-column: span 5; }
.contractor-field-notes { grid-column: span 5; }
.contractor-action-cell { grid-column: span 2; }

.contractor-field .form-control,
.contractor-field .input-group,
.contractor-field .input-group .form-control,
.contractor-field .input-group .input-group-text,
.contractor-action-cell .btn {
  min-height: 48px;
}

.contractor-specialties-block {
  border: 1px solid #e5eaf3;
  border-radius: 20px;
  padding: 18px;
  background: linear-gradient(180deg, rgba(99, 91, 255, .03) 0%, rgba(99, 91, 255, 0) 100%);
}

.contractor-specialties-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.contractor-specialties-panel.checkbox-picker {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.contractor-picker-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.contractor-specialties-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 18px;
}

.contractor-switch-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 82px;
  padding: 14px 18px;
  border: 1px solid #e3e8f2;
  border-radius: 18px;
  background: var(--bs-card-bg);
  cursor: pointer;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.contractor-switch-row:hover {
  border-color: rgba(99, 91, 255, .45);
  box-shadow: 0 12px 28px rgba(99, 91, 255, .08);
  transform: translateY(-1px);
}

.contractor-switch-content {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  flex: 1 1 auto;
}

.contractor-switch-title {
  color: #172b4d;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.4;
}

.contractor-switch-help {
  color: #7b8798;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.55;
}

.contractor-switch-box.form-check {
  margin: 0;
  padding: 0;
  flex: 0 0 auto;
}

.contractor-switch-box .form-check-input {
  float: none;
  margin: 0;
  width: 3rem;
  height: 1.55rem;
  cursor: pointer;
}

.contractor-switch-box .form-check-input:checked {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}

.contractor-action-cell {
  display: flex;
  align-items: flex-end;
  gap: 10px;
}

.contractor-action-cell .btn {
  flex: 1 1 auto;
  min-width: 115px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 1199.98px) {
  .contractor-stat-grid {
    grid-template-columns: 1fr;
  }

  .contractor-specialties-list {
    grid-template-columns: 1fr;
  }

  .contractor-field-name,
.contractor-field-phone,
.contractor-field-address,
.contractor-field-notes,
.contractor-action-cell {
    grid-column: span 12;
  }
}

@media (max-width: 767.98px) {
  .contractor-stat-card {
    min-height: 156px;
    padding: 22px 20px 22px;
  }

  .contractor-stat-body h3 {
    font-size: 22px;
  }

  .contractor-specialties-head,
.contractor-picker-toolbar,
.contractor-action-cell {
    flex-direction: column;
    align-items: stretch;
  }

  .contractor-switch-row {
    min-height: 76px;
    padding: 14px 14px;
  }
}

[data-bs-theme="dark"] .contractor-stat-card,
[data-bs-theme="dark"] .contractor-switch-row,
[data-bs-theme="dark"] .contractor-specialties-block {
  background: #202936;
  border-color: #334155;
}

[data-bs-theme="dark"] .contractor-stat-body h3,
[data-bs-theme="dark"] .contractor-switch-title {
  color: #f8fafc;
}

[data-bs-theme="dark"] .contractor-stat-body p,
[data-bs-theme="dark"] .contractor-switch-help {
  color: #cbd5e1;
}

/* ========================================================================== */
/* v1.5.27 — Contractors fields in one row + full-width specialties           */
/* ========================================================================== */
.contractor-form-layout[data-no-crud-layout="1"] {
  width: 100% !important;
  max-width: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
  margin: 0 !important;
}

.contractor-main-row {
  width: 100%;
  display: grid;
  grid-template-columns:
    minmax(0, 1.25fr)
    minmax(0, .9fr)
    minmax(0, 1.15fr)
    minmax(0, 1.15fr)
    minmax(0, .8fr);
  gap: 16px;
  align-items: start;
}

.contractor-main-row > .contractor-field,
.contractor-main-row > .contractor-action-cell {
  grid-column: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.contractor-main-row .form-label {
  min-height: 22px;
  margin-bottom: 8px !important;
}

.contractor-main-row .form-control,
.contractor-main-row .btn {
  width: 100%;
  min-height: 46px;
}

.contractor-main-row .form-control {
  border-radius: var(--bs-border-radius-lg, .5rem) !important;
}

.contractor-main-row .contractor-action-cell {
  display: flex;
  align-items: stretch;
  gap: 8px;
  padding-top: 48px;
}

body .contractor-main-row .contractor-action-cell {
  padding-top: 30px;
}

.contractor-main-row .contractor-action-cell .btn {
  flex: 1 1 0;
  min-width: 0;
  padding-inline: 12px;
}

.contractor-specialties-block {
  width: 100% !important;
  max-width: none !important;
  align-self: stretch !important;
  grid-column: 1 / -1 !important;
}

.contractor-specialties-panel,
.contractor-specialties-list {
  width: 100% !important;
  max-width: none !important;
}

.contractor-specialties-list {
  grid-template-columns: repeat(auto-fit, minmax(245px, 1fr));
}

/* Edit modal stays vertical even though the add card is horizontal. */
.sonic-edit-modal .contractor-form-layout,
.sonic-edit-modal .contractor-main-row {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  gap: 15px !important;
}

.sonic-edit-modal .contractor-main-row .contractor-action-cell {
  padding-top: 0 !important;
  width: 100% !important;
}

@media (max-width: 991.98px) {
  .contractor-main-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contractor-main-row .contractor-action-cell {
    grid-column: 1 / -1 !important;
    padding-top: 0 !important;
  }
}

@media (max-width: 767.98px) {
  .contractor-main-row {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .contractor-main-row .contractor-action-cell {
    flex-direction: column;
    padding-top: 0 !important;
  }

  .contractor-specialties-list {
    grid-template-columns: 1fr;
  }
}

/* ========================================================================== */
/* v1.5.28 — Assignments page aligned with the contractors redesign           */
/* ========================================================================== */
.assignment-form-layout {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.assignment-primary-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 18px;
  align-items: start;
}

.assignment-primary-grid > .sonic-field {
  min-width: 0;
  margin: 0 !important;
}

.assignment-primary-contractor { grid-column: span 6; }
.assignment-primary-date { grid-column: span 3; }
.assignment-primary-scope { grid-column: span 3; }

.assignment-primary-grid .form-control,
.assignment-primary-grid .form-select,
.assignment-primary-grid .select2-container .select2-selection--single {
  min-height: 48px;
}

.assignment-scope-shell {
  width: 100%;
  border: 1px solid #e2e8f2;
  border-radius: 20px;
  padding: 20px;
  background: linear-gradient(180deg, rgba(99, 91, 255, .035) 0%, rgba(99, 91, 255, 0) 100%);
}

.assignment-step-card .scope-panel {
  width: 100%;
}

.assignment-step-card .assignment-switch-picker.checkbox-picker {
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.assignment-step-card .assignment-switch-picker .checkbox-picker-toolbar {
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px dashed #dce3ee;
}

.assignment-step-card .assignment-switch-picker .checkbox-picker-list.row,
.assignment-step-card .assignment-switch-picker > .checkbox-picker-list:not(.row) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 12px 16px;
  margin: 0 !important;
}

.assignment-step-card .assignment-switch-picker .checkbox-picker-list.row > .checkbox-choice,
.assignment-step-card .assignment-switch-picker > .checkbox-picker-list > .checkbox-choice {
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.assignment-step-card .assignment-switch-picker .checkbox-group-section {
  grid-column: 1 / -1;
  margin: 0 0 10px;
  padding: 14px;
  border: 1px solid #e4e9f2;
  border-radius: 18px;
  background: rgba(255, 255, 255, .72);
}

.assignment-step-card .assignment-switch-picker .checkbox-group-section .row {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 12px 16px;
  margin: 0 !important;
}

.assignment-step-card .assignment-switch-picker .checkbox-group-section .row > .checkbox-choice {
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
}

.assignment-step-card .assignment-switch-picker .checkbox-option {
  display: flex !important;
  flex-direction: row-reverse !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  width: 100%;
  min-height: 76px;
  margin: 0 !important;
  padding: 14px 16px !important;
  border: 1px solid #e2e8f2;
  border-radius: 17px;
  background: var(--bs-card-bg);
  cursor: pointer;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.assignment-step-card .assignment-switch-picker .checkbox-option:hover {
  border-color: rgba(99, 91, 255, .45);
  box-shadow: 0 10px 26px rgba(99, 91, 255, .08);
  transform: translateY(-1px);
}

.assignment-step-card .assignment-switch-picker .checkbox-option .form-check-input {
  position: static !important;
  float: none !important;
  flex: 0 0 auto !important;
  width: 3rem !important;
  height: 1.55rem !important;
  margin: 0 !important;
  cursor: pointer;
}

.assignment-step-card .assignment-switch-picker .checkbox-option .form-check-label {
  flex: 1 1 auto;
  width: auto !important;
  margin: 0 !important;
  color: #172b4d;
  font-weight: 800 !important;
  line-height: 1.55;
  cursor: pointer;
}

.assignment-step-card .assignment-switch-picker .checkbox-option .form-check-label small,
.assignment-step-card .assignment-switch-picker .checkbox-option .form-check-label .text-muted {
  color: #7b8798 !important;
  font-weight: 700 !important;
}

.assignment-line-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 14px;
  align-items: end;
  margin-bottom: 14px;
  padding: 16px;
  border: 1px solid #e2e8f2;
  border-radius: 18px;
  background: var(--bs-card-bg);
}

.assignment-line-specialty { grid-column: span 3; }
.assignment-line-work { grid-column: span 4; }
.assignment-line-price { grid-column: span 2; }
.assignment-line-quantity { grid-column: span 2; }
.assignment-line-action { grid-column: span 1; }

.assignment-line-grid > div {
  min-width: 0;
}

.assignment-line-grid .form-control,
.assignment-line-grid .form-select,
.assignment-line-grid .select2-container .select2-selection--single,
.assignment-line-grid .btn {
  min-height: 46px;
}

.assignment-submit-btn {
  min-width: 240px;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 1199.98px) {
  .assignment-primary-contractor,
.assignment-primary-date,
.assignment-primary-scope {
    grid-column: span 12;
  }

  .assignment-line-specialty,
.assignment-line-work,
.assignment-line-price,
.assignment-line-quantity,
.assignment-line-action {
    grid-column: span 12;
  }
}

@media (max-width: 767.98px) {
  .assignment-scope-shell {
    padding: 14px;
  }

  .assignment-step-card .assignment-switch-picker .checkbox-picker-list.row,
.assignment-step-card .assignment-switch-picker > .checkbox-picker-list:not(.row),
.assignment-step-card .assignment-switch-picker .checkbox-group-section .row {
    grid-template-columns: 1fr;
  }

  .assignment-step-card .assignment-switch-picker .checkbox-option {
    min-height: 72px;
    padding: 13px 14px !important;
  }

  .assignment-submit-btn {
    width: 100%;
  }
}

[data-bs-theme="dark"] .assignment-scope-shell,
[data-bs-theme="dark"] .assignment-line-grid,
[data-bs-theme="dark"] .assignment-step-card .assignment-switch-picker .checkbox-option,
[data-bs-theme="dark"] .assignment-step-card .assignment-switch-picker .checkbox-group-section {
  background: #202936;
  border-color: #334155;
}

[data-bs-theme="dark"] .assignment-step-card .assignment-switch-picker .checkbox-option .form-check-label {
  color: #f8fafc;
}

[data-bs-theme="dark"] .assignment-step-card .assignment-switch-picker .checkbox-option .form-check-label small,
[data-bs-theme="dark"] .assignment-step-card .assignment-switch-picker .checkbox-option .form-check-label .text-muted {
  color: #cbd5e1 !important;
}

/* ========================================================================== */
/* v1.5.30 — Apartment category assignment scope                              */
/* ========================================================================== */
.apartment-scope-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
  width: 100%;
}

.apartment-scope-card {
  min-width: 0;
  height: 100%;
  overflow: hidden;
  border: 1px solid #dfe6f1;
  border-radius: 20px;
  background: var(--bs-card-bg);
  box-shadow: 0 12px 30px rgba(15, 23, 42, .045);
}

.apartment-scope-picker.checkbox-picker {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 500px;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.apartment-scope-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  min-height: 96px;
  padding: 18px;
  border-bottom: 1px solid #e7ebf3;
  background: linear-gradient(180deg, rgba(99, 91, 255, .055) 0%, rgba(99, 91, 255, .015) 100%);
}

.apartment-scope-heading {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
}

.apartment-scope-icon {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 13px;
  background: #eeebff;
  color: #635bff;
  font-size: 22px;
}

.apartment-scope-heading h6 {
  margin: 1px 0 5px;
  color: #172b4d;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.35;
}

.apartment-scope-heading p {
  margin: 0;
  color: #7b8798;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.55;
}

.apartment-scope-header [data-selected-count] {
  flex: 0 0 auto;
  min-width: 68px;
  padding: 7px 10px;
  text-align: center;
}

.apartment-scope-toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 8px;
  min-height: 58px;
  padding: 12px 18px;
  border-bottom: 1px dashed #dfe5ef;
  background: #fbfcff;
}

.apartment-scope-toolbar .btn {
  min-height: 34px;
  padding-inline: 12px;
}

.apartment-scope-list {
  flex: 1 1 auto;
  min-height: 0;
  max-height: 390px;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 16px 16px 8px;
  scrollbar-width: thin;
  scrollbar-color: #b9c2d0 transparent;
}

.apartment-scope-type-list,
.apartment-scope-tower-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: start;
  gap: 11px;
}

.apartment-scope-card .checkbox-choice {
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
}

.assignment-step-card .apartment-scope-card .checkbox-option {
  min-height: 62px;
  padding: 11px 13px !important;
  border-radius: 15px;
  background: var(--bs-card-bg);
}

.assignment-step-card .apartment-scope-card .checkbox-option:has(.form-check-input:checked) {
  border-color: rgba(99, 91, 255, .6);
  background: rgba(99, 91, 255, .055);
  box-shadow: 0 7px 18px rgba(99, 91, 255, .075);
}

.assignment-step-card .apartment-scope-card .checkbox-option .form-check-input {
  width: 2.65rem !important;
  height: 1.38rem !important;
}

.assignment-step-card .apartment-scope-card .checkbox-option .form-check-label {
  font-size: 14px;
  line-height: 1.4;
}

.assignment-step-card .apartment-scope-card .checkbox-option .form-check-label small {
  display: block;
  margin-top: 3px;
  color: #7b8798 !important;
  font-size: 12px;
  font-weight: 700 !important;
}

.apartment-scope-floor-list {
  display: flex;
  flex-direction: column;
  gap: 13px;
}

.apartment-floor-group {
  padding: 12px;
  border: 1px solid #e4e9f2;
  border-radius: 16px;
  background: #fbfcff;
}

.apartment-floor-group-title {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 10px;
  padding-bottom: 9px;
  border-bottom: 1px dashed #dfe5ef;
  color: #354764;
  font-size: 14px;
  font-weight: 800;
}

.apartment-floor-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.apartment-scope-note {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  min-height: 54px;
  padding: 12px 17px;
  border-top: 1px solid #e7ebf3;
  background: #fffaf0;
  color: #8a5b00;
  font-size: 12.5px;
  font-weight: 800;
  line-height: 1.55;
}

.apartment-scope-note i {
  flex: 0 0 auto;
  margin-top: 2px;
  font-size: 17px;
}

@media (max-width: 1399.98px) {
  .apartment-scope-grid {
    grid-template-columns: 1fr;
  }

  .apartment-scope-picker.checkbox-picker {
    min-height: 0;
  }

  .apartment-scope-list {
    max-height: 340px;
  }

  .apartment-scope-type-list,
.apartment-scope-tower-list,
.apartment-floor-options {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .apartment-scope-grid {
    gap: 14px;
  }

  .apartment-scope-header {
    min-height: 0;
    padding: 15px;
  }

  .apartment-scope-heading p {
    font-size: 12px;
  }

  .apartment-scope-toolbar {
    padding: 11px 14px;
  }

  .apartment-scope-list {
    max-height: 330px;
    padding: 13px 13px 7px;
  }

  .apartment-scope-type-list,
.apartment-scope-tower-list,
.apartment-floor-options {
    grid-template-columns: 1fr;
  }
}

[data-bs-theme="dark"] .apartment-scope-card,
[data-bs-theme="dark"] .assignment-step-card .apartment-scope-card .checkbox-option,
[data-bs-theme="dark"] .apartment-floor-group {
  background: #202936;
  border-color: #334155;
}

[data-bs-theme="dark"] .apartment-scope-header,
[data-bs-theme="dark"] .apartment-scope-toolbar {
  background: #253040;
  border-color: #38475b;
}

[data-bs-theme="dark"] .apartment-scope-heading h6,
[data-bs-theme="dark"] .apartment-floor-group-title {
  color: #f8fafc;
}

[data-bs-theme="dark"] .apartment-scope-heading p,
[data-bs-theme="dark"] .assignment-step-card .apartment-scope-card .checkbox-option .form-check-label small {
  color: #cbd5e1 !important;
}

[data-bs-theme="dark"] .assignment-step-card .apartment-scope-card .checkbox-option:has(.form-check-input:checked) {
  background: rgba(99, 91, 255, .16);
  border-color: #7c74ff;
}

[data-bs-theme="dark"] .apartment-scope-note {
  border-color: #475569;
  background: #382f1f;
  color: #facc65;
}

/* ========================================================================== */
/* v1.5.32 — Remaining quantity guard in contractor assignments               */
/* ========================================================================== */
.assignment-quantity-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 28px;
  margin-bottom: 8px;
}

.assignment-remaining-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  min-height: 27px;
  padding: 4px 9px;
  border: 1px solid transparent;
  border-radius: 8px;
  font-family: "Tajawal", "Segoe UI", Tahoma, Arial, sans-serif;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
  white-space: nowrap;
}

.assignment-remaining-badge.is-idle {
  color: #667085;
  background: #f4f6f9;
  border-color: #e4e9f1;
}

.assignment-remaining-badge.is-loading {
  color: #5b52e8;
  background: #efedff;
  border-color: #d8d4ff;
}

.assignment-remaining-badge.is-ready {
  color: #087a55;
  background: #e9fbf4;
  border-color: #bcefdc;
}

.assignment-remaining-badge.is-error {
  color: #c0364c;
  background: #fff0f3;
  border-color: #ffc8d2;
}

.assignment-remaining-details {
  min-height: 20px;
  margin-top: 7px;
  color: #667085;
  font-family: "Tajawal", "Segoe UI", Tahoma, Arial, sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.55;
}

.assignment-quantity-error {
  min-height: 20px;
  margin-top: 3px;
  color: #dc3545;
  font-family: "Tajawal", "Segoe UI", Tahoma, Arial, sans-serif;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.45;
}

.assignment-line-quantity .line-assigned-quantity.is-invalid {
  border-color: #dc3545 !important;
  box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .1) !important;
}

[data-bs-theme="dark"] .assignment-remaining-badge.is-idle {
  color: #cbd5e1;
  background: #263241;
  border-color: #3b485a;
}

[data-bs-theme="dark"] .assignment-remaining-badge.is-loading {
  color: #c7c2ff;
  background: #302d55;
  border-color: #4b477d;
}

[data-bs-theme="dark"] .assignment-remaining-badge.is-ready {
  color: #8ce5c5;
  background: #173c33;
  border-color: #285d4e;
}

[data-bs-theme="dark"] .assignment-remaining-badge.is-error {
  color: #ffb5c1;
  background: #4b2530;
  border-color: #6e3645;
}

[data-bs-theme="dark"] .assignment-remaining-details {
  color: #cbd5e1;
}

@media (max-width: 767.98px) {
  .assignment-quantity-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }

  .assignment-remaining-badge {
    white-space: normal;
    text-align: start;
  }
}

/* ========================================================================== */
/* v1.5.34 — Align assignment delete button with quantity input               */
/* ========================================================================== */
.assignment-line-grid {
  align-items: start;
}

.assignment-line-action {
  align-self: start;
  display: flex;
  align-items: flex-end;
  padding-top: 36px;
}

.assignment-line-action .remove-assignment-line {
  min-height: 46px;
  height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 1199.98px) {
  .assignment-line-action {
    padding-top: 0;
  }
}

/* ========================================================================== */

/* ========================================================================== */


@media (max-width: 991.98px) {
  

  

  
}

@media (max-width: 767.98px) {
  

  

  

  

  

  
}


/* v1.5.41 - الجرد الافتتاحي لإنجاز المشروع */
.opening-inventory-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 150px;
  padding: 24px 28px;
  overflow: hidden;
  position: relative;
  border-radius: 18px;
  color: #fff;
  background: linear-gradient(135deg, #635bff 0%, #3f51d7 56%, #2536a8 100%);
  box-shadow: 0 14px 35px rgba(63, 81, 215, .22);
}

.opening-inventory-hero::after {
  content: "";
  position: absolute;
  inset-inline-end: -75px;
  top: -95px;
  width: 240px;
  height: 240px;
  border: 38px solid rgba(255, 255, 255, .08);
  border-radius: 50%;
}

.opening-inventory-hero-copy,
.opening-inventory-hero-progress {
  position: relative;
  z-index: 1;
}

.opening-inventory-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 11px;
  margin-bottom: 10px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 999px;
  background: rgba(255, 255, 255, .12);
  font-size: 13px;
  font-weight: 800;
}

.opening-inventory-hero h3 {
  margin: 0 0 8px;
  color: #fff;
  font-weight:700;
}

.opening-inventory-hero p {
  max-width: 780px;
  margin: 0;
  color: rgba(255, 255, 255, .88);
  line-height: 1.8;
}

.opening-inventory-hero-progress {
  flex: 0 0 132px;
  width: 132px;
  height: 132px;
  display: grid;
  place-content: center;
  text-align: center;
  border: 10px solid rgba(255, 255, 255, .18);
  border-radius: 50%;
  background: rgba(255, 255, 255, .12);
  backdrop-filter: blur(8px);
}

.opening-inventory-hero-progress strong {
  display: block;
  color: #fff;
  font-size: 28px;
  font-weight:700;
}

.opening-inventory-hero-progress span {
  color: rgba(255, 255, 255, .82);
  font-size: 12px;
  font-weight: 800;
}

.opening-inventory-stat-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.opening-inventory-stat {
  margin: 0;
  border: 1px solid var(--bs-border-color);
}

.opening-inventory-stat .card-body {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 17px;
}

.opening-inventory-stat-icon {
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  font-size: 22px;
}

.opening-inventory-stat small,
.opening-inventory-stat strong {
  display: block;
}

.opening-inventory-stat small {
  margin-bottom: 3px;
  color: var(--bs-secondary-color);
  font-size: 12px;
  font-weight: 800;
}

.opening-inventory-stat strong {
  color: var(--bs-heading-color);
  font-size: 22px;
  font-weight:700;
}

.opening-inventory-bulk-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.opening-inventory-rule {
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 10px 12px;
  border: 1px dashed rgba(var(--bs-primary-rgb), .35);
  border-radius: 11px;
  color: var(--bs-primary-text-emphasis);
  background: rgba(var(--bs-primary-rgb), .06);
  line-height: 1.55;
}

.opening-inventory-rule i {
  flex: 0 0 auto;
  font-size: 20px;
}

.opening-inventory-table th {
  vertical-align: middle;
  white-space: nowrap;
}

.opening-inventory-table td {
  vertical-align: middle;
}

.opening-inventory-quantity-editor {
  min-width: 210px;
}

.opening-inventory-quantity-editor .form-control {
  min-width: 150px;
  text-align: center;
  font-weight:700;
}

.opening-inventory-quantity-editor small {
  display: block;
  margin-top: 6px;
  color: var(--bs-secondary-color);
  text-align: center;
}

.opening-inventory-row-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  margin-top: 6px;
}

.opening-inventory-progress-cell {
  min-width: 150px;
}

.opening-inventory-progress-cell .progress {
  height: 8px;
  margin-bottom: 8px;
  border-radius: 999px;
}

.opening-inventory-progress-cell .progress-bar {
  border-radius: inherit;
}

.opening-inventory-note {
  min-width: 230px;
}

.opening-inventory-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 16px 20px;
  color: var(--bs-secondary-color);
  line-height: 1.7;
}

.opening-inventory-footer .btn {
  flex: 0 0 auto;
}

[data-bs-theme="dark"] .opening-inventory-stat,
[data-bs-theme="dark"] .opening-inventory-table .bg-light {
  border-color: rgba(255, 255, 255, .1) !important;
}

[data-bs-theme="dark"] .opening-inventory-table .bg-light {
  color: #f8fafc !important;
  background: rgba(255, 255, 255, .06) !important;
}

@media (max-width: 1199.98px) {
  .opening-inventory-stat-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .opening-inventory-hero {
    align-items: flex-start;
    flex-direction: column;
    padding: 21px;
  }

  .opening-inventory-hero-progress {
    width: 100%;
    height: auto;
    min-height: 82px;
    border-width: 5px;
    border-radius: 14px;
  }

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

  .opening-inventory-stat:last-child {
    grid-column: 1 / -1;
  }

  .opening-inventory-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .opening-inventory-footer .btn {
    width: 100%;
  }
}

@media (max-width: 479.98px) {
  .opening-inventory-stat-grid {
    grid-template-columns: 1fr;
  }

  .opening-inventory-stat:last-child {
    grid-column: auto;
  }

  .opening-inventory-bulk-actions,
.opening-inventory-bulk-actions .btn {
    width: 100%;
  }
}

/* Contractor payments redesign - v1.5.44 */
.contractor-payments-page {
  display: grid;
  gap: 18px;
}

.contractor-payments-page .card {
  margin-bottom: 0;
  border: 1px solid var(--bs-border-color);
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.045);
}

.contractor-payments-selector-card .card-body {
  display: grid;
  grid-template-columns: minmax(260px, 0.55fr) minmax(420px, 1.45fr);
  gap: 24px;
  align-items: end;
  padding: 22px 24px;
}

.contractor-payments-selector-heading {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.contractor-payments-selector-icon {
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 15px;
  background: var(--bs-primary-bg-subtle);
  color: var(--bs-primary);
  font-size: 23px;
}

.contractor-payments-selector-heading h5,
.contractor-payments-card-header h5 {
  margin: 0;
  font-weight: 800;
  color: var(--bs-heading-color);
}

.contractor-payments-selector-heading p,
.contractor-payments-card-header p {
  margin: 5px 0 0;
  color: var(--bs-secondary-color);
  font-size: 13px;
  line-height: 1.65;
}

.contractor-payments-selector-form .form-label {
  margin-bottom: 8px;
  font-weight: 800;
}

.contractor-payments-selector-form .form-select,
.contractor-payments-selector-form .select2-container .select2-selection--single {
  min-height: 48px;
}

.contractor-payments-overview {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(var(--bs-primary-rgb), 0.18);
  border-radius: 18px;
  background:
    radial-gradient(circle at 8% 18%, rgba(var(--bs-primary-rgb), 0.11), transparent 30%),
    linear-gradient(135deg, rgba(var(--bs-primary-rgb), 0.075), rgba(var(--bs-secondary-rgb), 0.035));
  padding: 24px 26px 20px;
}

.contractor-payments-overview::after {
  content: "";
  position: absolute;
  width: 170px;
  height: 170px;
  left: -55px;
  bottom: -95px;
  border-radius: 50%;
  border: 26px solid rgba(var(--bs-primary-rgb), 0.055);
  pointer-events: none;
}

.contractor-payments-overview-main {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.contractor-payments-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 11px;
  border-radius: 999px;
  background: rgba(var(--bs-primary-rgb), 0.1);
  color: var(--bs-primary);
  font-size: 12px;
  font-weight: 800;
}

.contractor-payments-overview-copy h3 {
  margin: 10px 0 11px;
  font-size: clamp(22px, 2vw, 29px);
  font-weight:700;
  color: var(--bs-heading-color);
}

.contractor-payments-context {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.contractor-payments-context span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 10px;
  border: 1px solid rgba(var(--bs-primary-rgb), 0.12);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.58);
  color: var(--bs-body-color);
  font-size: 12px;
  font-weight: 700;
}

.contractor-payments-context i {
  color: var(--bs-primary);
  font-size: 16px;
}

.contractor-payments-status-block {
  display: flex;
  align-items: center;
  gap: 18px;
  flex: 0 0 auto;
}

.contractor-payments-status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 38px;
  padding: 8px 13px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
}

.contractor-payments-status.is-paid {
  background: rgba(var(--bs-success-rgb), 0.13);
  color: var(--bs-success);
}

.contractor-payments-status.is-pending {
  background: rgba(var(--bs-warning-rgb), 0.18);
  color: #a86f00;
}

.contractor-payments-progress-copy {
  text-align: center;
  min-width: 78px;
}

.contractor-payments-progress-copy strong,
.contractor-payments-progress-copy span {
  display: block;
}

.contractor-payments-progress-copy strong {
  font-size: 24px;
  line-height: 1;
  font-weight:700;
  color: var(--bs-heading-color);
}

.contractor-payments-progress-copy span {
  margin-top: 5px;
  color: var(--bs-secondary-color);
  font-size: 11px;
  font-weight: 700;
}

.contractor-payments-progress-track {
  position: relative;
  z-index: 1;
  height: 8px;
  margin-top: 20px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(var(--bs-primary-rgb), 0.11);
}

.contractor-payments-progress-track span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--bs-primary), var(--bs-secondary));
  transition: width 0.25s ease;
}

.contractor-payments-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.contractor-payments-stat {
  display: flex;
  align-items: center;
  gap: 13px;
  min-width: 0;
  min-height: 96px;
  padding: 18px;
  border: 1px solid var(--bs-border-color);
  border-radius: 17px;
  background: var(--bs-card-bg);
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.035);
}

.contractor-payments-stat-icon {
  width: 50px;
  height: 50px;
  flex: 0 0 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 15px;
  font-size: 24px;
}

.contractor-payments-stat small,
.contractor-payments-stat strong {
  display: block;
}

.contractor-payments-stat small {
  margin-bottom: 7px;
  color: var(--bs-secondary-color);
  font-size: 12px;
  font-weight: 800;
}

.contractor-payments-stat strong {
  overflow: hidden;
  color: var(--bs-heading-color);
  font-size: clamp(16px, 1.35vw, 21px);
  font-weight:700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.contractor-payments-stat.is-net .contractor-payments-stat-icon {
  background: rgba(var(--bs-primary-rgb), 0.11);
  color: var(--bs-primary);
}

.contractor-payments-stat.is-paid .contractor-payments-stat-icon {
  background: rgba(var(--bs-success-rgb), 0.12);
  color: var(--bs-success);
}

.contractor-payments-stat.is-remaining .contractor-payments-stat-icon {
  background: rgba(var(--bs-danger-rgb), 0.1);
  color: var(--bs-danger);
}

.contractor-payments-stat.is-count .contractor-payments-stat-icon {
  background: rgba(var(--bs-info-rgb), 0.12);
  color: var(--bs-info);
}

.contractor-payments-workspace {
  display: grid;
  grid-template-columns: minmax(320px, 0.8fr) minmax(0, 1.2fr);
  gap: 18px;
  align-items: stretch;
}

.contractor-payments-form-card,
.contractor-payments-history-card {
  min-width: 0;
  height: 100%;
}

.contractor-payments-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  background: rgba(var(--bs-primary-rgb), 0.035);
}

.contractor-payments-card-header h5 {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
}

.contractor-payments-card-header h5 i {
  color: var(--bs-primary);
  font-size: 19px;
}

.contractor-payments-limit,
.contractor-payments-history-count {
  flex: 0 0 auto;
  padding: 7px 10px;
  border-radius: 9px;
  font-size: 11px;
  font-weight: 800;
}

.contractor-payments-limit {
  background: rgba(var(--bs-danger-rgb), 0.09);
  color: var(--bs-danger);
}

.contractor-payments-history-count {
  background: rgba(var(--bs-primary-rgb), 0.09);
  color: var(--bs-primary);
}

.contractor-payments-form-card .card-body,
.contractor-payments-history-card .card-body {
  padding: 20px;
}

.contractor-payments-form {
  display: grid;
  gap: 17px;
}

.contractor-payments-form .form-label {
  margin-bottom: 8px;
  font-weight: 800;
}

.contractor-payments-form .form-control,
.contractor-payments-form .input-group-text {
  min-height: 46px;
}

.contractor-payments-form textarea.form-control {
  min-height: 92px;
  resize: vertical;
}

.contractor-payments-label-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.contractor-payments-label-row .form-label {
  margin-bottom: 0;
}

.contractor-payments-fill-btn {
  border: 1px solid rgba(var(--bs-primary-rgb), 0.18);
  background: rgba(var(--bs-primary-rgb), 0.07);
  color: var(--bs-primary);
  font-weight: 800;
}

.contractor-payments-fill-btn:hover {
  border-color: var(--bs-primary);
  background: var(--bs-primary);
  color: #fff;
}

.contractor-payments-amount-input .form-control {
  font-size: 18px;
  font-weight:700;
}

.contractor-payments-amount-input .input-group-text {
  min-width: 58px;
  justify-content: center;
  font-weight:700;
}

.contractor-payments-amount-field > small {
  display: block;
  margin-top: 7px;
  color: var(--bs-secondary-color);
  font-size: 11px;
}

.contractor-payments-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
}

.contractor-payments-form-actions {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-top: 4px;
  padding-top: 4px;
}

.contractor-payments-save-btn {
  width: auto;
  min-width: 220px;
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0;
  padding-inline: 22px;
  border-radius: 9px;
  border: 1px solid var(--bs-success) !important;
  background: var(--bs-success) !important;
  color: #fff !important;
  box-shadow: none !important;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.contractor-payments-save-btn i,
.contractor-payments-save-btn svg {
  width: 18px;
  height: 18px;
  min-width: 18px;
  flex: 0 0 18px;
  margin: 0 !important;
}

.contractor-payments-save-btn span {
  display: inline-flex;
  align-items: center;
  line-height: 1.2;
}

.contractor-payments-save-btn:hover,
.contractor-payments-save-btn:focus {
  background: #157347 !important;
  border-color: #146c43 !important;
  color: #fff !important;
  box-shadow: none !important;
  transform: none !important;
}

@media (max-width: 575.98px) {
  .contractor-payments-save-btn {
    width: 100%;
    min-width: 0;
  }
}

.contractor-payments-complete-state {
  min-height: 292px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 24px;
}

.contractor-payments-complete-state > span {
  width: 72px;
  height: 72px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
  border-radius: 22px;
  background: rgba(var(--bs-success-rgb), 0.12);
  color: var(--bs-success);
  font-size: 34px;
}

.contractor-payments-complete-state h5 {
  margin: 0;
  color: var(--bs-heading-color);
  font-weight:700;
}

.contractor-payments-complete-state p {
  margin: 7px 0 0;
  color: var(--bs-secondary-color);
}

.contractor-payments-table th {
  padding: 13px 12px;
  vertical-align: middle;
}

.contractor-payments-table td {
  padding: 14px 12px;
  vertical-align: middle;
}

.contractor-payments-payment-id {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 30px;
  padding: 5px 8px;
  border-radius: 8px;
  background: rgba(var(--bs-primary-rgb), 0.08);
  color: var(--bs-primary);
  font-size: 12px;
  font-weight:700;
}

.contractor-payments-payment-amount {
  color: var(--bs-success);
  font-weight:700;
}

.contractor-payments-notes-cell {
  min-width: 150px;
  max-width: 260px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.contractor-payments-empty {
  min-height: 238px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 26px;
  text-align: start;
  color: var(--bs-secondary-color);
}

.contractor-payments-empty.compact {
  min-height: 68px;
  justify-content: flex-start;
  padding: 12px 0 0;
}

.contractor-payments-empty > i {
  font-size: 42px;
  color: var(--bs-primary);
  opacity: 0.75;
}

.contractor-payments-empty strong,
.contractor-payments-empty span {
  display: block;
}

.contractor-payments-empty strong {
  margin-bottom: 5px;
  color: var(--bs-heading-color);
  font-weight:700;
}

.contractor-payments-empty span {
  font-size: 12px;
  line-height: 1.65;
}

[data-bs-theme="dark"] .contractor-payments-context span {
  background: rgba(26, 37, 55, 0.74);
}

[data-bs-theme="dark"] .contractor-payments-overview {
  background:
    radial-gradient(circle at 8% 18%, rgba(var(--bs-primary-rgb), 0.14), transparent 30%),
    linear-gradient(135deg, rgba(var(--bs-primary-rgb), 0.08), rgba(255, 255, 255, 0.015));
}

@media (max-width: 1199.98px) {
  .contractor-payments-selector-card .card-body {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

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

  .contractor-payments-workspace {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  .contractor-payments-page {
    gap: 14px;
  }

  .contractor-payments-selector-card .card-body,
.contractor-payments-form-card .card-body,
.contractor-payments-history-card .card-body {
    padding: 16px;
  }

  .contractor-payments-overview {
    padding: 20px 16px 17px;
  }

  .contractor-payments-overview-main,
.contractor-payments-card-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .contractor-payments-status-block {
    width: 100%;
    justify-content: space-between;
  }

  .contractor-payments-stats-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .contractor-payments-stat {
    min-height: 82px;
    padding: 14px;
  }

  .contractor-payments-form-grid {
    grid-template-columns: 1fr;
  }

  .contractor-payments-limit,
.contractor-payments-history-count {
    align-self: stretch;
    text-align: center;
  }

  .contractor-payments-label-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .contractor-payments-fill-btn {
    width: 100%;
  }

  .contractor-payments-history-card .table-responsive {
    overflow: visible;
  }

  .contractor-payments-table,
.contractor-payments-table tbody,
.contractor-payments-table tr,
.contractor-payments-table td {
    display: block;
    width: 100%;
  }

  .contractor-payments-table thead {
    display: none;
  }

  .contractor-payments-table tbody {
    display: grid;
    gap: 12px;
  }

  .contractor-payments-table tbody tr {
    overflow: hidden;
    border: 1px solid var(--bs-border-color) !important;
    border-radius: 14px;
    background: var(--bs-card-bg);
  }

  .contractor-payments-table tbody td {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 44px;
    padding: 10px 13px;
    border-width: 0 0 1px !important;
    text-align: left;
    white-space: normal;
  }

  .contractor-payments-table tbody td:last-child {
    border-bottom: 0 !important;
  }

  .contractor-payments-table tbody td::before {
    content: attr(data-label);
    flex: 0 0 90px;
    color: var(--bs-secondary-color);
    font-size: 11px;
    font-weight: 800;
    text-align: right;
  }

  .contractor-payments-notes-cell {
    max-width: none;
  }
}

/* =====================================================================
   Contractor settlements - v1.5.45
   ===================================================================== */
.settlements-page {
  --settlement-border: rgba(93, 98, 255, 0.14);
  --settlement-muted: #7c8498;
}

.settlements-list-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.settlement-card {
  border: 1px solid var(--settlement-border);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 12px 35px rgba(31, 37, 89, 0.06);
}

.settlement-card-header {
  min-height: 76px;
  padding: 16px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  background: linear-gradient(135deg, rgba(93, 98, 255, 0.07), rgba(255, 255, 255, 0.55));
  border-bottom: 1px solid var(--settlement-border);
}

.settlement-card-title {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 12px;
}

.settlement-contractor-icon {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  color: var(--bs-primary);
  background: rgba(93, 98, 255, 0.12);
  font-size: 22px;
}

.settlement-card-title h5 {
  margin: 0 0 3px;
  font-size: 16px;
  font-weight: 800;
}

.settlement-card-title span {
  color: var(--settlement-muted);
  font-size: 12px;
  font-weight: 700;
}

.settlement-card-body {
  padding: 18px;
}

.settlement-context-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.9fr);
  gap: 12px;
  margin-bottom: 16px;
}

.settlement-context-grid > div {
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid rgba(122, 132, 152, 0.16);
  border-radius: 14px;
  background: rgba(247, 248, 252, 0.72);
}

.settlement-context-grid small {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 5px;
  color: var(--settlement-muted);
  font-size: 12px;
  font-weight: 800;
}

.settlement-context-grid strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 800;
}

.settlement-stats-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 18px;
}

.settlement-stat {
  min-width: 0;
  min-height: 76px;
  padding: 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(122, 132, 152, 0.18);
  border-radius: 15px;
  background: var(--bs-card-bg);
}

.settlement-stat-icon {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  font-size: 19px;
}

.settlement-stat.is-quantity .settlement-stat-icon {
  color: #6558f5;
  background: rgba(101, 88, 245, 0.13);
}

.settlement-stat.is-total .settlement-stat-icon {
  color: #0b9f8a;
  background: rgba(11, 159, 138, 0.13);
}

.settlement-stat.is-remaining .settlement-stat-icon {
  color: #e58719;
  background: rgba(229, 135, 25, 0.14);
}

.settlement-stat > div {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.settlement-stat small {
  color: var(--settlement-muted);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.35;
}

.settlement-stat strong {
  display: block;
  min-width: 0;
  color: var(--bs-heading-color);
  font-size: 14px;
  font-weight:700;
  line-height: 1.4;
  white-space: normal;
  word-break: normal;
}

.settlement-form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  align-items: end;
}

.settlement-form-grid .form-label {
  margin-bottom: 7px;
  font-weight: 800;
}

.settlement-form-grid .form-control {
  min-height: 44px;
}

.settlement-action-group {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  margin-top: 14px;
  border-radius: 12px;
  overflow: hidden;
}

.settlement-action-group.has-payment-action {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.settlement-action-group .btn {
  min-height: 45px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin: 0;
  border-radius: 0;
  font-weight: 800;
}

.settlement-action-group .btn:first-child {
  border-start-start-radius: 12px;
  border-end-start-radius: 12px;
}

.settlement-action-group .btn:last-child {
  border-start-end-radius: 12px;
  border-end-end-radius: 12px;
}

.settlement-ready-note {
  margin: 9px 0 0;
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--settlement-muted);
  font-size: 11px;
  font-weight: 700;
}

.settlements-empty-state .card-body {
  padding: 44px 24px;
  text-align: center;
}

.settlements-empty-icon {
  width: 66px;
  height: 66px;
  margin: 0 auto 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 20px;
  background: rgba(93, 98, 255, 0.12);
  color: var(--bs-primary);
  font-size: 30px;
}

.settlements-empty-state h5 {
  font-weight:700;
}

.settlements-empty-state p {
  max-width: 620px;
  margin: 8px auto 0;
  color: var(--settlement-muted);
}

[data-bs-theme="dark"] .settlement-card-header {
  background: linear-gradient(135deg, rgba(93, 98, 255, 0.13), rgba(22, 26, 39, 0.55));
}

[data-bs-theme="dark"] .settlement-context-grid > div,
[data-bs-theme="dark"] .settlement-stat {
  background: rgba(255, 255, 255, 0.025);
  border-color: rgba(255, 255, 255, 0.09);
}

@media (max-width: 1199.98px) {
  .settlements-list-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 767.98px) {
  .settlements-list-grid {
    gap: 14px;
  }

  .settlement-card {
    border-radius: 18px;
  }

  .settlement-card-header {
    min-height: 70px;
    padding: 14px;
  }

  .settlement-card-body {
    padding: 14px;
  }

  .settlement-context-grid,
.settlement-form-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .settlement-context-grid strong {
    white-space: normal;
  }

  /* Mobile: statistics are deliberately stacked one beneath another. */
  .settlement-stats-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 9px;
  }

  .settlement-stat {
    width: 100%;
    min-height: 66px;
    padding: 10px 12px;
  }

  .settlement-stat > div {
    flex: 1 1 auto;
  }

  .settlement-stat strong {
    font-size: 15px;
  }

  /* Mobile: both actions remain attached and occupy the full card width. */
  .settlement-action-group.has-payment-action {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .settlement-action-group .btn {
    min-width: 0;
    padding-inline: 8px;
    font-size: 12px;
    white-space: normal;
    line-height: 1.35;
  }

  .settlement-ready-note {
    align-items: flex-start;
    line-height: 1.55;
  }
}

@media (max-width: 390px) {
  .settlement-card-title h5 {
    font-size: 14px;
  }

  .settlement-contractor-icon {
    width: 40px;
    height: 40px;
    flex-basis: 40px;
  }

  .settlement-action-group.has-payment-action {
    grid-template-columns: minmax(0, 1fr);
    border-radius: 12px;
    gap: 0;
  }

  .settlement-action-group .btn:first-child {
    border-radius: 12px 12px 0 0;
  }

  .settlement-action-group .btn:last-child {
    border-radius: 0 0 12px 12px;
  }
}

/* ========================================================================== */
/* v1.5.46 — Global error messages: bold, larger and high-contrast            */
/* ========================================================================== */

/* Server-side / flash errors shown with Bootstrap danger alerts. */
body .alert.alert-danger {
  color: #66111f !important;
  font-family: "Tajawal", "Segoe UI", Tahoma, Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight:700 !important;
  line-height: 1.75 !important;
  opacity: 1 !important;
  letter-spacing: 0 !important;
}

body .alert.alert-danger > :not(.btn-close),
body .alert.alert-danger span,
body .alert.alert-danger p,
body .alert.alert-danger strong,
body .alert.alert-danger small,
body .alert.alert-danger i {
  color: inherit !important;
  font-size: inherit;
  font-weight: inherit !important;
  opacity: 1 !important;
}

body .alert.alert-danger i {
  flex: 0 0 auto;
  font-size: 20px !important;
}

body .alert.alert-danger .btn-close {
  opacity: .72 !important;
  filter: none;
}

body .alert.alert-danger .btn-close:hover,
body .alert.alert-danger .btn-close:focus {
  opacity: 1 !important;
}

/* Inline validation errors beneath form fields. */
body .invalid-feedback,
body .validation-error,
body .field-error,
body [data-error-message] {
  color: #7f1d1d !important;
  font-family: "Tajawal", "Segoe UI", Tahoma, Arial, sans-serif !important;
  font-size: 13.5px !important;
  font-weight:700 !important;
  line-height: 1.65 !important;
  opacity: 1 !important;
}

/* Error-state helper badges used by dynamic forms. */
body .assignment-remaining-badge.is-error,
body .opening-inventory-row-error,
body .text-bg-danger[role="alert"] {
  font-weight:700 !important;
  opacity: 1 !important;
}

/* Preserve strong contrast in night mode without making the text luminous. */
[data-bs-theme="dark"] body .alert.alert-danger,
[data-bs-theme="dark"] body .invalid-feedback,
[data-bs-theme="dark"] body .validation-error,
[data-bs-theme="dark"] body .field-error,
[data-bs-theme="dark"] body [data-error-message] {
  color: #fecaca !important;
}

@media (max-width: 767.98px) {
  body .alert.alert-danger {
    font-size: 14px !important;
    line-height: 1.7 !important;
  }

  body .invalid-feedback,
body .validation-error,
body .field-error,
body [data-error-message] {
    font-size: 13px !important;
  }
}

/* =========================================================
   Measurement approvals redesign - v1.5.47
   ========================================================= */
.measurement-approval-overview,
.measurement-approval-card,
.measurement-approval-empty {
  border-radius: 20px;
  overflow: hidden;
}

.measurement-approval-overview {
  background: linear-gradient(135deg, rgba(var(--bs-primary-rgb), .12), rgba(var(--bs-primary-rgb), .035));
  border: 1px solid rgba(var(--bs-primary-rgb), .16) !important;
}

.measurement-approval-overview .card-body {
  padding: 1.25rem 1.4rem;
}

.measurement-approval-overview-icon,
.measurement-approval-empty-icon {
  width: 58px;
  height: 58px;
  border-radius: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
}

.measurement-approval-overview-icon {
  color: var(--bs-primary);
  background: rgba(var(--bs-primary-rgb), .13);
}

.measurement-approval-overview h4,
.measurement-approval-empty h4 {
  font-weight: 800;
}

.measurement-approval-overview p,
.measurement-approval-empty p {
  color: var(--bs-secondary-color);
  font-weight: 600;
}

.measurement-approval-count {
  min-width: 112px;
  padding: .75rem 1rem;
  border-radius: 15px;
  background: var(--bs-body-bg);
  border: 1px solid rgba(var(--bs-primary-rgb), .17);
}

.measurement-approval-count span {
  color: var(--bs-secondary-color);
  font-size: .78rem;
  font-weight: 700;
}

.measurement-approval-count strong {
  display: block;
  color: var(--bs-primary);
  font-size: 1.55rem;
  line-height: 1.15;
}

.measurement-approval-empty {
  max-width: 760px;
  margin: 2rem auto;
  border: 1px solid rgba(var(--bs-success-rgb), .22) !important;
  background: linear-gradient(135deg, rgba(var(--bs-success-rgb), .09), var(--bs-body-bg));
}

.measurement-approval-empty .card-body {
  padding: 2.7rem 1.5rem;
}

.measurement-approval-empty-icon {
  width: 76px;
  height: 76px;
  border-radius: 24px;
  color: var(--bs-success);
  background: rgba(var(--bs-success-rgb), .13);
  font-size: 2.35rem;
}

.measurement-approval-card {
  border: 1px solid var(--bs-border-color) !important;
  background: var(--bs-body-bg);
  transition: transform .2s ease, box-shadow .2s ease;
}

.measurement-approval-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 36px rgba(15, 23, 42, .08) !important;
}

.measurement-approval-card-header {
  padding: 1rem 1.2rem;
  background: rgba(var(--bs-primary-rgb), .055);
  border-bottom: 1px solid rgba(var(--bs-primary-rgb), .10) !important;
}

.measurement-approval-card-icon {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--bs-primary);
  background: rgba(var(--bs-primary-rgb), .13);
  font-size: 1.35rem;
}

.measurement-approval-card-header h5 {
  font-weight: 800;
}

.measurement-approval-card-date {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  color: var(--bs-secondary-color);
  font-size: .78rem;
  font-weight: 700;
}

.measurement-approval-card .card-body {
  padding: 1.25rem;
}

.measurement-approval-title-block {
  padding: 1rem 1.05rem;
  border-radius: 15px;
  background: var(--bs-tertiary-bg);
  border: 1px solid var(--bs-border-color);
}

.measurement-approval-specialty {
  display: inline-block;
  margin-bottom: .35rem;
  color: var(--bs-primary);
  font-size: .78rem;
  font-weight: 800;
}

.measurement-approval-title-block h4 {
  font-size: 1.08rem;
  font-weight: 800;
}

.measurement-approval-title-block p {
  display: flex;
  align-items: center;
  gap: .35rem;
  color: var(--bs-secondary-color);
  font-size: .86rem;
  font-weight: 700;
}

.measurement-approval-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}

.measurement-approval-metric {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: .7rem;
  padding: .85rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 14px;
  background: var(--bs-body-bg);
}

.measurement-approval-metric .metric-icon {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 38px;
  color: var(--bs-primary);
  background: rgba(var(--bs-primary-rgb), .10);
  font-size: 1.05rem;
}

.measurement-approval-metric small,
.measurement-approval-metric strong {
  display: block;
}

.measurement-approval-metric small {
  margin-bottom: .15rem;
  color: var(--bs-secondary-color);
  font-size: .72rem;
  font-weight: 700;
}

.measurement-approval-metric strong {
  color: var(--bs-heading-color);
  font-size: .9rem;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.measurement-approval-details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  border: 1px solid var(--bs-border-color);
  border-radius: 15px;
  overflow: hidden;
}

.measurement-approval-detail {
  min-width: 0;
  padding: .85rem 1rem;
  border-bottom: 1px solid var(--bs-border-color);
}

.measurement-approval-detail:nth-child(odd) {
  border-inline-end: 1px solid var(--bs-border-color);
}

.measurement-approval-detail:nth-last-child(-n/**/+2) {
  border-bottom: 0;
}

.measurement-approval-detail span,
.measurement-approval-detail strong {
  display: block;
}

.measurement-approval-detail span {
  margin-bottom: .25rem;
  color: var(--bs-secondary-color);
  font-size: .75rem;
  font-weight: 700;
}

.measurement-approval-detail span i {
  margin-inline-end: .25rem;
  color: var(--bs-primary);
}

.measurement-approval-detail strong {
  color: var(--bs-heading-color);
  font-size: .88rem;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.measurement-approval-section-title {
  display: flex;
  align-items: center;
  gap: .4rem;
  margin-bottom: .6rem;
  color: var(--bs-heading-color);
  font-size: .88rem;
  font-weight: 800;
}

.measurement-approval-section-title > i {
  color: var(--bs-primary);
  font-size: 1.05rem;
}

.measurement-approval-note-body {
  min-height: 48px;
  padding: .8rem .95rem;
  border: 1px dashed var(--bs-border-color);
  border-radius: 13px;
  color: var(--bs-secondary-color);
  background: var(--bs-tertiary-bg);
  font-size: .84rem;
  font-weight: 600;
  line-height: 1.8;
}

.measurement-approval-image-link {
  position: relative;
  display: block;
  width: 84px;
  height: 84px;
  overflow: hidden;
  border-radius: 13px;
  border: 1px solid var(--bs-border-color);
}

.measurement-approval-image-link img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .2s ease;
}

.measurement-approval-image-link span {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: rgba(15, 23, 42, .45);
  opacity: 0;
  transition: opacity .2s ease;
}

.measurement-approval-image-link:hover img {
  transform: scale(1.05);
}

.measurement-approval-image-link:hover span {
  opacity: 1;
}

.measurement-approval-actions {
  padding: 1rem;
  border-radius: 16px;
  border: 1px solid rgba(var(--bs-success-rgb), .22);
  background: rgba(var(--bs-success-rgb), .045);
}

.measurement-approval-action-head h6 {
  color: var(--bs-success);
  font-weight: 800;
}

.measurement-approval-action-head p {
  color: var(--bs-secondary-color);
  font-size: .78rem;
  font-weight: 600;
}

.measurement-approval-form {
  margin-top: .2rem;
}

.measurement-approval-actions .form-label {
  font-size: .78rem;
  font-weight: 800;
}

.measurement-approval-actions .form-control,
.measurement-approval-actions .input-group-text,
.measurement-approval-actions .btn {
  min-height: 44px;
  border-radius: 11px;
}

.measurement-approval-actions .input-group > .form-control {
  border-start-end-radius: 11px !important;
  border-end-end-radius: 11px !important;
}

.measurement-approval-actions .input-group > .input-group-text {
  border-start-start-radius: 11px !important;
  border-end-start-radius: 11px !important;
}

.measurement-approval-submit,
.measurement-approval-reject-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  font-weight: 800;
}

.measurement-approval-reject {
  border-top: 1px solid rgba(var(--bs-danger-rgb), .16);
}

@media (max-width: 767.98px) {
  .measurement-approval-overview .card-body,
.measurement-approval-card .card-body {
    padding: 1rem;
  }

  .measurement-approval-count {
    width: 100%;
  }

  .measurement-approval-metrics,
.measurement-approval-details {
    grid-template-columns: 1fr;
  }

  .measurement-approval-detail,
.measurement-approval-detail:nth-child(odd),
.measurement-approval-detail:nth-last-child(-n/**/+2) {
    border-inline-end: 0;
    border-bottom: 1px solid var(--bs-border-color);
  }

  .measurement-approval-detail:last-child {
    border-bottom: 0;
  }

  .measurement-approval-actions {
    padding: .85rem;
  }

  .measurement-approval-actions .btn {
    width: 100%;
  }
}

[data-bs-theme="dark"] .measurement-approval-overview,
[data-bs-theme="dark"] .measurement-approval-card,
[data-bs-theme="dark"] .measurement-approval-empty,
[data-bs-theme="dark"] .measurement-approval-metric,
[data-bs-theme="dark"] .measurement-approval-count {
  box-shadow: none !important;
}

[data-bs-theme="dark"] .measurement-approval-actions {
  background: rgba(var(--bs-success-rgb), .07);
}


/* =========================================================
   Measurement approvals empty state - v1.5.48
   ========================================================= */
.measurement-approval-empty-pro {
  max-width: none;
  margin: 1.25rem 0 0;
  border: 1px solid rgba(var(--bs-primary-rgb), .18) !important;
  border-radius: 20px;
  background: var(--bs-body-bg);
  box-shadow: 0 16px 42px rgba(15, 23, 42, .08) !important;
}

.measurement-approval-empty-pro .card-body {
  padding: 1.55rem 1.6rem;
}

.measurement-approval-empty-pro-header {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 92px;
  padding: 1.15rem 1.4rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  color: #fff;
  background: linear-gradient(120deg, var(--bs-primary) 0%, #4f46e5 58%, #312e81 100%);
}

.measurement-approval-empty-pro-header::before,
.measurement-approval-empty-pro-header::after {
  content: "";
  position: absolute;
  z-index: -1;
  border-radius: 50%;
  background: rgba(255, 255, 255, .10);
}

.measurement-approval-empty-pro-header::before {
  width: 180px;
  height: 180px;
  inset-inline-start: -58px;
  top: -105px;
}

.measurement-approval-empty-pro-header::after {
  width: 110px;
  height: 110px;
  inset-inline-end: 20%;
  bottom: -78px;
}

.measurement-approval-empty-pro-brand {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: .9rem;
}

.measurement-approval-empty-pro-icon {
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 16px;
  color: #fff;
  background: rgba(255, 255, 255, .16);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22);
  font-size: 1.75rem;
}

.measurement-approval-empty-pro-eyebrow {
  display: block;
  margin-bottom: .2rem;
  color: rgba(255, 255, 255, .76);
  font-size: .72rem;
  font-weight: 800;
}

.measurement-approval-empty-pro-header h4 {
  color: #fff;
  font-size: 1.18rem;
  font-weight:700;
}

.measurement-approval-empty-pro-badge {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  padding: .62rem .9rem;
  border: 1px solid rgba(255, 255, 255, .25);
  border-radius: 999px;
  color: #fff;
  background: rgba(255, 255, 255, .14);
  backdrop-filter: blur(6px);
  font-size: .78rem;
  font-weight:700;
}

.measurement-approval-empty-pro-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 158px;
  align-items: center;
  gap: 1.6rem;
}

.measurement-approval-empty-pro-content h3 {
  margin: 0 0 .55rem;
  color: var(--bs-heading-color);
  font-size: 1.42rem;
  font-weight:700;
}

.measurement-approval-empty-pro-content > p {
  max-width: 900px;
  margin: 0;
  color: var(--bs-secondary-color);
  font-size: .9rem;
  font-weight: 650;
  line-height: 1.95;
}

.measurement-approval-empty-pro-features {
  margin-top: 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
}

.measurement-approval-empty-pro-features span {
  display: inline-flex;
  align-items: center;
  gap: .42rem;
  padding: .58rem .75rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 11px;
  color: var(--bs-heading-color);
  background: var(--bs-tertiary-bg);
  font-size: .76rem;
  font-weight: 800;
}

.measurement-approval-empty-pro-features i {
  color: var(--bs-primary);
  font-size: 1rem;
}

.measurement-approval-empty-pro-counter {
  min-height: 132px;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(var(--bs-primary-rgb), .19);
  border-radius: 17px;
  background: linear-gradient(145deg, rgba(var(--bs-primary-rgb), .11), rgba(var(--bs-primary-rgb), .035));
  text-align: center;
}

.measurement-approval-empty-pro-counter span,
.measurement-approval-empty-pro-counter small {
  color: var(--bs-secondary-color);
  font-size: .74rem;
  font-weight: 800;
}

.measurement-approval-empty-pro-counter strong {
  margin: .15rem 0;
  color: var(--bs-primary);
  font-size: 2.35rem;
  font-weight:700;
  line-height: 1;
}

@media (max-width: 767.98px) {
  .measurement-approval-empty-pro-header {
    padding: 1rem;
    align-items: flex-start;
    flex-direction: column;
  }

  .measurement-approval-empty-pro-badge {
    align-self: stretch;
  }

  .measurement-approval-empty-pro .card-body {
    padding: 1.15rem;
  }

  .measurement-approval-empty-pro-body {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .measurement-approval-empty-pro-content h3 {
    font-size: 1.18rem;
  }

  .measurement-approval-empty-pro-features {
    flex-direction: column;
  }

  .measurement-approval-empty-pro-features span {
    width: 100%;
  }

  .measurement-approval-empty-pro-counter {
    min-height: 88px;
    flex-direction: row;
    gap: .6rem;
  }

  .measurement-approval-empty-pro-counter strong {
    font-size: 1.75rem;
  }
}

[data-bs-theme="dark"] .measurement-approval-empty-pro {
  box-shadow: none !important;
}

[data-bs-theme="dark"] .measurement-approval-empty-pro-features span,
[data-bs-theme="dark"] .measurement-approval-empty-pro-counter {
  background-color: rgba(255, 255, 255, .025);
}

/* =========================================================
   Measurement approvals compact review cards - v1.5.49
   ========================================================= */
.measurement-approval-card-compact .measurement-approval-card-header {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-areas: "status title";
  align-items: center;
  gap: 1rem;
  min-height: 72px;
  direction: ltr;
}

.measurement-approval-header-main {
  grid-area: title;
  display: flex;
  align-items: center;
  gap: .7rem;
  direction: rtl;
}

.measurement-approval-header-status {
  grid-area: status;
  justify-self: start;
  direction: rtl;
}

.measurement-approval-header-status .badge {
  padding: .48rem .72rem;
  font-size: .78rem;
  font-weight: 800;
  white-space: nowrap;
}

.measurement-approval-card-compact .card-body {
  padding: 1rem 1.2rem 1.15rem;
}

.measurement-approval-context {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(250px, .65fr);
  gap: .85rem;
  padding: .9rem 1rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 14px;
  background: var(--bs-tertiary-bg);
}

.measurement-approval-context-main h4 {
  color: var(--bs-heading-color);
  font-size: 1.02rem;
  font-weight: 800;
}

.measurement-approval-context-main p {
  display: flex;
  align-items: center;
  gap: .3rem;
  color: var(--bs-secondary-color);
  font-size: .8rem;
  font-weight: 700;
}

.measurement-approval-people {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .55rem;
  align-self: stretch;
}

.measurement-approval-people > span {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: .55rem .7rem .55rem 2rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 11px;
  background: var(--bs-body-bg);
}

.measurement-approval-people > span > i {
  position: absolute;
  inset-inline-start: .65rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--bs-primary);
  font-size: 1rem;
}

.measurement-approval-people small,
.measurement-approval-people strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.measurement-approval-people small {
  color: var(--bs-secondary-color);
  font-size: .68rem;
  font-weight: 700;
}

.measurement-approval-people strong {
  color: var(--bs-heading-color);
  font-size: .8rem;
  font-weight: 800;
}

.measurement-approval-metrics-compact {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .65rem;
}

.measurement-approval-metrics-compact .measurement-approval-metric {
  padding: .7rem .75rem;
}

.measurement-approval-metric-primary {
  border-color: rgba(var(--bs-primary-rgb), .25);
  background: rgba(var(--bs-primary-rgb), .045);
}

.measurement-approval-support {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .75rem;
  align-items: start;
}

.measurement-approval-support-note,
.measurement-approval-support-images {
  padding: .7rem .8rem;
  border: 1px dashed var(--bs-border-color);
  border-radius: 12px;
  background: var(--bs-tertiary-bg);
}

.measurement-approval-support-note > span,
.measurement-approval-support-images > span {
  display: flex;
  align-items: center;
  gap: .3rem;
  margin-bottom: .35rem;
  color: var(--bs-heading-color);
  font-size: .75rem;
  font-weight: 800;
}

.measurement-approval-support-note > span i,
.measurement-approval-support-images > span i {
  color: var(--bs-primary);
}

.measurement-approval-support-note p {
  color: var(--bs-secondary-color);
  font-size: .78rem;
  font-weight: 600;
  line-height: 1.65;
}

.measurement-approval-image-link-sm {
  width: 54px;
  height: 54px;
  border-radius: 10px;
}

.measurement-approval-actions-compact {
  padding: .85rem;
  border-radius: 14px;
}

.measurement-approval-actions-compact .form-label {
  margin-bottom: .3rem;
}

.measurement-approval-reject-compact {
  border-top-style: dashed;
}

/* Fix the physical corners of quantity + unit in RTL. */
.measurement-approval-quantity-group {
  direction: rtl;
  flex-wrap: nowrap;
}

.measurement-approval-quantity-group > .form-control {
  order: 1;
  border-radius: 0 11px 11px 0 !important;
}

.measurement-approval-quantity-group > .input-group-text {
  order: 2;
  border-inline-start: 0;
  border-radius: 11px 0 0 11px !important;
  white-space: nowrap;
}

@media (max-width: 991.98px) {
  .measurement-approval-context {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  .measurement-approval-card-compact .measurement-approval-card-header {
    grid-template-columns: auto minmax(0, 1fr);
    gap: .65rem;
    min-height: 66px;
    padding: .8rem .9rem;
  }

  .measurement-approval-card-compact .card-body {
    padding: .85rem;
  }

  .measurement-approval-card-icon {
    width: 38px;
    height: 38px;
    border-radius: 12px;
  }

  .measurement-approval-header-status .badge {
    padding: .4rem .55rem;
    font-size: .7rem;
  }

  .measurement-approval-people,
.measurement-approval-metrics-compact,
.measurement-approval-support {
    grid-template-columns: 1fr;
  }

  .measurement-approval-people > span {
    padding-block: .5rem;
  }
}

/* =========================================================
   Measurement approvals bold visual palette + icon fixes - v1.5.50
   ========================================================= */
.measurement-approval-card-compact {
  overflow: hidden;
  border: 1px solid rgba(14, 116, 144, .28) !important;
  border-radius: 20px;
  background: var(--bs-card-bg);
  box-shadow: 0 18px 42px rgba(8, 47, 73, .14) !important;
}

.measurement-approval-card-compact .measurement-approval-card-header {
  min-height: 82px;
  padding: 1rem 1.15rem;
  color: #fff;
  background:
    radial-gradient(circle at 14% 0%, rgba(34, 211, 238, .24), transparent 28%),
    linear-gradient(120deg, #0f172a 0%, #0c4a6e 55%, #0e7490 100%);
  border-bottom: 0 !important;
}

.measurement-approval-card-compact .measurement-approval-card-header::after {
  content: "";
  position: absolute;
  width: 120px;
  height: 120px;
  inset-inline-start: 34%;
  bottom: -95px;
  border: 20px solid rgba(255, 255, 255, .08);
  border-radius: 50%;
  pointer-events: none;
}

.measurement-approval-card-compact .measurement-approval-card-header h5,
.measurement-approval-card-compact .measurement-approval-card-date {
  color: #fff !important;
}

.measurement-approval-card-compact .measurement-approval-card-date {
  opacity: .8;
}

.measurement-approval-card-icon {
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 15px;
  color: #fff;
  background: rgba(255, 255, 255, .16);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 8px 18px rgba(2, 8, 23, .18);
  font-size: 1.45rem;
}

.measurement-approval-card-icon i,
.measurement-approval-person > i,
.measurement-approval-metric .metric-icon i,
.measurement-approval-empty-pro-icon i,
.measurement-approval-empty-pro-badge i,
.measurement-approval-empty-pro-features i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  -webkit-text-stroke-width: 0;
}

.measurement-approval-header-status .badge {
  min-height: 34px;
  padding: .55rem .82rem;
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: 10px;
  color: #422006 !important;
  background: linear-gradient(135deg, #facc15, #f59e0b) !important;
  box-shadow: 0 8px 18px rgba(245, 158, 11, .24);
  font-weight:700;
}

.measurement-approval-card-compact .card-body {
  padding: 1.05rem 1.15rem 1.2rem;
  background:
    linear-gradient(180deg, rgba(236, 254, 255, .66), rgba(255, 255, 255, 0) 150px),
    #fff;
}

.measurement-approval-context {
  border: 1px solid rgba(14, 116, 144, .2);
  background: linear-gradient(135deg, #ecfeff 0%, #f8fafc 70%);
  box-shadow: inset 4px 0 0 #0891b2;
}

.measurement-approval-specialty {
  color: #0e7490;
  font-weight:700;
}

.measurement-approval-context-main h4 {
  color: #0f172a;
  font-weight:700;
}

.measurement-approval-context-main p {
  color: #475569;
}

.measurement-approval-people {
  gap: .65rem;
}

.measurement-approval-people > span,
.measurement-approval-person {
  position: relative;
  min-height: 66px;
  padding-block: .65rem;
  padding-inline-start: 3.15rem;
  padding-inline-end: .8rem;
  border: 1px solid rgba(14, 116, 144, .18);
  border-radius: 13px;
  background: var(--bs-card-bg);
  box-shadow: 0 8px 18px rgba(8, 47, 73, .06);
}

.measurement-approval-people > span > i,
.measurement-approval-person > i {
  inset-inline-start: .7rem;
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  color: #fff;
  background: linear-gradient(135deg, #0369a1, #0891b2);
  box-shadow: 0 6px 14px rgba(3, 105, 161, .22);
  font-size: 1.05rem;
}

.measurement-approval-person-engineer > i {
  background: linear-gradient(135deg, #7c2d12, #ea580c);
  box-shadow: 0 6px 14px rgba(234, 88, 12, .22);
}

.measurement-approval-people small {
  color: #64748b;
  font-weight: 800;
}

.measurement-approval-people strong {
  color: #0f172a;
  font-weight:700;
}

.measurement-approval-metrics-compact {
  gap: .75rem;
}

.measurement-approval-metrics-compact .measurement-approval-metric {
  min-height: 76px;
  padding: .78rem .85rem;
  border: 0;
  color: #fff;
  box-shadow: 0 12px 24px rgba(15, 23, 42, .14);
}

.measurement-approval-metric-measured {
  background: linear-gradient(135deg, #172554 0%, #1d4ed8 100%);
}

.measurement-approval-metric-remaining {
  background: linear-gradient(135deg, #713f12 0%, #d97706 100%);
}

.measurement-approval-metric-limit,
.measurement-approval-metric-primary {
  border: 0 !important;
  background: linear-gradient(135deg, #064e3b 0%, #059669 100%) !important;
}

.measurement-approval-metric .metric-icon {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border: 1px solid rgba(255, 255, 255, .24);
  color: #fff;
  background: rgba(255, 255, 255, .15);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18);
  font-size: 1.15rem;
}

.measurement-approval-metric small,
.measurement-approval-metric strong {
  color: #fff !important;
}

.measurement-approval-metric small {
  opacity: .78;
  font-weight: 800;
}

.measurement-approval-metric strong {
  font-size: .96rem;
  font-weight:700;
}

.measurement-approval-actions-compact {
  border: 1px solid rgba(5, 150, 105, .3);
  background: linear-gradient(135deg, rgba(209, 250, 229, .78), rgba(240, 253, 250, .92));
  box-shadow: inset 4px 0 0 #059669;
}

.measurement-approval-actions-compact .form-label {
  color: #0f172a;
  font-weight:700;
}

.measurement-approval-submit {
  border-color: #047857;
  background: linear-gradient(135deg, #047857, #10b981);
  box-shadow: 0 9px 18px rgba(5, 150, 105, .2);
}

.measurement-approval-reject-btn {
  color: #be123c;
  border-color: #fb7185;
  background: var(--bs-card-bg);
}

.measurement-approval-reject-btn:hover {
  color: #fff;
  border-color: #be123c;
  background: #be123c;
}

/* Empty state: strong dark teal/navy palette, deliberately different from the reference. */
.measurement-approval-empty-pro {
  border-color: rgba(8, 145, 178, .3) !important;
  box-shadow: 0 20px 48px rgba(8, 47, 73, .16) !important;
}

.measurement-approval-empty-pro-header {
  min-height: 100px;
  background:
    radial-gradient(circle at 17% 20%, rgba(45, 212, 191, .28), transparent 22%),
    linear-gradient(115deg, #0f172a 0%, #164e63 52%, #0f766e 100%);
}

.measurement-approval-empty-pro-icon {
  color: #fff;
  background: linear-gradient(135deg, rgba(45, 212, 191, .34), rgba(255, 255, 255, .14));
}

.measurement-approval-empty-pro-badge {
  color: #042f2e;
  border-color: rgba(255, 255, 255, .28);
  background: linear-gradient(135deg, #5eead4, #22d3ee);
  box-shadow: 0 8px 20px rgba(34, 211, 238, .23);
}

.measurement-approval-empty-pro .card-body {
  background: linear-gradient(180deg, rgba(236, 254, 255, .7), #fff 85%);
}

.measurement-approval-empty-pro-content h3 {
  color: #0f172a;
}

.measurement-approval-empty-pro-content > p {
  color: #475569;
}

.measurement-approval-empty-pro-features span {
  border-color: rgba(8, 145, 178, .22);
  color: #0f172a;
  background: var(--bs-card-bg);
  box-shadow: 0 7px 16px rgba(8, 47, 73, .06);
}

.measurement-approval-empty-pro-features i {
  color: #0e7490;
}

.measurement-approval-empty-pro-counter {
  border: 0;
  color: #fff;
  background: linear-gradient(145deg, #0c4a6e, #0f766e);
  box-shadow: 0 14px 28px rgba(15, 118, 110, .2);
}

.measurement-approval-empty-pro-counter span,
.measurement-approval-empty-pro-counter small,
.measurement-approval-empty-pro-counter strong {
  color: #fff;
}

.measurement-approval-empty-pro-counter span,
.measurement-approval-empty-pro-counter small {
  opacity: .76;
}

@media (max-width: 767.98px) {
  .measurement-approval-card-compact .measurement-approval-card-header {
    min-height: 76px;
  }

  .measurement-approval-card-icon {
    width: 42px;
    height: 42px;
    flex-basis: 42px;
  }

  .measurement-approval-people > span,
.measurement-approval-person {
    min-height: 62px;
    padding-inline-start: 3rem;
  }

  .measurement-approval-metrics-compact .measurement-approval-metric {
    min-height: 70px;
  }
}

[data-bs-theme="dark"] .measurement-approval-card-compact,
[data-bs-theme="dark"] .measurement-approval-card-compact .card-body,
[data-bs-theme="dark"] .measurement-approval-empty-pro .card-body {
  background: #0f172a;
}

[data-bs-theme="dark"] .measurement-approval-context {
  border-color: rgba(34, 211, 238, .22);
  background: linear-gradient(135deg, rgba(8, 145, 178, .18), rgba(15, 23, 42, .95));
}

[data-bs-theme="dark"] .measurement-approval-context-main h4,
[data-bs-theme="dark"] .measurement-approval-people strong,
[data-bs-theme="dark"] .measurement-approval-actions-compact .form-label,
[data-bs-theme="dark"] .measurement-approval-empty-pro-content h3,
[data-bs-theme="dark"] .measurement-approval-empty-pro-features span {
  color: #f8fafc !important;
}

[data-bs-theme="dark"] .measurement-approval-context-main p,
[data-bs-theme="dark"] .measurement-approval-people small,
[data-bs-theme="dark"] .measurement-approval-empty-pro-content > p {
  color: #cbd5e1 !important;
}

[data-bs-theme="dark"] .measurement-approval-people > span,
[data-bs-theme="dark"] .measurement-approval-person,
[data-bs-theme="dark"] .measurement-approval-empty-pro-features span {
  border-color: rgba(255, 255, 255, .1);
  background: rgba(255, 255, 255, .05);
}

[data-bs-theme="dark"] .measurement-approval-actions-compact {
  border-color: rgba(16, 185, 129, .28);
  background: linear-gradient(135deg, rgba(6, 78, 59, .5), rgba(15, 23, 42, .92));
}

/* =========================================================
   Measurement approvals formal executive palette + restore empty state - v1.5.51
   ========================================================= */
.measurement-approval-card-compact {
  border-color: #cbd5e1 !important;
  background: var(--bs-card-bg);
  box-shadow: 0 18px 42px rgba(15, 23, 42, .12) !important;
}

.measurement-approval-card-compact .measurement-approval-card-header {
  color: #fff;
  background:
    radial-gradient(circle at 18% 0%, rgba(148, 163, 184, .16), transparent 28%),
    linear-gradient(120deg, #111827 0%, #1f2937 54%, #334155 100%);
}

.measurement-approval-card-compact .measurement-approval-card-header::after {
  border-color: rgba(255, 255, 255, .055);
}

.measurement-approval-card-icon {
  border-color: rgba(255, 255, 255, .24);
  background: rgba(255, 255, 255, .10);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 8px 18px rgba(0, 0, 0, .18);
}

.measurement-approval-header-status .badge {
  color: #fff !important;
  border-color: rgba(255, 255, 255, .18);
  background: linear-gradient(135deg, #9a6700 0%, #c28a18 100%) !important;
  box-shadow: 0 8px 18px rgba(120, 78, 0, .22);
}

.measurement-approval-card-compact .card-body {
  background:
    linear-gradient(180deg, rgba(241, 245, 249, .86), rgba(255, 255, 255, 0) 145px),
    #fff;
}

.measurement-approval-context {
  border-color: #d8e0ea;
  background: linear-gradient(135deg, #f8fafc 0%, #ffffff 72%);
  box-shadow: inset 4px 0 0 #475569;
}

.measurement-approval-specialty {
  color: #334155;
}

.measurement-approval-context-main h4,
.measurement-approval-people strong {
  color: #111827;
}

.measurement-approval-context-main p,
.measurement-approval-people small {
  color: #64748b;
}

.measurement-approval-people > span,
.measurement-approval-person {
  border-color: #d8e0ea;
  background: var(--bs-card-bg);
  box-shadow: 0 7px 16px rgba(15, 23, 42, .055);
}

.measurement-approval-people > span > i,
.measurement-approval-person > i,
.measurement-approval-person-engineer > i {
  color: #fff;
  background: linear-gradient(135deg, #334155 0%, #475569 100%);
  box-shadow: 0 6px 14px rgba(30, 41, 59, .18);
}

.measurement-approval-metrics-compact .measurement-approval-metric {
  border: 1px solid rgba(255, 255, 255, .10);
  box-shadow: 0 10px 22px rgba(15, 23, 42, .13);
}

.measurement-approval-metric-measured {
  background: linear-gradient(135deg, #1e3a5f 0%, #315a80 100%);
}

.measurement-approval-metric-remaining {
  background: linear-gradient(135deg, #353b45 0%, #596273 100%);
}

.measurement-approval-metric-limit,
.measurement-approval-metric-primary {
  border-color: rgba(255, 255, 255, .10) !important;
  background: linear-gradient(135deg, #2f4f4f 0%, #466969 100%) !important;
}

.measurement-approval-metric .metric-icon {
  border-color: rgba(255, 255, 255, .20);
  background: rgba(255, 255, 255, .10);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14);
}

.measurement-approval-metric small {
  opacity: .76;
}

.measurement-approval-actions-compact {
  border-color: #cbd5e1;
  background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
  box-shadow: inset 4px 0 0 #475569;
}

.measurement-approval-actions-compact .form-label {
  color: #1f2937;
}

.measurement-approval-submit {
  border-color: #334155;
  background: linear-gradient(135deg, #334155 0%, #475569 100%);
  box-shadow: 0 8px 18px rgba(30, 41, 59, .18);
}

.measurement-approval-submit:hover,
.measurement-approval-submit:focus {
  border-color: #1f2937;
  background: linear-gradient(135deg, #1f2937 0%, #334155 100%);
}

.measurement-approval-reject-btn {
  color: #9f1239;
  border-color: #e11d48;
  background: var(--bs-card-bg);
}

.measurement-approval-reject-btn:hover,
.measurement-approval-reject-btn:focus {
  color: #fff;
  border-color: #9f1239;
  background: #9f1239;
}

/* Restore the elegant purple empty-state palette used before v1.5.50. */
.measurement-approval-empty-pro {
  border-color: rgba(var(--bs-primary-rgb), .18) !important;
  background: var(--bs-body-bg);
  box-shadow: 0 16px 42px rgba(15, 23, 42, .08) !important;
}

.measurement-approval-empty-pro-header {
  min-height: 92px;
  background: linear-gradient(120deg, var(--bs-primary) 0%, #4f46e5 58%, #312e81 100%);
}

.measurement-approval-empty-pro-icon {
  color: #fff;
  background: rgba(255, 255, 255, .16);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22);
}

.measurement-approval-empty-pro-badge {
  color: #fff;
  border-color: rgba(255, 255, 255, .25);
  background: rgba(255, 255, 255, .14);
  box-shadow: none;
}

.measurement-approval-empty-pro .card-body {
  background: var(--bs-body-bg);
}

.measurement-approval-empty-pro-content h3 {
  color: var(--bs-heading-color);
}

.measurement-approval-empty-pro-content > p {
  color: var(--bs-secondary-color);
}

.measurement-approval-empty-pro-features span {
  border-color: var(--bs-border-color);
  color: var(--bs-heading-color);
  background: var(--bs-tertiary-bg);
  box-shadow: none;
}

.measurement-approval-empty-pro-features i {
  color: var(--bs-primary);
}

.measurement-approval-empty-pro-counter {
  border: 1px solid rgba(var(--bs-primary-rgb), .19);
  color: inherit;
  background: linear-gradient(145deg, rgba(var(--bs-primary-rgb), .11), rgba(var(--bs-primary-rgb), .035));
  box-shadow: none;
}

.measurement-approval-empty-pro-counter span,
.measurement-approval-empty-pro-counter small {
  color: var(--bs-secondary-color);
  opacity: 1;
}

.measurement-approval-empty-pro-counter strong {
  color: var(--bs-primary);
}

[data-bs-theme="dark"] .measurement-approval-card-compact,
[data-bs-theme="dark"] .measurement-approval-card-compact .card-body {
  background: #111827;
}

[data-bs-theme="dark"] .measurement-approval-context {
  border-color: rgba(148, 163, 184, .20);
  background: linear-gradient(135deg, rgba(51, 65, 85, .60), rgba(17, 24, 39, .96));
}

[data-bs-theme="dark"] .measurement-approval-people > span,
[data-bs-theme="dark"] .measurement-approval-person {
  border-color: rgba(148, 163, 184, .18);
  background: rgba(255, 255, 255, .045);
}

[data-bs-theme="dark"] .measurement-approval-actions-compact {
  border-color: rgba(148, 163, 184, .22);
  background: linear-gradient(135deg, rgba(51, 65, 85, .60), rgba(17, 24, 39, .94));
}

[data-bs-theme="dark"] .measurement-approval-empty-pro {
  box-shadow: none !important;
}

[data-bs-theme="dark"] .measurement-approval-empty-pro .card-body {
  background: var(--bs-body-bg);
}

[data-bs-theme="dark"] .measurement-approval-empty-pro-features span,
[data-bs-theme="dark"] .measurement-approval-empty-pro-counter {
  background-color: rgba(255, 255, 255, .025);
}

/* =========================================================
   Measurement approvals unified premium purple palette - v1.5.52
   Matches the elegant approval-center identity selected by the user.
   ========================================================= */
.measurement-approval-card-compact {
  border-color: rgba(79, 70, 229, .20) !important;
  background: var(--bs-card-bg);
  box-shadow: 0 18px 44px rgba(49, 46, 129, .13) !important;
}

.measurement-approval-card-compact .measurement-approval-card-header {
  color: #fff;
  background:
    radial-gradient(circle at 18% 110%, rgba(255, 255, 255, .12) 0 9%, transparent 9.5%),
    radial-gradient(circle at 94% -15%, rgba(255, 255, 255, .09) 0 18%, transparent 18.5%),
    linear-gradient(118deg, #625afd 0%, #5149e9 52%, #312e81 100%);
}

.measurement-approval-card-compact .measurement-approval-card-header::after {
  border-color: rgba(255, 255, 255, .07);
}

.measurement-approval-card-icon {
  color: #fff;
  border-color: rgba(255, 255, 255, .30);
  background: rgba(255, 255, 255, .14);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .24), 0 10px 24px rgba(49, 46, 129, .24);
}

.measurement-approval-header-status .badge {
  color: #312e81 !important;
  border-color: rgba(255, 255, 255, .72);
  background: linear-gradient(135deg, #fff4bf 0%, #facc15 100%) !important;
  box-shadow: 0 8px 18px rgba(49, 46, 129, .18);
}

.measurement-approval-card-compact .card-body {
  background:
    linear-gradient(180deg, rgba(99, 102, 241, .055), rgba(255, 255, 255, 0) 150px),
    #fff;
}

.measurement-approval-context {
  border-color: rgba(99, 102, 241, .20);
  background: linear-gradient(135deg, #fafaff 0%, #ffffff 74%);
  box-shadow: inset 4px 0 0 #625afd, 0 8px 22px rgba(79, 70, 229, .055);
}

.measurement-approval-specialty {
  color: #5149e9;
}

.measurement-approval-context-main h4,
.measurement-approval-people strong {
  color: #1f2340;
}

.measurement-approval-context-main p,
.measurement-approval-people small {
  color: #74789a;
}

.measurement-approval-people > span,
.measurement-approval-person {
  border-color: rgba(99, 102, 241, .18);
  background: var(--bs-card-bg);
  box-shadow: 0 8px 18px rgba(49, 46, 129, .07);
}

.measurement-approval-people > span > i,
.measurement-approval-person > i,
.measurement-approval-person-engineer > i {
  color: #fff;
  background: linear-gradient(135deg, #625afd 0%, #4038b8 100%);
  box-shadow: 0 7px 16px rgba(79, 70, 229, .24);
}

.measurement-approval-metrics-compact .measurement-approval-metric {
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .16);
  box-shadow: 0 12px 26px rgba(49, 46, 129, .16);
}

.measurement-approval-metric-measured {
  background: linear-gradient(135deg, #625afd 0%, #4940ca 100%);
}

.measurement-approval-metric-remaining {
  background: linear-gradient(135deg, #5149aa 0%, #39346f 100%);
}

.measurement-approval-metric-limit,
.measurement-approval-metric-primary {
  border-color: rgba(255, 255, 255, .16) !important;
  background: linear-gradient(135deg, #7164d8 0%, #5143a8 100%) !important;
}

.measurement-approval-metric .metric-icon {
  color: #fff;
  border-color: rgba(255, 255, 255, .24);
  background: rgba(255, 255, 255, .14);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18);
}

.measurement-approval-metric small {
  color: rgba(255, 255, 255, .78) !important;
  opacity: 1;
}

.measurement-approval-metric strong {
  color: #fff !important;
}

.measurement-approval-actions-compact {
  border-color: rgba(99, 102, 241, .22);
  background: linear-gradient(135deg, #fafaff 0%, #f3f1ff 100%);
  box-shadow: inset 4px 0 0 #625afd;
}

.measurement-approval-actions-compact .form-label {
  color: #292653;
}

.measurement-approval-submit {
  color: #fff;
  border-color: #5149e9;
  background: linear-gradient(135deg, #625afd 0%, #4338ca 100%);
  box-shadow: 0 9px 20px rgba(79, 70, 229, .23);
}

.measurement-approval-submit:hover,
.measurement-approval-submit:focus {
  color: #fff;
  border-color: #4038b8;
  background: linear-gradient(135deg, #5149e9 0%, #312e81 100%);
}

/* Keep the selected purple empty-state exactly in the same visual family. */
.measurement-approval-empty-pro-header {
  background:
    radial-gradient(circle at 22% 110%, rgba(255, 255, 255, .12) 0 8%, transparent 8.5%),
    radial-gradient(circle at 96% -20%, rgba(255, 255, 255, .10) 0 19%, transparent 19.5%),
    linear-gradient(118deg, #625afd 0%, #5149e9 56%, #312e81 100%);
}

[data-bs-theme="dark"] .measurement-approval-card-compact,
[data-bs-theme="dark"] .measurement-approval-card-compact .card-body {
  background: #17162b;
}

[data-bs-theme="dark"] .measurement-approval-context {
  border-color: rgba(129, 140, 248, .24);
  background: linear-gradient(135deg, rgba(49, 46, 129, .30), rgba(23, 22, 43, .96));
}

[data-bs-theme="dark"] .measurement-approval-people > span,
[data-bs-theme="dark"] .measurement-approval-person {
  border-color: rgba(129, 140, 248, .20);
  background: rgba(255, 255, 255, .045);
}

[data-bs-theme="dark"] .measurement-approval-actions-compact {
  border-color: rgba(129, 140, 248, .24);
  background: linear-gradient(135deg, rgba(49, 46, 129, .34), rgba(23, 22, 43, .96));
}

/* v1.5.54 - تجميع فقرات الجرد الافتتاحي حسب الاختصاص */
.opening-inventory-specialty-row > td {
  padding: 0 !important;
  border-inline: 0 !important;
  border-top: 12px solid var(--bs-body-bg) !important;
  background: transparent !important;
}

.opening-inventory-specialty-heading {
  min-height: 58px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 16px;
  color: #fff;
  background: linear-gradient(135deg, #5d55e7 0%, #4338ca 58%, #312e81 100%);
  border-radius: 10px 10px 0 0;
  box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .12);
}

.opening-inventory-specialty-icon {
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 10px;
  background: rgba(255, 255, 255, .13);
  font-size: 20px;
}

.opening-inventory-specialty-heading > div {
  min-width: 0;
  display: grid;
  gap: 1px;
}

.opening-inventory-specialty-heading small {
  color: rgba(255, 255, 255, .72);
  font-size: 11px;
  font-weight: 800;
}

.opening-inventory-specialty-heading strong {
  color: #fff;
  font-size: 16px;
  font-weight:700;
}

.opening-inventory-specialty-heading .badge {
  margin-inline-start: auto;
  padding: 7px 11px;
  color: #312e81;
  background: var(--bs-card-bg);
  font-weight:700;
}

[data-bs-theme="dark"] .opening-inventory-specialty-row > td {
  border-top-color: var(--bs-body-bg) !important;
}

@media (max-width: 575.98px) {
  .opening-inventory-specialty-heading {
    min-height: 52px;
    padding: 9px 11px;
  }

  .opening-inventory-specialty-icon {
    flex-basis: 34px;
    width: 34px;
    height: 34px;
  }

  .opening-inventory-specialty-heading strong {
    font-size: 14px;
  }
}

/* v1.5.55 - تحسين مجموعات اختصاصات الجرد الافتتاحي وتوحيد صف الملاحظات */
.opening-inventory-master-head {
  display: none !important;
}

body table.sonic-default-light-table.opening-inventory-table > tbody > tr.opening-inventory-specialty-row > td {
  padding: 0 !important;
  border-inline-width: 0 !important;
  border-top: 12px solid var(--bs-body-bg) !important;
  background: transparent !important;
  box-shadow: none !important;
}

body table.sonic-default-light-table.opening-inventory-table .opening-inventory-specialty-heading {
  width: calc(100% + 2px);
  margin-inline: -1px;
  border-radius: 0 !important;
}

body table.sonic-default-light-table.opening-inventory-table > tbody > tr.opening-inventory-group-columns > th {
  padding: 11px 14px !important;
  color: #25324a !important;
  background: #e9eef6 !important;
  border-color: #d6deea !important;
  box-shadow: none !important;
  text-align: center;
  vertical-align: middle !important;
  font-size: 13px;
  font-weight:700 !important;
  white-space: nowrap;
}

body table.sonic-default-light-table.opening-inventory-table > tbody > tr.opening-inventory-data-row-light > * {
  --bs-table-bg: #ffffff !important;
  --bs-table-accent-bg: transparent !important;
  background-color: var(--bs-card-bg) !important;
  box-shadow: none !important;
}

body table.sonic-default-light-table.opening-inventory-table > tbody > tr.opening-inventory-data-row-muted > * {
  --bs-table-bg: #f1f4f8 !important;
  --bs-table-accent-bg: transparent !important;
  background-color: #f1f4f8 !important;
  box-shadow: none !important;
}

body table.sonic-default-light-table.opening-inventory-table > tbody > tr.opening-inventory-data-row:hover > * {
  filter: brightness(.985);
}

body table.sonic-default-light-table.opening-inventory-table td.opening-inventory-note-cell {
  height: 100%;
  padding-block: 12px !important;
  vertical-align: middle !important;
  text-align: center;
}

.opening-inventory-note-wrap {
  min-height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

body table.sonic-default-light-table.opening-inventory-table .opening-inventory-note {
  width: 100%;
  margin: auto;
  text-align: center;
  background-color: transparent !important;
  border-color: #cfd8e6 !important;
  box-shadow: none !important;
}

body table.sonic-default-light-table.opening-inventory-table .opening-inventory-note:focus {
  background-color: rgba(255, 255, 255, .72) !important;
  border-color: rgba(var(--bs-primary-rgb), .55) !important;
  box-shadow: 0 0 0 .2rem rgba(var(--bs-primary-rgb), .10) !important;
}

[data-bs-theme="dark"] body table.sonic-default-light-table.opening-inventory-table > tbody > tr.opening-inventory-group-columns > th {
  color: #f1f5f9 !important;
  background: #283246 !important;
  border-color: #39445a !important;
}

[data-bs-theme="dark"] body table.sonic-default-light-table.opening-inventory-table > tbody > tr.opening-inventory-data-row-light > * {
  --bs-table-bg: #1e2532 !important;
  background-color: #1e2532 !important;
}

[data-bs-theme="dark"] body table.sonic-default-light-table.opening-inventory-table > tbody > tr.opening-inventory-data-row-muted > * {
  --bs-table-bg: #252e3e !important;
  background-color: #252e3e !important;
}

[data-bs-theme="dark"] body table.sonic-default-light-table.opening-inventory-table .opening-inventory-note {
  color: #f8fafc !important;
  border-color: #465268 !important;
}

[data-bs-theme="dark"] body table.sonic-default-light-table.opening-inventory-table .opening-inventory-note:focus {
  background-color: rgba(15, 23, 42, .62) !important;
}


/* v1.5.56 - إبراز زر لم تبدأ وتثبيت خلفية حقل ملاحظات الجرد */
body table.sonic-default-light-table.opening-inventory-table .opening-inventory-not-started-btn {
  color: #ffffff !important;
  background-color: #4b5563 !important;
  border-color: #4b5563 !important;
  font-weight:700 !important;
  box-shadow: 0 2px 5px rgba(15, 23, 42, .16) !important;
}

body table.sonic-default-light-table.opening-inventory-table .opening-inventory-not-started-btn:hover,
body table.sonic-default-light-table.opening-inventory-table .opening-inventory-not-started-btn:focus,
body table.sonic-default-light-table.opening-inventory-table .opening-inventory-not-started-btn:active {
  color: #ffffff !important;
  background-color: #374151 !important;
  border-color: #374151 !important;
}

body table.sonic-default-light-table.opening-inventory-table .opening-inventory-note {
  color: #172033 !important;
  background-color: var(--bs-card-bg) !important;
  border-color: #cfd8e6 !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04) !important;
}

body table.sonic-default-light-table.opening-inventory-table .opening-inventory-note::placeholder {
  color: #6b7280 !important;
  opacity: 1;
}

body table.sonic-default-light-table.opening-inventory-table .opening-inventory-note:focus {
  color: #111827 !important;
  background-color: var(--bs-card-bg) !important;
  border-color: rgba(var(--bs-primary-rgb), .65) !important;
  box-shadow: 0 0 0 .2rem rgba(var(--bs-primary-rgb), .12) !important;
}

[data-bs-theme="dark"] body table.sonic-default-light-table.opening-inventory-table .opening-inventory-not-started-btn {
  color: #ffffff !important;
  background-color: #596579 !important;
  border-color: #69768a !important;
}

[data-bs-theme="dark"] body table.sonic-default-light-table.opening-inventory-table .opening-inventory-not-started-btn:hover,
[data-bs-theme="dark"] body table.sonic-default-light-table.opening-inventory-table .opening-inventory-not-started-btn:focus,
[data-bs-theme="dark"] body table.sonic-default-light-table.opening-inventory-table .opening-inventory-not-started-btn:active {
  background-color: #465165 !important;
  border-color: #596579 !important;
}

[data-bs-theme="dark"] body table.sonic-default-light-table.opening-inventory-table .opening-inventory-note,
[data-bs-theme="dark"] body table.sonic-default-light-table.opening-inventory-table .opening-inventory-note:focus {
  color: #111827 !important;
  background-color: var(--bs-card-bg) !important;
  border-color: #64748b !important;
}

/* v1.5.58 - location template field added to locations form */
@media (min-width: 1400px) {
  .sonic-locations-one-row-form {
    grid-template-columns:
      minmax(0, .92fr)
      minmax(0, .92fr)
      minmax(0, 1.06fr)
      minmax(0, .78fr)
      minmax(0, .96fr)
      minmax(0, 1.02fr)
      minmax(0, 1.22fr)
      minmax(0, .66fr)
      minmax(0, 1fr)
      minmax(110px, .72fr) !important;
    column-gap: 12px;
    row-gap: 0;
  }
}

@media (min-width: 1100px) and (max-width: 1399.98px) {
  .sonic-locations-one-row-form {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 16px;
  }
}

.sonic-location-template .select2-container,
.sonic-location-template .form-select {
  width: 100% !important;
}

/* v1.5.59 - أنواع المواقع وتصنيفات فقرات العمل */
.sonic-location-types-form,
.sonic-work-categories-form {
  display: grid;
  grid-template-columns: minmax(190px, 1.35fr) minmax(150px, .9fr) minmax(110px, .55fr) minmax(170px, .8fr) minmax(220px, 1.45fr) auto;
  gap: 16px;
  align-items: end;
}

.sonic-work-categories-form {
  grid-template-columns: minmax(220px, 1.4fr) minmax(170px, .9fr) minmax(120px, .55fr) minmax(140px, .65fr) auto;
}

.sonic-reference-switches {
  min-height: 48px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 18px;
  padding: 10px 14px;
  border: 1px solid var(--bs-border-color);
  border-radius: 10px;
  background: rgba(var(--bs-primary-rgb), .035);
}

.sonic-reference-switches .form-check,
.sonic-inline-check-control .form-check {
  margin: 0;
}

.sonic-reference-actions {
  display: flex;
  align-items: stretch;
  gap: 8px;
}

.sonic-reference-actions .btn {
  min-height: 46px;
  min-width: 105px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
}

.sonic-work-items-categorized-form .form-label.required::after,
.sonic-location-types-form .form-label.required::after,
.sonic-work-categories-form .form-label.required::after {
  content: " *";
  color: var(--bs-danger);
}

.opening-inventory-category-badge {
  display: inline-flex;
  vertical-align: middle;
  margin-inline-start: 8px;
  font-size: .72rem;
  font-weight: 800;
}

[data-bs-theme="dark"] .sonic-reference-switches {
  background: rgba(255, 255, 255, .035);
}

@media (max-width: 1399.98px) {
  .sonic-location-types-form {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .sonic-work-categories-form {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .sonic-reference-switches,
.sonic-reference-actions {
    grid-column: span 3;
  }
  .sonic-reference-actions .btn {
    flex: 1 1 0;
  }
}

@media (max-width: 767.98px) {
  .sonic-location-types-form,
.sonic-work-categories-form {
    grid-template-columns: 1fr;
    gap: 13px;
  }
  .sonic-reference-switches,
.sonic-reference-actions {
    grid-column: auto;
  }
  .sonic-reference-switches {
    flex-direction: column;
    align-items: stretch;
  }
  .sonic-reference-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .sonic-reference-actions .btn {
    width: 100%;
  }
}

@media (min-width: 1400px) {
  .sonic-work-items-one-row-form.sonic-work-items-categorized-form {
    grid-template-columns:
      minmax(0, 1.05fr)
      minmax(0, .9fr)
      minmax(0, 1.45fr)
      minmax(0, .72fr)
      minmax(0, .9fr)
      minmax(0, .72fr)
      minmax(0, .55fr)
      minmax(120px, .76fr) !important;
    column-gap: 13px;
    row-gap: 0;
  }
}

@media (min-width: 1120px) and (max-width: 1399.98px) {
  .sonic-work-items-one-row-form.sonic-work-items-categorized-form {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
  .sonic-work-items-one-row-form.sonic-work-items-categorized-form .sonic-work-item-name {
    grid-column: span 2 !important;
  }
  .sonic-work-items-one-row-form.sonic-work-items-categorized-form .sonic-work-item-actions {
    grid-column: span 2 !important;
    padding-top: 30px !important;
  }
}

/* ========================================================================== 
   v1.5.61 - مركز البلاغات والمتابعة
   ========================================================================== */
.account-group-flag {
  min-height: 92px;
  padding: 18px 58px 18px 18px;
  border: 1px solid var(--bs-border-color);
  border-radius: 16px;
  background: var(--bs-body-bg);
  position: relative;
}
.account-group-flag .form-check-input {
  position: absolute;
  right: 18px;
  top: 22px;
  margin: 0;
}
.account-group-flag label { display: flex; flex-direction: column; gap: 5px; cursor: pointer; }
.account-group-flag label strong { color: var(--bs-heading-color); }
.account-group-flag label small { color: var(--bs-secondary-color); line-height: 1.7; }
.account-group-members { border: 1px solid var(--bs-border-color); border-radius: 18px; padding: 20px; background: var(--bs-tertiary-bg); }
.account-member-option {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 76px;
  border: 1px solid var(--bs-border-color);
  border-radius: 14px;
  padding: 12px;
  background: var(--bs-body-bg);
  cursor: pointer;
  transition: .2s ease;
}
.account-member-option:hover { border-color: rgba(99,91,255,.45); transform: translateY(-1px); }
.account-member-option input { width: 18px; height: 18px; flex: 0 0 auto; }
.account-member-option > span:last-child { display: flex; flex-direction: column; min-width: 0; }
.account-member-option small { color: var(--bs-secondary-color); }
.account-member-avatar { width: 42px; height: 42px; border-radius: 13px; background: rgba(99,91,255,.12); color: #635bff; display: inline-flex; align-items: center; justify-content: center; font-size: 20px; flex: 0 0 auto; }
.account-group-card { --group-color:#635bff; height:100%; border:1px solid var(--bs-border-color); border-radius:18px; padding:18px; background:var(--bs-body-bg); position:relative; overflow:hidden; box-shadow:0 8px 25px rgba(26,35,58,.06); }
.account-group-card::before { content:""; position:absolute; inset:0 auto 0 0; width:5px; background:var(--group-color); }
.account-group-card.is-deleted { opacity:.6; }
.account-group-card-head { display:flex; align-items:center; gap:12px; }
.account-group-card-head > div { min-width:0; flex:1; }
.account-group-card-head h5 { margin:0 0 3px; font-weight:800; color:var(--bs-heading-color); }
.account-group-card-head small { color:var(--bs-secondary-color); }
.account-group-card-icon { width:50px; height:50px; border-radius:15px; display:flex; align-items:center; justify-content:center; color:#fff; font-size:23px; background:var(--group-color); box-shadow:0 8px 22px color-mix(in srgb, var(--group-color) 28%, transparent); }
.account-group-card > p { min-height:54px; margin:16px 0; color:var(--bs-secondary-color); line-height:1.8; }
.account-group-flags { display:flex; flex-wrap:wrap; gap:7px; }
.account-group-flags span { display:inline-flex; align-items:center; gap:5px; border:1px solid var(--bs-border-color); background:var(--bs-tertiary-bg); border-radius:999px; padding:6px 10px; font-size:12px; font-weight:700; }
.account-group-users-text { margin-top:14px; border-radius:12px; background:var(--bs-tertiary-bg); padding:10px 12px; color:var(--bs-secondary-color); line-height:1.7; min-height:46px; }

.issue-create-layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:22px; align-items:start; }
.issue-create-targets { position:sticky; top:95px; }
.issue-type-picker { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.issue-type-option { display:flex; align-items:center; gap:14px; min-height:105px; border:2px solid var(--bs-border-color); border-radius:18px; padding:18px; background:var(--bs-body-bg); cursor:pointer; transition:.2s ease; }
.issue-type-option input { position:absolute; opacity:0; pointer-events:none; }
.issue-type-option.is-selected { border-color:#635bff; background:rgba(99,91,255,.06); box-shadow:0 10px 24px rgba(99,91,255,.10); }
.issue-type-icon { width:54px; height:54px; border-radius:17px; background:var(--bs-tertiary-bg); color:#635bff; display:flex; align-items:center; justify-content:center; font-size:26px; flex:0 0 auto; }
.issue-type-option.is-selected .issue-type-icon { background:#635bff; color:#fff; }
.issue-type-option > span:last-child { display:flex; flex-direction:column; gap:5px; }
.issue-type-option strong { font-size:16px; color:var(--bs-heading-color); }
.issue-type-option small { color:var(--bs-secondary-color); line-height:1.6; }
.issue-section-title { display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.issue-section-title > span { width:44px; height:44px; border-radius:13px; display:flex; align-items:center; justify-content:center; color:#635bff; background:rgba(99,91,255,.11); font-size:21px; }
.issue-section-title h5 { margin:0 0 3px; font-weight:800; }
.issue-section-title p { margin:0; color:var(--bs-secondary-color); }
.issue-location-toolbar { display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.issue-location-toolbar .input-group { flex:1; }
.issue-location-tree { border:1px solid var(--bs-border-color); border-radius:18px; max-height:540px; overflow:auto; background:var(--bs-tertiary-bg); padding:12px; }
.issue-tower-node { border:1px solid var(--bs-border-color); border-radius:15px; background:var(--bs-body-bg); margin-bottom:10px; overflow:hidden; }
.issue-tower-node:last-child { margin-bottom:0; }
.issue-tree-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 15px; background:linear-gradient(135deg,rgba(99,91,255,.09),rgba(75,70,190,.03)); }
.issue-tree-heading label,
.issue-floor-heading label { display:flex; align-items:center; gap:10px; cursor:pointer; flex:1; }
.issue-tree-heading label > span:last-child,
.issue-floor-heading label > span:last-child { display:flex; flex-direction:column; }
.issue-tree-heading small,
.issue-floor-heading small { color:var(--bs-secondary-color); }
.issue-tree-icon { width:39px; height:39px; border-radius:12px; background:#635bff; color:#fff; display:flex; align-items:center; justify-content:center; font-size:19px; }
.issue-tree-children { padding:10px; }
.issue-tower-node.is-collapsed .issue-tree-children { display:none; }
.issue-floor-node { border:1px solid var(--bs-border-color); border-radius:13px; margin-bottom:9px; overflow:hidden; }
.issue-floor-node:last-child { margin-bottom:0; }
.issue-floor-heading { padding:10px 13px; background:var(--bs-tertiary-bg); border-bottom:1px solid var(--bs-border-color); }
.issue-floor-heading i { color:#635bff; font-size:18px; }
.issue-location-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding:10px; }
.issue-location-option { display:flex; align-items:center; gap:9px; border:1px solid var(--bs-border-color); border-radius:11px; padding:10px; background:var(--bs-body-bg); cursor:pointer; }
.issue-location-option:hover { border-color:rgba(99,91,255,.5); }
.issue-location-option > span { display:flex; flex-direction:column; min-width:0; }
.issue-location-option strong { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.issue-location-option small { color:var(--bs-secondary-color); }
.issue-upload-zone { min-height:145px; border:2px dashed rgba(99,91,255,.35); border-radius:18px; background:rgba(99,91,255,.04); display:flex; align-items:center; justify-content:center; gap:15px; padding:22px; cursor:pointer; text-align:center; }
.issue-upload-zone input { position:absolute; opacity:0; pointer-events:none; }
.issue-upload-icon { width:62px; height:62px; border-radius:19px; background:#635bff; color:#fff; display:flex; align-items:center; justify-content:center; font-size:30px; box-shadow:0 12px 28px rgba(99,91,255,.22); }
.issue-upload-zone > span:last-child { display:flex; flex-direction:column; gap:5px; }
.issue-upload-zone small { color:var(--bs-secondary-color); }
.issue-upload-list { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.issue-upload-list > span { display:inline-flex; align-items:center; gap:7px; max-width:100%; border:1px solid var(--bs-border-color); border-radius:12px; padding:8px 11px; background:var(--bs-body-bg); }
.issue-upload-list strong { max-width:230px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.issue-upload-list small { color:var(--bs-secondary-color); }
.issue-target-groups { display:flex; flex-direction:column; gap:10px; }
.issue-target-option { --target-color:#635bff; display:flex; align-items:center; gap:11px; min-height:82px; border:2px solid var(--bs-border-color); border-radius:16px; padding:12px; cursor:pointer; position:relative; background:var(--bs-body-bg); transition:.2s ease; }
.issue-target-option input { position:absolute; opacity:0; pointer-events:none; }
.issue-target-option:has(input:checked) { border-color:var(--target-color); background:color-mix(in srgb,var(--target-color) 7%,var(--bs-body-bg)); }
.issue-target-icon { width:46px; height:46px; border-radius:14px; color:#fff; background:var(--target-color); display:flex; align-items:center; justify-content:center; font-size:21px; flex:0 0 auto; }
.issue-target-option > span:nth-child(3) { display:flex; flex-direction:column; min-width:0; flex:1; }
.issue-target-option strong { color:var(--bs-heading-color); }
.issue-target-option small { color:var(--bs-secondary-color); line-height:1.5; }
.issue-target-check { opacity:0; color:var(--target-color); font-size:23px; }
.issue-target-option:has(input:checked) .issue-target-check { opacity:1; }
.issue-send-note { display:flex; gap:10px; margin-top:17px; padding:13px; border-radius:13px; background:var(--bs-tertiary-bg); color:var(--bs-secondary-color); line-height:1.7; }
.issue-send-note i { color:#635bff; font-size:20px; flex:0 0 auto; }

.issue-center-shell { display:grid; grid-template-columns:360px minmax(0,1fr); min-height:760px; border:1px solid var(--bs-border-color); border-radius:20px; overflow:hidden; background:var(--bs-body-bg); box-shadow:0 14px 36px rgba(26,35,58,.08); direction:rtl; }
.issue-center-sidebar { display:flex; flex-direction:column; min-width:0; border-left:1px solid var(--bs-border-color); background:var(--bs-tertiary-bg); }
.issue-center-sidebar-head { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:17px; background:var(--bs-body-bg); border-bottom:1px solid var(--bs-border-color); }
.issue-center-sidebar-head h4 { margin:0 0 2px; font-size:18px; font-weight:700; }
.issue-center-sidebar-head small { color:var(--bs-secondary-color); }
.issue-filter-panel { padding:12px; border-bottom:1px solid var(--bs-border-color); background:var(--bs-body-bg); }
.issue-status-tabs { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:5px; padding:10px; border-bottom:1px solid var(--bs-border-color); }
.issue-status-tabs a { display:flex; flex-direction:column; align-items:center; justify-content:center; min-width:0; min-height:62px; border-radius:12px; color:var(--bs-secondary-color); background:var(--bs-body-bg); border:1px solid var(--bs-border-color); }
.issue-status-tabs a strong { font-size:17px; }
.issue-status-tabs a small { font-size:10px; white-space:nowrap; }
.issue-status-tabs a.active { color:#fff; border-color:#635bff; background:#635bff; box-shadow:0 9px 18px rgba(99,91,255,.22); }
.issue-list { height:520px; overflow:auto; padding:10px; }
.issue-list-card { display:block; border:1px solid var(--bs-border-color); border-radius:15px; padding:13px; margin-bottom:9px; background:var(--bs-body-bg); color:inherit; position:relative; transition:.2s ease; }
.issue-list-card:hover { border-color:rgba(99,91,255,.5); transform:translateY(-1px); }
.issue-list-card.active { border:2px solid #635bff; background:rgba(99,91,255,.05); }
.issue-list-card.is-unread::before { content:""; position:absolute; top:12px; left:12px; width:8px; height:8px; border-radius:50%; background:#ff5a65; box-shadow:0 0 0 4px rgba(255,90,101,.12); }
.issue-list-card-top { display:flex; align-items:center; gap:6px; margin-bottom:9px; }
.issue-number { display:inline-flex; align-items:center; justify-content:center; min-height:26px; border-radius:999px; padding:3px 9px; background:var(--bs-tertiary-bg); color:var(--bs-heading-color); font-weight:800; font-size:12px; }
.issue-new-dot { border-radius:999px; padding:3px 8px; background:#ff826c; color:#fff; font-size:10px; font-weight:800; }
.issue-list-card h6 { margin:0 0 8px; font-weight:700; line-height:1.5; color:var(--bs-heading-color); }
.issue-list-card p { margin:0 0 8px; color:var(--bs-secondary-color); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.issue-list-card p i { color:#635bff; margin-left:4px; }
.issue-list-meta { display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px; font-size:11px; color:var(--bs-secondary-color); }
.issue-list-meta span { display:inline-flex; align-items:center; gap:4px; }
.issue-list-targets { margin-top:9px; border-top:1px dashed var(--bs-border-color); padding-top:8px; color:#635bff; font-size:11px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.issue-list-empty,
.issue-welcome-state { height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:var(--bs-secondary-color); padding:30px; }
.issue-list-empty i,
.issue-welcome-state > span { width:86px; height:86px; border-radius:50%; background:rgba(99,91,255,.09); color:#635bff; display:flex; align-items:center; justify-content:center; font-size:42px; margin-bottom:16px; }
.issue-list-empty strong,
.issue-welcome-state h3 { color:var(--bs-heading-color); margin-bottom:6px; }
.issue-pagination { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:10px 12px; border-top:1px solid var(--bs-border-color); background:var(--bs-body-bg); }
.issue-pagination span { font-size:12px; color:var(--bs-secondary-color); }
.issue-center-content { display:flex; flex-direction:column; min-width:0; background:var(--bs-body-bg); }
.issue-detail-header { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:92px; padding:17px 20px; border-bottom:1px solid var(--bs-border-color); background:var(--bs-body-bg); }
.issue-detail-title { display:flex; align-items:center; gap:13px; min-width:0; }
.issue-detail-icon { width:54px; height:54px; border-radius:16px; background:#635bff; color:#fff; display:flex; align-items:center; justify-content:center; font-size:25px; flex:0 0 auto; }
.issue-detail-title h3 { margin:0; font-size:20px; font-weight:700; color:var(--bs-heading-color); }
.issue-detail-submeta { display:flex; flex-wrap:wrap; gap:12px; color:var(--bs-secondary-color); font-size:12px; }
.issue-detail-submeta span { display:inline-flex; align-items:center; gap:4px; }
.issue-detail-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.issue-status-badge { display:inline-flex; align-items:center; gap:5px; border-radius:999px; padding:6px 10px; font-size:11px; font-weight:800; white-space:nowrap; }
.issue-status-badge.is-danger { background:#ffe4e6; color:#c72c3c; }
.issue-status-badge.is-primary { background:#e8e7ff; color:#4d45d6; }
.issue-status-badge.is-warning { background:#fff1cc; color:#9b6a00; }
.issue-status-badge.is-success { background:#dff7ea; color:#137449; }
.issue-context-card { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(200px,.8fr) minmax(230px,1fr); gap:12px; padding:14px 18px; border-bottom:1px solid var(--bs-border-color); background:var(--bs-tertiary-bg); }
.issue-context-main,
.issue-context-item { border:1px solid var(--bs-border-color); border-radius:14px; padding:12px; background:var(--bs-body-bg); }
.issue-context-main { display:flex; align-items:center; gap:12px; }
.issue-context-icon { width:45px; height:45px; border-radius:13px; background:rgba(99,91,255,.11); color:#635bff; display:flex; align-items:center; justify-content:center; font-size:21px; flex:0 0 auto; }
.issue-context-main div,
.issue-context-item { display:flex; flex-direction:column; gap:3px; }
.issue-context-card small { color:var(--bs-secondary-color); }
.issue-context-card strong { color:var(--bs-heading-color); }
.issue-context-item > span { color:var(--bs-secondary-color); font-size:12px; }
.issue-target-chips { display:flex; flex-wrap:wrap; gap:6px; margin-top:4px; }
.issue-target-chips span { --chip-color:#635bff; display:inline-flex; align-items:center; gap:5px; border-radius:999px; padding:5px 8px; color:var(--chip-color); background:color-mix(in srgb,var(--chip-color) 10%,var(--bs-body-bg)); border:1px solid color-mix(in srgb,var(--chip-color) 28%,transparent); font-size:11px; font-weight:800; }
.issue-locations-details { border-bottom:1px solid var(--bs-border-color); background:var(--bs-body-bg); }
.issue-locations-details summary { display:flex; align-items:center; justify-content:space-between; gap:10px; cursor:pointer; padding:11px 18px; font-weight:800; }
.issue-locations-details summary span { display:flex; align-items:center; gap:7px; }
.issue-locations-details > div { display:flex; flex-wrap:wrap; gap:7px; padding:0 18px 12px; }
.issue-locations-details > div > span { display:flex; align-items:center; gap:5px; border:1px solid var(--bs-border-color); border-radius:11px; padding:7px 9px; background:var(--bs-tertiary-bg); font-size:12px; }
.issue-locations-details small { color:var(--bs-secondary-color); }
.issue-thread { flex:1; height:500px; overflow:auto; padding:22px; background:#f2f5f9; }
[data-bs-theme="dark"] .issue-thread { background:#151b2a; }
.issue-thread-start { display:flex; justify-content:center; margin-bottom:22px; }
.issue-thread-start span { border-radius:999px; padding:7px 14px; background:#635bff; color:#fff; font-size:12px; font-weight:800; }
.issue-message { max-width:78%; margin:0 0 18px auto; }
.issue-message.is-mine { margin-left:0; margin-right:auto; }
.issue-message-meta { display:flex; align-items:center; gap:7px; margin:0 10px 6px; font-size:11px; color:var(--bs-secondary-color); }
.issue-message-meta strong { color:var(--bs-heading-color); }
.issue-message-meta time { margin-right:auto; }
.issue-message.is-mine .issue-message-meta time { margin-right:0; margin-left:auto; }
.issue-message-bubble { border-radius:18px 18px 5px 18px; background:var(--bs-body-bg); padding:15px; box-shadow:0 5px 15px rgba(26,35,58,.08); border:1px solid var(--bs-border-color); }
.issue-message.is-mine .issue-message-bubble { border-radius:18px 18px 18px 5px; background:#635bff; color:#fff; border-color:#635bff; }
.issue-message-bubble p { margin:0; line-height:1.9; }
.issue-message.is-status-message { max-width:88%; margin-left:auto; margin-right:auto; }
.issue-message.is-status-message .issue-message-bubble { border-radius:14px; background:#fff8df; border-color:#f2d36c; color:#5e4a00; }
[data-bs-theme="dark"] .issue-message.is-status-message .issue-message-bubble { background:#332b14; color:#ffe9a8; }
.issue-message-type { display:inline-flex; align-items:center; gap:5px; margin-bottom:7px; border-radius:999px; padding:4px 8px; background:rgba(0,0,0,.07); font-size:11px; font-weight:800; }
.issue-attachments-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin-top:13px; }
.issue-image-attachment,
.issue-video-attachment { position:relative; min-width:0; border-radius:13px; overflow:hidden; background:#10131c; }
.issue-image-attachment img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.issue-image-attachment > span { position:absolute; inset:auto 6px 6px 6px; border-radius:9px; background:rgba(0,0,0,.58); color:#fff; display:flex; align-items:center; justify-content:center; gap:5px; padding:5px; font-size:10px; }
.issue-video-attachment video { width:100%; aspect-ratio:16/10; display:block; background:#000; }
.issue-video-attachment small { display:block; padding:7px; color:#fff; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.issue-closed-banner { display:flex; align-items:center; justify-content:center; gap:12px; margin-top:20px; border:1px solid #8bd7b3; border-radius:16px; padding:16px; background:#e8f8f0; color:#126b44; }
.issue-closed-banner i { font-size:28px; }
.issue-closed-banner div { display:flex; flex-direction:column; }
.issue-composer { border-top:1px solid var(--bs-border-color); padding:12px 16px; background:var(--bs-body-bg); }
.issue-reply-form { display:grid; grid-template-columns:52px minmax(0,1fr) 94px; gap:9px; align-items:end; }
.issue-reply-form textarea { resize:none; min-height:52px; }
.issue-reply-form .btn { height:52px; display:flex; align-items:center; justify-content:center; gap:5px; }
.issue-attach-button { width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--bs-tertiary-bg); color:#635bff; border:1px solid var(--bs-border-color); cursor:pointer; font-size:22px; }
.issue-attach-button input { position:absolute; opacity:0; pointer-events:none; }
.issue-workflow-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:9px; padding-top:9px; border-top:1px dashed var(--bs-border-color); }
.issue-workflow-actions form { margin:0; }
.issue-viewers-list > div { display:grid; grid-template-columns:48px minmax(0,1fr) minmax(180px,.8fr); gap:12px; align-items:center; padding:13px 17px; border-bottom:1px solid var(--bs-border-color); }
.issue-viewers-list p,
.issue-viewers-list time { display:flex; flex-direction:column; margin:0; }
.issue-viewers-list small { color:var(--bs-secondary-color); }

@media (max-width: 1199.98px) {
  .issue-create-layout { grid-template-columns:1fr; }
  .issue-create-targets { position:static; }
  .issue-target-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .issue-center-shell { grid-template-columns:320px minmax(0,1fr); }
  .issue-context-card { grid-template-columns:1fr 1fr; }
  .issue-context-main { grid-column:1/-1; }
  .issue-location-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 767.98px) {
  .issue-type-picker,
.issue-target-groups { grid-template-columns:1fr; }
  .issue-location-toolbar { align-items:stretch; flex-direction:column; }
  .issue-location-options { grid-template-columns:1fr; }
  .issue-center-shell { display:block; min-height:0; overflow:visible; border:0; box-shadow:none; background:transparent; }
  .issue-center-sidebar { border:1px solid var(--bs-border-color); border-radius:18px; overflow:hidden; margin-bottom:16px; }
  .issue-list { height:420px; }
  .issue-center-content { border:1px solid var(--bs-border-color); border-radius:18px; overflow:hidden; min-height:520px; }
  .issue-detail-header { align-items:flex-start; flex-direction:column; }
  .issue-detail-actions { width:100%; justify-content:space-between; }
  .issue-context-card { grid-template-columns:1fr; }
  .issue-context-main { grid-column:auto; }
  .issue-thread { height:520px; padding:14px; }
  .issue-message,
.issue-message.is-status-message { max-width:96%; }
  .issue-attachments-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .issue-reply-form { grid-template-columns:46px minmax(0,1fr); }
  .issue-reply-form .btn { grid-column:1/-1; width:100%; }
  .issue-attach-button { width:46px; height:46px; }
  .issue-viewers-list > div { grid-template-columns:44px 1fr; }
  .issue-viewers-list time { grid-column:2; }
}
@media (max-width: 479.98px) {
  .issue-status-tabs { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .issue-detail-title { align-items:flex-start; }
  .issue-detail-title h3 { font-size:17px; }
  .issue-detail-icon { width:46px; height:46px; }
  .issue-attachments-grid { grid-template-columns:1fr; }
}
.issue-floor-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.issue-floor-type-actions { display:flex; flex-wrap:wrap; gap:5px; justify-content:flex-end; }
.issue-floor-type-actions button { border:1px solid rgba(99,91,255,.28); background:rgba(99,91,255,.07); color:#5148db; border-radius:999px; padding:4px 8px; font-size:10px; font-weight:800; }
.issue-floor-type-actions button:hover { background:#635bff; color:#fff; border-color:#635bff; }
@media (max-width:767.98px){.issue-tree-heading {align-items:flex-start}.issue-tree-heading>div {flex-direction:column;align-items:stretch!important}.issue-floor-heading {align-items:flex-start;flex-direction:column}.issue-floor-type-actions {width:100%;justify-content:flex-start}}
.issue-modal-targets { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.issue-modal-targets label { --target-color:#635bff; display:flex; align-items:center; gap:10px; border:2px solid var(--bs-border-color); border-radius:14px; padding:11px; cursor:pointer; }
.issue-modal-targets label:has(input:checked) { border-color:var(--target-color); background:color-mix(in srgb,var(--target-color) 8%,var(--bs-body-bg)); }
.issue-modal-targets input { width:18px; height:18px; }
.issue-modal-targets label span { width:39px; height:39px; border-radius:12px; background:var(--target-color); color:#fff; display:flex; align-items:center; justify-content:center; }
@media(max-width:479.98px){.issue-modal-targets {grid-template-columns:1fr}}

/* ========================================================================== */
/* Issue creation page v1.5.62                                                */
/* ========================================================================== */
.issue-create-layout-v2 {
  grid-template-columns: minmax(0, 1fr) 310px;
  gap: 18px;
}

.issue-create-main-v2,
.issue-create-targets-v2 {
  overflow: hidden;
  border: 1px solid var(--bs-border-color);
  box-shadow: 0 10px 28px rgba(26, 35, 58, .065);
}

.issue-create-card-header,
.issue-targets-header {
  min-height: 66px;
  padding: 14px 18px;
  background: linear-gradient(135deg, rgba(99, 91, 255, .075), rgba(99, 91, 255, .018));
}

.issue-create-card-header > div,
.issue-targets-header > div {
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
}

.issue-create-card-header > div > span:last-child,
.issue-targets-header > div > span:last-child {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.issue-create-card-header strong,
.issue-targets-header strong {
  color: var(--bs-heading-color);
  font-size: 15px;
  font-weight:700;
}

.issue-create-card-header small,
.issue-targets-header small {
  margin-top: 2px;
  color: var(--bs-secondary-color);
  font-size: 11px;
}

.issue-create-header-icon,
.issue-targets-header-icon {
  width: 39px;
  height: 39px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 39px;
  color: #fff;
  background: linear-gradient(135deg, #635bff, #4438ca);
  box-shadow: 0 8px 18px rgba(99, 91, 255, .2);
}

.issue-create-body {
  padding: 18px;
}

.issue-type-picker-v2 {
  gap: 10px;
  margin-bottom: 16px !important;
}

.issue-type-picker-v2 .issue-type-option {
  position: relative;
  min-height: 82px;
  padding: 13px 15px;
  border-width: 1px;
  border-radius: 14px;
  box-shadow: none;
}

.issue-type-option input,
.issue-target-option input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  opacity: 0;
}

.issue-type-picker-v2 .issue-type-icon {
  width: 45px;
  height: 45px;
  flex: 0 0 45px;
  border-radius: 13px;
  font-size: 21px;
}

.issue-type-picker-v2 .issue-type-option strong {
  font-size: 14px;
}

.issue-type-picker-v2 .issue-type-option small {
  font-size: 11px;
  line-height: 1.5;
}

.issue-option-check {
  margin-inline-start: auto;
  color: #635bff;
  font-size: 21px;
  opacity: 0;
  transform: scale(.7);
  transition: .18s ease;
}

.issue-type-option.is-selected .issue-option-check {
  opacity: 1;
  transform: scale(1);
}

.issue-type-option.is-selected {
  border-color: rgba(99, 91, 255, .75);
  background: rgba(99, 91, 255, .055);
  box-shadow: inset 0 0 0 1px rgba(99, 91, 255, .08);
}

.issue-form-section {
  margin-top: 14px;
  padding: 15px;
  border: 1px solid var(--bs-border-color);
  border-radius: 16px;
  background: var(--bs-body-bg);
}

.issue-form-section-basic {
  margin-top: 0;
}

.issue-section-heading {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

.issue-section-heading > span {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 11px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #635bff;
  background: rgba(99, 91, 255, .1);
  font-size: 19px;
}

.issue-section-heading > div {
  min-width: 0;
}

.issue-section-heading h5 {
  margin: 0 0 2px;
  color: var(--bs-heading-color);
  font-size: 14px;
  font-weight:700;
}

.issue-section-heading p {
  margin: 0;
  color: var(--bs-secondary-color);
  font-size: 11px;
  line-height: 1.55;
}

.issue-section-heading-with-count .issue-selection-counter {
  margin-inline-start: auto;
}

.issue-selection-counter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 92px;
  min-height: 31px;
  padding: 5px 10px;
  border-radius: 999px;
  color: #fff;
  background: #635bff;
  font-size: 11px;
  font-weight:700;
}

.issue-description-input {
  min-height: 108px;
  resize: vertical;
}

.issue-specific-fields.d-none {
  display: none !important;
}

.issue-location-toolbar-v2 {
  align-items: stretch;
  margin-bottom: 10px;
}

.issue-location-actions {
  display: flex;
  gap: 7px;
  flex: 0 0 auto;
}

.issue-location-actions .btn {
  white-space: nowrap;
}

.issue-location-tree {
  max-height: 420px;
  padding: 9px;
  border-radius: 14px;
  background: #f6f8fc;
  scrollbar-width: thin;
}

[data-bs-theme="dark"] .issue-location-tree {
  background: #171d2b;
}

.issue-tower-node {
  border-radius: 13px;
  margin-bottom: 8px;
}

.issue-tree-heading {
  padding: 10px 12px;
}

.issue-tree-select-label {
  min-width: 0;
}

.issue-tree-select-label .form-check-input {
  width: 18px;
  height: 18px;
  margin: 0;
  flex: 0 0 18px;
}

.issue-tree-icon {
  width: 35px;
  height: 35px;
  flex: 0 0 35px;
  border-radius: 10px;
  font-size: 17px;
}

.issue-tree-heading-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
}

.issue-tree-children {
  padding: 8px;
}

.issue-floor-node {
  margin-bottom: 7px;
  border-radius: 11px;
}

.issue-floor-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 11px;
}

.issue-floor-type-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
  flex-wrap: wrap;
}

.issue-floor-type-actions button {
  border: 1px solid rgba(99, 91, 255, .22);
  border-radius: 999px;
  padding: 4px 8px;
  color: #554ee0;
  background: rgba(99, 91, 255, .055);
  font-size: 10px;
  font-weight: 800;
}

.issue-floor-type-actions button:hover {
  color: #fff;
  background: #635bff;
  border-color: #635bff;
}

.issue-location-options {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  padding: 8px;
}

.issue-location-option {
  position: relative;
  min-height: 56px;
  padding: 8px 9px;
  border-radius: 10px;
  transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
}

.issue-location-option .form-check-input {
  width: 17px;
  height: 17px;
  margin: 0;
  flex: 0 0 17px;
}

.issue-location-option strong {
  font-size: 12px;
}

.issue-location-option small {
  font-size: 10px;
}

.issue-location-selected-icon {
  margin-inline-start: auto;
  color: #635bff;
  font-size: 17px;
  opacity: 0;
}

.issue-location-option.is-selected {
  border-color: rgba(99, 91, 255, .72);
  background: rgba(99, 91, 255, .065);
  box-shadow: inset 0 0 0 1px rgba(99, 91, 255, .08);
}

.issue-location-option.is-selected .issue-location-selected-icon {
  opacity: 1;
}

.issue-location-empty {
  min-height: 160px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  color: var(--bs-secondary-color);
  text-align: center;
}

.issue-location-empty i {
  font-size: 38px;
  color: #635bff;
}

.issue-location-empty strong {
  color: var(--bs-heading-color);
}

.issue-upload-zone {
  position: relative;
  min-height: 112px;
  padding: 16px;
  border-radius: 14px;
  overflow: hidden;
  transition: .18s ease;
}

.issue-upload-zone input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  pointer-events: auto;
}

.issue-upload-zone:hover,
.issue-upload-zone.is-dragging,
.issue-upload-zone.has-files {
  border-color: #635bff;
  background: rgba(99, 91, 255, .075);
}

.issue-upload-icon {
  width: 50px;
  height: 50px;
  flex: 0 0 50px;
  border-radius: 15px;
  font-size: 24px;
}

.issue-upload-list > span {
  min-width: 0;
  padding: 7px 10px;
}

.issue-upload-list > span > span {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.issue-upload-list > span > i {
  color: #635bff;
  font-size: 18px;
}

.issue-upload-list strong {
  max-width: 210px;
  font-size: 11px;
}

.issue-upload-list small {
  font-size: 10px;
}

.issue-create-targets-v2 {
  position: sticky;
  top: 82px;
  display: flex;
  flex-direction: column;
  max-height: calc(100vh - 100px);
}

.issue-targets-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex: 0 0 auto;
}

.issue-target-count {
  min-width: 31px;
  height: 31px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: #635bff;
  font-size: 12px;
  font-weight:700;
}

.issue-targets-body {
  min-height: 0;
  padding: 12px;
  overflow-y: auto;
  scrollbar-width: thin;
}

.issue-target-groups {
  gap: 7px;
}

.issue-target-option {
  min-height: 63px;
  padding: 9px;
  border-width: 1px;
  border-radius: 13px;
}

.issue-target-option:hover {
  border-color: var(--target-color);
  transform: translateY(-1px);
}

.issue-target-option.is-selected {
  border-color: var(--target-color);
  background: rgba(99, 91, 255, .055);
  box-shadow: inset 4px 0 0 var(--target-color);
}

.issue-target-icon {
  width: 39px;
  height: 39px;
  flex: 0 0 39px;
  border-radius: 11px;
  font-size: 18px;
}

.issue-target-option strong {
  font-size: 12px;
}

.issue-target-option small {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: 10px;
  line-height: 1.45;
}

.issue-target-check {
  font-size: 19px;
  opacity: 0;
}

.issue-target-option.is-selected .issue-target-check {
  opacity: 1;
}

.issue-targets-footer {
  flex: 0 0 auto;
  padding: 12px;
  border-top: 1px solid var(--bs-border-color);
  background: var(--bs-body-bg);
}

.issue-targets-footer .btn + .btn,
.issue-targets-footer .issue-send-note + .btn {
  margin-top: 8px;
}

.issue-send-note {
  margin-top: 0;
  padding: 10px;
  border-radius: 11px;
  font-size: 10px;
  line-height: 1.55;
}

.issue-send-note i {
  font-size: 17px;
}

.issue-create-form .form-control,
.issue-create-form .form-select,
.issue-create-form .select2-container .select2-selection--single {
  min-height: 43px;
}

.issue-create-form .form-control-lg,
.issue-create-form .form-select-lg {
  min-height: 48px;
  font-size: 14px;
}

.issue-create-form button:disabled,
.issue-create-form input:disabled,
.issue-create-form select:disabled,
.issue-create-form textarea:disabled {
  cursor: not-allowed;
}

@media (max-width: 1399.98px) {
  .issue-create-layout-v2 {
    grid-template-columns: minmax(0, 1fr) 285px;
    gap: 14px;
  }
  .issue-location-options {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1199.98px) {
  .issue-create-layout-v2 {
    grid-template-columns: 1fr;
  }
  .issue-create-targets-v2 {
    position: static;
    max-height: none;
  }
  .issue-targets-body {
    overflow: visible;
  }
  .issue-target-groups {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .issue-targets-footer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 220px 190px;
    gap: 8px;
    align-items: center;
  }
  .issue-targets-footer .btn + .btn,
.issue-targets-footer .issue-send-note + .btn {
    margin-top: 0;
  }
}

@media (max-width: 767.98px) {
  .issue-create-body {
    padding: 12px;
  }
  .issue-type-picker-v2,
.issue-target-groups {
    grid-template-columns: 1fr;
  }
  .issue-location-toolbar-v2,
.issue-section-heading-with-count {
    align-items: stretch;
    flex-direction: column;
  }
  .issue-selection-counter {
    margin-inline-start: 0 !important;
    width: 100%;
  }
  .issue-location-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .issue-tree-heading,
.issue-floor-heading {
    align-items: stretch;
    flex-direction: column;
  }
  .issue-tree-heading-actions,
.issue-floor-type-actions {
    width: 100%;
    justify-content: stretch;
  }
  .issue-tree-heading-actions .btn,
.issue-floor-type-actions button {
    flex: 1;
  }
  .issue-location-options {
    grid-template-columns: 1fr;
  }
  .issue-targets-footer {
    display: block;
  }
  .issue-targets-footer .btn + .btn,
.issue-targets-footer .issue-send-note + .btn {
    margin-top: 8px;
  }
}

/* ========================================================================== */
/* Issue creation page v1.5.63                                                */
/* ========================================================================== */
.issue-create-form-v3 {width:100%}
.issue-form-shell-v3 {overflow:hidden;border:1px solid var(--bs-border-color);border-radius:20px;box-shadow:0 16px 38px rgba(34,42,72,.08)}
.issue-form-shell-header {min-height:74px;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(135deg,rgba(99,91,255,.09),rgba(99,91,255,.02))}
.issue-form-shell-title {min-width:0;display:flex;align-items:center;gap:12px}.issue-form-shell-title>span:last-child {min-width:0;display:flex;flex-direction:column}.issue-form-shell-title strong {color:var(--bs-heading-color);font-size:17px;font-weight:700}.issue-form-shell-title small {margin-top:3px;color:var(--bs-secondary-color);font-size:12px}
.issue-mode-badge {display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:7px 12px;border:1px solid rgba(99,91,255,.2);border-radius:999px;color:#554ee0;background:rgba(99,91,255,.08);font-size:12px;font-weight:700;white-space:nowrap}
.issue-form-shell-body {padding:20px}
.issue-type-switch-v3 {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.issue-type-button-v3 {position:relative;width:100%;min-height:90px;padding:14px 16px;display:flex;align-items:center;gap:13px;border:1px solid var(--bs-border-color);border-radius:16px;color:inherit;background:var(--bs-body-bg);text-align:start;cursor:pointer;transition:.18s ease}
.issue-type-button-v3:hover {border-color:rgba(99,91,255,.5);transform:translateY(-1px)}.issue-type-button-v3.is-selected {border-color:#635bff;background:rgba(99,91,255,.07);box-shadow:inset 0 0 0 1px rgba(99,91,255,.08),0 10px 24px rgba(99,91,255,.08)}
.issue-type-button-icon {width:48px;height:48px;flex:0 0 48px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;color:#635bff;background:rgba(99,91,255,.1);font-size:22px}.issue-type-button-v3.is-selected .issue-type-button-icon {color:#fff;background:linear-gradient(135deg,#6f66ff,#4d43d7);box-shadow:0 8px 20px rgba(99,91,255,.22)}
.issue-type-button-v3>span:nth-child(2) {min-width:0;display:flex;flex:1;flex-direction:column}.issue-type-button-v3 strong {color:var(--bs-heading-color);font-size:15px;font-weight:700}.issue-type-button-v3 small {margin-top:4px;color:var(--bs-secondary-color);font-size:11px;line-height:1.6}.issue-type-button-check {margin-inline-start:auto;color:#635bff;font-size:22px;opacity:0;transform:scale(.75);transition:.18s ease}.issue-type-button-v3.is-selected .issue-type-button-check {opacity:1;transform:scale(1)}
.issue-form-section-v3 {margin-top:16px;padding:17px;border:1px solid var(--bs-border-color);border-radius:17px;background:var(--bs-body-bg)}
.issue-section-heading-v3 {margin-bottom:14px;display:flex;align-items:center;gap:11px}.issue-section-heading-v3>span {width:40px;height:40px;flex:0 0 40px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;color:#635bff;background:rgba(99,91,255,.1);font-size:19px}.issue-section-heading-v3>div {min-width:0}.issue-section-heading-v3 h5 {margin:0 0 2px;color:var(--bs-heading-color);font-size:15px;font-weight:700}.issue-section-heading-v3 p {margin:0;color:var(--bs-secondary-color);font-size:11px;line-height:1.6}.issue-section-heading-count-v3 .issue-selection-counter {margin-inline-start:auto}.issue-specific-fields.d-none {display:none!important}
.issue-location-filter-grid-v3 {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:14px;border:1px solid var(--bs-border-color);border-radius:14px;background:var(--bs-tertiary-bg)}.issue-location-filter-grid-v3 .form-label {margin-bottom:6px}
.issue-location-actionbar-v3 {margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.issue-location-result-text {display:inline-flex;align-items:center;gap:7px;color:var(--bs-secondary-color);font-size:12px;font-weight:800}.issue-location-result-text i {color:#635bff;font-size:18px}.issue-location-actions-v3 {display:flex;align-items:center;gap:7px;flex-wrap:wrap}.issue-location-actions-v3 .btn {min-height:37px;white-space:nowrap}
.issue-selected-locations-v3 {margin-top:12px;min-height:48px;padding:9px;display:flex;align-items:center;gap:7px;flex-wrap:wrap;border:1px dashed rgba(99,91,255,.28);border-radius:13px;background:rgba(99,91,255,.025)}.issue-selected-empty {padding-inline:5px;color:var(--bs-secondary-color);font-size:11px;font-weight:700}
.issue-selected-location-chip {max-width:280px;min-height:36px;padding:5px 9px;display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(99,91,255,.22);border-radius:10px;color:#5148db;background:var(--bs-body-bg);text-align:start}.issue-selected-location-chip>span {min-width:0;display:flex;flex-direction:column}.issue-selected-location-chip strong,
.issue-selected-location-chip small {overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.issue-selected-location-chip strong {color:var(--bs-heading-color);font-size:11px}.issue-selected-location-chip small {color:var(--bs-secondary-color);font-size:9px}.issue-selected-location-chip>i:last-child {margin-inline-start:auto;color:#ff5f73}
.issue-location-results-v3 {margin-top:12px;max-height:430px;padding:10px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;overflow-y:auto;border:1px solid var(--bs-border-color);border-radius:15px;background:#f6f8fc;scrollbar-width:thin}[data-bs-theme=dark] .issue-location-results-v3 {background:#171d2b}
.issue-location-result-card {position:relative;min-height:76px;padding:10px;display:flex;align-items:center;gap:9px;border:1px solid var(--bs-border-color);border-radius:12px;background:var(--bs-body-bg);cursor:pointer;transition:.16s ease}.issue-location-result-card:hover {border-color:rgba(99,91,255,.45);transform:translateY(-1px)}.issue-location-result-card.is-selected {border-color:#635bff;background:rgba(99,91,255,.07);box-shadow:inset 0 0 0 1px rgba(99,91,255,.08)}.issue-location-result-card .form-check-input {width:18px;height:18px;margin:0;flex:0 0 18px}
.issue-location-result-icon {width:35px;height:35px;flex:0 0 35px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;color:#635bff;background:rgba(99,91,255,.1);font-size:17px}.issue-location-result-copy {min-width:0;display:flex;flex:1;flex-direction:column}.issue-location-result-copy strong,
.issue-location-result-copy small {overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.issue-location-result-copy strong {color:var(--bs-heading-color);font-size:12px}.issue-location-result-copy small {margin-top:2px;color:var(--bs-secondary-color);font-size:9px}
.issue-location-type-badge {max-width:78px;padding:4px 7px;overflow:hidden;border-radius:999px;color:#554ee0;background:rgba(99,91,255,.09);font-size:9px;font-weight:700;white-space:nowrap;text-overflow:ellipsis}.issue-location-result-card .issue-location-selected-icon {position:absolute;inset-inline-end:7px;inset-block-start:7px;color:#635bff;opacity:0;font-size:16px}.issue-location-result-card.is-selected .issue-location-selected-icon {opacity:1}
.issue-location-no-results,
.issue-location-empty-v3 {grid-column:1/-1;min-height:180px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;color:var(--bs-secondary-color);text-align:center}.issue-location-no-results i,
.issue-location-empty-v3 i {color:#635bff;font-size:38px}.issue-location-no-results strong,
.issue-location-empty-v3 strong {color:var(--bs-heading-color)}
.issue-target-check-grid-v3 {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.issue-target-check-card-v3 {--target-color:#635bff;position:relative;min-height:74px;padding:11px;display:flex;align-items:center;gap:10px;border:1px solid var(--bs-border-color);border-radius:13px;background:var(--bs-body-bg);cursor:pointer;transition:.16s ease}.issue-target-check-card-v3:hover {border-color:var(--target-color);transform:translateY(-1px)}.issue-target-check-card-v3.is-selected {border-color:var(--target-color);background:color-mix(in srgb,var(--target-color) 6%,var(--bs-body-bg));box-shadow:inset 4px 0 0 var(--target-color)}
.issue-target-check-card-v3 .form-check-input {width:19px;height:19px;margin:0;flex:0 0 19px}.issue-target-check-icon-v3 {width:39px;height:39px;flex:0 0 39px;display:inline-flex;align-items:center;justify-content:center;border-radius:11px;color:#fff;background:var(--target-color);font-size:18px}.issue-target-check-copy-v3 {min-width:0;display:flex;flex:1;flex-direction:column}.issue-target-check-copy-v3 strong {color:var(--bs-heading-color);font-size:12px;font-weight:700}.issue-target-check-copy-v3 small {margin-top:2px;display:-webkit-box;overflow:hidden;color:var(--bs-secondary-color);font-size:9px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.issue-target-check-mark-v3 {margin-inline-start:auto;color:var(--target-color);font-size:20px;opacity:0}.issue-target-check-card-v3.is-selected .issue-target-check-mark-v3 {opacity:1}
.issue-upload-zone-v3 {min-height:125px}.issue-form-actions-v3 {padding:15px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--bs-tertiary-bg)}.issue-send-note-v3 {min-width:0;display:flex;align-items:center;gap:9px;color:var(--bs-secondary-color);font-size:11px;line-height:1.6}.issue-send-note-v3 i {color:#635bff;font-size:20px;flex:0 0 auto}.issue-form-action-buttons-v3 {display:flex;align-items:center;gap:8px;flex:0 0 auto}.issue-form-action-buttons-v3 .btn {min-width:185px}
@media(max-width:1399.98px){.issue-location-results-v3,
.issue-target-check-grid-v3 {grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:991.98px){.issue-location-filter-grid-v3 {grid-template-columns:repeat(2,minmax(0,1fr))}.issue-location-results-v3,
.issue-target-check-grid-v3 {grid-template-columns:repeat(2,minmax(0,1fr))}.issue-location-actionbar-v3,
.issue-form-actions-v3 {align-items:stretch;flex-direction:column}.issue-location-actions-v3,
.issue-form-action-buttons-v3 {width:100%}.issue-location-actions-v3 .btn,
.issue-form-action-buttons-v3 .btn {flex:1}}
@media(max-width:767.98px){.issue-form-shell-header,
.issue-section-heading-count-v3 {align-items:stretch;flex-direction:column}.issue-mode-badge,
.issue-section-heading-count-v3 .issue-selection-counter {align-self:flex-start;margin-inline-start:0}.issue-form-shell-body {padding:12px}.issue-type-switch-v3,
.issue-location-filter-grid-v3,
.issue-location-results-v3,
.issue-target-check-grid-v3 {grid-template-columns:1fr}.issue-location-actions-v3,
.issue-form-action-buttons-v3 {display:grid;grid-template-columns:1fr}.issue-form-action-buttons-v3 .btn {min-width:0;width:100%}.issue-location-results-v3 {max-height:500px}.issue-selected-location-chip {max-width:100%;width:100%}}

/* v1.5.64 - clickable switch cards for issue location types and target groups */
.issue-location-primary-filters-v4 {
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.issue-location-type-filter-v4 {
  margin-top:12px;
  padding:14px;
  border:1px solid var(--bs-border-color);
  border-radius:15px;
  background:var(--bs-tertiary-bg);
}
.issue-location-type-filter-heading-v4 {
  margin-bottom:11px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.issue-location-type-filter-heading-v4 > div {
  min-width:0;
  display:flex;
  flex-direction:column;
}
.issue-location-type-filter-heading-v4 strong {
  color:var(--bs-heading-color);
  font-size:13px;
  font-weight:700;
}
.issue-location-type-filter-heading-v4 small {
  margin-top:3px;
  color:var(--bs-secondary-color);
  font-size:10px;
  line-height:1.55;
}
.issue-location-type-filter-heading-v4 > span {
  flex:0 0 auto;
  padding:6px 10px;
  border-radius:999px;
  color:#5a54df;
  background:rgba(99,91,255,.1);
  font-size:10px;
  font-weight:700;
}
.issue-location-type-check-grid-v4 {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
}
.issue-option-switch-card-v4 {
  position:relative;
  min-width:0;
  display:flex;
  align-items:center;
  gap:10px;
  cursor:pointer;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
}
.issue-location-type-card-v4 {
  min-height:82px;
  padding:12px;
  border:1px solid var(--bs-border-color);
  border-radius:14px;
  background:var(--bs-body-bg);
  transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.issue-location-type-card-v4:hover {
  border-color:rgba(99,91,255,.48);
  transform:translateY(-1px);
}
.issue-location-type-card-v4.is-selected {
  border-color:#635bff;
  background:rgba(99,91,255,.065);
  box-shadow:inset 0 0 0 1px rgba(99,91,255,.07),0 7px 18px rgba(99,91,255,.08);
}
.issue-option-switch-icon-v4 {
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  color:#635bff;
  background:rgba(99,91,255,.1);
  font-size:20px;
}
.issue-location-type-card-v4.is-selected .issue-option-switch-icon-v4 {
  color:#fff;
  background:#635bff;
}
.issue-option-switch-copy-v4 {
  min-width:0;
  display:flex;
  flex:1;
  flex-direction:column;
}
.issue-option-switch-copy-v4 strong {
  overflow:hidden;
  color:var(--bs-heading-color);
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.issue-option-switch-copy-v4 small {
  margin-top:3px;
  overflow:hidden;
  color:var(--bs-secondary-color);
  font-size:10px;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.issue-option-switch-input-v4 {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  opacity:0;
  pointer-events:none;
}
.issue-option-switch-control-v4 {
  position:relative;
  width:46px;
  height:25px;
  flex:0 0 46px;
  margin-inline-start:auto;
  border:1px solid #c9d0da;
  border-radius:999px;
  background:#e6e9ee;
  transition:border-color .18s ease,background-color .18s ease;
}
.issue-option-switch-control-v4::after {
  content:"";
  position:absolute;
  inset-block-start:3px;
  inset-inline-start:3px;
  width:17px;
  height:17px;
  border-radius:50%;
  background:#aeb6c1;
  box-shadow:0 1px 3px rgba(21,32,48,.22);
  transition:transform .18s ease,background-color .18s ease;
}
.issue-option-switch-card-v4.is-selected .issue-option-switch-control-v4 {
  border-color:#635bff;
  background:#635bff;
}
.issue-option-switch-card-v4.is-selected .issue-option-switch-control-v4::after {
  background: var(--bs-card-bg);
  transform:translateX(-21px);
}
.issue-option-switch-input-v4:focus-visible + .issue-option-switch-control-v4 {
  outline:3px solid rgba(99,91,255,.2);
  outline-offset:2px;
}
.issue-target-check-card-v3.issue-option-switch-card-v4 {
  min-height:86px;
  padding:12px;
  grid-template-columns:none;
}
.issue-target-check-card-v3.issue-option-switch-card-v4.is-selected {
  border-color:var(--target-color);
  background:color-mix(in srgb,var(--target-color) 7%,var(--bs-body-bg));
  box-shadow:inset 4px 0 0 var(--target-color),0 7px 18px rgba(35,45,68,.06);
}
.issue-target-check-card-v3.issue-option-switch-card-v4.is-selected .issue-option-switch-control-v4 {
  border-color:var(--target-color);
  background:var(--target-color);
}
.issue-target-check-card-v3.issue-option-switch-card-v4 .issue-target-check-icon-v3 {
  margin:0;
}
.issue-target-check-card-v3.issue-option-switch-card-v4 .issue-target-check-copy-v3 {
  flex:1;
}
[data-bs-theme="dark"] .issue-option-switch-control-v4 {
  border-color:#4b5568;
  background:#2d3544;
}
[data-bs-theme="dark"] .issue-option-switch-control-v4::after {
  background:#8e98a8;
}
@media(max-width:1399.98px) {
  .issue-location-type-check-grid-v4 { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:991.98px) {
  .issue-location-primary-filters-v4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .issue-location-type-check-grid-v4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:767.98px) {
  .issue-location-primary-filters-v4,
.issue-location-type-check-grid-v4 { grid-template-columns:1fr; }
  .issue-location-type-filter-heading-v4 { align-items:flex-start; flex-direction:column; }
  .issue-location-type-card-v4,
.issue-target-check-card-v3.issue-option-switch-card-v4 { min-height:78px; }
}

/* ========================================================================== */
/* v1.5.65 - Compact, reliable issue selection cards                          */
/* ========================================================================== */
.issue-location-type-check-grid-v4 {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 7px;
}
.issue-option-switch-card-v4 {
  isolation: isolate;
  outline: none;
}
.issue-option-switch-card-v4:focus-visible {
  border-color: #635bff;
  box-shadow: 0 0 0 3px rgba(99, 91, 255, .16);
}
.issue-location-type-card-v4 {
  min-height: 58px;
  padding: 8px 9px;
  gap: 8px;
  border-radius: 11px;
}
.issue-option-switch-icon-v4 {
  width: 31px;
  height: 31px;
  flex-basis: 31px;
  border-radius: 9px;
  font-size: 15px;
}
.issue-option-switch-copy-v4 strong {
  font-size: 11px;
  line-height: 1.25;
}
.issue-option-switch-copy-v4 small {
  margin-top: 2px;
  font-size: 8.5px;
}
.issue-option-switch-input-v4 {
  position: absolute;
  inset: 0;
  z-index: 5;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  opacity: 0;
  cursor: pointer;
  pointer-events: auto;
  appearance: none;
  -webkit-appearance: none;
}
.issue-option-switch-control-v4 {
  z-index: 2;
  width: 36px;
  height: 20px;
  flex-basis: 36px;
  pointer-events: none;
}
.issue-option-switch-control-v4::after {
  inset-block-start: 2px;
  left: 2px;
  width: 14px;
  height: 14px;
  transition: left .18s ease, background-color .18s ease;
}
.issue-option-switch-card-v4.is-selected .issue-option-switch-control-v4::after {
  left: 18px;
  transform: none;
}
.issue-option-switch-input-v4:focus-visible + .issue-option-switch-control-v4 {
  outline: 3px solid rgba(99, 91, 255, .2);
  outline-offset: 2px;
}

.issue-target-check-grid-v3 {
  grid-template-columns: repeat(auto-fit, minmax(205px, 1fr));
  gap: 8px;
}
.issue-target-check-card-v3.issue-option-switch-card-v4 {
  min-height: 62px;
  padding: 8px 10px;
  gap: 8px;
  border-radius: 11px;
}
.issue-target-check-card-v3.issue-option-switch-card-v4 .issue-target-check-icon-v3 {
  width: 32px;
  height: 32px;
  flex-basis: 32px;
  border-radius: 9px;
  font-size: 15px;
}
.issue-target-check-copy-v3 strong {
  font-size: 11px;
}
.issue-target-check-copy-v3 small {
  margin-top: 1px;
  display: block;
  overflow: hidden;
  font-size: 8.5px;
  line-height: 1.35;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.issue-target-check-card-v3.issue-option-switch-card-v4.is-selected {
  background: var(--bs-body-bg);
  box-shadow: inset 3px 0 0 var(--target-color), 0 5px 14px rgba(35, 45, 68, .05);
}

.issue-location-results-v3 {
  grid-template-columns: repeat(auto-fit, minmax(185px, 1fr));
  gap: 7px;
  padding: 8px;
}
.issue-location-result-card {
  min-height: 54px;
  padding: 7px 8px;
  gap: 7px;
  border-radius: 10px;
  isolation: isolate;
  outline: none;
}
.issue-location-result-card:focus-visible {
  border-color: #635bff;
  box-shadow: 0 0 0 3px rgba(99, 91, 255, .14);
}
.issue-location-result-card .issue-location-check {
  position: absolute;
  inset: 0;
  z-index: 5;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}
.issue-location-result-icon {
  width: 29px;
  height: 29px;
  flex-basis: 29px;
  border-radius: 8px;
  font-size: 14px;
}
.issue-location-result-copy strong {
  font-size: 10.5px;
}
.issue-location-result-copy small {
  margin-top: 1px;
  font-size: 8px;
}
.issue-location-type-badge {
  max-width: 62px;
  padding: 3px 6px;
  font-size: 7.5px;
}
.issue-location-result-card .issue-location-selected-icon {
  z-index: 2;
  inset-inline-end: 5px;
  inset-block-start: 5px;
  font-size: 14px;
  pointer-events: none;
}
.issue-location-result-card.is-selected {
  box-shadow: inset 0 0 0 1px rgba(99, 91, 255, .08);
}

@media (max-width: 1199.98px) {
  .issue-location-type-check-grid-v4 {
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  }
  .issue-target-check-grid-v3 {
    grid-template-columns: repeat(auto-fit, minmax(185px, 1fr));
  }
}
@media (max-width: 767.98px) {
  .issue-location-type-check-grid-v4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .issue-target-check-grid-v3,
.issue-location-results-v3 {
    grid-template-columns: 1fr;
  }
  .issue-location-type-card-v4 {
    min-height: 56px;
  }
}
@media (max-width: 430px) {
  .issue-location-type-check-grid-v4 {
    grid-template-columns: 1fr;
  }
}

/* ========================================================================== */
/* v1.5.66 - Refined issue selection cards and RTL search field               */
/* ========================================================================== */
.issue-type-button-v3 strong {
  font-size: 17px;
  line-height: 1.35;
}
.issue-type-button-v3 small {
  font-size: 11.5px;
  line-height: 1.65;
}

.issue-location-search-group-v6 {
  direction: rtl;
  flex-wrap: nowrap;
}
.issue-location-search-group-v6 .input-group-text {
  order: 0;
  min-width: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0 10px 10px 0 !important;
  border-inline-end: 1px solid var(--bs-border-color) !important;
  border-inline-start: 0 !important;
  font-size: 20px;
}
.issue-location-search-group-v6 .form-control {
  order: 1;
  border-radius: 10px 0 0 10px !important;
}

.issue-option-switch-card-v4 {
  position: relative;
  display: block;
  text-align: start;
  overflow: hidden;
}
.issue-location-type-card-v4,
.issue-target-check-card-v3.issue-option-switch-card-v4 {
  min-height: 112px;
  padding: 12px 12px 36px;
  border-radius: 13px;
}
.issue-option-switch-icon-v4,
.issue-target-check-card-v3.issue-option-switch-card-v4 .issue-target-check-icon-v3 {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 9px;
  border-radius: 10px;
  font-size: 17px;
}
.issue-option-switch-copy-v4,
.issue-target-check-copy-v3 {
  display: block;
  min-width: 0;
  text-align: start;
}
.issue-option-switch-copy-v4 strong,
.issue-target-check-copy-v3 strong {
  display: block;
  overflow: hidden;
  color: var(--bs-heading-color);
  font-size: 14px;
  font-weight:700;
  line-height: 1.35;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.issue-option-switch-copy-v4 small,
.issue-target-check-copy-v3 small {
  display: block;
  margin-top: 4px;
  overflow: hidden;
  color: var(--bs-secondary-color);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.45;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.issue-option-switch-wrap-v6 {
  position: absolute;
  inset-inline-end: 12px;
  inset-block-end: 10px;
  z-index: 7;
  margin: 0;
  padding: 0;
  min-height: 0;
  direction: ltr;
}
.issue-option-switch-wrap-v6 .issue-option-switch-input-v4.form-check-input {
  position: static;
  inset: auto;
  width: 2em;
  height: 1em;
  margin: 0;
  padding: 0;
  opacity: 1;
  pointer-events: auto;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  box-shadow: none;
}
.issue-option-switch-card-v4.is-selected .issue-option-switch-wrap-v6 .form-check-input {
  border-color: #635bff;
  background-color: #635bff;
}
.issue-target-check-card-v3.issue-option-switch-card-v4.is-selected .issue-option-switch-wrap-v6 .form-check-input {
  border-color: var(--target-color);
  background-color: var(--target-color);
}
.issue-option-switch-control-v4 {
  display: none !important;
}
.issue-location-type-card-v4.is-selected,
.issue-target-check-card-v3.issue-option-switch-card-v4.is-selected {
  transform: none;
}

.issue-location-result-card {
  min-height: 104px;
  padding: 11px 12px 30px;
  display: block;
  text-align: start;
  border-radius: 12px;
}
.issue-location-result-icon {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 8px;
  border-radius: 10px;
  font-size: 16px;
}
.issue-location-result-copy {
  display: block;
  min-width: 0;
  text-align: start;
}
.issue-location-result-copy strong {
  display: block;
  overflow: hidden;
  color: var(--bs-heading-color);
  font-size: 13px;
  font-weight:700;
  line-height: 1.35;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.issue-location-result-copy small {
  display: block;
  margin-top: 4px;
  overflow: hidden;
  color: var(--bs-secondary-color);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.45;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.issue-location-result-card .issue-location-selected-icon {
  inset-inline-end: 10px;
  inset-block-start: 10px;
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #fff;
  background: #635bff;
  font-size: 16px;
  box-shadow: 0 4px 10px rgba(99, 91, 255, .22);
}
.issue-location-type-badge {
  position: absolute;
  inset-inline-end: 10px;
  inset-block-end: 9px;
  max-width: calc(100% - 20px);
  padding: 4px 8px;
  color: #554ee0;
  background: rgba(99, 91, 255, .1);
  font-size: 9px;
  font-weight:700;
}

@media (max-width: 767.98px) {
  .issue-location-type-card-v4,
.issue-target-check-card-v3.issue-option-switch-card-v4 {
    min-height: 108px;
  }
  .issue-type-button-v3 strong {
    font-size: 16px;
  }
}


/* ========================================================================== */
/* v1.5.67 - Unified 700 weight, Latin digits, and issue switch alignment      */
/* ========================================================================== */
html,
body,
input,
select,
textarea,
button,
table {
  font-variant-numeric: lining-nums tabular-nums;
}

.issue-location-type-card-v4,
.issue-target-check-card-v3.issue-option-switch-card-v4 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  text-align: right;
}
.issue-option-switch-icon-v4,
.issue-target-check-card-v3.issue-option-switch-card-v4 .issue-target-check-icon-v3 {
  align-self: flex-start;
  margin: 0 0 10px;
}
.issue-option-switch-copy-v4,
.issue-target-check-copy-v3 {
  width: 100%;
  text-align: right;
}
.issue-option-switch-copy-v4 strong,
.issue-target-check-copy-v3 strong {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
}
.issue-option-switch-copy-v4 small,
.issue-target-check-copy-v3 small {
  margin-top: 5px;
  font-size: 11.5px;
  font-weight: 700;
  line-height: 1.55;
}
.issue-option-switch-wrap-v6 {
  left: 12px !important;
  right: auto !important;
  inset-inline-start: auto !important;
  inset-inline-end: auto !important;
  bottom: 10px;
  direction: ltr;
}
.issue-option-switch-wrap-v6 .issue-option-switch-input-v4.form-check-input {
  position: static;
  inset: auto;
  margin: 0;
  padding: 0;
  opacity: 1;
  pointer-events: auto;
  cursor: pointer;
  box-shadow: none;
}
.issue-location-result-copy strong {
  font-size: 14px;
  font-weight: 700;
}
.issue-location-result-copy small {
  font-size: 10.5px;
  font-weight: 700;
}
.issue-location-type-badge {
  left: 10px;
  right: auto;
  inset-inline-start: auto;
  inset-inline-end: auto;
  font-size: 9.5px;
  font-weight: 700;
}
.issue-location-result-card .issue-location-selected-icon {
  left: 10px;
  right: auto;
  inset-inline-start: auto;
  inset-inline-end: auto;
  width: 25px;
  height: 25px;
  font-size: 17px;
}

/* Preserve the standard Bootstrap switch proportions inside issue cards. */
.issue-option-switch-wrap-v6 .issue-option-switch-input-v4.form-check-input {
  width: 2em;
  height: 1.313em;
  font-size: 1rem;
}

/* ========================================================================== */
/* v1.5.68 - Fix physical left alignment for issue switches and type badges   */
/* ========================================================================== */
.issue-location-type-card-v4 .issue-option-switch-wrap-v6,
.issue-target-check-card-v3.issue-option-switch-card-v4 .issue-option-switch-wrap-v6 {
  position: absolute !important;
  inset: auto auto 10px 12px !important;
  margin: 0 !important;
}

.issue-location-result-card .issue-location-type-badge {
  position: absolute !important;
  inset: auto auto 9px 10px !important;
  margin: 0 !important;
}


/* ========================================================================== */
/* v1.5.69 - Modern selected-location chips in the issue form                 */
/* ========================================================================== */
.issue-selected-locations-v3 {
  align-items: center;
  gap: 10px;
  min-height: 58px;
  padding: 10px 12px;
  border: 1px dashed rgba(99, 91, 255, .30);
  border-radius: 15px;
  background: linear-gradient(135deg, rgba(99, 91, 255, .035), rgba(99, 91, 255, .012));
}

.issue-selected-chip-v3 {
  position: relative;
  max-width: 390px;
  min-height: 48px;
  padding: 7px 8px 7px 7px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  border: 1px solid rgba(99, 91, 255, .20);
  border-radius: 13px;
  color: var(--bs-body-color);
  background: var(--bs-body-bg);
  box-shadow: 0 5px 14px rgba(40, 45, 80, .06);
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.issue-selected-chip-v3:hover {
  border-color: rgba(99, 91, 255, .48);
  box-shadow: 0 8px 18px rgba(99, 91, 255, .10);
  transform: translateY(-1px);
}

.issue-selected-chip-icon-v3 {
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  color: #635bff;
  background: rgba(99, 91, 255, .10);
  font-size: 17px;
}

.issue-selected-chip-copy-v3 {
  min-width: 0;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  line-height: 1.35;
}

.issue-selected-chip-copy-v3 strong,
.issue-selected-chip-copy-v3 small {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.issue-selected-chip-copy-v3 strong {
  color: var(--bs-heading-color);
  font-size: 12px;
  font-weight: 700;
}

.issue-selected-chip-copy-v3 small {
  margin-top: 2px;
  color: var(--bs-secondary-color);
  font-size: 10px;
  font-weight: 700;
}

.issue-selected-chip-remove-v3 {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  color: #dc3545;
  background: rgba(220, 53, 69, .09);
  box-shadow: none;
  font-size: 17px;
  line-height: 1;
  cursor: pointer;
  transition: color .16s ease, background-color .16s ease, transform .16s ease;
}

.issue-selected-chip-remove-v3:hover,
.issue-selected-chip-remove-v3:focus-visible {
  color: #fff;
  background: #dc3545;
  outline: 0;
  transform: scale(1.06);
}

.issue-selected-more-v3 {
  min-height: 38px;
  padding: 7px 12px;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(99, 91, 255, .20);
  border-radius: 999px;
  color: #554ee0;
  background: rgba(99, 91, 255, .08);
  font-size: 11px;
  font-weight: 700;
}

[data-bs-theme="dark"] .issue-selected-chip-v3 {
  border-color: rgba(144, 137, 255, .26);
  background: #202738;
  box-shadow: 0 6px 16px rgba(0, 0, 0, .18);
}

[data-bs-theme="dark"] .issue-selected-chip-icon-v3 {
  color: #a9a4ff;
  background: rgba(144, 137, 255, .14);
}

[data-bs-theme="dark"] .issue-selected-chip-remove-v3 {
  color: #ff8794;
  background: rgba(255, 95, 115, .13);
}

@media (max-width: 767.98px) {
  .issue-selected-chip-v3 {
    width: 100%;
    max-width: none;
  }
}

/* ========================================================================== */
/* v1.5.70 - مركز البلاغات: فلاتر المواقع، قوائم الهيدر ومعرض الصور          */
/* ========================================================================== */
.issue-search-group-v70 {
  direction: rtl;
}
.issue-search-group-v70 .input-group-text {
  order: 0;
  min-width: 44px;
  justify-content: center;
  border-radius: 0 11px 11px 0 !important;
  border-left: 0;
  font-size: 18px;
}
.issue-search-group-v70 .form-control {
  order: 1;
  border-radius: 11px 0 0 11px !important;
}
.issue-filter-actions-v70 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  margin-top: 9px;
}
.issue-filter-actions-v70 .btn {
  min-height: 40px;
}

.issue-detail-header-v70 {
  align-items: flex-start;
}
.issue-detail-actions-v70 {
  align-items: center;
  justify-content: flex-start;
  max-width: 100%;
}
.issue-header-dropdown-v70 {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 36px;
  border-radius: 10px;
  white-space: nowrap;
}
.issue-header-dropdown-v70 b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 23px;
  height: 23px;
  padding: 0 6px;
  border-radius: 999px;
  background: rgba(99, 91, 255, .12);
  color: #635bff;
  font-size: 11px;
  font-weight: 700;
}
.issue-header-menu-v70 {
  width: min(360px, calc(100vw - 28px));
  padding: 10px;
  border: 1px solid var(--bs-border-color);
  border-radius: 15px;
  box-shadow: 0 18px 45px rgba(26, 35, 58, .16);
  text-align: right;
}
.issue-dropdown-title-v70 {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 8px 8px 11px;
  border-bottom: 1px solid var(--bs-border-color);
}
.issue-dropdown-title-v70 > i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 11px;
  background: rgba(99, 91, 255, .11);
  color: #635bff;
  font-size: 19px;
}
.issue-dropdown-title-v70 > div {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.issue-dropdown-title-v70 strong {
  color: var(--bs-heading-color);
  font-size: 13px;
}
.issue-dropdown-title-v70 small {
  margin-top: 3px;
  color: var(--bs-secondary-color);
  font-size: 11px;
  line-height: 1.65;
}
.issue-target-dropdown-list-v70,
.issue-scope-list-v70 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-height: 320px;
  overflow: auto;
  padding: 9px 2px;
}
.issue-target-dropdown-list-v70 > div {
  --group-color: #635bff;
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 48px;
  padding: 7px 8px;
  border: 1px solid var(--bs-border-color);
  border-radius: 11px;
  background: var(--bs-body-bg);
}
.issue-target-dropdown-list-v70 > div > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  border-radius: 9px;
  background: color-mix(in srgb, var(--group-color) 12%, var(--bs-body-bg));
  color: var(--group-color);
}
.issue-target-dropdown-list-v70 strong {
  color: var(--bs-heading-color);
  font-size: 12px;
}
.issue-scope-list-v70 > div {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 8px;
  border: 1px solid var(--bs-border-color);
  border-radius: 11px;
  background: var(--bs-tertiary-bg);
}
.issue-scope-list-v70 > div > i {
  margin-top: 2px;
  color: #635bff;
}
.issue-scope-list-v70 > div > span {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.issue-scope-list-v70 strong {
  color: var(--bs-heading-color);
  font-size: 12px;
}
.issue-scope-list-v70 small {
  color: var(--bs-secondary-color);
  font-size: 10px;
}
.issue-retarget-link-v70 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
  border-radius: 10px;
  color: #635bff;
  font-weight: 700;
}
.issue-workitem-strip-v70 {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 10px 18px;
  border-bottom: 1px solid var(--bs-border-color);
  background: var(--bs-tertiary-bg);
}
.issue-workitem-strip-v70 > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 11px;
  background: rgba(99, 91, 255, .11);
  color: #635bff;
  font-size: 18px;
}
.issue-workitem-strip-v70 > div {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.issue-workitem-strip-v70 small,
.issue-workitem-strip-v70 p {
  color: var(--bs-secondary-color);
  font-size: 11px;
}
.issue-workitem-strip-v70 strong {
  color: var(--bs-heading-color);
  font-size: 13px;
}
.issue-workitem-strip-v70 p {
  margin: 0;
}

.issue-attachments-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 8px;
}
.issue-image-thumb-v70 {
  width: 96px;
  height: 96px;
  flex: 0 0 96px;
  padding: 0;
  border: 2px solid rgba(255, 255, 255, .55);
  border-radius: 12px;
  background: #111827;
  cursor: zoom-in;
  appearance: none;
  box-shadow: 0 5px 14px rgba(18, 24, 38, .16);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.issue-image-thumb-v70:hover {
  z-index: 1;
  transform: translateY(-2px) scale(1.025);
  border-color: #635bff;
  box-shadow: 0 9px 22px rgba(18, 24, 38, .22);
}
.issue-image-thumb-v70 img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}
.issue-image-thumb-v70 > span {
  inset: auto 6px 6px auto;
  width: 26px;
  height: 26px;
  padding: 0;
  border-radius: 8px;
}
.issue-video-attachment {
  width: min(280px, 100%);
  flex: 0 1 280px;
}

.issue-image-modal-v70 .modal-content {
  position: relative;
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr) 74px;
  align-items: center;
  min-height: 100vh;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: #050607;
}
.issue-image-stage-v70 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100vh;
  padding: 55px 18px 84px;
  overflow: hidden;
}
.issue-image-stage-v70 img {
  display: block;
  max-width: calc(100vw - 190px);
  max-height: calc(100vh - 150px);
  object-fit: contain;
  transform-origin: center center;
  transition: transform .2s ease;
  user-select: none;
}
.issue-image-caption-v70 {
  position: absolute;
  right: 50%;
  bottom: 22px;
  display: flex;
  align-items: center;
  gap: 11px;
  max-width: min(720px, calc(100vw - 230px));
  transform: translateX(50%);
  padding: 8px 13px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 12px;
  background: rgba(15, 18, 23, .82);
  color: #fff;
  backdrop-filter: blur(10px);
}
.issue-image-caption-v70 strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
}
.issue-image-caption-v70 span {
  flex: 0 0 auto;
  color: rgba(255, 255, 255, .72);
  font-size: 11px;
}
.issue-image-close-v70,
.issue-image-nav-v70,
.issue-image-tools-v70 button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, .18);
  background: rgba(255, 255, 255, .1);
  color: #fff;
  backdrop-filter: blur(9px);
  transition: background .15s ease, transform .15s ease;
}
.issue-image-close-v70:hover,
.issue-image-nav-v70:hover,
.issue-image-tools-v70 button:hover {
  background: rgba(255, 255, 255, .2);
}
.issue-image-close-v70 {
  position: absolute;
  top: 18px;
  left: 18px;
  z-index: 5;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  font-size: 24px;
}
.issue-image-nav-v70 {
  position: relative;
  z-index: 3;
  width: 48px;
  height: 72px;
  margin: auto;
  border-radius: 14px;
  font-size: 27px;
}
.issue-image-nav-v70:active,
.issue-image-tools-v70 button:active {
  transform: scale(.95);
}
.issue-image-tools-v70 {
  position: absolute;
  right: 50%;
  bottom: 66px;
  z-index: 4;
  display: flex;
  gap: 8px;
  transform: translateX(50%);
}
.issue-image-tools-v70 button {
  width: 42px;
  height: 42px;
  border-radius: 11px;
  font-size: 20px;
}

@media (max-width: 991.98px) {
  .issue-detail-header-v70 {
    align-items: stretch;
  }
  .issue-detail-actions-v70 {
    width: 100%;
  }
  .issue-image-modal-v70 .modal-content {
    grid-template-columns: 54px minmax(0, 1fr) 54px;
  }
  .issue-image-stage-v70 img {
    max-width: calc(100vw - 125px);
  }
}
@media (max-width: 767.98px) {
  .issue-filter-actions-v70 {
    grid-template-columns: 1fr 1fr;
  }
  .issue-detail-actions-v70 > .dropdown,
.issue-detail-actions-v70 > .btn {
    flex: 1 1 calc(50% - 5px);
  }
  .issue-header-dropdown-v70,
.issue-detail-actions-v70 > .btn {
    width: 100%;
    justify-content: center;
  }
  .issue-workitem-strip-v70 > div {
    grid-template-columns: 1fr;
    gap: 2px;
  }
  .issue-image-thumb-v70 {
    width: 82px;
    height: 82px;
    flex-basis: 82px;
  }
  .issue-image-modal-v70 .modal-content {
    display: block;
  }
  .issue-image-stage-v70 {
    padding: 56px 10px 110px;
  }
  .issue-image-stage-v70 img {
    max-width: calc(100vw - 20px);
    max-height: calc(100vh - 175px);
  }
  .issue-image-nav-v70 {
    position: absolute;
    top: 50%;
    width: 42px;
    height: 60px;
    transform: translateY(-50%);
  }
  .issue-image-nav-v70.is-prev { right: 8px; }
  .issue-image-nav-v70.is-next { left: 8px; }
  .issue-image-caption-v70 {
    bottom: 18px;
    max-width: calc(100vw - 32px);
  }
  .issue-image-tools-v70 {
    bottom: 64px;
  }
}


/* ========================================================================== */
/* v1.5.71 - Equal-height issue center and compact collapsible filters        */
/* ========================================================================== */
@media (min-width: 768px) {
  .issue-center-shell {
    height: var(--issue-center-height-v71, 760px);
    min-height: 620px;
    max-height: 940px;
    align-items: stretch;
  }
  .issue-center-sidebar,
.issue-center-content {
    height: 100%;
    min-height: 0;
    overflow: hidden;
  }
  .issue-center-sidebar-head,
.issue-detail-header {
    min-height: 92px;
  }
  .issue-list {
    flex: 1 1 auto;
    height: auto;
    min-height: 0;
    overflow: auto;
  }
  .issue-center-content .issue-thread {
    flex: 1 1 auto;
    height: auto;
    min-height: 180px;
  }
  .issue-center-content .issue-welcome-state {
    flex: 1 1 auto;
    min-height: 0;
  }
}

.issue-filter-toggle-wrap-v71 {
  flex: 0 0 auto;
  padding: 9px 11px;
  border-bottom: 1px solid var(--bs-border-color);
  background: var(--bs-body-bg);
}
.issue-filter-toggle-v71 {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto 18px;
  align-items: center;
  gap: 9px;
  width: 100%;
  min-height: 48px;
  padding: 6px 9px;
  border: 1px solid var(--bs-border-color);
  border-radius: 13px;
  background: var(--bs-tertiary-bg);
  color: var(--bs-heading-color);
  text-align: right;
  transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}
.issue-filter-toggle-v71:hover,
.issue-filter-toggle-v71[aria-expanded="true"] {
  border-color: rgba(99, 91, 255, .42);
  background: rgba(99, 91, 255, .055);
  box-shadow: 0 7px 18px rgba(40, 48, 74, .07);
}
.issue-filter-toggle-icon-v71 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: rgba(99, 91, 255, .12);
  color: #635bff;
  font-size: 18px;
}
.issue-filter-toggle-copy-v71 {
  display: flex;
  flex-direction: column;
  min-width: 0;
  line-height: 1.35;
}
.issue-filter-toggle-copy-v71 strong {
  font-size: 13px;
  font-weight: 700;
}
.issue-filter-toggle-copy-v71 small {
  margin-top: 2px;
  color: var(--bs-secondary-color);
  font-size: 9.5px;
}
.issue-filter-active-count-v71 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 25px;
  padding: 3px 8px;
  border-radius: 999px;
  background: #635bff;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
}
.issue-filter-toggle-chevron-v71 {
  color: var(--bs-secondary-color);
  font-size: 17px;
  transition: transform .2s ease;
}
.issue-filter-toggle-v71[aria-expanded="true"] .issue-filter-toggle-chevron-v71 {
  transform: rotate(180deg);
}
.issue-filter-panel-v71 {
  flex: 0 1 auto;
  max-height: 0;
  overflow: hidden;
  padding: 0 12px;
  border-bottom: 0;
  opacity: 0;
  background: var(--bs-body-bg);
  transition: max-height .24s ease, padding .24s ease, opacity .18s ease, border-color .18s ease;
}
.issue-filter-panel-v71.is-open {
  max-height: min(430px, 52vh);
  overflow-y: auto;
  padding: 12px;
  border-bottom: 1px solid var(--bs-border-color);
  opacity: 1;
}
.issue-filter-panel-v71 .issue-filter-form-v70 {
  min-width: 0;
}

@media (max-width: 767.98px) {
  .issue-filter-toggle-wrap-v71 {
    padding: 8px;
  }
  .issue-filter-toggle-v71 {
    grid-template-columns: 36px minmax(0, 1fr) auto 18px;
  }
  .issue-filter-panel-v71.is-open {
    max-height: none;
    overflow: visible;
  }
  .issue-center-shell,
.issue-center-sidebar,
.issue-center-content {
    height: auto !important;
    max-height: none;
  }
}


/* ========================================================================== */
/* v1.5.72 - حالات البلاغ، المرفقات، والتنبيهات الواضحة                       */
/* ========================================================================== */

/* رسائل النجاح والتحذير العامة: تباين قوي ونص بارز في جميع الصفحات. */
.alert-success {
  color: #07543a !important;
  background: #d7f2e5 !important;
  border-color: #53b98a !important;
  border-inline-start: 5px solid #15754f !important;
  font-family: "Tajawal", "Segoe UI", Tahoma, Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.7;
}
.alert-warning {
  color: #674000 !important;
  background: #fff0bd !important;
  border-color: #d99b20 !important;
  border-inline-start: 5px solid #a96800 !important;
  font-family: "Tajawal", "Segoe UI", Tahoma, Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.7;
}
.alert-success > i,
.alert-warning > i {
  flex: 0 0 auto;
  font-size: 20px !important;
}
.alert-success .btn-close,
.alert-warning .btn-close {
  opacity: .78;
}
[data-bs-theme="dark"] .alert-success {
  color: #c8ffe4 !important;
  background: #123c2d !important;
  border-color: #2e9167 !important;
  border-inline-start-color: #57d59a !important;
}
[data-bs-theme="dark"] .alert-warning {
  color: #ffe6a1 !important;
  background: #45320d !important;
  border-color: #aa7616 !important;
  border-inline-start-color: #f0ad2c !important;
}

/* حالات محادثة البلاغ بألوان دلالية رسمية. */
.issue-message.is-status-message.is-resolved-message .issue-message-bubble {
  color: #07583b;
  background: #e2f7ec;
  border-color: #5bc18e;
  border-inline-start: 5px solid #178458;
}
.issue-message.is-status-message.is-resolved-message .issue-message-type {
  color: #08633f;
  background: rgba(23, 132, 88, .12);
}
.issue-message.is-status-message.is-closed-message .issue-message-bubble {
  color: #7e1624;
  background: #ffe7eb;
  border-color: #e47b89;
  border-inline-start: 5px solid #c92f43;
}
.issue-message.is-status-message.is-closed-message .issue-message-type {
  color: #a31f32;
  background: rgba(201, 47, 67, .12);
}
.issue-message.is-status-message.is-reopened-message .issue-message-bubble {
  color: #7a4200;
  background: #fff0d5;
  border-color: #e9a849;
  border-inline-start: 5px solid #d97706;
}
.issue-message.is-status-message.is-reopened-message .issue-message-type {
  color: #9a5100;
  background: rgba(217, 119, 6, .13);
}
.issue-closed-banner {
  color: #8c1628 !important;
  background: #ffe6ea !important;
  border-color: #df7180 !important;
  border-inline-start: 5px solid #c92f43 !important;
}
.issue-closed-banner i {
  color: #c92f43;
}
[data-bs-theme="dark"] .issue-message.is-status-message.is-resolved-message .issue-message-bubble {
  color: #c9ffe4;
  background: #123b2d;
  border-color: #2c8e65;
}
[data-bs-theme="dark"] .issue-message.is-status-message.is-closed-message .issue-message-bubble,
[data-bs-theme="dark"] .issue-closed-banner {
  color: #ffd1d8 !important;
  background: #481923 !important;
  border-color: #a63a4c !important;
}
[data-bs-theme="dark"] .issue-message.is-status-message.is-reopened-message .issue-message-bubble {
  color: #ffe2aa;
  background: #4a300d;
  border-color: #a96c18;
}

/* زر مرفقات الرد: زر فعلي مع عداد للملفات المختارة. */
.issue-attach-control-v72 {
  position: relative;
  width: 52px;
  height: 52px;
  align-self: end;
}
.issue-attach-control-v72 .issue-attach-button {
  width: 52px;
  height: 52px;
  padding: 0;
  border-radius: 50%;
  appearance: none;
}
.issue-attach-control-v72 .issue-attach-button:hover,
.issue-attach-control-v72 .issue-attach-button:focus-visible,
.issue-attach-control-v72 .issue-attach-button.has-files {
  color: #fff;
  border-color: #635bff;
  background: #635bff;
  outline: 0;
  box-shadow: 0 7px 18px rgba(99, 91, 255, .25);
}
.issue-attach-count-v72 {
  position: absolute;
  top: -5px;
  left: -5px;
  z-index: 2;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--bs-body-bg);
  border-radius: 999px;
  color: #fff;
  background: #dc3545;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
}
@media (max-width: 767.98px) {
  .issue-attach-control-v72,
.issue-attach-control-v72 .issue-attach-button {
    width: 46px;
    height: 46px;
  }
}

.issue-reopen-action-v72 {
  color: #fff !important;
  border-color: #d97706 !important;
  background: #d97706 !important;
  font-weight: 700 !important;
}
.issue-reopen-action-v72:hover,
.issue-reopen-action-v72:focus-visible {
  color: #fff !important;
  border-color: #b85f00 !important;
  background: #b85f00 !important;
  box-shadow: 0 7px 18px rgba(217, 119, 6, .24);
}

/* ========================================================================== */
/* v1.5.73 - Full-screen dark media viewer for issue photos and videos         */
/* ========================================================================== */
.issue-video-thumb-v73 {
  position: relative;
  width: min(280px, 100%);
  min-height: 122px;
  flex: 0 1 280px;
  padding: 0;
  overflow: hidden;
  border: 2px solid rgba(255, 255, 255, .55);
  border-radius: 12px;
  color: #fff;
  background: #050505;
  appearance: none;
  cursor: pointer;
  text-align: start;
  box-shadow: 0 5px 14px rgba(18, 24, 38, .16);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.issue-video-thumb-v73:hover,
.issue-video-thumb-v73:focus-visible {
  z-index: 1;
  transform: translateY(-2px);
  border-color: #635bff;
  outline: 0;
  box-shadow: 0 9px 22px rgba(18, 24, 38, .24);
}
.issue-video-thumb-v73 video {
  width: 100%;
  height: 154px;
  aspect-ratio: 16 / 9;
  display: block;
  object-fit: cover;
  pointer-events: none;
  background: #000;
  opacity: .82;
}
.issue-video-thumb-v73 small {
  min-height: 38px;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 10px;
  overflow: hidden;
  color: #fff;
  background: #0f1115;
  font-size: 10px;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.issue-video-play-v73 {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  width: 54px;
  height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transform: translate(-50%, -72%);
  border: 3px solid #fff;
  border-radius: 50%;
  color: #000;
  background: var(--bs-card-bg);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .45);
  font-size: 25px;
  pointer-events: none;
}

html.issue-media-modal-open-v73,
body.issue-media-modal-open-v73 {
  overflow: hidden !important;
}
.issue-media-backdrop-v73 {
  z-index: 1995 !important;
  opacity: 1 !important;
  background: #000 !important;
}
.issue-image-modal-v70.issue-media-modal-v73 {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2000 !important;
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #000 !important;
}
.issue-image-modal-v70.issue-media-modal-v73 .modal-dialog {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  max-width: none !important;
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}
.issue-image-modal-v70.issue-media-modal-v73 .modal-content {
  position: fixed !important;
  inset: 0 !important;
  display: block !important;
  width: 100vw !important;
  max-width: none !important;
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  color: #fff !important;
  background: #000 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.issue-image-modal-v70.issue-media-modal-v73 .issue-media-stage-v73 {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  padding: 72px 92px 78px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #000;
  touch-action: pan-y;
}
.issue-image-modal-v70.issue-media-modal-v73 .issue-media-stage-v73 > img,
.issue-image-modal-v70.issue-media-modal-v73 .issue-modal-video-v73 {
  width: auto;
  height: auto;
  max-width: calc(100vw - 184px) !important;
  max-height: calc(100vh - 150px) !important;
  max-height: calc(100dvh - 150px) !important;
  display: block;
  object-fit: contain;
  border: 0;
  border-radius: 0;
  outline: 0;
  background: #000;
  box-shadow: none;
}
.issue-image-modal-v70.issue-media-modal-v73 .issue-modal-video-v73 {
  min-width: min(820px, calc(100vw - 184px));
}
.issue-image-modal-v70.issue-media-modal-v73 [hidden] {
  display: none !important;
}

.issue-image-modal-v70.issue-media-modal-v73 .issue-image-close-v70,
.issue-image-modal-v70.issue-media-modal-v73 .issue-image-nav-v70,
.issue-image-modal-v70.issue-media-modal-v73 .issue-image-tools-v70 button {
  opacity: 1 !important;
  border-radius: 0 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.issue-image-modal-v70.issue-media-modal-v73 .issue-image-close-v70 {
  position: fixed;
  top: 18px;
  left: 18px;
  z-index: 2010;
  width: 50px;
  height: 50px;
  color: #fff !important;
  background: #d92d3a !important;
  border: 2px solid #ff7b86 !important;
  box-shadow: 0 8px 28px rgba(217, 45, 58, .45) !important;
  font-size: 29px;
}
.issue-image-modal-v70.issue-media-modal-v73 .issue-image-close-v70:hover,
.issue-image-modal-v70.issue-media-modal-v73 .issue-image-close-v70:focus-visible {
  color: #fff !important;
  background: #f04452 !important;
  border-color: #fff !important;
  outline: 3px solid rgba(255, 255, 255, .28);
  outline-offset: 2px;
}
.issue-image-modal-v70.issue-media-modal-v73 .issue-image-nav-v70 {
  position: fixed;
  top: 50%;
  z-index: 2009;
  width: 62px;
  height: 86px;
  margin: 0;
  transform: translateY(-50%);
  color: #050505 !important;
  background: var(--bs-card-bg) !important;
  border: 3px solid #fff !important;
  box-shadow: 0 10px 34px rgba(0, 0, 0, .58) !important;
  font-size: 36px;
}
.issue-image-modal-v70.issue-media-modal-v73 .issue-image-nav-v70.is-prev {
  right: 18px;
}
.issue-image-modal-v70.issue-media-modal-v73 .issue-image-nav-v70.is-next {
  left: 18px;
}
.issue-image-modal-v70.issue-media-modal-v73 .issue-image-nav-v70:hover,
.issue-image-modal-v70.issue-media-modal-v73 .issue-image-nav-v70:focus-visible {
  color: #fff !important;
  background: #635bff !important;
  border-color: #a9a5ff !important;
  outline: 3px solid rgba(255, 255, 255, .3);
  outline-offset: 2px;
}
.issue-image-modal-v70.issue-media-modal-v73 .issue-image-nav-v70:active {
  transform: translateY(-50%) scale(.95);
}
.issue-image-modal-v70.issue-media-modal-v73 .issue-image-caption-v70 {
  position: fixed;
  top: 18px;
  right: 50%;
  bottom: auto;
  z-index: 2008;
  max-width: min(760px, calc(100vw - 180px));
  min-height: 50px;
  padding: 9px 14px;
  transform: translateX(50%);
  color: #fff;
  background: rgba(20, 20, 20, .96);
  border: 1px solid #555;
  border-radius: 0;
  box-shadow: 0 7px 24px rgba(0, 0, 0, .42);
  backdrop-filter: none;
}
.issue-image-modal-v70.issue-media-modal-v73 .issue-image-caption-v70 strong {
  font-size: 13px;
  font-weight: 700;
}
.issue-image-modal-v70.issue-media-modal-v73 .issue-image-caption-v70 > span:last-child {
  color: #fff;
  font-size: 12px;
  font-weight: 700;
}
.issue-media-kind-v73 {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding-inline-end: 10px;
  color: #fff !important;
  border-inline-end: 1px solid #666;
  font-size: 12px !important;
  font-weight: 700;
}
.issue-image-modal-v70.issue-media-modal-v73 .issue-image-tools-v70 {
  position: fixed;
  right: 50%;
  bottom: 18px;
  z-index: 2008;
  gap: 8px;
  transform: translateX(50%);
}
.issue-image-modal-v70.issue-media-modal-v73 .issue-image-tools-v70 button {
  width: 50px;
  height: 50px;
  color: #050505 !important;
  background: var(--bs-card-bg) !important;
  border: 2px solid #fff !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .5) !important;
  font-size: 23px;
}
.issue-image-modal-v70.issue-media-modal-v73 .issue-image-tools-v70 button:hover,
.issue-image-modal-v70.issue-media-modal-v73 .issue-image-tools-v70 button:focus-visible {
  color: #fff !important;
  background: #635bff !important;
  border-color: #a9a5ff !important;
  outline: 3px solid rgba(255, 255, 255, .28);
  outline-offset: 2px;
}

@media (max-width: 767.98px) {
  .issue-video-thumb-v73 {
    width: 100%;
    flex-basis: 100%;
  }
  .issue-image-modal-v70.issue-media-modal-v73 .issue-media-stage-v73 {
    padding: 78px 54px 68px;
  }
  .issue-image-modal-v70.issue-media-modal-v73 .issue-media-stage-v73 > img,
.issue-image-modal-v70.issue-media-modal-v73 .issue-modal-video-v73 {
    max-width: calc(100vw - 108px) !important;
    max-height: calc(100vh - 148px) !important;
    max-height: calc(100dvh - 148px) !important;
  }
  .issue-image-modal-v70.issue-media-modal-v73 .issue-modal-video-v73 {
    min-width: 0;
    width: calc(100vw - 108px);
  }
  .issue-image-modal-v70.issue-media-modal-v73 .issue-image-close-v70 {
    top: 12px;
    left: 12px;
    width: 46px;
    height: 46px;
  }
  .issue-image-modal-v70.issue-media-modal-v73 .issue-image-nav-v70 {
    width: 46px;
    height: 68px;
    font-size: 29px;
  }
  .issue-image-modal-v70.issue-media-modal-v73 .issue-image-nav-v70.is-prev {
    right: 4px;
  }
  .issue-image-modal-v70.issue-media-modal-v73 .issue-image-nav-v70.is-next {
    left: 4px;
  }
  .issue-image-modal-v70.issue-media-modal-v73 .issue-image-caption-v70 {
    top: 12px;
    max-width: calc(100vw - 132px);
    min-height: 46px;
    padding: 8px 10px;
  }
  .issue-image-modal-v70.issue-media-modal-v73 .issue-image-caption-v70 strong {
    font-size: 11px;
  }
  .issue-media-kind-v73 span {
    display: none;
  }
  .issue-image-modal-v70.issue-media-modal-v73 .issue-image-tools-v70 {
    bottom: 10px;
  }
  .issue-image-modal-v70.issue-media-modal-v73 .issue-image-tools-v70 button {
    width: 46px;
    height: 46px;
  }
}

@media (max-width: 430px) {
  .issue-image-modal-v70.issue-media-modal-v73 .issue-media-stage-v73 {
    padding-inline: 43px;
  }
  .issue-image-modal-v70.issue-media-modal-v73 .issue-media-stage-v73 > img,
.issue-image-modal-v70.issue-media-modal-v73 .issue-modal-video-v73 {
    max-width: calc(100vw - 86px) !important;
  }
  .issue-image-modal-v70.issue-media-modal-v73 .issue-modal-video-v73 {
    width: calc(100vw - 86px);
  }
}

/* ========================================================================== */
/* v1.5.74 - Correct RTL input-group corner direction across the whole system */
/* ========================================================================== */

/*
 * In RTL layouts the first element of an input group is displayed physically
 * on the right. Give it the right rounded corners, keep middle controls square,
 * and give the final element the left rounded corners. This covers inputs,
 * selects, icon addons, buttons and mixed groups everywhere in the project.
 */
html[dir="rtl"] .input-group {
  --sonic-input-group-radius: 11px;
  direction: rtl;
}

html[dir="rtl"] .input-group.input-group-sm {
  --sonic-input-group-radius: 9px;
}

html[dir="rtl"] .input-group.input-group-lg {
  --sonic-input-group-radius: 14px;
}

html[dir="rtl"] .input-group > :first-child:not(:last-child) {
  border-radius: 0 var(--sonic-input-group-radius) var(--sonic-input-group-radius) 0 !important;
}

html[dir="rtl"] .input-group > :not(:first-child):not(:last-child) {
  border-radius: 0 !important;
}

html[dir="rtl"] .input-group > :last-child:not(:first-child) {
  border-radius: var(--sonic-input-group-radius) 0 0 var(--sonic-input-group-radius) !important;
}

/* Select2 creates a visual container after the original select element. */
html[dir="rtl"] .input-group > .select2-container:last-child .select2-selection,
html[dir="rtl"] .input-group > .select2-container:last-child .select2-selection--single,
html[dir="rtl"] .input-group > .select2-container:last-child .select2-selection--multiple {
  border-radius: var(--sonic-input-group-radius) 0 0 var(--sonic-input-group-radius) !important;
}

/* Form-floating keeps its visible control inside a wrapper, so fix that too. */
html[dir="rtl"] .input-group > .form-floating:first-child:not(:last-child) > .form-control,
html[dir="rtl"] .input-group > .form-floating:first-child:not(:last-child) > .form-select {
  border-radius: 0 var(--sonic-input-group-radius) var(--sonic-input-group-radius) 0 !important;
}

html[dir="rtl"] .input-group > .form-floating:not(:first-child):not(:last-child) > .form-control,
html[dir="rtl"] .input-group > .form-floating:not(:first-child):not(:last-child) > .form-select {
  border-radius: 0 !important;
}

html[dir="rtl"] .input-group > .form-floating:last-child:not(:first-child) > .form-control,
html[dir="rtl"] .input-group > .form-floating:last-child:not(:first-child) > .form-select {
  border-radius: var(--sonic-input-group-radius) 0 0 var(--sonic-input-group-radius) !important;
}

/* Keep the adjoining borders visually merged without changing field order. */
html[dir="rtl"] .input-group > :not(:first-child) {
  margin-right: -1px !important;
  margin-left: 0 !important;
}

/* ========================================================================== */
/* v1.6.0 - Fullscreen workflow attachment viewer                            */
/* ========================================================================== */
html.sonic-media-open,
html.sonic-media-open body { overflow: hidden !important; }
.sonic-workflow-viewer {
  position: fixed;
  inset: 0;
  z-index: 20050;
  display: none;
  background: #000;
  color: #fff;
  border: 0;
  border-radius: 0 !important;
}
.sonic-workflow-viewer.is-open { display: flex; align-items: stretch; justify-content: stretch; }
.sonic-workflow-viewer-bar {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 4;
  min-height: 64px;
  padding: 10px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: linear-gradient(180deg, rgba(0,0,0,.95), rgba(0,0,0,.25));
}
.sonic-workflow-viewer-title { font-weight: 800; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sonic-workflow-viewer-actions { display: flex; align-items: center; gap: 12px; }
.sonic-workflow-viewer-counter { padding: 6px 11px; background: rgba(255,255,255,.14); font-weight: 800; }
.sonic-workflow-viewer-close,
.sonic-workflow-viewer-nav {
  border: 2px solid rgba(255,255,255,.85);
  background: rgba(0,0,0,.72);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 28px rgba(0,0,0,.45);
  border-radius: 0 !important;
}
.sonic-workflow-viewer-close { width: 46px; height: 46px; background: #c62828; font-size: 25px; }
.sonic-workflow-viewer-nav {
  position: absolute;
  top: 50%;
  z-index: 5;
  width: 58px;
  height: 78px;
  transform: translateY(-50%);
  font-size: 34px;
}
.sonic-workflow-viewer-nav.is-prev { right: 16px; }
.sonic-workflow-viewer-nav.is-next { left: 16px; }
.sonic-workflow-viewer-close:hover,
.sonic-workflow-viewer-nav:hover { background: #635bff; border-color: #fff; color: #fff; }
.sonic-workflow-viewer-stage {
  width: 100vw;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 76px 92px 24px;
  background: #000;
  border-radius: 0 !important;
}
.sonic-workflow-viewer-media {
  display: block;
  max-width: 100%;
  max-height: 100%;
  border: 0;
  border-radius: 0 !important;
  background: #000;
  box-shadow: none;
}
.sonic-workflow-viewer-media.is-image { object-fit: contain; }
.sonic-workflow-viewer-media.is-video { width: min(1280px, 100%); height: auto; }
.sonic-workflow-viewer-media.is-pdf { width: 100%; height: 100%; background: #fff; }
@media (max-width: 576px) {
  .sonic-workflow-viewer-stage { padding: 70px 48px 16px; }
  .sonic-workflow-viewer-nav { width: 42px; height: 62px; font-size: 27px; }
  .sonic-workflow-viewer-nav.is-prev { right: 3px; }
  .sonic-workflow-viewer-nav.is-next { left: 3px; }
  .sonic-workflow-viewer-title { max-width: 50vw; }
}

/* ========================================================================== */
/* v1.6.4 - Technical measurements visual redesign                            */
/* ========================================================================== */
.tm-page { --tm-primary:#635bff; --tm-primary-dark:#3d39b3; --tm-bg:#f5f7ff; }
.tm-page .tm-section-title { display:flex; align-items:center; gap:.45rem; font-weight:800; color:#243051; }
.tm-page .tm-hero-card { border-radius: 24px; background: var(--bs-card-bg); }
.tm-page .tm-hero-band {
  position: relative;
  overflow: hidden;
  min-height: 172px;
  padding: 28px 28px 24px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:28px;
  direction:rtl;
  color:#fff;
  background: linear-gradient(90deg, #635bff 0%, #4d47da 48%, #443da7 100%);
}
.tm-page .tm-hero-band::before,
.tm-page .tm-hero-band::after {
  content:"";
  position:absolute;
  border-radius:50%;
  background:rgba(255,255,255,.10);
}
.tm-page .tm-hero-band::before { width: 240px; height:240px; right: 18%; top:-120px; }
.tm-page .tm-hero-band::after { width: 170px; height:170px; left: 6%; bottom:-80px; }
.tm-page .tm-hero-heading,
.tm-page .tm-hero-copy,
.tm-page .tm-hero-badge,
.tm-page .tm-hero-icon { position:relative; z-index:1; }
.tm-page .tm-hero-heading {
  flex:1 1 auto; min-width:0; display:flex; align-items:flex-start; justify-content:flex-start; gap:18px;
}
.tm-page .tm-hero-copy { flex:1 1 auto; min-width:0; text-align:right; }
.tm-page .tm-hero-badge {
  display:inline-flex; align-items:center; gap:.55rem; white-space:nowrap;
  padding:12px 18px; border-radius:22px; font-weight:800; align-self:flex-start;
  border:1px solid rgba(255,255,255,.25); background: rgba(255,255,255,.14);
}
.tm-page .tm-hero-badge.is-clear { background: rgba(255,255,255,.18); }
.tm-page .tm-hero-kicker { display:block; margin-bottom:.35rem; font-size:.86rem; opacity:.9; font-weight:700; }
.tm-page .tm-hero-title { margin:0; color:#fff !important; font-weight:900; font-size:2rem; line-height:1.2; text-align:right; }
.tm-page .tm-hero-text { margin:.6rem 0 0; max-width:900px; color:rgba(255,255,255,.9); font-size:.97rem; }
.tm-page .tm-hero-icon {
  width:74px; height:74px; border-radius:22px; display:flex; align-items:center; justify-content:center;
  font-size:2rem; border:1px solid rgba(255,255,255,.24); background: rgba(255,255,255,.14); box-shadow: inset 0 0 0 1px rgba(255,255,255,.05);
}
.tm-page .tm-hero-footer {
  display:grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap:14px;
  padding:18px 22px 22px; background: var(--bs-card-bg);
}
.tm-page .tm-stat-card {
  background:#f7f8ff; border:1px solid #e6e9ff; border-radius:18px; padding:16px 18px; text-align:center;
}
.tm-page .tm-stat-card small { display:block; color:#7d86a4; font-weight:700; margin-bottom:.2rem; }
.tm-page .tm-stat-card strong { display:block; color:#1f2a44; font-size:1.9rem; line-height:1; font-weight:900; }
.tm-page .tm-stat-card span { display:block; color:#8d94ac; font-size:.82rem; margin-top:.25rem; }
.tm-page .tm-stat-card.is-muted { background:#fbfbfd; }
.tm-page .tm-filter-card { border-radius:20px; }
.tm-page .tm-status-tabs { display:flex; flex-wrap:wrap; gap:0; border:1px solid #cfcdf8; border-radius:14px; overflow:hidden; }
.tm-page .tm-status-tab {
  padding:12px 18px; font-weight:800; color:var(--tm-primary); background: var(--bs-card-bg); text-decoration:none; border-left:1px solid #d9d7ff;
}
.tm-page .tm-status-tab:last-child { border-left:0; }
.tm-page .tm-status-tab.is-active { background:var(--tm-primary); color:#fff; }
.tm-page .tm-empty { border-radius:22px; }
.tm-page .tm-empty .card-body { min-height:250px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; background: var(--bs-card-bg); }
.tm-page .tm-empty-icon {
  width:74px; height:74px; border-radius:22px; display:flex; align-items:center; justify-content:center;
  background:#f2f7f4; color:#198754; font-size:2rem; margin-bottom:1rem;
}
.tm-page .tm-empty h3 { font-weight:900; color:#243051; margin-bottom:.6rem; }
.tm-page .tm-empty p { max-width:750px; color:#8a90a6; margin-bottom:1rem; }
.tm-page .tm-empty-actions { display:flex; flex-wrap:wrap; gap:.75rem; justify-content:center; }
.tm-page .tm-request-card { border-radius:22px; overflow:hidden; }
.tm-page .tm-request-head {
  display:flex; justify-content:space-between; gap:16px; align-items:flex-start;
  padding:18px 20px; background:linear-gradient(180deg, #fbfcff 0%, #f4f6ff 100%); border-bottom:1px solid #edf0ff;
}
.tm-page .tm-request-title-row { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; margin-bottom:.4rem; }
.tm-page .tm-request-id { padding:6px 11px; background:#eef0ff; color:var(--tm-primary); border-radius:999px; font-weight:800; font-size:.82rem; }
.tm-page .tm-request-title-row h3 { margin:0; font-size:1.2rem; font-weight:900; color:#243051; }
.tm-page .tm-request-location { color:#7e88a7; font-size:.92rem; }
.tm-page .tm-request-side { display:flex; flex-wrap:wrap; gap:.6rem; justify-content:flex-end; }
.tm-page .tm-avatar-block {
  display:inline-flex; align-items:center; gap:.45rem; padding:10px 14px; border-radius:16px; background:#635bff; color:#fff; font-weight:800;
}
.tm-page .tm-avatar-block.is-light { background:#eef1ff; color:#44506b; }
.tm-page .tm-kpi-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:1rem; }
.tm-page .tm-kpi {
  background:#fafbff; border:1px solid #edf0ff; border-radius:18px; padding:14px 16px;
}
.tm-page .tm-kpi small { display:block; color:#8b94ad; font-weight:700; margin-bottom:.25rem; }
.tm-page .tm-kpi strong { display:block; font-size:1.14rem; color:#26304a; }
.tm-page .tm-kpi span { display:block; color:#9aa2b9; font-size:.8rem; margin-top:.2rem; }
.tm-page .tm-note-box { border:1px solid #ece4ad; background:#fff8d8; color:#8d6a00; border-radius:18px; padding:14px 16px; margin-bottom:1rem; }
.tm-page .tm-note-title { font-weight:900; display:flex; align-items:center; gap:.45rem; margin-bottom:.35rem; }
.tm-page .tm-note-box p { margin:0; color:#6d5c14; }
.tm-page .tm-attachments { display:flex; flex-wrap:wrap; gap:.65rem; }
.tm-page .tm-attachment-chip {
  border:1px solid #dfe4ff; background: var(--bs-card-bg); color:#495673; border-radius:999px;
  padding:9px 14px; display:inline-flex; align-items:center; gap:.45rem; font-weight:700;
}
.tm-page .tm-attachment-chip:hover { background:#f5f7ff; color:#292f5e; }
.tm-page .tm-review-form {
  background:#fbfcff; border:1px solid #edf0ff; border-radius:20px; padding:16px;
}
.tm-page .tm-form-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; align-items:end; }
.tm-page .tm-form-group { grid-column:span 1; min-width:0; display:flex; flex-direction:column; }
.tm-page .tm-form-group.tm-form-span-2 { grid-column:span 2; }
.tm-page .tm-review-form .form-label { min-height:22px; margin-bottom:7px; font-weight:800; color:#49546f; }
.tm-page .tm-review-form .form-control,
.tm-page .tm-review-form .form-select,
.tm-page .tm-review-form .input-group-text,
.tm-page .tm-return-box .form-control {
  height:46px; min-height:46px; background: var(--bs-card-bg); border-color:#dfe4ff;
}
.tm-page .tm-review-form .input-group { height:46px; }
.tm-page .tm-review-form .input-group > .form-control,
.tm-page .tm-review-form .input-group > .input-group-text { height:46px; }
.tm-page .tm-review-form input[type="file"].form-control { padding-top:9px; padding-bottom:9px; }
.tm-page .tm-request-footer {
  padding:14px 18px; border-top:1px solid #edf0ff; background:#fbfcff;
}
.tm-page .tm-footer-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-start; gap:.75rem; }
.tm-page .tm-footer-actions .btn { min-height:42px; display:inline-flex; align-items:center; justify-content:center; }
.tm-page .tm-footer-form { display:inline-flex; margin:0; }
.tm-page .tm-return-box {
  margin-top:14px; padding:14px 16px; border-radius:16px; border:1px dashed #d9deff; background: var(--bs-card-bg);
}
.tm-page .tm-return-form { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:12px; }
.tm-page .tm-return-field { min-width:0; }
.tm-page .tm-return-form .form-label { margin-bottom:7px; font-weight:800; color:#49546f; }
.tm-page .tm-result-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.tm-page .tm-result-card { border-radius:18px; padding:16px; border:1px solid transparent; }
.tm-page .tm-result-card small { display:block; font-weight:800; margin-bottom:.25rem; }
.tm-page .tm-result-card strong { display:block; font-size:1.2rem; font-weight:900; }
.tm-page .tm-result-card.is-neutral { background:#f5f7fb; color:#364156; }
.tm-page .tm-result-card.is-success { background:#e9f8ef; color:#167447; }
.tm-page .tm-result-card.is-danger { background:#fff0f0; color:#c03e3e; }
.tm-page .tm-result-card.is-primary { background:#eef0ff; color:#4a45d1; }
@media (max-width: 1199.98px) {
  .tm-page .tm-hero-footer,
.tm-page .tm-kpi-grid,
.tm-page .tm-result-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tm-page .tm-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tm-page .tm-form-group { grid-column:span 1; }
  .tm-page .tm-form-group.tm-form-span-2 { grid-column:span 2; }
}
@media (max-width: 767.98px) {
  .tm-page .tm-hero-band,
.tm-page .tm-request-head { flex-direction:column; }
  .tm-page .tm-hero-heading { width:100%; }
  .tm-page .tm-hero-badge { align-self:flex-start; }
  .tm-page .tm-hero-footer,
.tm-page .tm-kpi-grid,
.tm-page .tm-result-grid,
.tm-page .tm-form-grid { grid-template-columns:1fr; }
  .tm-page .tm-request-side { justify-content:flex-start; }
  .tm-page .tm-form-group,
.tm-page .tm-form-group.tm-form-span-2 { grid-column:span 1; }
  .tm-page .tm-return-form { grid-template-columns:1fr; }
  .tm-page .tm-return-form .btn { width:100%; }
  .tm-page .tm-status-tabs { width:100%; }
  .tm-page .tm-status-tab { flex:1 1 45%; text-align:center; }
}

/* ========================================================================== */
/* v1.6.5 - Work defects visual redesign                                      */
/* ========================================================================== */
.wd-page { --wd-primary:#635bff; --wd-primary-dark:#443da7; --wd-danger:#d94b64; --wd-warning:#f2aa32; }
.wd-page .wd-section-title { display:flex; align-items:center; gap:.45rem; font-weight:900; color:#25314f; }
.wd-page .wd-hero-card { border-radius:24px; background: var(--bs-card-bg); }
.wd-page .wd-hero-band {
  position:relative; overflow:hidden; min-height:172px; padding:28px;
  display:flex; align-items:center; justify-content:space-between; gap:18px;
  color:#fff; background:linear-gradient(90deg,#665cff 0%,#5148dc 46%,#433ca4 100%);
}
.wd-page .wd-hero-band::before,
.wd-page .wd-hero-band::after { content:""; position:absolute; border-radius:50%; background:rgba(255,255,255,.10); }
.wd-page .wd-hero-band::before { width:250px; height:250px; right:20%; top:-130px; }
.wd-page .wd-hero-band::after { width:180px; height:180px; left:7%; bottom:-95px; }
.wd-page .wd-hero-copy,
.wd-page .wd-hero-badge,
.wd-page .wd-hero-icon { position:relative; z-index:1; }
.wd-page .wd-hero-badge {
  display:inline-flex; align-items:center; gap:.55rem; padding:12px 18px; border-radius:22px;
  border:1px solid rgba(255,255,255,.25); background:rgba(255,255,255,.14); font-weight:900; white-space:nowrap; align-self:flex-start;
}
.wd-page .wd-hero-badge.is-alert { background:rgba(255,214,115,.17); }
.wd-page .wd-hero-kicker { display:block; margin-bottom:.35rem; font-size:.86rem; font-weight:700; opacity:.9; }
.wd-page .wd-hero-title { margin:0; font-size:2rem; line-height:1.2; font-weight:900; }
.wd-page .wd-hero-text { margin:.6rem 0 0; max-width:920px; color:rgba(255,255,255,.9); font-size:.97rem; }
.wd-page .wd-hero-icon {
  width:74px; height:74px; border-radius:22px; display:flex; align-items:center; justify-content:center;
  border:1px solid rgba(255,255,255,.25); background:rgba(255,255,255,.14); font-size:2rem;
}
.wd-page .wd-hero-footer { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; padding:18px 22px 22px; }
.wd-page .wd-stat-card { border-radius:18px; padding:16px 18px; text-align:center; border:1px solid #e7eaff; background:#f8f9ff; }
.wd-page .wd-stat-card small { display:block; font-weight:800; color:#7f88a5; margin-bottom:.2rem; }
.wd-page .wd-stat-card strong { display:block; font-size:1.9rem; line-height:1; font-weight:900; color:#26304b; }
.wd-page .wd-stat-card span { display:block; margin-top:.3rem; color:#959db5; font-size:.82rem; }
.wd-page .wd-stat-card.is-danger { background:#fff4f6; border-color:#ffd7de; }
.wd-page .wd-stat-card.is-danger strong { color:#cf4861; }
.wd-page .wd-stat-card.is-warning { background:#fff9eb; border-color:#ffe4a5; }
.wd-page .wd-stat-card.is-warning strong { color:#c7830e; }
.wd-page .wd-stat-card.is-primary { background:#f1f0ff; border-color:#dcd9ff; }
.wd-page .wd-stat-card.is-primary strong { color:#544bd7; }
.wd-page .wd-stat-card.is-success { background:#effbf4; border-color:#c8eed8; }
.wd-page .wd-stat-card.is-success strong { color:#198754; }
.wd-page .wd-filter-card { border-radius:20px; }
.wd-page .wd-status-tabs { display:flex; flex-wrap:wrap; border:1px solid #d4d1ff; border-radius:14px; overflow:hidden; }
.wd-page .wd-status-tab { padding:12px 18px; font-weight:900; color:var(--wd-primary); background: var(--bs-card-bg); text-decoration:none; border-left:1px solid #dddafe; }
.wd-page .wd-status-tab:last-child { border-left:0; }
.wd-page .wd-status-tab.is-active { background:var(--wd-primary); color:#fff; }
.wd-page .wd-recheck-panel { border-radius:22px; overflow:hidden; }
.wd-page .wd-recheck-head {
  padding:18px 22px; display:flex; align-items:center; justify-content:space-between; gap:1rem;
  background:linear-gradient(90deg,#fff7d9 0%,#fff0bb 100%); border-bottom:1px solid #ffe8a0;
}
.wd-page .wd-recheck-kicker { display:block; font-size:.82rem; font-weight:800; color:#997013; margin-bottom:.2rem; }
.wd-page .wd-recheck-head h3 { margin:0; display:flex; align-items:center; gap:.5rem; font-size:1.15rem; font-weight:900; color:#6d5108; }
.wd-page .wd-count-badge { min-width:40px; height:40px; padding:0 12px; border-radius:14px; display:flex; align-items:center; justify-content:center; background:#f3ad26; color:#fff; font-weight:900; }
.wd-page .wd-recheck-list { display:grid; gap:14px; }
.wd-page .wd-recheck-card {
  display:grid; grid-template-columns:260px minmax(0,1fr); gap:18px; padding:16px;
  border:1px solid #ecefff; border-radius:20px; background:#fbfcff;
}
.wd-page .wd-recheck-info h4 { margin:.55rem 0 .25rem; font-size:1.05rem; font-weight:900; color:#26314e; }
.wd-page .wd-recheck-info p { margin:0; color:#858da8; font-size:.9rem; }
.wd-page .wd-submitted-qty { margin-top:.8rem; padding:10px 12px; border-radius:14px; background:#fff8df; border:1px solid #ffe6a1; }
.wd-page .wd-submitted-qty small { display:block; color:#9a761a; font-weight:800; }
.wd-page .wd-submitted-qty strong { color:#6f5208; }
.wd-page .wd-recheck-form-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; align-items:end; }
.wd-page .wd-recheck-submit { display:flex; align-items:end; }
.wd-page .wd-defect-card { border-radius:22px; overflow:hidden; }
.wd-page .wd-defect-card.is-open { border-top:4px solid #efb231 !important; }
.wd-page .wd-defect-card.is-escalated { border-top:4px solid #d94b64 !important; }
.wd-page .wd-defect-card.is-closed { border-top:4px solid #23a269 !important; }
.wd-page .wd-defect-head {
  display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:18px 20px;
  background:linear-gradient(180deg,#fbfcff 0%,#f4f6ff 100%); border-bottom:1px solid #edf0ff;
}
.wd-page .wd-defect-title-row { display:flex; flex-wrap:wrap; align-items:center; gap:.7rem; margin-bottom:.35rem; }
.wd-page .wd-defect-title-row h3 { margin:0; font-size:1.2rem; font-weight:900; color:#25314e; }
.wd-page .wd-defect-number { display:inline-flex; align-items:center; padding:6px 11px; border-radius:999px; background:#eef0ff; color:#5b52dc; font-weight:900; font-size:.82rem; }
.wd-page .wd-defect-location { color:#7f89a6; font-size:.92rem; }
.wd-page .wd-contractor-chip { display:inline-flex; align-items:center; gap:.45rem; padding:10px 14px; border-radius:16px; background:#635bff; color:#fff; font-weight:900; }
.wd-page .wd-kpi-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:1rem; }
.wd-page .wd-kpi { padding:14px 16px; border-radius:18px; background:#fafbff; border:1px solid #edf0ff; }
.wd-page .wd-kpi small { display:block; color:#8992ac; font-weight:800; margin-bottom:.25rem; }
.wd-page .wd-kpi strong { display:block; color:#26314d; font-size:1.2rem; font-weight:900; }
.wd-page .wd-kpi span { display:block; margin-top:.2rem; color:#9aa2b7; font-size:.8rem; }
.wd-page .wd-kpi.is-danger { background:#fff4f6; border-color:#ffd7df; }
.wd-page .wd-kpi.is-danger strong { color:#cc4860; }
.wd-page .wd-kpi.is-warning { background:#fff9eb; border-color:#ffe5ac; }
.wd-page .wd-kpi.is-warning strong { color:#b97a10; }
.wd-page .wd-kpi.is-success { background:#effbf4; border-color:#ccefdc; }
.wd-page .wd-kpi.is-success strong { color:#198754; }
.wd-page .wd-reason-box { padding:15px 17px; margin-bottom:1rem; border-radius:18px; background:#fff4f5; border:1px solid #ffd9de; color:#8d3341; }
.wd-page .wd-reason-title { display:flex; align-items:center; gap:.45rem; font-weight:900; margin-bottom:.35rem; }
.wd-page .wd-reason-box p { margin:0; color:#73303b; }
.wd-page .wd-escalation-note { margin-top:.75rem; padding-top:.75rem; border-top:1px dashed #e5a8b2; color:#a1273a; }
.wd-page .wd-attachments { display:flex; flex-wrap:wrap; gap:.65rem; }
.wd-page .wd-attachment-chip { border:1px solid #dfe4ff; background: var(--bs-card-bg); color:#495673; border-radius:999px; padding:9px 14px; display:inline-flex; align-items:center; gap:.45rem; font-weight:800; }
.wd-page .wd-attachment-chip:hover { background:#f5f7ff; color:#2f355f; }
.wd-page .wd-correction-form { margin-top:1rem; padding:16px; border-radius:20px; background:#fbfcff; border:1px solid #edf0ff; }
.wd-page .wd-correction-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:14px; align-items:end; }
.wd-page .wd-span-2 { grid-column:span 2; }
.wd-page .wd-correction-submit { display:flex; align-items:end; }
.wd-page .wd-correction-form .form-label,
.wd-page .wd-recheck-card .form-label { font-weight:900; color:#4d5872; }
.wd-page .wd-correction-form .form-control,
.wd-page .wd-recheck-card .form-control,
.wd-page .wd-escalation-form .form-control { background: var(--bs-card-bg); border-color:#dfe4ff; }
.wd-page .wd-escalation-box { margin-top:1rem; padding-top:1rem; border-top:1px solid #eef0f7; }
.wd-page .wd-escalation-form { margin-top:.8rem; padding:14px 16px; border-radius:18px; background:#fff4f5; border:1px dashed #efb4bd; }
.wd-page .wd-empty { border-radius:22px; }
.wd-page .wd-empty .card-body { min-height:250px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.wd-page .wd-empty-icon { width:74px; height:74px; border-radius:22px; display:flex; align-items:center; justify-content:center; background:#effaf4; color:#198754; font-size:2rem; margin-bottom:1rem; }
.wd-page .wd-empty h3 { margin-bottom:.6rem; color:#25314f; font-weight:900; }
.wd-page .wd-empty p { max-width:760px; color:#8b92a8; margin-bottom:1rem; }
.wd-page .wd-empty-actions { display:flex; flex-wrap:wrap; gap:.75rem; justify-content:center; }
@media (max-width:1199.98px) {
  .wd-page .wd-hero-footer,
.wd-page .wd-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .wd-page .wd-recheck-card { grid-template-columns:1fr; }
  .wd-page .wd-recheck-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .wd-page .wd-correction-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .wd-page .wd-span-2 { grid-column:span 1; }
}
@media (max-width:767.98px) {
  .wd-page .wd-hero-band,
.wd-page .wd-defect-head { flex-direction:column; }
  .wd-page .wd-hero-footer,
.wd-page .wd-kpi-grid,
.wd-page .wd-recheck-form-grid,
.wd-page .wd-correction-grid { grid-template-columns:1fr; }
  .wd-page .wd-status-tabs { width:100%; }
  .wd-page .wd-status-tab { flex:1 1 45%; text-align:center; }
}

/* ========================================================================== */
/* v1.6.6 - Location types form redesign                                      */
/* ========================================================================== */
.location-types-page .location-type-editor,
.location-types-page .location-types-list-card {
  border-radius: 22px;
  overflow: hidden;
}

.location-type-editor-head {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px 28px;
  color: #fff;
  background: linear-gradient(100deg, #635bff 0%, #4b46d5 52%, #37328f 100%);
}

.location-type-editor-head::before,
.location-type-editor-head::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  background: rgba(255,255,255,.09);
}

.location-type-editor-head::before {
  width: 190px;
  height: 190px;
  inset-inline-start: 8%;
  top: -118px;
}

.location-type-editor-head::after {
  width: 130px;
  height: 130px;
  inset-inline-end: 28%;
  bottom: -92px;
}

.location-type-editor-head > * {
  position: relative;
  z-index: 1;
}

.location-type-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  margin-bottom: .45rem;
  font-size: .82rem;
  font-weight: 800;
  color: rgba(255,255,255,.82);
}

.location-type-editor-head h4 {
  margin: 0 0 .35rem;
  color: #fff;
  font-size: 1.55rem;
  font-weight: 900;
}

.location-type-editor-head p {
  margin: 0;
  color: rgba(255,255,255,.82);
  max-width: 780px;
}

.location-type-editor-badge {
  min-width: 190px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  padding: 12px 16px;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 16px;
  background: rgba(255,255,255,.13);
  font-weight: 800;
  white-space: nowrap;
}

.location-type-fields {
  display: grid;
  grid-template-columns:
    minmax(260px, 1.55fr)
    minmax(170px, .82fr)
    minmax(190px, .92fr)
    minmax(180px, .78fr)
    minmax(150px, .62fr);
  gap: 16px;
  align-items: end;
}

.location-type-field .form-label {
  font-weight: 800;
  color: #34405f;
}

.location-type-field .form-label.required::after {
  content: " *";
  color: var(--bs-danger);
}

.location-type-field .input-group-text {
  min-width: 48px;
  justify-content: center;
  color: #635bff;
  background: #f4f3ff;
  border-color: #dfe2f3;
}

.location-type-field .form-control {
  min-height: 48px;
  background: var(--bs-card-bg);
  border-color: #dfe2f3;
}

.location-type-options-wrap {
  margin-top: 22px;
  padding: 18px;
  border: 1px solid #e8eafa;
  border-radius: 20px;
  background: linear-gradient(180deg, #fbfbff 0%, #f7f8ff 100%);
}

.location-type-options-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}

.location-type-options-title span {
  display: flex;
  align-items: center;
  gap: .45rem;
  color: #29344f;
  font-weight: 900;
}

.location-type-options-title small {
  display: block;
  margin-top: .2rem;
  color: #8b93aa;
}

.location-type-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  width: 100%;
}

.location-type-option {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
  min-height: 96px;
  padding: 14px;
  border: 1px solid #e0e4f3;
  border-radius: 18px;
  background: var(--bs-card-bg);
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.location-type-option:hover {
  transform: translateY(-2px);
  border-color: #c8c8ff;
  box-shadow: 0 10px 24px rgba(53,56,125,.08);
}

.location-type-option-icon {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  font-size: 1.2rem;
}

.location-type-option-icon.is-primary { color: #544dd6; background: #eeedff; }
.location-type-option-icon.is-info { color: #0b7f9f; background: #e8f8fc; }
.location-type-option-icon.is-warning { color: #a86b00; background: #fff4d5; }
.location-type-option-icon.is-success { color: #178755; background: #e9f8ef; }

.location-type-option-copy strong {
  display: block;
  margin-bottom: .2rem;
  color: #2a354f;
  font-weight: 900;
}

.location-type-option-copy small {
  display: block;
  color: #8b93a9;
  line-height: 1.5;
}

.location-type-option .form-switch .form-check-input {
  width: 2.5rem;
  height: 1.35rem;
  margin: 0;
}

.location-type-option:has(.form-check-input:disabled) {
  opacity: .6;
  background: #f4f5f8;
  cursor: not-allowed;
}

.location-type-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid #eceef7;
}

.location-type-actions-note {
  display: flex;
  align-items: center;
  gap: .45rem;
  color: #7f879d;
  font-size: .9rem;
}

.location-type-actions .btn {
  min-height: 46px;
  font-weight: 800;
}

.location-types-list-card .card-header {
  padding: 18px 20px;
  background: #fbfbfe;
}

.location-type-code {
  display: inline-flex;
  padding: 5px 9px;
  border-radius: 8px;
  background: #f0f2f8;
  color: #44506b;
  font-weight: 800;
  direction: ltr;
}

[data-bs-theme="dark"] .location-type-field .form-label,
[data-bs-theme="dark"] .location-type-options-title span,
[data-bs-theme="dark"] .location-type-option-copy strong {
  color: #edf0ff;
}

[data-bs-theme="dark"] .location-type-options-wrap,
[data-bs-theme="dark"] .location-type-option,
[data-bs-theme="dark"] .location-types-list-card .card-header {
  background: #202635;
  border-color: #394052;
}

[data-bs-theme="dark"] .location-type-field .form-control,
[data-bs-theme="dark"] .location-type-field .input-group-text {
  background: #1d2330;
  border-color: #465064;
}

[data-bs-theme="dark"] .location-type-option:has(.form-check-input:disabled) {
  background: #171c26;
}

@media (max-width: 1199.98px) {
  .location-type-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .location-type-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .location-type-editor-head {
    flex-direction: column;
    align-items: stretch;
    padding: 21px 18px;
  }
  .location-type-editor-badge {
    min-width: 0;
    width: 100%;
  }
  .location-type-fields,
.location-type-options {
    grid-template-columns: 1fr;
  }
  .location-type-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .location-type-actions-note {
    align-items: flex-start;
  }
  .location-type-actions .d-flex {
    display: grid !important;
    grid-template-columns: 1fr;
  }
  .location-type-actions .btn {
    width: 100%;
  }
}

/* ========================================================================== */
/* v1.6.7 - Structure pages unified editor design                             */
/* ========================================================================== */
.structure-page {
  --structure-accent: #2563eb;
  --structure-accent-soft: #eef4ff;
  --structure-accent-border: #d9e5ff;
}
.structure-projects-page { --structure-accent:#2563eb; --structure-accent-soft:#edf4ff; --structure-accent-border:#d5e4ff; }
.structure-towers-page { --structure-accent:#0b8793; --structure-accent-soft:#eaf9fa; --structure-accent-border:#cdecee; }
.structure-floors-page { --structure-accent:#d97706; --structure-accent-soft:#fff6e7; --structure-accent-border:#f7dfb5; }
.structure-locations-page { --structure-accent:#059669; --structure-accent-soft:#eaf9f3; --structure-accent-border:#cdeee1; }
.structure-apartment-types-page { --structure-accent:#7c3aed; --structure-accent-soft:#f3edff; --structure-accent-border:#e2d4ff; }

.structure-page .structure-editor,
.structure-page .structure-secondary-card,
.structure-page .structure-list-card {
  border-radius: 22px;
  overflow: hidden;
}

.structure-editor-head {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px 28px;
  color: #fff;
}
.structure-editor-head.theme-projects { background: linear-gradient(105deg,#2563eb 0%,#1d4ed8 50%,#1e3a8a 100%); }
.structure-editor-head.theme-towers { background: linear-gradient(105deg,#0891b2 0%,#0e7490 52%,#155e75 100%); }
.structure-editor-head.theme-floors { background: linear-gradient(105deg,#f59e0b 0%,#d97706 52%,#9a3412 100%); }
.structure-editor-head.theme-locations { background: linear-gradient(105deg,#10b981 0%,#059669 52%,#047857 100%); }
.structure-editor-head.theme-apartment-types { background: linear-gradient(105deg,#8b5cf6 0%,#7c3aed 52%,#4c1d95 100%); }
.structure-editor-head::before,
.structure-editor-head::after {
  content:"";
  position:absolute;
  border-radius:50%;
  background:rgba(255,255,255,.10);
}
.structure-editor-head::before { width:200px; height:200px; inset-inline-start:8%; top:-125px; }
.structure-editor-head::after { width:145px; height:145px; inset-inline-end:26%; bottom:-100px; }
.structure-editor-head > * { position:relative; z-index:1; }
.structure-eyebrow {
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  margin-bottom:.45rem;
  color:rgba(255,255,255,.84);
  font-size:.82rem;
  font-weight:800;
}
.structure-editor-head h4 { margin:0 0 .35rem; color:#fff; font-size:1.55rem; font-weight:900; }
.structure-editor-head p { margin:0; max-width:800px; color:rgba(255,255,255,.84); }
.structure-editor-badge {
  min-width:190px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  padding:12px 16px;
  color:#fff;
  border:1px solid rgba(255,255,255,.26);
  border-radius:16px;
  background:rgba(255,255,255,.14);
  font-weight:800;
  white-space:nowrap;
}
.structure-editor-badge:hover { color:#fff; background:rgba(255,255,255,.20); }

.structure-fields,
.structure-bulk-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  align-items:end;
}
.structure-field.span-2 { grid-column:span 2; }
.structure-field.span-full { grid-column:1 / -1; }
.structure-field .form-label {
  font-weight:800;
  color:#34405f;
}
.structure-field .form-label.required::after { content:" *"; color:var(--bs-danger); }
.structure-field .input-group-text {
  min-width:48px;
  justify-content:center;
  color:var(--structure-accent);
  background:var(--structure-accent-soft);
  border-color:#dfe2f3;
}
.structure-field .form-control,
.structure-field .form-select {
  min-height:48px;
  background: var(--bs-card-bg);
  border-color:#dfe2f3;
}
.structure-field .form-control:focus,
.structure-field .form-select:focus {
  border-color:var(--structure-accent);
  box-shadow:0 0 0 .2rem color-mix(in srgb,var(--structure-accent) 14%,transparent);
}

.structure-switch-card {
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:12px;
  min-height:82px;
  margin:0;
  padding:14px 16px;
  border:1px solid var(--structure-accent-border);
  border-radius:18px;
  background:linear-gradient(180deg,#fff 0%,var(--structure-accent-soft) 100%);
  cursor:pointer;
}
.structure-switch-card.compact { min-height:72px; }
.structure-switch-icon {
  width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  color:var(--structure-accent);
  background: var(--bs-card-bg);
  box-shadow:0 6px 16px rgba(39,54,97,.08);
  font-size:1.15rem;
}
.structure-switch-copy strong { display:block; margin-bottom:.15rem; color:#2a354f; font-weight:900; }
.structure-switch-copy small { display:block; color:#818aa3; line-height:1.45; }
.structure-switch-card .form-switch .form-check-input { width:2.5rem; height:1.35rem; margin:0; }

.structure-actions {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid #eceef7;
}
.structure-actions-note {
  display:flex;
  align-items:center;
  gap:.45rem;
  color:#7f879d;
  font-size:.9rem;
}
.structure-actions .btn { min-height:46px; font-weight:800; }

.structure-secondary-card { border:1px solid var(--structure-accent-border) !important; }
.structure-secondary-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:17px 20px;
  background:linear-gradient(180deg,#fff 0%,var(--structure-accent-soft) 100%);
  border-bottom:1px solid var(--structure-accent-border);
}
.structure-secondary-head strong {
  display:flex;
  align-items:center;
  gap:.5rem;
  color:#29344f;
  font-weight:900;
}
.structure-secondary-head strong i { color:var(--structure-accent); }
.structure-secondary-head small { display:block; margin-top:.2rem; color:#8790a8; }
.structure-mini-badge,
.structure-count-badge {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:999px;
  color:var(--structure-accent);
  background:var(--structure-accent-soft);
  border:1px solid var(--structure-accent-border);
  font-weight:800;
  white-space:nowrap;
}
.structure-bulk-action { align-self:end; }
.structure-bulk-action .btn { min-height:48px; font-weight:800; }
.locations-bulk-grid { grid-template-columns:repeat(4,minmax(0,1fr)) auto; }
.locations-bulk-grid .structure-field.span-2 { grid-column:span 2; }

.structure-list-card .card-header {
  padding:18px 20px;
  background:#fbfbfe;
}
.structure-code {
  display:inline-flex;
  padding:5px 9px;
  border-radius:8px;
  background:#f0f2f8;
  color:#44506b;
  font-weight:800;
  direction:ltr;
}
.structure-number-pill {
  display:inline-flex;
  min-width:38px;
  align-items:center;
  justify-content:center;
  padding:5px 10px;
  border-radius:999px;
  color:var(--structure-accent);
  background:var(--structure-accent-soft);
  border:1px solid var(--structure-accent-border);
  font-weight:900;
}

[data-bs-theme="dark"] .structure-field .form-label,
[data-bs-theme="dark"] .structure-secondary-head strong,
[data-bs-theme="dark"] .structure-switch-copy strong { color:#edf0ff; }
[data-bs-theme="dark"] .structure-field .form-control,
[data-bs-theme="dark"] .structure-field .form-select,
[data-bs-theme="dark"] .structure-field .input-group-text,
[data-bs-theme="dark"] .structure-switch-card,
[data-bs-theme="dark"] .structure-secondary-head,
[data-bs-theme="dark"] .structure-list-card .card-header {
  background:#202635;
  border-color:#3e4659;
}
[data-bs-theme="dark"] .structure-switch-icon { background:#171c26; }
[data-bs-theme="dark"] .structure-code { background:#2b3242; color:#dce3f5; }

@media (max-width:1199.98px) {
  .structure-fields,
.structure-bulk-grid,
.locations-bulk-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .structure-bulk-action { grid-column:span 2; }
}
@media (max-width:767.98px) {
  .structure-editor-head,
.structure-secondary-head { flex-direction:column; align-items:stretch; }
  .structure-editor-head { padding:21px 18px; }
  .structure-editor-badge { min-width:0; width:100%; }
  .structure-fields,
.structure-bulk-grid,
.locations-bulk-grid { grid-template-columns:1fr; }
  .structure-field.span-2,
.structure-bulk-action { grid-column:span 1; }
  .structure-actions { flex-direction:column; align-items:stretch; }
  .structure-actions-note { align-items:flex-start; }
  .structure-actions .d-flex { display:grid !important; grid-template-columns:1fr; }
  .structure-actions .btn { width:100%; }
}

/* ========================================================================== */
/* v1.6.10 - Towers page one-row editor and unified bulk card                 */
/* ========================================================================== */
.structure-towers-page .towers-editor-grid {
  grid-template-columns: minmax(320px, 2.1fr) minmax(150px, .9fr) minmax(170px, 1fr) minmax(210px, 1.1fr);
  gap: 18px;
  align-items: end;
}
.structure-towers-page .towers-editor-grid .towers-name-field,
.structure-towers-page .towers-bulk-grid .towers-prefix-field {
  grid-column: auto;
}
.structure-towers-page .towers-secondary-head {
  position: relative;
  overflow: hidden;
  padding: 22px 26px;
  color: #fff;
  background: linear-gradient(105deg,#0891b2 0%,#0e7490 52%,#155e75 100%);
  border-bottom: 0;
}
.structure-towers-page .towers-secondary-head::before,
.structure-towers-page .towers-secondary-head::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  background: rgba(255,255,255,.10);
}
.structure-towers-page .towers-secondary-head::before {
  width: 170px;
  height: 170px;
  inset-inline-start: 10%;
  top: -112px;
}
.structure-towers-page .towers-secondary-head::after {
  width: 125px;
  height: 125px;
  inset-inline-end: 28%;
  bottom: -88px;
}
.structure-towers-page .towers-secondary-head > * {
  position: relative;
  z-index: 1;
}
.structure-towers-page .towers-secondary-head strong,
.structure-towers-page .towers-secondary-head strong i,
.structure-towers-page .towers-secondary-head small {
  color: #fff;
}
.structure-towers-page .towers-secondary-head small {
  color: rgba(255,255,255,.82);
}
.structure-towers-page .towers-secondary-head .structure-mini-badge {
  color: #fff;
  background: rgba(255,255,255,.14);
  border-color: rgba(255,255,255,.28);
}
.structure-towers-page .towers-bulk-card {
  border: 0 !important;
  background: var(--bs-card-bg);
}
.structure-towers-page .towers-bulk-card .card-body {
  background: var(--bs-card-bg);
}
.structure-towers-page .towers-bulk-grid {
  grid-template-columns: minmax(320px, 2fr) minmax(170px, 1fr) minmax(170px, 1fr) minmax(220px, 1.15fr);
  gap: 18px;
  align-items: end;
}
.structure-towers-page .towers-bulk-grid .structure-bulk-action {
  grid-column: auto;
  align-self: end;
}
.structure-towers-page .towers-bulk-grid .structure-bulk-action .btn {
  min-height: 48px;
  border-color: var(--structure-accent);
  color: var(--structure-accent);
  background: var(--bs-card-bg);
}
.structure-towers-page .towers-bulk-grid .structure-bulk-action .btn:hover {
  color: #fff;
  background: var(--structure-accent);
}
@media (max-width: 1399.98px) {
  .structure-towers-page .towers-editor-grid,
.structure-towers-page .towers-bulk-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  .structure-towers-page .towers-editor-grid .towers-name-field,
.structure-towers-page .towers-bulk-grid .towers-prefix-field {
    grid-column: span 2;
  }
  .structure-towers-page .towers-bulk-grid .structure-bulk-action {
    grid-column: span 2;
  }
}
@media (max-width: 767.98px) {
  .structure-towers-page .towers-editor-grid,
.structure-towers-page .towers-bulk-grid {
    grid-template-columns: 1fr;
  }
  .structure-towers-page .towers-editor-grid .towers-name-field,
.structure-towers-page .towers-bulk-grid .towers-prefix-field,
.structure-towers-page .towers-bulk-grid .structure-bulk-action {
    grid-column: auto;
  }
  .structure-towers-page .towers-secondary-head {
    padding: 21px 18px;
  }
}

/* ========================================================================== */
/* v1.6.11 - Floors page one-row editor and unified bulk card                 */
/* ========================================================================== */
.structure-floors-page .floors-editor-grid {
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 2fr) minmax(0, .8fr) minmax(0, 1.15fr);
  gap: 18px;
  align-items: end;
}
.structure-floors-page .floors-editor-grid .floors-name-field,
.structure-floors-page .floors-bulk-grid .floors-bulk-tower-field {
  grid-column: auto;
}
.structure-floors-page .floors-editor-grid .input-group,
.structure-floors-page .floors-bulk-grid .input-group {
  flex-wrap: nowrap;
  width: 100%;
}
.structure-floors-page .floors-editor-grid .input-group-text,
.structure-floors-page .floors-bulk-grid .input-group-text {
  min-width: 48px;
  min-height: 48px;
  align-self: stretch;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 48px;
}
.structure-floors-page .floors-editor-grid .form-control,
.structure-floors-page .floors-editor-grid .form-select,
.structure-floors-page .floors-bulk-grid .form-control,
.structure-floors-page .floors-bulk-grid .form-select {
  min-width: 0;
  width: 1%;
  flex: 1 1 auto;
}
.structure-floors-page .floors-secondary-head {
  position: relative;
  overflow: hidden;
  padding: 22px 26px;
  color: #fff;
  background: linear-gradient(105deg,#f59e0b 0%,#d97706 52%,#9a3412 100%);
  border-bottom: 0;
}
.structure-floors-page .floors-secondary-head::before,
.structure-floors-page .floors-secondary-head::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  background: rgba(255,255,255,.10);
}
.structure-floors-page .floors-secondary-head::before {
  width: 170px;
  height: 170px;
  inset-inline-start: 10%;
  top: -112px;
}
.structure-floors-page .floors-secondary-head::after {
  width: 125px;
  height: 125px;
  inset-inline-end: 28%;
  bottom: -88px;
}
.structure-floors-page .floors-secondary-head > * {
  position: relative;
  z-index: 1;
}
.structure-floors-page .floors-secondary-head strong,
.structure-floors-page .floors-secondary-head strong i,
.structure-floors-page .floors-secondary-head small {
  color: #fff;
}
.structure-floors-page .floors-secondary-head small {
  color: rgba(255,255,255,.82);
}
.structure-floors-page .floors-secondary-head .structure-mini-badge {
  color: #fff;
  background: rgba(255,255,255,.14);
  border-color: rgba(255,255,255,.28);
}
.structure-floors-page .floors-bulk-card {
  border: 0 !important;
  background: var(--bs-card-bg);
}
.structure-floors-page .floors-bulk-card .card-body {
  background: var(--bs-card-bg);
}
.structure-floors-page .floors-bulk-grid {
  grid-template-columns: minmax(0, 1.8fr) minmax(0, .85fr) minmax(0, .85fr) minmax(0, 1fr);
  gap: 18px;
  align-items: end;
}
.structure-floors-page .floors-bulk-grid .structure-bulk-action {
  grid-column: auto;
  align-self: end;
}
.structure-floors-page .floors-bulk-grid .structure-bulk-action .btn {
  min-height: 48px;
  color: #fff;
  border-color: var(--structure-accent);
  background: var(--structure-accent);
  box-shadow: 0 8px 18px rgba(217,119,6,.16);
}
.structure-floors-page .floors-bulk-grid .structure-bulk-action .btn:hover {
  color: #fff;
  border-color: #b45309;
  background: #b45309;
}
@media (max-width: 1099.98px) {
  .structure-floors-page .floors-editor-grid,
.structure-floors-page .floors-bulk-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  .structure-floors-page .floors-editor-grid .floors-name-field,
.structure-floors-page .floors-bulk-grid .floors-bulk-tower-field,
.structure-floors-page .floors-bulk-grid .structure-bulk-action {
    grid-column: span 2;
  }
}
@media (max-width: 767.98px) {
  .structure-floors-page .floors-editor-grid,
.structure-floors-page .floors-bulk-grid {
    grid-template-columns: 1fr;
  }
  .structure-floors-page .floors-editor-grid .floors-name-field,
.structure-floors-page .floors-bulk-grid .floors-bulk-tower-field,
.structure-floors-page .floors-bulk-grid .structure-bulk-action {
    grid-column: auto;
  }
  .structure-floors-page .floors-secondary-head {
    padding: 21px 18px;
  }
}

/* ========================================================================== */
/* v1.6.12 - Shared edit modal + location type icon fix                       */
/* ========================================================================== */
.location-type-option-icon.is-info {
  color: #087895 !important;
  background: #dff5fb !important;
  border: 1px solid #b9e7f1;
}
.location-type-option-icon.is-info i {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  color: inherit !important;
  font-size: 1.2rem;
  line-height: 1;
}

.sonic-edit-modal .modal-footer {
  justify-content: flex-start;
  padding: 14px 22px;
  border-top: 1px solid var(--bs-border-color);
  background: var(--bs-body-bg);
}
.sonic-edit-modal .modal-footer .btn {
  min-width: 130px;
}

/* Every nested field/options grid inside edit forms is one vertical column. */
.sonic-edit-modal .sonic-modal-edit-form [class$="-fields"],
.sonic-edit-modal .sonic-modal-edit-form [class*="-fields "],
.sonic-edit-modal .sonic-modal-edit-form [class$="-options"],
.sonic-edit-modal .sonic-modal-edit-form [class*="-options "],
.sonic-edit-modal .sonic-modal-edit-form [class$="-grid"],
.sonic-edit-modal .sonic-modal-edit-form [class*="-grid "] {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 15px !important;
  width: 100% !important;
}
.sonic-edit-modal .sonic-modal-edit-form [class$="-fields"] > *,
.sonic-edit-modal .sonic-modal-edit-form [class*="-fields "] > *,
.sonic-edit-modal .sonic-modal-edit-form [class$="-options"] > *,
.sonic-edit-modal .sonic-modal-edit-form [class*="-options "] > *,
.sonic-edit-modal .sonic-modal-edit-form [class$="-grid"] > *,
.sonic-edit-modal .sonic-modal-edit-form [class*="-grid "] > * {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: none !important;
}
.sonic-edit-modal .sonic-modal-edit-form .location-type-actions,
.sonic-edit-modal .sonic-modal-edit-form .structure-actions,
.sonic-edit-modal .sonic-modal-edit-form .apartment-type-actions {
  flex-direction: column !important;
  align-items: stretch !important;
}
.sonic-edit-modal .sonic-modal-edit-form .location-type-actions .d-flex,
.sonic-edit-modal .sonic-modal-edit-form .structure-actions .d-flex,
.sonic-edit-modal .sonic-modal-edit-form .apartment-type-actions .d-flex {
  width: 100% !important;
  flex-direction: column !important;
}
.sonic-edit-modal .sonic-modal-edit-form .btn {
  min-height: 44px;
}

/* ========================================================================== */
/* v1.6.13 - Locations editor alignment and prominent shared-area controls    */
/* ========================================================================== */
.structure-locations-page .locations-editor-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 18px 16px;
}
.structure-locations-page .locations-field-name { grid-column: span 3; }
.structure-locations-page .locations-common-field { grid-column: 1 / -1; }

.structure-locations-page .structure-field .input-group {
  flex-wrap: nowrap;
  align-items: stretch;
}
.structure-locations-page .structure-field .input-group > .input-group-text {
  flex: 0 0 48px;
  width: 48px;
  min-width: 48px;
  min-height: 48px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.structure-locations-page .structure-field .input-group > .form-control,
.structure-locations-page .structure-field .input-group > .form-select {
  min-width: 0;
  min-height: 48px;
}
.structure-locations-page .locations-field-area .input-group > .input-group-text:last-child {
  flex-basis: 52px;
  width: 52px;
}

.structure-locations-page .locations-common-card {
  min-height: 92px;
  color: #fff;
  border: 0;
  background: linear-gradient(110deg, #5b21b6 0%, #4338ca 50%, #312e81 100%);
  box-shadow: 0 14px 30px rgba(67, 56, 202, .22);
}
.structure-locations-page .locations-common-card .structure-switch-icon {
  color: #4338ca;
  background: var(--bs-card-bg);
  box-shadow: 0 8px 20px rgba(20, 17, 90, .24);
}
.structure-locations-page .locations-common-card .structure-switch-copy strong,
.structure-locations-page .locations-common-card .structure-switch-copy small {
  color: #fff;
}
.structure-locations-page .locations-common-card .structure-switch-copy small {
  opacity: .84;
}
.structure-locations-page .locations-common-card .form-check-input {
  border-color: rgba(255,255,255,.72);
  background-color: rgba(255,255,255,.30);
}
.structure-locations-page .locations-common-card .form-check-input:checked {
  border-color: #fff;
  background-color: #22c55e;
}

.structure-locations-page .locations-generation-card {
  border-color: #bde8d8 !important;
  background: linear-gradient(180deg, #ffffff 0%, #f1fcf7 100%);
}
.structure-locations-page .locations-generation-head {
  position: relative;
  overflow: hidden;
  padding: 21px 24px;
  color: #fff;
  border-bottom: 0;
  background: linear-gradient(105deg, #10b981 0%, #059669 52%, #047857 100%);
}
.structure-locations-page .locations-generation-head::before,
.structure-locations-page .locations-generation-head::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  background: rgba(255,255,255,.10);
}
.structure-locations-page .locations-generation-head::before {
  width: 150px;
  height: 150px;
  inset-inline-start: 7%;
  top: -92px;
}
.structure-locations-page .locations-generation-head::after {
  width: 110px;
  height: 110px;
  inset-inline-end: 20%;
  bottom: -72px;
}
.structure-locations-page .locations-generation-head > * {
  position: relative;
  z-index: 1;
}
.structure-locations-page .locations-generation-head strong,
.structure-locations-page .locations-generation-head strong i,
.structure-locations-page .locations-generation-head small {
  color: #fff;
}
.structure-locations-page .locations-generation-head small { opacity: .84; }
.structure-locations-page .locations-generation-badge {
  color: #fff;
  border-color: rgba(255,255,255,.36);
  background: rgba(255,255,255,.16);
}

.structure-locations-page .locations-bulk-grid {
  grid-template-columns: repeat(4, minmax(140px, 1fr)) minmax(330px, 1.6fr) minmax(170px, .75fr);
  gap: 16px;
  align-items: end;
}
.structure-locations-page .locations-bulk-common,
.structure-locations-page .locations-bulk-action {
  grid-column: auto;
}
.structure-locations-page .locations-bulk-common-card {
  min-height: 82px;
  color: #fff;
  border: 0;
  background: linear-gradient(110deg, #0369a1 0%, #0284c7 52%, #0e7490 100%);
  box-shadow: 0 12px 26px rgba(2, 132, 199, .20);
}
.structure-locations-page .locations-bulk-common-card .structure-switch-icon {
  color: #0369a1;
  background: var(--bs-card-bg);
}
.structure-locations-page .locations-bulk-common-card .structure-switch-copy strong,
.structure-locations-page .locations-bulk-common-card .structure-switch-copy small {
  color: #fff;
}
.structure-locations-page .locations-bulk-common-card .structure-switch-copy small { opacity: .84; }
.structure-locations-page .locations-bulk-common-card .form-check-input {
  border-color: rgba(255,255,255,.72);
  background-color: rgba(255,255,255,.30);
}
.structure-locations-page .locations-bulk-common-card .form-check-input:checked {
  border-color: #fff;
  background-color: #22c55e;
}
.structure-locations-page .locations-bulk-action .btn {
  min-height: 82px;
  border: 0;
  color: #fff;
  background: linear-gradient(110deg, #4f46e5 0%, #4338ca 100%);
  box-shadow: 0 10px 22px rgba(67, 56, 202, .18);
}
.structure-locations-page .locations-bulk-action .btn:hover {
  color: #fff;
  filter: brightness(1.06);
}

[data-bs-theme="dark"] .structure-locations-page .locations-generation-card {
  background: #1d2330;
  border-color: #315d51 !important;
}
[data-bs-theme="dark"] .structure-locations-page .locations-common-card,
[data-bs-theme="dark"] .structure-locations-page .locations-bulk-common-card {
  border-color: transparent;
}

@media (max-width: 1399.98px) {
  .structure-locations-page .locations-editor-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .structure-locations-page .locations-field-name,
.structure-locations-page .locations-common-field {
    grid-column: 1 / -1;
  }
  .structure-locations-page .locations-bulk-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .structure-locations-page .locations-bulk-common {
    grid-column: 1 / -1;
  }
  .structure-locations-page .locations-bulk-action {
    grid-column: 1 / -1;
  }
  .structure-locations-page .locations-bulk-action .btn { min-height: 50px; }
}
@media (max-width: 767.98px) {
  .structure-locations-page .locations-editor-grid,
.structure-locations-page .locations-bulk-grid {
    grid-template-columns: 1fr;
  }
  .structure-locations-page .locations-field-name,
.structure-locations-page .locations-common-field,
.structure-locations-page .locations-bulk-common,
.structure-locations-page .locations-bulk-action {
    grid-column: auto;
  }
  .structure-locations-page .locations-common-card,
.structure-locations-page .locations-bulk-common-card {
    grid-template-columns: auto 1fr;
  }
  .structure-locations-page .locations-common-card .form-switch,
.structure-locations-page .locations-bulk-common-card .form-switch {
    grid-column: 1 / -1;
    justify-self: end;
  }
}

/* ========================================================================== */
/* v1.6.14 - Global modal input-group alignment and complete dark mode        */
/* ========================================================================== */

/*
 * Controls inside the shared edit modal are forced to a vertical field layout,
 * but every icon + control pair must remain one horizontal input group.
 * Prevent Bootstrap's wrapping and stop the control's global width:100% rule
 * from pushing the icon addon onto a separate row.
 */
.modal .input-group,
.sonic-edit-modal .sonic-modal-edit-form .input-group,
.sonic-modal-input-group {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
}

.modal .input-group > .input-group-text,
.sonic-edit-modal .sonic-modal-edit-form .input-group > .input-group-text,
.sonic-modal-input-group > .input-group-text {
  flex: 0 0 50px !important;
  width: 50px !important;
  min-width: 50px !important;
  min-height: 48px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: stretch !important;
  line-height: 1 !important;
}

.modal .input-group > .input-group-text .ti,
.modal .input-group > .input-group-text .sonic-inline-icon,
.sonic-edit-modal .input-group > .input-group-text .ti,
.sonic-edit-modal .input-group > .input-group-text .sonic-inline-icon {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  line-height: 1 !important;
}

.modal .input-group > .input-group-text .sonic-inline-icon svg,
.sonic-edit-modal .input-group > .input-group-text .sonic-inline-icon svg {
  width: 20px !important;
  height: 20px !important;
  display: block !important;
}

.modal .input-group > .form-control,
.modal .input-group > .form-select,
.modal .input-group > input:not([type="checkbox"]):not([type="radio"]),
.modal .input-group > select,
.sonic-edit-modal .sonic-modal-edit-form .input-group > .form-control,
.sonic-edit-modal .sonic-modal-edit-form .input-group > .form-select,
.sonic-modal-input-group > .form-control,
.sonic-modal-input-group > .form-select {
  flex: 1 1 auto !important;
  width: 1% !important;
  min-width: 0 !important;
  min-height: 48px !important;
  align-self: stretch !important;
}

.modal .input-group > .select2-container,
.sonic-edit-modal .sonic-modal-edit-form .input-group > .select2-container {
  flex: 1 1 auto !important;
  width: 1% !important;
  min-width: 0 !important;
}

.modal .input-group > .select2-container .select2-selection,
.sonic-edit-modal .input-group > .select2-container .select2-selection {
  min-height: 48px !important;
  height: 48px !important;
  display: flex !important;
  align-items: center !important;
}

/* Keep every edit field as one clean vertical unit without splitting its group. */
.sonic-edit-modal .sonic-modal-edit-form .sonic-field-block,
.sonic-edit-modal .sonic-modal-edit-form .sonic-field-wide,
.sonic-edit-modal .sonic-modal-edit-form .sonic-field-full {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
}

.sonic-edit-modal .sonic-modal-edit-form .form-label {
  display: block !important;
  margin-bottom: 8px !important;
}

/* Full modal dark-mode support. These rules intentionally come last. */
[data-bs-theme="dark"] .modal-backdrop.show {
  opacity: .72 !important;
  background-color: #050711 !important;
}

[data-bs-theme="dark"] .modal-content,
[data-bs-theme="dark"] .sonic-edit-modal .modal-content {
  color: #e9edf7 !important;
  background: #171c2b !important;
  border-color: #343c51 !important;
  box-shadow: 0 34px 100px rgba(0, 0, 0, .62) !important;
}

[data-bs-theme="dark"] .modal-header,
[data-bs-theme="dark"] .sonic-edit-modal .modal-header {
  color: #f5f7ff !important;
  background: linear-gradient(135deg, #252b43 0%, #1e2336 100%) !important;
  border-bottom-color: #343c51 !important;
}

[data-bs-theme="dark"] .modal-title,
[data-bs-theme="dark"] .modal-title span,
[data-bs-theme="dark"] .sonic-edit-modal .modal-title,
[data-bs-theme="dark"] .sonic-edit-modal .modal-title span {
  color: #f5f7ff !important;
}

[data-bs-theme="dark"] .modal-body,
[data-bs-theme="dark"] .sonic-edit-modal .modal-body {
  color: #dfe4f1 !important;
  background: #171c2b !important;
}

[data-bs-theme="dark"] .modal-footer,
[data-bs-theme="dark"] .sonic-edit-modal .modal-footer {
  color: #dfe4f1 !important;
  background: #141927 !important;
  border-top-color: #343c51 !important;
}

[data-bs-theme="dark"] .modal .btn-close,
[data-bs-theme="dark"] .sonic-edit-modal .btn-close {
  filter: invert(1) grayscale(100%) brightness(190%) !important;
  opacity: .9 !important;
}

[data-bs-theme="dark"] .modal .form-label,
[data-bs-theme="dark"] .modal label,
[data-bs-theme="dark"] .modal strong,
[data-bs-theme="dark"] .modal h1,
[data-bs-theme="dark"] .modal h2,
[data-bs-theme="dark"] .modal h3,
[data-bs-theme="dark"] .modal h4,
[data-bs-theme="dark"] .modal h5,
[data-bs-theme="dark"] .modal h6,
[data-bs-theme="dark"] .sonic-edit-modal .form-label {
  color: #e8ecf7 !important;
}

[data-bs-theme="dark"] .modal .text-muted,
[data-bs-theme="dark"] .modal .text-body-secondary,
[data-bs-theme="dark"] .modal small,
[data-bs-theme="dark"] .modal .form-text {
  color: #aab3c8 !important;
}

[data-bs-theme="dark"] .modal .form-control,
[data-bs-theme="dark"] .modal .form-select,
[data-bs-theme="dark"] .modal textarea,
[data-bs-theme="dark"] .modal select,
[data-bs-theme="dark"] .modal input:not([type="checkbox"]):not([type="radio"]),
[data-bs-theme="dark"] .sonic-edit-modal .form-control,
[data-bs-theme="dark"] .sonic-edit-modal .form-select {
  color: #f1f4fb !important;
  background-color: #1f2637 !important;
  border-color: #3b455d !important;
  box-shadow: none !important;
}

[data-bs-theme="dark"] .modal .form-control::placeholder,
[data-bs-theme="dark"] .modal textarea::placeholder,
[data-bs-theme="dark"] .modal input::placeholder {
  color: #7f8aa3 !important;
  opacity: 1 !important;
}

[data-bs-theme="dark"] .modal .form-control:focus,
[data-bs-theme="dark"] .modal .form-select:focus,
[data-bs-theme="dark"] .modal textarea:focus,
[data-bs-theme="dark"] .modal input:focus {
  color: #fff !important;
  background-color: #232b3f !important;
  border-color: #817aff !important;
  box-shadow: 0 0 0 .2rem rgba(99, 91, 255, .20) !important;
}

[data-bs-theme="dark"] .modal .input-group-text,
[data-bs-theme="dark"] .sonic-edit-modal .input-group-text {
  color: #dfe5f4 !important;
  background: #282f43 !important;
  border-color: #3b455d !important;
}

[data-bs-theme="dark"] .modal .select2-container .select2-selection,
[data-bs-theme="dark"] .sonic-edit-modal .select2-container .select2-selection {
  color: #f1f4fb !important;
  background: #1f2637 !important;
  border-color: #3b455d !important;
}

[data-bs-theme="dark"] .modal .select2-container .select2-selection__rendered,
[data-bs-theme="dark"] .sonic-edit-modal .select2-container .select2-selection__rendered {
  color: #f1f4fb !important;
}

[data-bs-theme="dark"] .select2-container--open .select2-dropdown {
  color: #e9edf7 !important;
  background: #1b2131 !important;
  border-color: #3b455d !important;
}

[data-bs-theme="dark"] .select2-container--open .select2-results__option {
  color: #dfe4f1 !important;
  background: #1b2131 !important;
}

[data-bs-theme="dark"] .select2-container--open .select2-results__option--highlighted,
[data-bs-theme="dark"] .select2-container--open .select2-results__option[aria-selected="true"] {
  color: #fff !important;
  background: #635bff !important;
}

[data-bs-theme="dark"] .modal .card,
[data-bs-theme="dark"] .modal .form-check,
[data-bs-theme="dark"] .modal [class*="option-card"],
[data-bs-theme="dark"] .modal [class*="switch-card"],
[data-bs-theme="dark"] .modal [class*="option-item"],
[data-bs-theme="dark"] .modal [class*="settings-box"] {
  color: #e6ebf6 !important;
  background: #1d2434 !important;
  border-color: #364057 !important;
}

[data-bs-theme="dark"] .modal .form-check-label,
[data-bs-theme="dark"] .modal .checkbox-option .form-check-label,
[data-bs-theme="dark"] .modal .checkbox-choice label,
[data-bs-theme="dark"] .modal .form-switch .form-check-label {
  color: #e6ebf6 !important;
}

[data-bs-theme="dark"] .modal hr,
[data-bs-theme="dark"] .modal .sonic-section-divider {
  border-color: #343c51 !important;
  background-color: #343c51 !important;
}

[data-bs-theme="dark"] .modal .btn-outline-secondary {
  color: #d7ddea !important;
  border-color: #59637b !important;
}

[data-bs-theme="dark"] .modal .btn-outline-secondary:hover {
  color: #fff !important;
  background: #3a4359 !important;
  border-color: #6c7894 !important;
}

/* ========================================================================== */
/* v1.7.0 - Dynamic users, groups and permission center                       */
/* ========================================================================== */
.permission-hero {overflow:hidden;border-radius:24px;background:linear-gradient(110deg,#635bff 0%,#4b47d6 52%,#28336f 100%);position:relative}.permission-hero:before,
.permission-hero:after {content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.09)}.permission-hero:before {width:260px;height:260px;left:8%;top:-170px}.permission-hero:after {width:190px;height:190px;right:5%;bottom:-130px}.permission-hero .card-body {position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 32px}.permission-hero>.card-body>i {font-size:64px;color:rgba(255,255,255,.8)}
.permission-tabs {gap:8px}.permission-tabs .nav-link {border:1px solid var(--bs-border-color);background:var(--bs-body-bg);font-weight:800;color:var(--bs-heading-color);border-radius:14px;padding:11px 18px}.permission-tabs .nav-link.active {border-color:#635bff;background:#635bff;color:#fff}
.permission-section {margin:0 0 24px}.permission-section>h4 {font-size:1.05rem;font-weight:900;margin:0 0 12px;padding:11px 15px;border-radius:14px;background:var(--bs-tertiary-bg);border-inline-start:4px solid #635bff}
.permission-page-card {height:100%;border:1px solid var(--bs-border-color);border-radius:18px;background:var(--bs-body-bg);overflow:hidden}.permission-page-head {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:var(--bs-tertiary-bg);border-bottom:1px solid var(--bs-border-color)}.permission-page-head>span {display:grid;grid-template-columns:32px 1fr;align-items:center;column-gap:8px}.permission-page-head i {grid-row:1/3;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#635bff;color:#fff;font-size:18px}.permission-page-head strong {font-weight:900}.permission-page-head small {color:var(--bs-secondary-color);font-size:.75rem;direction:ltr;text-align:right}
.permission-options {padding:10px}.permission-option {display:flex;align-items:flex-start;gap:10px;padding:10px 11px;border-radius:12px;cursor:pointer}.permission-option:hover {background:var(--bs-tertiary-bg)}.permission-option.is-open {background:rgba(99,91,255,.08);border:1px solid rgba(99,91,255,.16)}.permission-option span {display:flex;flex-direction:column;gap:2px}.permission-option strong {font-size:.88rem}.permission-option small {font-size:.75rem;color:var(--bs-secondary-color)}.permission-option code {font-size:.7rem}
.permission-user-row {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;border-bottom:1px dashed var(--bs-border-color)}.permission-user-row:last-child {border-bottom:0}.permission-user-row>div:first-child {display:flex;flex-direction:column}.permission-user-row small {font-size:.74rem;color:var(--bs-secondary-color)}
.permission-page-list {max-height:720px;overflow:auto}.permission-page-list .list-group-item {display:flex;align-items:center;justify-content:space-between;gap:10px}.permission-page-list .list-group-item>span:first-child {display:flex;flex-direction:column}.permission-page-list small {font-size:.75rem;direction:ltr;text-align:right;color:var(--bs-secondary-color)}.permission-page-list .active small {color:rgba(255,255,255,.75)}
.permission-switch-card {display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--bs-border-color);border-radius:16px;padding:14px 16px;background:var(--bs-tertiary-bg);cursor:pointer}.permission-switch-card span {display:flex;flex-direction:column}.permission-switch-card strong {font-weight:900}.permission-switch-card small {color:var(--bs-secondary-color)}.permission-switch-card .form-check-input {width:2.65rem;height:1.35rem;margin:0;flex:0 0 auto}
[data-bs-theme="dark"] .permission-page-card,
[data-bs-theme="dark"] .permission-tabs .nav-link {background:#171b2d}[data-bs-theme="dark"] .permission-option.is-open {background:rgba(99,91,255,.18)}
@media(max-width:767.98px){.permission-hero .card-body {padding:22px;align-items:flex-start}.permission-hero>.card-body>i {font-size:42px}.permission-user-row {align-items:flex-start;flex-direction:column}.permission-user-row .btn-group {width:100%}.permission-user-row .btn-group label {flex:1}.permission-tabs {display:grid;grid-template-columns:1fr}.permission-tabs .nav-link {text-align:center}}

/* ========================================================================== */
/* v1.7.2 - Users group field and audit log fixes                            */
/* ========================================================================== */
.users-group-field .input-group {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  width: 100%;
}
.users-group-field .input-group-text {
  flex: 0 0 52px;
  width: 52px;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.users-group-field .form-select {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 48px;
}
.sonic-modal-edit-form .users-group-field,
.sonic-modal-edit-form .users-group-field .input-group {
  width: 100%;
}
.audit-data-cell {
  min-width: 230px;
  max-width: 360px;
  white-space: normal !important;
  vertical-align: top;
}
.audit-data-cell ul {
  margin: 0;
}
[data-bs-theme="dark"] .audit-data-cell,
[data-bs-theme="dark"] .audit-data-cell strong {
  color: rgba(255,255,255,.78);
}

/* ========================================================================== */
/* Sonic Tower v2.3.137 — split system messages from persistent notifications */
/* ========================================================================== */
/* Ordinary success/error/warning/info messages: physical bottom-left. */
#sonic-toast-bottom-left.toast-container,
.toast-container.sonic-toast-bottom-left {
  position: fixed !important;
  inset: auto auto 12px 12px !important;
  top: auto !important;
  right: auto !important;
  bottom: 12px !important;
  left: 12px !important;
  width: min(360px, calc(100vw - 24px)) !important;
  max-width: calc(100vw - 24px) !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  direction: rtl !important;
  z-index: 9999999 !important;
  pointer-events: none !important;
}
#sonic-toast-bottom-left.toast-container > div,
.toast-container.sonic-toast-bottom-left > div {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 6px 0 0 !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  font-family: "Tajawal", Tahoma, Arial, sans-serif !important;
}
@media (max-width: 575.98px) {
  #sonic-toast-bottom-left.toast-container,
.toast-container.sonic-toast-bottom-left {
    left: 8px !important;
    right: auto !important;
    bottom: 8px !important;
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
  }
  #sonic-toast-bottom-left.toast-container > .toast,
.toast-container.sonic-toast-bottom-left > .toast {
    min-height: 76px;
    padding: 14px 48px 14px 42px !important;
    border-radius: 14px !important;
  }
}

/* ========================================================================== */
/* v1.7.4 - Restore the original MatDash Toastr appearance                    */
/* ========================================================================== */
/*
 * The colors, icons, padding, radius and progress bar intentionally come
 * from assets/matdash/css/styles.css, exactly like the supplied example.
 * These rules only anchor the custom Sonic container at the physical
 * bottom-right corner without changing Toastr's original visual identity.
 */
#sonic-toast-bottom-right.toast-container,
.toast-container.sonic-toast-bottom-right {
  position: fixed !important;
  inset: auto 12px 12px auto !important;
  top: auto !important;
  right: 12px !important;
  bottom: 12px !important;
  left: auto !important;
  width: min(360px, calc(100vw - 24px)) !important;
  max-width: calc(100vw - 24px) !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  direction: rtl !important;
  z-index: 9999999 !important;
  pointer-events: none !important;
}
#sonic-toast-bottom-right.toast-container > div,
.toast-container.sonic-toast-bottom-right > div {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 6px 0 0 !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  font-family: "Tajawal", Tahoma, Arial, sans-serif !important;
}
@media (max-width: 575.98px) {
  #sonic-toast-bottom-right.toast-container,
.toast-container.sonic-toast-bottom-right {
    left: auto !important;
    right: 8px !important;
    bottom: 8px !important;
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
  }
}
.sonic-confirm-modal .modal-content {
  border: 1px solid var(--bs-border-color) !important;
  border-radius: 20px !important;
  overflow: hidden;
}
.sonic-confirm-modal .modal-header,
.sonic-confirm-modal .modal-footer {
  background: var(--bs-body-bg);
}
.sonic-confirm-modal .modal-body {
  padding: 26px;
  background: var(--bs-body-bg);
  color: var(--bs-body-color);
}
html[data-bs-theme="dark"] .sonic-confirm-modal .modal-content {
  background: #1f2c41 !important;
  border-color: #34445e !important;
}
html[data-bs-theme="dark"] .sonic-confirm-modal .modal-header,
html[data-bs-theme="dark"] .sonic-confirm-modal .modal-body,
html[data-bs-theme="dark"] .sonic-confirm-modal .modal-footer {
  background: #1f2c41 !important;
  color: #eef3fb !important;
  border-color: #34445e !important;
}
@media (max-width: 575.98px) {
  #sonic-toast-bottom-right.toast-container,
.toast-container.sonic-toast-bottom-right {
    left: auto !important;
    right: 8px !important;
    bottom: 8px !important;
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
  }
  #sonic-toast-bottom-right.toast-container > .toast,
.toast-container.sonic-toast-bottom-right > .toast {
    min-height: 76px;
    padding: 14px 48px 14px 42px !important;
    border-radius: 14px !important;
  }
}

/* ========================================================================== */
/* v1.7.5 - Opaque card bodies and unified action footers                     */
/* ========================================================================== */

/*
 * Forms must sit on an opaque clean surface.  This deliberately changes only
 * the content/body surface; coloured or gradient card headers keep their own
 * identity exactly as designed.
 */
.card.sonic-white-form-card,
.structure-page .structure-secondary-card,
.structure-page .structure-editor,
.sonic-form-card {
  background: var(--bs-card-bg) !important;
}

.card.sonic-white-form-card > .card-body,
.structure-page .structure-secondary-card > .card-body,
.structure-page .structure-editor > .card-body,
.sonic-form-card > .card-body {
  background: var(--bs-card-bg) !important;
  background-image: none !important;
}

/*
 * A submit/save/generate action belongs to the card footer, never inside the
 * same horizontal row as data fields.  The JavaScript enhancer adds this class
 * to both legacy forms and newer structure-page forms.
 */
.sonic-card-form-footer {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  align-self: stretch !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  margin: 20px 0 0 !important;
  padding: 18px 0 0 !important;
  border-top: 1px solid #e8ebf3 !important;
  background: var(--bs-card-bg) !important;
  box-shadow: none !important;
}

/* Footers that contain an explanatory note keep the note on the right and
   their actions on the left, matching the approved structure-card example. */
.sonic-card-form-footer.structure-actions,
.sonic-card-form-footer.location-type-actions {
  justify-content: space-between !important;
}

.sonic-card-form-footer .btn,
.sonic-card-form-footer button,
.sonic-card-form-footer input[type="submit"] {
  width: auto !important;
  min-width: 145px;
  min-height: 46px;
  margin: 0 !important;
  align-self: center !important;
}

.sonic-card-form-footer > [class*="col-"] {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
}

/* Remove old one-row offsets that previously pushed action buttons alongside
   field controls. */
body .sonic-card-form-footer,
.sonic-card-form-footer.sonic-action-cell,
.sonic-card-form-footer.sonic-form-actions,
.sonic-card-form-footer.sonic-project-actions,
.sonic-card-form-footer.sonic-tower-actions,
.sonic-card-form-footer.sonic-floor-actions,
.sonic-card-form-footer.sonic-apartment-type-actions,
.sonic-card-form-footer.sonic-location-actions,
.sonic-card-form-footer.sonic-location-generate-actions,
.sonic-card-form-footer.sonic-specialty-actions,
.sonic-card-form-footer.sonic-work-item-actions,
.sonic-card-form-footer.contractor-action-cell,
.sonic-card-form-footer.structure-bulk-action {
  padding-top: 18px !important;
}

/* Dark mode keeps the same opaque principle using the real dark card surface. */
[data-bs-theme="dark"] .card.sonic-white-form-card,
[data-bs-theme="dark"] .structure-page .structure-secondary-card,
[data-bs-theme="dark"] .structure-page .structure-editor,
[data-bs-theme="dark"] .sonic-form-card,
[data-bs-theme="dark"] .card.sonic-white-form-card > .card-body,
[data-bs-theme="dark"] .structure-page .structure-secondary-card > .card-body,
[data-bs-theme="dark"] .structure-page .structure-editor > .card-body,
[data-bs-theme="dark"] .sonic-form-card > .card-body,
[data-bs-theme="dark"] .sonic-card-form-footer {
  background: var(--bs-card-bg) !important;
  background-image: none !important;
  border-color: var(--bs-border-color) !important;
}

@media (max-width: 767.98px) {
  .sonic-card-form-footer,
.sonic-card-form-footer.structure-actions,
.sonic-card-form-footer.location-type-actions {
    align-items: stretch !important;
    justify-content: stretch !important;
    flex-direction: column !important;
  }

  .sonic-card-form-footer .btn,
.sonic-card-form-footer button,
.sonic-card-form-footer input[type="submit"],
.sonic-card-form-footer > .d-flex,
.sonic-card-form-footer > [class*="col-"] {
    width: 100% !important;
  }
}

/* ========================================================================== */
/* v1.7.6 - Unified form rhythm, dark footer actions and aligned input icons   */
/* ========================================================================== */
:root {
  --sonic-unified-control-height: 48px;
  --sonic-unified-field-gap: 16px;
  --sonic-unified-card-title-size: 1rem;
}

/* Footer actions use the normal dark Bootstrap button, never oversized. */
.sonic-card-form-footer .btn.btn-dark,
.sonic-card-form-footer button.btn-dark,
.sonic-card-form-footer input.btn-dark[type="submit"] {
  width: auto !important;
  min-width: 0 !important;
  min-height: 40px !important;
  height: auto !important;
  padding: .55rem 1rem !important;
  border-radius: .5rem !important;
  border-color: var(--bs-dark) !important;
  color: #fff !important;
  background: var(--bs-dark) !important;
  box-shadow: none !important;
  font-size: .875rem !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
}
.sonic-card-form-footer .btn.btn-dark:hover,
.sonic-card-form-footer .btn.btn-dark:focus {
  color: #fff !important;
  background: #111827 !important;
  border-color: #111827 !important;
}
[data-bs-theme="dark"] .sonic-card-form-footer .btn.btn-dark {
  color: #111827 !important;
  background: #f8fafc !important;
  border-color: #f8fafc !important;
}
[data-bs-theme="dark"] .sonic-card-form-footer .btn.btn-dark:hover,
[data-bs-theme="dark"] .sonic-card-form-footer .btn.btn-dark:focus {
  color: #111827 !important;
  background: #e2e8f0 !important;
  border-color: #e2e8f0 !important;
}

/* All icon + control pairs share exactly one height and one baseline. */
.sonic-unified-input-group {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  height: var(--sonic-unified-control-height) !important;
}
.sonic-unified-input-group > .sonic-unified-addon,
.sonic-unified-input-group > .input-group-text {
  flex: 0 0 var(--sonic-unified-control-height) !important;
  width: var(--sonic-unified-control-height) !important;
  min-width: var(--sonic-unified-control-height) !important;
  height: var(--sonic-unified-control-height) !important;
  min-height: var(--sonic-unified-control-height) !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: stretch !important;
  line-height: 1 !important;
}
.sonic-unified-input-group > .input-group-text i,
.sonic-unified-input-group > .input-group-text svg {
  display: block !important;
  margin: 0 !important;
  font-size: 1.05rem !important;
  line-height: 1 !important;
}
.sonic-unified-input-group > .form-control,
.sonic-unified-input-group > .form-select,
.sonic-unified-input-group > input:not([type="hidden"]),
.sonic-unified-input-group > select,
.sonic-unified-input-group > button,
.sonic-unified-input-group > .select2-container {
  flex: 1 1 auto !important;
  width: 1% !important;
  min-width: 0 !important;
  height: var(--sonic-unified-control-height) !important;
  min-height: var(--sonic-unified-control-height) !important;
  align-self: stretch !important;
  margin: 0 !important;
}
.sonic-unified-input-group > .select2-container .select2-selection--single {
  height: var(--sonic-unified-control-height) !important;
  min-height: var(--sonic-unified-control-height) !important;
  border-radius: 0 !important;
}
.sonic-unified-input-group > .select2-container .select2-selection__rendered {
  height: calc(var(--sonic-unified-control-height) - 2px) !important;
  line-height: calc(var(--sonic-unified-control-height) - 2px) !important;
}
.sonic-unified-input-group > .select2-container .select2-selection__arrow {
  height: calc(var(--sonic-unified-control-height) - 2px) !important;
}

/* Equal Bootstrap rows: each visible field gets the same fraction. */
.sonic-equal-field-row {
  display: grid !important;
  grid-template-columns: repeat(var(--sonic-equal-columns, 2), minmax(0, 1fr)) !important;
  align-items: start !important;
  gap: var(--sonic-unified-field-gap) !important;
  margin-inline: 0 !important;
  margin-top: 0 !important;
}
.sonic-equal-field-row > [class*="col"] {
  grid-column: auto !important;
  flex: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  padding-inline: 0 !important;
  margin: 0 !important;
}

/* Equal custom grids override old page-by-page unequal minmax ratios. */
.sonic-uniform-fields-grid {
  display: grid !important;
  grid-template-columns: repeat(var(--sonic-uniform-columns, 4), minmax(0, 1fr)) !important;
  align-items: start !important;
  gap: var(--sonic-unified-field-gap) !important;
}
.sonic-uniform-fields-grid > .sonic-uniform-field {
  grid-column: auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
}
.sonic-uniform-fields-grid > .sonic-uniform-full {
  grid-column: 1 / -1 !important;
  width: 100% !important;
}

/* Labels use one rhythm, preventing controls from appearing higher or lower. */
.sonic-white-form-card .form-label,
.sonic-form-card .form-label,
.structure-editor .form-label,
.structure-secondary-card .form-label {
  min-height: 24px !important;
  margin: 0 0 8px !important;
  display: flex !important;
  align-items: center !important;
  font-size: .875rem !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
}

/* Standard card headings use one readable title size. Hero/page headers remain. */
.sonic-unified-card-heading > strong,
.sonic-unified-card-heading > div > strong,
.sonic-unified-card-heading h5,
.sonic-unified-card-heading h6,
.card > .card-header > strong,
.card > .card-header > div > strong,
.card > .card-header .card-title,
.structure-secondary-head strong,
.locations-generation-head strong {
  font-size: var(--sonic-unified-card-title-size) !important;
  line-height: 1.45 !important;
  font-weight: 900 !important;
}

/* The footer is a real visual footer and stays separate from field grids. */
.sonic-card-form-footer {
  min-height: 66px !important;
  margin-top: 20px !important;
  padding: 16px 0 0 !important;
  align-items: center !important;
}
.sonic-card-form-footer > .d-flex {
  align-items: center !important;
  gap: 8px !important;
}

@media (max-width: 1199.98px) {
  .sonic-uniform-fields-grid,
.sonic-equal-field-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 767.98px) {
  .sonic-uniform-fields-grid,
.sonic-equal-field-row {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .sonic-card-form-footer .btn.btn-dark,
.sonic-card-form-footer button.btn-dark,
.sonic-card-form-footer input.btn-dark[type="submit"] {
    width: 100% !important;
  }
}

/* ========================================================================== */
/* v2.1.15 - Towers direct locations panel and compact bulk generation row    */
/* ========================================================================== */
.structure-towers-page .tower-auto-locations-panel {
  display:grid;
  grid-template-columns:minmax(280px, .95fr) minmax(340px, 1.55fr) auto;
  gap:18px;
  align-items:center;
  width:100%;
  padding:18px 20px;
  border:1px solid #d9e1f0;
  border-radius:16px;
  background:linear-gradient(135deg,#f8f9ff 0%,#f2f5ff 100%);
  box-shadow:0 8px 20px rgba(47,43,112,.05);
}
.structure-towers-page .tower-auto-locations-copy {
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.structure-towers-page .tower-auto-locations-icon {
  flex:0 0 46px;
  width:46px;
  height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  color:#fff;
  background:linear-gradient(135deg,#6c5ce7,#4636c7);
  box-shadow:0 8px 18px rgba(87,68,211,.24);
  font-size:21px;
}
.structure-towers-page .tower-auto-locations-copy strong {
  display:block;
  margin-bottom:4px;
  color:#18213a;
  font-size:14px;
  font-weight:900;
  line-height:1.45;
}
.structure-towers-page .tower-auto-locations-copy small {
  display:block;
  color:#68738c;
  font-size:12px;
  font-weight:700;
}
.structure-towers-page .tower-auto-location-tags {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:9px;
  min-width:0;
}
.structure-towers-page .tower-auto-location-tag {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:36px;
  padding:7px 13px;
  border:1px solid #cfc9ff;
  border-radius:999px;
  color:#4f3bc4;
  background: var(--bs-card-bg);
  box-shadow:0 4px 11px rgba(79,59,196,.08);
  font-size:13px;
  font-weight:900;
  white-space:nowrap;
}
.structure-towers-page .tower-auto-location-tag:nth-child(3n/**/+2) {
  color:#087c66;
  border-color:#afe3d7;
  background:#f1fffb;
}
.structure-towers-page .tower-auto-location-tag:nth-child(3n/**/+3) {
  color:#a45a05;
  border-color:#f6d5a2;
  background:#fffaf1;
}
.structure-towers-page .tower-auto-location-tag.is-empty {
  color:#667085;
  border-color:#d7dce5;
  background:#f9fafb;
  white-space:normal;
}
.structure-towers-page .tower-auto-locations-manage {
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:9px 14px;
  border:1px solid #6b5ae6;
  border-radius:11px;
  color:#5945d7;
  background: var(--bs-card-bg);
  font-weight:900;
  white-space:nowrap;
}
.structure-towers-page .tower-auto-locations-manage:hover,
.structure-towers-page .tower-auto-locations-manage:focus {
  color:#fff;
  border-color:#5945d7;
  background:#5945d7;
}
.structure-towers-page .towers-bulk-grid.towers-bulk-grid-v215 {
  grid-template-columns:minmax(260px,1.55fr) minmax(150px,.8fr) minmax(150px,.8fr) minmax(250px,1.25fr) minmax(180px,.85fr);
  gap:16px;
  align-items:end;
}
.structure-towers-page .towers-bulk-grid-v215 .towers-prefix-field,
.structure-towers-page .towers-bulk-grid-v215 .structure-bulk-action {
  grid-column:auto;
}
.structure-towers-page .towers-bulk-auto-note {
  min-height:48px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 12px;
  border:1px solid #d8e0ee;
  border-radius:11px;
  background:#f7f9fc;
  overflow:hidden;
}
.structure-towers-page .towers-bulk-auto-note-icon {
  flex:0 0 32px;
  width:32px;
  height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:9px;
  color:#5b49d5;
  background:#ebe8ff;
  font-size:17px;
}
.structure-towers-page .towers-bulk-auto-note strong,
.structure-towers-page .towers-bulk-auto-note small {
  display:block;
}
.structure-towers-page .towers-bulk-auto-note strong {
  margin-bottom:2px;
  color:#26324a;
  font-size:12px;
  font-weight:900;
}
.structure-towers-page .towers-bulk-auto-note small {
  color:#58647a;
  font-size:11px;
  font-weight:800;
  line-height:1.35;
}
[data-bs-theme="dark"] .structure-towers-page .tower-auto-locations-panel {
  border-color:#3d465b;
  background:linear-gradient(135deg,#202636 0%,#242a3d 100%);
}
[data-bs-theme="dark"] .structure-towers-page .tower-auto-locations-copy strong { color:#f3f5ff; }
[data-bs-theme="dark"] .structure-towers-page .tower-auto-locations-copy small { color:#aeb8cc; }
[data-bs-theme="dark"] .structure-towers-page .tower-auto-location-tag {
  color:#d9d4ff;
  border-color:#5b508e;
  background:#2a3042;
}
[data-bs-theme="dark"] .structure-towers-page .tower-auto-location-tag:nth-child(3n/**/+2) {
  color:#9ce6d7;
  border-color:#315f59;
  background:#203936;
}
[data-bs-theme="dark"] .structure-towers-page .tower-auto-location-tag:nth-child(3n/**/+3) {
  color:#ffd295;
  border-color:#765d35;
  background:#403522;
}
[data-bs-theme="dark"] .structure-towers-page .tower-auto-location-tag.is-empty {
  color:#bec6d7;
  border-color:#4b5366;
  background:#2a3040;
}
[data-bs-theme="dark"] .structure-towers-page .tower-auto-locations-manage {
  color:#d6d0ff;
  border-color:#7569cd;
  background:#252b3b;
}
[data-bs-theme="dark"] .structure-towers-page .towers-bulk-auto-note {
  border-color:#3e4659;
  background:#202635;
}
[data-bs-theme="dark"] .structure-towers-page .towers-bulk-auto-note strong { color:#eef1ff; }
[data-bs-theme="dark"] .structure-towers-page .towers-bulk-auto-note small { color:#bac3d7; }
@media (max-width:1599.98px) {
  .structure-towers-page .tower-auto-locations-panel {
    grid-template-columns:minmax(260px,1fr) minmax(320px,1.4fr);
  }
  .structure-towers-page .tower-auto-locations-manage {
    grid-column:1 / -1;
    justify-self:start;
  }
  .structure-towers-page .towers-bulk-grid.towers-bulk-grid-v215 {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .structure-towers-page .towers-bulk-grid-v215 .towers-prefix-field,
.structure-towers-page .towers-bulk-grid-v215 .towers-bulk-auto-note,
.structure-towers-page .towers-bulk-grid-v215 .structure-bulk-action {
    grid-column:span 2;
  }
}
@media (max-width:767.98px) {
  .structure-towers-page .tower-auto-locations-panel {
    grid-template-columns:1fr;
    padding:16px;
  }
  .structure-towers-page .tower-auto-location-tags { align-items:stretch; }
  .structure-towers-page .tower-auto-location-tag { white-space:normal; }
  .structure-towers-page .tower-auto-locations-manage {
    grid-column:auto;
    width:100%;
  }
  .structure-towers-page .towers-bulk-grid.towers-bulk-grid-v215 {
    grid-template-columns:1fr;
  }
  .structure-towers-page .towers-bulk-grid-v215 .towers-prefix-field,
.structure-towers-page .towers-bulk-grid-v215 .towers-bulk-auto-note,
.structure-towers-page .towers-bulk-grid-v215 .structure-bulk-action {
    grid-column:auto;
  }
}


/* ========================================================================== */
/* v2.1.16 - Towers bulk row: aligned auto-generation field                   */
/* ========================================================================== */
.structure-towers-page .towers-bulk-grid.towers-bulk-grid-v215 {
  grid-template-columns:minmax(235px,1.35fr) minmax(135px,.72fr) minmax(135px,.72fr) minmax(260px,1.25fr) minmax(170px,.72fr);
  gap:16px;
  align-items:end;
}
.structure-towers-page .towers-bulk-auto-field {
  min-width:0;
}
.structure-towers-page .towers-bulk-auto-field .form-label {
  display:block;
  min-height:20px;
  margin-bottom:8px;
  color:#26324a;
  font-size:13px;
  font-weight:900;
  line-height:20px;
}
.structure-towers-page .towers-bulk-auto-note {
  width:100%;
  min-height:48px;
  height:48px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:7px 12px;
  border:1px solid #d8e0ee;
  border-radius:11px;
  background:#f7f9fc;
  overflow:hidden;
}
.structure-towers-page .towers-bulk-auto-note-icon {
  flex:0 0 32px;
  width:32px;
  height:32px;
}
.structure-towers-page .towers-bulk-auto-note-text {
  display:block;
  min-width:0;
  color:#344158;
  font-size:12px;
  font-weight:900;
  line-height:1.35;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.structure-towers-page .towers-bulk-grid-v215 .structure-bulk-action {
  min-width:0;
  align-self:end;
}
.structure-towers-page .towers-bulk-grid-v215 .structure-bulk-action .btn {
  width:100%;
  min-height:48px;
  height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
[data-bs-theme="dark"] .structure-towers-page .towers-bulk-auto-field .form-label {
  color:#eef1ff;
}
[data-bs-theme="dark"] .structure-towers-page .towers-bulk-auto-note-text {
  color:#d7deed;
}
@media (max-width:1199.98px) {
  .structure-towers-page .towers-bulk-grid.towers-bulk-grid-v215 {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .structure-towers-page .towers-bulk-grid-v215 .towers-prefix-field,
.structure-towers-page .towers-bulk-grid-v215 .towers-bulk-auto-field,
.structure-towers-page .towers-bulk-grid-v215 .structure-bulk-action {
    grid-column:span 2;
  }
}
@media (max-width:767.98px) {
  .structure-towers-page .towers-bulk-grid.towers-bulk-grid-v215 {
    grid-template-columns:1fr;
  }
  .structure-towers-page .towers-bulk-grid-v215 .towers-prefix-field,
.structure-towers-page .towers-bulk-grid-v215 .towers-bulk-auto-field,
.structure-towers-page .towers-bulk-grid-v215 .structure-bulk-action {
    grid-column:auto;
  }
  .structure-towers-page .towers-bulk-auto-note-text {
    white-space:normal;
  }
}


/* ========================================================================== */
/* v2.1.17 - Dynamic tower floor limits and automatic floor-location switch   */
/* ========================================================================== */
.structure-floors-page .floors-auto-generate-box {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  padding: 8px 13px;
  border: 1px solid #dfe2f3;
  border-radius: 10px;
  background: var(--bs-card-bg);
  cursor: pointer;
}
.structure-floors-page .floors-auto-generate-box strong {
  display: block;
  color: #34405f;
  font-weight: 900;
  line-height: 1.2;
}
.structure-floors-page .floors-auto-generate-box small {
  display: block;
  margin-top: 2px;
  color: #7f879d;
  font-size: .76rem;
  line-height: 1.3;
}
.structure-floors-page .floors-auto-generate-box .form-check-input {
  width: 2.5rem;
  height: 1.35rem;
  margin: 0;
}
[data-bs-theme="dark"] .structure-floors-page .floors-auto-generate-box {
  background: #202635;
  border-color: #3e4659;
}
[data-bs-theme="dark"] .structure-floors-page .floors-auto-generate-box strong { color: #edf0ff; }

/* ========================================================================== */
/* v2.2.0 - Bulk tower planned-floor field                                    */
/* ========================================================================== */
@media (min-width:1200px) {
  .structure-towers-page .towers-bulk-grid.towers-bulk-grid-v215 {
    grid-template-columns:minmax(190px,1.2fr) minmax(110px,.65fr) minmax(110px,.65fr) minmax(150px,.75fr) minmax(235px,1.15fr) minmax(155px,.72fr);
  }
}

/* ========================================================================== */
/* v2.3.11 - Work defects layout and state cards                              */
/* ========================================================================== */
.wd-page .wd-hero-band {
  align-items:flex-start;
  justify-content:space-between;
  gap:28px;
  direction:rtl;
  padding:28px 28px 24px;
}
.wd-page .wd-hero-heading {
  position:relative;
  z-index:1;
  flex:1 1 auto;
  min-width:0;
  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
  gap:18px;
}
.wd-page .wd-hero-copy {
  flex:1 1 auto;
  min-width:0;
  text-align:right;
}
.wd-page .wd-hero-title {
  color:#fff !important;
  text-align:right;
}
.wd-page .wd-hero-badge {
  align-self:flex-start;
  flex:0 0 auto;
}
.wd-page .wd-hero-icon {
  flex:0 0 74px;
}

.wd-page .wd-recheck-panel {
  border:1px solid #f6d58e !important;
  background: var(--bs-card-bg);
}
.wd-page .wd-recheck-head {
  padding:18px 22px;
  direction:rtl;
  color:#fff;
  background:linear-gradient(105deg,#f6ad1b 0%,#e38a09 58%,#bc6700 100%);
  border-bottom:0;
}
.wd-page .wd-recheck-head-copy {
  min-width:0;
  text-align:right;
}
.wd-page .wd-recheck-kicker,
.wd-page .wd-recheck-head h3 {
  color:#fff;
}
.wd-page .wd-recheck-kicker { opacity:.88; }
.wd-page .wd-recheck-head h3 { font-size:1.18rem; }
.wd-page .wd-count-badge {
  min-width:46px;
  height:46px;
  border:1px solid rgba(255,255,255,.30);
  background:rgba(255,255,255,.18);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);
}
.wd-page .wd-recheck-list { gap:18px; }
.wd-page .wd-recheck-card {
  display:block;
  overflow:hidden;
  padding:0;
  border:1px solid #f5dfad;
  border-top:4px solid #efa313;
  border-radius:20px;
  background: var(--bs-card-bg);
  box-shadow:0 12px 28px rgba(78,63,15,.07);
}
.wd-page .wd-recheck-card-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:16px 18px;
  background:linear-gradient(180deg,#fffaf0 0%,#fff7e5 100%);
  border-bottom:1px solid #f6e5bd;
}
.wd-page .wd-recheck-info { min-width:0; }
.wd-page .wd-recheck-title-row {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.7rem;
  margin-bottom:.35rem;
}
.wd-page .wd-recheck-info h4 {
  margin:0;
  color:#2c3347;
  font-size:1.07rem;
  font-weight:900;
}
.wd-page .wd-recheck-info p { margin:0; }
.wd-page .wd-submitted-qty {
  flex:0 0 auto;
  min-width:176px;
  margin:0;
  padding:11px 14px;
  text-align:center;
  background: var(--bs-card-bg);
  border-color:#f3d58e;
  box-shadow:0 5px 14px rgba(153,112,19,.07);
}
.wd-page .wd-submitted-qty strong {
  display:block;
  margin-top:2px;
  font-size:1.05rem;
}
.wd-page .wd-recheck-card-body { padding:18px; }
.wd-page .wd-recheck-form-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  align-items:end;
}
.wd-page .wd-form-field {
  min-width:0;
  display:flex;
  flex-direction:column;
}
.wd-page .wd-form-field .form-label,
.wd-page .wd-correction-form .form-label,
.wd-page .wd-recheck-card .form-label,
.wd-page .wd-escalation-form .form-label {
  min-height:22px;
  margin-bottom:7px;
  font-weight:800;
  color:#49546f;
}
.wd-page .wd-correction-form .form-control,
.wd-page .wd-correction-form .form-select,
.wd-page .wd-recheck-card .form-control,
.wd-page .wd-recheck-card .form-select,
.wd-page .wd-escalation-form .form-control,
.wd-page .wd-escalation-form .form-select {
  width:100%;
  height:46px;
  min-height:46px;
  background: var(--bs-card-bg);
  border-color:#dfe4f5;
}
.wd-page .wd-correction-form input[type="file"].form-control,
.wd-page .wd-recheck-card input[type="file"].form-control {
  padding-top:9px;
  padding-bottom:9px;
}
.wd-page .wd-card-footer,
.wd-page .wd-defect-footer {
  padding:14px 18px;
  background:#fbfcff;
  border-top:1px solid #ebeff8;
}
.wd-page .wd-recheck-footer,
.wd-page .wd-defect-actions {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-start;
  gap:.75rem;
}
.wd-page .wd-card-footer .btn,
.wd-page .wd-defect-actions .btn {
  min-width:190px;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.wd-page .wd-defect-card {
  --wd-card-accent:#f0a412;
  --wd-card-accent-rgb:240,164,18;
  border:1px solid rgba(var(--wd-card-accent-rgb),.28) !important;
  border-top:0 !important;
  box-shadow:0 14px 34px rgba(42,53,83,.08) !important;
}
.wd-page .wd-defect-card.is-open {
  --wd-card-accent:#ee9f0b;
  --wd-card-accent-rgb:238,159,11;
}
.wd-page .wd-defect-card.is-recheck {
  --wd-card-accent:#2878d4;
  --wd-card-accent-rgb:40,120,212;
}
.wd-page .wd-defect-card.is-escalated {
  --wd-card-accent:#df4763;
  --wd-card-accent-rgb:223,71,99;
}
.wd-page .wd-defect-card.is-closed {
  --wd-card-accent:#1d9b67;
  --wd-card-accent-rgb:29,155,103;
}
.wd-page .wd-defect-head {
  position:relative;
  padding:18px 20px;
  border-top:4px solid var(--wd-card-accent);
  border-bottom:1px solid rgba(var(--wd-card-accent-rgb),.16);
  background:linear-gradient(110deg,rgba(var(--wd-card-accent-rgb),.13) 0%,rgba(var(--wd-card-accent-rgb),.055) 48%,#fff 100%);
}
.wd-page .wd-defect-number {
  color:var(--wd-card-accent);
  background:rgba(var(--wd-card-accent-rgb),.11);
  border:1px solid rgba(var(--wd-card-accent-rgb),.14);
}
.wd-page .wd-contractor-chip {
  background:var(--wd-card-accent);
  box-shadow:0 7px 16px rgba(var(--wd-card-accent-rgb),.20);
}
.wd-page .wd-defect-card .card-body { padding:18px; }
.wd-page .wd-kpi-grid { gap:16px; }
.wd-page .wd-kpi {
  --wd-kpi-accent:#5364d9;
  position:relative;
  overflow:hidden;
  min-height:110px;
  padding:17px 18px 15px;
  background: var(--bs-card-bg);
  border:1px solid #e6eaf5;
  box-shadow:0 7px 18px rgba(42,53,83,.045);
}
.wd-page .wd-kpi::before {
  content:"";
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  width:5px;
  background:var(--wd-kpi-accent);
}
.wd-page .wd-kpi small { color:#78829d; }
.wd-page .wd-kpi strong {
  color:var(--wd-kpi-accent);
  font-size:1.36rem;
  line-height:1.3;
}
.wd-page .wd-kpi span { color:#929bb2; }
.wd-page .wd-kpi.is-danger {
  --wd-kpi-accent:#db4964;
  background:linear-gradient(110deg,#fff 0%,#fff7f8 100%);
  border-color:#f3d7de;
}
.wd-page .wd-kpi.is-warning {
  --wd-kpi-accent:#e49a11;
  background:linear-gradient(110deg,#fff 0%,#fffbf0 100%);
  border-color:#f3dfb5;
}
.wd-page .wd-kpi.is-success {
  --wd-kpi-accent:#1b9663;
  background:linear-gradient(110deg,#fff 0%,#f3fcf7 100%);
  border-color:#d4eddf;
}
.wd-page .wd-reason-box {
  margin-bottom:0;
  padding:16px 18px;
  background:linear-gradient(110deg,#fff 0%,#fff6f7 100%);
  border-color:#f2d8dd;
}
.wd-page .wd-correction-form {
  margin-top:16px;
  padding:18px;
  border-radius:18px;
  background:#f8faff;
  border:1px solid #e7ebf7;
}
.wd-page .wd-correction-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  align-items:end;
}
.wd-page .wd-span-2 { grid-column:span 2; }
.wd-page .wd-defect-footer {
  background:linear-gradient(180deg,#fcfdff 0%,#f8faff 100%);
}
.wd-page .wd-escalation-form {
  margin-top:14px;
  padding:14px 16px;
  border-radius:16px;
}
.wd-page .wd-escalation-form-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:end;
}
.wd-page .wd-escalation-form-grid .btn {
  min-height:46px;
  white-space:nowrap;
}

@media (max-width:1199.98px) {
  .wd-page .wd-recheck-form-grid,
.wd-page .wd-correction-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .wd-page .wd-span-2 { grid-column:span 2; }
}
@media (max-width:767.98px) {
  .wd-page .wd-hero-band,
.wd-page .wd-defect-head,
.wd-page .wd-recheck-card-head { flex-direction:column; }
  .wd-page .wd-hero-heading { width:100%; }
  .wd-page .wd-hero-badge { align-self:flex-start; }
  .wd-page .wd-recheck-card-head { align-items:stretch; }
  .wd-page .wd-submitted-qty { min-width:0; width:100%; }
  .wd-page .wd-recheck-form-grid,
.wd-page .wd-correction-grid { grid-template-columns:1fr; }
  .wd-page .wd-span-2 { grid-column:span 1; }
  .wd-page .wd-card-footer .btn,
.wd-page .wd-defect-actions .btn { width:100%; min-width:0; }
  .wd-page .wd-escalation-form-grid { grid-template-columns:1fr; }
  .wd-page .wd-escalation-form-grid .btn { width:100%; }
}

/* Sonic Tower v2.3.12 — الإسناد الجماعي الآمن */
.assignment-info-alert {background:linear-gradient(135deg,#eef4ff 0%,#e8f8ff 100%);color:#1e3a5f;padding:18px 20px}
.assignment-info-icon {display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:46px;border-radius:14px;background: var(--bs-card-bg);color:#2563eb;font-size:24px;box-shadow:0 8px 20px rgba(37,99,235,.14)}
.assignment-step-card>.card-header,
.assignment-items-card>.card-header,
.assignment-prices-card>.card-header {min-height:62px;display:flex;align-items:center;gap:10px;font-weight:800;background: var(--bs-card-bg);border-bottom:1px solid rgba(15,23,42,.08)}
.assignment-step-number {display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:11px;background:linear-gradient(135deg,#635bff,#4338ca);color:#fff;font-size:15px;font-weight:900;box-shadow:0 7px 16px rgba(99,91,255,.25)}
.assignment-step-card .form-control,
.assignment-step-card .form-select,
.assignment-items-card .form-control,
.assignment-prices-card .form-control {min-height:46px}
.assignment-scope-switch {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.assignment-scope-option {display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto;align-items:center;text-align:right;border:1px solid #dbe3ef;border-radius:16px;padding:15px 16px;background: var(--bs-card-bg);color:#334155;transition:.2s ease}
.assignment-scope-option i {grid-row:1/3;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:13px;background:#f1f5f9;color:#475569;font-size:23px;margin-left:12px}
.assignment-scope-option span {font-weight:900;font-size:15px}.assignment-scope-option small {color:#64748b;margin-top:3px}
.assignment-scope-option.active {border-color:#635bff;background:linear-gradient(135deg,#f4f2ff,#eef2ff);box-shadow:0 8px 24px rgba(99,91,255,.13);color:#4338ca}
.assignment-scope-option.active i {background:#635bff;color:#fff}
.assignment-checklist-toolbar {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.assignment-checkbox-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-height:248px;overflow:auto;padding:2px}
.assignment-floor-grid {grid-template-columns:repeat(5,minmax(0,1fr))}
.assignment-check-card {display:flex;align-items:center;gap:10px;border:1px solid #e2e8f0;border-radius:13px;padding:11px 12px;background: var(--bs-card-bg);cursor:pointer;min-height:62px;transition:.18s ease}
.assignment-check-card:hover {border-color:#a5b4fc;background:#f8faff}.assignment-check-card:has(input:checked) {border-color:#635bff;background:#f1efff;box-shadow:0 5px 14px rgba(99,91,255,.1)}
.assignment-check-card .form-check-input {width:20px;height:20px;min-width:20px;margin:0}.assignment-check-card span {display:flex;flex-direction:column;min-width:0}.assignment-check-card strong {font-size:14px}.assignment-check-card small {font-size:11px;color:#64748b;margin-top:3px}
.assignment-step-footer {display:flex;align-items:center;justify-content:space-between;gap:14px;background:#f8fafc;border-top:1px solid #e2e8f0;padding:14px 18px}
.assignment-selection-counter {display:flex;align-items:center;gap:8px;color:#475569;font-weight:700}.assignment-selection-counter i {font-size:20px;color:#635bff}
.assignment-items-header {justify-content:space-between}.assignment-items-header>div:first-child,
.assignment-prices-card>.card-header>div:first-child {display:flex;align-items:center;gap:10px}
.assignment-header-stats {display:flex;flex-wrap:wrap;gap:7px}.assignment-header-stats .badge {padding:8px 11px;font-size:12px}.assignment-stat-total {background:#334155;color:#fff}.assignment-stat-available {background:#dcfce7;color:#166534}.assignment-stat-blocked {background:#fee2e2;color:#991b1b}
.assignment-table-toolbar {display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0}
.assignment-table-search {position:relative;min-width:330px}.assignment-table-search i {position:absolute;right:14px;top:50%;transform:translateY(-50%);color:#64748b;font-size:18px}.assignment-table-search .form-control {padding-right:42px}
.assignment-items-table {min-width:1420px}.assignment-items-table thead th {white-space:nowrap;background:#eff3f8;color:#334155;font-weight:900}.assignment-items-table td {vertical-align:middle}.assignment-check-col {width:62px;text-align:center}.assignment-item-row.blocked-row {background:#fff6f6}.assignment-item-row.empty-row {background:#fafafa;color:#64748b}.assignment-item-row.selected-row {background:#f0fdf7!important;box-shadow:inset -4px 0 #22c55e}.assignment-work-path {max-width:340px;white-space:normal}
.assignment-quantity-input {min-width:130px;text-align:center;font-weight:800}.assignment-row-status {display:inline-flex;align-items:center;gap:5px;white-space:normal;line-height:1.45;padding:7px 9px}.assignment-row-status.available {background:#dcfce7;color:#166534}.assignment-row-status.blocked {background:#fee2e2;color:#991b1b}.assignment-row-status.empty {background:#e2e8f0;color:#475569}
.assignment-price-table {min-width:1050px}.assignment-price-table thead th {background:#1e293b;color:#fff;font-weight:900}.assignment-price-table .form-control {min-width:145px;text-align:center;font-weight:800}.assignment-price-note {display:flex;gap:8px;align-items:flex-start;padding:14px 18px;background:#fff8e7;color:#854d0e;border-top:1px solid #fde68a}
.assignment-final-footer {display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#f8fafc,#eef2ff);padding:16px 18px}.assignment-contract-total {display:flex;flex-direction:column;gap:3px}.assignment-contract-total span {font-size:12px;color:#64748b;font-weight:700}.assignment-contract-total strong {font-size:24px;color:#166534}
.assignment-custom-price-context {display:flex;flex-direction:column;gap:5px;padding:12px 14px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0}.assignment-custom-price-context span {color:#64748b;font-size:12px}
@media(max-width:1199.98px){.assignment-floor-grid,
.assignment-checkbox-grid {grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767.98px){.assignment-scope-switch {grid-template-columns:1fr}.assignment-checkbox-grid,
.assignment-floor-grid {grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-checklist-toolbar,
.assignment-table-toolbar,
.assignment-step-footer,
.assignment-final-footer {align-items:stretch;flex-direction:column}.assignment-table-search {min-width:100%;width:100%}.assignment-table-toolbar .d-flex {width:100%}.assignment-table-toolbar .btn {flex:1}.assignment-step-footer .btn,
.assignment-final-footer .btn {width:100%}.assignment-header-stats {width:100%}}
@media(max-width:480px){.assignment-checkbox-grid,
.assignment-floor-grid {grid-template-columns:1fr}}

/* ===== Sonic Tower v2.3.15: bulk assignments layout and reliable selection tiles ===== */
.assignment-primary-grid {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
  align-items:end;
}
.assignment-primary-field {min-width:0}
.assignment-primary-field .form-label {font-weight:800;margin-bottom:7px;color:#334155}
.assignment-primary-field .form-control,
.assignment-primary-field .form-select {height:48px;min-height:48px}
.assignment-primary-field .select2-container {width:100%!important}
.assignment-primary-field .select2-container .select2-selection--single {height:48px!important;min-height:48px!important;display:flex;align-items:center}
.assignment-primary-field .select2-container .select2-selection--single .select2-selection__rendered {line-height:46px!important;padding-inline:13px 34px!important}
.assignment-primary-field .select2-container .select2-selection--single .select2-selection__arrow {height:46px!important}
.assignment-primary-hint {display:flex;align-items:center;gap:7px;margin-top:12px;padding-top:12px;border-top:1px dashed #dbe3ef;color:#64748b;font-size:12px;font-weight:700}
.assignment-primary-hint i {color:#635bff;font-size:18px}
.assignment-scope-card-full {width:100%}
.assignment-tile-grid {
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important;
  gap:12px!important;
  max-height:430px!important;
  overflow:auto;
  padding:3px 3px 8px!important;
}
.assignment-tile-card {
  position:relative;
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  align-items:center;
  gap:12px;
  min-height:92px;
  border:1px solid #d9e1ec;
  border-radius:16px;
  padding:15px 16px;
  background:linear-gradient(145deg,#f8fafc,#eef2f6);
  color:#334155;
  cursor:pointer;
  text-align:right;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease;
  overflow:hidden;
  user-select:none;
}
.assignment-tile-card::after {
  content:"";
  position:absolute;
  inset:auto -36px -54px auto;
  width:110px;
  height:110px;
  border-radius:50%;
  background:rgba(100,116,139,.055);
  pointer-events:none;
}
.assignment-tile-card:hover {transform:translateY(-2px);border-color:#aab6c7;box-shadow:0 10px 22px rgba(15,23,42,.09);background:linear-gradient(145deg,#ffffff,#edf1f5)}
.assignment-tile-card:focus-visible {outline:3px solid rgba(99,91,255,.25);outline-offset:2px}
.assignment-tile-input {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  opacity:0!important;
  pointer-events:none!important;
}
.assignment-tile-icon {
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:50px;
  height:50px;
  border-radius:14px;
  background:#e2e8f0;
  color:#526277;
  font-size:25px;
  box-shadow:inset 0 0 0 1px rgba(71,85,105,.08);
  transition:.18s ease;
}
.assignment-tile-copy {position:relative;z-index:1;display:flex;flex-direction:column;min-width:0;align-self:center}
.assignment-tile-copy strong {font-size:15px;font-weight:900;color:inherit;line-height:1.4;overflow-wrap:anywhere}
.assignment-tile-copy small {margin-top:5px;font-size:12px;font-weight:700;color:#7b8798;line-height:1.45}
.assignment-tile-card.is-selected {
  border-color:#635bff;
  background:linear-gradient(135deg,#f2efff 0%,#edf1ff 100%);
  color:#4338ca;
  box-shadow:0 12px 27px rgba(99,91,255,.17),inset 0 0 0 1px rgba(99,91,255,.08);
}
.assignment-tile-card.is-selected::after {background:rgba(99,91,255,.10)}
.assignment-tile-card.is-selected .assignment-tile-icon {background:linear-gradient(135deg,#756dff,#5548e8);color:#fff;box-shadow:0 8px 18px rgba(99,91,255,.28)}
.assignment-tile-card.is-selected .assignment-tile-copy small {color:#6d63bc}
.assignment-tile-card.is-disabled {cursor:not-allowed;opacity:.58}
.assignment-items-table thead .assignment-check-col {background:#4338ca!important;color:#fff!important}
.assignment-items-table tbody .assignment-check-col {background:#f8fafc;text-align:center}
.assignment-row-selector {display:inline-flex;align-items:center;justify-content:center;margin:0;cursor:pointer}
.assignment-row-selector input {position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.assignment-row-check {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  border-radius:11px;
  border:2px solid #cbd5e1;
  background: var(--bs-card-bg);
  color:transparent;
  font-size:19px;
  box-shadow:0 4px 10px rgba(15,23,42,.08);
  transition:.18s ease;
}
.assignment-row-selector.is-available:hover .assignment-row-check {border-color:#635bff;background:#f3f0ff;transform:translateY(-1px)}
.assignment-row-selector input:focus-visible + .assignment-row-check {outline:3px solid rgba(99,91,255,.22);outline-offset:2px}
.assignment-row-selector input:checked + .assignment-row-check {border-color:#16a34a;background:linear-gradient(135deg,#22c55e,#15803d);color:#fff;box-shadow:0 7px 15px rgba(34,197,94,.25)}
.assignment-row-selector.is-disabled {cursor:not-allowed}
.assignment-row-selector.is-disabled .assignment-row-check {border-color:#fecaca;background:#fff1f2;color:#dc2626;box-shadow:none}
.assignment-item-row.selected-row .assignment-check-col {background:#dcfce7!important}
@media(max-width:1399.98px){.assignment-primary-grid {grid-template-columns:repeat(3,minmax(0,1fr))}.assignment-tile-grid {grid-template-columns:repeat(auto-fill,minmax(200px,1fr))!important}}
@media(max-width:991.98px){.assignment-primary-grid {grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-tile-grid {grid-template-columns:repeat(auto-fill,minmax(180px,1fr))!important}}
@media(max-width:575.98px){.assignment-primary-grid {grid-template-columns:1fr}.assignment-tile-grid {grid-template-columns:1fr!important}.assignment-tile-card {min-height:84px;padding:13px 14px;grid-template-columns:46px minmax(0,1fr)}.assignment-tile-icon {width:46px;height:46px;font-size:22px}}
[data-bs-theme="dark"] .assignment-primary-field .form-label {color:#e2e8f0}
[data-bs-theme="dark"] .assignment-primary-hint {border-color:#334155;color:#94a3b8}
[data-bs-theme="dark"] .assignment-tile-card {border-color:#344154;background:linear-gradient(145deg,#172033,#111827);color:#e2e8f0}
[data-bs-theme="dark"] .assignment-tile-card:hover {border-color:#526174;background:linear-gradient(145deg,#1d293b,#151d2b)}
[data-bs-theme="dark"] .assignment-tile-icon {background:#202b3b;color:#a8b4c5}
[data-bs-theme="dark"] .assignment-tile-copy small {color:#94a3b8}
[data-bs-theme="dark"] .assignment-tile-card.is-selected {border-color:#818cf8;background:linear-gradient(145deg,#292356,#1e2850);color:#d6d9ff}
[data-bs-theme="dark"] .assignment-tile-card.is-selected .assignment-tile-copy small {color:#b8b7ef}
[data-bs-theme="dark"] .assignment-items-table tbody .assignment-check-col {background:#172033}
[data-bs-theme="dark"] .assignment-row-check {border-color:#475569;background:#111827}
[data-bs-theme="dark"] .assignment-row-selector.is-disabled .assignment-row-check {border-color:#7f1d1d;background:#3f151c;color:#fca5a5}
[data-bs-theme="dark"] .assignment-item-row.selected-row .assignment-check-col {background:#123522!important}

/* ========================================================================== */
/* v2.3.16 - Assignments automatic preview, orange location cards, row select */
/* ========================================================================== */
.assignment-scope-auto-footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.assignment-auto-preview-badge {
  display:inline-flex;
  align-items:center;
  gap:7px;
  flex:0 0 auto;
  padding:8px 12px;
  border:1px solid #c4b5fd;
  border-radius:999px;
  color:#5548d9;
  background:#f3f0ff;
  font-size:12px;
  font-weight:900;
}
.assignment-preview-placeholder td {
  min-height:130px;
  background: var(--bs-card-bg)!important;
}

/* Keep floor cards neutral/purple, and visually separate work-location types. */
.assignment-location-type-card {
  border-color:#fed7aa;
  background:linear-gradient(145deg,#fffaf5,#fff3e5);
  color:#9a4b08;
}
.assignment-location-type-card::after {background:rgba(249,115,22,.075)}
.assignment-location-type-card .assignment-tile-icon {
  color:#ea580c;
  background:#ffedd5;
  box-shadow:inset 0 0 0 1px rgba(249,115,22,.13);
}
.assignment-location-type-card .assignment-tile-copy small {color:#b46a2c}
.assignment-location-type-card:hover {
  border-color:#fb923c;
  background:linear-gradient(145deg,#fffdf9,#ffedd5);
  box-shadow:0 10px 22px rgba(234,88,12,.12);
}
.assignment-location-type-card.is-selected {
  border-color:#f97316;
  color:#9a3412;
  background:linear-gradient(135deg,#fff1df 0%,#ffdfb8 100%);
  box-shadow:0 12px 27px rgba(249,115,22,.19),inset 0 0 0 1px rgba(249,115,22,.11);
}
.assignment-location-type-card.is-selected::after {background:rgba(249,115,22,.13)}
.assignment-location-type-card.is-selected .assignment-tile-icon {
  color:#fff;
  background:linear-gradient(135deg,#fb923c,#ea580c);
  box-shadow:0 8px 18px rgba(234,88,12,.28);
}
.assignment-location-type-card.is-selected .assignment-tile-copy small {color:#b45309}

/* The selection column uses the same table header/body background as other columns. */
.assignment-items-table thead .assignment-check-col {
  color:#334155!important;
  background:#eff3f8!important;
}
.assignment-items-table tbody .assignment-check-col {
  background:inherit!important;
  text-align:center;
}
.assignment-row-native-check {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
}
.assignment-row-selector {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
}
.assignment-row-selector:disabled,
.assignment-row-selector.is-disabled {cursor:not-allowed}
.assignment-row-selector:focus-visible {
  outline:3px solid rgba(99,91,255,.22);
  outline-offset:3px;
  border-radius:12px;
}
.assignment-row-selector.is-selected .assignment-row-check {
  border-color:#16a34a;
  color:#fff;
  background:linear-gradient(135deg,#22c55e,#15803d);
  box-shadow:0 7px 15px rgba(34,197,94,.25);
}
.assignment-item-row.selected-row > td {
  background:#dcfce7!important;
  border-color:#bbf7d0!important;
}
.assignment-item-row.selected-row {
  box-shadow:inset -4px 0 #16a34a;
}

[data-bs-theme="dark"] .assignment-auto-preview-badge {
  color:#d8d4ff;
  border-color:#5f57a9;
  background:#28234b;
}
[data-bs-theme="dark"] .assignment-preview-placeholder td {background:#172033!important}
[data-bs-theme="dark"] .assignment-location-type-card {
  color:#fed7aa;
  border-color:#72451f;
  background:linear-gradient(145deg,#302216,#241b14);
}
[data-bs-theme="dark"] .assignment-location-type-card .assignment-tile-icon {
  color:#fdba74;
  background:#432a17;
}
[data-bs-theme="dark"] .assignment-location-type-card .assignment-tile-copy small {color:#d9a06b}
[data-bs-theme="dark"] .assignment-location-type-card.is-selected {
  color:#ffedd5;
  border-color:#fb923c;
  background:linear-gradient(145deg,#543019,#3d2518);
}
[data-bs-theme="dark"] .assignment-location-type-card.is-selected .assignment-tile-copy small {color:#fdba74}
[data-bs-theme="dark"] .assignment-items-table thead .assignment-check-col {
  color:#e2e8f0!important;
  background:#202b3b!important;
}
[data-bs-theme="dark"] .assignment-item-row.selected-row > td {
  color:#dcfce7;
  background:#123522!important;
  border-color:#245a3c!important;
}
@media(max-width:767.98px){
  .assignment-scope-auto-footer {align-items:stretch;flex-direction:column}
  .assignment-auto-preview-badge {align-self:flex-start}
}


/* ========================================================================== */
/* v2.3.17 - Assignments table selection column alignment and sizing           */
/* ========================================================================== */
.assignment-items-table {
  min-width:1480px;
}
.assignment-items-table col.assignment-select-column {
  width:92px;
}
.assignment-items-table thead th.assignment-check-col,
.assignment-items-table tbody td.assignment-check-col {
  width:92px!important;
  min-width:92px!important;
  max-width:92px!important;
  padding:10px 12px!important;
  text-align:center!important;
  vertical-align:middle!important;
  white-space:nowrap!important;
  box-sizing:border-box;
}
.assignment-items-table thead th.assignment-check-col {
  color:#334155!important;
  background:#eff3f8!important;
  border-color:#dce4ee!important;
  font-weight:900;
}
.assignment-items-table tbody td.assignment-check-col {
  background:transparent!important;
  border-color:#dce4ee!important;
}
.assignment-items-table .assignment-row-selector {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  padding:0;
  margin:0 auto;
  border:0;
  border-radius:13px;
  background:transparent;
  box-shadow:none;
  line-height:1;
}
.assignment-items-table .assignment-row-check {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border:2px solid #cbd5e1;
  border-radius:13px;
  background: var(--bs-card-bg);
  color:transparent;
  font-size:21px;
  box-shadow:0 4px 11px rgba(15,23,42,.08);
  transition:border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.assignment-items-table .assignment-row-selector.is-available:hover .assignment-row-check {
  border-color:#635bff;
  background:#f4f2ff;
  color:#635bff;
  transform:translateY(-1px);
}
.assignment-items-table .assignment-row-selector.is-selected .assignment-row-check {
  border-color:#16a34a;
  background:linear-gradient(135deg,#22c55e,#15803d);
  color:#fff;
  box-shadow:0 7px 16px rgba(34,197,94,.25);
  transform:none;
}
.assignment-items-table .assignment-row-selector.is-disabled .assignment-row-check,
.assignment-items-table .assignment-row-selector:disabled .assignment-row-check {
  border-color:#fecaca;
  background:#fff1f2;
  color:#ef4444;
  box-shadow:none;
  transform:none;
}
.assignment-items-table .assignment-item-row.selected-row {
  box-shadow:none!important;
}
.assignment-items-table .assignment-item-row.selected-row > td {
  background:#dcfce7!important;
  border-color:#bbf7d0!important;
}
.assignment-items-table .assignment-item-row.selected-row > td.assignment-check-col {
  background:#dcfce7!important;
}
[data-bs-theme="dark"] .assignment-items-table thead th.assignment-check-col {
  color:#e2e8f0!important;
  background:#202b3b!important;
  border-color:#344154!important;
}
[data-bs-theme="dark"] .assignment-items-table tbody td.assignment-check-col {
  background:transparent!important;
  border-color:#344154!important;
}
[data-bs-theme="dark"] .assignment-items-table .assignment-row-check {
  border-color:#475569;
  background:#111827;
}
[data-bs-theme="dark"] .assignment-items-table .assignment-row-selector.is-disabled .assignment-row-check,
[data-bs-theme="dark"] .assignment-items-table .assignment-row-selector:disabled .assignment-row-check {
  border-color:#7f1d1d;
  background:#3f151c;
  color:#fca5a5;
}
[data-bs-theme="dark"] .assignment-items-table .assignment-item-row.selected-row > td,
[data-bs-theme="dark"] .assignment-items-table .assignment-item-row.selected-row > td.assignment-check-col {
  color:#dcfce7;
  background:#123522!important;
  border-color:#245a3c!important;
}

/* ========================================================================== */
/* v2.3.21 - Work-tree group rows inside assignments actual-items table       */
/* ========================================================================== */
.assignment-items-table .assignment-work-group-row > td {
  background:#f8fafc!important;
  border-color:#dce4ee!important;
  padding-top:9px!important;
  padding-bottom:9px!important;
}
.assignment-items-table .assignment-work-group-row.is-root > td {
  background:#fffaf0!important;
}
.assignment-items-table .assignment-work-group-row.is-branch > td {
  background:#f5f7ff!important;
}
.assignment-items-table .assignment-work-group-row:hover > td {
  background:inherit!important;
}
.assignment-work-group-cell {
  min-width:360px;
  padding-inline:14px!important;
}
.assignment-group-empty-cell,
.assignment-group-fill-cell {
  color:transparent;
}
.assignment-work-group-label {
  display:flex;
  align-items:center;
  gap:9px;
  min-height:34px;
  padding-inline-start:var(--assignment-group-indent,0);
  color:#1e293b;
}
.assignment-work-group-icon {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  flex:0 0 30px;
  border-radius:9px;
  color:#fff;
  background:linear-gradient(135deg,#f59e0b,#d97706);
  box-shadow:0 5px 12px rgba(245,158,11,.18);
}
.assignment-work-group-row.is-branch .assignment-work-group-icon {
  background:linear-gradient(135deg,#6366f1,#4338ca);
  box-shadow:0 5px 12px rgba(99,102,241,.18);
}
.assignment-work-group-label strong {
  font-weight:900;
  color:#334155;
}
.assignment-work-group-badge {
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 9px;
  border-radius:7px;
  font-size:.72rem;
  font-weight:900;
  color:#92400e;
  background:#fef3c7;
  border:1px solid #fde68a;
}
.assignment-work-group-row.is-branch .assignment-work-group-badge {
  color:#3730a3;
  background:#e0e7ff;
  border-color:#c7d2fe;
}
.assignment-work-leaf {
  display:flex;
  align-items:flex-start;
  gap:8px;
  padding-inline-start:var(--assignment-leaf-indent,0);
}
.assignment-work-leaf-icon {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:20px;
  height:20px;
  flex:0 0 20px;
  margin-top:1px;
  color:#64748b;
}
.assignment-work-leaf .assignment-work-path {
  margin-top:3px;
  line-height:1.45;
}
[data-bs-theme="dark"] .assignment-items-table .assignment-work-group-row > td {
  background:#172033!important;
  border-color:#344154!important;
}
[data-bs-theme="dark"] .assignment-items-table .assignment-work-group-row.is-root > td {
  background:#332711!important;
}
[data-bs-theme="dark"] .assignment-items-table .assignment-work-group-row.is-branch > td {
  background:#202244!important;
}
[data-bs-theme="dark"] .assignment-work-group-label strong {
  color:#e2e8f0;
}
[data-bs-theme="dark"] .assignment-work-leaf-icon {
  color:#94a3b8;
}
.assignment-items-table tbody .assignment-work-group-row > td.assignment-check-col,
.assignment-items-table tbody .assignment-work-group-row > td.assignment-group-empty-cell,
.assignment-items-table tbody .assignment-work-group-row > td.assignment-group-fill-cell {
  background:inherit!important;
  border-color:#dce4ee!important;
}
[data-bs-theme="dark"] .assignment-items-table tbody .assignment-work-group-row > td.assignment-check-col,
[data-bs-theme="dark"] .assignment-items-table tbody .assignment-work-group-row > td.assignment-group-empty-cell,
[data-bs-theme="dark"] .assignment-items-table tbody .assignment-work-group-row > td.assignment-group-fill-cell {
  background:inherit!important;
  border-color:#344154!important;
}

/* ========================================================================== */
/* v2.3.22 - Separate execution-allocation headings from work-tree groups      */
/* ========================================================================== */
.assignment-items-table .assignment-work-group-row.is-allocation > td {
  background:#f0fdfa!important;
  border-color:#bfe9e2!important;
}
.assignment-work-group-row.is-allocation .assignment-work-group-icon {
  color:#fff;
  background:linear-gradient(135deg,#14b8a6,#0f766e);
  box-shadow:0 5px 12px rgba(20,184,166,.2);
}
.assignment-work-group-row.is-allocation .assignment-work-group-badge {
  color:#0f766e;
  background:#ccfbf1;
  border-color:#99f6e4;
}
.assignment-work-group-row.is-allocation .assignment-work-group-label strong {
  color:#115e59;
}
[data-bs-theme="dark"] .assignment-items-table .assignment-work-group-row.is-allocation > td {
  background:#103632!important;
  border-color:#245a54!important;
}
[data-bs-theme="dark"] .assignment-work-group-row.is-allocation .assignment-work-group-label strong {
  color:#99f6e4;
}
[data-bs-theme="dark"] .assignment-work-group-row.is-allocation .assignment-work-group-badge {
  color:#99f6e4;
  background:#134e4a;
  border-color:#26756d;
}


/* ========================================================================== */
/* v2.3.23 - Distinguish sub and standalone measurable work items             */
/* ========================================================================== */
.assignment-work-leaf-kind {
  width:30px;
  height:30px;
  flex:0 0 30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:9px;
  border:1px solid transparent;
  font-size:1rem;
  box-shadow:0 4px 10px rgba(15,23,42,.06);
}
.assignment-work-leaf-kind.is-sub {
  color:#7c3aed;
  background:#f3e8ff;
  border-color:#ddd6fe;
}
.assignment-work-leaf-kind.is-standalone {
  color:#15803d;
  background:#dcfce7;
  border-color:#bbf7d0;
}
.assignment-work-leaf-kind.is-sub + div > strong,
.assignment-work-leaf-kind.is-standalone + div > strong {
  color:var(--bs-heading-color);
}
[data-bs-theme="dark"] .assignment-work-leaf-kind.is-sub {
  color:#c4b5fd;
  background:rgba(124,58,237,.18);
  border-color:rgba(196,181,253,.28);
}
[data-bs-theme="dark"] .assignment-work-leaf-kind.is-standalone {
  color:#86efac;
  background:rgba(22,163,74,.18);
  border-color:rgba(134,239,172,.28);
}

/* ========================================================================== */
/* v2.3.24 - Strong state gradients for work-defect cards                     */
/* ========================================================================== */
.wd-page .wd-defect-card {
  --wd-card-start:#f7b923;
  --wd-card-end:#d97706;
  --wd-card-surface:#fffaf0;
  --wd-card-accent-rgb:217,119,6;
  position:relative;
  border:1px solid rgba(var(--wd-card-accent-rgb),.34)!important;
  border-top:0!important;
  border-radius:22px;
  background: var(--bs-card-bg);
  box-shadow:0 18px 42px rgba(var(--wd-card-accent-rgb),.16)!important;
}
.wd-page .wd-defect-card.is-open {
  --wd-card-start:#fbbf24;
  --wd-card-end:#d97706;
  --wd-card-surface:#fffaf0;
  --wd-card-accent-rgb:217,119,6;
}
.wd-page .wd-defect-card.is-recheck {
  --wd-card-start:#3b82f6;
  --wd-card-end:#1d4ed8;
  --wd-card-surface:#eff6ff;
  --wd-card-accent-rgb:29,78,216;
}
.wd-page .wd-defect-card.is-escalated {
  --wd-card-start:#fb5576;
  --wd-card-end:#be123c;
  --wd-card-surface:#fff1f4;
  --wd-card-accent-rgb:190,18,60;
}
.wd-page .wd-defect-card.is-closed {
  --wd-card-start:#22c55e;
  --wd-card-end:#047857;
  --wd-card-surface:#ecfdf5;
  --wd-card-accent-rgb:4,120,87;
}
.wd-page .wd-defect-head {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:96px;
  padding:20px 22px;
  color:#fff;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.18);
  background:linear-gradient(108deg,var(--wd-card-start) 0%,var(--wd-card-end) 100%);
}
.wd-page .wd-defect-head::before,
.wd-page .wd-defect-head::after {
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:50%;
  pointer-events:none;
  background:rgba(255,255,255,.12);
}
.wd-page .wd-defect-head::before {
  width:190px;
  height:190px;
  inset-inline-start:11%;
  top:-118px;
}
.wd-page .wd-defect-head::after {
  width:120px;
  height:120px;
  inset-inline-end:2.5%;
  bottom:-82px;
}
.wd-page .wd-defect-head-main,
.wd-page .wd-contractor-chip { position:relative; z-index:1; }
.wd-page .wd-defect-title-row h3,
.wd-page .wd-defect-location {
  color:#fff!important;
  text-shadow:0 1px 2px rgba(0,0,0,.14);
}
.wd-page .wd-defect-location { opacity:.88; }
.wd-page .wd-defect-number,
.wd-page .wd-defect-head .badge {
  color:#fff!important;
  background:rgba(255,255,255,.18)!important;
  border:1px solid rgba(255,255,255,.32)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);
  backdrop-filter:blur(4px);
}
.wd-page .wd-contractor-chip {
  color:#fff;
  background:rgba(255,255,255,.17);
  border:1px solid rgba(255,255,255,.30);
  box-shadow:0 8px 20px rgba(0,0,0,.12),inset 0 0 0 1px rgba(255,255,255,.05);
  backdrop-filter:blur(4px);
}
.wd-page .wd-defect-card > .card-body {
  background:linear-gradient(180deg,var(--wd-card-surface) 0%,#fff 38%);
}
.wd-page .wd-defect-card .wd-defect-footer {
  background:linear-gradient(180deg,#fff 0%,var(--wd-card-surface) 100%);
  border-top-color:rgba(var(--wd-card-accent-rgb),.18);
}
.wd-page .wd-defect-card .wd-correction-form {
  background:rgba(255,255,255,.86);
  border-color:rgba(var(--wd-card-accent-rgb),.20);
  box-shadow:0 8px 22px rgba(var(--wd-card-accent-rgb),.06);
}

.wd-page .wd-kpi {
  border-width:1px;
  border-top-width:4px;
  box-shadow:0 10px 24px rgba(42,53,83,.07);
}
.wd-page .wd-kpi:not(.is-danger):not(.is-warning):not(.is-success) {
  --wd-kpi-accent:#4f46e5;
  background:linear-gradient(135deg,#eef2ff 0%,#fff 100%);
  border-color:#c7d2fe;
}
.wd-page .wd-kpi.is-danger {
  background:linear-gradient(135deg,#ffe4ea 0%,#fff 100%);
  border-color:#fda4b6;
}
.wd-page .wd-kpi.is-warning {
  background:linear-gradient(135deg,#fff0c7 0%,#fff 100%);
  border-color:#f7c957;
}
.wd-page .wd-kpi.is-success {
  background:linear-gradient(135deg,#dcfce7 0%,#fff 100%);
  border-color:#86efac;
}

.wd-page .wd-recheck-panel {
  border-color:#f5b51f!important;
  box-shadow:0 18px 42px rgba(217,119,6,.14)!important;
}
.wd-page .wd-recheck-head {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:linear-gradient(108deg,#fbbf24 0%,#d97706 100%);
}
.wd-page .wd-recheck-head::after {
  content:"";
  position:absolute;
  z-index:-1;
  width:170px;
  height:170px;
  inset-inline-start:8%;
  top:-105px;
  border-radius:50%;
  background:rgba(255,255,255,.13);
}
.wd-page .wd-recheck-card {
  --wd-card-accent-rgb:217,119,6;
  border-color:#f5c451;
  border-top:0;
  box-shadow:0 16px 34px rgba(217,119,6,.13);
}
.wd-page .wd-recheck-card-head {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  color:#fff;
  background:linear-gradient(108deg,#f8b61c 0%,#cf7204 100%);
  border-bottom-color:rgba(255,255,255,.18);
}
.wd-page .wd-recheck-card-head::after {
  content:"";
  position:absolute;
  z-index:-1;
  width:120px;
  height:120px;
  inset-inline-end:3%;
  bottom:-78px;
  border-radius:50%;
  background:rgba(255,255,255,.12);
}
.wd-page .wd-recheck-info h4,
.wd-page .wd-recheck-info p { color:#fff!important; }
.wd-page .wd-recheck-info p { opacity:.88; }
.wd-page .wd-recheck-card-head .wd-defect-number,
.wd-page .wd-submitted-qty {
  color:#fff;
  background:rgba(255,255,255,.18);
  border-color:rgba(255,255,255,.32);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);
}
.wd-page .wd-submitted-qty small,
.wd-page .wd-submitted-qty strong { color:#fff; }
.wd-page .wd-recheck-card-body {
  background:linear-gradient(180deg,#fff9e8 0%,#fff 58%);
}
.wd-page .wd-recheck-card .wd-card-footer {
  background:linear-gradient(180deg,#fff 0%,#fff7df 100%);
  border-top-color:#f5d88f;
}

[data-bs-theme="dark"] .wd-page .wd-defect-card,
[data-bs-theme="dark"] .wd-page .wd-recheck-card,
[data-bs-theme="dark"] .wd-page .wd-recheck-panel {
  background:#141b2b;
}
[data-bs-theme="dark"] .wd-page .wd-defect-card > .card-body,
[data-bs-theme="dark"] .wd-page .wd-recheck-card-body {
  background:linear-gradient(180deg,rgba(var(--wd-card-accent-rgb),.16) 0%,#141b2b 40%);
}
[data-bs-theme="dark"] .wd-page .wd-defect-card .wd-defect-footer,
[data-bs-theme="dark"] .wd-page .wd-recheck-card .wd-card-footer {
  background:#111827;
}
[data-bs-theme="dark"] .wd-page .wd-defect-card .wd-correction-form {
  background:#111827;
}

/* ========================================================================== 
   v2.3.28 — دورة اعتماد وصرف دفعات المقاولين
   ========================================================================== */
.payment-workflow-page {display:flex;flex-direction:column;gap:1rem}
.payment-flow-hero {position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.35rem 1.5rem;border-radius:20px;color:#fff;background:linear-gradient(120deg,#635bff 0%,#4338ca 100%);box-shadow:0 18px 40px rgba(67,56,202,.22)}
.payment-flow-hero.owner {background:linear-gradient(120deg,#d97706 0%,#f59e0b 100%);box-shadow:0 18px 40px rgba(217,119,6,.22)}
.payment-flow-hero.cashbox {background:linear-gradient(120deg,#047857 0%,#16a34a 100%);box-shadow:0 18px 40px rgba(22,163,74,.22)}
.payment-flow-hero::after {content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.11);inset-inline-end:-60px;bottom:-145px}
.payment-flow-hero>div:first-child {display:flex;align-items:center;gap:1rem;position:relative;z-index:1}
.payment-flow-icon {display:grid;place-items:center;width:56px;height:56px;border-radius:18px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.3);font-size:1.7rem;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.payment-flow-hero h3 {color:#fff;margin:0 0 .25rem;font-weight:800}
.payment-flow-hero p {margin:0;color:rgba(255,255,255,.86)}
.payment-flow-steps {display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;position:relative;z-index:1}
.payment-flow-steps span {padding:.5rem .75rem;border-radius:999px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.2);font-size:.82rem;font-weight:700;white-space:nowrap}
.payment-flow-steps span.is-active {background: var(--bs-card-bg);color:#312e81;box-shadow:0 8px 20px rgba(0,0,0,.12)}
.payment-flow-hero.owner .payment-flow-steps span.is-active {color:#92400e}
.payment-flow-hero.cashbox .payment-flow-steps span.is-active {color:#065f46}
.payment-request-active {display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid #c7d2fe;border-radius:16px;background:linear-gradient(135deg,#eef2ff,#fff)}
.payment-request-active h5 {margin:.55rem 0 .2rem}
.payment-request-active p {margin:0;color:#64748b}
.payment-requests-table th,
.payment-requests-table td {vertical-align:middle;text-align:center}
.payment-request-list {max-height:760px;overflow:auto}
.payment-request-list .list-group-item {padding:1rem;border-inline:0}
.payment-request-list .list-group-item.active {background:linear-gradient(135deg,#635bff,#4338ca);border-color:transparent;color:#fff}
.owner-approval-page .payment-request-list .list-group-item.active {background:linear-gradient(135deg,#f59e0b,#d97706)}
.cashbox-payment-page .payment-request-list .list-group-item.active {background:linear-gradient(135deg,#16a34a,#047857)}
.payment-owner-decision-card>.card-header,
.cashbox-order-card>.card-header {display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem 1.25rem;color:#fff;background:linear-gradient(120deg,#4338ca,#635bff)}
.payment-owner-decision-card>.card-header {background:linear-gradient(120deg,#b45309,#f59e0b)}
.cashbox-order-card>.card-header {background:linear-gradient(120deg,#047857,#16a34a)}
.payment-owner-decision-card>.card-header h4,
.cashbox-order-card>.card-header h4 {color:#fff;margin:0 0 .25rem}
.payment-owner-decision-card>.card-header p,
.cashbox-order-card>.card-header p {color:rgba(255,255,255,.85);margin:0}
.payment-owner-decision-card>.card-header small,
.cashbox-order-card>.card-header small {font-size:.85rem;opacity:.8}
.payment-summary-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}
.payment-summary-grid article {padding:1rem;border-radius:15px;border:1px solid #e2e8f0;background:linear-gradient(145deg,#f8fafc,#fff)}
.payment-summary-grid small {display:block;color:#64748b;margin-bottom:.35rem}
.payment-summary-grid strong {display:block;font-size:1.15rem;color:#0f172a}
.owner-decision-form .form-control,
.cashbox-order-card .form-control {min-height:46px}
.owner-decision-footer {display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:1.25rem;padding-top:1rem;border-top:1px solid #e2e8f0}
.payment-work-detail-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
.payment-work-detail-grid>div {padding:.9rem 1rem;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc}
.payment-work-detail-grid small {display:block;color:#64748b;margin-bottom:.35rem}
.payment-work-detail-grid strong {display:block;color:#0f172a;line-height:1.6}
[data-bs-theme="dark"] .payment-request-active,
[data-bs-theme="dark"] .payment-summary-grid article,
[data-bs-theme="dark"] .payment-work-detail-grid>div {background:#111827;border-color:#334155}
[data-bs-theme="dark"] .payment-summary-grid strong,
[data-bs-theme="dark"] .payment-work-detail-grid strong {color:#f8fafc}
[data-bs-theme="dark"] .payment-summary-grid small,
[data-bs-theme="dark"] .payment-work-detail-grid small {color:#94a3b8}
@media(max-width:1199.98px){.payment-flow-hero {align-items:flex-start;flex-direction:column}.payment-summary-grid {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767.98px){.payment-flow-hero {padding:1.1rem}.payment-flow-steps {width:100%}.payment-flow-steps span {flex:1;text-align:center}.payment-summary-grid,
.payment-work-detail-grid {grid-template-columns:1fr}.payment-request-active {align-items:flex-start;flex-direction:column}.payment-request-active .btn {width:100%}.payment-owner-decision-card>.card-header,
.cashbox-order-card>.card-header {align-items:flex-start;flex-direction:column}}

/* ========================================================================== 
   v2.3.34 — بطاقات إحصائيات التسوية البارزة في سطر واحد
   ========================================================================== */
.settlements-page .settlement-overview-card {
  overflow: hidden;
  border: 0;
}
.settlements-page .settlement-overview-head {
  position: relative;
  z-index: 2;
}
.settlements-page .settlement-stats-scroll {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  padding: .1rem 0 .35rem;
  scrollbar-width: thin;
  scrollbar-color: rgba(99,91,255,.38) transparent;
}
.settlements-page .settlement-stats-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(145px, 1fr));
  gap: .75rem;
  min-width: 930px;
}
.settlements-page .settlement-stat-card {
  --settlement-stat-from: #625afd;
  --settlement-stat-to: #4338ca;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 146px;
  padding: 1rem;
  border: 1px solid rgba(255,255,255,.20);
  border-radius: 18px;
  color: #fff;
  background:
    radial-gradient(circle at 14% -12%, rgba(255,255,255,.24) 0 17%, transparent 17.5%),
    radial-gradient(circle at 103% 112%, rgba(255,255,255,.14) 0 23%, transparent 23.5%),
    linear-gradient(125deg, var(--settlement-stat-from) 0%, var(--settlement-stat-to) 100%);
  box-shadow: 0 14px 30px color-mix(in srgb, var(--settlement-stat-to) 25%, transparent);
  transition: transform .18s ease, box-shadow .18s ease;
}
.settlements-page .settlement-stat-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 36px color-mix(in srgb, var(--settlement-stat-to) 34%, transparent);
}
.settlements-page .settlement-stat-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .5rem;
  margin-bottom: 1rem;
}
.settlements-page .settlement-stat-card small {
  display: block;
  max-width: calc(100% - 42px);
  color: rgba(255,255,255,.92);
  font-size: .78rem;
  line-height: 1.45;
  font-weight: 800;
}
.settlements-page .settlement-stat-icon {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 12px;
  background: rgba(255,255,255,.15);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
  font-size: 1.18rem;
}
.settlements-page .settlement-stat-card strong {
  display: block;
  color: #fff;
  font-size: 1.22rem;
  line-height: 1.2;
  font-weight: 900;
  white-space: nowrap;
}
.settlements-page .settlement-stat-card strong span {
  font-size: .72em;
  font-weight: 800;
  opacity: .94;
}
.settlements-page .settlement-stat-card p {
  margin: .45rem 0 0;
  color: rgba(255,255,255,.78);
  font-size: .72rem;
  line-height: 1.45;
  font-weight: 600;
}
.settlements-page .settlement-stat-approved { --settlement-stat-from: #6d5dfc; --settlement-stat-to: #4338ca; }
.settlements-page .settlement-stat-gross { --settlement-stat-from: #22c58b; --settlement-stat-to: #047857; }
.settlements-page .settlement-stat-charges { --settlement-stat-from: #fb5c7a; --settlement-stat-to: #be123c; }
.settlements-page .settlement-stat-defects { --settlement-stat-from: #ffbd24; --settlement-stat-to: #d66a00; }
.settlements-page .settlement-stat-released { --settlement-stat-from: #2da9f7; --settlement-stat-to: #0369a1; }
.settlements-page .settlement-stat-held { --settlement-stat-from: #475569; --settlement-stat-to: #0f172a; }
@media (max-width: 767.98px) {
  .settlements-page .settlement-stats-grid {
    grid-template-columns: repeat(6, minmax(158px, 1fr));
    min-width: 1020px;
  }
  .settlements-page .settlement-stat-card {
    min-height: 138px;
  }
}


/* v2.3.35 - نظام المخازن المتعددة */
.inventory-hero {
  background: linear-gradient(135deg, rgba(99,91,255,.12), rgba(14,165,233,.08));
  border: 1px solid rgba(99,91,255,.14) !important;
}
.inventory-stat-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(150px, 1fr));
  gap: 14px;
  overflow-x: auto;
  padding-bottom: 3px;
}
.inventory-stat-card {
  min-width: 150px;
  min-height: 125px;
  border-radius: 18px;
  padding: 18px;
  color: #fff;
  position: relative;
  overflow: hidden;
  box-shadow: 0 12px 28px rgba(15,23,42,.12);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.inventory-stat-card::before,
.inventory-stat-card::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  background: rgba(255,255,255,.13);
}
.inventory-stat-card::before { width: 90px; height: 90px; inset-inline-end: -30px; top: -28px; }
.inventory-stat-card::after { width: 50px; height: 50px; inset-inline-start: -16px; bottom: -20px; }
.inventory-stat-card > i { font-size: 28px; opacity: .95; margin-bottom: 8px; }
.inventory-stat-card > strong { font-size: 26px; line-height: 1.1; position: relative; z-index: 1; }
.inventory-stat-card > span { font-size: 13px; font-weight: 700; opacity: .93; margin-top: 6px; position: relative; z-index: 1; }
.inventory-stat-card.inv-violet { background: linear-gradient(135deg, #7c3aed, #4f46e5); }
.inventory-stat-card.inv-blue { background: linear-gradient(135deg, #2563eb, #0284c7); }
.inventory-stat-card.inv-green { background: linear-gradient(135deg, #16a34a, #059669); }
.inventory-stat-card.inv-amber { background: linear-gradient(135deg, #f59e0b, #ea580c); }
.inventory-stat-card.inv-cyan { background: linear-gradient(135deg, #0891b2, #0e7490); }
.inventory-stat-card.inv-red { background: linear-gradient(135deg, #dc2626, #be123c); }
.inventory-stat-card.inv-dark { background: linear-gradient(135deg, #334155, #0f172a); }
.inventory-module-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(180px, 1fr));
  gap: 16px;
}
.inventory-module-card {
  border: 1px solid var(--bs-border-color);
  border-radius: 16px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 7px;
  color: var(--bs-body-color);
  background: var(--bs-body-bg);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  min-height: 145px;
}
.inventory-module-card:hover {
  transform: translateY(-3px);
  border-color: rgba(99,91,255,.35);
  box-shadow: 0 14px 30px rgba(15,23,42,.09);
  color: var(--bs-primary);
}
.inventory-module-icon {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: rgba(99,91,255,.12);
  color: var(--bs-primary);
  font-size: 25px;
}
.inventory-module-card strong { font-size: 16px; }
.inventory-module-card small { color: var(--bs-secondary-color); line-height: 1.65; }
.inventory-check-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px 14px;
  padding: 12px;
  border: 1px solid var(--bs-border-color);
  border-radius: 14px;
  background: var(--bs-tertiary-bg);
}
.inventory-check-grid .form-check { margin: 0; }
@media (max-width: 1199.98px) {
  .inventory-stat-grid { grid-template-columns: repeat(6, minmax(165px, 1fr)); }
  .inventory-module-grid { grid-template-columns: repeat(3, minmax(180px, 1fr)); }
}
@media (max-width: 767.98px) {
  .inventory-module-grid { grid-template-columns: repeat(2, minmax(150px, 1fr)); }
  .inventory-check-grid { grid-template-columns: 1fr; }
}
@media (max-width: 479.98px) {
  .inventory-module-grid { grid-template-columns: 1fr; }
}


/* ========================================================================== */
/* v2.3.39 — توحيد واجهات نظام المخازن وإبقاء محررات الأصناف في صفوف حقيقية */
/* ========================================================================== */
.inventory-workflow-page .inventory-page-stack {
  display: grid;
  gap: 22px;
}
.inventory-workflow-page .inventory-form-card,
.inventory-workflow-page .inventory-data-card {
  overflow: visible;
}
.inventory-workflow-page .inventory-workflow-form {
  display: grid;
  gap: 18px;
}
.inventory-workflow-page .inventory-form-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px !important;
  width: 100%;
  margin: 0 !important;
  align-items: end;
}
.inventory-workflow-page .inventory-form-grid > * {
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.inventory-workflow-page .inventory-form-grid.inventory-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.inventory-workflow-page .inventory-form-grid.inventory-grid-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.inventory-workflow-page .inventory-form-grid.inventory-grid-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.inventory-workflow-page .inventory-form-grid .inventory-span-2 { grid-column: span 2; }
.inventory-workflow-page .inventory-form-grid .inventory-span-3 { grid-column: span 3; }
.inventory-workflow-page .inventory-form-grid .inventory-span-full { grid-column: 1 / -1; }
.inventory-workflow-page .inventory-horizontal-scroll {
  width: 100%;
  overflow-x: auto;
  overflow-y: visible;
  padding: 2px 2px 10px;
  -webkit-overflow-scrolling: touch;
}
.inventory-workflow-page .inventory-one-row {
  display: grid !important;
  grid-auto-flow: column;
  grid-auto-columns: minmax(175px, 1fr);
  gap: 14px !important;
  min-width: max-content;
  width: 100%;
  margin: 0 !important;
  align-items: end;
}
.inventory-workflow-page .inventory-one-row > * {
  min-width: 175px !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.inventory-workflow-page .inventory-field {
  min-width: 0;
}
.inventory-workflow-page .inventory-field .form-label,
.inventory-workflow-page .inventory-workflow-form .form-label {
  display: block;
  min-height: 22px;
  margin: 0 0 7px !important;
  color: var(--bs-heading-color);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.45;
}
.inventory-workflow-page .inventory-workflow-form .form-control,
.inventory-workflow-page .inventory-workflow-form .form-select,
.inventory-workflow-page .inventory-workflow-form .select2-container .select2-selection--single,
.inventory-workflow-page .inventory-editor-table .form-control,
.inventory-workflow-page .inventory-editor-table .form-select {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 44px;
  border-radius: 10px;
  font-weight: 700;
}
.inventory-workflow-page .inventory-workflow-form textarea.form-control {
  min-height: 92px;
  resize: vertical;
}
.inventory-workflow-page .inventory-workflow-form input[type="file"].form-control {
  padding-block: 8px;
}
.inventory-workflow-page .inventory-section-divider {
  margin: 2px 0 0;
  border-top: 1px solid var(--bs-border-color);
}
.inventory-workflow-page .inventory-section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 10px;
}
.inventory-workflow-page .inventory-section-heading strong {
  color: var(--bs-heading-color);
  font-size: 15px;
  font-weight: 900;
}
.inventory-workflow-page .inventory-section-heading small {
  display: block;
  margin-top: 3px;
  color: var(--bs-secondary-color);
  font-weight: 600;
}
.inventory-workflow-page .inventory-action-bar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px;
  padding-top: 16px;
  border-top: 1px solid var(--bs-border-color);
}
.inventory-workflow-page .inventory-action-bar .btn,
.inventory-workflow-page .inventory-submit-btn {
  min-height: 45px;
  min-width: 170px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding-inline: 22px;
  border-radius: 11px;
  font-weight: 900;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .12);
}
.inventory-workflow-page .inventory-submit-btn.w-100 { width: 100% !important; }
.inventory-workflow-page .inventory-editor-wrap {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  border: 1px solid var(--bs-border-color);
  border-radius: 13px;
  background: var(--bs-body-bg);
  -webkit-overflow-scrolling: touch;
}
.inventory-workflow-page table.inventory-editor-table {
  display: table !important;
  width: 100% !important;
  min-width: 980px !important;
  table-layout: auto !important;
  margin: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}
.inventory-workflow-page table.inventory-editor-table > thead { display: table-header-group !important; }
.inventory-workflow-page table.inventory-editor-table > tbody { display: table-row-group !important; }
.inventory-workflow-page table.inventory-editor-table tr { display: table-row !important; }
.inventory-workflow-page table.inventory-editor-table th,
.inventory-workflow-page table.inventory-editor-table td {
  display: table-cell !important;
  min-width: 135px;
  padding: 11px !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
  border-color: var(--bs-border-color) !important;
}
.inventory-workflow-page table.inventory-editor-table th {
  background: var(--bs-tertiary-bg) !important;
  color: var(--bs-heading-color) !important;
  font-size: 12px;
  font-weight: 900;
  text-align: center;
}
.inventory-workflow-page table.inventory-editor-table td.inventory-cell-item,
.inventory-workflow-page table.inventory-editor-table th.inventory-cell-item { min-width: 270px; }
.inventory-workflow-page table.inventory-editor-table td.inventory-cell-note,
.inventory-workflow-page table.inventory-editor-table th.inventory-cell-note { min-width: 220px; }
.inventory-workflow-page table.inventory-editor-table td.inventory-cell-date,
.inventory-workflow-page table.inventory-editor-table th.inventory-cell-date { min-width: 165px; }
.inventory-workflow-page table.inventory-editor-table td.inventory-cell-number,
.inventory-workflow-page table.inventory-editor-table th.inventory-cell-number { min-width: 145px; }
.inventory-workflow-page table.inventory-editor-table td.inventory-cell-action,
.inventory-workflow-page table.inventory-editor-table th.inventory-cell-action {
  min-width: 64px;
  width: 64px;
  text-align: center;
}
.inventory-workflow-page table.inventory-editor-table td::before,
.inventory-workflow-page table.inventory-editor-table th::before {
  display: none !important;
  content: none !important;
}
.inventory-workflow-page table.inventory-editor-table .btn[data-remove-line] {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
}
.inventory-workflow-page .inventory-summary-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 12px;
}
.inventory-workflow-page .inventory-summary-item {
  padding: 14px 16px;
  border: 1px solid var(--bs-border-color);
  border-radius: 12px;
  background: var(--bs-tertiary-bg);
}
.inventory-workflow-page .inventory-summary-item small { display:block; color:var(--bs-secondary-color); margin-bottom:4px; }
.inventory-workflow-page .inventory-summary-item strong { color:var(--bs-heading-color); font-size:15px; }
.inventory-workflow-page .inventory-inline-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.inventory-workflow-page .inventory-inline-actions .btn {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-weight: 800;
}
.inventory-workflow-page .inventory-form-note {
  padding: 12px 14px;
  border: 1px solid rgba(99,91,255,.18);
  border-radius: 11px;
  background: rgba(99,91,255,.06);
  color: var(--bs-secondary-color);
  font-weight: 700;
  line-height: 1.7;
}
.inventory-workflow-page .inventory-status-list {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 10px;
}
.inventory-workflow-page .inventory-status-list .list-group-item {
  border: 1px solid var(--bs-border-color) !important;
  border-radius: 11px !important;
}
@media (max-width: 1199.98px) {
  .inventory-workflow-page .inventory-form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .inventory-workflow-page .inventory-summary-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .inventory-workflow-page .inventory-status-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 767.98px) {
  .inventory-workflow-page .inventory-form-grid,
.inventory-workflow-page .inventory-form-grid.inventory-grid-3,
.inventory-workflow-page .inventory-form-grid.inventory-grid-5,
.inventory-workflow-page .inventory-form-grid.inventory-grid-6 { grid-template-columns: 1fr; }
  .inventory-workflow-page .inventory-form-grid .inventory-span-2,
.inventory-workflow-page .inventory-form-grid .inventory-span-3,
.inventory-workflow-page .inventory-form-grid .inventory-span-full { grid-column: auto; }
  .inventory-workflow-page .inventory-summary-strip,
.inventory-workflow-page .inventory-status-list { grid-template-columns: 1fr; }
  .inventory-workflow-page .inventory-action-bar { align-items: stretch; }
  .inventory-workflow-page .inventory-action-bar .btn { width: 100%; }
  .inventory-workflow-page table.inventory-editor-table { min-width: 900px !important; }
}
[data-bs-theme="dark"] .inventory-workflow-page .inventory-editor-wrap,
[data-bs-theme="dark"] .inventory-workflow-page .inventory-summary-item {
  background: #1a2537;
}

/* v2.3.39 — تثبيت عرض Select2 داخل صفوف وفلاتر المخازن */
.inventory-workflow-page .inventory-workflow-form .select2-container,
.inventory-workflow-page .inventory-editor-table .select2-container {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
.inventory-workflow-page .inventory-editor-table .select2-selection--single {
  min-height: 44px !important;
  border-radius: 10px !important;
}
.inventory-workflow-page .inventory-editor-table .select2-selection__rendered {
  line-height: 42px !important;
  padding-inline: 12px 34px !important;
  font-weight: 700;
}
.inventory-workflow-page .inventory-editor-table .select2-selection__arrow {
  height: 42px !important;
}


/* v2.3.40 — تبسيط دورة المخازن وإزالة حقول الرمز والكود */

/* ========================================================================
   Sonic Tower v2.3.41 — قسم الآليات
   ======================================================================== */
.machinery-workflow-page .sonic-content-container {max-width:100%!important}
.machinery-page-stack {display:flex;flex-direction:column;gap:1rem}
.machinery-form-card,
.machinery-data-card,
.machinery-stat-card {border:1px solid var(--bs-border-color);border-radius:16px;overflow:hidden}
.machinery-form-card .card-header,
.machinery-data-card .card-header {display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:58px;padding:.85rem 1rem;font-weight:800;background:var(--bs-tertiary-bg)}
.machinery-form-card .card-body,
.machinery-data-card .card-body {padding:1rem}
.machinery-stat-card .card-body {display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem}
.machinery-stat-card span {color:var(--bs-secondary-color);font-weight:700}
.machinery-stat-card strong {font-size:1.8rem;line-height:1;color:var(--bs-primary)}
.machinery-form-grid {display:grid;grid-template-columns:repeat(4,minmax(190px,1fr));gap:1rem;align-items:end}
.machinery-form-grid>div,
.machinery-inline-form>div,
.machinery-modal-fields>div {min-width:0}
.machinery-form-grid .form-label,
.machinery-inline-form .form-label,
.machinery-modal-fields .form-label {font-weight:700;margin-bottom:.45rem}
.machinery-form-grid .form-control,
.machinery-form-grid .form-select,
.machinery-inline-form .form-control,
.machinery-inline-form .form-select,
.machinery-modal-fields .form-control,
.machinery-modal-fields .form-select {min-height:44px}
.machinery-span-full {grid-column:1/-1}
.machinery-form-actions {grid-column:1/-1;display:flex;justify-content:flex-end;gap:.75rem;padding-top:.25rem}
.machinery-form-actions .btn {min-width:190px;min-height:44px;font-weight:800}
.machinery-check-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.65rem;padding:.85rem;border:1px solid var(--bs-border-color);border-radius:12px;background:var(--bs-body-bg)}
.machinery-check-grid .form-check {margin:0;display:flex;align-items:center;gap:.5rem}
.machinery-modal-fields {display:grid;grid-template-columns:1fr;gap:1rem}
.machinery-thumb {width:48px;height:48px;object-fit:cover;border-radius:10px;border:1px solid var(--bs-border-color)}
.machinery-editor-wrap {border:1px solid var(--bs-border-color);border-radius:12px;overflow:auto}
.machinery-editor-table {min-width:980px;margin:0}
.machinery-editor-table th {white-space:nowrap;background:var(--bs-tertiary-bg)}
.machinery-editor-table td {min-width:170px;vertical-align:middle}
.machinery-editor-table td:last-child {min-width:70px;width:70px;text-align:center}
.machinery-summary-grid {display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:.75rem}
.machinery-summary-grid>div {padding:.8rem .9rem;border:1px solid var(--bs-border-color);border-radius:12px;background:var(--bs-tertiary-bg)}
.machinery-summary-grid small {display:block;color:var(--bs-secondary-color);font-weight:700;margin-bottom:.25rem}
.machinery-summary-grid strong {display:block;font-weight:800}
.machinery-request-list {max-height:760px;overflow:auto}
.machinery-request-list .list-group-item {padding:1rem}
.machinery-request-list .list-group-item.active .badge {color:var(--bs-dark)!important}
.machinery-dispatch-card {padding:1rem;border:1px solid var(--bs-border-color);border-radius:14px;background:var(--bs-body-bg)}
.machinery-inline-form {display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.85rem;align-items:end;padding:.9rem;border:1px dashed var(--bs-border-color);border-radius:12px;background:var(--bs-tertiary-bg)}
.machinery-stage-table {min-width:1050px;margin:0}
.machinery-stage-table th {white-space:nowrap;background:var(--bs-tertiary-bg)}
.machinery-stage-table td {min-width:190px}
.machinery-stage-table td:last-child {min-width:70px;width:70px;text-align:center}
.machinery-workflow-page .btn {font-weight:700}
.machinery-workflow-page .table>thead>tr>th {font-weight:800;white-space:nowrap}
.machinery-workflow-page .select2-container {width:100%!important}
@media(max-width:1399.98px){.machinery-form-grid {grid-template-columns:repeat(3,minmax(190px,1fr))}}
@media(max-width:991.98px){.machinery-form-grid {grid-template-columns:repeat(2,minmax(180px,1fr))}.machinery-summary-grid {grid-template-columns:repeat(2,minmax(160px,1fr))}}
@media(max-width:575.98px){.machinery-form-grid,
.machinery-summary-grid {grid-template-columns:1fr}.machinery-form-actions {justify-content:stretch}.machinery-form-actions .btn {width:100%}.machinery-form-card .card-body,
.machinery-data-card .card-body {padding:.8rem}}

/* ==========================================================================
   Sonic Tower v2.3.42 — unified forms, buttons and editor tables
   ========================================================================== */
.sonic-uniform-form .row>[class*="col-"],
.sonic-uniform-form>[class*="col-"],
.sonic-uniform-grid>* {min-width:0}
.sonic-uniform-form .form-label,
.sonic-uniform-grid .form-label {display:flex;align-items:center;min-height:24px;margin-bottom:.45rem;font-weight:800}
.sonic-uniform-form .form-control,
.sonic-uniform-form .form-select,
.sonic-uniform-form .input-group,
.sonic-uniform-grid .form-control,
.sonic-uniform-grid .form-select,
.sonic-uniform-grid .input-group {min-height:46px}
.sonic-uniform-form .input-group>.form-control,
.sonic-uniform-form .input-group>.form-select,
.sonic-uniform-grid .input-group>.form-control,
.sonic-uniform-grid .input-group>.form-select {min-height:46px}
.sonic-uniform-form .select2-container,
.sonic-uniform-grid .select2-container {width:100%!important}
.sonic-inline-switch {display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:46px;padding:.55rem .8rem;border:1px solid var(--bs-border-color);border-radius:.5rem;background:var(--bs-body-bg);font-weight:800}
.sonic-inline-switch .form-check-input {flex:0 0 auto;margin:0;width:2.45rem;height:1.25rem}
.sonic-card-actions {display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.65rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--bs-border-color)}
.sonic-card-actions .btn,
.sonic-action-btn {min-height:44px;padding:.6rem 1.1rem;font-weight:900;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}
.sonic-action-btn.w-100 {width:100%}
.sonic-editor-table-wrap {overflow-x:auto;border:1px solid var(--bs-border-color);border-radius:.7rem;background:var(--bs-body-bg)}
.sonic-editor-table {min-width:980px!important;width:100%;margin:0!important;table-layout:auto}
.sonic-editor-table>thead>tr>th {white-space:nowrap;background:var(--bs-tertiary-bg);font-weight:900}
.sonic-editor-table>tbody>tr>td {vertical-align:middle;white-space:nowrap;padding:.65rem}
.sonic-editor-table .form-control,
.sonic-editor-table .form-select,
.sonic-editor-table .select2-container {min-width:155px;width:100%!important;min-height:44px}
.sonic-editor-table .btn {min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;font-weight:800}
.sonic-equal-card-footer {display:flex;justify-content:flex-end;align-items:center;gap:.65rem;padding:1rem 1.25rem;border-top:1px solid var(--bs-border-color);background:var(--bs-tertiary-bg)}
.sonic-equal-card-footer .btn {min-height:44px;font-weight:900}
.sonic-checkbox-line {display:flex;align-items:end;height:100%}
.sonic-checkbox-line>.sonic-inline-switch {width:100%}
.sonic-clear-button {min-height:46px;padding:.6rem 1rem;font-weight:900;display:inline-flex;align-items:center;justify-content:center;gap:.4rem}
.sonic-filter-toolbar {display:grid;grid-template-columns:repeat(5,minmax(170px,1fr));gap:1rem;align-items:end}
.sonic-filter-toolbar .form-label {font-weight:800;min-height:24px}
.sonic-pagination {display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-top:1rem}
.sonic-pagination .pagination {margin:0}
.sonic-empty-fast {padding:3rem 1rem;text-align:center;color:var(--bs-secondary-color)}
.sonic-empty-fast i {display:block;font-size:2.5rem;margin-bottom:.75rem;color:var(--bs-primary)}
.location-type-fields {display:grid!important;grid-template-columns:repeat(4,minmax(180px,1fr))!important;gap:1rem!important;align-items:end!important}
.location-type-field {min-width:0}
.location-type-field .form-label {min-height:24px;font-weight:800}
.location-type-field .input-group,
.location-type-field .form-control,
.location-type-field .form-select {min-height:46px}
.floors-bulk-grid {display:grid!important;grid-template-columns:1.4fr 1fr 1fr 1.5fr auto!important;align-items:end!important;gap:1rem!important}
.floors-auto-generate-field {align-self:end!important}
.floors-auto-generate-box {min-height:46px!important;margin:0!important;padding:.55rem .75rem!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:.75rem!important}
.floors-auto-generate-box small {display:none}
.machinery-editor-wrap {overflow-x:auto!important}
.machinery-editor-table,
.machinery-stage-table {min-width:1050px!important;width:100%!important;table-layout:auto!important}
.machinery-editor-table td,
.machinery-stage-table td {white-space:nowrap!important;vertical-align:middle!important;padding:.65rem!important}
.machinery-editor-table .form-control,
.machinery-editor-table .form-select,
.machinery-stage-table .form-control,
.machinery-stage-table .form-select {min-width:170px!important;min-height:44px!important}
.machinery-form-grid {align-items:end!important}
.machinery-form-grid .form-label {min-height:24px}
.machinery-form-actions .btn {min-height:46px!important;padding:.65rem 1.25rem!important;font-weight:900!important}
.tm-hero-badge i {font-family:"tabler-icons"!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}
@media(max-width:1199.98px){.sonic-filter-toolbar {grid-template-columns:repeat(3,minmax(170px,1fr))}.location-type-fields {grid-template-columns:repeat(2,minmax(180px,1fr))!important}.floors-bulk-grid {grid-template-columns:repeat(2,minmax(180px,1fr))!important}.structure-bulk-action {grid-column:1/-1}.structure-bulk-action .btn {width:100%}}
@media(max-width:767.98px){.sonic-filter-toolbar,
.location-type-fields,
.floors-bulk-grid {grid-template-columns:1fr!important}.sonic-card-actions,
.sonic-equal-card-footer {justify-content:stretch}.sonic-card-actions .btn,
.sonic-equal-card-footer .btn {width:100%}}


/* ========================================================================== */
/* Sonic Tower v2.3.44 — one action footer for every form modal               */
/* ========================================================================== */
.modal .sonic-form-modal-footer,
.modal form > .modal-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  direction: rtl;
}

.modal .sonic-form-modal-footer > *,
.modal form > .modal-footer > * {
  margin: 0 !important;
}

.modal .sonic-form-modal-footer .btn,
.modal form > .modal-footer .btn {
  min-width: 132px;
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  font-weight: 800;
}

.modal .sonic-modal-save-button {
  color: #fff !important;
  background-color: var(--bs-success) !important;
  border-color: var(--bs-success) !important;
}

.modal .sonic-modal-save-button:hover,
.modal .sonic-modal-save-button:focus {
  filter: brightness(.92);
}

.modal .sonic-modal-close-button {
  color: #fff !important;
  background-color: var(--bs-dark) !important;
  border-color: var(--bs-dark) !important;
}

.modal .sonic-modal-close-button:hover,
.modal .sonic-modal-close-button:focus {
  color: #fff !important;
  filter: brightness(1.12);
}

/* Action wrappers become unnecessary after their buttons move to the footer. */
.sonic-edit-modal .modal-body .sonic-form-actions:empty,
.sonic-edit-modal .modal-body [class$="-actions"]:empty,
.sonic-edit-modal .modal-body [class*="-actions "]:empty,
.sonic-edit-modal .modal-body .d-flex:empty {
  display: none !important;
  margin: 0 !important;
}

@media (max-width: 575.98px) {
  .modal .sonic-form-modal-footer .btn,
.modal form > .modal-footer .btn {
    flex: 1 1 calc(50% - 10px);
    min-width: 0;
  }
}


/* ========================================================================== */
/* Sonic Tower v2.3.45 — modal viewport safety and unified checkbox cards     */
/* ========================================================================== */

/*
 * A number of page-specific modals place <form> directly under
 * .modal-content. Bootstrap only makes a direct .modal-body scrollable, so a
 * long form could push its footer below the viewport. Treat the form as the
 * modal's inner flex shell and reserve the footer permanently.
 */
.modal:not(.sonic-confirm-modal) {
  --sonic-modal-viewport-gap: 56px;
}

.modal:not(.sonic-confirm-modal) .modal-content {
  max-height: calc(100vh - var(--sonic-modal-viewport-gap));
  max-height: calc(100dvh - var(--sonic-modal-viewport-gap));
  overflow: hidden !important;
}

.modal:not(.sonic-confirm-modal) .modal-content > form {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  min-height: 0 !important;
  max-height: 100% !important;
  overflow: hidden !important;
}

.modal:not(.sonic-confirm-modal) .modal-content > form > .modal-header,
.modal:not(.sonic-confirm-modal) .modal-content > form > .modal-footer,
.modal:not(.sonic-confirm-modal) .modal-content > .modal-header,
.modal:not(.sonic-confirm-modal) .modal-content > .modal-footer {
  flex: 0 0 auto !important;
}

.modal:not(.sonic-confirm-modal) .modal-content > form > .modal-body,
.modal:not(.sonic-confirm-modal) .modal-content > .modal-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  scrollbar-gutter: auto;
}

.modal:not(.sonic-confirm-modal) .modal-footer {
  position: relative;
  z-index: 4;
  flex-shrink: 0 !important;
  box-shadow: 0 -10px 24px rgba(15, 23, 42, .055);
}

/* Keep page-specific and shared edit modals inside the visible viewport. */
.modal-dialog-scrollable,
.modal-dialog-centered {
  min-height: calc(100vh - var(--sonic-modal-viewport-gap, 56px)) !important;
  min-height: calc(100dvh - var(--sonic-modal-viewport-gap, 56px)) !important;
}

/*
 * Modal checkbox language:
 * fixed green icon badge, readable copy and the actual control at the far
 * left. This deliberately applies only after app.js classifies a checkbox, so
 * visual selectors, assignment tiles and table checkboxes remain untouched.
 */
.modal .sonic-modal-checkbox-card {
  direction: rtl;
  display: grid !important;
  grid-template-columns: 46px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100%;
  min-height: 76px !important;
  padding: 12px 14px !important;
  margin: 0 !important;
  border: 1px solid #d9e2ec !important;
  border-radius: 15px !important;
  color: #172033 !important;
  background: var(--bs-card-bg) !important;
  box-shadow: 0 4px 14px rgba(15, 23, 42, .035);
  cursor: pointer;
  transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.modal .sonic-modal-checkbox-card:hover {
  border-color: rgba(22, 163, 74, .48) !important;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .075);
  transform: translateY(-1px);
}

.modal .sonic-modal-checkbox-card.is-checked {
  border-color: #22a559 !important;
  background: #f2fbf6 !important;
  box-shadow: inset 0 0 0 1px rgba(34, 165, 89, .09), 0 6px 18px rgba(22, 163, 74, .08);
}

.modal .sonic-modal-checkbox-card.is-disabled {
  opacity: .58;
  cursor: not-allowed;
  transform: none;
}

.modal .sonic-modal-checkbox-card > .sonic-modal-checkbox-icon {
  grid-column: 1;
  grid-row: 1;
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  color: #148545;
  background: #e7f7ed;
  border: 1px solid #ccefd8;
  font-size: 20px;
  line-height: 1;
}

.modal .sonic-modal-checkbox-card.is-checked > .sonic-modal-checkbox-icon {
  color: #ffffff;
  background: #199751;
  border-color: #199751;
}

.modal .sonic-modal-checkbox-card > span:not(.sonic-modal-checkbox-icon),
.modal .sonic-modal-checkbox-card > label,
.modal .sonic-modal-checkbox-card > .form-check-label {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  color: #172033 !important;
  text-align: right;
}

.modal .sonic-modal-checkbox-card > span:not(.sonic-modal-checkbox-icon) {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.modal .sonic-modal-checkbox-card strong,
.modal .sonic-modal-checkbox-card .form-check-label,
.modal .sonic-modal-checkbox-card > label {
  color: #111827 !important;
  font-weight: 900 !important;
  line-height: 1.45;
}

.modal .sonic-modal-checkbox-card small {
  display: block;
  margin-top: 2px;
  color: #8793a7 !important;
  font-size: .78rem;
  font-weight: 600;
  line-height: 1.55;
}

.modal .sonic-modal-checkbox-card > .form-check-input {
  grid-column: 3;
  grid-row: 1;
  position: static !important;
  float: none !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  cursor: pointer;
}

.modal .sonic-modal-checkbox-card.sonic-modal-checkbox-switch {
  padding-inline: 14px !important;
}

.modal .sonic-modal-checkbox-card.sonic-modal-checkbox-switch > .form-check-input {
  width: 2.75rem !important;
  min-width: 2.75rem !important;
  height: 1.45rem !important;
  border-radius: 999px !important;
  border-color: #b8c4d2 !important;
  background-color: #cbd5e1;
  box-shadow: none !important;
}

.modal .sonic-modal-checkbox-card.sonic-modal-checkbox-switch > .form-check-input:checked {
  border-color: #199751 !important;
  background-color: #199751 !important;
}

.modal .sonic-modal-checkbox-card:not(.sonic-modal-checkbox-switch) > .form-check-input {
  width: 1.22rem !important;
  min-width: 1.22rem !important;
  height: 1.22rem !important;
  border-radius: 6px !important;
  border-color: #aeb9c7 !important;
}

.modal .sonic-modal-checkbox-card:not(.sonic-modal-checkbox-switch) > .form-check-input:checked {
  border-color: #199751 !important;
  background-color: #199751 !important;
}

/* Compact cards are used for project/type/specialty multi-selection lists. */
.modal .sonic-modal-checkbox-card.sonic-modal-checkbox-card-compact {
  grid-template-columns: 36px minmax(0, 1fr) auto !important;
  min-height: 56px !important;
  padding: 9px 11px !important;
  border-radius: 12px !important;
  gap: 10px !important;
}

.modal .sonic-modal-checkbox-card.sonic-modal-checkbox-card-compact > .sonic-modal-checkbox-icon {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  font-size: 17px;
}

.modal .checkbox-picker-options,
.modal .machinery-check-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px !important;
  padding: 10px !important;
}

.modal .checkbox-picker-toolbar {
  margin-bottom: 8px;
}

/* Existing user switch cards inherit the unified modal design without the
   old oversized square checkbox appearance. */
.modal .permission-switch-card.sonic-modal-checkbox-card {
  justify-content: initial !important;
}

@media (max-width: 767.98px) {
  .modal:not(.sonic-confirm-modal) {
    --sonic-modal-viewport-gap: 16px;
  }

  .modal:not(.sonic-confirm-modal) .modal-content {
    max-height: calc(100vh - var(--sonic-modal-viewport-gap));
    max-height: calc(100dvh - var(--sonic-modal-viewport-gap));
  }

  .modal-dialog-scrollable,
.modal-dialog-centered {
    min-height: calc(100vh - var(--sonic-modal-viewport-gap, 16px)) !important;
    min-height: calc(100dvh - var(--sonic-modal-viewport-gap, 16px)) !important;
  }

  .modal .checkbox-picker-options,
.modal .machinery-check-grid {
    grid-template-columns: 1fr;
  }

  .modal .sonic-modal-checkbox-card {
    grid-template-columns: 40px minmax(0, 1fr) auto !important;
    min-height: 70px !important;
    padding: 10px 11px !important;
    gap: 10px !important;
  }

  .modal .sonic-modal-checkbox-card > .sonic-modal-checkbox-icon {
    width: 38px;
    height: 38px;
    border-radius: 11px;
    font-size: 18px;
  }
}


/* ========================================================================== */
/* Sonic Tower v2.3.47 — natural bulk-floor row and real card footer          */
/* ========================================================================== */
.structure-floors-page .floors-bulk-form {
  display: block;
  margin: 0;
}

.structure-floors-page .floors-bulk-grid {
  align-items: end !important;
}

.structure-floors-page .floors-bulk-grid > .structure-field,
.structure-floors-page .floors-auto-generate-field {
  min-width: 0;
  align-self: end !important;
}

.structure-floors-page .floors-bulk-grid .form-label,
.structure-floors-page .floors-auto-generate-field > .form-label {
  display: block;
  min-height: 22px;
  margin-bottom: .5rem;
}

.structure-floors-page .floors-bulk-grid > .structure-field > .input-group {
  height: 48px;
  min-height: 48px;
}

.structure-floors-page .floors-bulk-grid > .structure-field > .input-group > .form-control,
.structure-floors-page .floors-bulk-grid > .structure-field > .input-group > .form-select {
  height: 48px;
  min-height: 48px;
}

.structure-floors-page .floors-auto-generate-group {
  display: flex;
  flex-wrap: nowrap;
  width: 100%;
  min-height: 48px;
}

.structure-floors-page .floors-auto-generate-group > .input-group-text {
  min-width: 48px;
  min-height: 48px;
  flex: 0 0 48px;
}

.structure-floors-page .floors-auto-generate-control {
  display: flex !important;
  flex: 1 1 auto;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 1%;
  min-width: 0;
  height: 48px;
  min-height: 48px;
  margin: 0;
  padding: 0 14px;
  color: inherit;
  cursor: pointer;
  box-shadow: none;
}

.structure-floors-page .floors-auto-generate-copy {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}

.structure-floors-page .floors-auto-generate-copy strong {
  min-width: 0;
  overflow: hidden;
  color: inherit;
  font-size: .91rem;
  font-weight: 800;
  line-height: 1.2;
  text-overflow: ellipsis;
}

.structure-floors-page .floors-auto-generate-copy small {
  flex: 0 0 auto;
  margin: 0;
  color: var(--bs-secondary-color);
  font-size: .74rem;
  font-weight: 700;
  line-height: 1.2;
}

.structure-floors-page .floors-auto-generate-control > .form-check {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
}

.structure-floors-page .floors-auto-generate-control .form-check-input {
  width: 2.5rem !important;
  height: 1.35rem !important;
  margin: 0 !important;
  cursor: pointer;
}

.structure-floors-page .floors-bulk-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  min-height: 78px;
  padding: 15px 24px;
  border-top: 1px solid var(--bs-border-color);
  border-radius: 0 0 var(--bs-card-border-radius) var(--bs-card-border-radius);
  background: var(--bs-card-bg);
}

.structure-floors-page .floors-bulk-footer .btn {
  min-width: 155px;
  min-height: 46px;
  font-weight: 800;
}

@media (min-width: 1200px) {
  .structure-floors-page .floors-bulk-grid {
    grid-template-columns: minmax(250px, 1.4fr) minmax(160px, .9fr) minmax(160px, .9fr) minmax(260px, 1.25fr) !important;
    gap: 18px !important;
  }
}

@media (max-width: 1099.98px) {
  .structure-floors-page .floors-bulk-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .structure-floors-page .floors-bulk-grid .floors-bulk-tower-field {
    grid-column: auto !important;
  }
}

@media (max-width: 767.98px) {
  .structure-floors-page .floors-bulk-grid {
    grid-template-columns: 1fr !important;
  }

  .structure-floors-page .floors-bulk-footer {
    align-items: stretch;
    padding: 14px 18px;
  }

  .structure-floors-page .floors-bulk-footer .btn {
    width: 100%;
  }
}

@media (max-width: 575.98px) {
  .structure-floors-page .floors-auto-generate-copy small {
    display: none;
  }
}

/* ========================================================================== */
/* Sonic Tower v2.3.48 — natural, equal-height checkbox/switch fields         */
/* ========================================================================== */
.sonic-natural-switch-field {
  min-width: 0;
  align-self: end;
}

.sonic-natural-switch-field > .form-label {
  display: block;
  min-height: 22px;
  margin-bottom: .5rem;
}

.sonic-natural-switch-group {
  display: flex;
  flex-wrap: nowrap;
  width: 100%;
  min-height: 46px;
}

.sonic-natural-switch-group > .input-group-text {
  min-width: 46px;
  min-height: 46px;
  flex: 0 0 46px;
  justify-content: center;
  padding-inline: .65rem;
  color: var(--bs-body-color);
  background: var(--bs-tertiary-bg);
  border-color: var(--bs-border-color);
}

.sonic-natural-switch-control {
  display: flex !important;
  flex: 1 1 auto;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 1%;
  min-width: 0;
  height: 46px;
  min-height: 46px;
  margin: 0;
  padding: 0 14px;
  color: var(--bs-body-color);
  background: var(--bs-body-bg);
  border-color: var(--bs-border-color);
  cursor: pointer;
  box-shadow: none !important;
}

.sonic-natural-switch-control:hover,
.sonic-natural-switch-control:focus-within {
  color: var(--bs-body-color);
  background: var(--bs-body-bg);
  border-color: var(--bs-border-color);
  box-shadow: none !important;
}

.sonic-natural-switch-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  line-height: 1.25;
}

.sonic-natural-switch-copy strong {
  overflow: hidden;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sonic-natural-switch-copy small {
  display: block;
  margin-top: 4px;
  color: var(--bs-secondary-color);
  font-size: .75rem;
  font-weight: 600;
  line-height: 1.45;
}

.sonic-natural-switch-control .form-check {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  min-height: 0;
  padding: 0;
}

.sonic-natural-switch-control .form-check-input {
  flex: 0 0 auto;
  width: 2.45rem;
  height: 1.25rem;
  margin: 0 !important;
  cursor: pointer;
}

.sonic-natural-switch-field-detailed,
.sonic-natural-switch-field-detailed .sonic-natural-switch-group,
.sonic-natural-switch-field-detailed .sonic-natural-switch-control,
.sonic-natural-switch-field-detailed .sonic-natural-switch-group > .input-group-text {
  min-height: 76px;
}

.sonic-natural-switch-field-detailed .sonic-natural-switch-control {
  height: 76px;
  padding-block: 10px;
}

.sonic-natural-switch-field-detailed .sonic-natural-switch-group > .input-group-text {
  flex-basis: 52px;
  min-width: 52px;
  font-size: 1.2rem;
}

.users-switch-section {
  overflow: hidden;
  border: 1px solid var(--bs-border-color);
  border-radius: var(--bs-border-radius-lg);
  background: var(--bs-body-bg);
}

.users-switch-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--bs-border-color);
  background: var(--bs-tertiary-bg);
}

.users-switch-section-head > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
}

.users-switch-section-head strong {
  font-weight: 900;
}

.users-switch-section-head small {
  margin-top: 3px;
  color: var(--bs-secondary-color);
}

.users-switch-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding: 14px;
}

.users-switch-grid .sonic-natural-switch-field,
.users-switch-grid .sonic-natural-switch-group,
.users-switch-grid .sonic-natural-switch-control {
  height: 100%;
}

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

.users-switch-grid-modal > :last-child:nth-child(odd) {
  grid-column: 1 / -1;
}

.modal .sonic-natural-switch-field [data-no-modal-checkbox-card] {
  position: relative;
}

@media (max-width: 1199.98px) {
  .users-switch-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .users-switch-grid > :last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }
}

@media (max-width: 767.98px) {
  .users-switch-grid,
.users-switch-grid-modal {
    grid-template-columns: 1fr;
  }

  .users-switch-grid > :last-child:nth-child(odd),
.users-switch-grid-modal > :last-child:nth-child(odd) {
    grid-column: auto;
  }

  .sonic-natural-switch-copy strong {
    white-space: normal;
  }
}

/* The machinery and drivers grids use the same 46px control rhythm as the
   new natural switch field, so the checkbox sits exactly level with inputs. */
.machinery-form-grid .form-control,
.machinery-form-grid .form-select,
.machinery-modal-fields .form-control,
.machinery-modal-fields .form-select {
  min-height: 46px;
}

/* ========================================================================== */
/* v2.3.49 - صلاحيات البلاغات، إدارة الردود والحذف المنطقي                    */
/* ========================================================================== */
.issue-detail-actions-v70 > form {
  display: inline-flex;
  margin: 0;
}

.issue-deleted-banner-v249 {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 18px;
  border-bottom: 1px solid color-mix(in srgb, var(--bs-danger) 35%, var(--bs-border-color));
  background: color-mix(in srgb, var(--bs-danger) 8%, var(--bs-body-bg));
  color: var(--bs-danger-text-emphasis);
}
.issue-deleted-banner-v249 > i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--bs-danger) 14%, var(--bs-body-bg));
  font-size: 21px;
}
.issue-deleted-banner-v249 > div {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.issue-deleted-banner-v249 strong { font-weight: 900; }
.issue-deleted-banner-v249 span { color: var(--bs-secondary-color); font-size: 12px; }

.issue-message-actions-v249 {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-inline-start: 3px;
}
.issue-message-actions-v249 form { margin: 0; }
.issue-message-actions-v249 .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 29px;
  height: 29px;
  padding: 0;
  border-radius: 8px;
}
.issue-message-edited-v249 {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  white-space: nowrap;
  color: var(--bs-secondary-color);
}
.issue-own-edit-window-v249 {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-top: 9px;
  padding-top: 8px;
  border-top: 1px dashed color-mix(in srgb, currentColor 23%, transparent);
  font-size: 10px;
  opacity: .82;
}
.issue-message-deleted-placeholder-v249 {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 58px;
  color: var(--bs-secondary-color);
}
.issue-message-deleted-placeholder-v249 > i {
  font-size: 25px;
}
.issue-message-deleted-placeholder-v249 > span {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.issue-message-deleted-placeholder-v249 strong {
  color: var(--bs-heading-color);
  font-weight: 800;
}
.issue-message-deleted-placeholder-v249 small { font-size: 10px; }
.issue-message.is-deleted-message-v249 .issue-message-bubble {
  border-style: dashed;
  background: var(--bs-tertiary-bg);
  box-shadow: none;
}

.issue-attachment-item-v249 {
  position: relative;
  display: inline-flex;
  min-width: 0;
}
.issue-attachment-item-v249 > .issue-image-attachment,
.issue-attachment-item-v249 > .issue-video-attachment {
  max-width: 100%;
}
.issue-attachment-delete-v249 {
  position: absolute;
  top: 5px;
  left: 5px;
  z-index: 4;
  margin: 0;
}
.issue-attachment-delete-v249 button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 29px;
  height: 29px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 9px;
  background: rgba(185, 28, 28, .9);
  color: #fff;
  box-shadow: 0 4px 12px rgba(0,0,0,.22);
}
.issue-attachment-delete-v249 button:hover { background: #b91c1c; }

.issue-no-action-v249 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  color: var(--bs-secondary-color);
  font-size: 12px;
}
.issue-composer.is-deleted-composer-v249 {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 68px;
  background: var(--bs-tertiary-bg);
}

@media (max-width: 767.98px) {
  .issue-detail-actions-v70 > form {
    flex: 1 1 calc(50% - 5px);
  }
  .issue-detail-actions-v70 > form > .btn {
    width: 100%;
    justify-content: center;
  }
  .issue-message { max-width: 94%; }
  .issue-message-meta {
    flex-wrap: wrap;
  }
  .issue-message-meta time,
.issue-message.is-mine .issue-message-meta time {
    margin-inline-start: auto;
    margin-inline-end: 0;
  }
  .issue-message-actions-v249 {
    width: 100%;
    justify-content: flex-end;
  }
  .issue-attachment-item-v249 {
    max-width: 100%;
  }
}


/* ========================================================================== */
/* Sonic Tower v2.3.50 — keep machinery editor rows as real table rows        */
/* ========================================================================== */
.machinery-workflow-page .machinery-editor-wrap.sonic-editor-table-wrap {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  -webkit-overflow-scrolling: touch;
}

.machinery-workflow-page table.machinery-single-row-table {
  display: table !important;
  width: 100% !important;
  min-width: 1080px !important;
  table-layout: fixed !important;
  margin: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

.machinery-workflow-page table.machinery-single-row-table > thead {
  display: table-header-group !important;
}

.machinery-workflow-page table.machinery-single-row-table > tbody {
  display: table-row-group !important;
}

.machinery-workflow-page table.machinery-single-row-table > thead > tr,
.machinery-workflow-page table.machinery-single-row-table > tbody > tr {
  display: table-row !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.machinery-workflow-page table.machinery-single-row-table > thead > tr > th,
.machinery-workflow-page table.machinery-single-row-table > tbody > tr > td {
  display: table-cell !important;
  float: none !important;
  position: static !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
  padding: .65rem !important;
}

.machinery-workflow-page table.machinery-single-row-table > tbody > tr > td {
  min-width: 0 !important;
  height: 66px;
}

.machinery-workflow-page table.machinery-single-row-table > tbody > tr > td::before,
.machinery-workflow-page table.machinery-single-row-table > thead > tr > th::before {
  display: none !important;
  content: none !important;
}

.machinery-workflow-page table.machinery-single-row-table .form-control,
.machinery-workflow-page table.machinery-single-row-table .form-select,
.machinery-workflow-page table.machinery-single-row-table .select2-container {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 46px !important;
  margin: 0 !important;
}

.machinery-workflow-page table.machinery-single-row-table .btn {
  min-width: 46px !important;
  min-height: 46px !important;
  margin: 0 !important;
}

.machinery-workflow-page table.machinery-request-lines-table {
  min-width: 1120px !important;
}
.machinery-workflow-page table.machinery-request-lines-table th:nth-child(1),
.machinery-workflow-page table.machinery-request-lines-table td:nth-child(1) { width: 29%; }
.machinery-workflow-page table.machinery-request-lines-table th:nth-child(2),
.machinery-workflow-page table.machinery-request-lines-table td:nth-child(2) { width: 12%; }
.machinery-workflow-page table.machinery-request-lines-table th:nth-child(3),
.machinery-workflow-page table.machinery-request-lines-table td:nth-child(3),
.machinery-workflow-page table.machinery-request-lines-table th:nth-child(4),
.machinery-workflow-page table.machinery-request-lines-table td:nth-child(4) { width: 26%; }
.machinery-workflow-page table.machinery-request-lines-table th:nth-child(5),
.machinery-workflow-page table.machinery-request-lines-table td:nth-child(5) {
  width: 7%;
  text-align: center;
}

.machinery-workflow-page table.machinery-dispatch-stage-lines-table {
  min-width: 1180px !important;
}
.machinery-workflow-page table.machinery-dispatch-stage-lines-table th:nth-child(1),
.machinery-workflow-page table.machinery-dispatch-stage-lines-table td:nth-child(1) { width: 27%; }
.machinery-workflow-page table.machinery-dispatch-stage-lines-table th:nth-child(2),
.machinery-workflow-page table.machinery-dispatch-stage-lines-table td:nth-child(2),
.machinery-workflow-page table.machinery-dispatch-stage-lines-table th:nth-child(3),
.machinery-workflow-page table.machinery-dispatch-stage-lines-table td:nth-child(3) { width: 23%; }
.machinery-workflow-page table.machinery-dispatch-stage-lines-table th:nth-child(4),
.machinery-workflow-page table.machinery-dispatch-stage-lines-table td:nth-child(4) { width: 20%; }
.machinery-workflow-page table.machinery-dispatch-stage-lines-table th:nth-child(5),
.machinery-workflow-page table.machinery-dispatch-stage-lines-table td:nth-child(5) {
  width: 7%;
  text-align: center;
}

@media (max-width: 767.98px) {
  .machinery-workflow-page table.machinery-single-row-table {
    width: 100% !important;
  }
}

/* ========================================================================
   Sonic Tower v2.3.51 — simplified machinery request dispatch workflow
   ======================================================================== */
.machinery-page-machinery-dispatch .sonic-content-container {max-width:100%!important}
.machinery-dispatch-simple-page {gap:1rem}
.machinery-request-picker-card .card-body {padding:1rem 1.1rem}
.machinery-request-picker-grid {display:grid;grid-template-columns:minmax(320px,1.35fr) minmax(320px,1fr);gap:1rem;align-items:end}
.machinery-request-picker-help {min-height:46px;display:flex;align-items:center;gap:.75rem;padding:.7rem .85rem;border:1px solid var(--bs-border-color);border-radius:.65rem;background:var(--bs-tertiary-bg)}
.machinery-request-picker-help>i {font-size:1.5rem;color:var(--bs-primary);flex:0 0 auto}
.machinery-request-picker-help strong,
.machinery-request-picker-help span {display:block}
.machinery-request-picker-help span {font-size:.82rem;color:var(--bs-secondary-color);margin-top:.12rem}
.machinery-selected-request-card .card-header {align-items:center}
.machinery-request-quick-summary {display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:.75rem}
.machinery-request-quick-summary>div {position:relative;min-width:0;min-height:84px;padding:.85rem .9rem .8rem 3.1rem;border:1px solid var(--bs-border-color);border-radius:.75rem;background:var(--bs-body-bg)}
[dir="rtl"] .machinery-request-quick-summary>div {padding:.85rem 3.1rem .8rem .9rem}
.machinery-request-quick-summary>div>i {position:absolute;left:.85rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:var(--bs-tertiary-bg);color:var(--bs-primary);font-size:1.2rem}
[dir="rtl"] .machinery-request-quick-summary>div>i {left:auto;right:.85rem}
.machinery-request-quick-summary span,
.machinery-request-quick-summary strong {display:block;overflow:hidden;text-overflow:ellipsis}
.machinery-request-quick-summary span {font-size:.78rem;color:var(--bs-secondary-color);font-weight:700;margin-bottom:.2rem}
.machinery-request-quick-summary strong {font-weight:900;white-space:normal}
.machinery-request-quick-summary .machinery-summary-wide {grid-column:span 2}
.machinery-simple-steps {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.machinery-simple-steps>div {display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;column-gap:.7rem;align-items:center;padding:.85rem 1rem;border:1px solid var(--bs-border-color);border-radius:.8rem;background:var(--bs-body-bg)}
.machinery-simple-steps>div>span {grid-row:1/3;display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--bs-tertiary-bg);color:var(--bs-primary);font-weight:900;font-size:1.05rem}
.machinery-simple-steps strong {font-weight:900}
.machinery-simple-steps small {color:var(--bs-secondary-color)}
.machinery-simple-steps>div.active {border-color:rgba(var(--bs-primary-rgb),.35);background:rgba(var(--bs-primary-rgb),.035)}
.machinery-simple-steps>div.active>span {background:var(--bs-primary);color:#fff}
.machinery-dispatch-item-card {border:1px solid var(--bs-border-color);border-radius:15px;overflow:hidden;box-shadow:none;transition:border-color .2s ease,transform .2s ease}
.machinery-dispatch-item-card:hover {border-color:rgba(var(--bs-primary-rgb),.35);transform:translateY(-1px)}
.machinery-dispatch-item-card.is-complete {background:var(--bs-tertiary-bg)}
.machinery-dispatch-item-head,
.machinery-active-card-head {display:flex;align-items:center;gap:.75rem}
.machinery-type-icon {display:flex;align-items:center;justify-content:center;flex:0 0 46px;width:46px;height:46px;border-radius:12px;background:var(--bs-tertiary-bg);color:var(--bs-primary);font-size:1.4rem}
.machinery-dispatch-progress {height:7px;margin:1rem 0;background:var(--bs-tertiary-bg)}
.machinery-dispatch-item-meta {display:grid;grid-template-columns:1fr 1fr;gap:.65rem}
.machinery-dispatch-item-meta>div {padding:.65rem .75rem;border:1px solid var(--bs-border-color);border-radius:.65rem}
.machinery-dispatch-item-meta span,
.machinery-dispatch-item-meta strong {display:block}
.machinery-dispatch-item-meta span {font-size:.75rem;color:var(--bs-secondary-color);font-weight:700;margin-bottom:.15rem}
.machinery-dispatch-item-meta strong {font-size:.86rem;font-weight:900}
.machinery-resource-counts {display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}
.machinery-resource-counts span {display:inline-flex;align-items:center;gap:.3rem;padding:.42rem .6rem;border:1px solid var(--bs-border-color);border-radius:999px;background:var(--bs-body-bg);font-size:.78rem;font-weight:800}
.machinery-resource-counts i {color:var(--bs-primary)}
.machinery-conflict-note {display:flex;align-items:flex-start;gap:.5rem;margin-top:.75rem;padding:.65rem .75rem;border:1px dashed var(--bs-warning-border-subtle);border-radius:.65rem;background:var(--bs-warning-bg-subtle);color:var(--bs-warning-text-emphasis);font-size:.8rem;font-weight:700}
.machinery-conflict-note i {font-size:1.15rem;flex:0 0 auto;margin-top:.05rem}
.machinery-dispatch-item-footer {display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:70px;padding:.8rem 1rem;border-top:1px solid var(--bs-border-color);background:var(--bs-tertiary-bg)}
.machinery-dispatch-item-footer .btn {min-width:155px;min-height:42px;font-weight:900}
.machinery-dispatch-item-footer small {line-height:1.35}
.machinery-modal-request-strip {display:grid;grid-template-columns:1fr 1.5fr;gap:.75rem;margin-bottom:1rem}
.machinery-modal-request-strip>div {padding:.75rem .85rem;border:1px solid var(--bs-border-color);border-radius:.7rem;background:var(--bs-tertiary-bg)}
.machinery-modal-request-strip span,
.machinery-modal-request-strip strong {display:block}
.machinery-modal-request-strip span {font-size:.78rem;color:var(--bs-secondary-color);font-weight:700;margin-bottom:.15rem}
.machinery-modal-request-strip strong {font-weight:900}
.machinery-simple-dispatch-grid {display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.machinery-simple-dispatch-grid>div {min-width:0}
.machinery-advanced-stage-box {margin-top:1rem;padding-top:1rem;border-top:1px solid var(--bs-border-color)}
.machinery-advanced-stage-toggle {align-items:center;cursor:pointer}
.machinery-advanced-stage-toggle>span:first-child {display:block;min-width:0}
.machinery-advanced-stage-toggle strong,
.machinery-advanced-stage-toggle small {display:block}
.machinery-advanced-stage-toggle small {color:var(--bs-secondary-color);font-weight:500;margin-top:.1rem}
.machinery-active-dispatches {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.machinery-active-dispatches>.sonic-empty-fast {grid-column:1/-1}
.machinery-simple-active-card {margin:0!important;height:100%;display:flex;flex-direction:column}
.machinery-active-period {display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.85rem}
.machinery-active-period span {display:flex;align-items:center;gap:.4rem;padding:.55rem .65rem;border:1px solid var(--bs-border-color);border-radius:.6rem;font-size:.79rem;font-weight:800}
.machinery-active-period i {color:var(--bs-primary)}
.machinery-stage-summary {margin-top:.75rem;border:1px solid var(--bs-border-color);border-radius:.65rem;background:var(--bs-tertiary-bg)}
.machinery-stage-summary summary {cursor:pointer;padding:.65rem .75rem;font-weight:900}
.machinery-stage-summary div {padding:0 .75rem .75rem;color:var(--bs-secondary-color);font-size:.82rem;line-height:1.7}
.machinery-active-actions {display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto;padding-top:.9rem}
.machinery-active-actions .btn {font-weight:900}
.machinery-return-result {display:flex;flex-wrap:wrap;gap:.5rem}
.machinery-return-result span {padding:.45rem .6rem;border:1px solid var(--bs-border-color);border-radius:.55rem;background:var(--bs-tertiary-bg);font-size:.8rem;font-weight:800}
.machinery-page-machinery-dispatch .modal-footer {gap:.65rem}
.machinery-page-machinery-dispatch .modal-footer .btn {min-height:44px;font-weight:900}

@media(max-width:1199.98px){
  .machinery-request-quick-summary {grid-template-columns:repeat(3,minmax(160px,1fr))}
  .machinery-active-dispatches {grid-template-columns:1fr}
}
@media(max-width:991.98px){
  .machinery-request-picker-grid {grid-template-columns:1fr}
  .machinery-request-quick-summary {grid-template-columns:repeat(2,minmax(150px,1fr))}
  .machinery-simple-steps {grid-template-columns:1fr}
}
@media(max-width:767.98px){
  .machinery-simple-dispatch-grid,
.machinery-modal-request-strip {grid-template-columns:1fr}
  .machinery-dispatch-item-footer {align-items:stretch;flex-direction:column}
  .machinery-dispatch-item-footer .btn {width:100%}
}
@media(max-width:575.98px){
  .machinery-request-quick-summary,
.machinery-dispatch-item-meta,
.machinery-active-period {grid-template-columns:1fr}
  .machinery-request-quick-summary .machinery-summary-wide {grid-column:auto}
  .machinery-request-quick-summary>div {min-height:74px}
  .machinery-selected-request-card .card-header {align-items:flex-start;flex-direction:column}
}

/* ========================================================================
   Sonic Tower v2.3.52 — simplified warehouse material preparation workflow
   ======================================================================== */
.warehouse-preparation-simple-page {gap:1rem}
.warehouse-request-picker-card .card-body {padding:1rem 1.1rem}
.warehouse-request-picker-grid {display:grid;grid-template-columns:minmax(340px,1.35fr) minmax(320px,1fr);gap:1rem;align-items:end}
.warehouse-request-picker-help,
.warehouse-selection-note {min-height:48px;display:flex;align-items:center;gap:.75rem;padding:.72rem .85rem;border:1px solid var(--bs-border-color);border-radius:.7rem;background:var(--bs-tertiary-bg)}
.warehouse-request-picker-help>i,
.warehouse-selection-note>i {font-size:1.45rem;color:var(--bs-primary);flex:0 0 auto}
.warehouse-request-picker-help strong,
.warehouse-request-picker-help span,
.warehouse-selection-note strong,
.warehouse-selection-note span {display:block}
.warehouse-request-picker-help span,
.warehouse-selection-note span {margin-top:.12rem;color:var(--bs-secondary-color);font-size:.8rem;line-height:1.5}
.warehouse-selected-request-card .card-header {align-items:center}
.warehouse-request-quick-summary {display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:.75rem}
.warehouse-request-quick-summary>div {position:relative;min-width:0;min-height:82px;padding:.85rem .9rem .8rem 3.05rem;border:1px solid var(--bs-border-color);border-radius:.75rem;background:var(--bs-body-bg)}
[dir="rtl"] .warehouse-request-quick-summary>div {padding:.85rem 3.05rem .8rem .9rem}
.warehouse-request-quick-summary>div>i {position:absolute;left:.85rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:var(--bs-tertiary-bg);color:var(--bs-primary);font-size:1.15rem}
[dir="rtl"] .warehouse-request-quick-summary>div>i {left:auto;right:.85rem}
.warehouse-request-quick-summary span,
.warehouse-request-quick-summary strong {display:block;overflow:hidden;text-overflow:ellipsis}
.warehouse-request-quick-summary span {font-size:.77rem;color:var(--bs-secondary-color);font-weight:700;margin-bottom:.18rem}
.warehouse-request-quick-summary strong {font-weight:900;white-space:normal;line-height:1.45}
.warehouse-request-quick-summary .warehouse-summary-wide {grid-column:span 2}
.warehouse-simple-steps {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.warehouse-simple-steps>div {display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;column-gap:.7rem;align-items:center;padding:.8rem .9rem;border:1px solid var(--bs-border-color);border-radius:.78rem;background:var(--bs-body-bg)}
.warehouse-simple-steps>div>span {grid-row:1/3;display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--bs-tertiary-bg);color:var(--bs-secondary-color);font-weight:900}
.warehouse-simple-steps strong {font-weight:900}
.warehouse-simple-steps small {color:var(--bs-secondary-color);line-height:1.35}
.warehouse-simple-steps>div.active {border-color:rgba(var(--bs-primary-rgb),.32);background:rgba(var(--bs-primary-rgb),.035)}
.warehouse-simple-steps>div.active>span {background:var(--bs-primary);color:#fff}
.warehouse-select-row {display:grid;grid-template-columns:minmax(280px,.8fr) minmax(360px,1.4fr);gap:1rem;align-items:end}
.warehouse-request-stat-grid {display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:.75rem}
.warehouse-request-stat-grid>div {padding:.75rem .85rem;border:1px solid var(--bs-border-color);border-radius:.7rem;background:var(--bs-body-bg);text-align:center}
.warehouse-request-stat-grid span,
.warehouse-request-stat-grid strong {display:block}
.warehouse-request-stat-grid span {font-size:.77rem;color:var(--bs-secondary-color);font-weight:700}
.warehouse-request-stat-grid strong {font-size:1.25rem;font-weight:900;margin-top:.18rem}
.warehouse-request-stat-grid .has-shortage {border-color:var(--bs-warning-border-subtle);background:var(--bs-warning-bg-subtle);color:var(--bs-warning-text-emphasis)}
.warehouse-main-actions {display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:78px;background:var(--bs-tertiary-bg)}
.warehouse-main-actions>div:first-child strong,
.warehouse-main-actions>div:first-child small {display:block}
.warehouse-main-actions>div:first-child small {color:var(--bs-secondary-color);margin-top:.15rem}
.warehouse-main-action-buttons {display:flex;flex-wrap:wrap;gap:.55rem;justify-content:flex-end}
.warehouse-main-action-buttons .btn {min-height:42px;font-weight:900}
.warehouse-request-lines-table {min-width:980px!important}
.warehouse-request-lines-table th,
.warehouse-request-lines-table td {white-space:nowrap;vertical-align:middle}
.warehouse-request-lines-table th:first-child,
.warehouse-request-lines-table td:first-child {min-width:240px;white-space:normal}
.warehouse-delivery-history-card .card-header .btn {font-weight:800}
.warehouse-action-modal .modal-dialog {max-width:min(1180px,calc(100vw - 2rem))}
.warehouse-action-modal .modal-content>form {display:flex;flex-direction:column;min-height:0;height:100%}
.warehouse-action-modal .modal-body {overflow:auto}
.warehouse-action-modal .modal-footer {gap:.65rem}
.warehouse-action-modal .modal-footer .btn {min-height:44px;min-width:120px;font-weight:900}
.warehouse-modal-request-strip {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}
.warehouse-modal-request-strip>div {padding:.72rem .82rem;border:1px solid var(--bs-border-color);border-radius:.68rem;background:var(--bs-tertiary-bg)}
.warehouse-modal-request-strip span,
.warehouse-modal-request-strip strong {display:block}
.warehouse-modal-request-strip span {font-size:.76rem;color:var(--bs-secondary-color);font-weight:700;margin-bottom:.15rem}
.warehouse-modal-request-strip strong {font-weight:900;line-height:1.45}
.warehouse-modal-tools {display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem;padding:.72rem .82rem;border:1px solid var(--bs-border-color);border-radius:.68rem;background:var(--bs-body-bg)}
.warehouse-modal-tools strong,
.warehouse-modal-tools small {display:block}
.warehouse-modal-tools small {color:var(--bs-secondary-color);margin-top:.12rem}
.warehouse-modal-tools>div:last-child {display:flex;flex-wrap:wrap;gap:.45rem;flex:0 0 auto}
.warehouse-action-lines-table {min-width:820px!important}
.warehouse-action-lines-table th,
.warehouse-action-lines-table td {white-space:nowrap;vertical-align:middle}
.warehouse-action-lines-table th:first-child,
.warehouse-action-lines-table td:first-child {min-width:240px;white-space:normal}
.warehouse-action-lines-table th:last-child,
.warehouse-action-lines-table td:last-child {width:180px;min-width:180px}
.warehouse-action-lines-table .form-control {min-width:150px}
.warehouse-delivery-fields {display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:1rem}
.warehouse-delivery-fields>div {min-width:0}
.warehouse-delivery-fields .warehouse-field-wide {grid-column:span 4}

@media(max-width:1199.98px){
  .warehouse-request-quick-summary {grid-template-columns:repeat(3,minmax(150px,1fr))}
  .warehouse-delivery-fields {grid-template-columns:repeat(2,minmax(180px,1fr))}
  .warehouse-delivery-fields .warehouse-field-wide {grid-column:span 2}
}
@media(max-width:991.98px){
  .warehouse-request-picker-grid,
.warehouse-select-row {grid-template-columns:1fr}
  .warehouse-request-quick-summary {grid-template-columns:repeat(2,minmax(150px,1fr))}
  .warehouse-simple-steps {grid-template-columns:1fr}
  .warehouse-main-actions {align-items:stretch;flex-direction:column}
  .warehouse-main-action-buttons {justify-content:stretch}
  .warehouse-main-action-buttons .btn {flex:1 1 210px}
}
@media(max-width:767.98px){
  .warehouse-request-stat-grid,
.warehouse-modal-request-strip,
.warehouse-delivery-fields {grid-template-columns:1fr}
  .warehouse-delivery-fields .warehouse-field-wide {grid-column:auto}
  .warehouse-modal-tools {align-items:stretch;flex-direction:column}
  .warehouse-modal-tools>div:last-child {width:100%}
  .warehouse-modal-tools>div:last-child .btn {flex:1}
  .warehouse-main-action-buttons {flex-direction:column}
  .warehouse-main-action-buttons .btn {width:100%;flex:auto}
}
@media(max-width:575.98px){
  .warehouse-request-quick-summary,
.warehouse-request-stat-grid {grid-template-columns:1fr}
  .warehouse-request-quick-summary .warehouse-summary-wide {grid-column:auto}
  .warehouse-selected-request-card .card-header {align-items:flex-start;flex-direction:column}
}

/* Sonic Tower v2.3.55 — reliable clickable material/machinery request location cards */
.request-location-picker {border:1px solid var(--bs-border-color);border-radius:16px;background:var(--bs-body-bg);padding:18px;transition:border-color .2s ease,box-shadow .2s ease}
.request-location-picker.request-location-picker-error {border-color:var(--bs-danger);box-shadow:0 0 0 4px rgba(var(--bs-danger-rgb),.12)}
.request-location-picker-head {display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.request-location-picker-head strong {display:block;font-size:16px;color:var(--bs-heading-color)}
.request-location-picker-head small {display:block;margin-top:3px;color:var(--bs-secondary-color)}
.request-location-scope-switch {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}
.request-location-scope-option {display:grid;grid-template-columns:46px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;text-align:start;border:1px solid var(--bs-border-color);border-radius:14px;padding:13px 14px;background:var(--bs-body-bg);color:var(--bs-body-color);transition:.18s ease}
.request-location-scope-option:hover {border-color:rgba(var(--bs-primary-rgb),.55);transform:translateY(-1px)}
.request-location-scope-option>i {grid-row:1/3;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:11px;background:var(--bs-tertiary-bg);color:var(--bs-secondary-color);font-size:22px;margin-inline-end:12px}
.request-location-scope-option span {font-weight:800}.request-location-scope-option small {margin-top:2px;color:var(--bs-secondary-color);font-size:12px}
.request-location-scope-option.active {border-color:var(--bs-primary);background:rgba(var(--bs-primary-rgb),.07);color:var(--bs-primary)}
.request-location-scope-option.active>i {background:var(--bs-primary);color:#fff}
.request-location-filter-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}
.request-location-filter-grid .form-label {font-weight:700;margin-bottom:6px}
.request-location-toolbar {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0 12px;border-top:1px dashed var(--bs-border-color)}
.request-location-toolbar-copy {display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--bs-secondary-color);font-size:12px}
.request-location-toolbar-copy span {display:inline-flex;align-items:center;gap:5px}
.request-location-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-height:390px;overflow:auto;padding:2px}
.request-location-option {position:relative;display:grid;grid-template-columns:38px minmax(0,1fr) 24px;align-items:center;gap:10px;min-height:76px;border:1px solid var(--bs-border-color);border-radius:13px;padding:11px 12px;background:var(--bs-body-bg);cursor:pointer;transition:.16s ease}
.request-location-option:hover {border-color:rgba(var(--bs-primary-rgb),.55);box-shadow:0 5px 16px rgba(15,23,42,.06)}
.request-location-option input {position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.request-location-option[role="checkbox"] {user-select:none}.request-location-option:focus-visible {outline:3px solid rgba(var(--bs-primary-rgb),.24);outline-offset:2px;border-color:var(--bs-primary)}.request-location-option[aria-disabled="true"] {cursor:not-allowed;opacity:.55}
.request-location-option-icon {display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:var(--bs-tertiary-bg);color:var(--bs-secondary-color);font-size:19px}
.request-location-option-copy {min-width:0}.request-location-option-copy strong {display:block;overflow:hidden;color:var(--bs-heading-color);font-size:13px;white-space:nowrap;text-overflow:ellipsis}.request-location-option-copy small {display:block;margin-top:3px;overflow:hidden;color:var(--bs-secondary-color);font-size:11px;white-space:nowrap;text-overflow:ellipsis}
.request-location-option-check {color:var(--bs-border-color);font-size:20px;transition:.16s ease}
.request-location-option.is-selected {border-color:var(--bs-primary);background:rgba(var(--bs-primary-rgb),.07)}
.request-location-option.is-selected .request-location-option-icon {background:var(--bs-primary);color:#fff}
.request-location-option.is-selected .request-location-option-check {color:var(--bs-primary)}
.request-location-empty {grid-column:1/-1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;min-height:130px;border:1px dashed var(--bs-border-color);border-radius:13px;color:var(--bs-secondary-color);text-align:center}
.request-location-empty i {font-size:30px;color:var(--bs-primary)}
.request-location-empty a {font-weight:700}
.request-context-grid {display:grid;grid-template-columns:repeat(4,minmax(190px,1fr));gap:14px;align-items:end}
.request-context-grid>div {min-width:0}.request-context-grid .form-control,
.request-context-grid .form-select {min-height:46px}.request-context-grid .form-label {font-weight:700}
.request-location-summary-chips {display:flex;flex-wrap:wrap;gap:7px}.request-location-summary-chips span {display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border:1px solid var(--bs-border-color);border-radius:999px;background:var(--bs-tertiary-bg);font-size:12px;font-weight:700}
@media(max-width:1399.98px){.request-location-grid {grid-template-columns:repeat(3,minmax(0,1fr))}.request-context-grid {grid-template-columns:repeat(3,minmax(180px,1fr))}}
@media(max-width:991.98px){.request-location-grid {grid-template-columns:repeat(2,minmax(0,1fr))}.request-location-filter-grid,
.request-context-grid {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767.98px){.request-location-picker {padding:13px}.request-location-picker-head,
.request-location-toolbar {align-items:stretch;flex-direction:column}.request-location-scope-switch,
.request-location-grid,
.request-location-filter-grid,
.request-context-grid {grid-template-columns:1fr}.request-location-grid {max-height:480px}.request-location-toolbar .btn {width:100%}}
.request-location-filter-contents {display:contents}
.request-context-span-2 {grid-column:span 2}
@media(max-width:767.98px){.request-context-span-2 {grid-column:auto}}

/* Sonic Tower v2.3.56 — simplified site material damage workflow */
.site-damage-picker-card .card-body {padding:1rem 1.1rem}
.site-damage-picker-grid {display:grid;grid-template-columns:minmax(320px,1.35fr) minmax(300px,1fr);gap:1rem;align-items:end}
.site-damage-picker-help {min-height:46px;display:flex;align-items:center;gap:.75rem;padding:.7rem .85rem;border:1px solid var(--bs-border-color);border-radius:.68rem;background:var(--bs-tertiary-bg)}
.site-damage-picker-help>i {font-size:1.55rem;color:var(--bs-danger);flex:0 0 auto}
.site-damage-picker-help strong,
.site-damage-picker-help span {display:block}
.site-damage-picker-help span {font-size:.8rem;color:var(--bs-secondary-color);margin-top:.12rem}
.site-damage-selected-item {margin-top:1rem;border:1px solid var(--bs-border-color);border-radius:.8rem;overflow:hidden;background:var(--bs-body-bg)}
.site-damage-selected-head {display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border-bottom:1px solid var(--bs-border-color);background:var(--bs-tertiary-bg)}
.site-damage-selected-head span,
.site-damage-selected-head strong {display:block}
.site-damage-selected-head span {font-size:.76rem;color:var(--bs-secondary-color);font-weight:700;margin-bottom:.15rem}
.site-damage-selected-head strong {font-size:1rem;font-weight:900}
.site-damage-summary-grid {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.7rem;padding:.9rem}
.site-damage-summary-grid>div {min-width:0;padding:.68rem .75rem;border:1px solid var(--bs-border-color);border-radius:.65rem;background:var(--bs-tertiary-bg)}
.site-damage-summary-grid small,
.site-damage-summary-grid strong {display:block}
.site-damage-summary-grid small {font-size:.72rem;color:var(--bs-secondary-color);font-weight:700;margin-bottom:.16rem}
.site-damage-summary-grid strong {font-size:.86rem;font-weight:900;line-height:1.45;overflow-wrap:anywhere}
.site-damage-summary-grid .site-damage-summary-wide {grid-column:span 2}
.site-damage-empty-state {min-height:190px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.4rem;border:1px dashed var(--bs-border-color);border-radius:.8rem;color:var(--bs-secondary-color);text-align:center;padding:1rem}
.site-damage-empty-state>i {font-size:2.4rem;color:var(--bs-danger)}
.site-damage-empty-state strong {color:var(--bs-heading-color);font-size:1rem}
.site-damage-stat-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.site-damage-stat-card {display:flex;align-items:center;gap:.8rem;padding:.9rem 1rem;border:1px solid var(--bs-border-color);border-radius:.75rem;background:var(--bs-body-bg)}
.site-damage-stat-card>i {display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:.65rem;background:var(--bs-tertiary-bg);color:var(--bs-primary);font-size:1.35rem}
.site-damage-stat-card span,
.site-damage-stat-card strong {display:block}.site-damage-stat-card span {font-size:.76rem;color:var(--bs-secondary-color);font-weight:700}.site-damage-stat-card strong {font-size:1.2rem;font-weight:900}
.site-damage-reason-box {padding:.85rem 1rem;border:1px solid var(--bs-border-color);border-radius:.72rem;background:var(--bs-tertiary-bg)}
.site-damage-reason-box small {display:block;color:var(--bs-secondary-color);font-weight:700;margin-bottom:.3rem}.site-damage-reason-box p {margin:0;font-weight:700;line-height:1.75}
.site-damage-main-actions {display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding:.9rem 1rem;border:1px solid var(--bs-warning-border-subtle);border-radius:.72rem;background:var(--bs-warning-bg-subtle)}
.site-damage-main-actions strong,
.site-damage-main-actions span {display:block}.site-damage-main-actions span {font-size:.8rem;color:var(--bs-secondary-color);margin-top:.15rem}.site-damage-main-actions>div:last-child {display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}
.site-damage-decision-result {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-top:1rem}
.site-damage-decision-result>div {padding:.75rem .85rem;border:1px solid var(--bs-border-color);border-radius:.68rem;background:var(--bs-tertiary-bg)}
.site-damage-decision-result small,
.site-damage-decision-result strong {display:block}.site-damage-decision-result small {font-size:.73rem;color:var(--bs-secondary-color);font-weight:700;margin-bottom:.18rem}.site-damage-decision-result strong {font-weight:900;line-height:1.5}
.site-damage-decision-result .site-damage-decision-notes {grid-column:1/-1}
.site-damage-form-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.site-damage-form-grid>div {min-width:0}.site-damage-form-grid .site-damage-field-wide {grid-column:1/-1}
.site-damage-advanced .accordion-button {font-weight:800}.site-damage-advanced .accordion-item {border-color:var(--bs-border-color)}
.site-damage-modal-strip {grid-template-columns:repeat(3,minmax(0,1fr))}
.site-damage-history-card .table {min-width:980px}
@media(max-width:1199.98px){.site-damage-summary-grid {grid-template-columns:repeat(3,minmax(0,1fr))}.site-damage-summary-grid .site-damage-summary-wide {grid-column:span 1}}
@media(max-width:991.98px){.site-damage-picker-grid {grid-template-columns:1fr}.site-damage-summary-grid {grid-template-columns:repeat(2,minmax(0,1fr))}.site-damage-main-actions {align-items:stretch;flex-direction:column}.site-damage-main-actions>div:last-child {justify-content:stretch}.site-damage-main-actions .btn {flex:1}.site-damage-decision-result {grid-template-columns:1fr}}
@media(max-width:767.98px){.site-damage-stat-grid,
.site-damage-summary-grid,
.site-damage-form-grid,
.site-damage-modal-strip {grid-template-columns:1fr}.site-damage-selected-head {align-items:stretch;flex-direction:column}.site-damage-selected-head .btn {width:100%}.site-damage-main-actions>div:last-child {flex-direction:column}.site-damage-main-actions .btn {width:100%}.site-damage-form-grid .site-damage-field-wide {grid-column:auto}}


/* Sonic Tower v2.3.57 — responsibility approval modal containment */
.site-damage-action-modal .modal-dialog {width:min(540px,calc(100vw - 1.5rem));max-width:540px;margin-inline:auto}
.site-damage-action-modal .modal-content>form {width:100%;min-width:0}
.site-damage-action-modal .modal-body {padding:1rem 1.25rem 1.2rem;overflow-x:hidden!important}
.site-damage-action-modal .modal-footer {position:relative;z-index:8;background:var(--bs-body-bg)}
.site-damage-approval-summary {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-bottom:1rem}
.site-damage-approval-summary>div {min-width:0;padding:.7rem .75rem;border:1px solid var(--bs-border-color);border-radius:.68rem;background:var(--bs-tertiary-bg)}
.site-damage-approval-summary small,
.site-damage-approval-summary strong {display:block}
.site-damage-approval-summary small {margin-bottom:.18rem;color:var(--bs-secondary-color);font-size:.72rem;font-weight:700}
.site-damage-approval-summary strong {overflow-wrap:anywhere;color:var(--bs-heading-color);font-size:.86rem;font-weight:900;line-height:1.45}
.site-damage-decision-field+.site-damage-decision-field {margin-top:1rem}
.site-damage-decision-field .form-label {margin-bottom:.45rem;font-weight:900}
.site-damage-responsibility-select {display:block!important;width:100%!important;min-height:48px!important;padding-inline:14px 42px!important;background-position:left .85rem center!important;font-weight:800!important}
.site-damage-decision-field .form-text {display:block;margin-top:.4rem;font-size:.75rem;line-height:1.5}
@media(max-width:575.98px){.site-damage-action-modal .modal-dialog {width:calc(100vw - 1rem)}.site-damage-action-modal .modal-body {padding:.9rem}.site-damage-approval-summary {grid-template-columns:1fr}.site-damage-action-modal .modal-footer {display:grid!important;grid-template-columns:1fr 1fr!important}.site-damage-action-modal .modal-footer .btn {width:100%;min-width:0}}

/* ========================================================================== */
/* v2.3.58 - Quality inspections workflow redesign                            */
/* ========================================================================== */
.quality-inspections-page {
  --quality-violet: #655bff;
  --quality-blue: #0f72e5;
  --quality-green: #16a34a;
  --quality-red: #dc3545;
  --quality-amber: #f59e0b;
  --quality-dark: #0f2742;
}
.quality-inspections-page .quality-section-header {
  min-height: 76px;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.quality-inspections-page .quality-section-header > div:first-child {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.quality-inspections-page .quality-section-header strong {
  display: block;
  color: var(--bs-heading-color);
  font-size: 16px;
  font-weight: 900;
}
.quality-inspections-page .quality-section-header small {
  display: block;
  margin-top: 3px;
  color: var(--bs-secondary-color);
  line-height: 1.55;
}
.quality-inspections-page .quality-section-icon {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 13px;
  color: #fff;
  font-size: 21px;
  background: linear-gradient(135deg, #f59e0b, #ea580c);
  box-shadow: 0 10px 20px rgba(234, 88, 12, .18);
}
.quality-inspections-page .quality-section-icon.is-blue { background: linear-gradient(135deg, #2563eb, #0284c7); box-shadow: 0 10px 20px rgba(2,132,199,.18); }
.quality-inspections-page .quality-section-icon.is-red { background: linear-gradient(135deg, #ef4444, #be123c); box-shadow: 0 10px 20px rgba(190,18,60,.18); }
.quality-inspections-page .quality-section-icon.is-dark { background: linear-gradient(135deg, #334155, #0f172a); box-shadow: 0 10px 20px rgba(15,23,42,.18); }
.quality-inspections-page .quality-count-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 7px 13px;
  border-radius: 999px;
  color: #92400e;
  background: #fef3c7;
  border: 1px solid #fde68a;
  font-weight: 900;
}
.quality-inspections-page .quality-count-badge.is-dark {
  color: #fff;
  background: var(--quality-dark);
  border-color: var(--quality-dark);
}
.quality-inspections-page .quality-followup-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.quality-inspections-page .quality-followup-card {
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--bs-border-color);
  border-radius: 15px;
  background: var(--bs-body-bg);
  color: inherit;
  text-decoration: none;
  box-shadow: 0 7px 18px rgba(15,23,42,.04);
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.quality-inspections-page .quality-followup-card:hover {
  color: inherit;
  transform: translateY(-2px);
  border-color: rgba(99,91,255,.45);
  box-shadow: 0 12px 26px rgba(99,91,255,.10);
}
.quality-inspections-page .quality-followup-card.is-active {
  border-color: var(--quality-violet);
  background: rgba(99,91,255,.055);
  box-shadow: 0 0 0 3px rgba(99,91,255,.10), 0 12px 28px rgba(99,91,255,.10);
}
.quality-inspections-page .quality-followup-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}
.quality-inspections-page .quality-document-no {
  color: var(--quality-violet);
  font-weight: 900;
}
.quality-inspections-page .quality-followup-card > strong {
  display: block;
  margin-bottom: 6px;
  color: var(--bs-heading-color);
  font-size: 15px;
  font-weight: 900;
}
.quality-inspections-page .quality-followup-card > small {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--bs-secondary-color);
}
.quality-inspections-page .quality-followup-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 13px;
}
.quality-inspections-page .quality-followup-meta span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 9px;
  border-radius: 9px;
  background: var(--bs-tertiary-bg);
  border: 1px solid var(--bs-border-color);
  color: var(--bs-secondary-color);
  font-size: 11px;
  font-weight: 800;
}
.quality-inspections-page .quality-followup-meta .is-pending { color: #a16207; background: #fffbeb; border-color: #fde68a; }
.quality-inspections-page .quality-followup-meta .is-return { color: #be123c; background: #fff1f2; border-color: #fecdd3; }
.quality-inspections-page .quality-empty-state {
  min-height: 160px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-align: center;
  color: var(--bs-secondary-color);
}
.quality-inspections-page .quality-empty-state > i { font-size: 42px; color: #94a3b8; }
.quality-inspections-page .quality-empty-state > strong { color: var(--bs-heading-color); font-size: 17px; }
.quality-inspections-page .quality-receipt-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 14px;
}
.quality-inspections-page .quality-summary-card {
  position: relative;
  isolation: isolate;
  min-height: 125px;
  padding: 20px;
  overflow: hidden;
  border-radius: 18px;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-shadow: 0 12px 28px rgba(15,23,42,.14);
}
.quality-inspections-page .quality-summary-card::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 110px;
  height: 110px;
  inset-inline-end: -30px;
  top: -38px;
  border-radius: 50%;
  background: rgba(255,255,255,.13);
}
.quality-inspections-page .quality-summary-card.is-violet { background: linear-gradient(135deg, #7c3aed, #4f46e5); }
.quality-inspections-page .quality-summary-card.is-blue { background: linear-gradient(135deg, #2563eb, #0284c7); }
.quality-inspections-page .quality-summary-card.is-amber { background: linear-gradient(135deg, #f59e0b, #ea580c); }
.quality-inspections-page .quality-summary-card > i { font-size: 27px; margin-bottom: 9px; }
.quality-inspections-page .quality-summary-card > small { opacity: .9; font-weight: 800; }
.quality-inspections-page .quality-summary-card > strong {
  margin-top: 4px;
  overflow-wrap: anywhere;
  font-size: 18px;
  line-height: 1.45;
  font-weight: 900;
}
.quality-inspections-page .quality-live-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 10px;
}
.quality-inspections-page .quality-live-summary > div {
  min-height: 78px;
  padding: 13px 15px;
  border: 1px solid var(--bs-border-color);
  border-radius: 13px;
  background: var(--bs-tertiary-bg);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.quality-inspections-page .quality-live-summary small { color: var(--bs-secondary-color); font-weight: 800; }
.quality-inspections-page .quality-live-summary strong { margin-top: 3px; color: var(--bs-heading-color); font-size: 20px; }
.quality-inspections-page .quality-live-summary .is-accepted { border-color: #bbf7d0; background: #f0fdf4; }
.quality-inspections-page .quality-live-summary .is-accepted strong { color: #15803d; }
.quality-inspections-page .quality-live-summary .is-rejected { border-color: #fecdd3; background: #fff1f2; }
.quality-inspections-page .quality-live-summary .is-rejected strong { color: #be123c; }
.quality-inspections-page .quality-table-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
.quality-inspections-page .quality-table-heading strong { display: block; color: var(--bs-heading-color); font-size: 15px; }
.quality-inspections-page .quality-table-heading small { display: block; margin-top: 3px; color: var(--bs-secondary-color); }
.quality-inspections-page table.quality-inspection-table { min-width: 1320px !important; table-layout: fixed !important; }
.quality-inspections-page table.quality-inspection-table th,
.quality-inspections-page table.quality-inspection-table td { white-space: normal !important; }
.quality-inspections-page table.quality-inspection-table th:nth-child(1),
.quality-inspections-page table.quality-inspection-table td:nth-child(1) { width: 230px; }
.quality-inspections-page table.quality-inspection-table th:nth-child(2),
.quality-inspections-page table.quality-inspection-table td:nth-child(2) { width: 220px; }
.quality-inspections-page table.quality-inspection-table th:nth-child(3),
.quality-inspections-page table.quality-inspection-table td:nth-child(3),
.quality-inspections-page table.quality-inspection-table th:nth-child(4),
.quality-inspections-page table.quality-inspection-table td:nth-child(4),
.quality-inspections-page table.quality-inspection-table th:nth-child(5),
.quality-inspections-page table.quality-inspection-table td:nth-child(5) { width: 120px; text-align: center; }
.quality-inspections-page table.quality-inspection-table th:nth-child(6),
.quality-inspections-page table.quality-inspection-table td:nth-child(6),
.quality-inspections-page table.quality-inspection-table th:nth-child(7),
.quality-inspections-page table.quality-inspection-table td:nth-child(7) { width: 165px; }
.quality-inspections-page table.quality-inspection-table th:nth-child(8),
.quality-inspections-page table.quality-inspection-table td:nth-child(8) { width: 245px; }
.quality-inspections-page .quality-item-name { display: flex; align-items: center; gap: 10px; }
.quality-inspections-page .quality-item-name > span {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  color: var(--quality-violet);
  background: rgba(99,91,255,.10);
}
.quality-inspections-page .quality-item-name strong { display: block; color: var(--bs-heading-color); }
.quality-inspections-page .quality-item-name small { display: block; color: var(--bs-secondary-color); margin-top: 2px; }
.quality-inspections-page .quality-batch-cell { display: flex !important; flex-direction: column; align-items: flex-start; gap: 4px; font-size: 11px; color: var(--bs-secondary-color); }
.quality-inspections-page .quality-batch-cell strong { color: var(--bs-heading-color); }
.quality-inspections-page .quality-pending-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 54px;
  padding: 6px 10px;
  border-radius: 9px;
  color: #a16207;
  background: #fef3c7;
  border: 1px solid #fde68a;
  font-weight: 900;
}
.quality-inspections-page .quality-pending-badge.is-danger { color: #be123c; background: #fff1f2; border-color: #fecdd3; }
.quality-inspections-page .quality-quantity-input { min-height: 45px; text-align: center; font-weight: 900; }
.quality-inspections-page .quality-quantity-input.is-accepted:focus { border-color: #22c55e; box-shadow: 0 0 0 .2rem rgba(34,197,94,.12); }
.quality-inspections-page .quality-quantity-input.is-rejected:focus { border-color: #ef4444; box-shadow: 0 0 0 .2rem rgba(239,68,68,.12); }
.quality-inspections-page .quality-quick-actions { display: flex; align-items: center; justify-content: center; gap: 5px; margin-top: 6px; }
.quality-inspections-page .quality-quick-actions button {
  padding: 3px 7px;
  border: 0;
  border-radius: 7px;
  color: var(--bs-secondary-color);
  background: var(--bs-tertiary-bg);
  font-size: 10px;
  font-weight: 800;
}
.quality-inspections-page .quality-quick-actions button:hover { color: var(--quality-violet); }
.quality-inspections-page tr[data-inspection-row].is-distributed { background: rgba(99,91,255,.025); }
.quality-inspections-page .quality-reason-label { display: block; margin-bottom: 6px; color: var(--bs-secondary-color); font-size: 11px; font-weight: 800; }
.quality-inspections-page .quality-reason-label span { color: var(--quality-red); }
.quality-inspections-page [data-rejection-reason]:disabled { opacity: .65; background: var(--bs-tertiary-bg); }
.quality-inspections-page [data-rejection-reason].is-required { border-color: rgba(220,53,69,.45); }
.quality-inspections-page .quality-form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 14px;
}
.quality-inspections-page .quality-field { min-width: 0; }
.quality-inspections-page .quality-field .form-label { min-height: 20px; margin-bottom: 6px; font-weight: 900; color: var(--bs-heading-color); }
.quality-inspections-page .quality-field .form-control,
.quality-inspections-page .quality-field .form-select,
.quality-inspections-page .quality-field .input-group-text { min-height: 46px; }
.quality-inspections-page .quality-return-toggle-card {
  min-height: 82px;
  padding: 14px 16px;
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: 12px;
  border: 1px solid var(--bs-border-color);
  border-radius: 15px;
  background: var(--bs-tertiary-bg);
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.quality-inspections-page .quality-return-toggle-card.is-active {
  border-color: #fb7185;
  background: #fff1f2;
  box-shadow: 0 0 0 3px rgba(244,63,94,.08);
}
.quality-inspections-page .quality-return-toggle-icon {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  color: #be123c;
  background: #ffe4e6;
  font-size: 21px;
}
.quality-inspections-page .quality-return-toggle-copy strong { display: block; color: var(--bs-heading-color); font-weight: 900; }
.quality-inspections-page .quality-return-toggle-copy small { display: block; margin-top: 4px; color: var(--bs-secondary-color); line-height: 1.55; }
.quality-inspections-page .quality-return-toggle-card .form-check-input { width: 46px; height: 25px; margin: 0; cursor: pointer; }
.quality-inspections-page .quality-return-toggle-card .form-check-input:disabled { cursor: not-allowed; opacity: .45; }
.quality-inspections-page .quality-return-panel {
  overflow: hidden;
  border: 1px solid #fecdd3;
  border-radius: 16px;
  background: #fff7f8;
}
.quality-inspections-page .quality-return-panel[hidden] { display: none !important; }
.quality-inspections-page .quality-return-panel-head {
  padding: 14px 16px;
  display: flex;
  align-items: center;
  gap: 11px;
  color: #fff;
  background: linear-gradient(135deg, #ef4444, #be123c);
}
.quality-inspections-page .quality-return-panel-head > span {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: rgba(255,255,255,.15);
  font-size: 19px;
}
.quality-inspections-page .quality-return-panel-head strong { display: block; }
.quality-inspections-page .quality-return-panel-head small { display: block; margin-top: 2px; opacity: .88; }
.quality-inspections-page .quality-return-panel .quality-form-grid { padding: 16px; }
.quality-inspections-page .quality-pending-return-card { border-color: #fecdd3 !important; }
.quality-inspections-page table.quality-return-table { min-width: 820px !important; }
.quality-inspections-page .quality-history-filters {
  display: grid;
  grid-template-columns: minmax(260px,2fr) repeat(3,minmax(150px,1fr)) auto;
  align-items: end;
  gap: 12px;
}
.quality-inspections-page .quality-filter-actions { display: flex; gap: 7px; align-items: center; }
.quality-inspections-page .quality-filter-actions .btn { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; font-weight: 900; white-space: nowrap; }
.quality-inspections-page .quality-history-table { min-width: 1050px; }
.quality-inspections-page .quality-history-table th { white-space: nowrap; background: var(--bs-tertiary-bg); font-weight: 900; }
.quality-inspections-page .quality-history-table td { white-space: nowrap; }
.quality-inspections-page .quality-pagination-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.quality-inspections-page .quality-pagination-footer > span { color: var(--bs-secondary-color); font-weight: 800; }
.quality-details-modal .modal-content { border: 0; border-radius: 19px; overflow: hidden; }
.quality-details-modal .modal-header { min-height: 70px; background: rgba(99,91,255,.055); }
.quality-details-modal .modal-footer { justify-content: flex-start; }
.quality-details-modal .modal-footer .btn { min-width: 130px; }
.quality-modal-summary-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 10px;
}
.quality-modal-summary-grid > div {
  min-height: 80px;
  padding: 13px 14px;
  border: 1px solid var(--bs-border-color);
  border-radius: 12px;
  background: var(--bs-tertiary-bg);
}
.quality-modal-summary-grid small { display: block; color: var(--bs-secondary-color); margin-bottom: 5px; }
.quality-modal-summary-grid strong { color: var(--bs-heading-color); font-weight: 900; }
.quality-details-modal table.quality-modal-items { min-width: 980px !important; }
.quality-modal-bottom-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.quality-modal-note,
.quality-modal-files { min-height: 105px; padding: 14px; border: 1px solid var(--bs-border-color); border-radius: 12px; background: var(--bs-tertiary-bg); }
.quality-modal-note > small,
.quality-modal-files > small { color: var(--bs-secondary-color); font-weight: 900; }
.quality-modal-note p { margin: 8px 0 0; color: var(--bs-heading-color); line-height: 1.75; }

@media (max-width: 1199.98px) {
  .quality-inspections-page .quality-followup-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .quality-inspections-page .quality-history-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .quality-inspections-page .quality-history-filters .is-search { grid-column: 1 / -1; }
  .quality-inspections-page .quality-filter-actions { grid-column: 1 / -1; }
}
@media (max-width: 767.98px) {
  .quality-inspections-page .quality-followup-grid,
.quality-inspections-page .quality-receipt-summary-grid,
.quality-inspections-page .quality-live-summary,
.quality-inspections-page .quality-form-grid,
.quality-inspections-page .quality-history-filters,
.quality-modal-summary-grid,
.quality-modal-bottom-grid { grid-template-columns: 1fr; }
  .quality-inspections-page .quality-history-filters .is-search,
.quality-inspections-page .quality-filter-actions { grid-column: auto; }
  .quality-inspections-page .quality-filter-actions { align-items: stretch; }
  .quality-inspections-page .quality-filter-actions .btn { flex: 1; }
  .quality-inspections-page .quality-return-toggle-card { grid-template-columns: auto minmax(0,1fr); }
  .quality-inspections-page .quality-return-toggle-card .form-check-input { grid-column: 1 / -1; justify-self: end; }
  .quality-inspections-page .quality-pagination-footer { justify-content: center; }
}
[data-bs-theme="dark"] .quality-inspections-page .quality-followup-card,
[data-bs-theme="dark"] .quality-inspections-page .quality-live-summary > div,
[data-bs-theme="dark"] .quality-inspections-page .quality-return-toggle-card,
[data-bs-theme="dark"] .quality-modal-summary-grid > div,
[data-bs-theme="dark"] .quality-modal-note,
[data-bs-theme="dark"] .quality-modal-files { background: #172235; }
[data-bs-theme="dark"] .quality-inspections-page .quality-followup-meta .is-pending,
[data-bs-theme="dark"] .quality-inspections-page .quality-live-summary .is-accepted { color: #fde68a; background: rgba(161,98,7,.20); border-color: rgba(253,230,138,.22); }
[data-bs-theme="dark"] .quality-inspections-page .quality-followup-meta .is-return,
[data-bs-theme="dark"] .quality-inspections-page .quality-live-summary .is-rejected,
[data-bs-theme="dark"] .quality-inspections-page .quality-return-toggle-card.is-active,
[data-bs-theme="dark"] .quality-inspections-page .quality-return-panel { color: #fecdd3; background: rgba(190,18,60,.15); border-color: rgba(254,205,211,.22); }

/* ========================================================================== */
/* v2.3.59 - Quality inspection corrections, returns queue, and modal polish  */
/* ========================================================================== */
.quality-inspections-page .quality-followup-tabs {
  display:flex;align-items:center;gap:8px;padding:5px;border:1px solid var(--bs-border-color);
  border-radius:14px;background:var(--bs-tertiary-bg)
}
.quality-inspections-page .quality-followup-tab {
  min-height:42px;padding:8px 12px;border:1px solid transparent;border-radius:10px;background:transparent;
  color:var(--bs-secondary-color);display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:900
}
.quality-inspections-page .quality-followup-tab b {
  min-width:24px;height:24px;padding:0 6px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;
  background:var(--bs-body-bg);border:1px solid var(--bs-border-color);font-size:11px
}
.quality-inspections-page .quality-followup-tab.is-inspection.is-active {color:#92400e;background:#fffbeb;border-color:#fde68a;box-shadow:0 5px 14px rgba(245,158,11,.12)}
.quality-inspections-page .quality-followup-tab.is-return.is-active {color:#be123c;background:#fff1f2;border-color:#fecdd3;box-shadow:0 5px 14px rgba(225,29,72,.12)}
.quality-inspections-page .quality-followup-card.is-return-card {border-color:#fecdd3;background:linear-gradient(180deg,#fff 0,#fff7f8 100%)}
.quality-inspections-page .quality-followup-card.is-return-card:hover,
.quality-inspections-page .quality-followup-card.is-return-card.is-active {border-color:#f43f5e;box-shadow:0 0 0 3px rgba(244,63,94,.08),0 12px 28px rgba(190,18,60,.10)}
.quality-inspections-page .quality-followup-card.is-return-card .quality-document-no {color:#be123c}
.quality-inspections-page [data-quality-followup-panel][hidden] {display:none!important}

.quality-inspections-page table.quality-inspection-table {min-width:1390px!important}
.quality-inspections-page table.quality-inspection-table th:nth-child(1) {width:180px}
.quality-inspections-page table.quality-inspection-table th:nth-child(2) {width:390px}
.quality-inspections-page table.quality-inspection-table th:nth-child(3) {width:115px}
.quality-inspections-page table.quality-inspection-table th:nth-child(4) {width:110px}
.quality-inspections-page table.quality-inspection-table th:nth-child(5),
.quality-inspections-page table.quality-inspection-table th:nth-child(6) {width:215px}
.quality-inspections-page table.quality-inspection-table th:nth-child(7) {width:230px}
.quality-inspections-page .quality-batch-cell {display:table-cell!important;vertical-align:middle!important}
.quality-inspections-page .quality-batch-inline {
  min-width:360px;padding:7px;border:1px solid var(--bs-border-color);border-radius:11px;background:var(--bs-tertiary-bg);
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;align-items:stretch
}
.quality-inspections-page .quality-batch-inline>span {
  min-width:0;padding:6px 7px;border-radius:8px;background:var(--bs-body-bg);border:1px solid rgba(148,163,184,.18);
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;white-space:nowrap
}
.quality-inspections-page .quality-batch-inline small {display:block;margin-bottom:2px;color:var(--bs-secondary-color);font-size:9px;font-weight:800}
.quality-inspections-page .quality-batch-inline strong {display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;color:var(--bs-heading-color);font-size:11px;font-weight:900}
.quality-inspections-page .quality-batch-inline.is-modal {min-width:390px}
.quality-inspections-page .quality-quantity-control {
  min-width:190px;display:grid;grid-template-columns:54px minmax(78px,1fr) 54px;align-items:stretch;direction:rtl
}
.quality-inspections-page .quality-quantity-control .form-control {
  position:relative;z-index:1;min-width:0;border-radius:0!important;border-inline-width:0;text-align:center
}
.quality-inspections-page .quality-quantity-control button {
  min-height:45px;padding:5px 7px;border:1px solid var(--bs-border-color);background:var(--bs-tertiary-bg);
  color:var(--bs-secondary-color);font-size:10px;font-weight:900;white-space:nowrap
}
.quality-inspections-page .quality-quantity-control button:first-child {border-radius:0 10px 10px 0}
.quality-inspections-page .quality-quantity-control button:last-child {border-radius:10px 0 0 10px}
.quality-inspections-page .quality-quantity-control .is-all {color:#15803d;background:#f0fdf4;border-color:#bbf7d0}
.quality-inspections-page .quality-quantity-control .is-all.is-reject {color:#be123c;background:#fff1f2;border-color:#fecdd3}
.quality-inspections-page .quality-quantity-control .is-clear:hover {color:#334155;background:#e2e8f0}
.quality-inspections-page .quality-quantity-control button:hover {filter:brightness(.98)}
.quality-inspections-page [data-rejection-reason] {min-height:45px}

.quality-inspections-page .quality-return-toggle-card {
  position:relative;min-height:96px;padding:16px 18px;border-width:2px;background:linear-gradient(180deg,var(--bs-body-bg),var(--bs-tertiary-bg));
  box-shadow:0 8px 22px rgba(15,23,42,.05)
}
.quality-inspections-page .quality-return-toggle-card.is-ready {border-color:#fda4af;background:#fff7f8}
.quality-inspections-page .quality-return-toggle-card.is-active {border-color:#e11d48;background:#fff1f2;box-shadow:0 0 0 4px rgba(225,29,72,.09),0 10px 24px rgba(190,18,60,.10)}
.quality-inspections-page .quality-return-toggle-copy strong {font-size:15px}
.quality-inspections-page .quality-return-switch {position:relative;width:62px;height:34px;display:inline-flex;flex:0 0 62px}
.quality-inspections-page .quality-return-switch input {position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2}
.quality-inspections-page .quality-return-switch-track {width:62px;height:34px;padding:3px;border-radius:999px;background:#cbd5e1;border:1px solid #94a3b8;display:block;transition:.18s ease}
.quality-inspections-page .quality-return-switch-track>span {width:26px;height:26px;border-radius:50%;background: var(--bs-card-bg);box-shadow:0 2px 7px rgba(15,23,42,.25);display:block;transform:translateX(0);transition:.18s ease}
[dir="rtl"] .quality-inspections-page .quality-return-switch-track>span {transform:translateX(-28px)}
.quality-inspections-page .quality-return-switch input:checked+.quality-return-switch-track {background:#e11d48;border-color:#be123c}
[dir="rtl"] .quality-inspections-page .quality-return-switch input:checked+.quality-return-switch-track>span {transform:translateX(0)}
.quality-inspections-page .quality-return-switch input:disabled+.quality-return-switch-track {opacity:.48;filter:grayscale(.35)}
.quality-inspections-page .quality-return-switch input:focus-visible+.quality-return-switch-track {outline:3px solid rgba(225,29,72,.2);outline-offset:3px}

.quality-inspections-page .quality-history-actions {display:flex;align-items:center;gap:6px;white-space:nowrap}
.quality-inspections-page .quality-history-actions .btn {display:inline-flex;align-items:center;gap:4px;font-weight:900}
.quality-inspections-page .quality-neutral-badge,
.quality-inspections-page .quality-result-badge {
  min-width:54px;padding:7px 10px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;font-weight:900
}
.quality-inspections-page .quality-neutral-badge {color:#334155;background:#f1f5f9;border:1px solid #cbd5e1}
.quality-inspections-page .quality-result-badge.is-accepted {color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}
.quality-inspections-page .quality-result-badge.is-rejected {color:#be123c;background:#fff1f2;border:1px solid #fecdd3}

.quality-details-modal .modal-dialog,
.quality-edit-modal .modal-dialog {width:min(1240px,calc(100vw - 2rem));max-width:1240px}
.quality-details-modal .modal-content,
.quality-edit-modal .modal-content {border:0;border-radius:20px;overflow:hidden;box-shadow:0 25px 70px rgba(15,23,42,.24)}
.quality-modal-hero {min-height:88px!important;padding:17px 20px!important;color:#fff;background:linear-gradient(135deg,#4f46e5,#2563eb)!important;border:0!important}
.quality-modal-hero>div {display:flex;align-items:center;gap:13px;min-width:0}
.quality-modal-hero-icon {width:48px;height:48px;flex:0 0 48px;border-radius:14px;background:rgba(255,255,255,.16);display:inline-flex;align-items:center;justify-content:center;font-size:24px}
.quality-modal-hero .modal-title {margin:0;color:#fff;font-size:18px;font-weight:900}
.quality-modal-hero small {display:block;margin-top:4px;color:rgba(255,255,255,.82)}
.quality-modal-body {padding:18px!important}
.quality-modal-colored-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.quality-modal-colored-grid article {position:relative;min-height:104px;padding:15px 16px;overflow:hidden;border-radius:15px;color:#fff;display:flex;flex-direction:column;justify-content:center;box-shadow:0 9px 22px rgba(15,23,42,.12)}
.quality-modal-colored-grid article:after {content:"";position:absolute;width:80px;height:80px;inset-inline-end:-22px;top:-26px;border-radius:50%;background:rgba(255,255,255,.13)}
.quality-modal-colored-grid article>i {font-size:23px;margin-bottom:7px}.quality-modal-colored-grid article small {opacity:.86;font-weight:800}.quality-modal-colored-grid article strong {margin-top:3px;font-size:15px;font-weight:900;overflow-wrap:anywhere}
.quality-modal-colored-grid .is-violet {background:linear-gradient(135deg,#7c3aed,#4f46e5)}
.quality-modal-colored-grid .is-blue {background:linear-gradient(135deg,#2563eb,#0f72e5)}
.quality-modal-colored-grid .is-cyan {background:linear-gradient(135deg,#0891b2,#0284c7)}
.quality-modal-colored-grid .is-amber {background:linear-gradient(135deg,#f59e0b,#ea580c)}
.quality-modal-colored-grid.is-compact article {min-height:88px}
.quality-modal-result-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.quality-modal-result-grid>div {min-height:76px;padding:12px 14px;border:1px solid var(--bs-border-color);border-radius:13px;background:var(--bs-tertiary-bg);display:flex;flex-direction:column;justify-content:center}
.quality-modal-result-grid small {color:var(--bs-secondary-color);font-weight:800}.quality-modal-result-grid strong {margin-top:3px;font-size:18px;font-weight:900}
.quality-modal-result-grid .is-accepted {background:#f0fdf4;border-color:#bbf7d0}.quality-modal-result-grid .is-accepted strong {color:#15803d}
.quality-modal-result-grid .is-rejected {background:#fff1f2;border-color:#fecdd3}.quality-modal-result-grid .is-rejected strong {color:#be123c}
.quality-modal-result-grid .is-lines {background:#f8fafc}.quality-modal-result-grid .is-lines strong {color:#334155}
.quality-modal-result-grid .is-user {background:#eff6ff;border-color:#bfdbfe}.quality-modal-result-grid .is-user strong {color:#1d4ed8;font-size:14px}
.quality-modal-table-title {margin-bottom:9px}.quality-modal-table-title strong {display:block;color:var(--bs-heading-color);font-weight:900}.quality-modal-table-title small {display:block;margin-top:2px;color:var(--bs-secondary-color)}
.quality-details-modal table.quality-modal-items {min-width:1180px!important}
.quality-details-modal table.quality-modal-items th:last-child {width:410px}
.quality-modal-note,
.quality-modal-files {display:flex;align-items:flex-start;gap:11px;min-height:120px;background:var(--bs-body-bg);box-shadow:0 5px 16px rgba(15,23,42,.04)}
.quality-modal-note>div,
.quality-modal-files>div {min-width:0;flex:1}
.quality-modal-box-icon {width:42px;height:42px;flex:0 0 42px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;font-size:20px}
.quality-modal-box-icon.is-note {color:#7c3aed;background:#ede9fe}.quality-modal-box-icon.is-file {color:#0284c7;background:#e0f2fe}

.quality-edit-modal .modal-header {min-height:72px;background:#f0fdf4}.quality-edit-modal .modal-title {font-weight:900}
.quality-edit-warning {margin-bottom:15px;padding:13px 15px;border:1px solid #fde68a;border-radius:13px;background:#fffbeb;display:flex;align-items:flex-start;gap:10px;color:#92400e}
.quality-edit-warning>i {font-size:22px;margin-top:1px}.quality-edit-warning strong {display:block;font-weight:900}.quality-edit-warning small {display:block;margin-top:3px;line-height:1.65}
.quality-edit-modal table.quality-edit-table {min-width:1040px!important;table-layout:fixed!important}
.quality-edit-modal table.quality-edit-table th:nth-child(1) {width:190px}.quality-edit-modal table.quality-edit-table th:nth-child(2) {width:130px}.quality-edit-modal table.quality-edit-table th:nth-child(3),
.quality-edit-modal table.quality-edit-table th:nth-child(4) {width:215px}.quality-edit-modal table.quality-edit-table th:nth-child(5) {width:280px}
.quality-edit-modal .quality-field.is-wide {grid-column:span 2}
.quality-edit-modal .modal-footer {background:var(--bs-body-bg)}

@media(max-width:991.98px){
  .quality-inspections-page .quality-section-header {align-items:flex-start}
  .quality-inspections-page .quality-followup-tabs {width:100%;display:grid;grid-template-columns:1fr 1fr}
  .quality-inspections-page .quality-followup-tab {width:100%}
  .quality-modal-colored-grid,
.quality-modal-result-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:575.98px){
  .quality-inspections-page .quality-followup-tabs {grid-template-columns:1fr}
  .quality-modal-colored-grid,
.quality-modal-result-grid {grid-template-columns:1fr}
  .quality-inspections-page .quality-return-toggle-card {grid-template-columns:auto minmax(0,1fr)}
  .quality-inspections-page .quality-return-switch {grid-column:1/-1;justify-self:end}
  .quality-details-modal .modal-dialog,
.quality-edit-modal .modal-dialog {width:calc(100vw - 1rem);margin:.5rem auto}
  .quality-edit-modal .quality-field.is-wide {grid-column:auto}
}
[data-bs-theme="dark"] .quality-inspections-page .quality-followup-card.is-return-card {background:rgba(190,18,60,.12)}
[data-bs-theme="dark"] .quality-inspections-page .quality-followup-tab.is-inspection.is-active {color:#fde68a;background:rgba(161,98,7,.22);border-color:rgba(253,230,138,.22)}
[data-bs-theme="dark"] .quality-inspections-page .quality-followup-tab.is-return.is-active {color:#fecdd3;background:rgba(190,18,60,.20);border-color:rgba(254,205,211,.22)}
[data-bs-theme="dark"] .quality-inspections-page .quality-batch-inline,
[data-bs-theme="dark"] .quality-inspections-page .quality-batch-inline>span {background:#172235}
[data-bs-theme="dark"] .quality-inspections-page .quality-return-toggle-card.is-ready,
[data-bs-theme="dark"] .quality-inspections-page .quality-return-toggle-card.is-active {background:rgba(190,18,60,.16)}
[data-bs-theme="dark"] .quality-modal-result-grid .is-accepted {background:rgba(21,128,61,.18);border-color:rgba(187,247,208,.18)}
[data-bs-theme="dark"] .quality-modal-result-grid .is-rejected {background:rgba(190,18,60,.18);border-color:rgba(254,205,211,.18)}
[data-bs-theme="dark"] .quality-modal-result-grid .is-lines,
[data-bs-theme="dark"] .quality-modal-result-grid .is-user,
[data-bs-theme="dark"] .quality-edit-modal .modal-header {background:#172235}
[data-bs-theme="dark"] .quality-edit-warning {color:#fde68a;background:rgba(161,98,7,.20);border-color:rgba(253,230,138,.22)}
.quality-inspections-page .quality-followup-toggle {
  min-height:44px;padding:9px 13px;border:1px solid #fecdd3;border-radius:12px;background:#fff1f2;color:#be123c;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:900;box-shadow:0 6px 16px rgba(190,18,60,.08)
}
.quality-inspections-page .quality-followup-toggle b {
  min-width:25px;height:25px;padding:0 6px;border-radius:999px;background: var(--bs-card-bg);border:1px solid #fecdd3;
  display:inline-flex;align-items:center;justify-content:center;font-size:11px
}
.quality-inspections-page .quality-followup-toggle.is-showing-returns {color:#92400e;background:#fffbeb;border-color:#fde68a;box-shadow:0 6px 16px rgba(161,98,7,.08)}
.quality-inspections-page .quality-followup-toggle.is-showing-returns b {border-color:#fde68a}
@media(max-width:575.98px){.quality-inspections-page .quality-followup-toggle {width:100%}}
[data-bs-theme="dark"] .quality-inspections-page .quality-followup-toggle {color:#fecdd3;background:rgba(190,18,60,.18);border-color:rgba(254,205,211,.22)}
[data-bs-theme="dark"] .quality-inspections-page .quality-followup-toggle.is-showing-returns {color:#fde68a;background:rgba(161,98,7,.22);border-color:rgba(253,230,138,.22)}

/* v2.3.60 - Fix batch details layout inside quality inspection modals */
.quality-details-modal .quality-modal-items td:last-child {
  min-width:430px;
  padding:10px!important;
}
.quality-details-modal .quality-batch-inline.is-modal {
  width:100%;
  min-width:400px;
  padding:8px;
  border:1px solid var(--bs-border-color);
  border-radius:12px;
  background:var(--bs-tertiary-bg);
  display:grid!important;
  grid-template-columns:repeat(4,minmax(86px,1fr));
  gap:7px;
  align-items:stretch;
  direction:rtl;
}
.quality-details-modal .quality-batch-inline.is-modal>span {
  min-width:0;
  min-height:58px;
  padding:7px 8px;
  border:1px solid rgba(148,163,184,.22);
  border-radius:9px;
  background:var(--bs-body-bg);
  display:flex!important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  text-align:center;
  white-space:nowrap;
  overflow:hidden;
}
.quality-details-modal .quality-batch-inline.is-modal small {
  display:block;
  margin:0;
  color:var(--bs-secondary-color);
  font-size:9px;
  line-height:1.2;
  font-weight:800;
}
.quality-details-modal .quality-batch-inline.is-modal strong {
  display:block;
  width:100%;
  margin:0;
  overflow:hidden;
  text-overflow:ellipsis;
  color:var(--bs-heading-color);
  font-size:11px;
  line-height:1.35;
  font-weight:900;
  direction:ltr;
  unicode-bidi:plaintext;
  font-variant-numeric:tabular-nums;
}
.quality-details-modal .quality-batch-inline.is-modal>span:last-child strong {
  direction:rtl;
}
[data-bs-theme="dark"] .quality-details-modal .quality-batch-inline.is-modal,
[data-bs-theme="dark"] .quality-details-modal .quality-batch-inline.is-modal>span {
  background:#172235;
}
@media(max-width:767.98px){
  .quality-details-modal .quality-modal-items td:last-child {min-width:360px}
  .quality-details-modal .quality-batch-inline.is-modal {
    min-width:330px;
    grid-template-columns:repeat(2,minmax(130px,1fr));
  }
}

/* Sonic Tower v2.3.61 — material request form, locations, table and modals */
.material-request-warning-note {display:flex;align-items:center;gap:.7rem;border:1px solid rgba(var(--bs-warning-rgb),.42);font-weight:800;color:var(--bs-warning-text-emphasis);background:var(--bs-warning-bg-subtle)}
.material-request-warning-note>i {font-size:1.4rem;flex:0 0 auto}
.material-request-context-grid {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:end}
.material-request-context-grid>div {min-width:0}
.material-request-context-grid .form-label {font-weight:800;margin-bottom:6px}
.material-request-context-grid .form-control,
.material-request-context-grid .form-select {min-height:46px}
.material-request-context-grid input[type=file] {padding-block:.48rem}
.request-location-picker.is-general-scope .request-location-filter-grid {grid-template-columns:minmax(0,1fr)}
.request-location-picker.is-general-scope [data-request-search-wrap] {grid-column:1/-1}
.request-location-grid.is-single-visible .request-location-option:not(.d-none) {grid-column:1/-1}
@media(min-width:992px){.request-location-grid {grid-template-columns:repeat(4,minmax(0,1fr))!important}}
.material-request-person {display:inline-flex;align-items:center;gap:6px;font-weight:800;white-space:nowrap}
.material-request-person i {color:var(--bs-primary);font-size:1.05rem}
.material-request-status-badge {display:inline-flex;align-items:center;gap:5px;padding:.48rem .65rem;font-size:.76rem;font-weight:900;border-radius:999px;white-space:nowrap}
.text-bg-cyan {color:#fff!important;background-color:#0891b2!important}
.text-bg-orange {color:#fff!important;background-color:#f97316!important}
.material-requests-table th {white-space:nowrap}
.material-request-view-modal .modal-header {background:linear-gradient(135deg,#2563eb,#4f46e5);color:#fff;border-bottom:0}
.material-request-view-modal .modal-header .btn-close {filter:brightness(0) invert(1);opacity:.9}
.material-request-modal-title {display:flex;align-items:center;gap:.8rem}
.material-request-modal-title>i {display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px;background:rgba(255,255,255,.18);font-size:1.5rem}
.material-request-modal-title h5 {margin:0;font-weight:900;color:#fff}
.material-request-modal-title small {display:block;margin-top:3px;color:rgba(255,255,255,.82)}
.material-request-modal-cards {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:15px}
.material-request-modal-card {position:relative;min-width:0;min-height:108px;padding:16px;border-radius:15px;color:#fff;overflow:hidden;box-shadow:0 9px 22px rgba(15,23,42,.09)}
.material-request-modal-card:before {content:"";position:absolute;inset-inline-start:-20px;top:-28px;width:82px;height:82px;border-radius:50%;background:rgba(255,255,255,.13)}
.material-request-modal-card>i {position:absolute;inset-inline-end:14px;top:14px;font-size:1.35rem;opacity:.95}
.material-request-modal-card small,
.material-request-modal-card strong {position:relative;z-index:1;display:block}
.material-request-modal-card small {margin-top:33px;color:rgba(255,255,255,.83);font-weight:800}
.material-request-modal-card strong {margin-top:5px;font-size:.93rem;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.material-request-modal-card.card-primary {background:linear-gradient(135deg,#2563eb,#4f46e5)}
.material-request-modal-card.card-secondary {background:linear-gradient(135deg,#475569,#64748b)}
.material-request-modal-card.card-info,
.material-request-modal-card.card-cyan {background:linear-gradient(135deg,#0891b2,#0284c7)}
.material-request-modal-card.card-success,
.material-request-modal-card.card-green {background:linear-gradient(135deg,#16a34a,#059669)}
.material-request-modal-card.card-warning,
.material-request-modal-card.card-orange {background:linear-gradient(135deg,#f59e0b,#f97316)}
.material-request-modal-card.card-danger {background:linear-gradient(135deg,#e11d48,#dc2626)}
.material-request-modal-card.card-violet {background:linear-gradient(135deg,#7c3aed,#4f46e5)}
.material-request-modal-info-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}
.material-request-modal-info {min-width:0;padding:14px 15px;border:1px solid var(--bs-border-color);border-radius:13px;background:var(--bs-tertiary-bg)}
.material-request-modal-info>span {display:flex;align-items:center;gap:6px;margin-bottom:7px;color:var(--bs-secondary-color);font-size:.78rem;font-weight:900}
.material-request-modal-info>span i {color:var(--bs-primary);font-size:1rem}
.material-request-modal-info>strong {display:block;color:var(--bs-heading-color);font-weight:900;line-height:1.7;white-space:normal}
.material-request-modal-info-wide {grid-column:1/-1}
.material-request-modal-info-danger {border-color:rgba(var(--bs-danger-rgb),.35);background:rgba(var(--bs-danger-rgb),.07)}
.material-request-modal-info-danger>span i {color:var(--bs-danger)}
.material-request-modal-section-head {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;padding-top:4px}
.material-request-modal-section-head strong,
.material-request-modal-section-head small {display:block}
.material-request-modal-section-head strong {font-size:1rem;font-weight:900;color:var(--bs-heading-color)}
.material-request-modal-section-head small {margin-top:2px;color:var(--bs-secondary-color)}
.material-request-modal-table-wrap {border:1px solid var(--bs-border-color);border-radius:13px;overflow:auto}
.material-request-modal-table-wrap table {min-width:800px}
.material-request-modal-table-wrap thead th {background:var(--bs-tertiary-bg);font-weight:900;white-space:nowrap}
.material-request-attachment-card {display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 15px;border:1px solid var(--bs-border-color);border-radius:13px;background:var(--bs-tertiary-bg)}
.material-request-attachment-card>div:first-child {display:flex;align-items:center;gap:10px}
.material-request-attachment-card>div:first-child>i {display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:11px;background:rgba(var(--bs-primary-rgb),.1);color:var(--bs-primary);font-size:1.25rem}
.material-request-attachment-card strong,
.material-request-attachment-card small {display:block}
.material-request-attachment-card strong {font-weight:900}.material-request-attachment-card small {color:var(--bs-secondary-color)}
.material-request-attachment-links {display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:7px}
.material-request-attachment-links a {display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border:1px solid rgba(var(--bs-primary-rgb),.25);border-radius:9px;background:rgba(var(--bs-primary-rgb),.07);font-weight:800}
@media(max-width:1599.98px){.material-request-modal-cards {grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1199.98px){.material-request-context-grid {grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:991.98px){.material-request-context-grid {grid-template-columns:repeat(2,minmax(0,1fr))}.material-request-modal-cards {grid-template-columns:repeat(2,minmax(0,1fr))}.material-request-modal-info-grid {grid-template-columns:1fr}.material-request-modal-info-wide {grid-column:auto}}
@media(max-width:575.98px){.material-request-context-grid,
.material-request-modal-cards {grid-template-columns:1fr}.material-request-attachment-card {align-items:stretch;flex-direction:column}.material-request-attachment-links {justify-content:flex-start}.material-request-warning-note {align-items:flex-start}}

/* Sonic Tower v2.3.63 — machinery definition redesign and image viewer */
.machinery-definition-page-v263 .machinery-stat-grid-v263 {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.machinery-definition-page-v263 .machinery-stat-card-v263 {
  position:relative;
  min-width:0;
  min-height:126px;
  padding:18px;
  border-radius:18px;
  overflow:hidden;
  color:#fff;
  box-shadow:0 12px 28px rgba(15,23,42,.12);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.machinery-definition-page-v263 .machinery-stat-card-v263::before,
.machinery-definition-page-v263 .machinery-stat-card-v263::after {
  content:"";
  position:absolute;
  border-radius:50%;
  background:rgba(255,255,255,.13);
}
.machinery-definition-page-v263 .machinery-stat-card-v263::before {width:92px;height:92px;inset-inline-end:-30px;top:-28px}
.machinery-definition-page-v263 .machinery-stat-card-v263::after {width:54px;height:54px;inset-inline-start:-17px;bottom:-21px}
.machinery-definition-page-v263 .machinery-stat-card-v263>i {position:relative;z-index:1;font-size:29px;margin-bottom:8px}
.machinery-definition-page-v263 .machinery-stat-card-v263>strong {position:relative;z-index:1;font-size:28px;line-height:1.05;font-weight:900}
.machinery-definition-page-v263 .machinery-stat-card-v263>span {position:relative;z-index:1;margin-top:7px;font-size:13px;font-weight:800;opacity:.94}
.machinery-definition-page-v263 .machinery-stat-card-v263.is-success {background:linear-gradient(135deg,#16a34a,#059669)}
.machinery-definition-page-v263 .machinery-stat-card-v263.is-primary {background:linear-gradient(135deg,#2563eb,#4f46e5)}
.machinery-definition-page-v263 .machinery-stat-card-v263.is-warning {background:linear-gradient(135deg,#f59e0b,#ea580c)}
.machinery-definition-page-v263 .machinery-stat-card-v263.is-danger {background:linear-gradient(135deg,#e11d48,#be123c)}
.machinery-definition-page-v263 .machinery-form-grid-v263 {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.machinery-definition-page-v263 .machinery-form-grid-v263>div {display:flex;min-width:0;flex-direction:column}
.machinery-definition-page-v263 .machinery-form-grid-v263 .form-label {min-height:24px}
.machinery-definition-page-v263 .machinery-form-grid-v263 .form-control,
.machinery-definition-page-v263 .machinery-form-grid-v263 .form-select,
.machinery-definition-page-v263 .machinery-form-grid-v263 .input-group {height:46px;min-height:46px}
.machinery-definition-page-v263 .machinery-form-grid-v263 input[type=file] {padding-block:.48rem}
.machinery-card-footer-v263 {display:flex;justify-content:flex-end;align-items:center;gap:.7rem;padding:1rem 1.25rem;border-top:1px solid var(--bs-border-color);background:var(--bs-tertiary-bg)}
.machinery-card-footer-v263 .btn {min-width:190px;min-height:44px;font-weight:900}
.machinery-list-table-v263 {min-width:1120px}
.machinery-list-table-v263 th {white-space:nowrap;font-weight:900}
.machinery-list-table-v263 td {vertical-align:middle}
.machinery-image-button-v263 {display:inline-flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap;font-weight:800}
.machinery-image-modal-v263 .modal-body {padding:16px;background:var(--bs-tertiary-bg)}
.machinery-image-stage-v263 {min-height:320px;display:flex;align-items:center;justify-content:center;border:1px solid var(--bs-border-color);border-radius:16px;background:var(--bs-body-bg);overflow:hidden}
.machinery-image-stage-v263 img {display:block;max-width:100%;max-height:72vh;object-fit:contain}
@media(max-width:1199.98px){
  .machinery-definition-page-v263 .machinery-form-grid-v263 {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:991.98px){
  .machinery-definition-page-v263 .machinery-stat-grid-v263 {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:575.98px){
  .machinery-definition-page-v263 .machinery-stat-grid-v263,
.machinery-definition-page-v263 .machinery-form-grid-v263 {grid-template-columns:1fr}
  .machinery-card-footer-v263 {justify-content:stretch}
  .machinery-card-footer-v263 .btn {width:100%}
  .machinery-image-stage-v263 {min-height:220px}
}

/* Sonic Tower v2.3.64 — driver definition cleanup and capability picker */
.drivers-definition-page-v264 .driver-form-grid-v264 {
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.drivers-definition-page-v264 .driver-form-grid-v264>div:not(.driver-capability-panel-v264) {
  display:flex;
  min-width:0;
  flex-direction:column;
}
.drivers-definition-page-v264 .driver-form-grid-v264 .form-control,
.drivers-definition-page-v264 .driver-form-grid-v264 .form-select {
  height:46px;
  min-height:46px;
}
.driver-capability-panel-v264 {
  min-width:0;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--bs-primary) 24%,var(--bs-border-color));
  border-radius:18px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--bs-primary) 5%,var(--bs-body-bg)),var(--bs-body-bg));
  box-shadow:0 10px 28px rgba(15,23,42,.06);
}
.driver-capability-heading-v264 {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:15px 17px;
  border-bottom:1px solid color-mix(in srgb,var(--bs-primary) 18%,var(--bs-border-color));
  background:linear-gradient(135deg,color-mix(in srgb,var(--bs-primary) 12%,var(--bs-body-bg)),color-mix(in srgb,var(--bs-info) 7%,var(--bs-body-bg)));
}
.driver-capability-title-v264 {display:flex;align-items:center;gap:12px;min-width:0}
.driver-capability-title-v264>div {min-width:0}
.driver-capability-title-v264 strong {display:block;font-size:15px;font-weight:900;color:var(--bs-emphasis-color)}
.driver-capability-title-v264 small {display:block;margin-top:3px;color:var(--bs-secondary-color);font-weight:600}
.driver-capability-heading-icon-v264 {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:43px;
  height:43px;
  flex:0 0 43px;
  border-radius:13px;
  color:#fff;
  font-size:22px;
  background:linear-gradient(135deg,#4f46e5,#2563eb);
  box-shadow:0 8px 18px rgba(79,70,229,.23);
}
.driver-capability-grid-v264 {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  padding:15px;
}
.driver-capability-option-v264 {
  position:relative;
  display:grid;
  grid-template-columns:auto auto minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  min-width:0;
  min-height:74px;
  margin:0;
  padding:12px;
  cursor:pointer;
  user-select:none;
  border:1px solid var(--bs-border-color);
  border-radius:15px;
  background:var(--bs-body-bg);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background-color .18s ease;
}
.driver-capability-option-v264:hover {
  transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--bs-primary) 46%,var(--bs-border-color));
  box-shadow:0 9px 20px rgba(37,99,235,.09);
}
.driver-capability-option-v264:has(input:checked) {
  border-color:color-mix(in srgb,var(--bs-primary) 72%,var(--bs-border-color));
  background:color-mix(in srgb,var(--bs-primary) 8%,var(--bs-body-bg));
  box-shadow:0 10px 22px rgba(37,99,235,.13);
}
.driver-capability-option-v264>.form-check-input {
  width:1.2rem;
  height:1.2rem;
  margin:0;
  flex:0 0 auto;
  cursor:pointer;
}
.driver-capability-icon-v264 {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  flex:0 0 40px;
  border-radius:12px;
  color:#4338ca;
  font-size:20px;
  background:color-mix(in srgb,var(--bs-primary) 12%,var(--bs-body-bg));
}
.driver-capability-option-v264:has(input:checked) .driver-capability-icon-v264 {
  color:#fff;
  background:linear-gradient(135deg,#4f46e5,#2563eb);
}
.driver-capability-copy-v264 {min-width:0}
.driver-capability-copy-v264 strong {display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:900;color:var(--bs-emphasis-color)}
.driver-capability-copy-v264 small {display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--bs-secondary-color);font-size:11px;font-weight:600}
.driver-capability-check-v264 {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:27px;
  height:27px;
  flex:0 0 27px;
  border-radius:50%;
  color:var(--bs-secondary-color);
  background:var(--bs-tertiary-bg);
  opacity:.55;
}
.driver-capability-option-v264:has(input:checked) .driver-capability-check-v264 {
  color:#fff;
  background:#16a34a;
  opacity:1;
}
.driver-card-footer-v264 {border-radius:0 0 16px 16px}
.driver-list-table-v264 {min-width:980px}
.driver-list-table-v264 th {white-space:nowrap;font-weight:900}
.driver-list-table-v264 td {vertical-align:middle}
.driver-type-badges-v264 {display:flex;flex-wrap:wrap;gap:6px;min-width:180px}
.driver-type-badge-v264 {
  border:1px solid color-mix(in srgb,var(--bs-primary) 24%,var(--bs-border-color));
  color:var(--bs-primary-text-emphasis);
  background:color-mix(in srgb,var(--bs-primary) 9%,var(--bs-body-bg));
  font-weight:800;
  padding:.48rem .66rem;
}
.modal .driver-capability-panel-v264 {width:100%}
.modal .driver-capability-grid-v264 {grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1399.98px){
  .driver-capability-grid-v264 {grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1199.98px){
  .drivers-definition-page-v264 .driver-form-grid-v264 {grid-template-columns:repeat(2,minmax(0,1fr))}
  .driver-capability-grid-v264 {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:575.98px){
  .drivers-definition-page-v264 .driver-form-grid-v264,
.driver-capability-grid-v264,
.modal .driver-capability-grid-v264 {grid-template-columns:1fr}
  .driver-capability-heading-v264 {align-items:flex-start;flex-direction:column}
  .driver-capability-option-v264 {grid-template-columns:auto auto minmax(0,1fr) auto}
}

/* ========================================================================
   Sonic Tower v2.3.65 — machinery dispatch request cards and stage modal
   ======================================================================== */
.machinery-request-browser-card .card-body {padding:1rem 1.1rem 1.1rem}
.machinery-request-browser-header {align-items:center;gap:1rem}
.machinery-request-browser-counts {display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.machinery-request-browser-counts .badge {padding:.55rem .75rem;font-weight:900}
.machinery-request-tabs {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;padding:.35rem;border:1px solid var(--bs-border-color);border-radius:.9rem;background:var(--bs-tertiary-bg)}
.machinery-request-tabs .nav-item {min-width:0}
.machinery-request-tabs .nav-link {width:100%;min-height:54px;display:flex;align-items:center;justify-content:center;gap:.55rem;border:1px solid transparent;border-radius:.7rem;color:var(--bs-body-color);font-weight:900}
.machinery-request-tabs .nav-link i {font-size:1.2rem;color:var(--bs-primary)}
.machinery-request-tabs .nav-link b {display:inline-flex;align-items:center;justify-content:center;min-width:27px;height:27px;padding:0 .45rem;border-radius:999px;background:var(--bs-body-bg);color:var(--bs-primary);font-size:.78rem}
.machinery-request-tabs .nav-link.active {border-color:rgba(var(--bs-primary-rgb),.28);background:var(--bs-primary);color:#fff;box-shadow:0 8px 22px rgba(var(--bs-primary-rgb),.18)}
.machinery-request-tabs .nav-link.active i {color:#fff}.machinery-request-tabs .nav-link.active b {color:var(--bs-primary)}
.machinery-request-tab-content {padding-top:1rem}
.machinery-request-card-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}
.machinery-request-select-card {position:relative;display:flex;flex-direction:column;min-width:0;min-height:205px;padding:1rem;border:1px solid var(--bs-border-color);border-radius:1rem;background:var(--bs-body-bg);color:var(--bs-body-color);text-decoration:none;overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.machinery-request-select-card::before {content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--bs-primary),#7047eb);opacity:.8}
.machinery-request-select-card:hover {transform:translateY(-2px);border-color:rgba(var(--bs-primary-rgb),.38);box-shadow:0 12px 28px rgba(15,23,42,.08);color:var(--bs-body-color)}
.machinery-request-select-card.is-selected {border-color:var(--bs-primary);box-shadow:0 0 0 3px rgba(var(--bs-primary-rgb),.09),0 12px 28px rgba(var(--bs-primary-rgb),.12)}
.machinery-request-select-card.is-archived::before {background:linear-gradient(180deg,#22a06b,#0f766e)}
.machinery-request-select-card.is-archived {background:linear-gradient(180deg,rgba(34,160,107,.035),var(--bs-body-bg))}
.machinery-request-select-head {display:flex;align-items:center;justify-content:space-between;gap:.65rem}
.machinery-request-select-number {font-size:1rem;font-weight:950}
.machinery-request-select-location {display:flex;align-items:flex-start;gap:.5rem;min-height:48px;margin-top:.85rem;padding:.7rem .75rem;border:1px solid var(--bs-border-color);border-radius:.7rem;background:var(--bs-tertiary-bg)}
.machinery-request-select-location i {flex:0 0 auto;margin-top:.15rem;color:var(--bs-primary);font-size:1.1rem}
.machinery-request-select-location strong {font-size:.85rem;line-height:1.5;overflow-wrap:anywhere}
.machinery-request-select-meta {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin-top:.75rem}
.machinery-request-select-meta span {display:flex;align-items:center;gap:.35rem;min-width:0;color:var(--bs-secondary-color);font-size:.75rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.machinery-request-select-meta i {flex:0 0 auto;color:var(--bs-primary)}
.machinery-request-select-open {display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:auto;padding-top:.8rem;color:var(--bs-primary);font-size:.8rem;font-weight:950}
.machinery-request-select-open i {font-size:1.05rem}
.machinery-request-highlight-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}
.machinery-request-highlight-card {position:relative;display:flex;flex-direction:column;justify-content:center;min-width:0;min-height:118px;padding:1rem 1rem 1rem 4.2rem;border-radius:1rem;color:#fff;overflow:hidden;box-shadow:0 13px 26px rgba(15,23,42,.11)}
[dir="rtl"] .machinery-request-highlight-card {padding:1rem 4.2rem 1rem 1rem}
.machinery-request-highlight-card::after {content:"";position:absolute;top:-32px;inset-inline-start:-25px;width:105px;height:105px;border-radius:50%;background:rgba(255,255,255,.13)}
.machinery-request-highlight-card>i {position:absolute;inset-inline-start:1rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px;background:rgba(255,255,255,.18);font-size:1.45rem;z-index:1}
.machinery-request-highlight-card span,
.machinery-request-highlight-card strong {position:relative;z-index:1;display:block;min-width:0}
.machinery-request-highlight-card span {font-size:.78rem;font-weight:800;opacity:.86;margin-bottom:.25rem}
.machinery-request-highlight-card strong {font-size:1rem;font-weight:950;line-height:1.55;overflow-wrap:anywhere}
.machinery-request-highlight-card.tone-primary,
.machinery-stages-overview .tone-primary {background:linear-gradient(135deg,#4f46e5,#2563eb)}
.machinery-request-highlight-card.tone-success,
.machinery-stages-overview .tone-success {background:linear-gradient(135deg,#059669,#0f766e)}
.machinery-request-highlight-card.tone-info,
.machinery-stages-overview .tone-info {background:linear-gradient(135deg,#0891b2,#0284c7)}
.machinery-request-highlight-card.tone-purple,
.machinery-stages-overview .tone-purple {background:linear-gradient(135deg,#7c3aed,#9333ea)}
.machinery-request-highlight-card.tone-warning {background:linear-gradient(135deg,#ea580c,#f59e0b)}
.machinery-request-highlight-card.tone-dark {background:linear-gradient(135deg,#0f172a,#334155)}
.machinery-stages-launch {display:flex;align-items:center;justify-content:center;gap:.55rem;width:100%;min-height:43px;margin-top:.8rem;border-style:dashed;font-weight:950}
.machinery-stages-launch .badge {margin-inline-start:auto}
.machinery-stages-modal .modal-dialog {max-width:min(1180px,96vw)}
.machinery-stages-modal-header {background:linear-gradient(135deg,#1d4ed8,#4f46e5);color:#fff}
.machinery-stages-modal-header small {display:block;margin-top:.2rem;color:rgba(255,255,255,.78)}
.machinery-stages-modal-header .btn-close {filter:brightness(0) invert(1);opacity:.9}
.machinery-stages-overview {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}
.machinery-stages-overview>div {position:relative;min-width:0;min-height:96px;padding:.85rem .85rem .85rem 3.7rem;border-radius:.85rem;color:#fff;overflow:hidden}
[dir="rtl"] .machinery-stages-overview>div {padding:.85rem 3.7rem .85rem .85rem}
.machinery-stages-overview>div>i {position:absolute;inset-inline-start:.8rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.18);font-size:1.25rem}
.machinery-stages-overview span,
.machinery-stages-overview strong {display:block}
.machinery-stages-overview span {font-size:.76rem;font-weight:800;opacity:.82;margin-bottom:.2rem}
.machinery-stages-overview strong {font-size:.9rem;font-weight:950;line-height:1.5;overflow-wrap:anywhere}
.machinery-stage-card-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.machinery-stage-card {position:relative;min-width:0;padding:1rem;border:1px solid var(--bs-border-color);border-radius:1rem;background:var(--bs-body-bg);box-shadow:0 8px 20px rgba(15,23,42,.045);overflow:hidden}
.machinery-stage-card::before {content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--bs-primary),#7c3aed)}
.machinery-stage-card header {display:flex;align-items:center;gap:.7rem;padding-bottom:.8rem;border-bottom:1px solid var(--bs-border-color)}
.machinery-stage-number {display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--bs-primary),#7c3aed);color:#fff;font-size:1.08rem;font-weight:950}
.machinery-stage-card header>div {min-width:0;flex:1}
.machinery-stage-card header small {display:block;color:var(--bs-secondary-color);font-weight:800}
.machinery-stage-card header h6 {margin:.12rem 0 0;font-weight:950;line-height:1.45;overflow-wrap:anywhere}
.machinery-stage-duration {display:inline-flex;align-items:center;gap:.32rem;flex:0 0 auto;padding:.42rem .55rem;border-radius:999px;background:var(--bs-warning-bg-subtle);color:var(--bs-warning-text-emphasis);font-size:.74rem;font-weight:900}
.machinery-stage-time-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:.8rem}
.machinery-stage-time-grid>div {position:relative;min-width:0;padding:.65rem .65rem .65rem 2.55rem;border:1px solid var(--bs-border-color);border-radius:.7rem;background:var(--bs-tertiary-bg)}
[dir="rtl"] .machinery-stage-time-grid>div {padding:.65rem 2.55rem .65rem .65rem}
.machinery-stage-time-grid i {position:absolute;inset-inline-start:.65rem;top:50%;transform:translateY(-50%);color:var(--bs-primary);font-size:1.2rem}
.machinery-stage-time-grid span,
.machinery-stage-time-grid strong {display:block}
.machinery-stage-time-grid span {font-size:.72rem;color:var(--bs-secondary-color);font-weight:800;margin-bottom:.12rem}
.machinery-stage-time-grid strong {font-size:.79rem;font-weight:950;line-height:1.45}
.machinery-stage-instructions {display:flex;align-items:flex-start;gap:.6rem;margin-top:.7rem;padding:.7rem .75rem;border:1px dashed var(--bs-border-color);border-radius:.7rem;background:rgba(var(--bs-primary-rgb),.025)}
.machinery-stage-instructions>i {flex:0 0 auto;color:var(--bs-primary);font-size:1.2rem;margin-top:.05rem}
.machinery-stage-instructions span,
.machinery-stage-instructions strong {display:block}
.machinery-stage-instructions span {font-size:.72rem;color:var(--bs-secondary-color);font-weight:800;margin-bottom:.12rem}
.machinery-stage-instructions strong {font-size:.8rem;font-weight:850;line-height:1.55;overflow-wrap:anywhere}

@media(max-width:1199.98px){
  .machinery-request-card-grid,
.machinery-request-highlight-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .machinery-stages-overview {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767.98px){
  .machinery-request-browser-header {align-items:flex-start;flex-direction:column}
  .machinery-request-browser-counts {width:100%}
  .machinery-request-tabs {grid-template-columns:1fr}
  .machinery-request-card-grid,
.machinery-request-highlight-grid,
.machinery-stage-card-grid {grid-template-columns:1fr}
  .machinery-request-select-card {min-height:auto}
  .machinery-stage-time-grid {grid-template-columns:1fr}
}
@media(max-width:575.98px){
  .machinery-stages-overview {grid-template-columns:1fr}
  .machinery-request-select-meta {grid-template-columns:1fr}
  .machinery-stage-card header {align-items:flex-start;flex-wrap:wrap}
  .machinery-stage-duration {margin-inline-start:52px}
}

/* ========================================================================
   Sonic Tower v2.3.67 — Machinery maintenance redesign
   ======================================================================== */
.machinery-maintenance-page-v267 {gap:1.15rem}
.maintenance-stat-grid-v267 {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.maintenance-stat-card-v267 {position:relative;display:flex;flex-direction:column;justify-content:center;min-height:132px;padding:1.1rem 1.2rem;border-radius:1.15rem;color:#fff;overflow:hidden;box-shadow:0 15px 32px rgba(15,23,42,.12)}
.maintenance-stat-card-v267::before,
.maintenance-stat-card-v267::after {content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.13)}
.maintenance-stat-card-v267::before {width:108px;height:108px;inset-inline-end:-35px;top:-38px}
.maintenance-stat-card-v267::after {width:62px;height:62px;inset-inline-start:-18px;bottom:-24px}
.maintenance-stat-card-v267>i,
.maintenance-stat-card-v267>strong,
.maintenance-stat-card-v267>span {position:relative;z-index:1}
.maintenance-stat-card-v267>i {font-size:1.8rem;margin-bottom:.5rem}
.maintenance-stat-card-v267>strong {font-size:2rem;line-height:1;font-weight:950}
.maintenance-stat-card-v267>span {margin-top:.45rem;font-size:.84rem;font-weight:850;opacity:.93}
.maintenance-stat-card-v267.tone-warning {background:linear-gradient(135deg,#f59e0b,#ea580c)}
.maintenance-stat-card-v267.tone-primary {background:linear-gradient(135deg,#2563eb,#4f46e5)}
.maintenance-stat-card-v267.tone-success {background:linear-gradient(135deg,#10b981,#047857)}
.maintenance-stat-card-v267.tone-purple {background:linear-gradient(135deg,#7c3aed,#a21caf)}

.maintenance-create-card-v267,
.maintenance-browser-v267 {border:1px solid var(--bs-border-color);border-radius:1.15rem;overflow:hidden;box-shadow:0 10px 28px rgba(15,23,42,.045)}
.maintenance-create-banner-v267 {position:relative;display:flex;align-items:center;gap:1rem;min-height:92px;padding:1rem 1.2rem;background:linear-gradient(135deg,#0f172a,#1d4ed8);color:#fff;overflow:hidden}
.maintenance-create-banner-v267::after {content:"";position:absolute;inset-inline-end:-40px;top:-55px;width:170px;height:170px;border-radius:50%;background:rgba(255,255,255,.09)}
.maintenance-create-icon-v267 {position:relative;z-index:1;display:flex;align-items:center;justify-content:center;flex:0 0 54px;width:54px;height:54px;border-radius:16px;background:rgba(255,255,255,.16);font-size:1.65rem}
.maintenance-create-banner-v267>div {position:relative;z-index:1;min-width:0;flex:1}
.maintenance-create-banner-v267 h5 {margin:0;color:#fff!important;font-size:1rem;font-weight:950}
.maintenance-create-banner-v267 p {margin:.28rem 0 0;color:rgba(255,255,255,.76);font-size:.78rem;font-weight:700}
.maintenance-create-banner-v267>.badge {position:relative;z-index:1;padding:.6rem .85rem;background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.2);font-weight:900}
.maintenance-create-card-v267 .card-body {padding:1.15rem}
.maintenance-form-grid-v267 {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:end}
.maintenance-form-grid-v267>div {min-width:0}
.maintenance-form-grid-v267 .form-label {min-height:24px;font-weight:850}
.maintenance-form-grid-v267 .form-control,
.maintenance-form-grid-v267 .form-select,
.maintenance-form-grid-v267 .input-group,
.maintenance-form-grid-v267 .input-group-text {min-height:48px}
.maintenance-form-grid-v267 .input-group-text {display:flex;align-items:center;justify-content:center;min-width:48px;color:var(--bs-primary);background:var(--bs-tertiary-bg)}
.maintenance-create-footer-v267 {display:flex;justify-content:flex-end;align-items:center;padding:1rem 1.15rem;border-top:1px solid var(--bs-border-color);background:var(--bs-tertiary-bg)}
.maintenance-create-footer-v267 .btn {min-width:200px;min-height:46px;font-weight:950}

.maintenance-browser-header-v267 {display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;border-bottom:1px solid var(--bs-border-color);background:var(--bs-tertiary-bg)}
.maintenance-browser-header-v267 h5 {margin:0;font-size:1rem;font-weight:950}
.maintenance-browser-header-v267 p {margin:.25rem 0 0;color:var(--bs-secondary-color);font-size:.77rem;font-weight:700}
.maintenance-browser-counts-v267 {display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.maintenance-browser-counts-v267 .badge {padding:.5rem .7rem;font-weight:900}
.maintenance-tabs-v267 {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;padding:1rem 1.15rem 0}
.maintenance-tabs-v267 button {display:flex;align-items:center;gap:.7rem;min-height:64px;padding:.75rem .9rem;border:1px solid var(--bs-border-color);border-radius:.85rem;background:var(--bs-body-bg);color:var(--bs-body-color);font-weight:900;transition:.18s ease}
.maintenance-tabs-v267 button>i {display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;background:var(--bs-tertiary-bg);color:var(--bs-primary);font-size:1.2rem}
.maintenance-tabs-v267 button>span {flex:1;text-align:start}
.maintenance-tabs-v267 button>b {display:flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 .45rem;border-radius:999px;background:var(--bs-tertiary-bg);font-size:.8rem}
.maintenance-tabs-v267 button.active {border-color:rgba(var(--bs-primary-rgb),.45);background:rgba(var(--bs-primary-rgb),.07);box-shadow:0 0 0 3px rgba(var(--bs-primary-rgb),.06)}
.maintenance-tabs-v267 button.active>i,
.maintenance-tabs-v267 button.active>b {background:var(--bs-primary);color:#fff}
.maintenance-tab-content-v267 {padding:1rem 1.15rem 1.15rem}
.maintenance-record-grid-v267 {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.maintenance-record-card-v267 {position:relative;display:flex;flex-direction:column;min-width:0;min-height:100%;padding:1rem;border:1px solid var(--bs-border-color);border-radius:1rem;background:var(--bs-body-bg);box-shadow:0 10px 24px rgba(15,23,42,.045);overflow:hidden}
.maintenance-record-card-v267::before {content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:5px;background:var(--maintenance-tone,#4f46e5)}
.maintenance-record-card-v267.tone-primary {--maintenance-tone:#2563eb}.maintenance-record-card-v267.tone-danger {--maintenance-tone:#e11d48}.maintenance-record-card-v267.tone-warning {--maintenance-tone:#f59e0b}.maintenance-record-card-v267.tone-info {--maintenance-tone:#0891b2}.maintenance-record-card-v267.tone-success {--maintenance-tone:#10b981}.maintenance-record-card-v267.tone-purple {--maintenance-tone:#7c3aed}
.maintenance-record-card-v267>header {display:flex;align-items:center;gap:.7rem;padding-bottom:.85rem;border-bottom:1px solid var(--bs-border-color)}
.maintenance-record-icon-v267 {display:flex;align-items:center;justify-content:center;flex:0 0 46px;width:46px;height:46px;border-radius:14px;background:color-mix(in srgb,var(--maintenance-tone) 13%,transparent);color:var(--maintenance-tone);font-size:1.35rem}
.maintenance-record-card-v267>header>div {min-width:0;flex:1}
.maintenance-record-card-v267>header small {display:block;color:var(--bs-secondary-color);font-size:.7rem;font-weight:800}
.maintenance-record-card-v267>header h6 {margin:.12rem 0;font-size:.96rem;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.maintenance-record-card-v267>header div>span {display:block;color:var(--maintenance-tone);font-size:.76rem;font-weight:900}
.maintenance-record-card-v267>header>.badge {flex:0 0 auto;padding:.45rem .6rem;font-weight:900}
.maintenance-record-meta-v267 {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-top:.85rem}
.maintenance-record-meta-v267>div {position:relative;min-width:0;min-height:68px;padding:.65rem .65rem .65rem 2.6rem;border:1px solid var(--bs-border-color);border-radius:.75rem;background:var(--bs-tertiary-bg)}
[dir="rtl"] .maintenance-record-meta-v267>div {padding:.65rem 2.6rem .65rem .65rem}
.maintenance-record-meta-v267 i {position:absolute;inset-inline-start:.68rem;top:50%;transform:translateY(-50%);color:var(--maintenance-tone);font-size:1.15rem}
.maintenance-record-meta-v267 span,
.maintenance-record-meta-v267 strong {display:block;min-width:0}
.maintenance-record-meta-v267 span {color:var(--bs-secondary-color);font-size:.67rem;font-weight:800;margin-bottom:.12rem}
.maintenance-record-meta-v267 strong {font-size:.76rem;font-weight:950;line-height:1.45;overflow-wrap:anywhere}
.maintenance-record-note-v267 {display:flex;align-items:flex-start;gap:.55rem;margin-top:.7rem;padding:.7rem;border:1px dashed var(--bs-border-color);border-radius:.75rem;background:rgba(var(--bs-primary-rgb),.025)}
.maintenance-record-note-v267>i {flex:0 0 auto;color:var(--maintenance-tone);font-size:1.15rem}
.maintenance-record-note-v267 span,
.maintenance-record-note-v267 strong {display:block}
.maintenance-record-note-v267 span {color:var(--bs-secondary-color);font-size:.68rem;font-weight:800;margin-bottom:.12rem}
.maintenance-record-note-v267 strong {font-size:.75rem;font-weight:850;line-height:1.55;overflow-wrap:anywhere}
.maintenance-result-preview-v267 {margin-top:.75rem;padding:.75rem;border:1px solid rgba(16,185,129,.24);border-radius:.75rem;background:rgba(16,185,129,.06)}
.maintenance-result-preview-v267 span,
.maintenance-result-preview-v267 strong {display:block}
.maintenance-result-preview-v267 span {color:#059669;font-size:.68rem;font-weight:850;margin-bottom:.15rem}
.maintenance-result-preview-v267 strong {font-size:.78rem;font-weight:900;line-height:1.55;overflow-wrap:anywhere}
.maintenance-record-card-v267>footer {display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin-top:auto;padding-top:.85rem}
.maintenance-record-card-v267>footer .btn {min-height:40px;font-size:.76rem;font-weight:900}
.maintenance-empty-v267 {padding:3.5rem 1rem;text-align:center;color:var(--bs-secondary-color)}
.maintenance-empty-v267 i {display:flex;align-items:center;justify-content:center;width:66px;height:66px;margin:0 auto .85rem;border-radius:20px;background:var(--bs-tertiary-bg);color:var(--bs-primary);font-size:2rem}
.maintenance-empty-v267 h6 {margin:0;font-weight:950;color:var(--bs-body-color)}
.maintenance-empty-v267 p {margin:.35rem 0 0;font-size:.8rem;font-weight:700}

.maintenance-modal-v267 .modal-content {border:0;border-radius:1.15rem;overflow:hidden}
.maintenance-modal-header-v267,
.maintenance-details-header-v267 {display:flex;align-items:center;justify-content:space-between;gap:1rem;color:#fff;border:0}
.maintenance-modal-header-v267 {background:linear-gradient(135deg,#059669,#0f766e)}
.maintenance-details-header-v267 {background:linear-gradient(135deg,#2563eb,#7c3aed)}
.maintenance-modal-header-v267 h5,
.maintenance-details-header-v267 h5 {margin:0;font-weight:950}
.maintenance-modal-header-v267 small,
.maintenance-details-header-v267 small {display:block;margin-top:.24rem;color:rgba(255,255,255,.78);font-weight:700}
.maintenance-modal-header-v267 .btn-close,
.maintenance-details-header-v267 .btn-close {filter:brightness(0) invert(1);opacity:.9}
.maintenance-close-overview-v267 {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}
.maintenance-close-overview-v267>div {position:relative;min-width:0;min-height:88px;padding:.8rem .8rem .8rem 3.3rem;border-radius:.85rem;background:linear-gradient(135deg,#0f172a,#334155);color:#fff;overflow:hidden}
[dir="rtl"] .maintenance-close-overview-v267>div {padding:.8rem 3.3rem .8rem .8rem}
.maintenance-close-overview-v267 i {position:absolute;inset-inline-start:.8rem;top:50%;transform:translateY(-50%);font-size:1.3rem;color:#86efac}
.maintenance-close-overview-v267 span,
.maintenance-close-overview-v267 strong {display:block}
.maintenance-close-overview-v267 span {font-size:.69rem;font-weight:800;opacity:.72;margin-bottom:.15rem}
.maintenance-close-overview-v267 strong {font-size:.8rem;font-weight:950;line-height:1.5;overflow-wrap:anywhere}
.maintenance-close-grid-v267 {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.maintenance-close-grid-v267>div {min-width:0}
.maintenance-close-grid-v267 .form-control,
.maintenance-close-grid-v267 .form-select {min-height:48px}
.maintenance-span-full-v267 {grid-column:1/-1}
.maintenance-modal-v267 .modal-footer {gap:.55rem}
.maintenance-modal-v267 .modal-footer .btn {min-width:135px;min-height:44px;font-weight:900}

.maintenance-details-cards-v267 {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}
.maintenance-details-cards-v267>div {position:relative;min-width:0;min-height:105px;padding:.9rem .9rem .9rem 3.8rem;border-radius:.9rem;color:#fff;overflow:hidden}
[dir="rtl"] .maintenance-details-cards-v267>div {padding:.9rem 3.8rem .9rem .9rem}
.maintenance-details-cards-v267>div::after {content:"";position:absolute;width:85px;height:85px;inset-inline-end:-28px;top:-30px;border-radius:50%;background:rgba(255,255,255,.12)}
.maintenance-details-cards-v267 i {position:absolute;inset-inline-start:.9rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:13px;background:rgba(255,255,255,.17);font-size:1.25rem}
.maintenance-details-cards-v267 span,
.maintenance-details-cards-v267 strong {position:relative;z-index:1;display:block}
.maintenance-details-cards-v267 span {font-size:.7rem;font-weight:800;opacity:.78;margin-bottom:.18rem}
.maintenance-details-cards-v267 strong {font-size:.82rem;font-weight:950;line-height:1.55;overflow-wrap:anywhere}
.maintenance-details-cards-v267 .tone-primary {background:linear-gradient(135deg,#2563eb,#4f46e5)}
.maintenance-details-cards-v267 .tone-warning {background:linear-gradient(135deg,#f59e0b,#ea580c)}
.maintenance-details-cards-v267 .tone-success {background:linear-gradient(135deg,#10b981,#047857)}
.maintenance-details-cards-v267 .tone-purple {background:linear-gradient(135deg,#7c3aed,#a21caf)}
.maintenance-details-grid-v267 {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-top:.85rem}
.maintenance-details-grid-v267>div {min-width:0;padding:.75rem;border:1px solid var(--bs-border-color);border-radius:.75rem;background:var(--bs-tertiary-bg)}
.maintenance-details-grid-v267 span,
.maintenance-details-grid-v267 strong {display:block}
.maintenance-details-grid-v267 span {color:var(--bs-secondary-color);font-size:.68rem;font-weight:800;margin-bottom:.18rem}
.maintenance-details-grid-v267 strong {font-size:.78rem;font-weight:950;line-height:1.5;overflow-wrap:anywhere}
.maintenance-details-section-v267 {margin-top:.85rem;padding:.9rem;border:1px solid var(--bs-border-color);border-radius:.85rem;background:var(--bs-body-bg)}
.maintenance-details-section-v267 h6 {display:flex;align-items:center;gap:.45rem;margin:0 0 .55rem;color:var(--bs-primary);font-size:.85rem;font-weight:950}
.maintenance-details-section-v267 p {margin:0;font-size:.8rem;font-weight:750;line-height:1.75;overflow-wrap:anywhere}
.maintenance-attachments-v267 {display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.85rem;padding:.85rem;border:1px dashed var(--bs-border-color);border-radius:.85rem;background:var(--bs-tertiary-bg)}
.maintenance-attachments-v267>span {font-weight:950}
.maintenance-attachments-v267>div {display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}
.maintenance-attachments-v267 .btn {font-weight:900}
.maintenance-attachments-v267 em {color:var(--bs-secondary-color);font-size:.78rem;font-style:normal;font-weight:750}

@media(max-width:1399.98px){.maintenance-record-grid-v267 {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1199.98px){.maintenance-stat-grid-v267,
.maintenance-details-cards-v267,
.maintenance-details-grid-v267 {grid-template-columns:repeat(2,minmax(0,1fr))}.maintenance-form-grid-v267 {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767.98px){.maintenance-stat-grid-v267,
.maintenance-record-grid-v267,
.maintenance-form-grid-v267,
.maintenance-close-overview-v267,
.maintenance-close-grid-v267,
.maintenance-details-cards-v267,
.maintenance-details-grid-v267 {grid-template-columns:1fr}.maintenance-tabs-v267 {grid-template-columns:1fr}.maintenance-browser-header-v267 {align-items:flex-start;flex-direction:column}.maintenance-create-banner-v267 {align-items:flex-start;flex-wrap:wrap}.maintenance-create-banner-v267>.badge {margin-inline-start:64px}.maintenance-span-full-v267 {grid-column:auto}.maintenance-attachments-v267 {align-items:flex-start;flex-direction:column}}
@media(max-width:575.98px){.maintenance-stat-card-v267 {min-height:115px}.maintenance-record-meta-v267 {grid-template-columns:1fr}.maintenance-record-card-v267>footer {align-items:stretch;flex-direction:column}.maintenance-record-card-v267>footer .btn,
.maintenance-record-card-v267>footer form,
.maintenance-record-card-v267>footer form .btn {width:100%}.maintenance-create-footer-v267 .btn {width:100%;min-width:0}.maintenance-modal-v267 .modal-footer {display:grid;grid-template-columns:1fr}.maintenance-modal-v267 .modal-footer .btn {width:100%;min-width:0}}

/* ========================================================================== 
   Sonic Tower v2.3.68 — Contractor payment owner approval redesign
   ========================================================================== */
.owner-approval-redesign {gap:1.1rem}
.owner-approval-redesign .card {border:1px solid #e7ecf3;border-radius:20px;overflow:hidden;box-shadow:0 12px 30px rgba(15,23,42,.055)}
.owner-section-header {display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;background:linear-gradient(180deg,#fbfcff,#f7f9fd);border-bottom:1px solid #e8edf5}
.owner-section-header h5 {font-weight:800;color:#172033}
.owner-section-header p {font-size:.82rem;color:#8a94a7}
.owner-queue-counters {display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}
.owner-queue-counters .badge {padding:.55rem .72rem;border-radius:10px;font-weight:800}
.owner-empty-state {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;min-height:150px;color:#8b95a7}
.owner-empty-state i {font-size:2.2rem;color:#b3bdcd}
.owner-empty-state strong {font-size:1rem;color:#455166}
.owner-request-cards {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}
.owner-request-card {position:relative;display:flex;flex-direction:column;gap:.55rem;min-height:132px;padding:1rem;border:1px solid #dfe6f1;border-radius:16px;background:linear-gradient(145deg,#fff,#f9fbff);color:#253046;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;text-decoration:none}
.owner-request-card:hover {transform:translateY(-2px);border-color:#f59e0b;box-shadow:0 12px 24px rgba(245,158,11,.13);color:#253046}
.owner-request-card.is-active {border-color:#f59e0b;background:linear-gradient(135deg,#fff7e6,#fff);box-shadow:0 0 0 2px rgba(245,158,11,.11),0 14px 28px rgba(217,119,6,.14)}
.owner-request-card.is-active::after {content:"";position:absolute;inset-block:14px;inset-inline-start:0;width:4px;border-radius:0 10px 10px 0;background:linear-gradient(#f59e0b,#d97706)}
.owner-request-number {position:absolute;inset-block-start:.85rem;inset-inline-end:.9rem;display:inline-grid;place-items:center;min-width:38px;height:30px;padding:0 .45rem;border-radius:9px;background:#eef2f7;color:#596579;font-weight:900}
.owner-request-status {align-self:flex-start;margin-inline-end:48px}
.owner-request-title {font-size:1rem;font-weight:900;line-height:1.45;padding-top:.15rem}
.owner-request-meta {display:flex;flex-direction:column;gap:.3rem;color:#7d889a;font-size:.78rem}
.owner-request-meta span {display:flex;align-items:center;gap:.35rem}
.owner-main-decision-card>.card-header {padding:1.2rem 1.35rem}
.owner-main-decision-card>.card-body {padding:1.2rem}
.owner-financial-kpis {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.8rem}
.owner-kpi {--owner-kpi-rgb:99,91,255;position:relative;overflow:hidden;min-height:168px;padding:1.05rem;border:0;border-radius:18px;color:#fff;background:linear-gradient(145deg,#635bff,#4f46e5);box-shadow:0 15px 28px rgba(var(--owner-kpi-rgb),.22)}
.owner-kpi::before {content:"";position:absolute;width:100px;height:100px;border-radius:50%;background:rgba(255,255,255,.13);inset-inline-start:-38px;inset-block-start:-45px}
.owner-kpi::after {content:"";position:absolute;width:94px;height:94px;border-radius:50%;background:rgba(255,255,255,.08);inset-inline-end:-44px;inset-block-end:-54px}
.owner-kpi-purple {--owner-kpi-rgb:99,91,255;background:linear-gradient(145deg,#6d5dfc,#513bdc)}
.owner-kpi-green {--owner-kpi-rgb:16,185,129;background:linear-gradient(145deg,#22b888,#08966f)}
.owner-kpi-blue {--owner-kpi-rgb:14,165,233;background:linear-gradient(145deg,#22a7e4,#0879bd)}
.owner-kpi-dark {--owner-kpi-rgb:51,65,85;background:linear-gradient(145deg,#334155,#1f2937)}
.owner-kpi-orange {--owner-kpi-rgb:245,158,11;background:linear-gradient(145deg,#f7aa16,#e07800)}
.owner-kpi-red {--owner-kpi-rgb:244,63,94;background:linear-gradient(145deg,#f04468,#d92d50)}
.owner-kpi-icon {position:relative;z-index:1;display:grid;place-items:center;width:43px;height:43px;margin-bottom:1rem;border-radius:13px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.27);font-size:1.25rem}
.owner-kpi small,
.owner-kpi strong,
.owner-kpi p {position:relative;z-index:1;display:block;color:#fff}
.owner-kpi small {font-weight:800;opacity:.92;margin-bottom:.35rem}
.owner-kpi strong {font-size:1.28rem;font-weight:900;white-space:nowrap}
.owner-kpi p {margin:.65rem 0 0;font-size:.72rem;line-height:1.55;opacity:.78}
.owner-decision-panel {border:1px solid #e1e7f0;border-radius:18px;background:#fbfcff;padding:1.05rem}
.owner-decision-panel-head {display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding-bottom:.85rem;border-bottom:1px solid #e4e9f1}
.owner-decision-panel-head h5 {display:flex;align-items:center;gap:.45rem;margin:0 0 .25rem;color:#1d2739;font-weight:900}
.owner-decision-panel-head p {margin:0;color:#8b95a7;font-size:.8rem}
.owner-decision-limit {display:inline-flex;align-items:center;justify-content:center;padding:.55rem .8rem;border-radius:10px;background:#ecfdf5;border:1px solid #bbf7d0;color:#087a55;font-weight:900;white-space:nowrap}
.owner-decision-fields {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
.owner-field-card {display:flex;align-items:flex-start;gap:.75rem;min-height:138px;padding:.9rem;border:1px solid #e0e7f0;border-radius:15px;background:#fff}
.owner-field-icon {display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:12px;font-size:1.2rem}
.owner-field-icon-green {color:#087a55;background:#e8fbf3}
.owner-field-icon-purple {color:#5b46db;background:#f0edff}
.owner-field-icon-blue {color:#087bbd;background:#e8f7ff}
.owner-field-content {min-width:0;flex:1}
.owner-field-content .form-label {font-weight:900;color:#263249;margin-bottom:.45rem}
.owner-field-content .form-control {min-height:48px;border-radius:11px}
.owner-field-content small {display:block;margin-top:.45rem;color:#919bad;font-size:.72rem;line-height:1.45}
.owner-decision-footer {justify-content:flex-end}
.owner-decision-footer .btn {min-height:45px;border-radius:11px;font-weight:900;padding-inline:1rem}
.owner-reject-panel {display:grid;grid-template-columns:minmax(220px,.8fr) minmax(280px,1.4fr) auto;align-items:center;gap:.8rem;padding:1rem;border:1px solid #fecdd3;border-radius:14px;background:#fff1f3}
.owner-reject-panel h6 {margin:0 0 .2rem;color:#be123c;font-weight:900}
.owner-reject-panel p {margin:0;color:#9f5268;font-size:.76rem}
.owner-reject-panel .form-control {min-height:45px;border-color:#fda4af;background:#fff}
.owner-final-decision {display:flex;align-items:center;gap:.8rem;padding:1rem;border-radius:15px;border:1px solid #bbf7d0;background:#ecfdf5;color:#086f4d}
.owner-final-decision.is-rejected {border-color:#fecdd3;background:#fff1f3;color:#be123c}
.owner-final-decision-icon {display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:13px;background:rgba(255,255,255,.72);font-size:1.35rem}
.owner-final-decision strong {display:block;margin-bottom:.25rem}
.owner-final-decision p,
.owner-final-decision small {margin:0;color:inherit}
.owner-detail-card>.card-body {padding:1rem 1.15rem}
.owner-work-metrics {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
.owner-work-metric {position:relative;display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto auto;column-gap:.7rem;align-items:center;min-height:94px;padding:.85rem;border:1px solid #e2e8f0;border-radius:15px;background:linear-gradient(145deg,#fff,#f8fafc)}
.owner-work-metric>span {grid-row:1/3;display:grid;place-items:center;width:44px;height:44px;border-radius:13px;color:#5b46db;background:#efedff;font-size:1.15rem}
.owner-work-metric small {color:#8a95a7;font-weight:700}
.owner-work-metric strong {color:#1e293b;font-size:.93rem;line-height:1.45}
.owner-work-metric.is-success>span {color:#087a55;background:#e8fbf3}
.owner-work-metric.is-info>span {color:#087bbd;background:#e7f7ff}
.owner-work-metric.is-danger>span {color:#d92d50;background:#fff0f3}
.owner-work-metric-wide {grid-column:span 3}
.owner-request-note {display:flex;align-items:flex-start;gap:.75rem;padding:.9rem 1rem;border:1px solid #bae6fd;border-radius:14px;background:#f0f9ff}
.owner-request-note>i {font-size:1.25rem;color:#0284c7}
.owner-request-note strong {display:block;color:#075985;margin-bottom:.2rem}
.owner-request-note p {margin:0;color:#47748e}
.owner-table-card .card-header {min-height:78px}
.owner-pretty-table-wrap {max-width:100%}
.owner-pretty-table {min-width:1020px}
.owner-pretty-table thead th {padding:.8rem .65rem;background:#f3f6fb;color:#4a566c;font-size:.76rem;font-weight:900;text-align:center;white-space:nowrap;border-color:#e1e7f0}
.owner-pretty-table tbody td {padding:.75rem .65rem;text-align:center;border-color:#e9edf3;color:#536075;font-size:.78rem}
.owner-pretty-table tbody tr:nth-child(even) {background:#fbfcfe}
.owner-pretty-table tbody tr:hover {background:#f5f8fc}
.owner-row-number {display:inline-grid;place-items:center;min-width:38px;height:29px;padding:0 .4rem;border-radius:9px;background:#eef2ff;color:#4f46e5;font-weight:900}
.owner-value-badge {display:inline-flex;align-items:center;justify-content:center;min-width:54px;padding:.32rem .55rem;border-radius:9px;font-weight:900}
.owner-value-badge.is-success {color:#087a55;background:#e8fbf3}
.owner-value-badge.is-info {color:#087bbd;background:#e7f7ff}
.owner-value-badge.is-danger {color:#d92d50;background:#fff0f3}
.owner-defects-card {border-color:#fecdd3!important}
[data-bs-theme="dark"] .owner-approval-redesign .card {border-color:#2a3649;box-shadow:none}
[data-bs-theme="dark"] .owner-section-header {background:linear-gradient(180deg,#182235,#151f30);border-color:#2a3649}
[data-bs-theme="dark"] .owner-section-header h5 {color:#f3f6fb}
[data-bs-theme="dark"] .owner-section-header p {color:#94a3b8}
[data-bs-theme="dark"] .owner-request-card {background:linear-gradient(145deg,#172235,#121b2a);border-color:#2c3a50;color:#e7edf7}
[data-bs-theme="dark"] .owner-request-card:hover,
[data-bs-theme="dark"] .owner-request-card.is-active {color:#fff;border-color:#f59e0b;background:linear-gradient(145deg,#322718,#182132)}
[data-bs-theme="dark"] .owner-request-number {background:#253147;color:#cbd5e1}
[data-bs-theme="dark"] .owner-request-meta {color:#9aa7ba}
[data-bs-theme="dark"] .owner-decision-panel {background:#151f30;border-color:#2a3649}
[data-bs-theme="dark"] .owner-decision-panel-head {border-color:#2a3649}
[data-bs-theme="dark"] .owner-decision-panel-head h5 {color:#f3f6fb}
[data-bs-theme="dark"] .owner-field-card,
[data-bs-theme="dark"] .owner-work-metric {background:#111a29;border-color:#2a3649}
[data-bs-theme="dark"] .owner-field-content .form-label,
[data-bs-theme="dark"] .owner-work-metric strong {color:#eef2f7}
[data-bs-theme="dark"] .owner-reject-panel {background:#351722;border-color:#6e253e}
[data-bs-theme="dark"] .owner-reject-panel .form-control {background:#111827;border-color:#7f3049}
[data-bs-theme="dark"] .owner-request-note {background:#102536;border-color:#155276}
[data-bs-theme="dark"] .owner-pretty-table thead th {background:#172235;color:#cbd5e1;border-color:#2a3649}
[data-bs-theme="dark"] .owner-pretty-table tbody td {color:#bec9d8;border-color:#263247}
[data-bs-theme="dark"] .owner-pretty-table tbody tr:nth-child(even) {background:#121c2b}
[data-bs-theme="dark"] .owner-pretty-table tbody tr:hover {background:#182538}
@media(max-width:1399.98px){.owner-request-cards {grid-template-columns:repeat(3,minmax(0,1fr))}.owner-financial-kpis {grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:991.98px){.owner-request-cards {grid-template-columns:repeat(2,minmax(0,1fr))}.owner-decision-fields,
.owner-work-metrics {grid-template-columns:repeat(2,minmax(0,1fr))}.owner-work-metric-wide {grid-column:span 2}.owner-reject-panel {grid-template-columns:1fr}.owner-reject-panel .btn {justify-self:start}}
@media(max-width:767.98px){.owner-section-header,
.owner-decision-panel-head {align-items:flex-start;flex-direction:column}.owner-request-cards,
.owner-financial-kpis,
.owner-decision-fields,
.owner-work-metrics {grid-template-columns:1fr}.owner-work-metric-wide {grid-column:span 1}.owner-kpi {min-height:155px}.owner-decision-footer {align-items:stretch;flex-direction:column}.owner-decision-footer .btn {width:100%}.owner-queue-counters {width:100%}.owner-queue-counters .badge {flex:1;text-align:center}.owner-reject-panel .btn {width:100%}}

/* ========================================================================== 
   Sonic Tower v2.3.69 — Contractor settlement and owner status card tabs
   ========================================================================== */
.contractor-settlement-browser-v2369,
.owner-request-browser-v2369 {border:1px solid var(--bs-border-color);border-radius:20px;overflow:hidden;box-shadow:0 12px 30px rgba(15,23,42,.055)}
.contractor-settlement-browser-head-v2369 {display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;background:linear-gradient(180deg,#fbfcff,#f7f9fd);border-bottom:1px solid #e8edf5}
.contractor-settlement-browser-head-v2369 h5 {display:flex;align-items:center;gap:.5rem;margin:0 0 .25rem;color:#172033;font-weight:900}
.contractor-settlement-browser-head-v2369 h5 i {color:#5b5cf6;font-size:1.25rem}
.contractor-settlement-browser-head-v2369 p {margin:0;color:#8a94a7;font-size:.8rem;font-weight:700}
.contractor-settlement-summary-v2369 {display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}
.contractor-settlement-summary-v2369 span {display:inline-flex;align-items:center;gap:.38rem;padding:.55rem .72rem;border-radius:11px;font-size:.77rem;font-weight:900}
.contractor-settlement-summary-v2369 .is-open {background:#fff4d6;color:#a16207;border:1px solid #fde68a}
.contractor-settlement-summary-v2369 .is-paid {background:#e9fbf1;color:#047857;border:1px solid #a7f3d0}
.contractor-settlement-tabs-v2369 {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}
.contractor-settlement-tab-v2369 {display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:58px;padding:.75rem 1rem;border:1px solid #dfe6f1;border-radius:15px;background: var(--bs-card-bg);color:#606b7d;font-family:inherit;font-weight:900;transition:.18s ease}
.contractor-settlement-tab-v2369 span {display:flex;align-items:center;gap:.45rem}
.contractor-settlement-tab-v2369 i {font-size:1.2rem}
.contractor-settlement-tab-v2369 b {display:inline-grid;place-items:center;min-width:34px;height:30px;padding:0 .45rem;border-radius:9px;background:#eef2f7;color:#556175}
.contractor-settlement-tab-v2369:hover {transform:translateY(-1px);border-color:#818cf8;color:#4f46e5;box-shadow:0 8px 18px rgba(79,70,229,.08)}
.contractor-settlement-tab-v2369.is-active {border-color:#6366f1;background:linear-gradient(135deg,#f4f3ff,#fff);color:#4f46e5;box-shadow:0 0 0 2px rgba(99,102,241,.1)}
.contractor-settlement-tab-v2369.is-active b {background:#6366f1;color:#fff}
.contractor-settlement-panel-v2369 {display:none}
.contractor-settlement-panel-v2369.is-active {display:block}
.contractor-settlement-cards-v2369 {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}
.contractor-settlement-card-v2369 {position:relative;display:flex;flex-direction:column;gap:.55rem;min-height:210px;padding:1rem;border:1px solid #dfe6f1;border-radius:17px;background:linear-gradient(145deg,#fff,#f9fbff);color:#253046;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.contractor-settlement-card-v2369:hover {transform:translateY(-3px);color:#253046;box-shadow:0 14px 28px rgba(15,23,42,.1)}
.contractor-settlement-card-v2369.is-open:hover {border-color:#f59e0b}
.contractor-settlement-card-v2369.is-paid:hover {border-color:#10b981}
.contractor-settlement-card-v2369.is-selected {border-color:#6366f1;box-shadow:0 0 0 2px rgba(99,102,241,.12),0 14px 28px rgba(79,70,229,.12)}
.contractor-settlement-card-v2369.is-selected::after {content:"";position:absolute;inset-block:14px;inset-inline-start:0;width:4px;border-radius:0 8px 8px 0;background:linear-gradient(#6366f1,#4338ca)}
.contractor-settlement-card-top-v2369 {display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.contractor-settlement-id-v2369 {display:inline-grid;place-items:center;min-width:42px;height:30px;padding:0 .5rem;border-radius:9px;background:#eef2f7;color:#556175;font-weight:950}
.contractor-settlement-card-v2369>strong {font-size:1rem;font-weight:950;color:#182235}
.contractor-settlement-card-v2369>p {display:flex;align-items:flex-start;gap:.4rem;margin:0;color:#7b8799;font-size:.76rem;line-height:1.55;font-weight:750}
.contractor-settlement-card-v2369>p i {color:#6366f1;font-size:1rem;margin-top:.08rem}
.contractor-settlement-money-v2369 {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin-top:auto}
.contractor-settlement-money-v2369 span {min-width:0;padding:.58rem .5rem;border-radius:11px;background:#f4f6fa;border:1px solid #e8edf4;text-align:center}
.contractor-settlement-money-v2369 small,
.contractor-settlement-money-v2369 b {display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.contractor-settlement-money-v2369 small {margin-bottom:.22rem;color:#8a95a8;font-size:.64rem;font-weight:800}
.contractor-settlement-money-v2369 b {color:#253046;font-size:.78rem;font-weight:950}
.contractor-settlement-money-v2369 .is-remaining {background:#fff7e6;border-color:#fde3a6}
.contractor-settlement-money-v2369 .is-remaining b {color:#b45309}
.contractor-settlement-money-v2369 .is-paid {background:#ecfdf3;border-color:#bbf7d0}
.contractor-settlement-money-v2369 .is-paid b {color:#047857}
.contractor-settlement-empty-v2369,
.owner-tab-empty-v2369 {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;min-height:150px;padding:1rem;color:#8b95a7;text-align:center}
.contractor-settlement-empty-v2369 i,
.owner-tab-empty-v2369 i {font-size:2.1rem;color:#a8b3c5}
.contractor-settlement-empty-v2369 strong,
.owner-tab-empty-v2369 strong {color:#455166;font-weight:900}
.contractor-settlement-empty-v2369 span,
.owner-tab-empty-v2369 span {font-size:.78rem;font-weight:700}
.owner-queue-total-v2369 {display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:.55rem;align-items:center;padding:.55rem .75rem;border:1px solid #ddd6fe;border-radius:13px;background:#f5f3ff;color:#5b21b6}
.owner-queue-total-v2369 i {grid-row:1/3;font-size:1.35rem}
.owner-queue-total-v2369 span {font-size:.66rem;font-weight:800}
.owner-queue-total-v2369 strong {font-size:1rem;font-weight:950}
.owner-status-tabs-v2369 {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;margin-bottom:1rem}
.owner-status-tab-v2369 {--tab-color:#64748b;--tab-bg:#f8fafc;display:flex;align-items:center;justify-content:space-between;gap:.55rem;min-height:60px;padding:.75rem .8rem;border:1px solid #dfe6f1;border-radius:15px;background: var(--bs-card-bg);color:#657085;font-family:inherit;font-weight:900;transition:.18s ease}
.owner-status-tab-v2369 span {display:flex;align-items:center;gap:.42rem;min-width:0}
.owner-status-tab-v2369 i {font-size:1.15rem;color:var(--tab-color)}
.owner-status-tab-v2369 b {display:inline-grid;place-items:center;min-width:32px;height:30px;padding:0 .4rem;border-radius:9px;background:#eef2f7;color:#556175}
.owner-status-tab-v2369:hover {transform:translateY(-1px);border-color:var(--tab-color);color:var(--tab-color)}
.owner-status-tab-v2369.is-active {border-color:var(--tab-color);background:var(--tab-bg);color:var(--tab-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--tab-color) 13%,transparent)}
.owner-status-tab-v2369.is-active b {background:var(--tab-color);color:#fff}
.owner-status-tab-v2369.is-pending {--tab-color:#d97706;--tab-bg:#fff8e7}
.owner-status-tab-v2369.is-approved {--tab-color:#059669;--tab-bg:#ecfdf5}
.owner-status-tab-v2369.is-rejected {--tab-color:#e11d48;--tab-bg:#fff1f4}
.owner-status-tab-v2369.is-paid {--tab-color:#2563eb;--tab-bg:#eff6ff}
.owner-status-tab-v2369.is-cancelled {--tab-color:#64748b;--tab-bg:#f8fafc}
.owner-status-panel-v2369 {display:none}
.owner-status-panel-v2369.is-active {display:block}
.owner-request-card-v2369.status-pending {--owner-card-accent:#d97706}
.owner-request-card-v2369.status-approved {--owner-card-accent:#059669}
.owner-request-card-v2369.status-rejected {--owner-card-accent:#e11d48}
.owner-request-card-v2369.status-paid {--owner-card-accent:#2563eb}
.owner-request-card-v2369.status-cancelled {--owner-card-accent:#64748b}
.owner-request-card-v2369:hover {border-color:var(--owner-card-accent);box-shadow:0 12px 24px color-mix(in srgb,var(--owner-card-accent) 15%,transparent)}
.owner-request-card-v2369.is-active {border-color:var(--owner-card-accent);background:linear-gradient(135deg,color-mix(in srgb,var(--owner-card-accent) 8%,#fff),#fff);box-shadow:0 0 0 2px color-mix(in srgb,var(--owner-card-accent) 12%,transparent),0 14px 28px color-mix(in srgb,var(--owner-card-accent) 14%,transparent)}
.owner-request-card-v2369.is-active::after {background:var(--owner-card-accent)}

[data-bs-theme="dark"] .contractor-settlement-browser-head-v2369,
[data-bs-theme="dark"] .owner-section-header {background:linear-gradient(180deg,#182235,#141d2d);border-color:#2a374b}
[data-bs-theme="dark"] .contractor-settlement-browser-head-v2369 h5 {color:#edf2f9}
[data-bs-theme="dark"] .contractor-settlement-tab-v2369,
[data-bs-theme="dark"] .owner-status-tab-v2369 {background:#172235;border-color:#2c3a50;color:#aab5c6}
[data-bs-theme="dark"] .contractor-settlement-tab-v2369.is-active {background:linear-gradient(135deg,#252354,#172235)}
[data-bs-theme="dark"] .contractor-settlement-card-v2369,
[data-bs-theme="dark"] .owner-request-card-v2369 {background:linear-gradient(145deg,#172235,#121b2a);border-color:#2c3a50;color:#e7edf7}
[data-bs-theme="dark"] .contractor-settlement-card-v2369:hover,
[data-bs-theme="dark"] .contractor-settlement-card-v2369.is-selected,
[data-bs-theme="dark"] .owner-request-card-v2369:hover,
[data-bs-theme="dark"] .owner-request-card-v2369.is-active {color:#fff}
[data-bs-theme="dark"] .contractor-settlement-card-v2369>strong {color:#f4f7fb}
[data-bs-theme="dark"] .contractor-settlement-card-v2369>p {color:#9aa7ba}
[data-bs-theme="dark"] .contractor-settlement-id-v2369,
[data-bs-theme="dark"] .owner-request-number,
[data-bs-theme="dark"] .contractor-settlement-tab-v2369 b,
[data-bs-theme="dark"] .owner-status-tab-v2369 b {background:#253147;color:#d4dbe6}
[data-bs-theme="dark"] .contractor-settlement-money-v2369 span {background:#1c293c;border-color:#304057}
[data-bs-theme="dark"] .contractor-settlement-money-v2369 b {color:#edf2f7}
[data-bs-theme="dark"] .contractor-settlement-money-v2369 .is-remaining {background:#352916;border-color:#5c4320}
[data-bs-theme="dark"] .contractor-settlement-money-v2369 .is-paid {background:#123428;border-color:#1d5d46}
[data-bs-theme="dark"] .owner-queue-total-v2369 {background:#28213e;border-color:#493c72;color:#c4b5fd}

@media(max-width:1399.98px){.contractor-settlement-cards-v2369 {grid-template-columns:repeat(3,minmax(0,1fr))}.owner-status-tabs-v2369 {grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:991.98px){.contractor-settlement-browser-head-v2369 {align-items:flex-start;flex-direction:column}.contractor-settlement-summary-v2369 {width:100%}.contractor-settlement-summary-v2369 span {flex:1;justify-content:center}.contractor-settlement-cards-v2369 {grid-template-columns:repeat(2,minmax(0,1fr))}.owner-status-tabs-v2369 {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767.98px){.contractor-settlement-tabs-v2369,
.contractor-settlement-cards-v2369,
.owner-status-tabs-v2369 {grid-template-columns:1fr}.contractor-settlement-card-v2369 {min-height:190px}.contractor-settlement-browser-head-v2369,
.owner-section-header {padding:.9rem}.owner-queue-total-v2369 {width:100%;grid-template-columns:auto 1fr auto;grid-template-rows:auto}.owner-queue-total-v2369 i {grid-row:auto}.owner-queue-total-v2369 span,
.owner-queue-total-v2369 strong {align-self:center}.owner-request-card-v2369 {min-height:138px}}
@media(max-width:575.98px){.contractor-settlement-money-v2369 {grid-template-columns:1fr}.contractor-settlement-summary-v2369 {flex-direction:column;align-items:stretch}.contractor-settlement-summary-v2369 span {width:100%}}

/* ========================================================================
   Sonic Tower v2.3.70 — contractor payment cashbox tabs and card workflow
   ======================================================================== */
.cashbox-page-v2370 {gap:1rem}
.cashbox-hero-v2370 {min-height:118px}
.cashbox-hero-counters-v2370 {position:relative;z-index:1;display:flex;align-items:center;gap:.65rem}
.cashbox-hero-counters-v2370>span {display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:.55rem;align-items:center;min-width:145px;padding:.72rem .85rem;border:1px solid rgba(255,255,255,.24);border-radius:14px;background:rgba(255,255,255,.13);backdrop-filter:blur(6px)}
.cashbox-hero-counters-v2370 small {grid-column:1/3;color:rgba(255,255,255,.8);font-size:.68rem;font-weight:800}
.cashbox-hero-counters-v2370 strong {grid-column:1/3;color:#fff;font-size:1.15rem;font-weight:950}
.cashbox-browser-card-v2370 {overflow:hidden;border:1px solid #dfe7ef;box-shadow:0 12px 30px rgba(15,23,42,.06)}
.cashbox-browser-head-v2370 {display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;border-bottom:1px solid #dfe7ef;background:linear-gradient(180deg,#fff,#f8fafc)}
.cashbox-browser-head-v2370>div:first-child {display:flex;align-items:center;gap:.75rem;min-width:0}
.cashbox-browser-icon-v2370 {display:inline-grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:14px;color:#fff;font-size:1.35rem;background:linear-gradient(135deg,#10b981,#047857);box-shadow:0 9px 20px rgba(5,150,105,.2)}
.cashbox-browser-head-v2370 h5 {margin:0;color:#172033;font-weight:950}
.cashbox-browser-head-v2370 p {margin:.18rem 0 0;color:#8792a5;font-size:.76rem;font-weight:700}
.cashbox-browser-summary-v2370 {display:flex;align-items:stretch;gap:.55rem;flex-wrap:wrap}
.cashbox-browser-summary-v2370>span {min-width:145px;padding:.62rem .75rem;border:1px solid #dfe7ef;border-radius:13px;background:#fff}
.cashbox-browser-summary-v2370 small,
.cashbox-browser-summary-v2370 strong {display:block}
.cashbox-browser-summary-v2370 small {color:#8b96a8;font-size:.67rem;font-weight:800}
.cashbox-browser-summary-v2370 strong {margin-top:.18rem;color:#243047;font-size:.92rem;font-weight:950}
.cashbox-browser-summary-v2370 .is-approved {background:#fff8e8;border-color:#fde7b0}
.cashbox-browser-summary-v2370 .is-approved strong {color:#b45309}
.cashbox-browser-summary-v2370 .is-paid {background:#ecfdf5;border-color:#bbf7d0}
.cashbox-browser-summary-v2370 .is-paid strong {color:#047857}
.cashbox-status-tabs-v2370 {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-bottom:1rem}
.cashbox-status-tab-v2370 {--cashbox-tab-color:#64748b;--cashbox-tab-bg:#f8fafc;display:flex;align-items:center;justify-content:space-between;gap:.6rem;min-height:62px;padding:.78rem .9rem;border:1px solid #dfe7ef;border-radius:15px;background: var(--bs-card-bg);color:#667287;font-family:inherit;font-weight:900;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}
.cashbox-status-tab-v2370 span {display:flex;align-items:center;gap:.45rem;min-width:0}
.cashbox-status-tab-v2370 i {font-size:1.18rem;color:var(--cashbox-tab-color)}
.cashbox-status-tab-v2370 b {display:inline-grid;place-items:center;min-width:34px;height:32px;padding:0 .45rem;border-radius:10px;background:#edf1f6;color:#556174;font-weight:950}
.cashbox-status-tab-v2370:hover {transform:translateY(-1px);border-color:var(--cashbox-tab-color);color:var(--cashbox-tab-color)}
.cashbox-status-tab-v2370.is-active {border-color:var(--cashbox-tab-color);background:var(--cashbox-tab-bg);color:var(--cashbox-tab-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--cashbox-tab-color) 12%,transparent)}
.cashbox-status-tab-v2370.is-active b {background:var(--cashbox-tab-color);color:#fff}
.cashbox-status-tab-v2370.is-approved {--cashbox-tab-color:#d97706;--cashbox-tab-bg:#fff8e7}
.cashbox-status-tab-v2370.is-paid {--cashbox-tab-color:#059669;--cashbox-tab-bg:#ecfdf5}
.cashbox-status-panel-v2370 {display:none}
.cashbox-status-panel-v2370.is-active {display:block}
.cashbox-request-cards-v2370 {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}
.cashbox-request-card-v2370 {--cashbox-card-accent:#d97706;position:relative;display:flex;flex-direction:column;gap:.55rem;min-height:220px;padding:1rem;border:1px solid #dfe6ef;border-radius:17px;background:linear-gradient(145deg,#fff,#f9fbfd);color:#253046;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.cashbox-request-card-v2370.is-paid {--cashbox-card-accent:#059669}
.cashbox-request-card-v2370:hover {transform:translateY(-3px);border-color:var(--cashbox-card-accent);color:#253046;box-shadow:0 14px 28px color-mix(in srgb,var(--cashbox-card-accent) 14%,transparent)}
.cashbox-request-card-v2370.is-selected {border-color:var(--cashbox-card-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--cashbox-card-accent) 12%,transparent),0 14px 28px color-mix(in srgb,var(--cashbox-card-accent) 14%,transparent)}
.cashbox-request-card-v2370.is-selected::after {content:"";position:absolute;inset-block:14px;inset-inline-start:0;width:4px;border-radius:0 8px 8px 0;background:var(--cashbox-card-accent)}
.cashbox-request-card-top-v2370 {display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.cashbox-request-number-v2370 {display:inline-grid;place-items:center;min-width:43px;height:30px;padding:0 .5rem;border-radius:9px;background:#edf1f6;color:#556174;font-weight:950}
.cashbox-request-card-v2370>strong {font-size:1rem;font-weight:950;color:#172033}
.cashbox-request-card-v2370>p {display:flex;align-items:flex-start;gap:.4rem;margin:0;color:#7b8798;font-size:.76rem;line-height:1.55;font-weight:750}
.cashbox-request-card-v2370>p i {margin-top:.08rem;color:var(--cashbox-card-accent);font-size:1rem}
.cashbox-request-money-v2370 {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.42rem;margin-top:auto}
.cashbox-request-money-v2370 span {min-width:0;padding:.55rem .42rem;border:1px solid #e6ebf2;border-radius:11px;background:#f4f6f9;text-align:center}
.cashbox-request-money-v2370 small,
.cashbox-request-money-v2370 b {display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cashbox-request-money-v2370 small {margin-bottom:.2rem;color:#8995a7;font-size:.61rem;font-weight:800}
.cashbox-request-money-v2370 b {color:#253046;font-size:.73rem;font-weight:950}
.cashbox-request-money-v2370 .is-bonus {background:#f0fdf4;border-color:#c7f4d6}
.cashbox-request-money-v2370 .is-bonus b {color:#047857}
.cashbox-request-money-v2370 .is-total {background:#fff8e8;border-color:#fde6ad}
.cashbox-request-money-v2370 .is-total b {color:#b45309}
.cashbox-request-card-v2370.is-paid .is-total {background:#ecfdf5;border-color:#bbf7d0}
.cashbox-request-card-v2370.is-paid .is-total b {color:#047857}
.cashbox-request-meta-v2370 {display:flex;align-items:center;justify-content:space-between;gap:.45rem;padding-top:.5rem;border-top:1px dashed #dfe5ed;color:#8995a7;font-size:.66rem;font-weight:750}
.cashbox-request-meta-v2370 span {display:flex;align-items:center;gap:.3rem;min-width:0}
.cashbox-request-meta-v2370 i {color:var(--cashbox-card-accent);font-size:.9rem}
.cashbox-empty-v2370 {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;min-height:155px;padding:1rem;color:#8b96a8;text-align:center}
.cashbox-empty-v2370.large {min-height:250px}
.cashbox-empty-v2370 i {font-size:2.2rem;color:#9eabbc}
.cashbox-empty-v2370 strong {color:#455166;font-weight:950}
.cashbox-empty-v2370 span {max-width:520px;font-size:.78rem;font-weight:700}
.cashbox-order-card-v2370 {overflow:hidden;border:1px solid #dfe7ef;box-shadow:0 12px 30px rgba(15,23,42,.06)}
.cashbox-order-card-v2370>.card-header {padding:1.15rem 1.25rem;background:linear-gradient(120deg,#047857,#16a34a)}
.cashbox-stats-grid-v2370 {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem}
.cashbox-stats-grid-v2370 article {--cashbox-stat-from:#6366f1;--cashbox-stat-to:#4338ca;position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;min-height:150px;padding:1rem;border-radius:18px;color:#fff;background:radial-gradient(circle at 12% -15%,rgba(255,255,255,.24) 0 17%,transparent 17.5%),radial-gradient(circle at 105% 112%,rgba(255,255,255,.14) 0 23%,transparent 23.5%),linear-gradient(130deg,var(--cashbox-stat-from),var(--cashbox-stat-to));box-shadow:0 13px 28px color-mix(in srgb,var(--cashbox-stat-to) 22%,transparent)}
.cashbox-stats-grid-v2370 article>span {display:inline-grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.28);border-radius:12px;background:rgba(255,255,255,.15);font-size:1.15rem}
.cashbox-stats-grid-v2370 article small {display:block;margin-top:.7rem;color:rgba(255,255,255,.88);font-size:.72rem;font-weight:850}
.cashbox-stats-grid-v2370 article strong {display:block;margin-top:.18rem;color:#fff;font-size:1.08rem;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cashbox-stats-grid-v2370 article p {margin:.35rem 0 0;color:rgba(255,255,255,.75);font-size:.65rem;line-height:1.45;font-weight:650}
.cashbox-stats-grid-v2370 .is-applied {--cashbox-stat-from:#6366f1;--cashbox-stat-to:#4338ca}
.cashbox-stats-grid-v2370 .is-bonus {--cashbox-stat-from:#2da9f7;--cashbox-stat-to:#0369a1}
.cashbox-stats-grid-v2370 .is-total {--cashbox-stat-from:#22c58b;--cashbox-stat-to:#047857}
.cashbox-stats-grid-v2370 .is-remaining {--cashbox-stat-from:#ffbd24;--cashbox-stat-to:#d66a00}
.cashbox-stats-grid-v2370 .is-date {--cashbox-stat-from:#fb5c7a;--cashbox-stat-to:#be123c}
.cashbox-stats-grid-v2370 .is-owner {--cashbox-stat-from:#475569;--cashbox-stat-to:#0f172a}
.cashbox-owner-note-v2370 {display:flex;align-items:flex-start;gap:.75rem;margin-top:1rem;padding:.9rem 1rem;border:1px solid #bfdbfe;border-radius:15px;background:#eff6ff}
.cashbox-owner-note-v2370>span {display:inline-grid;place-items:center;width:39px;height:39px;flex:0 0 39px;border-radius:12px;color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb)}
.cashbox-owner-note-v2370 small,
.cashbox-owner-note-v2370 strong {display:block}
.cashbox-owner-note-v2370 small {color:#64748b;font-size:.7rem;font-weight:800}
.cashbox-owner-note-v2370 strong {margin-top:.22rem;color:#1e3a5f;line-height:1.7;font-weight:850}
.cashbox-payment-form-panel-v2370 {margin-top:1rem;overflow:hidden;border:1px solid #b7e4cf;border-radius:18px;background:linear-gradient(180deg,#f0fdf7,#fff);box-shadow:0 10px 25px rgba(5,150,105,.08)}
.cashbox-payment-form-head-v2370 {display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border-bottom:1px solid #ccebdd;background:linear-gradient(135deg,#e9fbf2,#f8fffb)}
.cashbox-payment-form-head-v2370>div {display:flex;align-items:center;gap:.75rem;min-width:0}
.cashbox-payment-form-head-v2370>div>span {display:inline-grid;place-items:center;width:43px;height:43px;flex:0 0 43px;border-radius:13px;color:#fff;background:linear-gradient(135deg,#22c55e,#059669);font-size:1.25rem}
.cashbox-payment-form-head-v2370 h5 {margin:0;color:#14532d;font-weight:950}
.cashbox-payment-form-head-v2370 p {margin:.18rem 0 0;color:#6b8777;font-size:.74rem;font-weight:700}
.cashbox-payment-form-head-v2370>b {padding:.6rem .75rem;border-radius:12px;color:#047857;background: var(--bs-card-bg);border:1px solid #b7e4cf;font-weight:950;white-space:nowrap}
.cashbox-payment-form-v2370 {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;padding:1rem 1.1rem 0}
.cashbox-payment-form-v2370>div:not(.cashbox-payment-form-footer-v2370) {display:flex;min-width:0;flex-direction:column}
.cashbox-payment-form-v2370 .form-label {min-height:24px;margin-bottom:.4rem;font-weight:850}
.cashbox-payment-form-v2370 .form-control {height:46px;min-height:46px}
.cashbox-payment-form-footer-v2370 {grid-column:1/-1;display:flex;justify-content:flex-end;margin-inline:-1.1rem;padding:1rem 1.1rem;border-top:1px solid #ccebdd;background:#f4fbf7}
.cashbox-payment-form-footer-v2370 .btn {min-width:255px;min-height:46px;border:0;background:linear-gradient(135deg,#22c55e,#059669);box-shadow:0 10px 22px rgba(5,150,105,.22);font-weight:950}
.cashbox-payment-form-footer-v2370 .btn:hover {background:linear-gradient(135deg,#16a34a,#047857);transform:translateY(-1px)}
.cashbox-paid-result-v2370 {display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;margin-top:1rem;padding:1rem;border:1px solid #a7f3d0;border-radius:17px;background:linear-gradient(135deg,#ecfdf5,#fff)}
.cashbox-paid-result-v2370>span {display:inline-grid;place-items:center;width:48px;height:48px;border-radius:15px;color:#fff;background:linear-gradient(135deg,#22c55e,#059669);font-size:1.5rem}
.cashbox-paid-result-v2370 h5 {margin:0;color:#065f46;font-weight:950}
.cashbox-paid-result-v2370 p {margin:.2rem 0 0;color:#608073;font-size:.75rem;font-weight:700}
.cashbox-paid-meta-v2370 {display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));gap:.55rem}
.cashbox-paid-meta-v2370 span {padding:.62rem .72rem;border:1px solid #ccebdd;border-radius:12px;background:#fff}
.cashbox-paid-meta-v2370 small,
.cashbox-paid-meta-v2370 strong {display:block}
.cashbox-paid-meta-v2370 small {color:#7c9489;font-size:.65rem;font-weight:800}
.cashbox-paid-meta-v2370 strong {margin-top:.18rem;color:#14532d;font-size:.78rem;font-weight:950}
.cashbox-work-card-v2370 {overflow:hidden;border:1px solid #dfe7ef;box-shadow:0 10px 26px rgba(15,23,42,.05)}
.cashbox-work-card-v2370>.card-header {display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;background:linear-gradient(180deg,#fff,#f8fafc)}
.cashbox-work-card-v2370>.card-header h5 {display:flex;align-items:center;gap:.45rem;margin:0;color:#1f2937;font-weight:950}
.cashbox-work-card-v2370>.card-header p {margin:.18rem 0 0;color:#8792a4;font-size:.74rem;font-weight:700}
.cashbox-work-card-v2370>.card-header>span {display:inline-grid;place-items:center;min-width:55px;height:34px;padding:0 .65rem;border-radius:10px;color:#4338ca;background:#eef2ff;font-weight:950}
.cashbox-work-grid-v2370 {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}
.cashbox-work-grid-v2370 article {display:flex;align-items:flex-start;gap:.7rem;min-height:92px;padding:.9rem;border:1px solid #dfe7ef;border-radius:15px;background:linear-gradient(145deg,#fff,#f8fafc)}
.cashbox-work-grid-v2370 article>span {display:inline-grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:12px;color:#4338ca;background:#eef2ff;font-size:1.1rem}
.cashbox-work-grid-v2370 small,
.cashbox-work-grid-v2370 strong {display:block}
.cashbox-work-grid-v2370 small {color:#8a95a7;font-size:.67rem;font-weight:800}
.cashbox-work-grid-v2370 strong {margin-top:.26rem;color:#253046;line-height:1.6;font-weight:900}
[data-bs-theme="dark"] .cashbox-browser-card-v2370,
[data-bs-theme="dark"] .cashbox-order-card-v2370,
[data-bs-theme="dark"] .cashbox-work-card-v2370 {border-color:#2b394e}
[data-bs-theme="dark"] .cashbox-browser-head-v2370,
[data-bs-theme="dark"] .cashbox-work-card-v2370>.card-header {background:linear-gradient(180deg,#182235,#141d2d);border-color:#2b394e}
[data-bs-theme="dark"] .cashbox-browser-head-v2370 h5,
[data-bs-theme="dark"] .cashbox-work-card-v2370>.card-header h5 {color:#edf2f9}
[data-bs-theme="dark"] .cashbox-browser-summary-v2370>span,
[data-bs-theme="dark"] .cashbox-status-tab-v2370,
[data-bs-theme="dark"] .cashbox-request-card-v2370,
[data-bs-theme="dark"] .cashbox-work-grid-v2370 article {background:linear-gradient(145deg,#172235,#121b2a);border-color:#2c3a50;color:#e8edf6}
[data-bs-theme="dark"] .cashbox-request-card-v2370:hover,
[data-bs-theme="dark"] .cashbox-request-card-v2370.is-selected {color:#fff}
[data-bs-theme="dark"] .cashbox-request-card-v2370>strong,
[data-bs-theme="dark"] .cashbox-work-grid-v2370 strong,
[data-bs-theme="dark"] .cashbox-browser-summary-v2370 strong {color:#f4f7fb}
[data-bs-theme="dark"] .cashbox-request-card-v2370>p,
[data-bs-theme="dark"] .cashbox-work-grid-v2370 small,
[data-bs-theme="dark"] .cashbox-browser-head-v2370 p {color:#9aa7ba}
[data-bs-theme="dark"] .cashbox-request-number-v2370,
[data-bs-theme="dark"] .cashbox-status-tab-v2370 b {background:#253147;color:#d4dbe6}
[data-bs-theme="dark"] .cashbox-request-money-v2370 span {background:#1c293c;border-color:#304057}
[data-bs-theme="dark"] .cashbox-request-money-v2370 b {color:#edf2f7}
[data-bs-theme="dark"] .cashbox-request-money-v2370 .is-bonus,
[data-bs-theme="dark"] .cashbox-request-card-v2370.is-paid .is-total {background:#123428;border-color:#1d5d46}
[data-bs-theme="dark"] .cashbox-request-money-v2370 .is-total {background:#352916;border-color:#5c4320}
[data-bs-theme="dark"] .cashbox-owner-note-v2370 {background:#172b43;border-color:#2c527d}
[data-bs-theme="dark"] .cashbox-owner-note-v2370 strong {color:#dbeafe}
[data-bs-theme="dark"] .cashbox-payment-form-panel-v2370 {background:linear-gradient(180deg,#142a22,#111c18);border-color:#245943}
[data-bs-theme="dark"] .cashbox-payment-form-head-v2370 {background:linear-gradient(135deg,#17372a,#14251f);border-color:#245943}
[data-bs-theme="dark"] .cashbox-payment-form-head-v2370 h5 {color:#d1fae5}
[data-bs-theme="dark"] .cashbox-payment-form-head-v2370>b,
[data-bs-theme="dark"] .cashbox-paid-meta-v2370 span {background:#13291f;border-color:#245943;color:#a7f3d0}
[data-bs-theme="dark"] .cashbox-payment-form-footer-v2370 {background:#12241c;border-color:#245943}
[data-bs-theme="dark"] .cashbox-paid-result-v2370 {background:linear-gradient(135deg,#123428,#111d18);border-color:#1d5d46}
[data-bs-theme="dark"] .cashbox-paid-result-v2370 h5,
[data-bs-theme="dark"] .cashbox-paid-meta-v2370 strong {color:#d1fae5}
@media(max-width:1399.98px){.cashbox-request-cards-v2370 {grid-template-columns:repeat(3,minmax(0,1fr))}.cashbox-stats-grid-v2370 {grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1199.98px){.cashbox-browser-head-v2370 {align-items:flex-start;flex-direction:column}.cashbox-browser-summary-v2370 {width:100%}.cashbox-browser-summary-v2370>span {flex:1}.cashbox-request-cards-v2370 {grid-template-columns:repeat(2,minmax(0,1fr))}.cashbox-payment-form-v2370 {grid-template-columns:repeat(2,minmax(0,1fr))}.cashbox-work-grid-v2370 {grid-template-columns:repeat(2,minmax(0,1fr))}.cashbox-paid-result-v2370 {grid-template-columns:auto minmax(0,1fr)}.cashbox-paid-meta-v2370 {grid-column:1/-1}}
@media(max-width:767.98px){.cashbox-hero-v2370 {align-items:flex-start}.cashbox-hero-counters-v2370 {width:100%}.cashbox-hero-counters-v2370>span {flex:1;min-width:0}.cashbox-status-tabs-v2370,
.cashbox-request-cards-v2370,
.cashbox-stats-grid-v2370,
.cashbox-payment-form-v2370,
.cashbox-work-grid-v2370 {grid-template-columns:1fr}.cashbox-request-card-v2370 {min-height:195px}.cashbox-payment-form-head-v2370 {align-items:flex-start;flex-direction:column}.cashbox-payment-form-head-v2370>b {width:100%;text-align:center}.cashbox-payment-form-footer-v2370 {justify-content:stretch}.cashbox-payment-form-footer-v2370 .btn {width:100%;min-width:0}.cashbox-paid-result-v2370 {grid-template-columns:1fr;text-align:center}.cashbox-paid-result-v2370>span {margin:auto}.cashbox-paid-meta-v2370 {grid-template-columns:1fr;width:100%;text-align:start}.cashbox-work-card-v2370>.card-header {align-items:flex-start;flex-direction:column}.cashbox-work-card-v2370>.card-header>span {width:100%}}
@media(max-width:575.98px){.cashbox-hero-counters-v2370,
.cashbox-browser-summary-v2370 {flex-direction:column;align-items:stretch}.cashbox-hero-counters-v2370>span,
.cashbox-browser-summary-v2370>span {width:100%}.cashbox-request-money-v2370 {grid-template-columns:1fr}.cashbox-request-meta-v2370 {align-items:flex-start;flex-direction:column}}

/* =========================================================
   Sonic Tower v2.3.71 — warehouse preparation tabs and cards
   ========================================================= */
.warehouse-preparation-page-v2371 {gap:1rem}
.warehouse-hero-v2371 {display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.2rem;border-radius:18px;color:#fff;background:radial-gradient(circle at 8% -20%,rgba(255,255,255,.22) 0 17%,transparent 17.5%),linear-gradient(125deg,#4338ca,#2563eb 52%,#0284c7);box-shadow:0 16px 34px rgba(37,99,235,.2)}
.warehouse-hero-main-v2371 {display:flex;align-items:center;gap:.85rem;min-width:0}
.warehouse-hero-main-v2371>span {display:inline-grid;place-items:center;width:52px;height:52px;flex:0 0 52px;border:1px solid rgba(255,255,255,.3);border-radius:15px;background:rgba(255,255,255,.15);font-size:1.45rem}
.warehouse-hero-main-v2371 h3 {margin:0;color:#fff;font-size:1.12rem;font-weight:950}
.warehouse-hero-main-v2371 p {margin:.25rem 0 0;color:rgba(255,255,255,.78);font-size:.76rem;font-weight:700}
.warehouse-hero-counters-v2371 {display:flex;align-items:stretch;gap:.65rem}
.warehouse-hero-counters-v2371>span {min-width:118px;padding:.62rem .8rem;border:1px solid rgba(255,255,255,.24);border-radius:13px;background:rgba(255,255,255,.13);backdrop-filter:blur(4px)}
.warehouse-hero-counters-v2371 small,
.warehouse-hero-counters-v2371 strong {display:block}
.warehouse-hero-counters-v2371 small {color:rgba(255,255,255,.76);font-size:.65rem;font-weight:800}
.warehouse-hero-counters-v2371 strong {margin-top:.12rem;color:#fff;font-size:1.08rem;font-weight:950}
.warehouse-browser-v2371,
.warehouse-selected-card-v2371,
.warehouse-execution-card-v2371,
.warehouse-lines-card-v2371,
.warehouse-history-card-v2371 {overflow:hidden;border:1px solid #dfe7ef;box-shadow:0 11px 28px rgba(15,23,42,.055)}
.warehouse-browser-head-v2371 {display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;border-bottom:1px solid #e7edf4;background:linear-gradient(180deg,#fff,#f8fafc)}
.warehouse-browser-head-v2371>div:first-child {display:flex;align-items:center;gap:.75rem;min-width:0}
.warehouse-browser-icon-v2371 {display:inline-grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:14px;color:#fff;background:linear-gradient(135deg,#6366f1,#4338ca);font-size:1.25rem;box-shadow:0 8px 18px rgba(79,70,229,.22)}
.warehouse-browser-head-v2371 h5 {margin:0;color:#1f2937;font-weight:950}
.warehouse-browser-head-v2371 p {margin:.18rem 0 0;color:#8994a6;font-size:.73rem;font-weight:700}
.warehouse-browser-summary-v2371 {display:flex;gap:.55rem}
.warehouse-browser-summary-v2371>span {min-width:150px;padding:.55rem .7rem;border:1px solid #dfe7ef;border-radius:12px;background:#fff}
.warehouse-browser-summary-v2371 small,
.warehouse-browser-summary-v2371 strong {display:block}
.warehouse-browser-summary-v2371 small {color:#8a95a7;font-size:.63rem;font-weight:800}
.warehouse-browser-summary-v2371 strong {margin-top:.12rem;color:#283448;font-weight:950}
.warehouse-browser-summary-v2371 .is-current {border-color:#c7d2fe;background:#eef2ff}
.warehouse-browser-summary-v2371 .is-current strong {color:#4338ca}
.warehouse-browser-summary-v2371 .is-archive {border-color:#bbf7d0;background:#ecfdf5}
.warehouse-browser-summary-v2371 .is-archive strong {color:#047857}
.warehouse-status-tabs-v2371 {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}
.warehouse-status-tab-v2371 {--warehouse-tab-accent:#4f46e5;display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:58px;padding:.72rem .85rem;border:1px solid #dfe7ef;border-radius:14px;background: var(--bs-card-bg);color:#5f6c7d;transition:.18s ease}
.warehouse-status-tab-v2371.is-archive {--warehouse-tab-accent:#059669}
.warehouse-status-tab-v2371>span {display:flex;align-items:center;gap:.45rem;font-weight:900}
.warehouse-status-tab-v2371>span i {font-size:1.15rem;color:var(--warehouse-tab-accent)}
.warehouse-status-tab-v2371>b {display:inline-grid;place-items:center;min-width:34px;height:34px;padding:0 .45rem;border-radius:10px;background:#f1f5f9;color:#465467;font-weight:950}
.warehouse-status-tab-v2371:hover,
.warehouse-status-tab-v2371.is-active {border-color:var(--warehouse-tab-accent);background:color-mix(in srgb,var(--warehouse-tab-accent) 6%,#fff);color:var(--warehouse-tab-accent);box-shadow:0 9px 21px color-mix(in srgb,var(--warehouse-tab-accent) 12%,transparent)}
.warehouse-status-tab-v2371.is-active b {color:#fff;background:var(--warehouse-tab-accent)}
.warehouse-status-panel-v2371 {display:none}
.warehouse-status-panel-v2371.is-active {display:block}
.warehouse-request-cards-v2371 {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}
.warehouse-request-card-v2371 {--warehouse-card-accent:#4f46e5;position:relative;display:flex;flex-direction:column;gap:.58rem;min-height:242px;padding:1rem;border:1px solid #dfe7ef;border-radius:17px;background:linear-gradient(145deg,#fff,#f9fbfd);color:#253046;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.warehouse-request-card-v2371.is-completed {--warehouse-card-accent:#059669}
.warehouse-request-card-v2371.is-cancelled {--warehouse-card-accent:#e11d48}
.warehouse-request-card-v2371:hover {transform:translateY(-3px);border-color:var(--warehouse-card-accent);color:#253046;box-shadow:0 14px 28px color-mix(in srgb,var(--warehouse-card-accent) 14%,transparent)}
.warehouse-request-card-v2371.is-selected {border-color:var(--warehouse-card-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--warehouse-card-accent) 11%,transparent),0 14px 28px color-mix(in srgb,var(--warehouse-card-accent) 14%,transparent)}
.warehouse-request-card-v2371.is-selected::after {content:"";position:absolute;inset-block:14px;inset-inline-start:0;width:4px;border-radius:0 8px 8px 0;background:var(--warehouse-card-accent)}
.warehouse-request-card-top-v2371 {display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.warehouse-request-card-top-v2371>span:first-child {color:#536176;font-size:.72rem;font-weight:950}
.warehouse-request-card-v2371>strong {color:#172033;font-size:.98rem;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.warehouse-request-card-v2371>p {display:flex;align-items:flex-start;gap:.4rem;min-height:38px;margin:0;color:#7c8798;font-size:.72rem;line-height:1.55;font-weight:700}
.warehouse-request-card-v2371>p i {margin-top:.1rem;color:var(--warehouse-card-accent);font-size:1rem}
.warehouse-request-numbers-v2371 {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.42rem}
.warehouse-request-numbers-v2371 span {padding:.52rem .55rem;border:1px solid #e4eaf1;border-radius:11px;background:#f8fafc}
.warehouse-request-numbers-v2371 small,
.warehouse-request-numbers-v2371 b {display:block}
.warehouse-request-numbers-v2371 small {color:#8b96a7;font-size:.58rem;font-weight:800;white-space:nowrap}
.warehouse-request-numbers-v2371 b {margin-top:.12rem;color:#2b374a;font-size:.75rem;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.warehouse-request-progress-v2371 {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem}
.warehouse-request-progress-v2371>div {height:7px;overflow:hidden;border-radius:999px;background:#e9edf4}
.warehouse-request-progress-v2371>div span {display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--warehouse-card-accent),color-mix(in srgb,var(--warehouse-card-accent) 65%,#22d3ee))}
.warehouse-request-progress-v2371>b {color:var(--warehouse-card-accent);font-size:.66rem;font-weight:950}
.warehouse-request-meta-v2371 {display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:auto;padding-top:.55rem;border-top:1px dashed #dfe6ef;color:#8490a2;font-size:.63rem;font-weight:750}
.warehouse-request-meta-v2371 span {display:flex;align-items:center;gap:.3rem;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.warehouse-request-meta-v2371 i {color:var(--warehouse-card-accent);font-size:.9rem}
.warehouse-empty-v2371 {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;min-height:170px;padding:1.5rem;color:#8692a5;text-align:center}
.warehouse-empty-v2371.large {min-height:250px}
.warehouse-empty-v2371 i {font-size:2.15rem;color:#aab4c2}
.warehouse-empty-v2371 strong {color:#465368;font-weight:950}
.warehouse-empty-v2371 span {max-width:530px;font-size:.76rem;font-weight:700}
.warehouse-selected-card-v2371>.card-header,
.warehouse-execution-card-v2371>.card-header,
.warehouse-lines-card-v2371>.card-header,
.warehouse-history-card-v2371>.card-header {display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;background:linear-gradient(180deg,#fff,#f8fafc)}
.warehouse-selected-card-v2371>.card-header h4,
.warehouse-execution-card-v2371>.card-header h5,
.warehouse-lines-card-v2371>.card-header h5,
.warehouse-history-card-v2371>.card-header h5 {margin:0;color:#1f2937;font-weight:950}
.warehouse-selected-card-v2371>.card-header p,
.warehouse-execution-card-v2371>.card-header p,
.warehouse-lines-card-v2371>.card-header p,
.warehouse-history-card-v2371>.card-header p {margin:.18rem 0 0;color:#8994a6;font-size:.72rem;font-weight:700}
.warehouse-execution-card-v2371>.card-header h5,
.warehouse-lines-card-v2371>.card-header h5,
.warehouse-history-card-v2371>.card-header h5 {display:flex;align-items:center;gap:.4rem}
.warehouse-execution-card-v2371>.card-header>span,
.warehouse-lines-card-v2371>.card-header>span {padding:.42rem .65rem;border-radius:10px;color:#4338ca;background:#eef2ff;font-size:.72rem;font-weight:950}
.warehouse-selected-stats-v2371,
.warehouse-execution-stats-v2371 {display:grid;gap:.78rem}
.warehouse-selected-stats-v2371 {grid-template-columns:repeat(6,minmax(0,1fr))}
.warehouse-execution-stats-v2371 {grid-template-columns:repeat(4,minmax(0,1fr));margin-top:1rem}
.warehouse-selected-stats-v2371 article,
.warehouse-execution-stats-v2371 article {--warehouse-stat-from:#6366f1;--warehouse-stat-to:#4338ca;position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;min-height:145px;padding:1rem;border-radius:18px;color:#fff;background:radial-gradient(circle at 12% -15%,rgba(255,255,255,.23) 0 17%,transparent 17.5%),radial-gradient(circle at 105% 112%,rgba(255,255,255,.14) 0 23%,transparent 23.5%),linear-gradient(130deg,var(--warehouse-stat-from),var(--warehouse-stat-to));box-shadow:0 13px 28px color-mix(in srgb,var(--warehouse-stat-to) 21%,transparent)}
.warehouse-selected-stats-v2371 article>span,
.warehouse-execution-stats-v2371 article>span {display:inline-grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.28);border-radius:12px;background:rgba(255,255,255,.15);font-size:1.15rem}
.warehouse-selected-stats-v2371 small,
.warehouse-execution-stats-v2371 small {display:block;margin-top:.7rem;color:rgba(255,255,255,.86);font-size:.66rem;font-weight:850}
.warehouse-selected-stats-v2371 strong,
.warehouse-execution-stats-v2371 strong {display:block;margin-top:.18rem;color:#fff;font-size:.92rem;line-height:1.45;font-weight:950;overflow:hidden;text-overflow:ellipsis}
.warehouse-selected-stats-v2371 p,
.warehouse-execution-stats-v2371 p {margin:.32rem 0 0;color:rgba(255,255,255,.75);font-size:.61rem;line-height:1.45;font-weight:650}
.warehouse-selected-stats-v2371 .is-requester {--warehouse-stat-from:#6366f1;--warehouse-stat-to:#4338ca}
.warehouse-selected-stats-v2371 .is-contractor {--warehouse-stat-from:#22c58b;--warehouse-stat-to:#047857}
.warehouse-selected-stats-v2371 .is-date {--warehouse-stat-from:#ffbd24;--warehouse-stat-to:#d66a00}
.warehouse-selected-stats-v2371 .is-items {--warehouse-stat-from:#2da9f7;--warehouse-stat-to:#0369a1}
.warehouse-selected-stats-v2371 .is-location {--warehouse-stat-from:#fb5c7a;--warehouse-stat-to:#be123c}
.warehouse-selected-stats-v2371 .is-purpose {--warehouse-stat-from:#475569;--warehouse-stat-to:#0f172a}
.warehouse-execution-stats-v2371 .is-lines {--warehouse-stat-from:#6366f1;--warehouse-stat-to:#4338ca}
.warehouse-execution-stats-v2371 .is-completed {--warehouse-stat-from:#22c58b;--warehouse-stat-to:#047857}
.warehouse-execution-stats-v2371 .is-prepared {--warehouse-stat-from:#2da9f7;--warehouse-stat-to:#0369a1}
.warehouse-execution-stats-v2371 .is-shortage {--warehouse-stat-from:#fb923c;--warehouse-stat-to:#c2410c}
.warehouse-archive-notice-v2371 {display:flex;align-items:center;gap:.75rem;margin-top:1rem;padding:.9rem 1rem;border:1px solid #a7f3d0;border-radius:15px;background:#ecfdf5}
.warehouse-archive-notice-v2371.is-cancelled {border-color:#fecdd3;background:#fff1f2}
.warehouse-archive-notice-v2371>span {display:inline-grid;place-items:center;width:43px;height:43px;flex:0 0 43px;border-radius:13px;color:#fff;background:linear-gradient(135deg,#22c55e,#059669);font-size:1.2rem}
.warehouse-archive-notice-v2371.is-cancelled>span {background:linear-gradient(135deg,#fb7185,#e11d48)}
.warehouse-archive-notice-v2371 strong {display:block;color:#065f46;font-weight:950}
.warehouse-archive-notice-v2371.is-cancelled strong {color:#9f1239}
.warehouse-archive-notice-v2371 p {margin:.18rem 0 0;color:#608073;font-size:.73rem;font-weight:700}
.warehouse-archive-notice-v2371.is-cancelled p {color:#9f6675}
.warehouse-select-v2371 {display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:.85rem;align-items:end}
.warehouse-select-v2371>div:first-child {display:flex;flex-direction:column;min-width:0}
.warehouse-select-v2371 .form-label {min-height:24px;margin-bottom:.4rem;font-weight:850}
.warehouse-select-v2371 .form-select {height:48px;min-height:48px}
.warehouse-select-note-v2371 {display:flex;align-items:center;gap:.7rem;min-height:48px;padding:.58rem .72rem;border:1px solid #bfdbfe;border-radius:13px;background:#eff6ff}
.warehouse-select-note-v2371>span {display:inline-grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:10px;color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb)}
.warehouse-select-note-v2371 strong,
.warehouse-select-note-v2371 p {display:block}
.warehouse-select-note-v2371 strong {color:#1e3a5f;font-size:.75rem;font-weight:950}
.warehouse-select-note-v2371 p {margin:.12rem 0 0;color:#6b7d91;font-size:.65rem;font-weight:700}
.warehouse-actions-v2371 {display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;background:#f8fafc;border-top:1px solid #e6ecf3}
.warehouse-actions-v2371 strong,
.warehouse-actions-v2371 small {display:block}
.warehouse-actions-v2371 strong {color:#2f3b4e;font-weight:950}
.warehouse-actions-v2371 small {margin-top:.16rem;color:#8793a5;font-size:.68rem;font-weight:700}
.warehouse-actions-v2371>div:last-child {display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.55rem}
.warehouse-actions-v2371 .btn {min-height:43px;font-weight:900}
.warehouse-lines-card-v2371>.card-header>span {min-width:78px;text-align:center}
.warehouse-history-card-v2371>.card-header .btn {white-space:nowrap}
[data-bs-theme="dark"] .warehouse-browser-v2371,
[data-bs-theme="dark"] .warehouse-selected-card-v2371,
[data-bs-theme="dark"] .warehouse-execution-card-v2371,
[data-bs-theme="dark"] .warehouse-lines-card-v2371,
[data-bs-theme="dark"] .warehouse-history-card-v2371 {border-color:#2b394e}
[data-bs-theme="dark"] .warehouse-browser-head-v2371,
[data-bs-theme="dark"] .warehouse-selected-card-v2371>.card-header,
[data-bs-theme="dark"] .warehouse-execution-card-v2371>.card-header,
[data-bs-theme="dark"] .warehouse-lines-card-v2371>.card-header,
[data-bs-theme="dark"] .warehouse-history-card-v2371>.card-header {background:linear-gradient(180deg,#182235,#141d2d);border-color:#2b394e}
[data-bs-theme="dark"] .warehouse-browser-head-v2371 h5,
[data-bs-theme="dark"] .warehouse-selected-card-v2371>.card-header h4,
[data-bs-theme="dark"] .warehouse-execution-card-v2371>.card-header h5,
[data-bs-theme="dark"] .warehouse-lines-card-v2371>.card-header h5,
[data-bs-theme="dark"] .warehouse-history-card-v2371>.card-header h5 {color:#edf2f9}
[data-bs-theme="dark"] .warehouse-browser-head-v2371 p,
[data-bs-theme="dark"] .warehouse-selected-card-v2371>.card-header p,
[data-bs-theme="dark"] .warehouse-execution-card-v2371>.card-header p,
[data-bs-theme="dark"] .warehouse-lines-card-v2371>.card-header p,
[data-bs-theme="dark"] .warehouse-history-card-v2371>.card-header p {color:#9aa7ba}
[data-bs-theme="dark"] .warehouse-browser-summary-v2371>span,
[data-bs-theme="dark"] .warehouse-status-tab-v2371,
[data-bs-theme="dark"] .warehouse-request-card-v2371 {background:linear-gradient(145deg,#172235,#121b2a);border-color:#2c3a50;color:#e8edf6}
[data-bs-theme="dark"] .warehouse-request-card-v2371:hover,
[data-bs-theme="dark"] .warehouse-request-card-v2371.is-selected {color:#fff}
[data-bs-theme="dark"] .warehouse-request-card-v2371>strong,
[data-bs-theme="dark"] .warehouse-request-numbers-v2371 b,
[data-bs-theme="dark"] .warehouse-browser-summary-v2371 strong {color:#f4f7fb}
[data-bs-theme="dark"] .warehouse-request-card-v2371>p,
[data-bs-theme="dark"] .warehouse-request-card-top-v2371>span:first-child {color:#9aa7ba}
[data-bs-theme="dark"] .warehouse-request-numbers-v2371 span {background:#1c293c;border-color:#304057}
[data-bs-theme="dark"] .warehouse-request-progress-v2371>div {background:#29364b}
[data-bs-theme="dark"] .warehouse-select-note-v2371 {background:#172b43;border-color:#2c527d}
[data-bs-theme="dark"] .warehouse-select-note-v2371 strong {color:#dbeafe}
[data-bs-theme="dark"] .warehouse-actions-v2371 {background:#141d2d;border-color:#2b394e}
[data-bs-theme="dark"] .warehouse-actions-v2371 strong {color:#e8edf6}
[data-bs-theme="dark"] .warehouse-archive-notice-v2371 {background:#123428;border-color:#1d5d46}
[data-bs-theme="dark"] .warehouse-archive-notice-v2371.is-cancelled {background:#3b1722;border-color:#6b2638}
[data-bs-theme="dark"] .warehouse-archive-notice-v2371 strong {color:#d1fae5}
[data-bs-theme="dark"] .warehouse-archive-notice-v2371.is-cancelled strong {color:#fecdd3}
@media(max-width:1399.98px){.warehouse-request-cards-v2371 {grid-template-columns:repeat(3,minmax(0,1fr))}.warehouse-selected-stats-v2371 {grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1199.98px){.warehouse-browser-head-v2371 {align-items:flex-start;flex-direction:column}.warehouse-browser-summary-v2371 {width:100%}.warehouse-browser-summary-v2371>span {flex:1}.warehouse-request-cards-v2371 {grid-template-columns:repeat(2,minmax(0,1fr))}.warehouse-execution-stats-v2371 {grid-template-columns:repeat(2,minmax(0,1fr))}.warehouse-select-v2371 {grid-template-columns:1fr}}
@media(max-width:767.98px){.warehouse-hero-v2371 {align-items:flex-start;flex-direction:column}.warehouse-hero-counters-v2371 {width:100%}.warehouse-hero-counters-v2371>span {flex:1;min-width:0}.warehouse-status-tabs-v2371,
.warehouse-request-cards-v2371,
.warehouse-selected-stats-v2371,
.warehouse-execution-stats-v2371 {grid-template-columns:1fr}.warehouse-request-card-v2371 {min-height:218px}.warehouse-actions-v2371 {align-items:flex-start;flex-direction:column}.warehouse-actions-v2371>div:last-child {width:100%;justify-content:stretch}.warehouse-actions-v2371 .btn {flex:1}.warehouse-selected-card-v2371>.card-header,
.warehouse-execution-card-v2371>.card-header,
.warehouse-lines-card-v2371>.card-header,
.warehouse-history-card-v2371>.card-header {align-items:flex-start;flex-direction:column}}
@media(max-width:575.98px){.warehouse-hero-counters-v2371,
.warehouse-browser-summary-v2371 {flex-direction:column;align-items:stretch}.warehouse-hero-counters-v2371>span,
.warehouse-browser-summary-v2371>span {width:100%}.warehouse-request-numbers-v2371 {grid-template-columns:1fr}.warehouse-request-meta-v2371 {align-items:flex-start;flex-direction:column}.warehouse-actions-v2371>div:last-child {flex-direction:column}.warehouse-actions-v2371 .btn {width:100%}}

/* =========================================================
   Sonic Tower v2.3.72 — site material damage tabs and cards
   ========================================================= */
.site-damage-v2372 {gap:1rem}
.site-damage-hero-v2372 {display:flex;align-items:center;justify-content:space-between;gap:1.2rem;padding:1.15rem 1.25rem;border:1px solid #dfe7ef;border-radius:18px;background:linear-gradient(135deg,#fff 0%,#f7f9fc 100%);overflow:hidden;position:relative}
.site-damage-hero-v2372::after {content:"";position:absolute;inset-inline-start:-55px;inset-block-start:-85px;width:180px;height:180px;border-radius:50%;background:rgba(239,68,68,.06);pointer-events:none}
.site-damage-hero-v2372>div:first-child {display:flex;align-items:center;gap:.9rem;min-width:0;position:relative;z-index:1}
.site-damage-hero-icon-v2372,
.site-damage-browser-icon-v2372,
.site-damage-selected-icon-v2372 {display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#ef4444,#e11d48);color:#fff;font-size:1.55rem;box-shadow:0 10px 22px rgba(225,29,72,.2)}
.site-damage-hero-v2372 h4,
.site-damage-browser-head-v2372 h5,
.site-damage-selected-card-v2372 h5 {margin:0;color:#172033;font-weight:950}
.site-damage-hero-v2372 p,
.site-damage-browser-head-v2372 p,
.site-damage-selected-card-v2372 .card-header p {margin:.2rem 0 0;color:#7b8799;font-size:.8rem;font-weight:700}
.site-damage-hero-counters-v2372 {display:flex;align-items:stretch;gap:.65rem;position:relative;z-index:1}
.site-damage-hero-counters-v2372>span {min-width:120px;padding:.65rem .8rem;border:1px solid #e4e9ef;border-radius:13px;background: var(--bs-card-bg);text-align:center}
.site-damage-hero-counters-v2372 small,
.site-damage-hero-counters-v2372 strong {display:block}
.site-damage-hero-counters-v2372 small {font-size:.68rem;font-weight:850;color:#7c8798}
.site-damage-hero-counters-v2372 strong {margin-top:.1rem;font-size:1.15rem;font-weight:950}
.site-damage-hero-counters-v2372 .is-pending strong {color:#d97706}.site-damage-hero-counters-v2372 .is-approved strong {color:#059669}.site-damage-hero-counters-v2372 .is-rejected strong {color:#e11d48}
.site-damage-browser-v2372,
.site-damage-selected-card-v2372,
.site-damage-create-card-v2372 {border:1px solid #dfe7ef;border-radius:18px;overflow:hidden;box-shadow:none}
.site-damage-browser-head-v2372 {display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;border-bottom:1px solid #e5eaf0;background:linear-gradient(180deg,#fff,#fbfcfe)}
.site-damage-browser-head-v2372>div:first-child,
.site-damage-selected-card-v2372>.card-header>div:first-child {display:flex;align-items:center;gap:.8rem;min-width:0}
.site-damage-browser-icon-v2372 {width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#7c3aed,#4f46e5);font-size:1.25rem;box-shadow:0 9px 18px rgba(79,70,229,.18)}
.site-damage-status-tabs-v2372 {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;padding:1rem 1rem .55rem;background:#fff}
.site-damage-status-tab-v2372 {--damage-tab-accent:#d97706;display:flex;align-items:center;justify-content:space-between;gap:.65rem;min-height:58px;padding:.72rem .9rem;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc;color:#475569;font-weight:900;transition:.18s ease}
.site-damage-status-tab-v2372.is-approved {--damage-tab-accent:#059669}.site-damage-status-tab-v2372.is-rejected {--damage-tab-accent:#e11d48}
.site-damage-status-tab-v2372>span {display:flex;align-items:center;gap:.5rem}.site-damage-status-tab-v2372 i {font-size:1.15rem;color:var(--damage-tab-accent)}
.site-damage-status-tab-v2372 b {display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;border-radius:9px;background: var(--bs-card-bg);border:1px solid #e2e8f0;color:var(--damage-tab-accent)}
.site-damage-status-tab-v2372:hover,
.site-damage-status-tab-v2372.is-active {border-color:var(--damage-tab-accent);background:color-mix(in srgb,var(--damage-tab-accent) 8%,#fff);color:#172033;box-shadow:0 8px 18px color-mix(in srgb,var(--damage-tab-accent) 12%,transparent)}
.site-damage-tab-panel-v2372 {display:none;padding:1rem}.site-damage-tab-panel-v2372.is-active {display:block}
.site-damage-cards-v2372 {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}
.site-damage-card-v2372 {--damage-card-accent:#d97706;position:relative;display:flex;flex-direction:column;gap:.58rem;min-height:225px;padding:1rem;border:1px solid #dfe7ef;border-radius:16px;background:linear-gradient(145deg,#fff,#f9fbfd);color:#253046;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.site-damage-card-v2372.is-approved {--damage-card-accent:#059669}.site-damage-card-v2372.is-rejected {--damage-card-accent:#e11d48}
.site-damage-card-v2372:hover {transform:translateY(-3px);border-color:var(--damage-card-accent);color:#253046;box-shadow:0 14px 28px color-mix(in srgb,var(--damage-card-accent) 14%,transparent)}
.site-damage-card-v2372.is-selected {border-color:var(--damage-card-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--damage-card-accent) 11%,transparent),0 14px 28px color-mix(in srgb,var(--damage-card-accent) 14%,transparent)}
.site-damage-card-v2372.is-selected::after {content:"";position:absolute;inset-block:14px;inset-inline-start:0;width:4px;border-radius:0 8px 8px 0;background:var(--damage-card-accent)}
.site-damage-card-top-v2372 {display:flex;align-items:center;justify-content:space-between;gap:.5rem}.site-damage-card-top-v2372>span:first-child {color:#5b687b;font-size:.72rem;font-weight:950}
.site-damage-card-v2372>strong {color:#172033;font-size:1rem;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.site-damage-card-v2372>p {display:flex;align-items:center;gap:.42rem;margin:0;color:#7b8799;font-size:.75rem;font-weight:800}.site-damage-card-v2372>p i {color:var(--damage-card-accent);font-size:1rem}
.site-damage-card-info-v2372 {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
.site-damage-card-info-v2372>span {min-width:0;padding:.55rem .62rem;border:1px solid #edf1f5;border-radius:10px;background:#fff}
.site-damage-card-info-v2372 small,
.site-damage-card-info-v2372 b {display:block}.site-damage-card-info-v2372 small {color:#94a0b1;font-size:.62rem;font-weight:800}.site-damage-card-info-v2372 b {margin-top:.12rem;color:#384456;font-size:.7rem;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.site-damage-card-footer-v2372 {display:flex;align-items:center;justify-content:space-between;gap:.55rem;margin-top:auto;padding-top:.62rem;border-top:1px dashed #e4e9ef}
.site-damage-card-footer-v2372 span {display:flex;align-items:center;gap:.35rem;min-width:0;color:#6f7b8e;font-size:.68rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-damage-card-footer-v2372 span i {color:var(--damage-card-accent)}
.site-damage-card-footer-v2372 b {color:var(--damage-card-accent);font-size:.67rem;font-weight:950;white-space:nowrap}
.site-damage-empty-v2372 {min-height:160px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.35rem;padding:1rem;border:1px dashed #d7dfe8;border-radius:15px;background:#fbfcfe;color:#7f8b9e;text-align:center}.site-damage-empty-v2372.large {min-height:205px}
.site-damage-empty-v2372 i {font-size:2.2rem;color:#a7b2c0}.site-damage-empty-v2372 strong {color:#344054;font-weight:950}.site-damage-empty-v2372 span {font-size:.77rem;font-weight:700}
.site-damage-selected-card-v2372>.card-header {display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;background:linear-gradient(180deg,#fff,#fbfcfe);border-bottom:1px solid #e5eaf0}
.site-damage-selected-icon-v2372 {width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#0ea5e9,#2563eb);font-size:1.22rem;box-shadow:0 9px 18px rgba(37,99,235,.18)}
.site-damage-detail-stats-v2372 {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem}
.site-damage-detail-stats-v2372>div {--damage-stat-bg:#4f46e5;display:flex;align-items:center;gap:.68rem;min-width:0;min-height:102px;padding:.9rem;border-radius:15px;background:linear-gradient(135deg,var(--damage-stat-bg),color-mix(in srgb,var(--damage-stat-bg) 72%,#111827));color:#fff;position:relative;overflow:hidden;box-shadow:0 12px 25px color-mix(in srgb,var(--damage-stat-bg) 18%,transparent)}
.site-damage-detail-stats-v2372>div::after {content:"";position:absolute;inset-inline-start:-28px;inset-block-start:-42px;width:92px;height:92px;border-radius:50%;background:rgba(255,255,255,.13)}
.site-damage-detail-stats-v2372 .is-orange {--damage-stat-bg:#f97316}.site-damage-detail-stats-v2372 .is-blue {--damage-stat-bg:#2563eb}.site-damage-detail-stats-v2372 .is-cyan {--damage-stat-bg:#0891b2}.site-damage-detail-stats-v2372 .is-green {--damage-stat-bg:#059669}.site-damage-detail-stats-v2372 .is-dark {--damage-stat-bg:#334155}
.site-damage-detail-stats-v2372 i {position:relative;z-index:1;font-size:1.45rem}.site-damage-detail-stats-v2372 span {position:relative;z-index:1;min-width:0}.site-damage-detail-stats-v2372 small,
.site-damage-detail-stats-v2372 strong {display:block}.site-damage-detail-stats-v2372 small {font-size:.68rem;font-weight:800;opacity:.82}.site-damage-detail-stats-v2372 strong {margin-top:.18rem;font-size:.84rem;font-weight:950;line-height:1.45;overflow-wrap:anywhere}
.site-damage-detail-grid-v2372 {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin-top:.85rem}
.site-damage-detail-grid-v2372>div {padding:.72rem .8rem;border:1px solid #e3e8ef;border-radius:12px;background:#f8fafc}.site-damage-detail-grid-v2372 small,
.site-damage-detail-grid-v2372 strong {display:block}.site-damage-detail-grid-v2372 small {color:#8b96a7;font-size:.68rem;font-weight:800}.site-damage-detail-grid-v2372 strong {margin-top:.15rem;color:#293446;font-size:.8rem;font-weight:950}
.site-damage-reason-v2372 {margin-top:.85rem;padding:.9rem 1rem;border:1px solid #fed7aa;border-radius:14px;background:#fff7ed}.site-damage-reason-v2372>span {display:flex;align-items:center;gap:.45rem;color:#c2410c;font-size:.74rem;font-weight:950}.site-damage-reason-v2372 p {margin:.4rem 0 0;color:#5b3425;font-weight:800;line-height:1.75}
.site-damage-action-bar-v2372 {display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.9rem;padding:.9rem 1rem;border:1px solid #fde68a;border-radius:14px;background:#fffbeb}.site-damage-action-bar-v2372 strong,
.site-damage-action-bar-v2372 span {display:block}.site-damage-action-bar-v2372 strong {color:#92400e}.site-damage-action-bar-v2372 span {margin-top:.15rem;color:#8b6f47;font-size:.76rem;font-weight:700}.site-damage-action-bar-v2372>div:last-child {display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}
.site-damage-decision-v2372 {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-top:.9rem;padding:.85rem;border:1px solid #bbf7d0;border-radius:14px;background:#f0fdf4}.site-damage-decision-v2372.is-rejected {border-color:#fecdd3;background:#fff1f2}
.site-damage-decision-v2372>div {display:flex;align-items:center;gap:.6rem;min-width:0;padding:.68rem .75rem;border:1px solid rgba(148,163,184,.25);border-radius:11px;background:rgba(255,255,255,.75)}.site-damage-decision-v2372>div.is-wide {grid-column:1/-1}.site-damage-decision-v2372 i {font-size:1.25rem;color:#059669}.site-damage-decision-v2372.is-rejected i {color:#e11d48}.site-damage-decision-v2372 small,
.site-damage-decision-v2372 strong {display:block}.site-damage-decision-v2372 small {color:#7c8798;font-size:.66rem;font-weight:800}.site-damage-decision-v2372 strong {margin-top:.12rem;color:#263244;font-size:.78rem;font-weight:950;overflow-wrap:anywhere}
.site-damage-create-card-v2372>.card-header {padding:.9rem 1rem;background:linear-gradient(180deg,#fff,#fbfcfe)}
.site-damage-create-grid-v2372 {display:grid;grid-template-columns:minmax(320px,1.35fr) minmax(300px,1fr);gap:1rem;align-items:end}
.site-damage-create-help-v2372 {min-height:48px;display:flex;align-items:center;gap:.75rem;padding:.7rem .85rem;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.site-damage-create-help-v2372>i {font-size:1.55rem;color:#ef4444}.site-damage-create-help-v2372 strong,
.site-damage-create-help-v2372 span {display:block}.site-damage-create-help-v2372 span {margin-top:.1rem;color:#8a95a6;font-size:.72rem;font-weight:700}
.site-damage-selected-item-v2372 {margin-top:1rem;border:1px solid #e2e8f0;border-radius:15px;overflow:hidden;background:#fff}.site-damage-selected-head-v2372 {display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-bottom:1px solid #e5eaf0;background:#f8fafc}.site-damage-selected-head-v2372 span,
.site-damage-selected-head-v2372 strong {display:block}.site-damage-selected-head-v2372 span {color:#8a95a6;font-size:.68rem;font-weight:800}.site-damage-selected-head-v2372 strong {font-size:.92rem;font-weight:950}
.site-damage-selected-stats-v2372 {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.65rem;padding:.85rem}.site-damage-selected-stats-v2372>div {padding:.65rem .7rem;border:1px solid #e5eaf0;border-radius:11px;background:#fbfcfe}.site-damage-selected-stats-v2372 small,
.site-damage-selected-stats-v2372 strong {display:block}.site-damage-selected-stats-v2372 small {color:#8c97a8;font-size:.65rem;font-weight:800}.site-damage-selected-stats-v2372 strong {margin-top:.12rem;color:#2d394b;font-size:.76rem;font-weight:950;line-height:1.45;overflow-wrap:anywhere}
[data-bs-theme="dark"] .site-damage-hero-v2372,
[data-bs-theme="dark"] .site-damage-browser-v2372,
[data-bs-theme="dark"] .site-damage-selected-card-v2372,
[data-bs-theme="dark"] .site-damage-create-card-v2372,
[data-bs-theme="dark"] .site-damage-status-tabs-v2372,
[data-bs-theme="dark"] .site-damage-card-v2372,
[data-bs-theme="dark"] .site-damage-browser-head-v2372,
[data-bs-theme="dark"] .site-damage-selected-card-v2372>.card-header,
[data-bs-theme="dark"] .site-damage-selected-item-v2372 {background:linear-gradient(145deg,#172235,#121b2a);border-color:#2c3a50;color:#e8edf6}
[data-bs-theme="dark"] .site-damage-hero-v2372 h4,
[data-bs-theme="dark"] .site-damage-browser-head-v2372 h5,
[data-bs-theme="dark"] .site-damage-selected-card-v2372 h5,
[data-bs-theme="dark"] .site-damage-card-v2372>strong {color:#f4f7fb}
[data-bs-theme="dark"] .site-damage-hero-counters-v2372>span,
[data-bs-theme="dark"] .site-damage-status-tab-v2372,
[data-bs-theme="dark"] .site-damage-card-info-v2372>span,
[data-bs-theme="dark"] .site-damage-detail-grid-v2372>div,
[data-bs-theme="dark"] .site-damage-create-help-v2372,
[data-bs-theme="dark"] .site-damage-selected-stats-v2372>div,
[data-bs-theme="dark"] .site-damage-selected-head-v2372 {background:#172235;border-color:#2c3a50}
[data-bs-theme="dark"] .site-damage-empty-v2372 {background:#121b2a;border-color:#334155}.site-damage-empty-v2372 strong {color:inherit}
@media(max-width:1399.98px){.site-damage-cards-v2372 {grid-template-columns:repeat(3,minmax(0,1fr))}.site-damage-detail-stats-v2372 {grid-template-columns:repeat(3,minmax(0,1fr))}.site-damage-selected-stats-v2372 {grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1199.98px){.site-damage-hero-v2372 {align-items:flex-start;flex-direction:column}.site-damage-hero-counters-v2372 {width:100%}.site-damage-hero-counters-v2372>span {flex:1}.site-damage-cards-v2372 {grid-template-columns:repeat(2,minmax(0,1fr))}.site-damage-detail-grid-v2372 {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:991.98px){.site-damage-create-grid-v2372 {grid-template-columns:1fr}.site-damage-browser-head-v2372 {align-items:flex-start;flex-direction:column}.site-damage-action-bar-v2372 {align-items:stretch;flex-direction:column}.site-damage-action-bar-v2372>div:last-child {justify-content:stretch}.site-damage-action-bar-v2372 .btn {flex:1}.site-damage-decision-v2372 {grid-template-columns:1fr}}
@media(max-width:767.98px){.site-damage-status-tabs-v2372,
.site-damage-cards-v2372,
.site-damage-detail-stats-v2372,
.site-damage-detail-grid-v2372,
.site-damage-selected-stats-v2372 {grid-template-columns:1fr}.site-damage-hero-counters-v2372 {display:grid;grid-template-columns:1fr}.site-damage-selected-card-v2372>.card-header,
.site-damage-selected-head-v2372 {align-items:flex-start;flex-direction:column}.site-damage-selected-head-v2372 .btn,
.site-damage-browser-head-v2372 .btn {width:100%}.site-damage-action-bar-v2372>div:last-child {flex-direction:column}.site-damage-action-bar-v2372 .btn {width:100%}}

/* ========================================================================== 
   Sonic Tower v2.3.73 — settlements tabs, cards and one-row final fields
   ========================================================================== */
.settlements-page .settlement-picker-card {
  overflow: hidden;
  border: 1px solid rgba(99, 91, 255, .14);
  box-shadow: 0 16px 38px rgba(15, 23, 42, .08);
}
.settlements-page .settlement-picker-header {
  min-height: 78px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.1rem;
  background: linear-gradient(135deg, rgba(99, 91, 255, .12), rgba(14, 165, 233, .07));
}
.settlements-page .settlement-picker-header h5 {
  font-weight: 900;
}
.settlements-page .settlement-picker-total {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .25rem;
  border: 1px solid rgba(99, 91, 255, .20);
  border-radius: 15px;
  color: #5148d8;
  background: rgba(255, 255, 255, .86);
  box-shadow: 0 8px 20px rgba(99, 91, 255, .12);
  font-size: .9rem;
  font-weight: 900;
}
.settlements-page .settlement-picker-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .55rem;
  padding: .85rem;
  border-bottom: 1px solid rgba(148, 163, 184, .18);
  background: rgba(248, 250, 252, .82);
}
.settlements-page .settlement-picker-tabs .nav-item {
  min-width: 0;
}
.settlements-page .settlement-picker-tabs .nav-link {
  width: 100%;
  min-height: 68px;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) 28px;
  align-items: center;
  gap: .4rem;
  margin: 0;
  padding: .65rem .7rem;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 14px;
  color: #475569;
  background: var(--bs-card-bg);
  font-weight: 800;
  line-height: 1.35;
  text-align: right;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.settlements-page .settlement-picker-tabs .nav-link:hover {
  transform: translateY(-2px);
  border-color: rgba(99, 91, 255, .32);
  box-shadow: 0 9px 20px rgba(15, 23, 42, .07);
}
.settlements-page .settlement-picker-tabs .nav-link.active {
  border-color: transparent;
  color: #fff;
  background: linear-gradient(135deg, #665cff, #4338ca);
  box-shadow: 0 12px 24px rgba(79, 70, 229, .22);
}
.settlements-page .settlement-picker-tabs .nav-link > i {
  display: inline-grid;
  place-items: center;
  font-size: 1.15rem;
}
.settlements-page .settlement-picker-tabs .nav-link > span {
  min-width: 0;
  font-size: .78rem;
  white-space: normal;
}
.settlements-page .settlement-picker-tabs .nav-link > b {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 10px;
  color: #4338ca;
  background: rgba(99, 91, 255, .12);
  font-size: .75rem;
}
.settlements-page .settlement-picker-tabs .nav-link.active > b {
  color: #fff;
  background: rgba(255, 255, 255, .18);
}
.settlements-page .settlement-picker-content {
  min-height: 260px;
}
.settlements-page .settlement-picker-list {
  max-height: 720px;
  overflow-y: auto;
  padding: .85rem;
  scrollbar-width: thin;
  scrollbar-color: rgba(99, 91, 255, .35) transparent;
}
.settlements-page .settlement-picker-item {
  position: relative;
  display: block;
  margin-bottom: .8rem;
  padding: .95rem;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 17px;
  color: inherit;
  background: linear-gradient(145deg, #fff, #f8fafc);
  box-shadow: 0 9px 24px rgba(15, 23, 42, .055);
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.settlements-page .settlement-picker-item:last-child {
  margin-bottom: 0;
}
.settlements-page .settlement-picker-item:hover {
  transform: translateY(-3px);
  border-color: rgba(99, 91, 255, .34);
  box-shadow: 0 14px 30px rgba(15, 23, 42, .09);
}
.settlements-page .settlement-picker-item.is-active {
  border-color: #635bff;
  background: linear-gradient(145deg, rgba(99, 91, 255, .10), rgba(14, 165, 233, .055));
  box-shadow: 0 14px 32px rgba(99, 91, 255, .15);
}
.settlements-page .settlement-picker-item.is-active::before {
  content: "";
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  width: 5px;
  background: linear-gradient(180deg, #635bff, #0ea5e9);
}
.settlements-page .settlement-picker-item.is-final {
  background: linear-gradient(145deg, rgba(16, 185, 129, .075), #fff);
}
.settlements-page .settlement-picker-item-head {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 28px;
  align-items: center;
  gap: .7rem;
  margin-bottom: .75rem;
}
.settlements-page .settlement-picker-avatar {
  width: 42px;
  height: 42px;
  display: inline-grid;
  place-items: center;
  border-radius: 13px;
  color: #5148d8;
  background: rgba(99, 91, 255, .12);
  font-size: 1.25rem;
}
.settlements-page .settlement-picker-item-head strong,
.settlements-page .settlement-picker-item-head small {
  display: block;
}
.settlements-page .settlement-picker-item-head strong {
  overflow: hidden;
  color: var(--bs-heading-color);
  font-size: .95rem;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.settlements-page .settlement-picker-item-head small {
  margin-top: .15rem;
  color: #64748b;
  font-size: .72rem;
  font-weight: 700;
}
.settlements-page .settlement-picker-arrow {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 9px;
  color: #64748b;
  background: rgba(148, 163, 184, .12);
}
.settlements-page .settlement-picker-path {
  display: grid;
  grid-template-columns: 21px minmax(0, 1fr);
  align-items: start;
  gap: .4rem;
  margin-top: .42rem;
  color: #64748b;
  font-size: .75rem;
  font-weight: 700;
  line-height: 1.55;
}
.settlements-page .settlement-picker-path i {
  margin-top: .12rem;
  color: #635bff;
}
.settlements-page .settlement-picker-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .55rem;
  margin-top: .8rem;
}
.settlements-page .settlement-picker-meta > span {
  min-width: 0;
  padding: .62rem .7rem;
  border: 1px solid rgba(148, 163, 184, .16);
  border-radius: 12px;
  background: rgba(248, 250, 252, .9);
}
.settlements-page .settlement-picker-meta small,
.settlements-page .settlement-picker-meta strong {
  display: block;
}
.settlements-page .settlement-picker-meta small {
  margin-bottom: .18rem;
  color: #64748b;
  font-size: .66rem;
  font-weight: 800;
}
.settlements-page .settlement-picker-meta strong {
  overflow: hidden;
  color: #0f172a;
  font-size: .78rem;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.settlements-page .settlement-picker-badges {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  margin-top: .75rem;
}
.settlements-page .settlement-picker-empty {
  min-height: 230px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: .45rem;
  padding: 1.5rem;
  color: #64748b;
  text-align: center;
}
.settlements-page .settlement-picker-empty i {
  font-size: 2.2rem;
  color: #a5b4fc;
}
.settlements-page .settlement-picker-empty strong {
  color: var(--bs-heading-color);
}
.settlements-page .settlement-picker-empty span {
  font-size: .78rem;
}
.settlements-page .settlement-final-fields-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .8rem;
  align-items: stretch;
}
.settlements-page .settlement-final-field {
  min-width: 0;
  min-height: 148px;
  display: flex;
  flex-direction: column;
  padding: .85rem;
  border: 1px solid rgba(148, 163, 184, .20);
  border-radius: 15px;
  background: linear-gradient(145deg, #fff, #f8fafc);
  box-shadow: 0 8px 20px rgba(15, 23, 42, .045);
}
.settlements-page .settlement-final-field .form-label {
  min-height: 42px;
  display: flex;
  align-items: center;
  gap: .42rem;
  margin-bottom: .55rem;
  color: #1e293b;
  font-size: .78rem;
  font-weight: 900;
  line-height: 1.45;
}
.settlements-page .settlement-final-field .form-label i {
  width: 26px;
  height: 26px;
  flex: 0 0 26px;
  display: inline-grid;
  place-items: center;
  border-radius: 8px;
  color: #5148d8;
  background: rgba(99, 91, 255, .11);
  font-size: .92rem;
}
.settlements-page .settlement-final-field .form-control {
  min-height: 46px;
  margin-top: auto;
}
.settlements-page .settlement-final-field > small {
  min-height: 35px;
  display: block;
  margin-top: .48rem;
  color: #64748b;
  font-size: .66rem;
  font-weight: 650;
  line-height: 1.5;
}
.settlements-page .settlement-final-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(148, 163, 184, .20);
}
[data-bs-theme="dark"] .settlements-page .settlement-picker-header,
[data-bs-theme="dark"] .settlements-page .settlement-picker-tabs {
  background: rgba(15, 23, 42, .78);
  border-color: rgba(148, 163, 184, .18);
}
[data-bs-theme="dark"] .settlements-page .settlement-picker-total,
[data-bs-theme="dark"] .settlements-page .settlement-picker-tabs .nav-link,
[data-bs-theme="dark"] .settlements-page .settlement-picker-item,
[data-bs-theme="dark"] .settlements-page .settlement-final-field,
[data-bs-theme="dark"] .settlements-page .settlement-picker-meta > span {
  color: #e2e8f0;
  background: #111827;
  border-color: #334155;
}
[data-bs-theme="dark"] .settlements-page .settlement-picker-item.is-active {
  background: linear-gradient(145deg, rgba(99, 91, 255, .20), rgba(14, 165, 233, .10));
}
[data-bs-theme="dark"] .settlements-page .settlement-picker-item.is-final {
  background: linear-gradient(145deg, rgba(16, 185, 129, .13), #111827);
}
[data-bs-theme="dark"] .settlements-page .settlement-picker-item-head strong,
[data-bs-theme="dark"] .settlements-page .settlement-picker-meta strong,
[data-bs-theme="dark"] .settlements-page .settlement-final-field .form-label {
  color: #f8fafc;
}
[data-bs-theme="dark"] .settlements-page .settlement-picker-item-head small,
[data-bs-theme="dark"] .settlements-page .settlement-picker-path,
[data-bs-theme="dark"] .settlements-page .settlement-picker-meta small,
[data-bs-theme="dark"] .settlements-page .settlement-final-field > small {
  color: #94a3b8;
}
@media (max-width: 1199.98px) {
  .settlements-page .settlement-picker-list {
    max-height: none;
  }
  .settlements-page .settlement-final-fields-grid {
    grid-template-columns: repeat(5, minmax(170px, 1fr));
    overflow-x: auto;
    padding-bottom: .35rem;
  }
}
@media (max-width: 767.98px) {
  .settlements-page .settlement-picker-tabs {
    grid-template-columns: 1fr;
  }
  .settlements-page .settlement-picker-tabs .nav-link {
    min-height: 52px;
  }
  .settlements-page .settlement-final-fields-grid {
    grid-template-columns: 1fr;
    overflow: visible;
  }
  .settlements-page .settlement-final-field {
    min-height: 0;
  }
  .settlements-page .settlement-final-field .form-label,
.settlements-page .settlement-final-field > small {
    min-height: 0;
  }
  .settlements-page .settlement-final-actions .btn,
.settlements-page .settlement-final-actions .alert {
    width: 100%;
  }
}


/* ========================================================================== */
/* Sonic Tower v2.3.74 — unified tabs matching machinery_dispatch.php         */
/* ========================================================================== */
.sonic-unified-tabs {
  display:grid!important;
  grid-template-columns:repeat(var(--sonic-tabs-columns,2),minmax(0,1fr))!important;
  gap:.75rem!important;
  padding:.35rem!important;
  margin-bottom:1rem!important;
  border:1px solid var(--bs-border-color)!important;
  border-radius:.9rem!important;
  background:var(--bs-tertiary-bg)!important;
}
.sonic-unified-tabs>li {min-width:0!important}
.sonic-unified-tabs>.sonic-unified-tab,
.sonic-unified-tabs>button,
.sonic-unified-tabs .nav-link {
  width:100%!important;
  min-width:0!important;
  min-height:54px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.55rem!important;
  margin:0!important;
  padding:.65rem .8rem!important;
  border:1px solid transparent!important;
  border-radius:.7rem!important;
  background:transparent!important;
  color:var(--bs-body-color)!important;
  box-shadow:none!important;
  font-weight:900!important;
  line-height:1.25!important;
  text-align:center!important;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease!important;
}
.sonic-unified-tabs>.sonic-unified-tab>span,
.sonic-unified-tabs>button>span,
.sonic-unified-tabs .nav-link>span {
  min-width:0!important;
  flex:0 1 auto!important;
  display:block!important;
  color:inherit!important;
  font-size:.82rem!important;
  font-weight:900!important;
  text-align:center!important;
  white-space:normal!important;
}
.sonic-unified-tabs>.sonic-unified-tab>i,
.sonic-unified-tabs>button>i,
.sonic-unified-tabs .nav-link>i {
  flex:0 0 auto!important;
  width:auto!important;
  height:auto!important;
  display:inline-block!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--bs-primary)!important;
  font-size:1.2rem!important;
}
.sonic-unified-tabs>.sonic-unified-tab>b,
.sonic-unified-tabs>button>b,
.sonic-unified-tabs .nav-link>b {
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:27px!important;
  width:auto!important;
  height:27px!important;
  padding:0 .45rem!important;
  border:0!important;
  border-radius:999px!important;
  background:var(--bs-body-bg)!important;
  color:var(--bs-primary)!important;
  font-size:.78rem!important;
  font-weight:900!important;
}
.sonic-unified-tabs>.sonic-unified-tab:hover,
.sonic-unified-tabs>button:hover,
.sonic-unified-tabs .nav-link:hover {
  border-color:rgba(var(--bs-primary-rgb),.18)!important;
  background:rgba(var(--bs-primary-rgb),.055)!important;
  color:var(--bs-primary)!important;
  transform:none!important;
}
.sonic-unified-tabs>.sonic-unified-tab.active,
.sonic-unified-tabs>.sonic-unified-tab.is-active,
.sonic-unified-tabs>button.active,
.sonic-unified-tabs>button.is-active,
.sonic-unified-tabs .nav-link.active {
  border-color:rgba(var(--bs-primary-rgb),.28)!important;
  background:var(--bs-primary)!important;
  color:#fff!important;
  box-shadow:0 8px 22px rgba(var(--bs-primary-rgb),.18)!important;
}
.sonic-unified-tabs>.sonic-unified-tab.active>i,
.sonic-unified-tabs>.sonic-unified-tab.is-active>i,
.sonic-unified-tabs>button.active>i,
.sonic-unified-tabs>button.is-active>i,
.sonic-unified-tabs .nav-link.active>i {color:#fff!important}
.sonic-unified-tabs>.sonic-unified-tab.active>b,
.sonic-unified-tabs>.sonic-unified-tab.is-active>b,
.sonic-unified-tabs>button.active>b,
.sonic-unified-tabs>button.is-active>b,
.sonic-unified-tabs .nav-link.active>b {
  background: var(--bs-card-bg)!important;
  color:var(--bs-primary)!important;
}
.quality-followup-header-counts {display:flex;align-items:center;justify-content:flex-end;gap:.45rem;flex-wrap:wrap}
@media(max-width:991.98px){
  .sonic-unified-tabs[style*="--sonic-tabs-columns:5"] {grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .sonic-unified-tabs[style*="--sonic-tabs-columns:3"] {grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:767.98px){
  .sonic-unified-tabs {grid-template-columns:1fr!important}
  .quality-followup-header-counts {width:100%;justify-content:flex-start}
}


/* ========================================================================== */
/* Sonic Tower v2.3.75 — exact dispatch tab typography + flat tab cards       */
/* ========================================================================== */
/* Match machinery_dispatch.php tab text measurements exactly. */
.sonic-unified-tabs>.sonic-unified-tab,
.sonic-unified-tabs>button,
.sonic-unified-tabs .nav-link {
  padding:.5rem 1rem!important;
  font-size:var(--bs-body-font-size,.875rem)!important;
}
.sonic-unified-tabs>.sonic-unified-tab>span,
.sonic-unified-tabs>button>span,
.sonic-unified-tabs .nav-link>span {
  font-size:inherit!important;
  line-height:inherit!important;
}

/* Flat cards inside tab panels: no frame and no shadow. The active record is
   identified by a calm tinted background and the existing colored side mark. */
.maintenance-tab-content-v267 .maintenance-record-card-v267,
.quality-followup-section .quality-followup-card,
.warehouse-status-panel-v2371 .warehouse-request-card-v2371,
.cashbox-status-panel-v2370 .cashbox-request-card-v2370,
.owner-status-panel-v2369 .owner-request-card,
.contractor-settlement-panel-v2369 .contractor-settlement-card-v2369,
.settlement-picker-content .settlement-picker-item {
  border:0!important;
  box-shadow:none!important;
  transform:none!important;
}
.maintenance-tab-content-v267 .maintenance-record-card-v267:hover,
.quality-followup-section .quality-followup-card:hover,
.warehouse-status-panel-v2371 .warehouse-request-card-v2371:hover,
.cashbox-status-panel-v2370 .cashbox-request-card-v2370:hover,
.owner-status-panel-v2369 .owner-request-card:hover,
.contractor-settlement-panel-v2369 .contractor-settlement-card-v2369:hover,
.settlement-picker-content .settlement-picker-item:hover,
.quality-followup-section .quality-followup-card.is-active,
.warehouse-status-panel-v2371 .warehouse-request-card-v2371.is-selected,
.cashbox-status-panel-v2370 .cashbox-request-card-v2370.is-selected,
.owner-status-panel-v2369 .owner-request-card.is-active,
.contractor-settlement-panel-v2369 .contractor-settlement-card-v2369.is-selected,
.settlement-picker-content .settlement-picker-item.is-active {
  border:0!important;
  box-shadow:none!important;
  transform:none!important;
}

.maintenance-tab-content-v267 .maintenance-record-card-v267 {
  background:color-mix(in srgb,var(--maintenance-tone,#4f46e5) 5%,var(--bs-body-bg))!important;
}
.maintenance-tab-content-v267 .maintenance-record-card-v267:hover {
  background:color-mix(in srgb,var(--maintenance-tone,#4f46e5) 8%,var(--bs-body-bg))!important;
}

.quality-followup-section .quality-followup-card {
  --sonic-flat-accent:#4f46e5;
  background:color-mix(in srgb,var(--sonic-flat-accent) 5%,var(--bs-body-bg))!important;
}
.quality-followup-section .quality-followup-card.is-return-card {--sonic-flat-accent:#e11d48}
.quality-followup-section .quality-followup-card:hover,
.quality-followup-section .quality-followup-card.is-active {
  background:color-mix(in srgb,var(--sonic-flat-accent) 10%,var(--bs-body-bg))!important;
}

.warehouse-status-panel-v2371 .warehouse-request-card-v2371 {
  background:color-mix(in srgb,var(--warehouse-card-accent,#4f46e5) 5%,var(--bs-body-bg))!important;
}
.warehouse-status-panel-v2371 .warehouse-request-card-v2371:hover,
.warehouse-status-panel-v2371 .warehouse-request-card-v2371.is-selected {
  background:color-mix(in srgb,var(--warehouse-card-accent,#4f46e5) 10%,var(--bs-body-bg))!important;
}

.cashbox-status-panel-v2370 .cashbox-request-card-v2370 {
  background:color-mix(in srgb,var(--cashbox-card-accent,#d97706) 5%,var(--bs-body-bg))!important;
}
.cashbox-status-panel-v2370 .cashbox-request-card-v2370:hover,
.cashbox-status-panel-v2370 .cashbox-request-card-v2370.is-selected {
  background:color-mix(in srgb,var(--cashbox-card-accent,#d97706) 10%,var(--bs-body-bg))!important;
}

.owner-status-panel-v2369 .owner-request-card {
  background:color-mix(in srgb,var(--owner-card-accent,#d97706) 5%,var(--bs-body-bg))!important;
}
.owner-status-panel-v2369 .owner-request-card:hover,
.owner-status-panel-v2369 .owner-request-card.is-active {
  background:color-mix(in srgb,var(--owner-card-accent,#d97706) 10%,var(--bs-body-bg))!important;
}

.contractor-settlement-panel-v2369 .contractor-settlement-card-v2369 {--sonic-flat-accent:#d97706}
.contractor-settlement-panel-v2369 .contractor-settlement-card-v2369.is-paid {--sonic-flat-accent:#059669}
.contractor-settlement-panel-v2369 .contractor-settlement-card-v2369 {
  background:color-mix(in srgb,var(--sonic-flat-accent) 5%,var(--bs-body-bg))!important;
}
.contractor-settlement-panel-v2369 .contractor-settlement-card-v2369:hover,
.contractor-settlement-panel-v2369 .contractor-settlement-card-v2369.is-selected {
  background:color-mix(in srgb,var(--sonic-flat-accent) 10%,var(--bs-body-bg))!important;
}

.settlement-picker-content .settlement-picker-item {--sonic-flat-accent:#635bff}
.settlement-picker-content .settlement-picker-item.is-final {--sonic-flat-accent:#059669}
.settlement-picker-content .settlement-picker-item {
  background:color-mix(in srgb,var(--sonic-flat-accent) 5%,var(--bs-body-bg))!important;
}
.settlement-picker-content .settlement-picker-item:hover,
.settlement-picker-content .settlement-picker-item.is-active {
  background:color-mix(in srgb,var(--sonic-flat-accent) 10%,var(--bs-body-bg))!important;
}

[data-bs-theme="dark"] .maintenance-tab-content-v267 .maintenance-record-card-v267,
[data-bs-theme="dark"] .quality-followup-section .quality-followup-card,
[data-bs-theme="dark"] .warehouse-status-panel-v2371 .warehouse-request-card-v2371,
[data-bs-theme="dark"] .cashbox-status-panel-v2370 .cashbox-request-card-v2370,
[data-bs-theme="dark"] .owner-status-panel-v2369 .owner-request-card,
[data-bs-theme="dark"] .contractor-settlement-panel-v2369 .contractor-settlement-card-v2369,
[data-bs-theme="dark"] .settlement-picker-content .settlement-picker-item {
  border:0!important;
  box-shadow:none!important;
}

/* ========================================================================== */
/* Sonic Tower v2.3.76 — neutral tab cards with status side marker only       */
/* ========================================================================== */
/*
 * Cards shown inside workflow tabs stay visually neutral. Status is conveyed
 * only through the slim side marker and the existing status badge.
 */
.maintenance-tab-content-v267 .maintenance-record-card-v267,
.quality-followup-section .quality-followup-card,
.warehouse-status-panel-v2371 .warehouse-request-card-v2371,
.cashbox-status-panel-v2370 .cashbox-request-card-v2370,
.owner-status-panel-v2369 .owner-request-card,
.contractor-settlement-panel-v2369 .contractor-settlement-card-v2369,
.settlement-picker-content .settlement-picker-item,
.site-damage-tab-panel-v2372 .site-damage-card-v2372 {
  position:relative!important;
  overflow:hidden!important;
  border:0!important;
  background:var(--bs-body-bg)!important;
  box-shadow:none!important;
  transform:none!important;
  transition:background-color .16s ease,color .16s ease!important;
}

.maintenance-tab-content-v267 .maintenance-record-card-v267:hover,
.quality-followup-section .quality-followup-card:hover,
.warehouse-status-panel-v2371 .warehouse-request-card-v2371:hover,
.cashbox-status-panel-v2370 .cashbox-request-card-v2370:hover,
.owner-status-panel-v2369 .owner-request-card:hover,
.contractor-settlement-panel-v2369 .contractor-settlement-card-v2369:hover,
.settlement-picker-content .settlement-picker-item:hover,
.site-damage-tab-panel-v2372 .site-damage-card-v2372:hover,
.quality-followup-section .quality-followup-card.is-active,
.warehouse-status-panel-v2371 .warehouse-request-card-v2371.is-selected,
.cashbox-status-panel-v2370 .cashbox-request-card-v2370.is-selected,
.owner-status-panel-v2369 .owner-request-card.is-active,
.contractor-settlement-panel-v2369 .contractor-settlement-card-v2369.is-selected,
.settlement-picker-content .settlement-picker-item.is-active,
.site-damage-tab-panel-v2372 .site-damage-card-v2372.is-selected {
  border:0!important;
  background:var(--bs-body-bg)!important;
  box-shadow:none!important;
  transform:none!important;
}

/* One shared side-marker geometry. RTL automatically places it on the right. */
.maintenance-tab-content-v267 .maintenance-record-card-v267::before,
.quality-followup-section .quality-followup-card::before,
.warehouse-status-panel-v2371 .warehouse-request-card-v2371::before,
.cashbox-status-panel-v2370 .cashbox-request-card-v2370::before,
.owner-status-panel-v2369 .owner-request-card::before,
.contractor-settlement-panel-v2369 .contractor-settlement-card-v2369::before,
.settlement-picker-content .settlement-picker-item::before,
.site-damage-tab-panel-v2372 .site-damage-card-v2372::before {
  content:""!important;
  position:absolute!important;
  inset-block:.78rem!important;
  inset-inline-start:0!important;
  width:4px!important;
  border-radius:999px!important;
  background:var(--sonic-tab-card-accent,#635bff)!important;
  opacity:.92!important;
}

/* Existing selected-only markers are replaced by the unified marker above. */
.warehouse-status-panel-v2371 .warehouse-request-card-v2371::after,
.cashbox-status-panel-v2370 .cashbox-request-card-v2370::after,
.owner-status-panel-v2369 .owner-request-card::after,
.contractor-settlement-panel-v2369 .contractor-settlement-card-v2369::after,
.site-damage-tab-panel-v2372 .site-damage-card-v2372::after {
  content:none!important;
  display:none!important;
}

/* Selected cards keep the same neutral surface; only the marker becomes bolder. */
.quality-followup-section .quality-followup-card.is-active::before,
.warehouse-status-panel-v2371 .warehouse-request-card-v2371.is-selected::before,
.cashbox-status-panel-v2370 .cashbox-request-card-v2370.is-selected::before,
.owner-status-panel-v2369 .owner-request-card.is-active::before,
.contractor-settlement-panel-v2369 .contractor-settlement-card-v2369.is-selected::before,
.settlement-picker-content .settlement-picker-item.is-active::before,
.site-damage-tab-panel-v2372 .site-damage-card-v2372.is-selected::before {
  width:5px!important;
  opacity:1!important;
}

/* Status colors — marker only. */
.maintenance-tab-content-v267 .maintenance-record-card-v267 {
  --sonic-tab-card-accent:var(--maintenance-tone,#635bff);
}
.quality-followup-section .quality-followup-card {
  --sonic-tab-card-accent:#635bff;
}
.quality-followup-section .quality-followup-card.is-return-card {
  --sonic-tab-card-accent:#e11d48;
}
.warehouse-status-panel-v2371 .warehouse-request-card-v2371 {
  --sonic-tab-card-accent:var(--warehouse-card-accent,#635bff);
}
.cashbox-status-panel-v2370 .cashbox-request-card-v2370 {
  --sonic-tab-card-accent:var(--cashbox-card-accent,#d97706);
}
.owner-status-panel-v2369 .owner-request-card {
  --sonic-tab-card-accent:var(--owner-card-accent,#d97706);
}
.contractor-settlement-panel-v2369 .contractor-settlement-card-v2369 {
  --sonic-tab-card-accent:#d97706;
}
.contractor-settlement-panel-v2369 .contractor-settlement-card-v2369.is-paid {
  --sonic-tab-card-accent:#059669;
}
.settlement-picker-content .settlement-picker-item.status-ready {
  --sonic-tab-card-accent:#d97706;
}
.settlement-picker-content .settlement-picker-item.status-followup {
  --sonic-tab-card-accent:#2563eb;
}
.settlement-picker-content .settlement-picker-item.status-final,
.settlement-picker-content .settlement-picker-item.is-final {
  --sonic-tab-card-accent:#059669;
}
.site-damage-tab-panel-v2372 .site-damage-card-v2372 {
  --sonic-tab-card-accent:var(--damage-card-accent,#d97706);
}

/* Nested figures stay neutral as well; color remains in badges and side marker. */
.cashbox-status-panel-v2370 .cashbox-request-money-v2370 span,
.cashbox-status-panel-v2370 .cashbox-request-money-v2370 .is-bonus,
.cashbox-status-panel-v2370 .cashbox-request-money-v2370 .is-total,
.cashbox-status-panel-v2370 .cashbox-request-card-v2370.is-paid .is-total,
.contractor-settlement-panel-v2369 .contractor-settlement-money-v2369 span,
.contractor-settlement-panel-v2369 .contractor-settlement-money-v2369 .is-remaining,
.contractor-settlement-panel-v2369 .contractor-settlement-money-v2369 .is-paid,
.warehouse-status-panel-v2371 .warehouse-request-numbers-v2371 span,
.settlement-picker-content .settlement-picker-meta>span,
.site-damage-tab-panel-v2372 .site-damage-card-info-v2372>span {
  border:0!important;
  background:var(--bs-tertiary-bg)!important;
  box-shadow:none!important;
}
.cashbox-status-panel-v2370 .cashbox-request-money-v2370 b,
.cashbox-status-panel-v2370 .cashbox-request-money-v2370 .is-bonus b,
.cashbox-status-panel-v2370 .cashbox-request-money-v2370 .is-total b,
.cashbox-status-panel-v2370 .cashbox-request-card-v2370.is-paid .is-total b,
.contractor-settlement-panel-v2369 .contractor-settlement-money-v2369 b,
.contractor-settlement-panel-v2369 .contractor-settlement-money-v2369 .is-remaining b,
.contractor-settlement-panel-v2369 .contractor-settlement-money-v2369 .is-paid b {
  color:var(--bs-body-color)!important;
}

[data-bs-theme="dark"] .maintenance-tab-content-v267 .maintenance-record-card-v267,
[data-bs-theme="dark"] .quality-followup-section .quality-followup-card,
[data-bs-theme="dark"] .warehouse-status-panel-v2371 .warehouse-request-card-v2371,
[data-bs-theme="dark"] .cashbox-status-panel-v2370 .cashbox-request-card-v2370,
[data-bs-theme="dark"] .owner-status-panel-v2369 .owner-request-card,
[data-bs-theme="dark"] .contractor-settlement-panel-v2369 .contractor-settlement-card-v2369,
[data-bs-theme="dark"] .settlement-picker-content .settlement-picker-item,
[data-bs-theme="dark"] .site-damage-tab-panel-v2372 .site-damage-card-v2372 {
  border:0!important;
  background:var(--bs-body-bg)!important;
  box-shadow:none!important;
}


/* ========================================================================== */
/* Sonic Tower v2.3.77 — soft bordered workflow cards + status rail/action   */
/* ========================================================================== */
/*
 * Exact shared card language based on machinery_dispatch.php:
 * neutral surface, soft outline, thick status rail at the RTL start edge,
 * and one clear action line with its arrow on the opposite edge.
 */
.maintenance-tab-content-v267 .maintenance-record-card-v267,
.quality-followup-section .quality-followup-card,
.warehouse-status-panel-v2371 .warehouse-request-card-v2371,
.cashbox-status-panel-v2370 .cashbox-request-card-v2370,
.owner-status-panel-v2369 .owner-request-card,
.contractor-settlement-panel-v2369 .contractor-settlement-card-v2369,
.settlement-picker-content .settlement-picker-item,
.site-damage-tab-panel-v2372 .site-damage-card-v2372 {
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  padding:1rem 1.05rem!important;
  padding-inline-start:1.18rem!important;
  border:1px solid var(--bs-border-color)!important;
  border-radius:16px!important;
  background:var(--bs-body-bg)!important;
  color:var(--bs-body-color)!important;
  box-shadow:none!important;
  transform:none!important;
  transition:border-color .16s ease,background-color .16s ease!important;
}

.maintenance-tab-content-v267 .maintenance-record-card-v267:hover,
.quality-followup-section .quality-followup-card:hover,
.warehouse-status-panel-v2371 .warehouse-request-card-v2371:hover,
.cashbox-status-panel-v2370 .cashbox-request-card-v2370:hover,
.owner-status-panel-v2369 .owner-request-card:hover,
.contractor-settlement-panel-v2369 .contractor-settlement-card-v2369:hover,
.settlement-picker-content .settlement-picker-item:hover,
.site-damage-tab-panel-v2372 .site-damage-card-v2372:hover {
  border-color:color-mix(in srgb,var(--sonic-tab-card-accent,#635bff) 35%,var(--bs-border-color))!important;
  background:var(--bs-body-bg)!important;
  color:var(--bs-body-color)!important;
  box-shadow:none!important;
  transform:none!important;
}

.quality-followup-section .quality-followup-card.is-active,
.warehouse-status-panel-v2371 .warehouse-request-card-v2371.is-selected,
.cashbox-status-panel-v2370 .cashbox-request-card-v2370.is-selected,
.owner-status-panel-v2369 .owner-request-card.is-active,
.contractor-settlement-panel-v2369 .contractor-settlement-card-v2369.is-selected,
.settlement-picker-content .settlement-picker-item.is-active,
.site-damage-tab-panel-v2372 .site-damage-card-v2372.is-selected {
  border-color:color-mix(in srgb,var(--sonic-tab-card-accent,#635bff) 46%,var(--bs-border-color))!important;
  background:var(--bs-body-bg)!important;
  box-shadow:none!important;
}

/* Thick elegant status rail. In RTL inline-start is the right edge. */
.maintenance-tab-content-v267 .maintenance-record-card-v267::before,
.quality-followup-section .quality-followup-card::before,
.warehouse-status-panel-v2371 .warehouse-request-card-v2371::before,
.cashbox-status-panel-v2370 .cashbox-request-card-v2370::before,
.owner-status-panel-v2369 .owner-request-card::before,
.contractor-settlement-panel-v2369 .contractor-settlement-card-v2369::before,
.settlement-picker-content .settlement-picker-item::before,
.site-damage-tab-panel-v2372 .site-damage-card-v2372::before {
  content:""!important;
  position:absolute!important;
  inset-block:.72rem!important;
  inset-inline-start:0!important;
  width:6px!important;
  border-radius:999px!important;
  background:var(--sonic-tab-card-accent,#635bff)!important;
  opacity:1!important;
}
.quality-followup-section .quality-followup-card.is-active::before,
.warehouse-status-panel-v2371 .warehouse-request-card-v2371.is-selected::before,
.cashbox-status-panel-v2370 .cashbox-request-card-v2370.is-selected::before,
.owner-status-panel-v2369 .owner-request-card.is-active::before,
.contractor-settlement-panel-v2369 .contractor-settlement-card-v2369.is-selected::before,
.settlement-picker-content .settlement-picker-item.is-active::before,
.site-damage-tab-panel-v2372 .site-damage-card-v2372.is-selected::before {
  width:7px!important;
}

/* Shared bottom action line. First child stays on the right in RTL; arrow left. */
.sonic-tab-card-open-v2377 {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.65rem;
  width:100%;
  min-height:34px;
  margin-top:auto;
  padding:.72rem 0 0;
  border:0;
  border-top:1px solid color-mix(in srgb,var(--sonic-tab-card-accent,#635bff) 16%,var(--bs-border-color));
  background:transparent;
  color:var(--sonic-tab-card-accent,#635bff);
  font:inherit;
  font-size:.78rem;
  font-weight:950;
  line-height:1.2;
  text-decoration:none;
  cursor:pointer;
}
.sonic-tab-card-open-v2377 span {display:block;min-width:0}
.sonic-tab-card-open-v2377 i {flex:0 0 auto;font-size:1.08rem;transition:transform .16s ease}
a:hover .sonic-tab-card-open-v2377 i,
button.sonic-tab-card-open-v2377:hover i {transform:translateX(-3px)}
.sonic-tab-card-open-v2377.is-button {text-align:inherit}

/* Keep action rows clean when the old card supplies its own footer styles. */
.maintenance-record-card-v267>.maintenance-card-footer-v2377 {
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:.55rem!important;
  margin-top:auto!important;
  padding-top:.75rem!important;
}
.maintenance-card-secondary-v2377 {display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}
.maintenance-card-secondary-v2377 .btn {min-height:34px!important;padding:.38rem .65rem!important;font-size:.72rem!important}
.maintenance-card-footer-v2377 .sonic-tab-card-open-v2377 {margin-top:0}

/* Avoid two stacked separators before the shared action row. */
.warehouse-status-panel-v2371 .warehouse-request-meta-v2371,
.cashbox-status-panel-v2370 .cashbox-request-meta-v2370 {
  border-top:0!important;
  padding-top:.2rem!important;
}

/* The previous card-specific arrow/footer is replaced by the one shared row. */
.settlement-picker-arrow {display:none!important}
.site-damage-card-footer-v2372 {display:none!important}
.site-damage-card-responsibility-v2377 {
  display:flex;
  align-items:center;
  gap:.38rem;
  min-width:0;
  color:var(--bs-secondary-color);
  font-size:.72rem;
  font-weight:850;
}
.site-damage-card-responsibility-v2377 i {flex:0 0 auto;color:var(--sonic-tab-card-accent,#635bff);font-size:1rem}
.site-damage-card-responsibility-v2377 span {min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Use the status rail color consistently in the action text. */
.maintenance-tab-content-v267 .maintenance-record-card-v267 .sonic-tab-card-open-v2377,
.quality-followup-section .quality-followup-card .sonic-tab-card-open-v2377,
.warehouse-status-panel-v2371 .warehouse-request-card-v2371 .sonic-tab-card-open-v2377,
.cashbox-status-panel-v2370 .cashbox-request-card-v2370 .sonic-tab-card-open-v2377,
.owner-status-panel-v2369 .owner-request-card .sonic-tab-card-open-v2377,
.contractor-settlement-panel-v2369 .contractor-settlement-card-v2369 .sonic-tab-card-open-v2377,
.settlement-picker-content .settlement-picker-item .sonic-tab-card-open-v2377,
.site-damage-tab-panel-v2372 .site-damage-card-v2372 .sonic-tab-card-open-v2377 {
  color:var(--sonic-tab-card-accent,#635bff)!important;
}

[data-bs-theme="dark"] .maintenance-tab-content-v267 .maintenance-record-card-v267,
[data-bs-theme="dark"] .quality-followup-section .quality-followup-card,
[data-bs-theme="dark"] .warehouse-status-panel-v2371 .warehouse-request-card-v2371,
[data-bs-theme="dark"] .cashbox-status-panel-v2370 .cashbox-request-card-v2370,
[data-bs-theme="dark"] .owner-status-panel-v2369 .owner-request-card,
[data-bs-theme="dark"] .contractor-settlement-panel-v2369 .contractor-settlement-card-v2369,
[data-bs-theme="dark"] .settlement-picker-content .settlement-picker-item,
[data-bs-theme="dark"] .site-damage-tab-panel-v2372 .site-damage-card-v2372 {
  border:1px solid var(--bs-border-color)!important;
  background:var(--bs-body-bg)!important;
  box-shadow:none!important;
}

@media(max-width:575.98px){
  .maintenance-tab-content-v267 .maintenance-record-card-v267,
.quality-followup-section .quality-followup-card,
.warehouse-status-panel-v2371 .warehouse-request-card-v2371,
.cashbox-status-panel-v2370 .cashbox-request-card-v2370,
.owner-status-panel-v2369 .owner-request-card,
.contractor-settlement-panel-v2369 .contractor-settlement-card-v2369,
.settlement-picker-content .settlement-picker-item,
.site-damage-tab-panel-v2372 .site-damage-card-v2372 {
    padding:.9rem!important;
    padding-inline-start:1.05rem!important;
    border-radius:14px!important;
  }
}

/* ========================================================================== */
/* Sonic Tower v2.3.78 — exact status-border hover behavior for tab cards     */
/* ========================================================================== */
/*
 * Final shared interaction language taken from machinery_dispatch.php:
 * - a clearly visible neutral border in the resting state
 * - the existing status rail always remains colored
 * - only the outer border changes to the status color on hover/focus
 * - no colored card background, no lift and no shadow
 * - the open action stays clean without an internal separator
 */
.maintenance-tab-content-v267 .maintenance-record-card-v267,
.quality-followup-section .quality-followup-card,
.warehouse-status-panel-v2371 .warehouse-request-card-v2371,
.cashbox-status-panel-v2370 .cashbox-request-card-v2370,
.owner-status-panel-v2369 .owner-request-card,
.contractor-settlement-panel-v2369 .contractor-settlement-card-v2369,
.settlement-picker-content .settlement-picker-item,
.site-damage-tab-panel-v2372 .site-damage-card-v2372 {
  --sonic-tab-card-neutral-border:#dce3ec;
  border:1px solid var(--sonic-tab-card-neutral-border)!important;
  background:var(--bs-body-bg)!important;
  box-shadow:none!important;
  transform:none!important;
  cursor:pointer;
  transition:border-color .2s ease,color .2s ease!important;
}

/* A selected/open card keeps the same neutral resting outline. */
.quality-followup-section .quality-followup-card.is-active,
.warehouse-status-panel-v2371 .warehouse-request-card-v2371.is-selected,
.cashbox-status-panel-v2370 .cashbox-request-card-v2370.is-selected,
.owner-status-panel-v2369 .owner-request-card.is-active,
.contractor-settlement-panel-v2369 .contractor-settlement-card-v2369.is-selected,
.settlement-picker-content .settlement-picker-item.is-active,
.site-damage-tab-panel-v2372 .site-damage-card-v2372.is-selected {
  border-color:var(--sonic-tab-card-neutral-border)!important;
  background:var(--bs-body-bg)!important;
  box-shadow:none!important;
  transform:none!important;
}

/* The status color appears on the outline only while the card is interacted with. */
.maintenance-tab-content-v267 .maintenance-record-card-v267:hover,
.maintenance-tab-content-v267 .maintenance-record-card-v267:focus-within,
.quality-followup-section .quality-followup-card:hover,
.quality-followup-section .quality-followup-card:focus-within,
.warehouse-status-panel-v2371 .warehouse-request-card-v2371:hover,
.warehouse-status-panel-v2371 .warehouse-request-card-v2371:focus-within,
.cashbox-status-panel-v2370 .cashbox-request-card-v2370:hover,
.cashbox-status-panel-v2370 .cashbox-request-card-v2370:focus-within,
.owner-status-panel-v2369 .owner-request-card:hover,
.owner-status-panel-v2369 .owner-request-card:focus-within,
.contractor-settlement-panel-v2369 .contractor-settlement-card-v2369:hover,
.contractor-settlement-panel-v2369 .contractor-settlement-card-v2369:focus-within,
.settlement-picker-content .settlement-picker-item:hover,
.settlement-picker-content .settlement-picker-item:focus-within,
.site-damage-tab-panel-v2372 .site-damage-card-v2372:hover,
.site-damage-tab-panel-v2372 .site-damage-card-v2372:focus-within {
  border-color:var(--sonic-tab-card-accent,#635bff)!important;
  background:var(--bs-body-bg)!important;
  color:var(--bs-body-color)!important;
  box-shadow:none!important;
  transform:none!important;
}

/* Keep the action row exactly like the machinery request card: no divider line. */
.sonic-tab-card-open-v2377 {
  border-top:0!important;
  padding-top:.55rem!important;
}

/* The arrow reacts when the whole card is hovered, not only the text row. */
.maintenance-record-card-v267:hover .sonic-tab-card-open-v2377 i,
.quality-followup-card:hover .sonic-tab-card-open-v2377 i,
.warehouse-request-card-v2371:hover .sonic-tab-card-open-v2377 i,
.cashbox-request-card-v2370:hover .sonic-tab-card-open-v2377 i,
.owner-request-card:hover .sonic-tab-card-open-v2377 i,
.contractor-settlement-card-v2369:hover .sonic-tab-card-open-v2377 i,
.settlement-picker-item:hover .sonic-tab-card-open-v2377 i,
.site-damage-card-v2372:hover .sonic-tab-card-open-v2377 i {
  transform:translateX(-3px);
}

[data-bs-theme="dark"] .maintenance-tab-content-v267 .maintenance-record-card-v267,
[data-bs-theme="dark"] .quality-followup-section .quality-followup-card,
[data-bs-theme="dark"] .warehouse-status-panel-v2371 .warehouse-request-card-v2371,
[data-bs-theme="dark"] .cashbox-status-panel-v2370 .cashbox-request-card-v2370,
[data-bs-theme="dark"] .owner-status-panel-v2369 .owner-request-card,
[data-bs-theme="dark"] .contractor-settlement-panel-v2369 .contractor-settlement-card-v2369,
[data-bs-theme="dark"] .settlement-picker-content .settlement-picker-item,
[data-bs-theme="dark"] .site-damage-tab-panel-v2372 .site-damage-card-v2372 {
  --sonic-tab-card-neutral-border:#3b4655;
  border-color:var(--sonic-tab-card-neutral-border)!important;
  background:var(--bs-body-bg)!important;
  box-shadow:none!important;
}

[data-bs-theme="dark"] .maintenance-tab-content-v267 .maintenance-record-card-v267:hover,
[data-bs-theme="dark"] .maintenance-tab-content-v267 .maintenance-record-card-v267:focus-within,
[data-bs-theme="dark"] .quality-followup-section .quality-followup-card:hover,
[data-bs-theme="dark"] .quality-followup-section .quality-followup-card:focus-within,
[data-bs-theme="dark"] .warehouse-status-panel-v2371 .warehouse-request-card-v2371:hover,
[data-bs-theme="dark"] .warehouse-status-panel-v2371 .warehouse-request-card-v2371:focus-within,
[data-bs-theme="dark"] .cashbox-status-panel-v2370 .cashbox-request-card-v2370:hover,
[data-bs-theme="dark"] .cashbox-status-panel-v2370 .cashbox-request-card-v2370:focus-within,
[data-bs-theme="dark"] .owner-status-panel-v2369 .owner-request-card:hover,
[data-bs-theme="dark"] .owner-status-panel-v2369 .owner-request-card:focus-within,
[data-bs-theme="dark"] .contractor-settlement-panel-v2369 .contractor-settlement-card-v2369:hover,
[data-bs-theme="dark"] .contractor-settlement-panel-v2369 .contractor-settlement-card-v2369:focus-within,
[data-bs-theme="dark"] .settlement-picker-content .settlement-picker-item:hover,
[data-bs-theme="dark"] .settlement-picker-content .settlement-picker-item:focus-within,
[data-bs-theme="dark"] .site-damage-tab-panel-v2372 .site-damage-card-v2372:hover,
[data-bs-theme="dark"] .site-damage-tab-panel-v2372 .site-damage-card-v2372:focus-within {
  border-color:var(--sonic-tab-card-accent,#8b83ff)!important;
}


/* ========================================================================== */
/* Sonic Tower v2.3.79 — definitive workflow tabs/cards, copied from dispatch */
/* ========================================================================== */
/*
 * This class is deliberately attached to the markup of every workflow card.
 * It no longer depends on older page-specific card rules. Resting state:
 * neutral surface + visible soft border + status rail. Hover/focus state:
 * only the outer border adopts the status color, exactly like dispatch cards.
 */
html body .sonic-workflow-card-v2379.sonic-workflow-card-v2379.sonic-workflow-card-v2379.sonic-workflow-card-v2379 {
  --sonic-workflow-accent:#635bff;
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  border:1px solid #d5dee9!important;
  border-radius:16px!important;
  background:var(--bs-body-bg)!important;
  background-image:none!important;
  color:var(--bs-body-color)!important;
  box-shadow:none!important;
  filter:none!important;
  transform:none!important;
  text-decoration:none!important;
  outline:0!important;
  transition:border-color .18s ease,color .18s ease!important;
}
html body .sonic-workflow-card-v2379.sonic-workflow-card-v2379.sonic-workflow-card-v2379.sonic-workflow-card-v2379:hover,
html body .sonic-workflow-card-v2379.sonic-workflow-card-v2379.sonic-workflow-card-v2379.sonic-workflow-card-v2379:focus-visible,
html body .sonic-workflow-card-v2379.sonic-workflow-card-v2379.sonic-workflow-card-v2379.sonic-workflow-card-v2379:focus-within {
  border-color:var(--sonic-workflow-accent)!important;
  background:var(--bs-body-bg)!important;
  background-image:none!important;
  color:var(--bs-body-color)!important;
  box-shadow:none!important;
  filter:none!important;
  transform:none!important;
}
/* Selected/open records must remain neutral until pointer/focus interaction. */
html body .sonic-workflow-card-v2379.is-active,
html body .sonic-workflow-card-v2379.is-selected {
  border-color:#d5dee9!important;
  background:var(--bs-body-bg)!important;
  background-image:none!important;
  box-shadow:none!important;
  transform:none!important;
}
html body .sonic-workflow-card-v2379.is-active:hover,
html body .sonic-workflow-card-v2379.is-active:focus-visible,
html body .sonic-workflow-card-v2379.is-active:focus-within,
html body .sonic-workflow-card-v2379.is-selected:hover,
html body .sonic-workflow-card-v2379.is-selected:focus-visible,
html body .sonic-workflow-card-v2379.is-selected:focus-within {
  border-color:var(--sonic-workflow-accent)!important;
}
/* One full-height RTL status rail, with no competing selected-only marker. */
html body .sonic-workflow-card-v2379.sonic-workflow-card-v2379.sonic-workflow-card-v2379.sonic-workflow-card-v2379::before {
  content:""!important;
  display:block!important;
  position:absolute!important;
  z-index:2!important;
  inset-block:0!important;
  inset-inline-start:0!important;
  width:5px!important;
  height:auto!important;
  border:0!important;
  border-radius:0!important;
  background:var(--sonic-workflow-accent)!important;
  background-image:none!important;
  opacity:1!important;
  box-shadow:none!important;
  transform:none!important;
}
html body .sonic-workflow-card-v2379.sonic-workflow-card-v2379.sonic-workflow-card-v2379.sonic-workflow-card-v2379::after {
  content:none!important;
  display:none!important;
}
/* Explicit state palette. */
.sonic-workflow-card-v2379.sonic-workflow-status-primary {--sonic-workflow-accent:#635bff!important}
.sonic-workflow-card-v2379.sonic-workflow-status-info {--sonic-workflow-accent:#0284c7!important}
.sonic-workflow-card-v2379.sonic-workflow-status-success,
.sonic-workflow-card-v2379.sonic-workflow-status-approved,
.sonic-workflow-card-v2379.sonic-workflow-status-paid {--sonic-workflow-accent:#16a367!important}
.sonic-workflow-card-v2379.sonic-workflow-status-warning,
.sonic-workflow-card-v2379.sonic-workflow-status-pending {--sonic-workflow-accent:#e58a00!important}
.sonic-workflow-card-v2379.sonic-workflow-status-danger,
.sonic-workflow-card-v2379.sonic-workflow-status-rejected {--sonic-workflow-accent:#e11d48!important}
.sonic-workflow-card-v2379.sonic-workflow-status-secondary,
.sonic-workflow-card-v2379.sonic-workflow-status-cancelled {--sonic-workflow-accent:#64748b!important}
/* Bottom action row exactly like machinery_dispatch: text at RTL start, arrow left. */
html body .sonic-workflow-card-v2379 .sonic-tab-card-open-v2377 {
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:.65rem!important;
  width:100%!important;
  min-height:30px!important;
  margin-top:auto!important;
  padding:.65rem 0 0!important;
  border:0!important;
  border-top:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--sonic-workflow-accent)!important;
  box-shadow:none!important;
  font-size:.8rem!important;
  font-weight:950!important;
  text-align:start!important;
  text-decoration:none!important;
}
html body .sonic-workflow-card-v2379 .sonic-tab-card-open-v2377 i {
  flex:0 0 auto!important;
  color:inherit!important;
  font-size:1.05rem!important;
  transform:none!important;
  transition:transform .18s ease!important;
}
html body .sonic-workflow-card-v2379:hover .sonic-tab-card-open-v2377 i,
html body .sonic-workflow-card-v2379:focus-within .sonic-tab-card-open-v2377 i {
  transform:translateX(-3px)!important;
}
/* Keep inner amount/info tiles neutral; status remains in badge + rail. */
html body .sonic-workflow-card-v2379 .cashbox-request-money-v2370>span,
html body .sonic-workflow-card-v2379 .contractor-settlement-money-v2369>span,
html body .sonic-workflow-card-v2379 .warehouse-request-numbers-v2371>span,
html body .sonic-workflow-card-v2379 .settlement-picker-meta>span,
html body .sonic-workflow-card-v2379 .site-damage-card-info-v2372>span {
  border:1px solid transparent!important;
  background:var(--bs-tertiary-bg)!important;
  background-image:none!important;
  box-shadow:none!important;
}
html body .site-damage-status-tabs-v2372.sonic-unified-tabs {
  margin:0 1rem 1rem!important;
}
html body .site-damage-status-tabs-v2372.sonic-unified-tabs .site-damage-status-tab-v2372 {
  min-height:54px!important;
}
[data-bs-theme="dark"] body .sonic-workflow-card-v2379.sonic-workflow-card-v2379.sonic-workflow-card-v2379.sonic-workflow-card-v2379,
[data-bs-theme="dark"] body .sonic-workflow-card-v2379.is-active,
[data-bs-theme="dark"] body .sonic-workflow-card-v2379.is-selected {
  border-color:#374253!important;
  background:var(--bs-body-bg)!important;
  background-image:none!important;
}
[data-bs-theme="dark"] body .sonic-workflow-card-v2379:hover,
[data-bs-theme="dark"] body .sonic-workflow-card-v2379:focus-visible,
[data-bs-theme="dark"] body .sonic-workflow-card-v2379:focus-within,
[data-bs-theme="dark"] body .sonic-workflow-card-v2379.is-active:hover,
[data-bs-theme="dark"] body .sonic-workflow-card-v2379.is-selected:hover {
  border-color:var(--sonic-workflow-accent)!important;
}

/* Sonic Tower v2.3.80 — wide material request details modal */
html body .material-request-view-modal .material-request-details-dialog {
  width:min(1540px,calc(100vw - 32px))!important;
  max-width:1540px!important;
  margin-inline:auto!important;
}
html body .material-request-view-modal .modal-content {
  width:100%!important;
}
html body .material-request-view-modal .modal-body {
  padding-inline:24px!important;
}
html body .material-request-view-modal .material-request-modal-cards {
  grid-template-columns:repeat(6,minmax(150px,1fr));
}
html body .material-request-view-modal .material-request-modal-table-wrap table {
  width:100%;
  min-width:1040px;
}
html body .material-request-view-modal .material-request-modal-table-wrap th:first-child,
html body .material-request-view-modal .material-request-modal-table-wrap td:first-child {
  min-width:250px;
}
html body .material-request-view-modal .material-request-modal-table-wrap th:last-child,
html body .material-request-view-modal .material-request-modal-table-wrap td:last-child {
  min-width:210px;
}
html body .material-request-view-modal .material-request-modal-table-wrap th:not(:first-child):not(:last-child),
html body .material-request-view-modal .material-request-modal-table-wrap td:not(:first-child):not(:last-child) {
  min-width:115px;
  text-align:center;
}
@media(max-width:1199.98px){
  html body .material-request-view-modal .material-request-details-dialog {
    width:calc(100vw - 24px)!important;
    max-width:none!important;
  }
  html body .material-request-view-modal .material-request-modal-cards {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:767.98px){
  html body .material-request-view-modal .material-request-details-dialog {
    width:calc(100vw - 12px)!important;
    margin:6px auto!important;
    padding:0!important;
  }
  html body .material-request-view-modal .modal-body {
    padding-inline:14px!important;
  }
  html body .material-request-view-modal .material-request-modal-cards {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:575.98px){
  html body .material-request-view-modal .material-request-modal-cards {
    grid-template-columns:1fr;
  }
}

/* ========================================================================== */
/* v2.3.81 — Unified vivid statistics cards                                  */
/* ========================================================================== */
.sonic-vivid-stat-grid-v2381 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1rem;
}

.sonic-vivid-stat-grid-v2381.is-two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sonic-vivid-stat-card-v2381 {
  --stat-v2381-a: #635bff;
  --stat-v2381-b: #4f46e5;
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  align-items: start;
  gap: 1rem;
  min-height: 170px;
  padding: 1.25rem 1.3rem;
  overflow: hidden;
  border: 0;
  border-radius: 1.35rem;
  color: #fff;
  background: linear-gradient(135deg, var(--stat-v2381-a), var(--stat-v2381-b));
  box-shadow: 0 16px 34px color-mix(in srgb, var(--stat-v2381-b) 24%, transparent);
}

.sonic-vivid-stat-card-v2381::before,
.sonic-vivid-stat-card-v2381::after {
  content: "";
  position: absolute;
  z-index: -1;
  border-radius: 50%;
  background: rgba(255, 255, 255, .13);
  pointer-events: none;
}

.sonic-vivid-stat-card-v2381::before {
  width: 142px;
  height: 142px;
  inset-inline-end: -48px;
  top: -58px;
}

.sonic-vivid-stat-card-v2381::after {
  width: 88px;
  height: 88px;
  inset-inline-start: -30px;
  bottom: -38px;
}

.sonic-vivid-stat-card-v2381.tone-violet {
  --stat-v2381-a: #7c3aed;
  --stat-v2381-b: #4f46e5;
}

.sonic-vivid-stat-card-v2381.tone-blue {
  --stat-v2381-a: #2563eb;
  --stat-v2381-b: #0284c7;
}

.sonic-vivid-stat-card-v2381.tone-green {
  --stat-v2381-a: #16a34a;
  --stat-v2381-b: #059669;
}

.sonic-vivid-stat-card-v2381.tone-amber {
  --stat-v2381-a: #f59e0b;
  --stat-v2381-b: #ea580c;
}

.sonic-vivid-stat-card-v2381.tone-red {
  --stat-v2381-a: #e11d48;
  --stat-v2381-b: #be123c;
}

.sonic-vivid-stat-card-v2381.tone-cyan {
  --stat-v2381-a: #0891b2;
  --stat-v2381-b: #0e7490;
}

.sonic-vivid-stat-icon-v2381 {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 62px;
  height: 62px;
  border: 1px solid rgba(255, 255, 255, .38);
  border-radius: 1rem;
  color: #fff;
  background: rgba(255, 255, 255, .14);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.sonic-vivid-stat-icon-v2381 i {
  font-size: 1.8rem;
  line-height: 1;
}

.sonic-vivid-stat-copy-v2381 {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.sonic-vivid-stat-title-v2381 {
  display: block;
  margin-bottom: .45rem;
  font-size: .9rem;
  line-height: 1.35;
  font-weight: 900;
  color: rgba(255, 255, 255, .95);
}

.sonic-vivid-stat-value-v2381 {
  display: block;
  margin-bottom: .5rem;
  font-size: 2.15rem;
  line-height: 1;
  font-weight: 950;
  letter-spacing: -.02em;
  color: #fff;
}

.sonic-vivid-stat-copy-v2381 small {
  display: block;
  max-width: 34rem;
  font-size: .78rem;
  line-height: 1.65;
  font-weight: 750;
  color: rgba(255, 255, 255, .82);
}

.sonic-vivid-stat-action-v2381 {
  position: relative;
  z-index: 1;
  grid-column: 1 / -1;
  margin-top: .1rem;
}

.sonic-vivid-stat-action-v2381 button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  min-height: 36px;
  padding: .42rem .8rem;
  border: 1px solid rgba(255, 255, 255, .34);
  border-radius: .7rem;
  color: #fff;
  background: rgba(255, 255, 255, .14);
  font-size: .78rem;
  font-weight: 850;
  cursor: pointer;
  transition: background-color .18s ease, border-color .18s ease;
}

.sonic-vivid-stat-action-v2381 button:hover,
.sonic-vivid-stat-action-v2381 button:focus-visible {
  color: #fff;
  border-color: rgba(255, 255, 255, .62);
  background: rgba(255, 255, 255, .24);
}

[data-bs-theme="dark"] .sonic-vivid-stat-card-v2381 {
  box-shadow: 0 16px 36px rgba(0, 0, 0, .22);
}

@media (max-width: 991.98px) {
  .sonic-vivid-stat-grid-v2381.is-two {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575.98px) {
  .sonic-vivid-stat-grid-v2381 {
    grid-template-columns: 1fr;
    gap: .75rem;
  }

  .sonic-vivid-stat-card-v2381 {
    grid-template-columns: 54px minmax(0, 1fr);
    min-height: 148px;
    padding: 1rem;
    border-radius: 1.1rem;
  }

  .sonic-vivid-stat-icon-v2381 {
    width: 54px;
    height: 54px;
    border-radius: .85rem;
  }

  .sonic-vivid-stat-icon-v2381 i {
    font-size: 1.55rem;
  }

  .sonic-vivid-stat-value-v2381 {
    font-size: 1.85rem;
  }

  .sonic-vivid-stat-copy-v2381 small {
    font-size: .73rem;
  }
}


/* ========================================================================== */
/* v2.3.82 — Locations filters, generation actions and row buttons            */
/* ========================================================================== */
.locations-page .locations-filter-card-v2382 {
  overflow: hidden;
  border-radius: 1.15rem;
}

.locations-page .locations-filter-head-v2382 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 64px;
  padding: 1rem 1.2rem;
}

.locations-page .locations-filter-head-v2382 > div {
  min-width: 0;
}

.locations-page .locations-filter-head-v2382 strong,
.locations-page .locations-filter-head-v2382 small {
  display: block;
}

.locations-page .locations-filter-head-v2382 strong {
  color: var(--bs-emphasis-color);
  font-size: .95rem;
  font-weight: 900;
}

.locations-page .locations-filter-head-v2382 small {
  margin-top: .22rem;
  color: var(--bs-secondary-color);
  font-size: .73rem;
  font-weight: 700;
}

.locations-page .locations-auto-filter-badge-v2382 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  flex: 0 0 auto;
  min-height: 34px;
  padding: .42rem .75rem;
  border: 1px solid rgba(99,91,255,.2);
  border-radius: 999px;
  color: #574ff2;
  background: rgba(99,91,255,.08);
  font-size: .72rem;
  font-weight: 900;
}

.locations-page .locations-filter-grid-v2382 {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: end;
  gap: 1rem;
}

.locations-page .locations-filter-field-v2382 {
  min-width: 0;
}

.locations-page .locations-filter-field-v2382 .form-label {
  min-height: 22px;
  margin-bottom: .45rem;
  font-size: .77rem;
  font-weight: 900;
}

.locations-page .locations-filter-field-v2382 .form-control,
.locations-page .locations-filter-field-v2382 .form-select {
  width: 100%;
  min-height: 44px;
}

.locations-page .locations-filter-field-v2382 .form-select:disabled {
  opacity: .62;
  cursor: not-allowed;
}

.locations-page .locations-search-control-v2382 {
  position: relative;
}

.locations-page .locations-search-control-v2382 > i {
  position: absolute;
  z-index: 2;
  inset-inline-start: .85rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--bs-secondary-color);
  font-size: 1rem;
  pointer-events: none;
}

.locations-page .locations-search-control-v2382 .form-control {
  padding-inline-start: 2.45rem;
}

.locations-page .locations-filter-grid-v2382.is-submitting {
  opacity: .68;
  pointer-events: none;
}

.locations-page .locations-generation-grid-v2382 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.locations-page .locations-generation-action-v2382 {
  --location-action-accent: #16a34a;
  --location-action-soft: rgba(22,163,74,.10);
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 292px;
  overflow: hidden;
  border: 1px solid var(--bs-border-color);
  border-radius: 1.15rem;
  background: var(--bs-body-bg);
  box-shadow: 0 10px 24px rgba(15,23,42,.055);
}

.locations-page .locations-generation-action-v2382::before {
  content: "";
  position: absolute;
  inset-inline: 0;
  top: 0;
  height: 5px;
  background: var(--location-action-accent);
}

.locations-page .locations-generation-action-v2382.tone-project {
  --location-action-accent: #16a34a;
  --location-action-soft: rgba(22,163,74,.10);
}

.locations-page .locations-generation-action-v2382.tone-tower {
  --location-action-accent: #2563eb;
  --location-action-soft: rgba(37,99,235,.10);
}

.locations-page .locations-generation-action-v2382.tone-floor {
  --location-action-accent: #7c3aed;
  --location-action-soft: rgba(124,58,237,.10);
}

.locations-page .locations-generation-action-v2382.tone-complete {
  --location-action-accent: #ea580c;
  --location-action-soft: rgba(234,88,12,.10);
}

.locations-page .locations-generation-action-head-v2382 {
  display: flex;
  align-items: center;
  gap: .8rem;
  min-height: 83px;
  padding: 1.15rem 1.15rem .85rem;
}

.locations-page .locations-generation-action-icon-v2382 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 48px;
  height: 48px;
  border: 1px solid color-mix(in srgb, var(--location-action-accent) 25%, transparent);
  border-radius: .95rem;
  color: var(--location-action-accent);
  background: var(--location-action-soft);
}

.locations-page .locations-generation-action-icon-v2382 i {
  font-size: 1.45rem;
}

.locations-page .locations-generation-action-head-v2382 > div {
  min-width: 0;
}

.locations-page .locations-generation-action-head-v2382 strong,
.locations-page .locations-generation-action-head-v2382 small {
  display: block;
}

.locations-page .locations-generation-action-head-v2382 strong {
  color: var(--bs-emphasis-color);
  font-size: .98rem;
  font-weight: 950;
}

.locations-page .locations-generation-action-head-v2382 small {
  margin-top: .25rem;
  color: var(--location-action-accent);
  font-size: .72rem;
  font-weight: 850;
}

.locations-page .locations-generation-action-body-v2382 {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
  padding: .25rem 1.15rem 1.15rem;
}

.locations-page .locations-generation-action-body-v2382 > p {
  min-height: 66px;
  margin: 0 0 1rem;
  color: var(--bs-secondary-color);
  font-size: .78rem;
  line-height: 1.8;
  font-weight: 700;
}

.locations-page .locations-generation-action-form-v2382,
.locations-page .locations-generation-floor-form-v2382 {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  justify-content: flex-end;
  gap: .8rem;
  margin-top: auto;
}

.locations-page .locations-generation-select-v2382 .form-label {
  margin-bottom: .42rem;
  font-size: .75rem;
  font-weight: 900;
}

.locations-page .locations-generation-select-v2382 .form-select {
  min-height: 44px;
}

.locations-page .locations-generation-button-v2382 {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  width: 100%;
  min-height: 46px;
  padding: .68rem 1rem;
  border: 1px solid var(--location-action-accent) !important;
  border-radius: .78rem;
  color: #fff !important;
  background: var(--location-action-accent) !important;
  font-size: .79rem;
  font-weight: 950;
  box-shadow: none !important;
  transition: filter .18s ease, transform .18s ease;
}

.locations-page .locations-generation-button-v2382:hover,
.locations-page .locations-generation-button-v2382:focus-visible {
  color: #fff !important;
  filter: brightness(.92);
  transform: translateY(-1px);
}

.locations-page .location-table-action-v2382 {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  width: 92px;
  min-width: 92px;
  min-height: 36px;
  padding: .42rem .65rem !important;
  border-radius: .62rem !important;
  color: #fff !important;
  font-size: .73rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  box-shadow: none !important;
}

.locations-page .location-table-action-v2382 i {
  margin: 0 !important;
  font-size: .95rem;
}

.locations-page .location-table-action-v2382.btn-primary {
  border-color: #635bff !important;
  background: #635bff !important;
}

.locations-page .location-table-action-v2382.btn-danger {
  border-color: #ef476f !important;
  background: #ef476f !important;
}

.locations-page .location-table-action-v2382.btn-success {
  border-color: #22b573 !important;
  background: #22b573 !important;
}

.locations-page .location-table-action-v2382:hover,
.locations-page .location-table-action-v2382:focus-visible {
  color: #fff !important;
  filter: brightness(.92);
}

[data-bs-theme="dark"] .locations-page .locations-generation-action-v2382 {
  background: var(--bs-tertiary-bg);
  box-shadow: 0 10px 24px rgba(0,0,0,.18);
}

[data-bs-theme="dark"] .locations-page .locations-auto-filter-badge-v2382 {
  border-color: rgba(151,145,255,.25);
  color: #aaa6ff;
  background: rgba(99,91,255,.13);
}

@media (max-width: 1399.98px) {
  .locations-page .locations-filter-grid-v2382 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .locations-page .locations-generation-grid-v2382 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .locations-page .locations-filter-head-v2382 {
    align-items: flex-start;
    flex-direction: column;
  }
  .locations-page .locations-filter-grid-v2382,
.locations-page .locations-generation-grid-v2382 {
    grid-template-columns: 1fr;
  }
  .locations-page .locations-generation-action-v2382 {
    min-height: 0;
  }
  .locations-page .locations-generation-action-body-v2382 > p {
    min-height: 0;
  }
  .locations-page .location-table-action-v2382 {
    width: 86px;
    min-width: 86px;
  }
}


/* Sonic Tower v2.3.84 — Locations reliable auto filters, vivid generation cards and outline row actions */
.locations-page .locations-filter-card-v2382 {
  overflow: hidden;
  border: 1px solid rgba(99,91,255,.10) !important;
  border-radius: 1.05rem;
}
.locations-page .locations-filter-card-v2382 .card-body {
  padding: 1.15rem 1.25rem 1.3rem;
}
.locations-page .locations-filter-grid-v2382 {
  gap: 1rem;
}
.locations-page .locations-filter-field-v2382 {
  display: flex;
  min-width: 0;
  flex-direction: column;
}
.locations-page .locations-filter-field-v2382 .form-control,
.locations-page .locations-filter-field-v2382 .form-select {
  height: 46px;
  min-height: 46px;
  border-radius: .72rem;
}
.locations-page .locations-filter-grid-v2382.is-submitting {
  position: relative;
  opacity: .62;
  cursor: progress;
}
.locations-page .locations-filter-grid-v2382.is-submitting::after {
  content: "";
  position: absolute;
  z-index: 5;
  inset: 0;
  cursor: progress;
}

.locations-page .locations-generation-grid-v2382 {
  align-items: stretch;
}
.locations-page .locations-generation-action-v2382 {
  --location-action-accent: #16a34a;
  --location-action-accent-dark: #0f7a38;
  --location-action-glow: rgba(22,163,74,.25);
  position: relative;
  isolation: isolate;
  min-height: 304px;
  border: 0 !important;
  color: #fff;
  background: linear-gradient(135deg,var(--location-action-accent),var(--location-action-accent-dark)) !important;
  box-shadow: 0 16px 34px var(--location-action-glow) !important;
}
.locations-page .locations-generation-action-v2382::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -56px;
  inset-inline-start: -42px;
  width: 165px;
  height: 165px;
  border-radius: 50%;
  background: rgba(255,255,255,.11);
}
.locations-page .locations-generation-action-v2382::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset-inline-end: -52px;
  bottom: -72px;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  background: rgba(255,255,255,.075);
}
.locations-page .locations-generation-action-v2382.tone-project {
  --location-action-accent: #22b573;
  --location-action-accent-dark: #078b55;
  --location-action-glow: rgba(34,181,115,.28);
}
.locations-page .locations-generation-action-v2382.tone-tower {
  --location-action-accent: #2da5e8;
  --location-action-accent-dark: #1676c5;
  --location-action-glow: rgba(45,165,232,.28);
}
.locations-page .locations-generation-action-v2382.tone-floor {
  --location-action-accent: #7d5cf4;
  --location-action-accent-dark: #513bd9;
  --location-action-glow: rgba(125,92,244,.28);
}
.locations-page .locations-generation-action-v2382.tone-complete {
  --location-action-accent: #ffad32;
  --location-action-accent-dark: #ed7d0a;
  --location-action-glow: rgba(255,173,50,.30);
}
.locations-page .locations-generation-action-head-v2382 {
  min-height: 96px;
  padding: 1.25rem 1.25rem .9rem;
}
.locations-page .locations-generation-action-icon-v2382 {
  width: 54px;
  height: 54px;
  border: 1px solid rgba(255,255,255,.34);
  color: #fff;
  background: rgba(255,255,255,.15);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16);
}
.locations-page .locations-generation-action-head-v2382 strong,
.locations-page .locations-generation-action-head-v2382 small,
.locations-page .locations-generation-action-body-v2382 > p,
.locations-page .locations-generation-select-v2382 .form-label {
  color: #fff !important;
}
.locations-page .locations-generation-action-head-v2382 strong {
  font-size: 1.05rem;
}
.locations-page .locations-generation-action-head-v2382 small {
  color: rgba(255,255,255,.78) !important;
}
.locations-page .locations-generation-action-body-v2382 {
  padding: .2rem 1.25rem 1.25rem;
}
.locations-page .locations-generation-action-body-v2382 > p {
  color: rgba(255,255,255,.84) !important;
  font-size: .79rem;
}
.locations-page .locations-generation-select-v2382 .form-select {
  border-color: rgba(255,255,255,.32);
  background-color: rgba(255,255,255,.96);
}
.locations-page .locations-generation-button-v2382 {
  border-color: rgba(255,255,255,.88) !important;
  color: var(--location-action-accent-dark) !important;
  background: var(--bs-card-bg) !important;
  box-shadow: 0 8px 18px rgba(15,23,42,.12) !important;
}
.locations-page .locations-generation-button-v2382:hover,
.locations-page .locations-generation-button-v2382:focus-visible {
  color: var(--location-action-accent-dark) !important;
  background: rgba(255,255,255,.92) !important;
  filter: none;
  transform: translateY(-1px);
}

.locations-page .location-table-actions-v2384 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  gap: .45rem;
  white-space: nowrap;
}
.locations-page .location-table-action-v2382 {
  width: auto;
  min-width: 0;
  min-height: 36px;
  padding: .43rem .68rem !important;
  border-width: 1.5px !important;
  border-radius: .62rem !important;
  background: var(--bs-card-bg) !important;
  font-size: .73rem !important;
  font-weight: 900 !important;
  box-shadow: none !important;
}
.locations-page .location-table-action-v2382.btn-outline-primary {
  border-color: #635bff !important;
  color: #635bff !important;
}
.locations-page .location-table-action-v2382.btn-outline-danger {
  border-color: #ff5c83 !important;
  color: #ff5c83 !important;
}
.locations-page .location-table-action-v2382.btn-outline-success {
  border-color: #22b573 !important;
  color: #22b573 !important;
}
.locations-page .location-table-action-v2382.btn-outline-primary:hover,
.locations-page .location-table-action-v2382.btn-outline-primary:focus-visible {
  color: #635bff !important;
  background: rgba(99,91,255,.08) !important;
}
.locations-page .location-table-action-v2382.btn-outline-danger:hover,
.locations-page .location-table-action-v2382.btn-outline-danger:focus-visible {
  color: #ff5c83 !important;
  background: rgba(255,92,131,.08) !important;
}
.locations-page .location-table-action-v2382.btn-outline-success:hover,
.locations-page .location-table-action-v2382.btn-outline-success:focus-visible {
  color: #22b573 !important;
  background: rgba(34,181,115,.08) !important;
}
[data-bs-theme="dark"] .locations-page .locations-generation-action-v2382 {
  background: linear-gradient(135deg,var(--location-action-accent),var(--location-action-accent-dark)) !important;
  box-shadow: 0 16px 34px rgba(0,0,0,.24) !important;
}
[data-bs-theme="dark"] .locations-page .location-table-action-v2382 {
  background: var(--bs-tertiary-bg) !important;
}
@media (max-width: 767.98px) {
  .locations-page .locations-filter-card-v2382 .card-body {
    padding: 1rem;
  }
  .locations-page .locations-generation-action-v2382 {
    min-height: 270px;
  }
  .locations-page .location-table-actions-v2384 {
    flex-wrap: wrap;
  }
  .locations-page .location-table-action-v2382 {
    width: auto;
    min-width: 0;
  }
}


/* Sonic Tower v2.3.86 — Locations compact equal layout and inline floor generator */
.locations-page .locations-filter-card-v2382 .card-body {
  padding: .95rem 1.15rem 1.05rem;
}

.locations-page .locations-filter-grid-v2382 {
  width: 100%;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  column-gap: .8rem;
  row-gap: .8rem;
  align-items: end;
}

.locations-page .locations-filter-field-v2382,
.locations-page .locations-search-control-v2382,
.locations-page .locations-search-control-v2382 .form-control,
.locations-page .locations-filter-field-v2382 .form-select {
  width: 100%;
  min-width: 0;
  max-width: none;
}

.locations-page .locations-filter-field-v2382 .form-label {
  min-height: auto;
  margin-bottom: .38rem;
}

.locations-page .locations-generation-grid-v2382 {
  gap: .8rem;
}

.locations-page .locations-generation-action-v2382 {
  min-height: 246px;
}

.locations-page .locations-generation-action-head-v2382 {
  min-height: 78px;
  padding: 1rem 1.05rem .65rem;
}

.locations-page .locations-generation-action-icon-v2382 {
  width: 48px;
  height: 48px;
}

.locations-page .locations-generation-action-body-v2382 {
  padding: .1rem 1.05rem 1.05rem;
}

.locations-page .locations-generation-action-body-v2382 > p {
  min-height: 48px;
  margin-bottom: .72rem;
  line-height: 1.65;
}

.locations-page .locations-generation-action-form-v2382,
.locations-page .locations-generation-floor-form-v2382 {
  flex: 0 0 auto;
  gap: .6rem;
}

.locations-page .locations-generation-floor-controls-v2386 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(150px, .82fr);
  align-items: stretch;
  gap: .65rem;
  width: 100%;
}

.locations-page .locations-generation-floor-controls-v2386 .locations-generation-select-v2382,
.locations-page .locations-generation-floor-controls-v2386 .locations-generation-select-v2382 .form-select,
.locations-page .locations-generation-floor-controls-v2386 .locations-generation-button-v2382 {
  width: 100%;
  min-width: 0;
}

.locations-page .locations-generation-floor-controls-v2386 .locations-generation-select-v2382 .form-select,
.locations-page .locations-generation-floor-controls-v2386 .locations-generation-button-v2382,
.locations-page .locations-generation-action-form-v2382 .locations-generation-button-v2382 {
  min-height: 44px;
  height: 44px;
}

@media (max-width: 1399.98px) {
  .locations-page .locations-filter-grid-v2382 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .locations-page .locations-generation-action-v2382 {
    min-height: 238px;
  }
}

@media (max-width: 991.98px) {
  .locations-page .locations-filter-grid-v2382 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .locations-page .locations-filter-grid-v2382 {
    grid-template-columns: 1fr;
  }
  .locations-page .locations-generation-floor-controls-v2386 {
    grid-template-columns: 1fr;
  }
  .locations-page .locations-generation-action-v2382 {
    min-height: 0;
  }
  .locations-page .locations-generation-action-body-v2382 > p {
    min-height: 0;
  }
}

/* =============================================================
   Sonic Tower v2.3.87
   Technical measurements icon, quality inspection details modal,
   and notifications filters/pagination/actions.
   ============================================================= */

/* Tabler Icons 2.11 does not include ti-ruler-measure-2.
   Alias it to the supported ruler-measure glyph used by this build. */
.ti-ruler-measure-2::before {content:""}

/* Quality inspection result modal */
.quality-details-modal .modal-dialog {
  width:min(1540px,calc(100vw - 2rem))!important;
  max-width:1540px!important;
}
.quality-details-modal .quality-modal-hero .modal-title {
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-weight:900!important;
}
.quality-details-modal .quality-modal-close {
  width:42px;
  height:42px;
  padding:0;
  flex:0 0 42px;
  border:1px solid rgba(255,255,255,.34);
  border-radius:12px;
  background:rgba(255,255,255,.13);
  color:#fff!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:25px;
  line-height:1;
  transition:background-color .18s ease,border-color .18s ease;
}
.quality-details-modal .quality-modal-close:hover,
.quality-details-modal .quality-modal-close:focus {
  color:#fff!important;
  background:rgba(255,255,255,.24);
  border-color:rgba(255,255,255,.62);
  outline:0;
}
.quality-details-modal table.quality-modal-items {
  width:100%!important;
  min-width:1360px!important;
  table-layout:fixed!important;
}
.quality-details-modal table.quality-modal-items th:nth-child(1) {width:220px}
.quality-details-modal table.quality-modal-items th:nth-child(2),
.quality-details-modal table.quality-modal-items th:nth-child(3),
.quality-details-modal table.quality-modal-items th:nth-child(4) {width:105px}
.quality-details-modal table.quality-modal-items th:nth-child(5) {width:230px}
.quality-details-modal table.quality-modal-items th:nth-child(6) {width:auto}
.quality-inspections-page .quality-neutral-badge,
.quality-inspections-page .quality-result-badge {
  min-width:64px;
  padding:8px 12px;
  border:0!important;
  border-radius:10px;
  color:#fff!important;
  font-size:13px;
  font-weight:900;
  box-shadow:0 5px 12px rgba(15,23,42,.12);
}
.quality-inspections-page .quality-neutral-badge {
  background:linear-gradient(135deg,#2563eb,#3b82f6)!important;
}
.quality-inspections-page .quality-result-badge.is-accepted {
  background:linear-gradient(135deg,#059669,#22c55e)!important;
}
.quality-inspections-page .quality-result-badge.is-rejected {
  background:linear-gradient(135deg,#dc2626,#f43f5e)!important;
}
.quality-details-modal .quality-modal-box-title {
  display:block;
  margin-bottom:7px;
  color:var(--bs-heading-color);
  font-size:14px;
  font-weight:900!important;
}
@media(max-width:575.98px){
  .quality-details-modal .modal-dialog {width:calc(100vw - 1rem)!important;margin:.5rem auto!important}
}

/* Notifications */
.notifications-filter-card-v2387,
.notifications-list-card-v2387 {border-radius:18px;overflow:hidden}
.notifications-filter-card-v2387 .card-header,
.notifications-list-card-v2387 .card-header {display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:900}
.notifications-filter-grid-v2387 {
  display:grid;
  grid-template-columns:minmax(280px,1.7fr) repeat(3,minmax(170px,1fr)) auto;
  gap:14px;
  align-items:end;
}
.notifications-filter-field-v2387 {min-width:0}
.notifications-filter-field-v2387 .form-label {font-weight:900;margin-bottom:7px}
.notifications-filter-field-v2387 .form-control,
.notifications-filter-field-v2387 .form-select,
.notifications-filter-field-v2387 .input-group-text {min-height:44px}
.notifications-filter-actions-v2387 {display:flex;align-items:center;gap:8px}
.notifications-filter-actions-v2387 .btn {min-height:44px;min-width:96px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:900}
.sonic-notification-actions-v2387 {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex:0 0 auto;
  white-space:nowrap;
}
.sonic-notification-actions-v2387 form {margin:0;display:flex}
.sonic-notification-actions-v2387 .btn {
  min-width:112px;
  min-height:36px;
  padding:7px 13px;
  border-radius:9px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  font-weight:900;
  line-height:1;
}
.notifications-pagination-v2387 {display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.notifications-pagination-v2387>span {color:var(--bs-secondary-color);font-weight:800}
.notifications-pagination-v2387 .page-link {min-width:38px;text-align:center;font-weight:800}
@media(max-width:1199.98px){
  .notifications-filter-grid-v2387 {grid-template-columns:repeat(2,minmax(0,1fr))}
  .notifications-filter-field-v2387.is-search {grid-column:1/-1}
  .notifications-filter-actions-v2387 {grid-column:1/-1;justify-content:flex-end}
}
@media(max-width:767.98px){
  .notifications-filter-grid-v2387 {grid-template-columns:1fr}
  .notifications-filter-field-v2387.is-search,
.notifications-filter-actions-v2387 {grid-column:auto}
  .notifications-filter-actions-v2387 .btn {flex:1}
  .sonic-notification-row {align-items:flex-start!important}
  .sonic-notification-actions-v2387 {width:100%;justify-content:flex-end;flex-wrap:wrap}
  .sonic-notification-actions-v2387 .btn {min-width:120px}
  .notifications-pagination-v2387 {justify-content:center;text-align:center}
  .notifications-pagination-v2387>span {width:100%}
}
@media(max-width:479.98px){
  .sonic-notification-actions-v2387 {display:grid;grid-template-columns:1fr 1fr}
  .sonic-notification-actions-v2387 .btn,
.sonic-notification-actions-v2387 form {width:100%}
  .sonic-notification-actions-v2387 form .btn {width:100%}
}
[data-bs-theme="dark"] .quality-details-modal .quality-modal-box-title {color:#f8fafc}

/* ========================================================================== */
/* Sonic Tower v2.3.88 — notification actions and user create form            */
/* ========================================================================== */

/* Keep the notification actions equal, readable and on one horizontal line. */
.sonic-notification-actions-v2388 {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
  gap: 10px !important;
  min-width: 236px;
}

.sonic-notification-actions-v2388 > a,
.sonic-notification-actions-v2388 > form {
  flex: 0 0 113px !important;
  width: 113px !important;
  min-width: 113px !important;
  margin: 0 !important;
}

.sonic-notification-actions-v2388 .notification-action-button-v2388 {
  width: 113px !important;
  min-width: 113px !important;
  max-width: 113px !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 12px !important;
  border-radius: 9px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  font-size: .84rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  overflow: hidden;
}

.sonic-notification-actions-v2388 .notification-action-button-v2388 span {
  display: inline-block !important;
  white-space: nowrap !important;
  writing-mode: horizontal-tb !important;
}

.sonic-notification-actions-v2388 .notification-action-button-v2388 i {
  flex: 0 0 auto;
  font-size: 1rem;
}

.sonic-notification-actions-v2388 .notification-read-form-v2388 {
  display: flex !important;
  align-items: center !important;
}

/* A dedicated equal grid prevents Bootstrap/legacy rules from compressing the form. */
.users-create-card-v2388 {
  overflow: hidden;
  border-radius: 20px;
}

.users-create-card-head-v2388 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 58px;
  padding: 14px 18px;
}

.users-create-card-head-v2388 > span {
  font-weight: 900;
}

.users-create-card-head-v2388 > small {
  color: var(--bs-secondary-color);
  font-weight: 700;
}

.users-create-card-v2388 > .card-body {
  padding: 22px;
}

.users-create-fields-v2388 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 18px 16px !important;
  margin: 0 !important;
}

.users-create-fields-v2388 > [class*="col-"] {
  flex: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.users-create-fields-v2388 > .col-12 {
  grid-column: 1 / -1 !important;
}

.users-create-field-v2388 {
  display: flex;
  min-width: 0;
  min-height: 96px;
  flex-direction: column;
}

.users-create-field-v2388 .form-label {
  min-height: 24px;
  margin-bottom: 7px;
}

.users-create-field-v2388 .input-group,
.users-create-field-v2388 .form-control,
.users-create-field-v2388 .form-select,
.users-create-field-v2388 .input-group-text {
  min-height: 48px;
}

.users-create-field-v2388 .input-group-text {
  width: 50px;
  min-width: 50px;
  justify-content: center;
}

.users-create-field-v2388 .form-text {
  min-height: 18px;
  margin-top: 6px;
}

.users-create-form-v2388 .users-switch-section {
  margin-top: 2px;
}

.users-create-form-v2388 .users-switch-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.users-create-form-v2388 .users-switch-grid > * {
  min-width: 0;
  grid-column: auto !important;
}

.users-create-actions-v2388 {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid var(--bs-border-color);
}

.users-create-actions-v2388 .btn {
  min-width: 150px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
}

@media (max-width: 1399.98px) {
  .users-create-form-v2388 .users-switch-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 991.98px) {
  .users-create-fields-v2388 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .users-create-form-v2388 .users-switch-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .sonic-notification-actions-v2388 {
    width: 100% !important;
    min-width: 0 !important;
    justify-content: flex-end !important;
  }

  .sonic-notification-actions-v2388 > a,
.sonic-notification-actions-v2388 > form,
.sonic-notification-actions-v2388 .notification-action-button-v2388 {
    flex: 1 1 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  .users-create-card-head-v2388 {
    align-items: flex-start;
    flex-direction: column;
  }

  .users-create-fields-v2388,
.users-create-form-v2388 .users-switch-grid {
    grid-template-columns: 1fr;
  }

  .users-create-field-v2388 {
    min-height: 0;
  }

  .users-create-actions-v2388 .btn {
    width: 100%;
  }
}

[data-bs-theme="dark"] .users-create-card-v2388,
[data-bs-theme="dark"] .users-create-form-v2388 .users-switch-section {
  background: var(--bs-card-bg);
}

/* ========================================================================== */
/* v2.3.89 — Vivid dashboard statistics cards                                */
/* ========================================================================== */
.dashboard-vivid-stat-grid-v2389 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.dashboard-vivid-stat-card-v2389 {
  min-width: 0;
  min-height: 184px;
  text-decoration: none !important;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.dashboard-vivid-stat-card-v2389:hover,
.dashboard-vivid-stat-card-v2389:focus-visible {
  color: #fff;
  transform: translateY(-3px);
  filter: saturate(1.06);
  box-shadow: 0 20px 42px color-mix(in srgb, var(--stat-v2381-b) 31%, transparent);
}

.dashboard-vivid-stat-card-v2389:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--stat-v2381-a) 35%, #fff);
  outline-offset: 3px;
}

.sonic-vivid-stat-card-v2381.tone-indigo {
  --stat-v2381-a: #6366f1;
  --stat-v2381-b: #4338ca;
}

.sonic-vivid-stat-card-v2381.tone-slate {
  --stat-v2381-a: #475569;
  --stat-v2381-b: #0f172a;
}

.dashboard-vivid-stat-open-v2389 {
  position: relative;
  z-index: 1;
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-top: .15rem;
  padding-top: .72rem;
  border-top: 1px solid rgba(255, 255, 255, .24);
  color: rgba(255, 255, 255, .94);
  font-size: .77rem;
  font-weight: 900;
}

.dashboard-vivid-stat-open-v2389 i {
  font-size: 1rem;
  transition: transform .18s ease;
}

.dashboard-vivid-stat-card-v2389:hover .dashboard-vivid-stat-open-v2389 i,
.dashboard-vivid-stat-card-v2389:focus-visible .dashboard-vivid-stat-open-v2389 i {
  transform: translateX(-4px);
}

@media (max-width: 1399.98px) {
  .dashboard-vivid-stat-grid-v2389 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .dashboard-vivid-stat-grid-v2389 {
    grid-template-columns: 1fr;
    gap: .75rem;
  }

  .dashboard-vivid-stat-card-v2389 {
    min-height: 158px;
  }
}

[data-bs-theme="dark"] .dashboard-vivid-stat-card-v2389:hover,
[data-bs-theme="dark"] .dashboard-vivid-stat-card-v2389:focus-visible {
  box-shadow: 0 20px 42px rgba(0, 0, 0, .34);
}


/* ========================================================================== */
/* Sonic Tower v2.3.90 — hard-isolated notification actions and users form    */
/* ========================================================================== */

/* Notification actions: equal dimensions with the Arabic label always shown. */
.notifications-row-actions-v2390 {
  display: flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
  gap: 10px !important;
  min-width: 266px !important;
  direction: rtl;
}

.notifications-row-actions-v2390 > a,
.notifications-row-actions-v2390 > form {
  display: flex !important;
  flex: 0 0 128px !important;
  width: 128px !important;
  min-width: 128px !important;
  max-width: 128px !important;
  margin: 0 !important;
}

.notifications-row-actions-v2390 .notifications-action-btn-v2390 {
  display: inline-flex !important;
  width: 128px !important;
  min-width: 128px !important;
  max-width: 128px !important;
  height: 42px !important;
  min-height: 42px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  padding: 0 12px !important;
  border-radius: 9px !important;
  font-family: "Tajawal", sans-serif !important;
  font-size: .84rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-indent: 0 !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
}

.notifications-row-actions-v2390 .notifications-action-btn-v2390 i {
  display: inline-block !important;
  flex: 0 0 auto !important;
  width: auto !important;
  font-size: 1rem !important;
  line-height: 1 !important;
}

.notifications-row-actions-v2390 .notifications-mark-read-v2390 {
  color: var(--bs-primary) !important;
  border: 1px solid var(--bs-primary) !important;
  background: var(--bs-card-bg) !important;
}

.notifications-row-actions-v2390 .notifications-mark-read-v2390:hover,
.notifications-row-actions-v2390 .notifications-mark-read-v2390:focus {
  color: #fff !important;
  background: var(--bs-primary) !important;
  border-color: var(--bs-primary) !important;
}

.notifications-row-actions-v2390 .notifications-mark-read-label-v2390 {
  display: inline !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  max-width: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  clip: auto !important;
  clip-path: none !important;
  overflow: visible !important;
  color: inherit !important;
  font: inherit !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  writing-mode: horizontal-tb !important;
}

/* Users page: remove reliance on Bootstrap row/column calculations. */
.users-page-stack-v2390 {
  display: flex !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  flex-direction: column !important;
  gap: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.users-page-stack-v2390 > .sonic-crud-form-column,
.users-page-stack-v2390 > .sonic-crud-list-column {
  display: block !important;
  flex: none !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.users-create-card-v2390 {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  border-radius: 20px;
}

.users-create-card-head-v2390 {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  min-height: 58px;
  padding: 14px 18px !important;
}

.users-create-card-head-v2390 > span {
  font-weight: 900;
}

.users-create-card-head-v2390 > small {
  color: var(--bs-secondary-color);
  font-weight: 700;
}

.users-create-card-v2390 > .card-body {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding: 22px !important;
}

.users-create-form-v2390 {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.users-create-fields-v2390 {
  display: grid !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px 16px !important;
  align-items: start !important;
}

.users-create-field-v2390 {
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 96px;
  flex-direction: column !important;
  margin: 0 !important;
  padding: 0 !important;
}

.users-create-field-v2390 .form-label {
  min-height: 24px;
  margin: 0 0 7px !important;
  font-weight: 900;
}

.users-create-field-v2390 .input-group {
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
  flex-wrap: nowrap !important;
}

.users-create-field-v2390 .form-control,
.users-create-field-v2390 .form-select,
.users-create-field-v2390 .input-group-text {
  min-height: 48px !important;
}

.users-create-field-v2390 .form-control,
.users-create-field-v2390 .form-select {
  width: 1% !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

.users-create-field-v2390 .input-group-text {
  display: inline-flex !important;
  width: 50px !important;
  min-width: 50px !important;
  flex: 0 0 50px !important;
  align-items: center !important;
  justify-content: center !important;
}

.users-create-field-v2390 .form-text {
  min-height: 18px;
  margin-top: 6px;
}

.users-create-wide-v2390 {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  grid-column: 1 / -1 !important;
}

.users-create-form-v2390 .users-switch-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.users-create-form-v2390 .users-switch-grid > * {
  min-width: 0 !important;
  grid-column: auto !important;
}

.users-create-actions-v2390 {
  display: flex !important;
  width: 100% !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px;
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid var(--bs-border-color);
}

.users-create-actions-v2390 .btn {
  display: inline-flex !important;
  min-width: 160px;
  min-height: 44px;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 900;
}

@media (max-width: 1399.98px) {
  .users-create-form-v2390 .users-switch-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 991.98px) {
  .users-create-fields-v2390 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .users-create-form-v2390 .users-switch-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .notifications-row-actions-v2390 {
    display: grid !important;
    width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .notifications-row-actions-v2390 > a,
.notifications-row-actions-v2390 > form,
.notifications-row-actions-v2390 .notifications-action-btn-v2390 {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  .users-create-card-head-v2390 {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
}

@media (max-width: 575.98px) {
  .users-create-card-v2390 > .card-body {
    padding: 16px !important;
  }

  .users-create-fields-v2390,
.users-create-form-v2390 .users-switch-grid {
    grid-template-columns: 1fr !important;
  }

  .users-create-field-v2390 {
    min-height: 0;
  }

  .users-create-actions-v2390 .btn {
    width: 100%;
  }
}

/* ========================================================================== */
/* v2.3.91 - بطاقات اختيار مشاريع المستخدم والنصوص المختصرة                 */
/* ========================================================================== */
.users-project-picker-v2391 {
  overflow: hidden;
  border: 1px solid var(--bs-border-color);
  border-radius: 18px;
  background: var(--bs-card-bg);
}

.users-project-picker-toolbar-v2391 {
  min-height: 58px;
  padding: 10px 14px;
  background: var(--bs-tertiary-bg);
}

.users-project-picker-toolbar-v2391 .btn {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  justify-content: center;
  font-weight: 800;
}

.users-project-picker-toolbar-v2391 [data-selected-count] {
  min-width: 76px;
  padding: 7px 11px;
  font-weight: 900;
  text-align: center;
}

.users-project-card-grid-v2391 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  padding: 14px;
}

.users-project-card-v2391 {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 96px;
  grid-template-columns: 48px minmax(0, 1fr) 30px;
  align-items: center;
  gap: 12px;
  margin: 0;
  padding: 14px;
  overflow: hidden;
  border: 1px solid var(--bs-border-color);
  border-radius: 15px;
  background: var(--bs-card-bg);
  color: var(--bs-body-color);
  cursor: pointer;
  transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.users-project-card-v2391:hover {
  border-color: color-mix(in srgb, var(--bs-primary) 45%, var(--bs-border-color));
  background: color-mix(in srgb, var(--bs-primary) 2.5%, var(--bs-card-bg));
}

.users-project-picker-v2391 .users-project-checkbox-v2391 {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  pointer-events: none;
}

.users-project-icon-v2391 {
  display: inline-flex;
  width: 48px;
  height: 48px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--bs-border-color);
  border-radius: 13px;
  background: var(--bs-tertiary-bg);
  color: var(--bs-secondary-color);
  font-size: 1.45rem;
  transition: border-color .18s ease, color .18s ease, background-color .18s ease;
}

.users-project-copy-v2391 {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 5px;
}

.users-project-copy-v2391 strong {
  overflow: hidden;
  color: var(--bs-body-color);
  font-size: .96rem;
  font-weight: 900;
  line-height: 1.45;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.users-project-copy-v2391 small {
  overflow: hidden;
  color: var(--bs-secondary-color);
  font-size: .76rem;
  font-weight: 700;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.users-project-checkmark-v2391 {
  display: inline-flex;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--bs-border-color);
  border-radius: 50%;
  background: var(--bs-body-bg);
  color: transparent;
  font-size: 1rem;
  transition: border-color .18s ease, color .18s ease, background-color .18s ease;
}

.users-project-card-v2391:has(.users-project-checkbox-v2391:checked) {
  border-color: var(--bs-primary);
  background: color-mix(in srgb, var(--bs-primary) 5%, var(--bs-card-bg));
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--bs-primary) 10%, transparent);
}

.users-project-card-v2391:has(.users-project-checkbox-v2391:checked) .users-project-icon-v2391 {
  border-color: color-mix(in srgb, var(--bs-primary) 40%, var(--bs-border-color));
  background: color-mix(in srgb, var(--bs-primary) 8%, var(--bs-card-bg));
  color: var(--bs-primary);
}

.users-project-card-v2391:has(.users-project-checkbox-v2391:checked) .users-project-checkmark-v2391 {
  border-color: var(--bs-primary);
  background: var(--bs-primary);
  color: #fff;
}

.users-project-card-v2391:focus-within {
  outline: 3px solid color-mix(in srgb, var(--bs-primary) 18%, transparent);
  outline-offset: 2px;
}

.users-switch-grid .sonic-natural-switch-copy small {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.modal .users-project-card-grid-v2391 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 1399.98px) {
  .users-project-card-grid-v2391 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 991.98px) {
  .users-project-card-grid-v2391 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .users-project-picker-toolbar-v2391 {
    align-items: stretch;
  }

  .users-project-picker-toolbar-v2391 > * {
    width: 100%;
  }

  .users-project-picker-toolbar-v2391 .d-flex .btn {
    flex: 1 1 0;
  }

  .users-project-card-grid-v2391,
.modal .users-project-card-grid-v2391 {
    grid-template-columns: 1fr;
    padding: 10px;
  }

  .users-project-card-v2391 {
    min-height: 86px;
  }
}

/* Permissions users redesign v2.3.92 */
.permissions-user-redesign-v2392 {overflow:hidden}
.permissions-user-redesign-v2392 .card-body {padding:22px}
.permission-users-card-header {align-items:center;gap:16px;flex-wrap:wrap}
.permission-users-header-note {font-size:.78rem;color:var(--bs-secondary-color);font-weight:700}
.permission-user-toolbar-v2392 {display:grid;grid-template-columns:minmax(320px,1fr) minmax(360px,1.1fr);gap:16px;padding:16px;border:1px solid var(--bs-border-color);border-radius:18px;background:var(--bs-tertiary-bg);margin-bottom:16px}
.permission-user-picker-v2392 {margin:0}
.permission-toolbar-field-v2392 {display:flex;flex-direction:column;gap:7px;min-width:0}
.permission-toolbar-field-v2392 .form-label {margin:0;font-weight:900;color:var(--bs-heading-color)}
.permission-toolbar-field-v2392 .form-select,
.permission-toolbar-field-v2392 .form-control {min-height:48px}
.permission-search-input-v2392 {position:relative;display:block}
.permission-search-input-v2392>i {position:absolute;right:15px;top:50%;transform:translateY(-50%);z-index:2;color:#635bff;font-size:19px}
.permission-search-input-v2392 .form-control {padding-right:44px;padding-left:44px}
.permission-search-clear-v2392 {position:absolute;left:9px;top:50%;transform:translateY(-50%);width:32px;height:32px;border:0;border-radius:9px;background:transparent;color:var(--bs-secondary-color);display:flex;align-items:center;justify-content:center;cursor:pointer}
.permission-search-clear-v2392:hover {background:var(--bs-secondary-bg);color:var(--bs-heading-color)}
.permission-user-summary-v2392 {display:grid;grid-template-columns:auto minmax(210px,1fr) minmax(180px,.55fr) auto;align-items:center;gap:14px;padding:15px 16px;border:1px solid #d9ddff;border-radius:18px;background:linear-gradient(90deg,rgba(99,91,255,.07),rgba(99,91,255,.015));margin-bottom:14px}
.permission-user-avatar-v2392 {width:48px;height:48px;border-radius:15px;background:#635bff;color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:0 8px 18px rgba(99,91,255,.18)}
.permission-user-summary-text-v2392,
.permission-user-group-v2392 {display:flex;flex-direction:column;gap:3px;min-width:0}
.permission-user-summary-text-v2392 strong,
.permission-user-group-v2392 strong {font-weight:900;color:var(--bs-heading-color)}
.permission-user-summary-text-v2392 span,
.permission-user-group-v2392 small {font-size:.76rem;color:var(--bs-secondary-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.permission-state-legend-v2392 {display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.permission-state-legend-v2392 span {display:inline-flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid var(--bs-border-color);border-radius:10px;background:var(--bs-body-bg);font-size:.72rem;font-weight:800;white-space:nowrap}
.permission-state-legend-v2392 span:nth-child(1) i {color:#64748b}.permission-state-legend-v2392 span:nth-child(2) i {color:#16a36a}.permission-state-legend-v2392 span:nth-child(3) i {color:#e33d62}
.permission-search-status-v2392 {display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 2px 14px;color:var(--bs-secondary-color);font-size:.78rem;font-weight:800}
.permission-search-status-v2392 span {display:inline-flex;align-items:center;gap:6px}
.permission-search-status-v2392 i {color:#635bff}
.permission-search-query-v2392 {padding:5px 9px;border-radius:9px;background:var(--bs-tertiary-bg)}
.permission-user-form-v2392 {display:block}
.permission-user-section-v2392 {margin:0 0 18px}
.permission-user-section-v2392[hidden] {display:none!important}
.permission-user-section-head-v2392 {display:flex;align-items:center;gap:10px;margin-bottom:10px;padding:0 4px}
.permission-section-icon-v2392 {width:36px;height:36px;border-radius:11px;background:rgba(99,91,255,.12);color:#635bff;display:flex;align-items:center;justify-content:center;font-size:18px}
.permission-user-section-head-v2392 h4 {font-size:1rem;font-weight:900;margin:0;color:var(--bs-heading-color)}
.permission-user-section-head-v2392 small {font-size:.72rem;color:var(--bs-secondary-color)}
.permission-user-pages-v2392 {display:grid;grid-template-columns:1fr;gap:12px}
.permission-user-page-card-v2392 {border:1px solid var(--bs-border-color);border-radius:18px;background:var(--bs-body-bg);overflow:hidden;transition:border-color .18s ease}
.permission-user-page-card-v2392:hover {border-color:#b9b5ff}
.permission-user-page-card-v2392[hidden] {display:none!important}
.permission-user-page-head-v2392 {display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px 15px;background:var(--bs-tertiary-bg);border-bottom:1px solid var(--bs-border-color)}
.permission-page-icon-v2392 {width:40px;height:40px;border-radius:12px;background:#635bff;color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px}
.permission-page-title-v2392 {display:flex;flex-direction:column;gap:2px;min-width:0}
.permission-page-title-v2392 strong {font-weight:900;color:var(--bs-heading-color)}
.permission-page-title-v2392 small {font-size:.72rem;color:var(--bs-secondary-color);direction:ltr;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.permission-count-v2392 {padding:7px 10px;border-radius:10px;background:var(--bs-body-bg);border:1px solid var(--bs-border-color);color:#635bff;font-size:.72rem;font-weight:900;white-space:nowrap}
.permission-user-permissions-v2392 {padding:5px 14px}
.permission-user-row-v2392 {display:grid;grid-template-columns:minmax(250px,1fr) minmax(330px,410px);align-items:center;gap:18px;padding:12px 2px;border-bottom:1px dashed var(--bs-border-color)}
.permission-user-row-v2392:last-child {border-bottom:0}
.permission-user-row-v2392[hidden] {display:none!important}
.permission-user-info-v2392 {display:flex;flex-direction:column;gap:6px;min-width:0}
.permission-user-name-v2392 {display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.permission-user-name-v2392 strong {font-weight:900;color:var(--bs-heading-color)}
.permission-open-badge-v2392 {padding:4px 7px;border-radius:7px;background:rgba(99,91,255,.11);color:#635bff;font-size:.66rem;font-weight:900}
.permission-user-meta-v2392 {display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:var(--bs-secondary-color);font-size:.72rem}
.permission-user-meta-v2392 code {direction:ltr;padding:3px 6px;border-radius:6px;background:var(--bs-tertiary-bg);color:#635bff}
.permission-effective-v2392 {display:inline-flex;align-items:center;padding:4px 7px;border-radius:7px;font-weight:900}
.permission-effective-v2392.is-allow {background:rgba(22,163,106,.12);color:#16895b}
.permission-effective-v2392.is-deny {background:rgba(227,61,98,.12);color:#d83058}
.permission-effective-v2392.is-inherited-allow {background:rgba(22,163,106,.08);color:#16895b}
.permission-effective-v2392.is-inherited-deny {background:rgba(100,116,139,.12);color:#59677a}
.permission-state-control-v2392 {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;width:100%}
.permission-state-choice-v2392 {position:relative;margin:0;cursor:pointer;min-width:0}
.permission-state-choice-v2392 input {position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:2}
.permission-state-choice-v2392 span {height:42px;border:1px solid var(--bs-border-color);border-radius:11px;background:var(--bs-body-bg);color:var(--bs-secondary-color);display:flex;align-items:center;justify-content:center;gap:6px;font-size:.78rem;font-weight:900;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease;white-space:nowrap}
.permission-state-choice-v2392 span i {font-size:16px}
.permission-state-choice-v2392:hover span {border-color:#aaa5ff}
.permission-state-choice-v2392.is-inherit input:checked+span {background:#64748b;border-color:#64748b;color:#fff;box-shadow:0 5px 12px rgba(100,116,139,.16)}
.permission-state-choice-v2392.is-allow input:checked+span {background:#18a66d;border-color:#18a66d;color:#fff;box-shadow:0 5px 12px rgba(24,166,109,.17)}
.permission-state-choice-v2392.is-deny input:checked+span {background:#e13c62;border-color:#e13c62;color:#fff;box-shadow:0 5px 12px rgba(225,60,98,.17)}
.permission-state-choice-v2392 input:focus-visible+span {outline:3px solid rgba(99,91,255,.22);outline-offset:2px}
.permission-no-results-v2392 {padding:32px;text-align:center;border:1px dashed var(--bs-border-color);border-radius:18px;background:var(--bs-tertiary-bg);display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--bs-secondary-color)}
.permission-no-results-v2392 i {font-size:34px;color:#635bff}.permission-no-results-v2392 strong {color:var(--bs-heading-color)}
.permission-save-footer-v2392 {display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding-top:16px;border-top:1px solid var(--bs-border-color)}
.permission-save-footer-v2392>div {display:flex;align-items:center;gap:7px;color:var(--bs-secondary-color);font-size:.76rem;font-weight:700}
.permission-save-footer-v2392>div i {color:#635bff;font-size:18px}
[data-bs-theme="dark"] .permission-user-summary-v2392 {border-color:#383759;background:linear-gradient(90deg,rgba(99,91,255,.16),rgba(99,91,255,.04))}
[data-bs-theme="dark"] .permission-state-choice-v2392 span,
[data-bs-theme="dark"] .permission-user-page-card-v2392,
[data-bs-theme="dark"] .permission-state-legend-v2392 span {background:#171b2d}
@media(max-width:1199.98px){.permission-user-toolbar-v2392 {grid-template-columns:1fr 1fr}.permission-user-summary-v2392 {grid-template-columns:auto 1fr auto}.permission-state-legend-v2392 {grid-column:1/-1;justify-content:flex-start}.permission-user-row-v2392 {grid-template-columns:minmax(220px,1fr) minmax(300px,380px)}}
@media(max-width:767.98px){.permissions-user-redesign-v2392 .card-body {padding:14px}.permission-user-toolbar-v2392 {grid-template-columns:1fr;padding:13px}.permission-user-summary-v2392 {grid-template-columns:auto minmax(0,1fr)}.permission-user-group-v2392 {grid-column:1/-1}.permission-state-legend-v2392 {grid-column:1/-1}.permission-user-row-v2392 {grid-template-columns:1fr;gap:10px;padding:13px 0}.permission-state-control-v2392 {grid-template-columns:repeat(3,1fr)}.permission-state-choice-v2392 span {height:40px;font-size:.72rem}.permission-save-footer-v2392 {align-items:stretch;flex-direction:column}.permission-save-footer-v2392 .btn {width:100%}.permission-user-page-head-v2392 {grid-template-columns:auto minmax(0,1fr)}.permission-count-v2392 {grid-column:1/-1;justify-self:start;margin-right:51px}.permission-search-status-v2392 {align-items:flex-start;flex-direction:column}}
.permission-no-results-v2392[hidden] {display:none!important}

/* ========================================================================== */
/* v2.3.93 - تفاعل بطاقات مشاريع المستخدم وحماية حالة الاختيار              */
/* ========================================================================== */
.users-project-card-v2391.is-selected {
  border-color: var(--bs-primary);
  background: color-mix(in srgb, var(--bs-primary) 5%, var(--bs-card-bg));
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--bs-primary) 10%, transparent);
}

.users-project-card-v2391.is-selected .users-project-icon-v2391 {
  border-color: color-mix(in srgb, var(--bs-primary) 40%, var(--bs-border-color));
  background: color-mix(in srgb, var(--bs-primary) 8%, var(--bs-card-bg));
  color: var(--bs-primary);
}

.users-project-card-v2391.is-selected .users-project-checkmark-v2391 {
  border-color: var(--bs-primary);
  background: var(--bs-primary);
  color: #fff;
}

.users-project-card-v2391.is-disabled {
  cursor: not-allowed;
  opacity: .56;
}

.users-project-card-v2391[aria-disabled="false"]:active {
  transform: scale(.995);
}

/* v2.3.94 - Unified group/user permission cards and reliable compact state controls */
.permissions-group-redesign-v2394 .permission-user-toolbar-v2392,
.permissions-user-redesign-v2392 .permission-user-toolbar-v2392 {
  align-items:end;
}
.permission-group-summary-v2394 {
  grid-template-columns:auto minmax(220px,1fr) minmax(170px,.55fr) auto;
}
.permission-group-avatar-v2394 {
  background:#334155;
  box-shadow:0 8px 18px rgba(51,65,85,.18);
}
.permission-group-legend-v2394 span:nth-child(1) i {color:#16a36a}
.permission-group-legend-v2394 span:nth-child(2) i {color:#e33d62}
.permission-group-bulk-v2394 {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  margin:0 0 14px;
}
.permission-group-bulk-v2394 .btn {
  min-width:112px;
  height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  border-radius:10px;
  font-size:.74rem;
  font-weight:900;
}
.permission-user-row-v2392,
.permission-group-row-v2394 {
  grid-template-columns:minmax(250px,1fr) minmax(238px,286px);
  gap:14px;
}
.permission-state-control-v2394,
.permission-group-state-control-v2394 {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
  width:100%;
  align-items:center;
}
.permission-group-state-control-v2394 {
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.permission-state-button-v2394 {
  appearance:none;
  -webkit-appearance:none;
  height:34px;
  min-width:0;
  padding:0 9px;
  border:1px solid currentColor;
  border-radius:9px;
  background:transparent;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  font-family:inherit;
  font-size:.70rem;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
  cursor:pointer;
  transition:background-color .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease;
  position:relative;
  z-index:1;
  pointer-events:auto!important;
}
.permission-state-button-v2394 i {font-size:14px;line-height:1}
.permission-state-button-v2394.is-inherit {color:#3478e5;border-color:#6fa4f2}
.permission-state-button-v2394.is-allow {color:#148c5d;border-color:#42bd88}
.permission-state-button-v2394.is-deny {color:#d63157;border-color:#f06b87}
.permission-state-button-v2394.is-inherit:hover,
.permission-state-button-v2394.is-inherit.is-active {background:rgba(52,120,229,.11);border-color:#3478e5;box-shadow:inset 0 0 0 1px rgba(52,120,229,.12)}
.permission-state-button-v2394.is-allow:hover,
.permission-state-button-v2394.is-allow.is-active {background:rgba(20,140,93,.11);border-color:#148c5d;box-shadow:inset 0 0 0 1px rgba(20,140,93,.12)}
.permission-state-button-v2394.is-deny:hover,
.permission-state-button-v2394.is-deny.is-active {background:rgba(214,49,87,.10);border-color:#d63157;box-shadow:inset 0 0 0 1px rgba(214,49,87,.12)}
.permission-state-button-v2394.is-active {border-width:2px}
.permission-state-button-v2394:focus-visible {outline:3px solid rgba(99,91,255,.20);outline-offset:2px}
.permission-group-checkbox-v2394 {display:none!important}
.permissions-group-redesign-v2394 .permission-no-results-v2392,
.permissions-user-redesign-v2392 .permission-no-results-v2392 {margin-top:12px}
[data-bs-theme="dark"] .permission-state-button-v2394 {background:#171b2d}
[data-bs-theme="dark"] .permission-state-button-v2394.is-inherit:hover,
[data-bs-theme="dark"] .permission-state-button-v2394.is-inherit.is-active {background:rgba(52,120,229,.20)}
[data-bs-theme="dark"] .permission-state-button-v2394.is-allow:hover,
[data-bs-theme="dark"] .permission-state-button-v2394.is-allow.is-active {background:rgba(20,140,93,.20)}
[data-bs-theme="dark"] .permission-state-button-v2394.is-deny:hover,
[data-bs-theme="dark"] .permission-state-button-v2394.is-deny.is-active {background:rgba(214,49,87,.19)}
@media(max-width:1199.98px){
  .permission-group-summary-v2394 {grid-template-columns:auto 1fr auto}
  .permission-group-legend-v2394 {grid-column:1/-1;justify-content:flex-start}
  .permission-user-row-v2392,
.permission-group-row-v2394 {grid-template-columns:minmax(220px,1fr) minmax(230px,270px)}
}
@media(max-width:767.98px){
  .permission-group-summary-v2394 {grid-template-columns:auto minmax(0,1fr)}
  .permission-group-summary-v2394 .permission-user-group-v2392,
.permission-group-summary-v2394 .permission-group-legend-v2394 {grid-column:1/-1}
  .permission-group-bulk-v2394 {justify-content:stretch}
  .permission-group-bulk-v2394 .btn {flex:1;min-width:0}
  .permission-user-row-v2392,
.permission-group-row-v2394 {grid-template-columns:1fr;gap:10px}
  .permission-state-control-v2394,
.permission-group-state-control-v2394 {width:100%}
  .permission-state-button-v2394 {height:33px;font-size:.68rem;padding-inline:6px}
}
.permissions-user-redesign-v2392:not(.permissions-group-redesign-v2394) .permission-state-legend-v2392 span:nth-child(1) i {color:#3478e5}
.permissions-user-redesign-v2392:not(.permissions-group-redesign-v2394) .permission-state-legend-v2392 span:nth-child(2) i {color:#d63157}
.permissions-user-redesign-v2392:not(.permissions-group-redesign-v2394) .permission-state-legend-v2392 span:nth-child(3) i {color:#148c5d}

/* v2.3.95 - user groups unified row and copy permissions modal */
.user-groups-form-grid-v2395 {
  display: grid;
  grid-template-columns: minmax(220px, 1.3fr) minmax(220px, 1.35fr) minmax(150px, .72fr) minmax(140px, .66fr) minmax(250px, 1.28fr);
  gap: 16px;
  align-items: end;
}
.user-groups-field-v2395 { min-width: 0; }
.user-groups-field-v2395 .form-label { margin-bottom: 8px; font-weight: 800; }
.user-groups-field-v2395 .input-group,
.user-groups-field-v2395 .form-control,
.user-groups-field-v2395 .form-select,
.user-groups-field-v2395 .input-group-text { min-height: 46px; }
.user-group-color-group-v2395 .form-control-color {
  width: 100%;
  max-width: none;
  padding: 7px 10px;
}
.user-group-active-field-v2395,
.user-group-active-field-v2395 .sonic-natural-switch-group,
.user-group-active-field-v2395 .sonic-natural-switch-control { min-height: 46px; }
.user-group-active-field-v2395 .sonic-natural-switch-control { padding-block: 5px; }
.user-group-active-field-v2395 .sonic-natural-switch-copy small { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.user-groups-list-header-v2395 { gap: 12px; flex-wrap: wrap; }
.user-groups-header-action-v2395 {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  font-weight: 800;
}
@media (max-width: 1399.98px) {
  .user-groups-form-grid-v2395 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .user-group-active-field-v2395 { grid-column: span 2; }
}
@media (max-width: 991.98px) {
  .user-groups-form-grid-v2395 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .user-group-active-field-v2395 { grid-column: auto; }
}
@media (max-width: 575.98px) {
  .user-groups-form-grid-v2395 { grid-template-columns: 1fr; gap: 12px; }
  .user-groups-list-header-v2395 > div { width: 100%; }
  .user-groups-header-action-v2395 { flex: 1 1 0; }
}

/* v2.3.95 - drivers linked to system users */
.driver-user-form-grid-v2395 { grid-template-columns: minmax(300px, 1.35fr) minmax(180px, .65fr) minmax(280px, 1fr); }
.drivers-users-link-page-v2395 .driver-list-table-v264 td:first-child { min-width: 210px; }
@media (max-width: 991.98px) {
  .driver-user-form-grid-v2395 { grid-template-columns: 1fr 1fr; }
  .driver-user-form-grid-v2395 > :first-child { grid-column: 1 / -1; }
}
@media (max-width: 575.98px) {
  .driver-user-form-grid-v2395 { grid-template-columns: 1fr; }
  .driver-user-form-grid-v2395 > :first-child { grid-column: auto; }
}

/* Sonic Tower v2.3.96 — driver group filtering and notification read action */
body .notifications-list-card-v2387 .notifications-row-actions-v2396 {
  display: grid !important;
  grid-template-columns: repeat(2, 122px) !important;
  align-items: center !important;
  justify-content: end !important;
  gap: 10px !important;
  flex: 0 0 auto !important;
  min-width: 254px !important;
  direction: rtl !important;
}
body .notifications-list-card-v2387 .notifications-row-actions-v2396 > a,
body .notifications-list-card-v2387 .notifications-row-actions-v2396 > form {
  display: block !important;
  width: 122px !important;
  min-width: 122px !important;
  max-width: 122px !important;
  height: 42px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
}
body .notifications-list-card-v2387 .notifications-row-actions-v2396 .notifications-action-btn-v2396 {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  height: 42px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  border-radius: 9px !important;
  font-family: "Tajawal", sans-serif !important;
  font-size: .84rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  writing-mode: horizontal-tb !important;
}
body .notifications-list-card-v2387 .notifications-row-actions-v2396 .notifications-action-btn-v2396 i {
  flex: 0 0 auto !important;
  font-size: 1.05rem !important;
  line-height: 1 !important;
}
body .notifications-list-card-v2387 .notifications-row-actions-v2396 .notifications-mark-read-v2396 {
  color: #fff !important;
  background: #22b573 !important;
  border: 1px solid #22b573 !important;
  box-shadow: none !important;
}
body .notifications-list-card-v2387 .notifications-row-actions-v2396 .notifications-mark-read-v2396:hover,
body .notifications-list-card-v2387 .notifications-row-actions-v2396 .notifications-mark-read-v2396:focus {
  color: #fff !important;
  background: #17965d !important;
  border-color: #17965d !important;
}
@media (max-width: 767.98px) {
  body .notifications-list-card-v2387 .notifications-row-actions-v2396 {
    width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body .notifications-list-card-v2387 .notifications-row-actions-v2396 > a,
body .notifications-list-card-v2387 .notifications-row-actions-v2396 > form {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }
}

/* v2.3.97 - Bootstrap outline permission actions and aligned registry editors */
.permission-state-actions-v2397,
.permission-group-bulk-v2397 {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 6px;
  white-space: nowrap;
}
.permission-state-actions-v2397 {
  width: 100%;
  justify-content: flex-end;
}
.permission-state-actions-v2397 .permission-choice-btn-v2397,
.permission-group-bulk-v2397 .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  height: 32px;
  min-height: 32px;
  border-radius: 8px;
  padding: 0 9px;
  font-size: .68rem;
  font-weight: 900;
  line-height: 1;
  box-shadow: none !important;
  white-space: nowrap;
}
.permission-state-actions-v2397 .permission-choice-btn-v2397 {
  flex: 1 1 0;
  min-width: 68px;
  max-width: 92px;
}
.permission-group-state-control-v2397 .permission-choice-btn-v2397 {
  max-width: 108px;
}
.permission-group-bulk-v2397 {
  justify-content: flex-end;
  margin: 0 0 14px;
}
.permission-group-bulk-v2397 .btn {
  min-width: 104px;
}
.permission-state-actions-v2397 .btn i,
.permission-group-bulk-v2397 .btn i {
  margin: 0;
  font-size: 14px;
  line-height: 1;
}
.permission-state-actions-v2397 .btn.active,
.permission-state-actions-v2397 .btn.is-active {
  color: #fff;
}
.permission-state-actions-v2397 .btn-outline-primary.active,
.permission-state-actions-v2397 .btn-outline-primary.is-active {
  background: var(--bs-primary);
  border-color: var(--bs-primary);
}
.permission-state-actions-v2397 .btn-outline-success.active,
.permission-state-actions-v2397 .btn-outline-success.is-active {
  background: var(--bs-success);
  border-color: var(--bs-success);
}
.permission-state-actions-v2397 .btn-outline-danger.active,
.permission-state-actions-v2397 .btn-outline-danger.is-active {
  background: var(--bs-danger);
  border-color: var(--bs-danger);
}

.permission-registry-page-grid-v2397 {
  display: grid;
  grid-template-columns: minmax(0,1.3fr) minmax(0,1fr) minmax(0,.82fr) minmax(0,.56fr) minmax(0,1.3fr);
  gap: 14px;
  align-items: end;
}
.permission-registry-action-grid-v2397 {
  display: grid;
  grid-template-columns: minmax(170px,1.2fr) minmax(120px,.58fr) minmax(190px,1.25fr);
  gap: 14px;
  align-items: end;
}
.permission-registry-field-v2397 {
  min-width: 0;
}
.permission-registry-field-v2397 .form-label,
.permission-registry-active-v2397 > .form-label {
  min-height: 22px;
  margin-bottom: 8px;
  font-weight: 800;
}
.permission-registry-field-v2397 .form-control,
.permission-registry-field-v2397 .form-select,
.permission-registry-active-v2397 .sonic-natural-switch-group,
.permission-registry-active-v2397 .sonic-natural-switch-control,
.permission-registry-active-v2397 .sonic-natural-switch-group > .input-group-text {
  height: 46px;
  min-height: 46px;
}
.permission-registry-active-v2397 .sonic-natural-switch-control {
  padding: 4px 11px;
}
.permission-registry-active-v2397 .sonic-natural-switch-group > .input-group-text {
  flex-basis: 46px;
  min-width: 46px;
  font-size: 1rem;
}
.permission-registry-active-v2397 .sonic-natural-switch-copy strong {
  font-size: .78rem;
}
.permission-registry-active-v2397 .sonic-natural-switch-copy small {
  margin-top: 1px;
  font-size: .61rem;
  line-height: 1.15;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.permission-registry-actions-card-v2397 .permission-registry-action-form-v2397 + .card-body {
  border-top: 1px solid var(--bs-border-color);
}
.permission-registry-actions-card-v2397 .sonic-equal-card-footer,
.permission-registry-page-card-v2397 .sonic-equal-card-footer {
  justify-content: flex-start;
}
.permissions-registry-v2397 .table td:last-child,
.permissions-registry-v2397 .table th:last-child {
  width: 105px;
  white-space: nowrap;
}
.permissions-registry-v2397 .table td:last-child .btn {
  min-width: 82px;
}
@media (max-width: 991.98px) {
  .permission-registry-page-grid-v2397 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .permission-registry-active-v2397 { grid-column: 1 / -1; }
}
@media (max-width: 767.98px) {
  .permission-state-actions-v2397 { justify-content: stretch; }
  .permission-state-actions-v2397 .permission-choice-btn-v2397 { max-width: none; min-width: 0; padding-inline: 5px; }
  .permission-group-bulk-v2397 { justify-content: stretch; }
  .permission-group-bulk-v2397 .btn { flex: 1; min-width: 0; }
  .permission-registry-page-grid-v2397,
.permission-registry-action-grid-v2397 { grid-template-columns: 1fr; }
  .permission-registry-active-v2397 { grid-column: auto; }
}

/* Sonic Tower v2.3.98 - Contractor finance workflow */
.contractor-finance-page .finance-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.contractor-finance-page .finance-stat-card {
  position: relative;
  min-height: 142px;
  border: 0;
  border-radius: 18px;
  padding: 20px;
  overflow: hidden;
  display: flex;
  align-items: flex-start;
  gap: 16px;
  color: #fff;
  box-shadow: 0 14px 28px rgba(15, 23, 42, .12);
}
.contractor-finance-page .finance-stat-card::after {
  content: "";
  position: absolute;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: rgba(255,255,255,.12);
  inset-inline-start: -34px;
  bottom: -58px;
}
.contractor-finance-page .finance-stat-card > span {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.17);
  border: 1px solid rgba(255,255,255,.28);
  font-size: 25px;
  flex: 0 0 auto;
}
.contractor-finance-page .finance-stat-card > div { position: relative; z-index: 1; min-width: 0; }
.contractor-finance-page .finance-stat-card small { display: block; font-weight: 800; opacity: .9; margin-bottom: 6px; }
.contractor-finance-page .finance-stat-card strong { display: block; font-size: 1.55rem; line-height: 1.25; }
.contractor-finance-page .finance-stat-card p { margin: 8px 0 0; font-size: .82rem; opacity: .82; }
.contractor-finance-page .finance-stat-card.is-blue { background: linear-gradient(135deg,#2563eb,#0891b2); }
.contractor-finance-page .finance-stat-card.is-green { background: linear-gradient(135deg,#16a34a,#0f9f7f); }
.contractor-finance-page .finance-stat-card.is-orange { background: linear-gradient(135deg,#f59e0b,#ea580c); }
.contractor-finance-page .finance-stat-card.is-purple { background: linear-gradient(135deg,#635bff,#7c3aed); }
.contractor-finance-page .finance-stat-card.is-red { background: linear-gradient(135deg,#ef4444,#e11d48); }
.contractor-finance-page .contractor-finance-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 15px;
  align-items: end;
}
.contractor-finance-page .contractor-finance-form > div { min-width: 0; }
.contractor-finance-page .contractor-finance-form .span-2 { grid-column: span 2; }
.contractor-finance-page .contractor-finance-form .span-all { grid-column: 1 / -1; }
.contractor-finance-page .contractor-finance-form .form-control,
.contractor-finance-page .contractor-finance-form .form-select { min-height: 44px; }
.contractor-finance-page .card-form-footer {
  border-top: 1px solid var(--bs-border-color);
  margin: 2px -20px -20px;
  padding: 16px 20px;
  background: rgba(var(--bs-light-rgb),.62);
  display: flex;
  justify-content: flex-start;
}
.contractor-finance-page .contractor-finance-list-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.contractor-finance-page .contractor-finance-filter { display: flex; gap: 10px; }
.contractor-finance-page .contractor-finance-filter .form-select { min-width: 190px; }
.contractor-finance-page .deduction-calculation-preview {
  min-height: 64px;
  border: 1px dashed rgba(99,91,255,.42);
  border-radius: 14px;
  background: rgba(99,91,255,.055);
  padding: 12px 16px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.contractor-finance-page .deduction-calculation-preview > i { font-size: 25px; color: var(--bs-primary); }
.contractor-finance-page .deduction-calculation-preview > span { flex: 1; color: var(--bs-secondary-color); }
.contractor-finance-page .deduction-calculation-preview > strong { font-size: 1.15rem; color: var(--bs-danger); }

.tm-financial-charge {
  border: 1px solid var(--bs-border-color);
  border-radius: 14px;
  background: rgba(var(--bs-light-rgb),.52);
  padding: 14px;
}
.tm-financial-charge-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.tm-financial-charge-head > div { display: flex; align-items: center; gap: 11px; }
.tm-financial-charge-head > div > i {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: #e11d48;
  background: rgba(225,29,72,.1);
  font-size: 21px;
}
.tm-financial-charge-head span { display: flex; flex-direction: column; }
.tm-financial-charge-head small { color: var(--bs-secondary-color); }
.tm-financial-charge-fields {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--bs-border-color);
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 12px;
}
.settlement-final-field.is-readonly .settlement-readonly-value {
  min-height: 44px;
  border: 1px solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  background: rgba(var(--bs-light-rgb),.72);
  padding: 10px 12px;
  font-weight: 900;
  display: flex;
  align-items: center;
}
.settlement-auto-source-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 14px;
}
.settlement-auto-source-grid > section {
  border: 1px solid var(--bs-border-color);
  border-radius: 14px;
  padding: 14px;
  background: var(--bs-body-bg);
}
.settlement-auto-source-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  font-weight: 900;
  margin-bottom: 10px;
}
.settlement-auto-source-head span { display: inline-flex; align-items: center; gap: 7px; }
.settlement-auto-source-head b {
  min-width: 28px;
  height: 28px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(99,91,255,.1);
  color: var(--bs-primary);
}
.settlement-auto-source-list { display: grid; gap: 8px; }
.settlement-auto-source-list > div {
  border: 1px solid var(--bs-border-color);
  border-radius: 11px;
  padding: 10px 11px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
.settlement-auto-source-list span { display: flex; flex-direction: column; min-width: 0; }
.settlement-auto-source-list small { color: var(--bs-secondary-color); white-space: normal; }
.settlement-auto-source-list > div > b { white-space: nowrap; color: var(--bs-danger); }

@media (max-width: 1199.98px) {
  .contractor-finance-page .finance-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .contractor-finance-page .contractor-finance-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tm-financial-charge-fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 767.98px) {
  .contractor-finance-page .finance-stat-grid,
.contractor-finance-page .contractor-finance-form,
.settlement-auto-source-grid { grid-template-columns: 1fr; }
  .contractor-finance-page .contractor-finance-form .span-2 { grid-column: span 1; }
  .contractor-finance-page .contractor-finance-filter { width: 100%; flex-direction: column; }
  .contractor-finance-page .contractor-finance-filter .form-select { width: 100%; min-width: 0; }
  .tm-financial-charge-head { align-items: flex-start; flex-direction: column; }
  .tm-financial-charge-fields { grid-template-columns: 1fr; }
}

/* Sonic Tower v2.3.99 — driver capability cards and permission alignment */
.drivers-users-link-page-v2395 .driver-user-form-grid-v2395 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  align-items: start;
}
.drivers-users-link-page-v2395 .driver-user-form-grid-v2395 > div:not(.driver-capability-panel-v264) {
  min-width: 0;
}
.drivers-users-link-page-v2395 .driver-user-form-grid-v2395 .form-control,
.drivers-users-link-page-v2395 .driver-user-form-grid-v2395 .form-select,
.drivers-users-link-page-v2395 .driver-user-form-grid-v2395 .select2-container .select2-selection--single {
  min-height: 46px;
}
.driver-capability-option-v2399 {
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  cursor: pointer;
  outline: 0;
}
.driver-capability-option-v2399 .driver-capability-input-v2399 {
  display: none !important;
}
.driver-capability-option-v2399.is-selected {
  border-color: color-mix(in srgb, var(--bs-primary) 72%, var(--bs-border-color));
  background: color-mix(in srgb, var(--bs-primary) 8%, var(--bs-body-bg));
  box-shadow: 0 10px 22px rgba(37, 99, 235, .13);
}
.driver-capability-option-v2399.is-selected .driver-capability-icon-v264 {
  color: #fff;
  background: linear-gradient(135deg, #4f46e5, #2563eb);
}
.driver-capability-option-v2399.is-selected .driver-capability-check-v264 {
  color: #fff;
  background: #16a34a;
  opacity: 1;
}
.driver-capability-option-v2399:focus-visible {
  outline: 3px solid rgba(var(--bs-primary-rgb), .22);
  outline-offset: 3px;
}
.driver-type-badge-v2399 {
  color: #fff !important;
  background: #1f2937 !important;
  border-color: #1f2937 !important;
  box-shadow: none !important;
}
[data-bs-theme="dark"] .driver-type-badge-v2399 {
  background: #020617 !important;
  border-color: #334155 !important;
}
@media (max-width: 991.98px) {
  .drivers-users-link-page-v2395 .driver-user-form-grid-v2395 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .drivers-users-link-page-v2395 .driver-user-form-grid-v2395 > :first-child {
    grid-column: 1 / -1;
  }
}
@media (max-width: 575.98px) {
  .drivers-users-link-page-v2395 .driver-user-form-grid-v2395 {
    grid-template-columns: 1fr;
  }
  .drivers-users-link-page-v2395 .driver-user-form-grid-v2395 > :first-child {
    grid-column: auto;
  }
}

.permissions-user-redesign-v2392 .permission-user-toolbar-v2392 {
  align-items: end;
}
.permissions-user-redesign-v2392 .permission-toolbar-field-v2392 {
  height: 100%;
  justify-content: flex-end;
}
.permissions-user-redesign-v2392 .permission-toolbar-field-v2392 .form-select,
.permissions-user-redesign-v2392 .permission-toolbar-field-v2392 .form-control,
.permissions-user-redesign-v2392 .permission-search-input-v2392 {
  height: 48px !important;
  min-height: 48px !important;
}
.permissions-user-redesign-v2392 .permission-search-input-v2392 {
  display: block;
}
.permissions-user-redesign-v2392 .permission-search-input-v2392 .form-control {
  width: 100%;
}
.permission-group-summary-v2399 {
  grid-template-columns: auto minmax(220px, 1fr) auto !important;
}
.permission-group-avatar-v2399 i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  line-height: 1;
}
.permission-group-state-control-v2399 {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 6px !important;
  width: 100% !important;
}
.permission-group-state-control-v2399 .permission-choice-btn-v2397 {
  flex: 1 1 0 !important;
  width: auto !important;
  min-width: 72px !important;
  max-width: none !important;
}
.permissions-registry-v2399 > .permission-registry-list-column-v2399,
.permissions-registry-v2399 > .permission-registry-editor-column-v2399 {
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.permission-registry-list-card-v2399 {
  flex: 1 1 auto;
  min-height: 100%;
}
.permission-registry-editor-column-v2399 {
  gap: 1.5rem;
}
.permission-registry-editor-column-v2399 .permission-registry-page-card-v2397 {
  flex: 0 0 auto;
  margin-bottom: 0 !important;
}
.permission-registry-editor-column-v2399 .permission-registry-actions-card-v2397 {
  flex: 1 1 auto;
  margin-bottom: 0;
}
@media (max-width: 991.98px) {
  .permission-group-summary-v2399 {
    grid-template-columns: auto minmax(0, 1fr) !important;
  }
  .permission-group-summary-v2399 .permission-group-legend-v2394 {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
  .permission-registry-list-card-v2399 {
    min-height: 520px;
  }
}
@media (max-width: 575.98px) {
  .permission-group-state-control-v2399 .permission-choice-btn-v2397 {
    min-width: 0 !important;
    padding-inline: 5px !important;
  }
}

/* =========================================================
   Sonic Tower v2.3.100 - Technical measurement & defects UI
   ========================================================= */
.tm-page-v23100,
.wd-page-v23100 {
  --v23100-radius: 18px;
  --v23100-gap: 16px;
}

/* Technical measurements: prominent statistics */
.tm-page-v23100 .tm-stat-grid-v23100 {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: var(--v23100-gap) !important;
  padding: 18px 22px 22px !important;
  background: var(--bs-card-bg) !important;
}
.tm-page-v23100 .tm-stat-card {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 15px !important;
  min-height: 132px !important;
  padding: 20px !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 20px !important;
  text-align: right !important;
  color: #fff !important;
  box-shadow: 0 14px 30px rgba(31, 42, 68, .12) !important;
}
.tm-page-v23100 .tm-stat-card::before,
.tm-page-v23100 .tm-stat-card::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  background: rgba(255,255,255,.10);
  pointer-events: none;
}
.tm-page-v23100 .tm-stat-card::before { width: 112px; height: 112px; inset-inline-start: -38px; top: -42px; }
.tm-page-v23100 .tm-stat-card::after { width: 86px; height: 86px; inset-inline-end: -24px; bottom: -36px; }
.tm-page-v23100 .tm-stat-purple-v23100 { background: linear-gradient(135deg,#6f63ff 0%,#4f46e5 100%) !important; }
.tm-page-v23100 .tm-stat-orange-v23100 { background: linear-gradient(135deg,#ffb12c 0%,#ef7d0b 100%) !important; }
.tm-page-v23100 .tm-stat-green-v23100 { background: linear-gradient(135deg,#20bd80 0%,#07865d 100%) !important; }
.tm-page-v23100 .tm-stat-blue-v23100 { background: linear-gradient(135deg,#2da9dd 0%,#1677b8 100%) !important; }
.tm-page-v23100 .tm-stat-icon-v23100 {
  position: relative;
  z-index: 1;
  width: 52px;
  height: 52px;
  flex: 0 0 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 15px;
  border: 1px solid rgba(255,255,255,.35);
  background: rgba(255,255,255,.14);
  color: #fff;
  font-size: 1.55rem;
}
.tm-page-v23100 .tm-stat-card > div { position: relative; z-index: 1; min-width: 0; }
.tm-page-v23100 .tm-stat-card small,
.tm-page-v23100 .tm-stat-card strong,
.tm-page-v23100 .tm-stat-card span {
  color: #fff !important;
  text-align: right !important;
}
.tm-page-v23100 .tm-stat-card small { margin: 0 0 6px !important; font-weight: 800 !important; opacity: .88; }
.tm-page-v23100 .tm-stat-card strong { font-size: 2rem !important; line-height: 1 !important; font-weight: 900 !important; }
.tm-page-v23100 .tm-stat-card span { margin-top: 8px !important; font-size: .82rem !important; opacity: .86; }

/* Technical request card and form */
.tm-page-v23100 .tm-request-card {
  position: relative;
  overflow: hidden;
  border: 1px solid #e2e7f0 !important;
  border-inline-end: 5px solid #6558f5 !important;
  border-radius: 20px !important;
  box-shadow: none !important;
  background: var(--bs-card-bg) !important;
}
.tm-page-v23100 .tm-request-card.is-closed { border-inline-end-color: #16a36f !important; }
.tm-page-v23100 .tm-request-head {
  padding: 18px 20px !important;
  border-bottom: 1px solid #e8ecf3 !important;
  background: linear-gradient(180deg,#fafbfe 0%,#f6f8fc 100%) !important;
}
.tm-page-v23100 .tm-request-card .card-body { padding: 20px !important; }
.tm-page-v23100 .tm-kpi-grid { gap: 14px !important; margin-bottom: 18px !important; }
.tm-page-v23100 .tm-kpi {
  min-height: 94px !important;
  padding: 16px !important;
  border: 1px solid #e5e9f2 !important;
  border-radius: 16px !important;
  background: #f8f9fc !important;
}
.tm-page-v23100 .tm-review-form {
  padding: 18px !important;
  border: 1px solid #e1e6f0 !important;
  border-radius: 18px !important;
  background: #fbfcfe !important;
}
.tm-page-v23100 .tm-form-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
}
.tm-page-v23100 .tm-form-group {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  margin: 0 !important;
}
.tm-page-v23100 .tm-form-group .form-label {
  min-height: 22px;
  margin-bottom: 7px !important;
  font-weight: 800 !important;
  color: #26304b !important;
}
.tm-page-v23100 .tm-form-group .form-control,
.tm-page-v23100 .tm-form-group .form-select,
.tm-page-v23100 .tm-form-group .input-group,
.tm-page-v23100 .tm-form-group .input-group > .form-control,
.tm-page-v23100 .tm-form-group .input-group > .input-group-text {
  min-height: 46px !important;
  height: 46px !important;
}
.tm-page-v23100 .tm-form-group input[type="file"].form-control {
  padding-top: 9px !important;
  padding-bottom: 9px !important;
}
.tm-page-v23100 .tm-readonly-measured-v23100 .form-control {
  background: #eef2f7 !important;
  color: #526079 !important;
  font-weight: 900 !important;
  cursor: not-allowed;
}

.tm-page-v23100 .tm-financial-charge-full-v23100 {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  border: 1px solid #e0e6ef !important;
  border-radius: 18px !important;
  background: var(--bs-card-bg) !important;
}
.tm-page-v23100 .tm-financial-charge-head {
  min-height: 72px;
  padding: 14px 18px !important;
  border-bottom: 1px solid #e7ebf2 !important;
  background: linear-gradient(90deg,#f7f4ff 0%,#fbfcff 100%) !important;
}
.tm-page-v23100 .tm-financial-charge-head > div {
  display: flex;
  align-items: center;
  gap: 12px;
}
.tm-page-v23100 .tm-financial-charge-head > div > i {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 13px;
  background: #efeaff;
  color: #635bff;
  font-size: 1.3rem;
}
.tm-page-v23100 .tm-financial-charge-head strong { display: block; font-weight: 900; color: #232d48; }
.tm-page-v23100 .tm-financial-charge-head small { display: block; margin-top: 3px; color: #8d95aa; }
.tm-page-v23100 .tm-financial-charge-fields {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  padding: 16px 18px 18px !important;
  align-items: end !important;
}
.tm-page-v23100 .tm-financial-charge-fields > div { min-width: 0; }
.tm-page-v23100 .tm-financial-charge-fields .form-control,
.tm-page-v23100 .tm-financial-charge-fields .form-select {
  min-height: 46px !important;
  height: 46px !important;
}
.tm-page-v23100 .tm-request-footer {
  padding: 14px 20px !important;
  border-top: 1px solid #e7ebf2 !important;
  background: #fafbfe !important;
}
.tm-page-v23100 .tm-footer-actions { display: flex !important; gap: 10px !important; align-items: center !important; flex-wrap: wrap !important; }
.tm-page-v23100 .tm-footer-actions .btn { min-height: 40px; }

/* Work defects: prominent statistics */
.wd-page-v23100 .wd-stat-grid-v23100 {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: var(--v23100-gap) !important;
  padding: 18px 22px 22px !important;
  background: var(--bs-card-bg) !important;
}
.wd-page-v23100 .wd-stat-card {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 15px !important;
  min-height: 132px !important;
  padding: 20px !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 20px !important;
  text-align: right !important;
  color: #fff !important;
  box-shadow: 0 14px 30px rgba(31,42,68,.12) !important;
}
.wd-page-v23100 .wd-stat-card::before,
.wd-page-v23100 .wd-stat-card::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  background: rgba(255,255,255,.10);
  pointer-events: none;
}
.wd-page-v23100 .wd-stat-card::before { width: 112px; height: 112px; inset-inline-start: -38px; top: -42px; }
.wd-page-v23100 .wd-stat-card::after { width: 86px; height: 86px; inset-inline-end: -24px; bottom: -36px; }
.wd-page-v23100 .wd-stat-red-v23100 { background: linear-gradient(135deg,#f25a73 0%,#c7294d 100%) !important; }
.wd-page-v23100 .wd-stat-orange-v23100 { background: linear-gradient(135deg,#ffb12c 0%,#ef7d0b 100%) !important; }
.wd-page-v23100 .wd-stat-blue-v23100 { background: linear-gradient(135deg,#3a9fe4 0%,#2563c7 100%) !important; }
.wd-page-v23100 .wd-stat-green-v23100 { background: linear-gradient(135deg,#20bd80 0%,#07865d 100%) !important; }
.wd-page-v23100 .wd-stat-icon-v23100 {
  position: relative;
  z-index: 1;
  width: 52px;
  height: 52px;
  flex: 0 0 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 15px;
  border: 1px solid rgba(255,255,255,.35);
  background: rgba(255,255,255,.14);
  color: #fff;
  font-size: 1.55rem;
}
.wd-page-v23100 .wd-stat-card > div { position: relative; z-index: 1; min-width: 0; }
.wd-page-v23100 .wd-stat-card small,
.wd-page-v23100 .wd-stat-card strong,
.wd-page-v23100 .wd-stat-card span { color: #fff !important; text-align: right !important; }
.wd-page-v23100 .wd-stat-card small { margin: 0 0 6px !important; font-weight: 800 !important; opacity: .88; }
.wd-page-v23100 .wd-stat-card strong { font-size: 2rem !important; line-height: 1 !important; font-weight: 900 !important; }
.wd-page-v23100 .wd-stat-card span { margin-top: 8px !important; font-size: .82rem !important; opacity: .86; }

/* Work defects: neutral, ordered cards */
.wd-page-v23100 .wd-defect-card {
  --wd-v23100-accent: #f0a412;
  --wd-v23100-rgb: 240,164,18;
  overflow: hidden !important;
  border: 1px solid #e2e7f0 !important;
  border-inline-end: 5px solid var(--wd-v23100-accent) !important;
  border-radius: 20px !important;
  background: var(--bs-card-bg) !important;
  box-shadow: none !important;
}
.wd-page-v23100 .wd-defect-card.is-recheck { --wd-v23100-accent:#2878d4; --wd-v23100-rgb:40,120,212; }
.wd-page-v23100 .wd-defect-card.is-escalated { --wd-v23100-accent:#df4763; --wd-v23100-rgb:223,71,99; }
.wd-page-v23100 .wd-defect-card.is-closed { --wd-v23100-accent:#1d9b67; --wd-v23100-rgb:29,155,103; }
.wd-page-v23100 .wd-defect-head {
  padding: 18px 20px !important;
  border: 0 !important;
  border-bottom: 1px solid #e8ecf3 !important;
  background: linear-gradient(180deg,#fafbfe 0%,#f6f8fc 100%) !important;
}
.wd-page-v23100 .wd-defect-head::before,
.wd-page-v23100 .wd-defect-head::after { display: none !important; }
.wd-page-v23100 .wd-defect-title-row h3,
.wd-page-v23100 .wd-defect-location { color: #27314c !important; }
.wd-page-v23100 .wd-defect-location { opacity: 1 !important; color: #8790a5 !important; }
.wd-page-v23100 .wd-defect-number {
  color: var(--wd-v23100-accent) !important;
  background: rgba(var(--wd-v23100-rgb),.10) !important;
  border: 1px solid rgba(var(--wd-v23100-rgb),.18) !important;
}
.wd-page-v23100 .wd-contractor-chip {
  color: #fff !important;
  background: var(--wd-v23100-accent) !important;
  box-shadow: none !important;
}
.wd-page-v23100 .wd-defect-card > .card-body {
  padding: 20px !important;
  background: var(--bs-card-bg) !important;
}
.wd-page-v23100 .wd-kpi-grid { gap: 14px !important; margin-bottom: 18px !important; }
.wd-page-v23100 .wd-kpi {
  min-height: 98px !important;
  padding: 16px !important;
  border: 1px solid #e5e9f2 !important;
  border-radius: 16px !important;
  background: #f8f9fc !important;
  box-shadow: none !important;
}
.wd-page-v23100 .wd-reason-box {
  padding: 16px 18px !important;
  border: 1px solid #ece2c9 !important;
  border-radius: 16px !important;
  background: #fffaf0 !important;
}
.wd-page-v23100 .wd-correction-form {
  margin-top: 18px !important;
  padding: 18px !important;
  border: 1px solid #e1e6f0 !important;
  border-radius: 18px !important;
  background: #fbfcfe !important;
  box-shadow: none !important;
}
.wd-page-v23100 .wd-correction-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
}
.wd-page-v23100 .wd-form-field {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  margin: 0 !important;
}
.wd-page-v23100 .wd-form-field .form-label {
  min-height: 22px;
  margin-bottom: 7px !important;
  font-weight: 800 !important;
  color: #26304b !important;
}
.wd-page-v23100 .wd-form-field .form-control,
.wd-page-v23100 .wd-form-field .form-select {
  min-height: 46px !important;
  height: 46px !important;
}
.wd-page-v23100 .wd-form-field input[type="file"].form-control {
  padding-top: 9px !important;
  padding-bottom: 9px !important;
}
.wd-page-v23100 .wd-correction-attachments-v23100 { grid-column: 1 / -1 !important; }
.wd-page-v23100 .wd-defect-footer {
  padding: 14px 20px !important;
  border-top: 1px solid #e7ebf2 !important;
  background: #fafbfe !important;
}
.wd-page-v23100 .wd-recheck-panel,
.wd-page-v23100 .wd-recheck-card {
  border: 1px solid #e2e7f0 !important;
  border-radius: 20px !important;
  box-shadow: none !important;
  overflow: hidden;
}
.wd-page-v23100 .wd-recheck-card-head {
  background: linear-gradient(135deg,#635bff 0%,#4338ca 100%) !important;
}
.wd-page-v23100 .wd-recheck-form-grid {
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  gap: 16px !important;
}

/* Responsive */
@media (max-width: 1199.98px) {
  .tm-page-v23100 .tm-stat-grid-v23100,
.wd-page-v23100 .wd-stat-grid-v23100 { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .tm-page-v23100 .tm-form-grid,
.tm-page-v23100 .tm-financial-charge-fields { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .wd-page-v23100 .wd-correction-grid,
.wd-page-v23100 .wd-recheck-form-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .wd-page-v23100 .wd-correction-attachments-v23100 { grid-column: 1 / -1 !important; }
}
@media (max-width: 767.98px) {
  .tm-page-v23100 .tm-stat-grid-v23100,
.wd-page-v23100 .wd-stat-grid-v23100,
.tm-page-v23100 .tm-form-grid,
.tm-page-v23100 .tm-financial-charge-fields,
.wd-page-v23100 .wd-correction-grid,
.wd-page-v23100 .wd-recheck-form-grid { grid-template-columns: 1fr !important; }
  .tm-page-v23100 .tm-stat-card,
.wd-page-v23100 .wd-stat-card { min-height: 112px !important; }
  .tm-page-v23100 .tm-financial-charge-head { align-items: flex-start !important; gap: 12px; flex-direction: column !important; }
  .wd-page-v23100 .wd-correction-attachments-v23100 { grid-column: span 1 !important; }
  .tm-page-v23100 .tm-footer-actions .btn,
.wd-page-v23100 .wd-defect-actions .btn { width: 100% !important; }
}

[data-bs-theme="dark"] .tm-page-v23100 .tm-stat-grid-v23100,
[data-bs-theme="dark"] .wd-page-v23100 .wd-stat-grid-v23100,
[data-bs-theme="dark"] .tm-page-v23100 .tm-request-card,
[data-bs-theme="dark"] .wd-page-v23100 .wd-defect-card,
[data-bs-theme="dark"] .tm-page-v23100 .tm-financial-charge-full-v23100,
[data-bs-theme="dark"] .wd-page-v23100 .wd-correction-form { background: #141b2b !important; }
[data-bs-theme="dark"] .tm-page-v23100 .tm-request-head,
[data-bs-theme="dark"] .wd-page-v23100 .wd-defect-head,
[data-bs-theme="dark"] .tm-page-v23100 .tm-request-footer,
[data-bs-theme="dark"] .wd-page-v23100 .wd-defect-footer { background: #182133 !important; border-color: #2b3549 !important; }
[data-bs-theme="dark"] .tm-page-v23100 .tm-review-form,
[data-bs-theme="dark"] .tm-page-v23100 .tm-kpi,
[data-bs-theme="dark"] .wd-page-v23100 .wd-kpi,
[data-bs-theme="dark"] .wd-page-v23100 .wd-reason-box { background: #182133 !important; border-color: #2b3549 !important; }
[data-bs-theme="dark"] .tm-page-v23100 .tm-form-group .form-label,
[data-bs-theme="dark"] .wd-page-v23100 .wd-form-field .form-label,
[data-bs-theme="dark"] .wd-page-v23100 .wd-defect-title-row h3 { color: #eef2ff !important; }
.tm-page-v23100 .tm-financial-charge-fields[hidden],
.tm-page-v23100 .tm-financial-charge-fields > [hidden] {
  display: none !important;
}

/* Sonic Tower v2.3.101 — separated flat warning for missing machinery types */
.driver-capability-empty-v23101 {
  display:flex;
  align-items:center;
  gap:10px;
  margin:16px;
  padding:13px 15px;
  border:1px solid color-mix(in srgb,var(--bs-warning) 58%,var(--bs-border-color));
  border-inline-start:5px solid var(--bs-warning);
  border-radius:0 !important;
  background:color-mix(in srgb,var(--bs-warning) 13%,var(--bs-body-bg));
  color:color-mix(in srgb,var(--bs-warning-text-emphasis) 86%,var(--bs-emphasis-color));
  font-weight:800;
  line-height:1.65;
}
.driver-capability-empty-v23101 i {
  flex:0 0 auto;
  font-size:20px;
  color:var(--bs-warning-text-emphasis);
}
.driver-capability-empty-v23101 span {min-width:0}
[data-bs-theme="dark"] .driver-capability-empty-v23101 {
  background:color-mix(in srgb,var(--bs-warning) 11%,var(--bs-body-bg));
}
@media (max-width:575.98px){
  .driver-capability-empty-v23101 {margin:12px;padding:12px 13px;align-items:flex-start}
}


/* Sonic Tower v2.3.102 — ضمانات العيوب والتحصيل المالي المباشر */
.tm-page-v23100 .tm-live-finance-grid-v23102 {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(190px,1fr));
  gap: 14px;
  margin-bottom: 18px;
}
.tm-page-v23100 .tm-live-stat-v23102 {
  position: relative;
  min-height: 112px;
  padding: 16px 17px;
  border: 0;
  border-radius: 17px;
  overflow: hidden;
  display: flex;
  align-items: flex-start;
  gap: 13px;
  color: #fff;
  box-shadow: 0 10px 24px rgba(25,32,61,.08);
}
.tm-page-v23100 .tm-live-stat-v23102::after {
  content: "";
  position: absolute;
  width: 105px;
  height: 105px;
  border-radius: 50%;
  inset-inline-start: -34px;
  bottom: -50px;
  background: rgba(255,255,255,.13);
}
.tm-page-v23100 .tm-live-stat-v23102 > span {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.35);
  background: rgba(255,255,255,.13);
  font-size: 1.35rem;
  position: relative;
  z-index: 1;
}
.tm-page-v23100 .tm-live-stat-v23102 > div { min-width: 0; position: relative; z-index: 1; }
.tm-page-v23100 .tm-live-stat-v23102 small,
.tm-page-v23100 .tm-live-stat-v23102 strong,
.tm-page-v23100 .tm-live-stat-v23102 em { display: block; color: #fff !important; font-style: normal; }
.tm-page-v23100 .tm-live-stat-v23102 small { font-weight: 800; opacity: .88; margin-bottom: 7px; }
.tm-page-v23100 .tm-live-stat-v23102 strong { font-size: 1.25rem; line-height: 1.2; font-weight: 900; white-space: nowrap; }
.tm-page-v23100 .tm-live-stat-v23102 em { margin-top: 6px; font-size: .79rem; opacity: .82; }
.tm-page-v23100 .tm-live-stat-v23102.is-purple { background: linear-gradient(135deg,#7358f5 0%,#5041d7 100%); }
.tm-page-v23100 .tm-live-stat-v23102.is-dark { background: linear-gradient(135deg,#3d4961 0%,#202b42 100%); }
.tm-page-v23100 .tm-live-stat-v23102.is-blue { background: linear-gradient(135deg,#3a9fe4 0%,#2563c7 100%); }
.tm-page-v23100 .tm-live-stat-v23102.is-green { background: linear-gradient(135deg,#20bd80 0%,#07865d 100%); }
.tm-page-v23100 .tm-live-stat-v23102.is-orange { background: linear-gradient(135deg,#ffb12c 0%,#ef7d0b 100%); }
.tm-page-v23100 .tm-live-stat-v23102.is-red { background: linear-gradient(135deg,#f25a73 0%,#c7294d 100%); }
.tm-page-v23100 .tm-live-stat-v23102.is-teal { background: linear-gradient(135deg,#1fb7bd 0%,#087d91 100%); }

.tm-page-v23100 .tm-defect-hold-card-v23102 {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 15px 17px;
  border: 1px solid #f5cf73;
  border-inline-start: 5px solid #f59e0b;
  border-radius: 14px;
  background: linear-gradient(90deg,#fffaf0 0%,#fff7df 100%);
}
.tm-page-v23100 .tm-defect-hold-card-v23102.is-zero-v23102 { opacity: .72; }
.tm-page-v23100 .tm-defect-hold-icon-v23102 {
  width: 46px;
  height: 46px;
  border-radius: 13px;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(135deg,#ffb12c,#ef7d0b);
  font-size: 1.4rem;
}
.tm-page-v23100 .tm-defect-hold-copy-v23102 strong { display: block; color: #714b05; font-weight: 900; }
.tm-page-v23100 .tm-defect-hold-copy-v23102 small { display: block; color: #9a762c; margin-top: 4px; line-height: 1.65; }
.tm-page-v23100 .tm-defect-hold-value-v23102 { text-align: end; min-width: 150px; }
.tm-page-v23100 .tm-defect-hold-value-v23102 span { display: block; color: #9a762c; font-size: .82rem; font-weight: 800; }
.tm-page-v23100 .tm-defect-hold-value-v23102 strong { display: block; color: #b96f00; font-size: 1.25rem; font-weight: 900; margin-top: 3px; }

.tm-page-v23100 .tm-extra-charge-card-v23102 {
  grid-column: 1 / -1;
  border: 1px solid #ffc3ce;
  border-inline-start: 5px solid #e83258;
  border-radius: 15px;
  background: linear-gradient(90deg,#fff8fa 0%,#fff1f4 100%);
  overflow: hidden;
}
.tm-page-v23100 .tm-extra-charge-card-v23102.is-enabled-v23102 { border-color: #e83258; }
.tm-page-v23100 .tm-extra-charge-head-v23102 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 15px 17px;
}
.tm-page-v23100 .tm-extra-charge-title-v23102 { display: flex; align-items: center; gap: 12px; min-width: 0; }
.tm-page-v23100 .tm-extra-charge-title-v23102 > span:last-child { min-width: 0; }
.tm-page-v23100 .tm-extra-charge-title-v23102 strong { display: block; color: #9f1837; font-weight: 900; }
.tm-page-v23100 .tm-extra-charge-title-v23102 small { display: block; color: #b95f74; margin-top: 4px; }
.tm-page-v23100 .tm-extra-charge-icon-v23102 {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(135deg,#f25a73,#c7294d);
  font-size: 1.3rem;
}
.tm-page-v23100 .tm-extra-charge-toggle-v23102 {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  cursor: pointer;
  user-select: none;
  color: #9f1837;
  white-space: nowrap;
}
.tm-page-v23100 .tm-extra-charge-input-v23102 { position: absolute; opacity: 0; pointer-events: none; }
.tm-page-v23100 .tm-extra-charge-switch-v23102 {
  width: 44px;
  height: 24px;
  border-radius: 999px;
  background: #d9dde8;
  position: relative;
  transition: .2s ease;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.05);
}
.tm-page-v23100 .tm-extra-charge-switch-v23102::after {
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  top: 3px;
  inset-inline-start: 3px;
  border-radius: 50%;
  background: var(--bs-card-bg);
  box-shadow: 0 2px 6px rgba(0,0,0,.18);
  transition: .2s ease;
}
.tm-page-v23100 .tm-extra-charge-input-v23102:checked + .tm-extra-charge-switch-v23102 { background: #e83258; }
.tm-page-v23100 .tm-extra-charge-input-v23102:checked + .tm-extra-charge-switch-v23102::after { transform: translateX(-20px); }
[dir="ltr"] .tm-page-v23100 .tm-extra-charge-input-v23102:checked + .tm-extra-charge-switch-v23102::after { transform: translateX(20px); }
.tm-page-v23100 .tm-extra-charge-fields-v23102 {
  padding: 15px 17px;
  border-top: 1px solid #ffd5dd;
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 14px;
  align-items: end;
}
.tm-page-v23100 .tm-extra-charge-fields-v23102[hidden],
.tm-page-v23100 .tm-extra-charge-fields-v23102 > [hidden] { display: none !important; }
.tm-page-v23100 .tm-extra-charge-fields-v23102 .form-control,
.tm-page-v23100 .tm-extra-charge-fields-v23102 .form-select,
.tm-page-v23100 .tm-calculated-charge-v23102 { height: 46px; min-height: 46px; }
.tm-page-v23100 .tm-calculated-charge-v23102 {
  display: flex;
  align-items: center;
  padding: 0 14px;
  border: 1px solid #f0a4b4;
  border-radius: 10px;
  background: var(--bs-card-bg);
  color: #c7294d;
  font-weight: 900;
}
.tm-page-v23100 .tm-charge-reason-v23102 { grid-column: span 1; }
.tm-page-v23100 .tm-extra-charge-limit-v23102 {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 17px;
  border-top: 1px dashed #f3aebe;
  color: #a9465d;
  font-size: .82rem;
}

.wd-page-v23100 .wd-financial-stat-grid-v23102 {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 14px;
  padding: 0 18px 18px;
  background: var(--bs-card-bg);
}
.wd-page-v23100 .wd-financial-stat-v23102 {
  min-height: 94px;
  padding: 15px 17px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  gap: 13px;
  color: #fff;
  overflow: hidden;
  position: relative;
}
.wd-page-v23100 .wd-financial-stat-v23102 > span { width: 42px; height: 42px; flex: 0 0 42px; border-radius: 12px; display: grid; place-items: center; background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.3); font-size: 1.3rem; }
.wd-page-v23100 .wd-financial-stat-v23102 small,
.wd-page-v23100 .wd-financial-stat-v23102 strong,
.wd-page-v23100 .wd-financial-stat-v23102 em { display: block; color: #fff !important; font-style: normal; }
.wd-page-v23100 .wd-financial-stat-v23102 small { font-weight: 800; opacity: .88; }
.wd-page-v23100 .wd-financial-stat-v23102 strong { font-size: 1.35rem; font-weight: 900; margin-top: 3px; }
.wd-page-v23100 .wd-financial-stat-v23102 em { font-size: .78rem; opacity: .82; margin-top: 3px; }
.wd-page-v23100 .wd-financial-stat-v23102.is-held { background: linear-gradient(135deg,#ffb12c,#ef7d0b); }
.wd-page-v23100 .wd-financial-stat-v23102.is-released { background: linear-gradient(135deg,#20bd80,#07865d); }
.wd-page-v23100 .wd-financial-stat-v23102.is-final { background: linear-gradient(135deg,#566176,#283348); }

.wd-page-v23100 .wd-hold-ledger-v23102 {
  margin-top: 15px;
  border: 1px solid #e5e9f3;
  border-inline-start: 5px solid #f59e0b;
  border-radius: 15px;
  overflow: hidden;
  background: var(--bs-card-bg);
}
.wd-page-v23100 .wd-hold-ledger-head-v23102 { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 15px; background: #fff9eb; border-bottom: 1px solid #f6dfae; }
.wd-page-v23100 .wd-hold-ledger-head-v23102 > span { display: flex; align-items: center; gap: 8px; color: #8a5a05; }
.wd-page-v23100 .wd-hold-ledger-grid-v23102 { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; }
.wd-page-v23100 .wd-hold-ledger-grid-v23102 > div { padding: 13px 15px; border-inline-end: 1px solid #edf0f5; }
.wd-page-v23100 .wd-hold-ledger-grid-v23102 > div:last-child { border-inline-end: 0; }
.wd-page-v23100 .wd-hold-ledger-grid-v23102 small { display: block; color: #8b94a8; font-weight: 800; }
.wd-page-v23100 .wd-hold-ledger-grid-v23102 strong { display: block; margin-top: 4px; color: #25304a; font-weight: 900; }
.wd-page-v23100 .wd-hold-ledger-grid-v23102 .is-success strong { color: #0b9868; }
.wd-page-v23100 .wd-hold-ledger-grid-v23102 .is-warning strong { color: #d17d00; }
.wd-page-v23100 .wd-hold-ledger-grid-v23102 .is-danger strong { color: #d62f50; }
.wd-page-v23100 .wd-hold-ledger-v23102 > p { margin: 0; padding: 10px 15px; border-top: 1px dashed #e5e9f3; color: #788196; font-size: .82rem; }

.settlement-stat-defect-hold-v23102 { background: linear-gradient(135deg,#ffb12c,#ef7d0b) !important; }
.settlement-stat-defect-final-v23102 { background: linear-gradient(135deg,#566176,#283348) !important; }
.settlement-defect-finance-note-v23102 {
  margin-top: 14px;
  padding: 13px 15px;
  border: 1px solid #f1d28d;
  border-inline-start: 5px solid #f59e0b;
  border-radius: 13px;
  background: #fffaf0;
}
.settlement-defect-finance-note-v23102 > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.settlement-defect-finance-note-v23102 > div > span { display: flex; align-items: center; gap: 8px; color: #80530a; }
.settlement-defect-finance-note-v23102 > div > b { color: #bf7000; }
.settlement-defect-finance-note-v23102 p { margin: 7px 0 0; color: #8e743c; font-size: .84rem; line-height: 1.65; }

@media (max-width: 1199.98px) {
  .tm-page-v23100 .tm-extra-charge-fields-v23102 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .wd-page-v23100 .wd-hold-ledger-grid-v23102 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .wd-page-v23100 .wd-financial-stat-grid-v23102 { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 767.98px) {
  .tm-page-v23100 .tm-live-finance-grid-v23102,
.tm-page-v23100 .tm-extra-charge-fields-v23102,
.wd-page-v23100 .wd-financial-stat-grid-v23102,
.wd-page-v23100 .wd-hold-ledger-grid-v23102 { grid-template-columns: 1fr; }
  .tm-page-v23100 .tm-defect-hold-card-v23102 { grid-template-columns: auto minmax(0,1fr); }
  .tm-page-v23100 .tm-defect-hold-value-v23102 { grid-column: 1 / -1; text-align: start; padding-inline-start: 60px; }
  .tm-page-v23100 .tm-extra-charge-head-v23102 { align-items: flex-start; flex-direction: column; }
  .wd-page-v23100 .wd-financial-stat-grid-v23102 { padding: 0 12px 12px; }
}

[data-bs-theme="dark"] .tm-page-v23100 .tm-defect-hold-card-v23102,
[data-bs-theme="dark"] .settlement-defect-finance-note-v23102 { background: #2a2418; border-color: #6e5520; }
[data-bs-theme="dark"] .tm-page-v23100 .tm-defect-hold-copy-v23102 strong,
[data-bs-theme="dark"] .tm-page-v23100 .tm-defect-hold-value-v23102 strong,
[data-bs-theme="dark"] .settlement-defect-finance-note-v23102 > div > span,
[data-bs-theme="dark"] .settlement-defect-finance-note-v23102 > div > b { color: #ffc85f; }
[data-bs-theme="dark"] .tm-page-v23100 .tm-defect-hold-copy-v23102 small,
[data-bs-theme="dark"] .tm-page-v23100 .tm-defect-hold-value-v23102 span,
[data-bs-theme="dark"] .settlement-defect-finance-note-v23102 p { color: #d7bd84; }
[data-bs-theme="dark"] .tm-page-v23100 .tm-extra-charge-card-v23102 { background: #2b1920; border-color: #713044; }
[data-bs-theme="dark"] .tm-page-v23100 .tm-extra-charge-title-v23102 strong,
[data-bs-theme="dark"] .tm-page-v23100 .tm-extra-charge-toggle-v23102 { color: #ff9bb0; }
[data-bs-theme="dark"] .tm-page-v23100 .tm-extra-charge-title-v23102 small,
[data-bs-theme="dark"] .tm-page-v23100 .tm-extra-charge-limit-v23102 { color: #d98a9c; }
[data-bs-theme="dark"] .tm-page-v23100 .tm-calculated-charge-v23102,
[data-bs-theme="dark"] .wd-page-v23100 .wd-hold-ledger-v23102 { background: #151d2c; }
[data-bs-theme="dark"] .wd-page-v23100 .wd-financial-stat-grid-v23102 { background: #101725; }
[data-bs-theme="dark"] .wd-page-v23100 .wd-hold-ledger-head-v23102 { background: #2a2418; border-color: #6e5520; }
[data-bs-theme="dark"] .wd-page-v23100 .wd-hold-ledger-head-v23102 > span { color: #ffc85f; }
[data-bs-theme="dark"] .wd-page-v23100 .wd-hold-ledger-grid-v23102 > div { border-color: #30394a; }
[data-bs-theme="dark"] .wd-page-v23100 .wd-hold-ledger-grid-v23102 strong { color: #eef2ff; }

/* Sonic Tower v2.3.103 — complete contractor finance cycle */
.wd-page-v23100 .wd-financial-stat-grid-v23102 { grid-template-columns: repeat(4,minmax(0,1fr)); }
.wd-page-v23100 .wd-financial-stat-v23102.is-cost-v23103 { background: linear-gradient(135deg,#d9344f,#9f1239); }
.wd-page-v23100 .wd-cost-ledger-v23103 {
  margin-top: 15px;
  border: 1px solid #efc3cb;
  border-inline-start: 5px solid #dc3545;
  background: #fff8f9;
  overflow: hidden;
}
.wd-page-v23100 .wd-cost-ledger-head-v23103 {
  min-height: 54px;
  padding: 12px 15px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #f0cbd2;
  background: #fff0f3;
}
.wd-page-v23100 .wd-cost-ledger-head-v23103 > span { display: flex; align-items: center; gap: 8px; color: #a31732; }
.wd-page-v23100 .wd-cost-summary-v23103 { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); background: var(--bs-card-bg); }
.wd-page-v23100 .wd-cost-summary-v23103 > div { padding: 13px 15px; border-inline-end: 1px solid #f0dce0; }
.wd-page-v23100 .wd-cost-summary-v23103 > div:last-child { border-inline-end: 0; }
.wd-page-v23100 .wd-cost-summary-v23103 small { display: block; color: #8b6570; font-weight: 800; }
.wd-page-v23100 .wd-cost-summary-v23103 strong { display: block; margin-top: 4px; color: #b11f3b; font-weight: 900; }
.wd-page-v23100 .wd-cost-list-v23103 { display: grid; gap: 9px; padding: 12px 15px; border-top: 1px dashed #efcbd2; }
.wd-page-v23100 .wd-cost-row-v23103 { display: grid; grid-template-columns: minmax(220px,1.35fr) minmax(360px,1fr) auto; gap: 12px; align-items: center; padding: 11px 12px; border: 1px solid #ecd5da; background: var(--bs-card-bg); }
.wd-page-v23100 .wd-cost-row-v23103.is-cancelled { opacity: .55; }
.wd-page-v23100 .wd-cost-row-v23103 > div:first-child { display: flex; flex-direction: column; min-width: 0; }
.wd-page-v23100 .wd-cost-row-v23103 small { color: #8a7080; }
.wd-page-v23100 .wd-cost-row-values-v23103 { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
.wd-page-v23100 .wd-cost-row-values-v23103 span { padding: 7px 8px; background: #fff5f7; border: 1px solid #f1dce0; }
.wd-page-v23100 .wd-cost-row-values-v23103 small,
.wd-page-v23100 .wd-cost-row-values-v23103 b { display: block; }
.wd-page-v23100 .wd-cost-empty-v23103 { margin: 0; padding: 14px 15px; color: #8a7080; border-top: 1px dashed #efcbd2; }
.wd-page-v23100 .wd-cost-form-v23103 { padding: 15px; border-top: 1px solid #efcbd2; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px; align-items: end; background: var(--bs-card-bg); }
.wd-page-v23100 .wd-cost-form-v23103 .span-2 { grid-column: span 2; }
.wd-page-v23100 .wd-cost-form-v23103 .form-control,
.wd-page-v23100 .wd-cost-form-v23103 .form-select { min-height: 44px; }
.wd-page-v23100 .wd-cost-preview-v23103 { min-height: 64px; padding: 10px 13px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 4px 12px; border: 1px dashed #dc3545; background: #fff2f4; }
.wd-page-v23100 .wd-cost-preview-v23103 span { color: #7e3242; font-weight: 800; }
.wd-page-v23100 .wd-cost-preview-v23103 strong { color: #c2183a; font-size: 1.18rem; }
.wd-page-v23100 .wd-cost-preview-v23103 small { grid-column: 1/-1; color: #966371; }
.wd-page-v23100 .wd-cost-form-footer-v23103 { display: flex; justify-content: flex-start; padding-top: 3px; }
#settlementAdvanceValueWrap[hidden] { display: none !important; }

@media (max-width:1199.98px){
  .wd-page-v23100 .wd-financial-stat-grid-v23102,
.wd-page-v23100 .wd-cost-summary-v23103 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .wd-page-v23100 .wd-cost-row-v23103 { grid-template-columns: 1fr; }
  .wd-page-v23100 .wd-cost-form-v23103 { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:767.98px){
  .wd-page-v23100 .wd-financial-stat-grid-v23102,
.wd-page-v23100 .wd-cost-summary-v23103,
.wd-page-v23100 .wd-cost-row-values-v23103,
.wd-page-v23100 .wd-cost-form-v23103 { grid-template-columns:1fr; }
  .wd-page-v23100 .wd-cost-form-v23103 .span-2 { grid-column:span 1; }
  .wd-page-v23100 .wd-cost-ledger-head-v23103 { align-items:flex-start; flex-direction:column; }
}
[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-ledger-v23103,
[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-row-v23103,
[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-form-v23103,
[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-summary-v23103 { background:#151d2c; border-color:#65303b; }
[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-ledger-head-v23103 { background:#2b1920; border-color:#65303b; }
[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-ledger-head-v23103 > span,
[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-summary-v23103 strong { color:#ff9db0; }
[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-row-values-v23103 span,
[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-preview-v23103 { background:#291820; border-color:#65303b; }

.settlement-stat-debt-v23103 { background: linear-gradient(135deg,#d9344f,#7f1d1d) !important; }
.wd-page-v23100 .wd-cost-attachments-v23103 { display:flex; flex-wrap:wrap; gap:6px; margin-top:7px; }

/* Sonic Tower v2.3.104 — supervising engineer per contractor assignment */
.assignment-primary-grid {
  grid-template-columns:repeat(12,minmax(0,1fr));
  align-items:start;
}
.assignment-primary-contractor-v23104,
.assignment-primary-engineer-v23104 {grid-column:span 3}
.assignment-primary-tower-v23104 {grid-column:span 2}
.assignment-primary-category-v23104 {grid-column:span 4}
.assignment-primary-date-v23104 {grid-column:span 2}
.assignment-primary-notes-v23104 {grid-column:span 10}
.assignment-engineer-badge-v23104,
.fp-engineer-badge-v23104 {white-space:normal;line-height:1.5;padding:.48rem .62rem}
.assignment-transfer-box-v23104 {
  display:grid;
  gap:14px;
  padding:15px;
  border:1px solid #f1c36a;
  border-inline-start:5px solid #f59e0b;
  background:#fff9eb;
}
.assignment-transfer-all-v23104 {
  display:flex;
  align-items:flex-start;
  gap:11px;
  margin:0;
  padding:12px;
  border:1px solid #eed59e;
  background: var(--bs-card-bg);
  cursor:pointer;
}
.assignment-transfer-all-v23104 input {width:19px;height:19px;margin-top:2px;flex:0 0 auto}
.assignment-transfer-all-v23104 span {display:flex;flex-direction:column;gap:3px}
.assignment-transfer-all-v23104 strong {color:#8a4b08;font-weight:900}
.assignment-transfer-all-v23104 small {color:#7b6a4d;line-height:1.55}
.fp-supervisor-alert-v23104 {border-inline-start:5px solid #2563eb!important}
.fp-locked-measure-v23104 {
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 9px;
  border:1px solid #e2a7ae;
  background:#fff3f4;
  color:#a51f34;
  font-weight:800;
  font-size:.78rem;
  line-height:1.4;
}
@media(max-width:1199.98px){
  .assignment-primary-contractor-v23104,
.assignment-primary-engineer-v23104,
.assignment-primary-category-v23104 {grid-column:span 6}
  .assignment-primary-tower-v23104,
.assignment-primary-date-v23104 {grid-column:span 3}
  .assignment-primary-notes-v23104 {grid-column:span 6}
}
@media(max-width:767.98px){
  .assignment-primary-contractor-v23104,
.assignment-primary-engineer-v23104,
.assignment-primary-tower-v23104,
.assignment-primary-category-v23104,
.assignment-primary-date-v23104,
.assignment-primary-notes-v23104 {grid-column:1/-1}
}
[data-bs-theme="dark"] .assignment-transfer-box-v23104 {background:#2a2112;border-color:#745a24}
[data-bs-theme="dark"] .assignment-transfer-all-v23104 {background:#151d2c;border-color:#5f4d29}
[data-bs-theme="dark"] .assignment-transfer-all-v23104 strong {color:#ffc864}
[data-bs-theme="dark"] .assignment-transfer-all-v23104 small {color:#c9b98e}
[data-bs-theme="dark"] .fp-locked-measure-v23104 {background:#2b1920;border-color:#6d3440;color:#ff9caf}


/* ==========================================================================
   Sonic Tower v2.3.105 — contractor receipts, settlement layout and defect costs
   ========================================================================== */

/* Cashbox: generated receipt number and printable receipt action */
.cashbox-page-v2370 .cashbox-auto-reference-v23105,
.cashbox-page-v2370 input[readonly][name="ReferenceNo"] {
  cursor:not-allowed;
  color:#334155;
  background:#eef2f7;
  border-style:dashed;
  font-weight:900;
  letter-spacing:.35px;
}
.cashbox-page-v2369 .cashbox-receipt-print-v23105 {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:14px;
  min-height:44px;
}

/* Settlements: tabs on top, three assignment cards per row and equal KPI spacing */
.settlements-page .settlement-layout-v23105 {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:1rem;
}
.settlements-page .settlement-picker-column-v23105,
.settlements-page .settlement-detail-column-v23105 {
  min-width:0;
}
.settlements-page .settlement-picker-card {
  height:auto!important;
}
.settlements-page .settlement-picker-list {
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
  gap:.9rem;
  max-height:none!important;
  overflow:visible!important;
  padding:1rem;
}
.settlements-page .settlement-picker-item {
  display:flex;
  flex-direction:column;
  height:100%;
  min-width:0;
  margin:0!important;
}
.settlements-page .settlement-picker-badges {
  margin-top:auto;
  padding-top:.75rem;
}
.settlements-page .settlement-picker-empty {
  grid-column:1/-1;
}
.settlements-page .settlement-stats-scroll {
  overflow:visible!important;
  padding:.15rem 0!important;
}
.settlements-page .settlement-stats-grid {
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:1rem!important;
  min-width:0!important;
}
.settlements-page .settlement-stat-card {
  height:100%;
  min-height:148px;
}
.settlements-page .quality-history-actions {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.75rem;
}
.settlements-page .quality-history-actions .btn {
  margin:0!important;
}
.settlements-page #settlementAdvanceValueWrap {
  flex-direction:column;
}
.settlements-page #settlementAdvanceValueWrap[hidden] {
  display:none!important;
}

/* Technical measurements: make the extra-charge checkbox genuinely clickable */
.tm-page-v23100 .tm-extra-charge-toggle-v23102 {
  position:relative;
}
.tm-page-v23100 .tm-extra-charge-control-v23105 {
  position:relative;
  display:inline-flex;
  width:44px;
  height:24px;
  flex:0 0 44px;
}
.tm-page-v23100 .tm-extra-charge-control-v23105 .tm-extra-charge-input-v23102 {
  position:absolute;
  inset:0;
  z-index:3;
  width:100%;
  height:100%;
  margin:0;
  opacity:0;
  pointer-events:auto;
  cursor:pointer;
}
.tm-page-v23100 .tm-extra-charge-control-v23105 .tm-extra-charge-switch-v23102 {
  display:block;
  width:100%;
  height:100%;
}
.tm-page-v23100 .tm-extra-charge-control-v23105 .tm-extra-charge-input-v23102:focus-visible + .tm-extra-charge-switch-v23102 {
  outline:3px solid rgba(99,91,255,.28);
  outline-offset:3px;
}

/* Work defects: financial guarantee values live in the KPI grid */
.wd-page-v23100 .wd-kpi-grid-v23105 {
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:stretch;
}
.wd-page-v23100 .wd-kpi-grid-v23105 .wd-kpi {
  min-height:118px;
  height:100%;
}
.wd-page-v23100 .wd-kpi-finance-v23105 {
  border-color:#b8c5de;
  background:linear-gradient(145deg,#f8fbff,#eef3fb);
}
.wd-page-v23100 .wd-kpi-finance-v23105 strong {
  font-size:1.05rem;
}

/* Work defects: add many treatment costs and save once */
.wd-page-v23100 .wd-cost-batch-form-v23105 {
  display:block!important;
  padding:0;
  background:#f8fafc;
}
.wd-page-v23100 .wd-cost-batch-form-v23105[hidden] {
  display:none!important;
}
.wd-page-v23100 .wd-cost-batch-head-v23105 {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:14px 15px;
  border-top:1px solid #efcbd2;
  border-bottom:1px solid #e7eaf0;
  background: var(--bs-card-bg);
}
.wd-page-v23100 .wd-cost-batch-head-v23105 strong,
.wd-page-v23100 .wd-cost-batch-head-v23105 small {
  display:block;
}
.wd-page-v23100 .wd-cost-batch-head-v23105 strong {
  color:#9f1837;
  font-weight:900;
}
.wd-page-v23100 .wd-cost-batch-head-v23105 small {
  margin-top:3px;
  color:#788196;
}
.wd-page-v23100 .wd-cost-batch-list-v23105 {
  display:grid;
  gap:14px;
  padding:15px;
}
.wd-page-v23100 .wd-cost-entry-v23105 {
  overflow:hidden;
  border:1px solid #e5c9cf;
  border-radius:15px;
  background: var(--bs-card-bg);
  box-shadow:0 8px 20px rgba(125,31,54,.06);
}
.wd-page-v23100 .wd-cost-entry-head-v23105 {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 13px;
  border-bottom:1px solid #f0dce0;
  background:#fff4f6;
}
.wd-page-v23100 .wd-cost-entry-head-v23105 strong {
  color:#a31732;
  font-weight:900;
}
.wd-page-v23100 .wd-cost-entry-grid-v23105 {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:end;
  gap:13px;
  padding:14px;
}
.wd-page-v23100 .wd-cost-entry-grid-v23105 .span-2 {
  grid-column:span 2;
}
.wd-page-v23100 .wd-cost-entry-grid-v23105 .form-control,
.wd-page-v23100 .wd-cost-entry-grid-v23105 .form-select {
  min-height:44px;
}
.wd-page-v23100 .wd-cost-entry-v23105 .wd-cost-preview-v23103 {
  margin:0 14px 14px;
}
.wd-page-v23100 .wd-cost-batch-totals-v23105 {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  padding:0 15px 15px;
}
.wd-page-v23100 .wd-cost-batch-totals-v23105 span {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:52px;
  padding:11px 13px;
  border:1px solid #dbe2ee;
  border-radius:12px;
  background: var(--bs-card-bg);
  color:#536078;
  font-weight:800;
}
.wd-page-v23100 .wd-cost-batch-totals-v23105 strong {
  color:#b11f3b;
  font-size:1.05rem;
  font-weight:950;
}
.wd-page-v23100 .wd-cost-batch-form-v23105 > .wd-cost-form-footer-v23103 {
  padding:14px 15px;
  border-top:1px solid #e7eaf0;
  background: var(--bs-card-bg);
}

@media(max-width:1199.98px){
  .settlements-page .settlement-picker-list,
.settlements-page .settlement-stats-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .wd-page-v23100 .wd-kpi-grid-v23105,
.wd-page-v23100 .wd-cost-entry-grid-v23105 {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:767.98px){
  .settlements-page .settlement-picker-list,
.settlements-page .settlement-stats-grid {
    grid-template-columns:1fr!important;
  }
  .settlements-page .quality-history-actions,
.settlements-page .quality-history-actions .btn {
    width:100%;
  }
  .wd-page-v23100 .wd-kpi-grid-v23105,
.wd-page-v23100 .wd-cost-entry-grid-v23105,
.wd-page-v23100 .wd-cost-batch-totals-v23105 {
    grid-template-columns:1fr;
  }
  .wd-page-v23100 .wd-cost-entry-grid-v23105 .span-2 {
    grid-column:span 1;
  }
  .wd-page-v23100 .wd-cost-batch-head-v23105 {
    align-items:stretch;
    flex-direction:column;
  }
  .wd-page-v23100 .wd-cost-batch-head-v23105 .btn,
.wd-page-v23100 .wd-cost-batch-form-v23105 > .wd-cost-form-footer-v23103 .btn {
    width:100%;
  }
}
[data-bs-theme="dark"] .cashbox-page-v2370 input[readonly][name="ReferenceNo"] {
  color:#e2e8f0;
  background:#182235;
  border-color:#52627b;
}
[data-bs-theme="dark"] .wd-page-v23100 .wd-kpi-finance-v23105,
[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-batch-form-v23105,
[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-batch-head-v23105,
[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-entry-v23105,
[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-batch-totals-v23105 span,
[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-batch-form-v23105 > .wd-cost-form-footer-v23103 {
  color:#e2e8f0;
  background:#151d2c;
  border-color:#394459;
}
[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-entry-head-v23105 {
  background:#2b1920;
  border-color:#65303b;
}

/* ================================================================
   Sonic Tower v2.3.106 — صندوق المقاول الافتراضي ودفتر الحركات
   ================================================================ */
.contractor-row-actions-v23106 {display:flex;align-items:center;flex-wrap:wrap;gap:.45rem}
.contractor-cashbox-button-v23106 {display:inline-flex;align-items:center;gap:.4rem;font-weight:800;white-space:nowrap}
.contractor-cashbox-page-v23106 {display:grid;gap:1.5rem}
.contractor-cashbox-hero-v23106 {position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,390px);gap:1.25rem;padding:1.5rem;border:1px solid rgba(var(--bs-primary-rgb),.16);border-radius:1.35rem;background:linear-gradient(135deg,rgba(var(--bs-primary-rgb),.10),rgba(var(--bs-info-rgb),.04) 46%,var(--bs-body-bg) 100%);box-shadow:0 18px 48px rgba(20,33,61,.07);overflow:hidden}
.contractor-cashbox-hero-v23106:before {content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(var(--bs-primary-rgb),.07);inset:auto -90px -130px auto;pointer-events:none}
.contractor-cashbox-hero-main-v23106 {position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1.1rem;padding-top:2.4rem}
.contractor-cashbox-back-v23106 {position:absolute;top:0;right:0;display:inline-flex;align-items:center;gap:.35rem;font-weight:800}
.contractor-cashbox-avatar-v23106 {width:78px;height:78px;border-radius:1.35rem;display:grid;place-items:center;background:linear-gradient(135deg,var(--bs-primary),#635bff);color:#fff;font-size:2.25rem;box-shadow:0 14px 30px rgba(var(--bs-primary-rgb),.24)}
.contractor-cashbox-kicker-v23106 {display:block;color:var(--bs-primary);font-size:.79rem;font-weight:900;letter-spacing:.02em;margin-bottom:.2rem}
.contractor-cashbox-hero-main-v23106 h2 {margin:0 0 .4rem;font-size:clamp(1.55rem,2.5vw,2.15rem);font-weight:950;color:var(--bs-heading-color)}
.contractor-cashbox-hero-main-v23106 p {margin:0;color:var(--bs-secondary-color);line-height:1.85;max-width:850px}
.contractor-cashbox-identity-v23106 {display:flex;align-items:center;flex-wrap:wrap;gap:.55rem;margin-top:.85rem}
.contractor-cashbox-identity-v23106 span {display:inline-flex;align-items:center;gap:.38rem;padding:.45rem .72rem;border-radius:.75rem;background:var(--bs-body-bg);border:1px solid var(--bs-border-color);font-size:.82rem;font-weight:800}
.contractor-cashbox-current-v23106 {position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-height:180px;padding:1.35rem;border-radius:1.15rem;color:#fff;box-shadow:0 18px 42px rgba(20,33,61,.16)}
.contractor-cashbox-current-v23106.tone-success {background:linear-gradient(135deg,#0d9f6e,#087f5b)}
.contractor-cashbox-current-v23106.tone-danger {background:linear-gradient(135deg,#e55353,#b42318)}
.contractor-cashbox-current-v23106.tone-secondary {background:linear-gradient(135deg,#64748b,#475569)}
.contractor-cashbox-current-v23106>span {display:flex;align-items:center;gap:.45rem;font-weight:900;opacity:.92}
.contractor-cashbox-current-v23106>strong {font-size:clamp(1.8rem,3.4vw,2.65rem);font-weight:950;line-height:1.2;margin:.55rem 0 .2rem}
.contractor-cashbox-current-v23106>b {font-size:1rem;font-weight:950}
.contractor-cashbox-current-v23106>small {margin-top:.55rem;line-height:1.65;opacity:.84}
.contractor-cashbox-stats-v23106 {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.contractor-cashbox-stats-v23106 article {--cashbox-tone:var(--bs-primary);position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.85rem;min-height:142px;padding:1.05rem;border:1px solid var(--bs-border-color);border-radius:1rem;background:var(--bs-body-bg);box-shadow:0 10px 28px rgba(20,33,61,.05);overflow:hidden}
.contractor-cashbox-stats-v23106 article:after {content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--cashbox-tone)}
.contractor-cashbox-stats-v23106 article>span {width:46px;height:46px;border-radius:.85rem;display:grid;place-items:center;background:color-mix(in srgb,var(--cashbox-tone) 13%,transparent);color:var(--cashbox-tone);font-size:1.45rem}
.contractor-cashbox-stats-v23106 article small {display:block;color:var(--bs-secondary-color);font-weight:850;margin-bottom:.28rem}
.contractor-cashbox-stats-v23106 article strong {display:block;color:var(--bs-heading-color);font-size:1.3rem;font-weight:950}
.contractor-cashbox-stats-v23106 article p {margin:.35rem 0 0;color:var(--bs-secondary-color);font-size:.78rem;line-height:1.55}
.contractor-cashbox-stats-v23106 .tone-success {--cashbox-tone:#0d9f6e}.contractor-cashbox-stats-v23106 .tone-dark {--cashbox-tone:#263238}.contractor-cashbox-stats-v23106 .tone-primary {--cashbox-tone:var(--bs-primary)}.contractor-cashbox-stats-v23106 .tone-warning {--cashbox-tone:#d97706}.contractor-cashbox-stats-v23106 .tone-danger {--cashbox-tone:#dc2626}.contractor-cashbox-stats-v23106 .tone-info {--cashbox-tone:#0284c7}.contractor-cashbox-stats-v23106 .tone-secondary {--cashbox-tone:#64748b}.contractor-cashbox-stats-v23106 .tone-orange {--cashbox-tone:#ea580c}.contractor-cashbox-stats-v23106 .tone-purple {--cashbox-tone:#7c3aed}
.contractor-cashbox-work-card-v23106,
.contractor-cashbox-ledger-card-v23106 {border:1px solid var(--bs-border-color);border-radius:1.2rem;overflow:hidden;box-shadow:0 12px 34px rgba(20,33,61,.055)}
.contractor-cashbox-section-head-v23106 {display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;background:linear-gradient(90deg,rgba(var(--bs-primary-rgb),.08),transparent)}
.contractor-cashbox-section-head-v23106>div:first-child {display:flex;align-items:center;gap:.75rem}
.contractor-cashbox-section-head-v23106 h4 {margin:0 0 .18rem;font-size:1.04rem;font-weight:950}.contractor-cashbox-section-head-v23106 p {margin:0;color:var(--bs-secondary-color);font-size:.8rem}
.contractor-cashbox-section-icon-v23106 {width:44px;height:44px;border-radius:.82rem;display:grid;place-items:center;background:var(--bs-primary);color:#fff;font-size:1.32rem;box-shadow:0 8px 20px rgba(var(--bs-primary-rgb),.22)}
.contractor-cashbox-head-actions-v23106 {display:flex;gap:.5rem;flex-wrap:wrap}
.contractor-cashbox-work-table-v23106,
.contractor-cashbox-ledger-table-v23106 {min-width:1250px}
.contractor-cashbox-work-table-v23106 thead th,
.contractor-cashbox-ledger-table-v23106 thead th {background:rgba(var(--bs-primary-rgb),.075);color:var(--bs-heading-color);font-size:.8rem;font-weight:950;white-space:nowrap;vertical-align:middle}
.contractor-cashbox-work-table-v23106 td,
.contractor-cashbox-ledger-table-v23106 td {vertical-align:middle;font-size:.82rem}
.contractor-cashbox-work-name-v23106 {display:flex;align-items:center;gap:.45rem;min-width:230px}.contractor-cashbox-work-name-v23106>span {display:inline-grid;place-items:center;min-width:42px;padding:.25rem .45rem;border-radius:.55rem;background:rgba(var(--bs-primary-rgb),.1);color:var(--bs-primary);font-weight:950}.contractor-cashbox-work-name-v23106+small {display:block;margin-top:.3rem;color:var(--bs-secondary-color);line-height:1.55}
.contractor-cashbox-filters-v23106 {display:grid;grid-template-columns:repeat(3,minmax(150px,1fr)) minmax(240px,1.5fr) auto;align-items:end;gap:.75rem;padding:1rem;margin-bottom:1rem;border:1px solid rgba(var(--bs-primary-rgb),.14);border-radius:1rem;background:rgba(var(--bs-primary-rgb),.045)}
.contractor-cashbox-filter-actions-v23106 {display:flex;gap:.45rem}.contractor-cashbox-filter-actions-v23106 .btn {white-space:nowrap;font-weight:850}
.contractor-cashbox-period-summary-v23106 {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}
.contractor-cashbox-period-summary-v23106 article {padding:.8rem .9rem;border:1px solid var(--bs-border-color);border-radius:.85rem;background:var(--bs-tertiary-bg)}
.contractor-cashbox-period-summary-v23106 small {display:block;color:var(--bs-secondary-color);font-weight:800;margin-bottom:.25rem}.contractor-cashbox-period-summary-v23106 strong {display:block;font-size:1.05rem;font-weight:950}.contractor-cashbox-period-summary-v23106 strong span {display:block;font-size:.7rem;margin-top:.15rem}
.contractor-cashbox-document-v23106 {display:inline-flex;padding:.35rem .55rem;border-radius:.55rem;background:var(--bs-tertiary-bg);border:1px solid var(--bs-border-color);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:900;direction:ltr}
.contractor-cashbox-kind-v23106 {--kind-tone:#64748b;display:inline-flex;align-items:center;gap:.35rem;padding:.38rem .55rem;border-radius:.6rem;background:color-mix(in srgb,var(--kind-tone) 12%,transparent);color:var(--kind-tone);font-size:.76rem;font-weight:950;white-space:nowrap}.contractor-cashbox-kind-v23106.tone-success {--kind-tone:#0d9f6e}.contractor-cashbox-kind-v23106.tone-warning {--kind-tone:#d97706}.contractor-cashbox-kind-v23106.tone-danger {--kind-tone:#dc2626}.contractor-cashbox-kind-v23106.tone-primary {--kind-tone:var(--bs-primary)}.contractor-cashbox-kind-v23106.tone-dark {--kind-tone:#263238}
.contractor-cashbox-ledger-table-v23106 td:nth-child(4)>strong {display:block;min-width:280px;font-weight:900;color:var(--bs-heading-color)}.contractor-cashbox-ledger-table-v23106 td:nth-child(4)>small {display:block;margin-top:.35rem;color:var(--bs-secondary-color);line-height:1.5}
.contractor-cashbox-money-plus-v23106 {color:#087f5b!important;font-weight:950;white-space:nowrap}.contractor-cashbox-money-minus-v23106 {color:#c92a2a!important;font-weight:950;white-space:nowrap}
.contractor-cashbox-running-v23106 {min-width:135px;padding:.42rem .55rem;border-radius:.65rem;background:var(--bs-tertiary-bg);border:1px solid var(--bs-border-color)}.contractor-cashbox-running-v23106 strong {display:block;font-weight:950;white-space:nowrap}.contractor-cashbox-running-v23106 small {display:block;margin-top:.12rem;font-size:.68rem;font-weight:850}.contractor-cashbox-running-v23106.tone-success strong,
.contractor-cashbox-running-v23106.tone-success small {color:#087f5b}.contractor-cashbox-running-v23106.tone-danger strong,
.contractor-cashbox-running-v23106.tone-danger small {color:#c92a2a}.contractor-cashbox-running-v23106.tone-secondary strong,
.contractor-cashbox-running-v23106.tone-secondary small {color:#64748b}
.contractor-cashbox-accounting-note-v23106 {display:flex;gap:.7rem;align-items:flex-start;margin-top:1rem;padding:.9rem 1rem;border-radius:.9rem;border:1px solid rgba(var(--bs-info-rgb),.24);background:rgba(var(--bs-info-rgb),.07);color:var(--bs-heading-color)}.contractor-cashbox-accounting-note-v23106>i {font-size:1.45rem;color:var(--bs-info)}.contractor-cashbox-accounting-note-v23106 strong {font-weight:950}.contractor-cashbox-accounting-note-v23106 p {margin:.2rem 0 0;color:var(--bs-secondary-color);font-size:.8rem;line-height:1.7}
@media(max-width:1199.98px){.contractor-cashbox-hero-v23106 {grid-template-columns:1fr}.contractor-cashbox-current-v23106 {min-height:145px}.contractor-cashbox-stats-v23106 {grid-template-columns:repeat(2,minmax(0,1fr))}.contractor-cashbox-filters-v23106 {grid-template-columns:repeat(2,minmax(0,1fr))}.contractor-cashbox-filter-actions-v23106 {align-self:end}}
@media(max-width:767.98px){.contractor-cashbox-hero-v23106 {padding:1rem}.contractor-cashbox-hero-main-v23106 {grid-template-columns:1fr;padding-top:3rem}.contractor-cashbox-avatar-v23106 {width:64px;height:64px;font-size:1.8rem}.contractor-cashbox-stats-v23106 {grid-template-columns:1fr}.contractor-cashbox-stats-v23106 article {min-height:auto}.contractor-cashbox-section-head-v23106 {align-items:flex-start;flex-direction:column}.contractor-cashbox-head-actions-v23106,
.contractor-cashbox-head-actions-v23106 .btn {width:100%}.contractor-cashbox-filters-v23106 {grid-template-columns:1fr}.contractor-cashbox-filter-actions-v23106,
.contractor-cashbox-filter-actions-v23106 .btn,
.contractor-cashbox-filter-actions-v23106 a {width:100%}.contractor-cashbox-period-summary-v23106 {grid-template-columns:1fr 1fr}.contractor-cashbox-identity-v23106 {align-items:stretch;flex-direction:column}.contractor-cashbox-identity-v23106 span {width:100%}}
@media(max-width:480px){.contractor-cashbox-period-summary-v23106 {grid-template-columns:1fr}.contractor-cashbox-current-v23106>strong {font-size:1.7rem}.contractor-cashbox-button-v23106 span {display:none}}
@media print{body {background:#fff!important}.left-sidebar,
.app-header,
.page-breadcrumb,
.contractor-cashbox-back-v23106,
[data-print-hide="1"],
.contractor-cashbox-head-actions-v23106,
.contractor-cashbox-work-table-v23106 a,
.contractor-cashbox-ledger-table-v23106 a,
.contractor-row-actions-v23106 {display:none!important}.body-wrapper {margin:0!important}.container-fluid {max-width:none!important;padding:0!important}.contractor-cashbox-page-v23106 {gap:.65rem}.contractor-cashbox-hero-v23106,
.contractor-cashbox-stats-v23106 article,
.contractor-cashbox-work-card-v23106,
.contractor-cashbox-ledger-card-v23106 {box-shadow:none!important;break-inside:avoid}.contractor-cashbox-hero-v23106 {grid-template-columns:1fr 300px;padding:.8rem}.contractor-cashbox-stats-v23106 {grid-template-columns:repeat(3,1fr);gap:.4rem}.contractor-cashbox-stats-v23106 article {min-height:0;padding:.55rem}.contractor-cashbox-stats-v23106 article p {display:none}.contractor-cashbox-work-table-v23106,
.contractor-cashbox-ledger-table-v23106 {min-width:0;font-size:8px}.contractor-cashbox-work-table-v23106 th,
.contractor-cashbox-work-table-v23106 td,
.contractor-cashbox-ledger-table-v23106 th,
.contractor-cashbox-ledger-table-v23106 td {padding:4px!important}.contractor-cashbox-accounting-note-v23106 {display:none}}

tr[id^="advance-"],
tr[id^="charge-"] {scroll-margin-top:110px}
tr[id^="advance-"]:target,
tr[id^="charge-"]:target {--bs-table-bg:rgba(var(--bs-warning-rgb),.16);outline:2px solid rgba(var(--bs-warning-rgb),.55);outline-offset:-2px}

/* Sonic Tower v2.3.108 — automatic thousands separators for monetary inputs. */
.sonic-money-input {
  direction: ltr;
  text-align: left;
  font-variant-numeric: tabular-nums;
  letter-spacing: .01em;
}

/* ========================================================================== */
/* Sonic Tower v2.3.112 — redesigned settlement preparation summary card      */
/* ========================================================================== */
.settlements-page .settlement-final-card-v23112 {
  border:1px solid rgba(129,140,248,.22);
  border-radius:1.35rem;
  overflow:hidden;
  box-shadow:0 18px 40px rgba(79,70,229,.08);
}
.settlements-page .settlement-final-hero-v23112 {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  padding:1.25rem 1.25rem 1rem;
  background:linear-gradient(135deg,#4f46e5 0%,#635bff 48%,#0ea5e9 100%);
  color:#fff;
}
.settlements-page .settlement-final-hero-copy-v23112 h5 {
  color:#fff;
  font-size:1.05rem;
  font-weight:900;
}
.settlements-page .settlement-final-hero-copy-v23112 p {
  max-width:860px;
  color:rgba(255,255,255,.92);
  font-size:.78rem;
  line-height:1.8;
}
.settlements-page .settlement-final-hero-kicker-v23112 {
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  margin-bottom:.65rem;
  padding:.4rem .7rem;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  color:#fff;
  font-size:.75rem;
  font-weight:800;
}
.settlements-page .settlement-final-shortcuts-v23112 {
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  justify-content:flex-end;
}
.settlements-page .settlement-final-shortcuts-v23112 .btn {
  border-radius:.9rem;
  min-height:42px;
  padding:.6rem .95rem;
  font-weight:800;
  box-shadow:none;
}
.settlements-page .settlement-final-shortcuts-v23112 .btn-light {
  color:#4338ca;
}
.settlements-page .settlement-final-shortcuts-v23112 .btn-outline-light {
  border-color:rgba(255,255,255,.55);
  color:#fff;
}
.settlements-page .settlement-final-shortcuts-v23112 .btn-outline-light:hover {
  background:rgba(255,255,255,.12);
  color:#fff;
}
.settlements-page .settlement-final-glance-v23112 {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.9rem;
  padding:1rem 1.25rem 0;
}
.settlements-page .settlement-glance-card-v23112,
.settlements-page .settlement-balance-card-v23112,
.settlements-page .settlement-section-card-v23112 {
  background: var(--bs-card-bg);
  border:1px solid rgba(148,163,184,.18);
  border-radius:1.15rem;
  box-shadow:0 12px 30px rgba(15,23,42,.05);
}
.settlements-page .settlement-glance-card-v23112 {
  position:relative;
  padding:1rem 1rem .95rem;
  overflow:hidden;
}
.settlements-page .settlement-glance-card-v23112::before {
  content:"";
  position:absolute;
  inset-inline-start:0;
  top:0;
  bottom:0;
  width:5px;
  border-radius:999px;
  background:var(--settlement-glance-accent,#4f46e5);
}
.settlements-page .settlement-glance-card-v23112 small,
.settlements-page .settlement-balance-card-v23112 small {
  display:block;
  margin-bottom:.45rem;
  color:#64748b;
  font-size:.72rem;
  font-weight:800;
}
.settlements-page .settlement-glance-card-v23112 strong,
.settlements-page .settlement-balance-card-v23112 strong {
  display:block;
  color:#0f172a;
  font-size:1.1rem;
  font-weight:900;
  line-height:1.45;
}
.settlements-page .settlement-glance-card-v23112 span,
.settlements-page .settlement-balance-card-v23112 span {
  display:block;
  margin-top:.3rem;
  color:#64748b;
  font-size:.69rem;
  line-height:1.7;
}
.settlements-page .settlement-glance-card-v23112.is-gross {--settlement-glance-accent:#10b981;background:linear-gradient(180deg,#ffffff,#f0fdf4)}
.settlements-page .settlement-glance-card-v23112.is-charges {--settlement-glance-accent:#ef4444;background:linear-gradient(180deg,#ffffff,#fff1f2)}
.settlements-page .settlement-glance-card-v23112.is-advance {--settlement-glance-accent:#f59e0b;background:linear-gradient(180deg,#ffffff,#fffbeb)}
.settlements-page .settlement-glance-card-v23112.is-net {--settlement-glance-accent:#4f46e5;background:linear-gradient(180deg,#ffffff,#eef2ff)}
.settlements-page .settlement-section-card-v23112 {
  margin:1rem 1.25rem 0;
  padding:1rem;
}
.settlements-page .settlement-section-head-v23112 {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:.9rem;
}
.settlements-page .settlement-section-head-v23112 h6 {
  color:#0f172a;
  font-weight:900;
}
.settlements-page .settlement-section-head-v23112 p {
  color:#64748b;
  font-size:.74rem;
  line-height:1.7;
}
.settlements-page .settlement-section-label-v23112 {
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  margin-bottom:.45rem;
  padding:.28rem .6rem;
  border-radius:999px;
  background:rgba(79,70,229,.08);
  color:#4338ca;
  font-size:.69rem;
  font-weight:900;
}
.settlements-page .settlement-final-fields-v23112 {
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.settlements-page .settlement-final-fields-v23112 .settlement-final-field {
  min-height:156px;
  border-radius:1rem;
}
.settlements-page .settlement-note-box-v23112 {
  margin:1rem 1.25rem 0;
  border-radius:1rem;
}
.settlements-page .settlement-calculation-grid-v23112 {
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);
  gap:1rem;
  align-items:stretch;
}
.settlements-page .settlement-calc-table-v23112 {
  border-color:rgba(99,102,241,.18)!important;
}
.settlements-page .settlement-calc-table-head-v23112 {
  background:linear-gradient(180deg,#eef2ff,#f8fafc);
  color:#312e81;
}
.settlements-page .settlement-balance-stack-v23112 {
  display:grid;
  gap:.85rem;
}
.settlements-page .settlement-balance-card-v23112 {
  padding:1rem;
}
.settlements-page .settlement-balance-card-v23112.is-debt {background:linear-gradient(180deg,#fff,#fff1f2);border-color:rgba(239,68,68,.18)}
.settlements-page .settlement-balance-card-v23112.is-net {background:linear-gradient(180deg,#fff,#eef2ff);border-color:rgba(79,70,229,.18)}
.settlements-page .settlement-balance-card-v23112.is-remaining {background:linear-gradient(180deg,#fff,#ecfeff);border-color:rgba(14,165,233,.18)}
.settlements-page .settlement-final-actions-v23112 {
  margin:1rem 1.25rem 1.25rem;
  padding:1rem;
  border:1px dashed rgba(148,163,184,.35);
  border-radius:1rem;
  background:linear-gradient(180deg,var(--bs-tertiary-bg),var(--bs-card-bg));
}
.settlements-page .settlement-final-actions-v23112 .btn {
  min-height:48px;
  padding:.75rem 1rem;
  border-radius:1rem;
  font-weight:900;
}
[data-bs-theme="dark"] .settlements-page .settlement-final-card-v23112,
[data-bs-theme="dark"] .settlements-page .settlement-glance-card-v23112,
[data-bs-theme="dark"] .settlements-page .settlement-balance-card-v23112,
[data-bs-theme="dark"] .settlements-page .settlement-section-card-v23112 {
  background:#111827;
  border-color:#334155;
  box-shadow:none;
}
[data-bs-theme="dark"] .settlements-page .settlement-final-hero-v23112 {
  background:linear-gradient(135deg,#312e81 0%,#4338ca 48%,#0369a1 100%);
}
[data-bs-theme="dark"] .settlements-page .settlement-glance-card-v23112.is-gross {background:linear-gradient(180deg,#111827,#052e16)}
[data-bs-theme="dark"] .settlements-page .settlement-glance-card-v23112.is-charges {background:linear-gradient(180deg,#111827,#3f0d1d)}
[data-bs-theme="dark"] .settlements-page .settlement-glance-card-v23112.is-advance {background:linear-gradient(180deg,#111827,#3f3208)}
[data-bs-theme="dark"] .settlements-page .settlement-glance-card-v23112.is-net {background:linear-gradient(180deg,#111827,#1e1b4b)}
[data-bs-theme="dark"] .settlements-page .settlement-section-head-v23112 h6,
[data-bs-theme="dark"] .settlements-page .settlement-glance-card-v23112 strong,
[data-bs-theme="dark"] .settlements-page .settlement-balance-card-v23112 strong {
  color:#f8fafc;
}
[data-bs-theme="dark"] .settlements-page .settlement-section-head-v23112 p,
[data-bs-theme="dark"] .settlements-page .settlement-glance-card-v23112 span,
[data-bs-theme="dark"] .settlements-page .settlement-balance-card-v23112 span,
[data-bs-theme="dark"] .settlements-page .settlement-glance-card-v23112 small,
[data-bs-theme="dark"] .settlements-page .settlement-balance-card-v23112 small {
  color:#cbd5e1;
}
[data-bs-theme="dark"] .settlements-page .settlement-balance-card-v23112.is-debt {background:linear-gradient(180deg,#111827,#3f0d1d)}
[data-bs-theme="dark"] .settlements-page .settlement-balance-card-v23112.is-net {background:linear-gradient(180deg,#111827,#1e1b4b)}
[data-bs-theme="dark"] .settlements-page .settlement-balance-card-v23112.is-remaining {background:linear-gradient(180deg,#111827,#082f49)}
[data-bs-theme="dark"] .settlements-page .settlement-final-actions-v23112 {
  background:linear-gradient(180deg,#0f172a,#111827);
  border-color:#334155;
}
@media (max-width: 1199.98px){
  .settlements-page .settlement-final-fields-v23112,
.settlements-page .settlement-final-glance-v23112 {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .settlements-page .settlement-calculation-grid-v23112 {
    grid-template-columns:1fr;
  }
}
@media (max-width: 767.98px){
  .settlements-page .settlement-final-hero-v23112 {
    flex-direction:column;
  }
  .settlements-page .settlement-final-shortcuts-v23112,
.settlements-page .settlement-final-shortcuts-v23112 .btn {
    width:100%;
  }
  .settlements-page .settlement-final-glance-v23112,
.settlements-page .settlement-final-fields-v23112 {
    grid-template-columns:1fr;
  }
  .settlements-page .settlement-final-hero-v23112,
.settlements-page .settlement-final-glance-v23112,
.settlements-page .settlement-section-card-v23112,
.settlements-page .settlement-note-box-v23112,
.settlements-page .settlement-final-actions-v23112 {
    margin-inline:0;
    padding-inline:1rem;
  }
  .settlements-page .settlement-final-glance-v23112 {padding-top:.9rem}
  .settlements-page .settlement-final-actions-v23112 {margin:1rem 1rem 1rem}
}

/* ========================================================================== */
/* Sonic Tower v2.3.114 — defect cost beneficiary contractor linkage          */
/* ========================================================================== */
.wd-beneficiary-earning-v23114 {
  display:flex;
  align-items:center;
  gap:.65rem;
  min-width:235px;
  padding:.65rem .75rem;
  border:1px solid rgba(16,185,129,.22);
  border-radius:.9rem;
  background:linear-gradient(145deg,rgba(16,185,129,.08),rgba(14,165,233,.04));
}
.wd-beneficiary-earning-v23114>i {
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:grid;
  place-items:center;
  border-radius:.7rem;
  background:rgba(16,185,129,.14);
  color:#047857;
  font-size:1.05rem;
}
.wd-beneficiary-earning-v23114 span {min-width:0;display:block}
.wd-beneficiary-earning-v23114 small,
.wd-beneficiary-earning-v23114 strong,
.wd-beneficiary-earning-v23114 em {display:block}
.wd-beneficiary-earning-v23114 small {color:#64748b;font-size:.65rem;font-weight:800}
.wd-beneficiary-earning-v23114 strong {color:#065f46;font-size:.74rem;font-weight:900;line-height:1.55}
.wd-beneficiary-earning-v23114 em {margin-top:.15rem;color:#0f766e;font-size:.63rem;font-style:normal;font-weight:800}
.wd-cost-entry-v23105 [data-beneficiary-contractor-wrap],
.wd-cost-entry-v23105 [data-beneficiary-assignment-wrap] {
  padding:.65rem;
  border:1px solid rgba(16,185,129,.2);
  border-radius:.85rem;
  background:rgba(16,185,129,.045);
}
.wd-cost-entry-v23105 [data-beneficiary-contractor-wrap] small,
.wd-cost-entry-v23105 [data-beneficiary-assignment-wrap] small {
  display:block;
  margin-top:.35rem;
  color:#64748b;
  font-size:.62rem;
  line-height:1.55;
}
[data-bs-theme="dark"] .wd-beneficiary-earning-v23114,
[data-bs-theme="dark"] .wd-cost-entry-v23105 [data-beneficiary-contractor-wrap],
[data-bs-theme="dark"] .wd-cost-entry-v23105 [data-beneficiary-assignment-wrap] {
  border-color:rgba(52,211,153,.25);
  background:rgba(6,78,59,.22);
}
[data-bs-theme="dark"] .wd-beneficiary-earning-v23114 strong {color:#a7f3d0}
[data-bs-theme="dark"] .wd-beneficiary-earning-v23114 em {color:#67e8f9}

/* ========================================================================== */
/* Sonic Tower v2.3.115 — vivid, aligned settlement preparation experience    */
/* ========================================================================== */
.settlements-page .settlement-final-glance-v23112 {
  gap:1rem;
}
.settlements-page .settlement-glance-card-v23112 {
  min-height:126px;
  display:flex;
  align-items:center;
  gap:.9rem;
  padding:1rem;
  border:0;
  color:#fff;
  box-shadow:0 14px 30px rgba(15,23,42,.13);
}
.settlements-page .settlement-glance-card-v23112::before {display:none}
.settlements-page .settlement-glance-card-v23112>div {min-width:0;flex:1}
.settlements-page .settlement-glance-card-v23112 small,
.settlements-page .settlement-glance-card-v23112 strong,
.settlements-page .settlement-glance-card-v23112 span {color:#fff}
.settlements-page .settlement-glance-card-v23112 small {margin-bottom:.28rem;opacity:.9}
.settlements-page .settlement-glance-card-v23112 strong {font-size:1.18rem}
.settlements-page .settlement-glance-card-v23112 span {opacity:.84}
.settlements-page .settlement-glance-card-v23112.is-gross {background:linear-gradient(135deg,#059669,#10b981)}
.settlements-page .settlement-glance-card-v23112.is-charges {background:linear-gradient(135deg,#e11d48,#f43f5e)}
.settlements-page .settlement-glance-card-v23112.is-advance {background:linear-gradient(135deg,#d97706,#f59e0b)}
.settlements-page .settlement-glance-card-v23112.is-net {background:linear-gradient(135deg,#4f46e5,#635bff)}
.settlements-page .settlement-glance-icon-v23115 {
  width:50px;
  height:50px;
  flex:0 0 50px;
  display:grid!important;
  place-items:center;
  margin:0!important;
  border:1px solid rgba(255,255,255,.28);
  border-radius:1rem;
  background:rgba(255,255,255,.16);
  color:#fff!important;
  opacity:1!important;
  font-size:1.35rem;
  backdrop-filter:blur(4px);
}

/* Keep all settlement inputs in one balanced row on desktop. */
.settlements-page .settlement-final-fields-v23112 {
  grid-template-columns:none!important;
  grid-template-rows:1fr;
  grid-auto-flow:column;
  grid-auto-columns:minmax(190px,1fr);
  gap:1rem;
  overflow-x:auto;
  padding:.15rem .1rem .55rem;
  scrollbar-width:thin;
}
.settlements-page .settlement-final-fields-v23112 .settlement-final-field {
  min-height:170px;
  height:100%;
  padding:.95rem;
  border:1px solid rgba(99,102,241,.16);
  background:linear-gradient(180deg,#fff,#f8fafc);
  box-shadow:0 10px 24px rgba(15,23,42,.045);
}
.settlements-page .settlement-final-fields-v23112 .settlement-final-field:nth-child(1) .form-label i {background:rgba(14,165,233,.12);color:#0284c7}
.settlements-page .settlement-final-fields-v23112 .settlement-final-field:nth-child(2) .form-label i {background:rgba(244,63,94,.12);color:#e11d48}
.settlements-page .settlement-final-fields-v23112 .settlement-final-field:nth-child(3) .form-label i {background:rgba(245,158,11,.14);color:#d97706}
.settlements-page .settlement-final-fields-v23112 .settlement-final-field:nth-child(4) .form-label i {background:rgba(139,92,246,.12);color:#7c3aed}
.settlements-page .settlement-final-fields-v23112 .settlement-final-field:nth-child(5) .form-label i {background:rgba(239,68,68,.12);color:#dc2626}
.settlements-page .settlement-final-fields-v23112 .settlement-final-field:nth-child(6) .form-label i {background:rgba(16,185,129,.12);color:#059669}
.settlements-page .settlement-final-fields-v23112 .form-control,
.settlements-page .settlement-final-fields-v23112 .form-select,
.settlements-page .settlement-final-fields-v23112 .settlement-readonly-value {
  min-height:47px;
  border-radius:.85rem;
}
.settlements-page .settlement-final-fields-v23112 .settlement-readonly-value {
  display:flex;
  align-items:center;
  padding:.65rem .8rem;
  border:1px solid rgba(244,63,94,.18);
  background:rgba(244,63,94,.06);
  font-weight:900;
}

/* Vivid source cards for advances and deductions. */
.settlements-page .settlement-auto-source-grid {
  gap:1rem;
  align-items:stretch;
}
.settlements-page .settlement-auto-source-grid>.settlement-source-card-v23115 {
  position:relative;
  min-height:190px;
  padding:0!important;
  overflow:hidden;
  border:0!important;
  border-radius:1.15rem!important;
  background: var(--bs-card-bg)!important;
  box-shadow:0 12px 30px rgba(15,23,42,.08)!important;
}
.settlements-page .settlement-source-card-v23115 .settlement-auto-source-head {
  min-height:68px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  padding:.85rem 1rem;
  color:#fff;
  border:0;
}
.settlements-page .settlement-source-card-v23115.is-deductions .settlement-auto-source-head {background:linear-gradient(135deg,#e11d48,#fb7185)}
.settlements-page .settlement-source-card-v23115.is-advances .settlement-auto-source-head {background:linear-gradient(135deg,#4f46e5,#38bdf8)}
.settlements-page .settlement-source-card-v23115 .settlement-auto-source-head>span {
  display:flex;
  align-items:center;
  gap:.7rem;
  color:#fff;
}
.settlements-page .settlement-source-card-v23115 .settlement-auto-source-head i {
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:.85rem;
  background:rgba(255,255,255,.18);
  color:#fff;
  font-size:1.1rem;
}
.settlements-page .settlement-source-card-v23115 .settlement-auto-source-head em {
  color:#fff;
  font-size:.82rem;
  font-style:normal;
  font-weight:900;
}
.settlements-page .settlement-source-card-v23115 .settlement-auto-source-head b {
  min-width:34px;
  height:34px;
  display:grid;
  place-items:center;
  padding:0 .55rem;
  border-radius:999px;
  background: var(--bs-card-bg);
  color:#334155;
  font-size:.8rem;
  font-weight:900;
}
.settlements-page .settlement-source-card-v23115>p {
  margin:0!important;
  padding:1.3rem 1rem;
  color:#64748b!important;
  font-weight:700;
}
.settlements-page .settlement-source-card-v23115 .settlement-auto-source-list {
  padding:.65rem;
}
.settlements-page .settlement-source-card-v23115 .settlement-auto-source-list>div {
  border-radius:.9rem;
  border:1px solid rgba(148,163,184,.18);
  background:#f8fafc;
}
.settlements-page .settlement-source-card-v23115.is-deductions .settlement-auto-source-list>div {border-inline-start:4px solid #f43f5e}
.settlements-page .settlement-source-card-v23115.is-advances .settlement-auto-source-list>div {border-inline-start:4px solid #4f46e5}

/* Vivid automatic calculation area. */
.settlements-page .settlement-calculation-card-v23112 {
  border-color:rgba(79,70,229,.2);
  background:linear-gradient(180deg,#fff,#fafaff);
}
.settlements-page .settlement-calc-table-v23112 {
  border:1px solid rgba(79,70,229,.2)!important;
  border-radius:1rem!important;
  background: var(--bs-card-bg);
  box-shadow:0 10px 24px rgba(15,23,42,.05);
}
.settlements-page .settlement-calc-table-head-v23112 {
  min-height:52px;
  display:flex;
  align-items:center;
  background:linear-gradient(135deg,#4f46e5,#7c3aed)!important;
  color:#fff!important;
  border:0!important;
}
.settlements-page .settlement-calc-table-v23112 .table>tbody>tr>td {
  padding:.7rem .85rem;
  border-color:rgba(148,163,184,.16);
}
.settlements-page .settlement-calc-table-v23112 .table>tbody>tr:nth-child(even):not(.table-danger):not(.table-primary):not(.table-warning):not(.table-success)>td {
  background:#f8fafc;
}
.settlements-page .settlement-balance-stack-v23112 {
  gap:1rem;
}
.settlements-page .settlement-balance-card-v23112 {
  min-height:132px;
  display:flex;
  align-items:center;
  gap:.85rem;
  padding:1rem;
  border:0;
  color:#fff;
  box-shadow:0 12px 28px rgba(15,23,42,.12);
}
.settlements-page .settlement-balance-card-v23112>div {min-width:0;flex:1}
.settlements-page .settlement-balance-card-v23112 small,
.settlements-page .settlement-balance-card-v23112 strong,
.settlements-page .settlement-balance-card-v23112 span {color:#fff}
.settlements-page .settlement-balance-card-v23112 small {opacity:.88;margin-bottom:.25rem}
.settlements-page .settlement-balance-card-v23112 strong {font-size:1.15rem}
.settlements-page .settlement-balance-card-v23112 span {opacity:.84}
.settlements-page .settlement-balance-card-v23112.is-debt {background:linear-gradient(135deg,#be123c,#f43f5e)}
.settlements-page .settlement-balance-card-v23112.is-net {background:linear-gradient(135deg,#4338ca,#6366f1)}
.settlements-page .settlement-balance-card-v23112.is-remaining {background:linear-gradient(135deg,#0284c7,#06b6d4)}
.settlements-page .settlement-balance-icon-v23115 {
  width:48px;
  height:48px;
  flex:0 0 48px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.28);
  border-radius:1rem;
  background:rgba(255,255,255,.16);
  color:#fff;
  font-size:1.25rem;
}

/* Independent, spacious settlement approval panel. */
.settlements-page .settlement-action-panel-v23115 {
  margin:1.35rem 1.25rem 1.5rem;
  padding:1.15rem;
  border:1px solid rgba(99,102,241,.18);
  border-radius:1.2rem;
  background:linear-gradient(180deg,var(--bs-tertiary-bg),var(--bs-card-bg));
  box-shadow:0 12px 30px rgba(15,23,42,.06);
}
.settlements-page .settlement-action-head-v23115 {
  display:flex;
  align-items:center;
  gap:.85rem;
  margin-bottom:1rem;
  padding-bottom:.9rem;
  border-bottom:1px solid rgba(148,163,184,.2);
}
.settlements-page .settlement-action-head-v23115>span {
  width:44px;
  height:44px;
  flex:0 0 44px;
  display:grid;
  place-items:center;
  border-radius:1rem;
  background:rgba(79,70,229,.1);
  color:#4f46e5;
  font-size:1.2rem;
}
.settlements-page .settlement-action-head-v23115 h6 {color:#0f172a;font-weight:900}
.settlements-page .settlement-action-head-v23115 p {color:#64748b;font-size:.74rem;line-height:1.7}
.settlements-page .settlement-action-grid-v23115 {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}
.settlements-page .settlement-action-button-v23115 {
  width:100%;
  min-height:104px;
  display:flex;
  align-items:center;
  gap:.9rem;
  padding:1rem;
  border:0;
  border-radius:1.1rem;
  color:#fff;
  text-align:start;
  box-shadow:0 14px 30px rgba(15,23,42,.14);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.settlements-page .settlement-action-button-v23115:hover {
  transform:translateY(-2px);
  filter:brightness(1.03);
  box-shadow:0 18px 34px rgba(15,23,42,.18);
}
.settlements-page .settlement-action-button-v23115.is-interim {background:linear-gradient(135deg,#2563eb,#635bff)}
.settlements-page .settlement-action-button-v23115.is-final {background:linear-gradient(135deg,#be123c,#ef4444)}
.settlements-page .settlement-action-button-icon-v23115 {
  width:52px;
  height:52px;
  flex:0 0 52px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.3);
  border-radius:1rem;
  background:rgba(255,255,255,.16);
  font-size:1.4rem;
}
.settlements-page .settlement-action-button-copy-v23115 {min-width:0;flex:1}
.settlements-page .settlement-action-button-copy-v23115 strong,
.settlements-page .settlement-action-button-copy-v23115 small {display:block;color:#fff}
.settlements-page .settlement-action-button-copy-v23115 strong {font-size:.9rem;font-weight:900}
.settlements-page .settlement-action-button-copy-v23115 small {margin-top:.28rem;opacity:.86;font-size:.69rem;line-height:1.65}
.settlements-page .settlement-action-arrow-v23115 {flex:0 0 auto;font-size:1.2rem;opacity:.85}

[data-bs-theme="dark"] .settlements-page .settlement-final-fields-v23112 .settlement-final-field,
[data-bs-theme="dark"] .settlements-page .settlement-source-card-v23115,
[data-bs-theme="dark"] .settlements-page .settlement-calc-table-v23112,
[data-bs-theme="dark"] .settlements-page .settlement-action-panel-v23115 {
  background:#111827!important;
  border-color:#334155!important;
  box-shadow:none!important;
}
[data-bs-theme="dark"] .settlements-page .settlement-source-card-v23115 .settlement-auto-source-list>div {
  background:#0f172a;
  border-color:#334155;
}
[data-bs-theme="dark"] .settlements-page .settlement-calc-table-v23112 .table>tbody>tr:nth-child(even):not(.table-danger):not(.table-primary):not(.table-warning):not(.table-success)>td {
  background:#0f172a;
}
[data-bs-theme="dark"] .settlements-page .settlement-action-head-v23115 h6 {color:#f8fafc}
[data-bs-theme="dark"] .settlements-page .settlement-action-head-v23115 p {color:#cbd5e1}

@media (max-width:1199.98px){
  .settlements-page .settlement-final-fields-v23112 {
    grid-template-columns:none!important;
    grid-auto-flow:column;
    grid-auto-columns:minmax(210px,1fr);
  }
}
@media (max-width:767.98px){
  .settlements-page .settlement-final-fields-v23112 {
    display:grid;
    grid-template-columns:1fr!important;
    grid-template-rows:none;
    grid-auto-flow:row;
    grid-auto-columns:auto;
    overflow:visible;
  }
  .settlements-page .settlement-action-panel-v23115 {margin:1rem;padding:1rem}
  .settlements-page .settlement-action-grid-v23115 {grid-template-columns:1fr}
  .settlements-page .settlement-action-button-v23115 {min-height:112px}
}

/* ========================================================================== */
/* Sonic Tower v2.3.116 — readable settlement icons + compact dark footer     */
/* ========================================================================== */
.settlements-page .settlement-glance-icon-v23115 i,
.settlements-page .settlement-balance-icon-v23115 i {
  display:block!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  color:#fff!important;
  font-size:1.75rem!important;
  line-height:1!important;
  opacity:1!important;
  transform:none!important;
}
.settlements-page .settlement-glance-icon-v23115 {
  width:56px!important;
  height:56px!important;
  flex-basis:56px!important;
  border-radius:1rem!important;
}
.settlements-page .settlement-balance-icon-v23115 {
  width:54px!important;
  height:54px!important;
  flex-basis:54px!important;
  border-radius:1rem!important;
}
.settlements-page .settlement-balance-icon-v23115 i {font-size:1.65rem!important}

.settlements-page .settlement-final-footer-v23116 {
  margin-top:1.5rem;
  padding:1.15rem 1.25rem 1.25rem;
  border-top:1px solid rgba(148,163,184,.24);
  background:linear-gradient(180deg,#f8fafc,#eef2f7);
}
.settlements-page .settlement-final-footer-note-v23116 {
  display:flex;
  align-items:center;
  gap:.8rem;
  margin-bottom:1rem;
}
.settlements-page .settlement-final-footer-note-v23116>span {
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  border-radius:.85rem;
  background:#111827;
  color:#fff;
}
.settlements-page .settlement-final-footer-note-v23116>span i {
  color:#fff!important;
  font-size:1.25rem!important;
  line-height:1!important;
}
.settlements-page .settlement-final-footer-note-v23116 strong,
.settlements-page .settlement-final-footer-note-v23116 small {display:block}
.settlements-page .settlement-final-footer-note-v23116 strong {
  color:#0f172a;
  font-size:.86rem;
  font-weight:900;
}
.settlements-page .settlement-final-footer-note-v23116 small {
  margin-top:.22rem;
  color:#64748b;
  font-size:.7rem;
  line-height:1.65;
}
.settlements-page .settlement-final-footer-actions-v23116 {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:.8rem;
  padding-top:.95rem;
  border-top:1px dashed rgba(100,116,139,.28);
}
.settlements-page .settlement-footer-btn-v23116 {
  min-width:245px;
  min-height:50px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.65rem;
  padding:.75rem 1.15rem;
  border-radius:.9rem;
  border-color:#111827;
  background:#111827;
  color:#fff;
  font-weight:900;
  box-shadow:0 8px 18px rgba(15,23,42,.14);
}
.settlements-page .settlement-footer-btn-v23116:hover,
.settlements-page .settlement-footer-btn-v23116:focus {
  border-color:#000;
  background:#000;
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 11px 24px rgba(15,23,42,.2);
}
.settlements-page .settlement-footer-btn-v23116 i {
  color:#fff!important;
  font-size:1.25rem!important;
  line-height:1!important;
}
.settlements-page .settlement-footer-btn-v23116 span {
  color:#fff!important;
  font-size:.78rem;
}
[data-bs-theme="dark"] .settlements-page .settlement-final-footer-v23116 {
  border-color:#334155;
  background:linear-gradient(180deg,#0f172a,#111827);
}
[data-bs-theme="dark"] .settlements-page .settlement-final-footer-note-v23116 strong {color:#f8fafc}
[data-bs-theme="dark"] .settlements-page .settlement-final-footer-note-v23116 small {color:#cbd5e1}
[data-bs-theme="dark"] .settlements-page .settlement-final-footer-note-v23116>span,
[data-bs-theme="dark"] .settlements-page .settlement-footer-btn-v23116 {
  border-color:#475569;
  background:#020617;
}
@media(max-width:767.98px){
  .settlements-page .settlement-final-footer-v23116 {padding:1rem}
  .settlements-page .settlement-final-footer-actions-v23116 {align-items:stretch}
  .settlements-page .settlement-footer-btn-v23116 {width:100%;min-width:0}
}

/* ========================================================================== */
/* Sonic Tower v2.3.117 — fixed settlement icon alignment and approval footer */
/* ========================================================================== */
.settlements-page .settlement-glance-card-v23112,
.settlements-page .settlement-balance-card-v23112 {
  position:relative!important;
  overflow:hidden!important;
  direction:rtl!important;
  text-align:right!important;
}
.settlements-page .settlement-glance-card-v23112 {
  display:block!important;
  min-height:122px!important;
  padding:1rem 5.35rem 1rem 1.1rem!important;
}
.settlements-page .settlement-balance-card-v23112 {
  display:block!important;
  min-height:142px!important;
  padding:1.15rem 5.45rem 1.15rem 1.15rem!important;
}
.settlements-page .settlement-glance-card-v23112>div,
.settlements-page .settlement-balance-card-v23112>div {
  width:100%!important;
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  text-align:right!important;
}
.settlements-page .settlement-glance-card-v23112 small,
.settlements-page .settlement-glance-card-v23112 strong,
.settlements-page .settlement-glance-card-v23112>div>span,
.settlements-page .settlement-balance-card-v23112 small,
.settlements-page .settlement-balance-card-v23112 strong,
.settlements-page .settlement-balance-card-v23112>div>span {
  width:100%!important;
  text-align:right!important;
}
.settlements-page .settlement-glance-icon-v23115,
.settlements-page .settlement-balance-icon-v23115 {
  position:absolute!important;
  inset-inline-end:1rem!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  z-index:2!important;
}
.settlements-page .settlement-glance-icon-v23115 {
  width:56px!important;
  height:56px!important;
}
.settlements-page .settlement-balance-icon-v23115 {
  width:54px!important;
  height:54px!important;
}
.settlements-page .settlement-glance-icon-v23115 i,
.settlements-page .settlement-balance-icon-v23115 i {
  width:100%!important;
  height:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  font-size:1.7rem!important;
  line-height:1!important;
  text-align:center!important;
  vertical-align:middle!important;
  transform:none!important;
}

.settlements-page .settlement-final-footer-v23117 {
  display:block!important;
  width:auto!important;
  margin:1.5rem 1.25rem 1.25rem!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid rgba(148,163,184,.24)!important;
  border-radius:1.1rem!important;
  background: var(--bs-card-bg)!important;
  box-shadow:0 10px 26px rgba(15,23,42,.055)!important;
  direction:rtl!important;
}
.settlements-page .settlement-final-footer-heading-v23117 {
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:.8rem!important;
  padding:1rem 1.15rem!important;
  border-bottom:1px solid rgba(148,163,184,.2)!important;
  background:linear-gradient(180deg,#fff,#f8fafc)!important;
}
.settlements-page .settlement-final-footer-heading-icon-v23117 {
  width:44px!important;
  height:44px!important;
  flex:0 0 44px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:.9rem!important;
  background:#111827!important;
  color:#fff!important;
}
.settlements-page .settlement-final-footer-heading-icon-v23117 i {
  width:100%!important;
  height:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  color:#fff!important;
  font-size:1.35rem!important;
  line-height:1!important;
}
.settlements-page .settlement-final-footer-heading-v23117>div {
  min-width:0!important;
  flex:1 1 auto!important;
  text-align:right!important;
}
.settlements-page .settlement-final-footer-heading-v23117 strong,
.settlements-page .settlement-final-footer-heading-v23117 small {
  display:block!important;
  text-align:right!important;
}
.settlements-page .settlement-final-footer-heading-v23117 strong {
  color:#0f172a!important;
  font-size:.88rem!important;
  font-weight:900!important;
}
.settlements-page .settlement-final-footer-heading-v23117 small {
  margin-top:.25rem!important;
  color:#64748b!important;
  font-size:.7rem!important;
  line-height:1.7!important;
}
.settlements-page .settlement-final-footer-body-v23117 {
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:1rem!important;
  padding:1rem 1.15rem 1.15rem!important;
  background: var(--bs-card-bg)!important;
}
.settlements-page .settlement-final-footer-status-v23117 {
  min-width:0!important;
}
.settlements-page .settlement-final-footer-status-v23117 .alert,
.settlements-page .settlement-final-footer-hint-v23117 {
  min-height:48px!important;
  display:flex!important;
  align-items:center!important;
  gap:.55rem!important;
  margin:0!important;
  padding:.72rem .9rem!important;
  border-radius:.85rem!important;
  font-size:.72rem!important;
  font-weight:800!important;
  line-height:1.6!important;
  text-align:right!important;
}
.settlements-page .settlement-final-footer-hint-v23117 {
  border:1px solid rgba(59,130,246,.18)!important;
  background:#eff6ff!important;
  color:#1e3a8a!important;
}
.settlements-page .settlement-final-footer-status-v23117 i {
  flex:0 0 auto!important;
  margin:0!important;
  font-size:1.1rem!important;
}
.settlements-page .settlement-final-footer-actions-v23117 {
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:wrap!important;
  gap:.75rem!important;
}
.settlements-page .settlement-footer-btn-v23117 {
  min-width:220px!important;
  min-height:48px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.6rem!important;
  margin:0!important;
  padding:.72rem 1.05rem!important;
  border:1px solid #111827!important;
  border-radius:.85rem!important;
  background:#111827!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(15,23,42,.14)!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.settlements-page .settlement-footer-btn-v23117:hover,
.settlements-page .settlement-footer-btn-v23117:focus {
  border-color:#000!important;
  background:#000!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
  box-shadow:0 11px 24px rgba(15,23,42,.2)!important;
}
.settlements-page .settlement-footer-btn-v23117 i {
  flex:0 0 auto!important;
  margin:0!important;
  color:#fff!important;
  font-size:1.2rem!important;
  line-height:1!important;
}
.settlements-page .settlement-footer-btn-v23117 span {
  color:#fff!important;
  font-size:.78rem!important;
  line-height:1.3!important;
}
[data-bs-theme="dark"] .settlements-page .settlement-final-footer-v23117 {
  border-color:#334155!important;
  background:#111827!important;
  box-shadow:none!important;
}
[data-bs-theme="dark"] .settlements-page .settlement-final-footer-heading-v23117 {
  border-color:#334155!important;
  background:linear-gradient(180deg,#111827,#0f172a)!important;
}
[data-bs-theme="dark"] .settlements-page .settlement-final-footer-heading-v23117 strong {color:#f8fafc!important}
[data-bs-theme="dark"] .settlements-page .settlement-final-footer-heading-v23117 small {color:#cbd5e1!important}
[data-bs-theme="dark"] .settlements-page .settlement-final-footer-body-v23117 {background:#111827!important}
[data-bs-theme="dark"] .settlements-page .settlement-final-footer-hint-v23117 {
  border-color:#1e3a8a!important;
  background:#172554!important;
  color:#dbeafe!important;
}
@media(max-width:1199.98px){
  .settlements-page .settlement-final-footer-body-v23117 {
    grid-template-columns:1fr!important;
  }
  .settlements-page .settlement-final-footer-actions-v23117 {
    justify-content:flex-start!important;
  }
}
@media(max-width:767.98px){
  .settlements-page .settlement-final-footer-v23117 {
    margin:1rem!important;
  }
  .settlements-page .settlement-final-footer-heading-v23117,
.settlements-page .settlement-final-footer-body-v23117 {
    padding:1rem!important;
  }
  .settlements-page .settlement-final-footer-actions-v23117 {
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .settlements-page .settlement-footer-btn-v23117 {
    width:100%!important;
    min-width:0!important;
  }
  .settlements-page .settlement-glance-card-v23112,
.settlements-page .settlement-balance-card-v23112 {
    padding-inline-end:5rem!important;
  }
}

/* ========================================================================== */
/* Sonic Tower v2.3.118 — clear structured items for deductions and advances  */
/* ========================================================================== */
.settlements-page .settlement-source-items-v23118 {
  display:grid;
  gap:.75rem;
  padding:.8rem;
}
.settlements-page .settlement-source-item-v23118 {
  --source-accent:#4f46e5;
  --source-soft:rgba(79,70,229,.08);
  position:relative;
  overflow:hidden;
  border:1px solid rgba(148,163,184,.22);
  border-radius:1rem;
  background: var(--bs-card-bg);
  box-shadow:0 8px 22px rgba(15,23,42,.055);
}
.settlements-page .settlement-source-item-v23118.is-deduction {
  --source-accent:#e11d48;
  --source-soft:rgba(225,29,72,.075);
}
.settlements-page .settlement-source-item-v23118.is-advance {
  --source-accent:#4f46e5;
  --source-soft:rgba(79,70,229,.075);
}
.settlements-page .settlement-source-item-v23118::before {
  content:"";
  position:absolute;
  inset-inline-start:0;
  top:0;
  bottom:0;
  width:5px;
  background:var(--source-accent);
}
.settlements-page .settlement-source-item-top-v23118 {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:.9rem 1rem .8rem;
  background:linear-gradient(180deg,var(--source-soft),rgba(255,255,255,0));
}
.settlements-page .settlement-source-item-title-v23118 {
  min-width:0;
  display:flex;
  align-items:center;
  gap:.7rem;
}
.settlements-page .settlement-source-item-title-v23118>div {
  min-width:0;
}
.settlements-page .settlement-source-item-icon-v23118 {
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  border-radius:.9rem;
  background:var(--source-accent);
  color:#fff;
  box-shadow:0 8px 18px color-mix(in srgb,var(--source-accent) 24%,transparent);
}
.settlements-page .settlement-source-item-icon-v23118 i {
  font-size:1.22rem!important;
  line-height:1!important;
}
.settlements-page .settlement-source-item-title-v23118 strong {
  display:block;
  color:#0f172a;
  font-size:.82rem;
  font-weight:900;
  line-height:1.5;
}
.settlements-page .settlement-source-item-title-v23118 small {
  display:block;
  margin-top:.15rem;
  color:#64748b;
  font-size:.67rem;
  font-weight:650;
  line-height:1.55;
}
.settlements-page .settlement-source-item-amount-v23118 {
  flex:0 0 auto;
  min-width:130px;
  padding:.5rem .7rem;
  border:1px solid color-mix(in srgb,var(--source-accent) 20%,transparent);
  border-radius:.85rem;
  background: var(--bs-card-bg);
  text-align:center;
}
.settlements-page .settlement-source-item-amount-v23118 small {
  display:block;
  color:#64748b;
  font-size:.63rem;
  font-weight:800;
}
.settlements-page .settlement-source-item-amount-v23118 b {
  display:block;
  margin-top:.15rem;
  color:var(--source-accent);
  font-size:.94rem;
  font-weight:900;
  white-space:nowrap;
}
.settlements-page .settlement-source-item-details-v23118 {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.6rem;
  padding:0 1rem .8rem;
}
.settlements-page .settlement-source-detail-v23118 {
  min-width:0;
  display:flex;
  align-items:flex-start;
  gap:.55rem;
  padding:.65rem .7rem;
  border:1px solid rgba(148,163,184,.18);
  border-radius:.8rem;
  background:#f8fafc;
}
.settlements-page .settlement-source-detail-v23118.is-wide {
  grid-column:auto;
}
.settlements-page .settlement-source-detail-v23118>i {
  width:29px;
  height:29px;
  flex:0 0 29px;
  display:grid;
  place-items:center;
  border-radius:.65rem;
  background:var(--source-soft);
  color:var(--source-accent);
  font-size:1rem;
}
.settlements-page .settlement-source-detail-v23118>span {
  min-width:0;
}
.settlements-page .settlement-source-detail-v23118 small {
  display:block;
  color:#94a3b8;
  font-size:.61rem;
  font-weight:800;
}
.settlements-page .settlement-source-detail-v23118 strong {
  display:block;
  margin-top:.12rem;
  color:#334155;
  font-size:.69rem;
  font-weight:800;
  line-height:1.65;
  overflow-wrap:anywhere;
}
.settlements-page .settlement-source-item-footer-v23118 {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.6rem;
  flex-wrap:wrap;
  padding:.65rem 1rem;
  border-top:1px dashed rgba(148,163,184,.28);
  background:#fcfcfd;
}
.settlements-page .settlement-source-link-badge-v23118,
.settlements-page .settlement-source-auto-note-v23118 {
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  border-radius:999px;
  font-size:.63rem;
  font-weight:850;
  line-height:1.4;
}
.settlements-page .settlement-source-link-badge-v23118 {
  padding:.32rem .58rem;
  background:var(--source-accent);
  color:#fff;
}
.settlements-page .settlement-source-link-badge-v23118.is-neutral {
  background:#e2e8f0;
  color:#475569;
}
.settlements-page .settlement-source-auto-note-v23118 {
  color:#64748b;
}
.settlements-page .settlement-source-auto-note-v23118 i {
  color:var(--source-accent);
  font-size:.88rem;
}
[data-bs-theme="dark"] .settlements-page .settlement-source-item-v23118,
[data-bs-theme="dark"] .settlements-page .settlement-source-item-amount-v23118 {
  background:#111827;
  border-color:#334155;
  box-shadow:none;
}
[data-bs-theme="dark"] .settlements-page .settlement-source-item-title-v23118 strong {
  color:#f8fafc;
}
[data-bs-theme="dark"] .settlements-page .settlement-source-item-title-v23118 small,
[data-bs-theme="dark"] .settlements-page .settlement-source-item-amount-v23118 small,
[data-bs-theme="dark"] .settlements-page .settlement-source-auto-note-v23118 {
  color:#94a3b8;
}
[data-bs-theme="dark"] .settlements-page .settlement-source-detail-v23118,
[data-bs-theme="dark"] .settlements-page .settlement-source-item-footer-v23118 {
  background:#0f172a;
  border-color:#334155;
}
[data-bs-theme="dark"] .settlements-page .settlement-source-detail-v23118 strong {
  color:#e2e8f0;
}
[data-bs-theme="dark"] .settlements-page .settlement-source-link-badge-v23118.is-neutral {
  background:#334155;
  color:#e2e8f0;
}
@media(max-width:767.98px){
  .settlements-page .settlement-source-item-top-v23118 {
    align-items:flex-start;
    flex-direction:column;
  }
  .settlements-page .settlement-source-item-amount-v23118 {
    width:100%;
    min-width:0;
    text-align:start;
  }
  .settlements-page .settlement-source-item-details-v23118 {
    grid-template-columns:1fr;
  }
  .settlements-page .settlement-source-item-footer-v23118 {
    align-items:flex-start;
    flex-direction:column;
  }
}

/* ========================================================================== */
/* Sonic Tower v2.3.120 — reliable extra-charge switch state                 */
/* ========================================================================== */
.tm-page-v23100 .tm-extra-charge-toggle-v23102 {
  display:flex;
  align-items:center;
  flex:0 0 auto;
}
.tm-page-v23100 .tm-extra-charge-toggle-v23102 > .tm-extra-charge-input-v23102 {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
  opacity:0!important;
  pointer-events:none!important;
}
.tm-page-v23100 .tm-extra-charge-switch-button-v23120 {
  display:inline-flex;
  align-items:center;
  gap:.65rem;
  min-height:42px;
  padding:.38rem .55rem .38rem .7rem;
  border:1px solid rgba(159,24,55,.16);
  border-radius:999px;
  background: var(--bs-card-bg);
  color:#9f1837;
  font-family:inherit;
  text-align:start;
  cursor:pointer;
  transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease;
}
.tm-page-v23100 .tm-extra-charge-switch-button-v23120:hover {
  border-color:rgba(232,50,88,.36);
  background:#fff7f9;
}
.tm-page-v23100 .tm-extra-charge-switch-button-v23120:focus-visible {
  outline:3px solid rgba(99,91,255,.24);
  outline-offset:3px;
}
.tm-page-v23100 .tm-extra-charge-switch-button-v23120 .tm-extra-charge-switch-v23102 {
  flex:0 0 44px;
  display:block;
}
.tm-page-v23100 .tm-extra-charge-switch-copy-v23120 {
  display:flex;
  flex-direction:column;
  gap:.05rem;
  line-height:1.25;
}
.tm-page-v23100 .tm-extra-charge-switch-copy-v23120 strong {
  color:inherit;
  font-size:.78rem;
  font-weight:900;
  white-space:nowrap;
}
.tm-page-v23100 .tm-extra-charge-switch-copy-v23120 small {
  color:#94a3b8;
  font-size:.62rem;
  font-weight:800;
}
.tm-page-v23100 .tm-extra-charge-switch-button-v23120.is-checked-v23120 {
  border-color:#e83258;
  background:#e83258;
  color:#fff;
  box-shadow:0 8px 18px rgba(232,50,88,.22);
}
.tm-page-v23100 .tm-extra-charge-switch-button-v23120.is-checked-v23120 .tm-extra-charge-switch-v23102 {
  background: var(--bs-card-bg);
}
.tm-page-v23100 .tm-extra-charge-switch-button-v23120.is-checked-v23120 .tm-extra-charge-switch-v23102::after {
  background:#e83258;
  transform:translateX(-20px);
}
[dir="ltr"] .tm-page-v23100 .tm-extra-charge-switch-button-v23120.is-checked-v23120 .tm-extra-charge-switch-v23102::after {
  transform:translateX(20px);
}
.tm-page-v23100 .tm-extra-charge-switch-button-v23120.is-checked-v23120 .tm-extra-charge-switch-copy-v23120 small {
  color:rgba(255,255,255,.82);
}
.tm-page-v23100 .tm-extra-charge-card-v23102.is-enabled-v23102 {
  border-color:rgba(232,50,88,.62);
  box-shadow:0 12px 28px rgba(232,50,88,.08);
}
[data-bs-theme="dark"] .tm-page-v23100 .tm-extra-charge-switch-button-v23120 {
  background:#111827;
  border-color:#475569;
  color:#fecdd3;
}
[data-bs-theme="dark"] .tm-page-v23100 .tm-extra-charge-switch-button-v23120:hover {
  background:#1f2937;
  border-color:#fb7185;
}
[data-bs-theme="dark"] .tm-page-v23100 .tm-extra-charge-switch-button-v23120.is-checked-v23120 {
  background:#e11d48;
  border-color:#fb7185;
  color:#fff;
}
@media(max-width:767.98px){
  .tm-page-v23100 .tm-extra-charge-toggle-v23102,
.tm-page-v23100 .tm-extra-charge-switch-button-v23120 {
    width:100%;
  }
  .tm-page-v23100 .tm-extra-charge-switch-button-v23120 {
    justify-content:flex-start;
  }
}

/* ========================================================================== */
/* Sonic Tower v2.3.121 — prominent contractor cashbox visual redesign        */
/* ========================================================================== */
.contractor-cashbox-page-v23106 {
  gap:1.25rem;
}
.contractor-cashbox-hero-v23121 {
  grid-template-columns:minmax(0,1fr) minmax(310px,400px);
  gap:1rem;
  padding:1.3rem;
  border:0;
  background:linear-gradient(135deg,#4338ca 0%,#635bff 46%,#0ea5e9 100%);
  box-shadow:0 20px 46px rgba(67,56,202,.20);
}
.contractor-cashbox-hero-v23121:before {
  width:320px;
  height:320px;
  inset:auto -95px -165px auto;
  background:rgba(255,255,255,.10);
}
.contractor-cashbox-hero-v23121:after {
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  border-radius:50%;
  inset:-95px auto auto 20%;
  background:rgba(255,255,255,.065);
  pointer-events:none;
}
.contractor-cashbox-hero-v23121 .contractor-cashbox-hero-main-v23106 {
  z-index:1;
}
.contractor-cashbox-hero-v23121 .contractor-cashbox-avatar-v23106 {
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.28);
  box-shadow:0 14px 32px rgba(15,23,42,.16);
  backdrop-filter:blur(8px);
}
.contractor-cashbox-hero-v23121 .contractor-cashbox-kicker-v23106,
.contractor-cashbox-hero-v23121 .contractor-cashbox-hero-main-v23106 h2,
.contractor-cashbox-hero-v23121 .contractor-cashbox-hero-main-v23106 p {
  color:#fff;
}
.contractor-cashbox-hero-v23121 .contractor-cashbox-kicker-v23106 {
  opacity:.9;
}
.contractor-cashbox-hero-v23121 .contractor-cashbox-hero-main-v23106 p {
  color:rgba(255,255,255,.88);
}
.contractor-cashbox-hero-v23121 .contractor-cashbox-identity-v23106 span {
  color:#fff;
  background:rgba(255,255,255,.13);
  border-color:rgba(255,255,255,.24);
  backdrop-filter:blur(8px);
}
.contractor-cashbox-hero-v23121 .contractor-cashbox-back-v23106 {
  color:#312e81;
  background: var(--bs-card-bg);
  border-color:rgba(255,255,255,.7)!important;
  box-shadow:0 8px 18px rgba(15,23,42,.12);
}
.contractor-cashbox-hero-v23121 .contractor-cashbox-current-v23106 {
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 18px 38px rgba(15,23,42,.18);
  backdrop-filter:blur(8px);
}
.contractor-cashbox-hero-v23121 .contractor-cashbox-current-v23106.tone-success {
  background:linear-gradient(135deg,#059669,#10b981);
}
.contractor-cashbox-hero-v23121 .contractor-cashbox-current-v23106.tone-danger {
  background:linear-gradient(135deg,#be123c,#f43f5e);
}
.contractor-cashbox-hero-v23121 .contractor-cashbox-current-v23106.tone-secondary {
  background:linear-gradient(135deg,#334155,#64748b);
}

.contractor-cashbox-stats-v23121 {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}
.contractor-cashbox-stats-v23121 article {
  --cashbox-tone:#4f46e5;
  min-height:150px;
  display:flex;
  align-items:flex-start;
  gap:.9rem;
  padding:1.05rem;
  border:0;
  color:#fff;
  background:linear-gradient(135deg,var(--cashbox-tone),color-mix(in srgb,var(--cashbox-tone) 76%,#0f172a));
  box-shadow:0 13px 28px color-mix(in srgb,var(--cashbox-tone) 22%,transparent);
}
.contractor-cashbox-stats-v23121 article:before {
  content:"";
  position:absolute;
  width:145px;
  height:145px;
  border-radius:50%;
  inset:auto -45px -85px auto;
  background:rgba(255,255,255,.10);
}
.contractor-cashbox-stats-v23121 article:after {
  display:none;
}
.contractor-cashbox-stats-v23121 article>span {
  position:relative;
  z-index:1;
  flex:0 0 54px;
  width:54px;
  height:54px;
  border-radius:1rem;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.24);
  color:#fff;
  font-size:1.7rem;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}
.contractor-cashbox-stats-v23121 article>div {
  position:relative;
  z-index:1;
  min-width:0;
}
.contractor-cashbox-stats-v23121 article small,
.contractor-cashbox-stats-v23121 article strong,
.contractor-cashbox-stats-v23121 article p {
  color:#fff;
}
.contractor-cashbox-stats-v23121 article small {
  opacity:.9;
  font-size:.77rem;
}
.contractor-cashbox-stats-v23121 article strong {
  font-size:1.38rem;
}
.contractor-cashbox-stats-v23121 article p {
  opacity:.8;
  font-size:.74rem;
}
.contractor-cashbox-stats-v23121 .tone-success {--cashbox-tone:#059669}
.contractor-cashbox-stats-v23121 .tone-dark {--cashbox-tone:#334155}
.contractor-cashbox-stats-v23121 .tone-primary {--cashbox-tone:#4f46e5}
.contractor-cashbox-stats-v23121 .tone-warning {--cashbox-tone:#d97706}
.contractor-cashbox-stats-v23121 .tone-danger {--cashbox-tone:#e11d48}
.contractor-cashbox-stats-v23121 .tone-info {--cashbox-tone:#0284c7}
.contractor-cashbox-stats-v23121 .tone-secondary {--cashbox-tone:#64748b}
.contractor-cashbox-stats-v23121 .tone-orange {--cashbox-tone:#ea580c}
.contractor-cashbox-stats-v23121 .tone-purple {--cashbox-tone:#7c3aed}

.contractor-cashbox-ledger-card-v23121 {
  border:1px solid rgba(99,102,241,.20);
  box-shadow:0 18px 42px rgba(15,23,42,.075);
}
.contractor-cashbox-ledger-head-v23121 {
  padding:1.05rem 1.2rem;
  color:#fff;
  background:linear-gradient(135deg,#4338ca,#635bff 55%,#0ea5e9);
}
.contractor-cashbox-ledger-head-v23121 h4,
.contractor-cashbox-ledger-head-v23121 p {
  color:#fff;
}
.contractor-cashbox-ledger-head-v23121 p {
  opacity:.82;
}
.contractor-cashbox-ledger-head-v23121 .contractor-cashbox-section-icon-v23106 {
  width:50px;
  height:50px;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.24);
  color:#fff;
  font-size:1.55rem;
  box-shadow:none;
}
.contractor-cashbox-ledger-head-v23121 .btn {
  color:#312e81;
  background: var(--bs-card-bg);
  border-color:#fff;
  font-weight:900;
}
.contractor-cashbox-ledger-card-v23121>.card-body {
  padding:1.15rem;
}
.contractor-cashbox-ledger-card-v23121 .contractor-cashbox-filters-v23106 {
  gap:.9rem;
  margin-bottom:1.1rem;
  border-color:rgba(99,102,241,.18);
  background:linear-gradient(180deg,#f5f7ff,#fff);
}
.contractor-cashbox-period-summary-v23121 {
  gap:1rem;
  margin-bottom:1.1rem;
}
.contractor-cashbox-period-summary-v23121 article {
  --period-tone:#4f46e5;
  min-height:112px;
  display:flex;
  align-items:center;
  gap:.8rem;
  padding:.9rem;
  border:0;
  color:#fff;
  background:linear-gradient(135deg,var(--period-tone),color-mix(in srgb,var(--period-tone) 77%,#0f172a));
  box-shadow:0 10px 24px color-mix(in srgb,var(--period-tone) 20%,transparent);
  overflow:hidden;
}
.contractor-cashbox-period-summary-v23121 article>span {
  flex:0 0 48px;
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:.9rem;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.22);
  color:#fff;
  font-size:1.45rem;
}
.contractor-cashbox-period-summary-v23121 article>div {
  min-width:0;
}
.contractor-cashbox-period-summary-v23121 small,
.contractor-cashbox-period-summary-v23121 strong,
.contractor-cashbox-period-summary-v23121 b {
  color:#fff;
}
.contractor-cashbox-period-summary-v23121 small {
  margin-bottom:.3rem;
  opacity:.85;
}
.contractor-cashbox-period-summary-v23121 strong {
  font-size:1.18rem;
}
.contractor-cashbox-period-summary-v23121 b {
  display:block;
  margin-top:.2rem;
  font-size:.68rem;
  opacity:.8;
}
.contractor-cashbox-period-summary-v23121 .tone-success {--period-tone:#059669}
.contractor-cashbox-period-summary-v23121 .tone-danger {--period-tone:#e11d48}
.contractor-cashbox-period-summary-v23121 .tone-primary {--period-tone:#4f46e5}
.contractor-cashbox-period-summary-v23121 .tone-warning {--period-tone:#d97706}
.contractor-cashbox-ledger-wrap-v23106 {
  border:1px solid rgba(148,163,184,.22);
  border-radius:1rem;
  overflow:auto;
}
.contractor-cashbox-ledger-table-v23106 thead th {
  padding:.85rem .7rem;
  background:linear-gradient(180deg,#eef2ff,#f8fafc);
  color:#312e81;
}
.contractor-cashbox-ledger-table-v23106 tbody td {
  padding:.78rem .7rem;
}
.contractor-cashbox-accounting-note-v23121 {
  gap:.85rem;
  margin-top:1.15rem;
  padding:1rem 1.1rem;
  border:1px solid #f59e0b;
  border-inline-start:5px solid #d97706;
  border-radius:1rem;
  background:linear-gradient(135deg,#fffbeb,#fef3c7);
  box-shadow:0 9px 22px rgba(217,119,6,.10);
}
.contractor-cashbox-accounting-note-v23121>i {
  flex:0 0 auto;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:.8rem;
  background:#d97706;
  color:#fff;
  font-size:1.4rem;
}
.contractor-cashbox-accounting-note-v23121 strong {
  color:#92400e;
  font-size:.92rem;
  font-weight:950;
}
.contractor-cashbox-accounting-note-v23121 p {
  color:#78350f;
  font-size:.82rem;
  font-weight:750;
  line-height:1.85;
}
[data-bs-theme="dark"] .contractor-cashbox-ledger-card-v23121 .contractor-cashbox-filters-v23106 {
  background:linear-gradient(180deg,#111827,#0f172a);
  border-color:#334155;
}
[data-bs-theme="dark"] .contractor-cashbox-ledger-table-v23106 thead th {
  background:linear-gradient(180deg,#1e1b4b,#111827);
  color:#e0e7ff;
}
[data-bs-theme="dark"] .contractor-cashbox-accounting-note-v23121 {
  background:linear-gradient(135deg,#3a2a07,#29200b);
  border-color:#b45309;
}
[data-bs-theme="dark"] .contractor-cashbox-accounting-note-v23121 strong {
  color:#fde68a;
}
[data-bs-theme="dark"] .contractor-cashbox-accounting-note-v23121 p {
  color:#fcd34d;
}
@media(max-width:1199.98px){
  .contractor-cashbox-hero-v23121 {grid-template-columns:1fr}
  .contractor-cashbox-stats-v23121 {grid-template-columns:repeat(2,minmax(0,1fr))}
  .contractor-cashbox-period-summary-v23121 {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767.98px){
  .contractor-cashbox-hero-v23121 {padding:1rem}
  .contractor-cashbox-stats-v23121,
.contractor-cashbox-period-summary-v23121 {grid-template-columns:1fr}
  .contractor-cashbox-stats-v23121 article {min-height:130px}
  .contractor-cashbox-ledger-card-v23121>.card-body {padding:.85rem}
  .contractor-cashbox-accounting-note-v23121 {align-items:flex-start}
}

/* ==========================================================================
   Sonic Tower v2.3.122 — vibrant redesign for work defects card
   ========================================================================== */
.wd-page-v23100 .wd-defect-card {
  border-radius:24px!important;
  border:1px solid #dfe6f3!important;
  box-shadow:0 16px 38px rgba(18,31,53,.06)!important;
  overflow:hidden!important;
}
.wd-page-v23100 .wd-defect-head {
  padding:22px 24px!important;
  background:linear-gradient(135deg,rgba(var(--bs-primary-rgb),.06) 0%,rgba(var(--bs-info-rgb),.05) 52%,rgba(var(--bs-warning-rgb),.06) 100%)!important;
  border-bottom:1px solid #e6ebf3!important;
}
.wd-page-v23100 .wd-defect-card > .card-body {
  padding:24px!important;
  display:grid;
  gap:1.15rem;
}
.wd-page-v23100 .wd-kpi-grid-v23105 {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px!important;
  margin-bottom:0!important;
}
.wd-page-v23100 .wd-kpi-card-v23122 {
  --wd-kpi-start:#4f46e5;
  --wd-kpi-end:#6366f1;
  position:relative;
  min-height:126px!important;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:flex-start;
  gap:14px;
  padding:18px!important;
  border:0!important;
  border-radius:18px!important;
  overflow:hidden;
  background:linear-gradient(135deg,var(--wd-kpi-start) 0%,var(--wd-kpi-end) 100%)!important;
  box-shadow:0 14px 30px rgba(32,44,77,.14)!important;
}
.wd-page-v23100 .wd-kpi-card-v23122::before {
  content:"";
  position:absolute;
  width:110px;height:110px;
  border-radius:50%;
  background:rgba(255,255,255,.10);
  inset-inline-start:-28px;
  bottom:-46px;
}
.wd-page-v23100 .wd-kpi-card-v23122::after {
  content:"";
  position:absolute;
  width:88px;height:88px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  inset-inline-end:-24px;
  top:-28px;
}
.wd-page-v23100 .wd-kpi-icon-v23122,
.wd-page-v23100 .wd-cost-stat-icon-v23122,
.wd-page-v23100 .wd-section-head-icon-v23122 {
  position:relative;
  z-index:1;
  width:46px;
  height:46px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.15);
  border:1px solid rgba(255,255,255,.30);
  color:#fff;
  font-size:1.45rem;
  flex:0 0 46px;
}
.wd-page-v23100 .wd-kpi-content-v23122,
.wd-page-v23100 .wd-cost-stat-v23122 > div {
  position:relative;
  z-index:1;
  min-width:0;
}
.wd-page-v23100 .wd-kpi-content-v23122 small,
.wd-page-v23100 .wd-kpi-content-v23122 strong,
.wd-page-v23100 .wd-kpi-content-v23122 span {
  display:block;
  color:#fff!important;
  text-align:right;
}
.wd-page-v23100 .wd-kpi-content-v23122 small {font-weight:800;opacity:.9;margin-bottom:8px}
.wd-page-v23100 .wd-kpi-content-v23122 strong {font-size:1.4rem;line-height:1.2;font-weight:950}
.wd-page-v23100 .wd-kpi-content-v23122 span {margin-top:8px;font-size:.81rem;opacity:.86;line-height:1.55}
.wd-page-v23100 .wd-kpi-card-v23122.tone-red {--wd-kpi-start:#ef4444;--wd-kpi-end:#e11d48}
.wd-page-v23100 .wd-kpi-card-v23122.tone-amber {--wd-kpi-start:#f59e0b;--wd-kpi-end:#f97316}
.wd-page-v23100 .wd-kpi-card-v23122.tone-green {--wd-kpi-start:#10b981;--wd-kpi-end:#059669}
.wd-page-v23100 .wd-kpi-card-v23122.tone-indigo {--wd-kpi-start:#4f46e5;--wd-kpi-end:#6366f1}
.wd-page-v23100 .wd-kpi-card-v23122.tone-blue {--wd-kpi-start:#2563eb;--wd-kpi-end:#0ea5e9}
.wd-page-v23100 .wd-kpi-card-v23122.tone-teal {--wd-kpi-start:#0f766e;--wd-kpi-end:#14b8a6}
.wd-page-v23100 .wd-kpi-card-v23122.tone-orange {--wd-kpi-start:#d97706;--wd-kpi-end:#f59e0b}
.wd-page-v23100 .wd-kpi-card-v23122.tone-rose {--wd-kpi-start:#e11d48;--wd-kpi-end:#fb7185}

.wd-page-v23100 .wd-cost-ledger-v23122 {
  border:1px solid #f0b7c3!important;
  border-radius:20px!important;
  background:linear-gradient(180deg,#fff9fb 0%,#fff 100%)!important;
  overflow:hidden;
  box-shadow:0 10px 24px rgba(125,31,54,.06)!important;
}
.wd-page-v23100 .wd-cost-ledger-v23122 .wd-cost-ledger-head-v23103 {
  padding:16px 18px!important;
  background:linear-gradient(135deg,#f43f5e 0%,#e11d48 100%)!important;
  border:0!important;
}
.wd-page-v23100 .wd-cost-ledger-v23122 .wd-cost-ledger-head-v23103 > span,
.wd-page-v23100 .wd-cost-ledger-v23122 .wd-cost-ledger-head-v23103 strong {color:#fff!important}
.wd-page-v23100 .wd-cost-ledger-v23122 .wd-cost-ledger-head-v23103 small {color:rgba(255,255,255,.86)!important}
.wd-page-v23100 .wd-cost-ledger-v23122 .wd-cost-ledger-head-v23103 .btn {
  border-color:rgba(255,255,255,.45)!important;
  color:#fff!important;
  background:rgba(255,255,255,.12)!important;
}
.wd-page-v23100 .wd-cost-summary-v23122 {
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  padding:16px 18px;
  background:transparent!important;
}
.wd-page-v23100 .wd-cost-summary-v23122 > div {border:0!important;padding:0!important}
.wd-page-v23100 .wd-cost-stat-v23122 {
  --wd-cost-start:#ef4444;
  --wd-cost-end:#e11d48;
  position:relative;
  min-height:114px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:flex-start;
  gap:13px;
  padding:16px;
  border-radius:16px;
  color:#fff;
  background:linear-gradient(135deg,var(--wd-cost-start) 0%,var(--wd-cost-end) 100%);
  box-shadow:0 12px 26px rgba(28,37,64,.12);
  overflow:hidden;
}
.wd-page-v23100 .wd-cost-stat-v23122::after {
  content:"";
  position:absolute;
  width:96px;height:96px;border-radius:50%;
  background:rgba(255,255,255,.10);
  inset-inline-end:-24px;bottom:-36px;
}
.wd-page-v23100 .wd-cost-stat-v23122 small,
.wd-page-v23100 .wd-cost-stat-v23122 strong,
.wd-page-v23100 .wd-cost-stat-v23122 em {display:block;color:#fff!important;font-style:normal;text-align:right}
.wd-page-v23100 .wd-cost-stat-v23122 small {font-weight:800;opacity:.9;margin-bottom:7px}
.wd-page-v23100 .wd-cost-stat-v23122 strong {font-size:1.28rem;font-weight:950;line-height:1.2}
.wd-page-v23100 .wd-cost-stat-v23122 em {margin-top:7px;font-size:.78rem;opacity:.82;line-height:1.55}
.wd-page-v23100 .wd-cost-stat-v23122.tone-red {--wd-cost-start:#ef4444;--wd-cost-end:#e11d48}
.wd-page-v23100 .wd-cost-stat-v23122.tone-rose {--wd-cost-start:#ec4899;--wd-cost-end:#db2777}
.wd-page-v23100 .wd-cost-stat-v23122.tone-green {--wd-cost-start:#10b981;--wd-cost-end:#059669}
.wd-page-v23100 .wd-cost-stat-v23122.tone-orange {--wd-cost-start:#f59e0b;--wd-cost-end:#f97316}
.wd-page-v23100 .wd-cost-list-v23103 {padding:14px 18px 18px;border-top:0!important;gap:12px}
.wd-page-v23100 .wd-cost-row-v23103 {
  border:1px solid #f3d3db!important;
  border-radius:16px;
  background: var(--bs-card-bg)!important;
  padding:14px 15px!important;
  box-shadow:0 8px 18px rgba(125,31,54,.05);
}
.wd-page-v23100 .wd-cost-row-values-v23103 span {
  border-radius:12px;
  background:#fff5f8!important;
}
.wd-page-v23100 .wd-cost-preview-v23103 {
  border-radius:14px;
  min-height:76px;
  background:linear-gradient(135deg,#fff1f4 0%,#ffe7ed 100%)!important;
}
.wd-page-v23100 .wd-cost-batch-head-v23105,
.wd-page-v23100 .wd-cost-batch-form-v23105 > .wd-cost-form-footer-v23103 {
  background: var(--bs-card-bg)!important;
}
.wd-page-v23100 .wd-reason-box-v23122 {
  padding:18px 20px!important;
  border:1px solid #f0d59e!important;
  border-inline-start:6px solid #f59e0b!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,#fff9eb 0%,#fff6dd 100%)!important;
}
.wd-page-v23100 .wd-reason-box-v23122 .wd-reason-title {
  color:#9a5b09!important;
  font-weight:950!important;
  margin-bottom:.55rem;
}
.wd-page-v23100 .wd-reason-box-v23122 p,
.wd-page-v23100 .wd-reason-box-v23122 .wd-escalation-note {color:#7a5b24!important;line-height:1.8}
.wd-page-v23100 .wd-correction-form-v23122 {
  margin-top:0!important;
  padding:18px!important;
  border:1px solid #dde4f4!important;
  border-radius:20px!important;
  background:linear-gradient(180deg,#fcfdff 0%,#f6f9ff 100%)!important;
}
.wd-page-v23100 .wd-section-head-v23122 {
  display:flex;
  align-items:center;
  gap:.85rem;
  margin-bottom:1rem;
  padding:14px 16px;
  border-radius:16px;
  background:linear-gradient(135deg,#4f46e5 0%,#6366f1 100%);
  color:#fff;
}
.wd-page-v23100 .wd-section-head-v23122 strong,
.wd-page-v23100 .wd-section-head-v23122 small {display:block;color:#fff!important}
.wd-page-v23100 .wd-section-head-v23122 strong {font-size:1rem;font-weight:950;margin-bottom:.2rem}
.wd-page-v23100 .wd-section-head-v23122 small {opacity:.84;line-height:1.65}
.wd-page-v23100 .wd-correction-grid {gap:18px!important}
.wd-page-v23100 .wd-form-field .form-control,
.wd-page-v23100 .wd-form-field .form-select {
  border-radius:14px!important;
}
.wd-page-v23100 .wd-defect-footer {
  padding:18px 24px!important;
  background:linear-gradient(180deg,#fafcff 0%,#f4f7fc 100%)!important;
  border-top:1px solid #e3e9f2!important;
}
.wd-page-v23100 .wd-defect-actions {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:.85rem;
}
.wd-page-v23100 .wd-defect-actions .btn {
  min-height:46px;
  border-radius:14px;
  padding-inline:1.15rem;
  font-weight:900;
  box-shadow:0 10px 20px rgba(28,37,64,.08);
}
.wd-page-v23100 .wd-escalation-form-v23122 {
  margin-top:1rem;
  padding:16px;
  border-radius:16px;
  background:#fff5f7;
  border:1px solid #f4c8d2;
}
.wd-page-v23100 .wd-escalation-form-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:end;
}
.wd-page-v23100 .wd-escalation-form-grid .btn {min-height:46px;border-radius:14px;font-weight:900}

@media (max-width:1199.98px){
  .wd-page-v23100 .wd-kpi-grid-v23105,
.wd-page-v23100 .wd-cost-summary-v23122 {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767.98px){
  .wd-page-v23100 .wd-defect-head {padding:18px!important}
  .wd-page-v23100 .wd-defect-card > .card-body {padding:18px!important}
  .wd-page-v23100 .wd-kpi-grid-v23105,
.wd-page-v23100 .wd-cost-summary-v23122,
.wd-page-v23100 .wd-escalation-form-grid {grid-template-columns:1fr}
  .wd-page-v23100 .wd-kpi-card-v23122,
.wd-page-v23100 .wd-cost-stat-v23122 {min-height:auto}
  .wd-page-v23100 .wd-defect-footer {padding:16px 18px!important}
}
[data-bs-theme="dark"] .wd-page-v23100 .wd-defect-card {border-color:#344156!important;background:#111827!important}
[data-bs-theme="dark"] .wd-page-v23100 .wd-defect-head {background:linear-gradient(135deg,#182133 0%,#10192a 100%)!important;border-color:#344156!important}
[data-bs-theme="dark"] .wd-page-v23100 .wd-defect-card > .card-body,
[data-bs-theme="dark"] .wd-page-v23100 .wd-correction-form-v23122 {background:#141b2b!important}
[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-ledger-v23122,
[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-row-v23103,
[data-bs-theme="dark"] .wd-page-v23100 .wd-escalation-form-v23122 {background:#151d2c!important;border-color:#4f2230!important}
[data-bs-theme="dark"] .wd-page-v23100 .wd-reason-box-v23122 {background:#2a2112!important;border-color:#745a24!important}
[data-bs-theme="dark"] .wd-page-v23100 .wd-defect-footer {background:#182133!important;border-color:#344156!important}

/* ========================================================================== */
/* Sonic Tower v2.3.123 — work defect icon alignment + calm cost statistics   */
/* ========================================================================== */
/* KPI icons: keep Arabic content on the right and fix the icon on the
   opposite side of every card. This avoids RTL grid reordering and overlap. */
.wd-page-v23100 .wd-kpi-card-v23122 {
  display:block!important;
  min-height:126px!important;
  padding:20px 20px 20px 88px!important;
}
.wd-page-v23100 .wd-kpi-icon-v23122 {
  position:absolute!important;
  z-index:3!important;
  inset-inline-end:18px!important;
  inset-inline-start:auto!important;
  top:50%!important;
  width:58px!important;
  height:58px!important;
  margin:0!important;
  transform:translateY(-50%)!important;
  border-radius:17px!important;
  display:grid!important;
  place-items:center!important;
  background:rgba(255,255,255,.18)!important;
  border:1px solid rgba(255,255,255,.42)!important;
  box-shadow:0 8px 18px rgba(15,23,42,.12)!important;
}
.wd-page-v23100 .wd-kpi-icon-v23122 i {
  display:block!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  color:#fff!important;
  font-size:1.9rem!important;
  line-height:1!important;
}
.wd-page-v23100 .wd-kpi-content-v23122 {
  width:100%!important;
  min-width:0!important;
  padding:0!important;
}
.wd-page-v23100 .wd-kpi-content-v23122 small,
.wd-page-v23100 .wd-kpi-content-v23122 strong,
.wd-page-v23100 .wd-kpi-content-v23122 span {
  text-align:right!important;
}

/* The cost section stays red and prominent, while its four statistics use one
   calm default treatment to reduce visual fatigue. */
.wd-page-v23100 .wd-cost-summary-v23122 {
  gap:16px!important;
  padding:18px!important;
  background:#f8fafc!important;
  border-bottom:1px solid #edf1f6!important;
}
.wd-page-v23100 .wd-cost-stat-v23122,
.wd-page-v23100 .wd-cost-stat-v23122.tone-red,
.wd-page-v23100 .wd-cost-stat-v23122.tone-rose,
.wd-page-v23100 .wd-cost-stat-v23122.tone-green,
.wd-page-v23100 .wd-cost-stat-v23122.tone-orange {
  position:relative!important;
  display:block!important;
  min-height:122px!important;
  padding:18px 18px 18px 86px!important;
  overflow:hidden!important;
  border:1px solid #dfe6ef!important;
  border-radius:16px!important;
  color:#172033!important;
  background: var(--bs-card-bg)!important;
  box-shadow:0 8px 20px rgba(15,23,42,.055)!important;
}
.wd-page-v23100 .wd-cost-stat-v23122::before {
  content:"";
  position:absolute;
  inset-inline-start:0;
  top:0;
  bottom:0;
  width:5px;
  background:#64748b;
}
.wd-page-v23100 .wd-cost-stat-v23122::after {
  display:none!important;
}
.wd-page-v23100 .wd-cost-stat-icon-v23122 {
  position:absolute!important;
  z-index:2!important;
  inset-inline-end:16px!important;
  inset-inline-start:auto!important;
  top:50%!important;
  width:56px!important;
  height:56px!important;
  margin:0!important;
  transform:translateY(-50%)!important;
  border-radius:16px!important;
  display:grid!important;
  place-items:center!important;
  color:#475569!important;
  background:#f1f5f9!important;
  border:1px solid #d8e0ea!important;
  box-shadow:none!important;
}
.wd-page-v23100 .wd-cost-stat-icon-v23122 i {
  display:block!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  color:#475569!important;
  font-size:1.8rem!important;
  line-height:1!important;
}
.wd-page-v23100 .wd-cost-stat-v23122 > div {
  width:100%!important;
  min-width:0!important;
  padding:0!important;
}
.wd-page-v23100 .wd-cost-stat-v23122 small,
.wd-page-v23100 .wd-cost-stat-v23122 strong,
.wd-page-v23100 .wd-cost-stat-v23122 em {
  color:#172033!important;
  text-align:right!important;
}
.wd-page-v23100 .wd-cost-stat-v23122 small {
  margin-bottom:7px!important;
  color:#475569!important;
  opacity:1!important;
  font-weight:850!important;
}
.wd-page-v23100 .wd-cost-stat-v23122 strong {
  color:#0f172a!important;
  font-size:1.3rem!important;
  font-weight:950!important;
}
.wd-page-v23100 .wd-cost-stat-v23122 em {
  margin-top:7px!important;
  color:#64748b!important;
  opacity:1!important;
  font-size:.76rem!important;
  line-height:1.6!important;
}

[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-summary-v23122 {
  background:#111827!important;
  border-color:#334155!important;
}
[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-stat-v23122,
[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-stat-v23122.tone-red,
[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-stat-v23122.tone-rose,
[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-stat-v23122.tone-green,
[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-stat-v23122.tone-orange {
  background:#182133!important;
  border-color:#334155!important;
  box-shadow:none!important;
}
[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-stat-icon-v23122 {
  color:#e2e8f0!important;
  background:#273449!important;
  border-color:#3b4a61!important;
}
[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-stat-icon-v23122 i,
[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-stat-v23122 small,
[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-stat-v23122 strong,
[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-stat-v23122 em {
  color:#e2e8f0!important;
}
[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-stat-v23122 em {
  color:#94a3b8!important;
}

@media(max-width:767.98px){
  .wd-page-v23100 .wd-kpi-card-v23122,
.wd-page-v23100 .wd-cost-stat-v23122 {
    padding:18px 18px 18px 82px!important;
  }
  .wd-page-v23100 .wd-kpi-icon-v23122,
.wd-page-v23100 .wd-cost-stat-icon-v23122 {
    inset-inline-end:14px!important;
    width:52px!important;
    height:52px!important;
  }
  .wd-page-v23100 .wd-kpi-icon-v23122 i,
.wd-page-v23100 .wd-cost-stat-icon-v23122 i {
    font-size:1.65rem!important;
  }
}

/* ========================================================================== */
/* Sonic Tower v2.3.124 — larger defect KPI icons + unified dark cost KPIs    */
/* ========================================================================== */
/* Upper defect KPI cards: enlarge the real Tabler glyph and keep a fixed,
   predictable position on the side opposite the Arabic text. */
.wd-page-v23100 .wd-kpi-card-v23122 {
  min-height:132px!important;
  padding-inline-end:94px!important;
}
.wd-page-v23100 .wd-kpi-icon-v23122 {
  inset-inline-end:18px!important;
  inset-inline-start:auto!important;
  width:66px!important;
  height:66px!important;
  border-radius:19px!important;
  background:rgba(255,255,255,.20)!important;
  border:1px solid rgba(255,255,255,.48)!important;
  box-shadow:0 10px 24px rgba(15,23,42,.16)!important;
}
.wd-page-v23100 .wd-kpi-icon-v23122 i,
.wd-page-v23100 .wd-kpi-icon-v23122 i::before {
  display:block!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  color:#fff!important;
  font-size:2.25rem!important;
  line-height:1!important;
  -webkit-text-stroke-width:0!important;
}
.wd-page-v23100 .wd-kpi-content-v23122 {
  padding-inline-end:0!important;
}

/* Cost statistics: one prominent dark visual language for all four cards. */
.wd-page-v23100 .wd-cost-summary-v23122 {
  gap:18px!important;
  padding:18px!important;
  background:#f8fafc!important;
}
.wd-page-v23100 .wd-cost-stat-v23122,
.wd-page-v23100 .wd-cost-stat-v23122.tone-red,
.wd-page-v23100 .wd-cost-stat-v23122.tone-rose,
.wd-page-v23100 .wd-cost-stat-v23122.tone-green,
.wd-page-v23100 .wd-cost-stat-v23122.tone-orange {
  position:relative!important;
  display:block!important;
  min-height:128px!important;
  padding:20px 20px 20px 94px!important;
  overflow:hidden!important;
  border:1px solid rgba(148,163,184,.24)!important;
  border-radius:18px!important;
  color:#fff!important;
  background:linear-gradient(135deg,#0f172a 0%,#1e293b 58%,#273449 100%)!important;
  box-shadow:0 12px 26px rgba(15,23,42,.17)!important;
}
.wd-page-v23100 .wd-cost-stat-v23122::before {
  content:""!important;
  position:absolute!important;
  inset-inline-start:0!important;
  top:0!important;
  bottom:0!important;
  width:6px!important;
  background:linear-gradient(180deg,#635bff,#22d3ee)!important;
}
.wd-page-v23100 .wd-cost-stat-v23122::after {
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset-inline-end:-38px!important;
  bottom:-48px!important;
  width:126px!important;
  height:126px!important;
  border-radius:50%!important;
  background:rgba(99,91,255,.13)!important;
}
.wd-page-v23100 .wd-cost-stat-icon-v23122 {
  position:absolute!important;
  z-index:3!important;
  inset-inline-end:18px!important;
  inset-inline-start:auto!important;
  top:50%!important;
  width:64px!important;
  height:64px!important;
  margin:0!important;
  transform:translateY(-50%)!important;
  border-radius:18px!important;
  display:grid!important;
  place-items:center!important;
  color:#fff!important;
  background:linear-gradient(135deg,rgba(99,91,255,.46),rgba(34,211,238,.22))!important;
  border:1px solid rgba(255,255,255,.25)!important;
  box-shadow:0 10px 22px rgba(0,0,0,.18)!important;
}
.wd-page-v23100 .wd-cost-stat-icon-v23122 i,
.wd-page-v23100 .wd-cost-stat-icon-v23122 i::before {
  display:block!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  color:#fff!important;
  font-size:2.05rem!important;
  line-height:1!important;
  -webkit-text-stroke-width:0!important;
}
.wd-page-v23100 .wd-cost-stat-v23122 > div {
  position:relative!important;
  z-index:2!important;
  width:100%!important;
  min-width:0!important;
  padding:0!important;
}
.wd-page-v23100 .wd-cost-stat-v23122 small,
.wd-page-v23100 .wd-cost-stat-v23122 strong,
.wd-page-v23100 .wd-cost-stat-v23122 em {
  display:block!important;
  color:#fff!important;
  text-align:right!important;
  font-style:normal!important;
}
.wd-page-v23100 .wd-cost-stat-v23122 small {
  margin-bottom:8px!important;
  opacity:.88!important;
  font-size:.78rem!important;
  font-weight:850!important;
}
.wd-page-v23100 .wd-cost-stat-v23122 strong {
  font-size:1.38rem!important;
  font-weight:950!important;
  line-height:1.25!important;
}
.wd-page-v23100 .wd-cost-stat-v23122 em {
  margin-top:8px!important;
  color:#cbd5e1!important;
  opacity:1!important;
  font-size:.76rem!important;
  line-height:1.55!important;
}

[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-summary-v23122 {
  background:#0b1220!important;
  border-color:#263449!important;
}
[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-stat-v23122,
[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-stat-v23122.tone-red,
[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-stat-v23122.tone-rose,
[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-stat-v23122.tone-green,
[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-stat-v23122.tone-orange {
  background:linear-gradient(135deg,#101827 0%,#1a2638 60%,#223148 100%)!important;
  border-color:#3a4a62!important;
  box-shadow:none!important;
}

@media(max-width:767.98px){
  .wd-page-v23100 .wd-kpi-card-v23122,
.wd-page-v23100 .wd-cost-stat-v23122 {
    padding:18px 18px 18px 88px!important;
  }
  .wd-page-v23100 .wd-kpi-icon-v23122,
.wd-page-v23100 .wd-cost-stat-icon-v23122 {
    inset-inline-end:14px!important;
    width:58px!important;
    height:58px!important;
  }
  .wd-page-v23100 .wd-kpi-icon-v23122 i,
.wd-page-v23100 .wd-kpi-icon-v23122 i::before {
    font-size:1.95rem!important;
  }
  .wd-page-v23100 .wd-cost-stat-icon-v23122 i,
.wd-page-v23100 .wd-cost-stat-icon-v23122 i::before {
    font-size:1.85rem!important;
  }
}

/* ========================================================================== */
/* Sonic Tower v2.3.126 — unified dark lower defect KPI cards only            */
/* ========================================================================== */
/* Important: this block intentionally targets only the eight KPI cards inside
   each defect record. The four overview cards at the top of work_defects.php
   are left exactly as they were in v2.3.124. */
.wd-page-v23100 .wd-defect-card .wd-kpi-card-v23122,
.wd-page-v23100 .wd-defect-card .wd-kpi-card-v23122.tone-red,
.wd-page-v23100 .wd-defect-card .wd-kpi-card-v23122.tone-amber,
.wd-page-v23100 .wd-defect-card .wd-kpi-card-v23122.tone-green,
.wd-page-v23100 .wd-defect-card .wd-kpi-card-v23122.tone-indigo,
.wd-page-v23100 .wd-defect-card .wd-kpi-card-v23122.tone-blue,
.wd-page-v23100 .wd-defect-card .wd-kpi-card-v23122.tone-teal,
.wd-page-v23100 .wd-defect-card .wd-kpi-card-v23122.tone-orange,
.wd-page-v23100 .wd-defect-card .wd-kpi-card-v23122.tone-rose {
  --wd-kpi-start:#0f172a!important;
  --wd-kpi-end:#273449!important;
  color:#fff!important;
  background:linear-gradient(135deg,#0f172a 0%,#1e293b 58%,#273449 100%)!important;
  border:1px solid rgba(148,163,184,.26)!important;
  box-shadow:0 12px 26px rgba(15,23,42,.18)!important;
}
.wd-page-v23100 .wd-defect-card .wd-kpi-card-v23122::before {
  background:linear-gradient(180deg,#635bff 0%,#22d3ee 100%)!important;
}
.wd-page-v23100 .wd-defect-card .wd-kpi-card-v23122::after {
  background:rgba(99,91,255,.13)!important;
}
.wd-page-v23100 .wd-defect-card .wd-kpi-card-v23122 .wd-kpi-icon-v23122 {
  color:#fff!important;
  background:linear-gradient(135deg,rgba(99,91,255,.48),rgba(34,211,238,.22))!important;
  border:1px solid rgba(255,255,255,.28)!important;
  box-shadow:0 10px 22px rgba(0,0,0,.18)!important;
}
.wd-page-v23100 .wd-defect-card .wd-kpi-card-v23122 .wd-kpi-icon-v23122 i,
.wd-page-v23100 .wd-defect-card .wd-kpi-card-v23122 .wd-kpi-icon-v23122 i::before,
.wd-page-v23100 .wd-defect-card .wd-kpi-card-v23122 .wd-kpi-content-v23122 small,
.wd-page-v23100 .wd-defect-card .wd-kpi-card-v23122 .wd-kpi-content-v23122 strong,
.wd-page-v23100 .wd-defect-card .wd-kpi-card-v23122 .wd-kpi-content-v23122 span {
  color:#fff!important;
}
.wd-page-v23100 .wd-defect-card .wd-kpi-card-v23122 .wd-kpi-content-v23122 small {
  opacity:.88!important;
}
.wd-page-v23100 .wd-defect-card .wd-kpi-card-v23122 .wd-kpi-content-v23122 span {
  color:#cbd5e1!important;
  opacity:1!important;
}
[data-bs-theme="dark"] .wd-page-v23100 .wd-defect-card .wd-kpi-card-v23122 {
  background:linear-gradient(135deg,#0b1220 0%,#162236 58%,#213149 100%)!important;
  border-color:#3a4a62!important;
  box-shadow:none!important;
}

/* ========================================================================== */
/* Sonic Tower v2.3.127 — prominent pink treatment-cost entry accents         */
/* ========================================================================== */
/* Match the light-pink areas inside the multi-cost editor with the strong
   rose gradient used by the treatment-cost section header. Form fields stay
   white so long entries remain easy to read. */
.wd-page-v23100 .wd-cost-entry-v23105 {
  border-color:rgba(225,29,72,.48)!important;
  box-shadow:0 10px 24px rgba(225,29,72,.10)!important;
}
.wd-page-v23100 .wd-cost-entry-head-v23105 {
  background:linear-gradient(135deg,#f43f5e 0%,#e11d48 100%)!important;
  border-bottom-color:rgba(255,255,255,.22)!important;
}
.wd-page-v23100 .wd-cost-entry-head-v23105 strong {
  color:#fff!important;
}
.wd-page-v23100 .wd-cost-entry-head-v23105 .btn {
  color:#fff!important;
  border-color:rgba(255,255,255,.58)!important;
  background:rgba(255,255,255,.12)!important;
}
.wd-page-v23100 .wd-cost-entry-head-v23105 .btn:hover,
.wd-page-v23100 .wd-cost-entry-head-v23105 .btn:focus {
  color:#e11d48!important;
  border-color:#fff!important;
  background: var(--bs-card-bg)!important;
}
.wd-page-v23100 .wd-cost-entry-v23105 .wd-cost-preview-v23103 {
  border:1px solid rgba(225,29,72,.55)!important;
  background:linear-gradient(135deg,#f43f5e 0%,#e11d48 100%)!important;
  box-shadow:0 8px 18px rgba(225,29,72,.12)!important;
}
.wd-page-v23100 .wd-cost-entry-v23105 .wd-cost-preview-v23103 span,
.wd-page-v23100 .wd-cost-entry-v23105 .wd-cost-preview-v23103 strong,
.wd-page-v23100 .wd-cost-entry-v23105 .wd-cost-preview-v23103 small {
  color:#fff!important;
}
.wd-page-v23100 .wd-cost-entry-v23105 .wd-cost-preview-v23103 small {
  opacity:.88!important;
}
[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-entry-head-v23105,
[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-entry-v23105 .wd-cost-preview-v23103 {
  background:linear-gradient(135deg,#f43f5e 0%,#be123c 100%)!important;
  border-color:rgba(251,113,133,.62)!important;
}

/* ========================================================================== */
/* Sonic Tower v2.3.128 — calm, elegant dark defect and cost KPI cards         */
/* ========================================================================== */
/* Keep the layout and information hierarchy, but replace the high-contrast
   circles and saturated gradients with one comfortable dark visual language. */
.wd-page-v23100 .wd-defect-card .wd-kpi-card-v23122,
.wd-page-v23100 .wd-defect-card .wd-kpi-card-v23122.tone-red,
.wd-page-v23100 .wd-defect-card .wd-kpi-card-v23122.tone-amber,
.wd-page-v23100 .wd-defect-card .wd-kpi-card-v23122.tone-green,
.wd-page-v23100 .wd-defect-card .wd-kpi-card-v23122.tone-indigo,
.wd-page-v23100 .wd-defect-card .wd-kpi-card-v23122.tone-blue,
.wd-page-v23100 .wd-defect-card .wd-kpi-card-v23122.tone-teal,
.wd-page-v23100 .wd-defect-card .wd-kpi-card-v23122.tone-orange,
.wd-page-v23100 .wd-defect-card .wd-kpi-card-v23122.tone-rose,
.wd-page-v23100 .wd-cost-stat-v23122,
.wd-page-v23100 .wd-cost-stat-v23122.tone-red,
.wd-page-v23100 .wd-cost-stat-v23122.tone-rose,
.wd-page-v23100 .wd-cost-stat-v23122.tone-green,
.wd-page-v23100 .wd-cost-stat-v23122.tone-orange {
  position:relative!important;
  overflow:hidden!important;
  color:#f8fafc!important;
  background:linear-gradient(145deg,#172033 0%,#1c2739 54%,#223044 100%)!important;
  border:1px solid rgba(148,163,184,.20)!important;
  border-radius:1rem!important;
  box-shadow:0 8px 20px rgba(15,23,42,.12)!important;
}
.wd-page-v23100 .wd-defect-card .wd-kpi-card-v23122::before,
.wd-page-v23100 .wd-cost-stat-v23122::before {
  content:""!important;
  position:absolute!important;
  inset-block:12px!important;
  inset-inline-start:0!important;
  width:4px!important;
  border-radius:0 999px 999px 0!important;
  background:linear-gradient(180deg,#818cf8 0%,#38bdf8 100%)!important;
  opacity:.95!important;
}
.wd-page-v23100 .wd-defect-card .wd-kpi-card-v23122::after,
.wd-page-v23100 .wd-cost-stat-v23122::after {
  content:""!important;
  position:absolute!important;
  inset:auto -28px -40px auto!important;
  width:105px!important;
  height:105px!important;
  border-radius:50%!important;
  background:radial-gradient(circle,rgba(56,189,248,.10) 0%,rgba(99,102,241,.04) 55%,transparent 72%)!important;
  opacity:1!important;
  pointer-events:none!important;
}
.wd-page-v23100 .wd-defect-card .wd-kpi-card-v23122:hover,
.wd-page-v23100 .wd-cost-stat-v23122:hover {
  transform:translateY(-2px)!important;
  border-color:rgba(129,140,248,.38)!important;
  box-shadow:0 12px 26px rgba(15,23,42,.17)!important;
}
.wd-page-v23100 .wd-defect-card .wd-kpi-card-v23122 .wd-kpi-icon-v23122,
.wd-page-v23100 .wd-cost-stat-icon-v23122 {
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  flex:0 0 54px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#eef2ff!important;
  background:linear-gradient(145deg,rgba(99,102,241,.34),rgba(14,165,233,.20))!important;
  border:1px solid rgba(165,180,252,.28)!important;
  border-radius:14px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 6px 14px rgba(2,6,23,.20)!important;
}
.wd-page-v23100 .wd-defect-card .wd-kpi-card-v23122 .wd-kpi-icon-v23122 i,
.wd-page-v23100 .wd-defect-card .wd-kpi-card-v23122 .wd-kpi-icon-v23122 i::before,
.wd-page-v23100 .wd-cost-stat-icon-v23122 i,
.wd-page-v23100 .wd-cost-stat-icon-v23122 i::before {
  color:#f8fafc!important;
  font-size:1.72rem!important;
  line-height:1!important;
}
.wd-page-v23100 .wd-defect-card .wd-kpi-content-v23122,
.wd-page-v23100 .wd-cost-stat-v23122 > div {
  position:relative!important;
  z-index:2!important;
}
.wd-page-v23100 .wd-defect-card .wd-kpi-content-v23122 small,
.wd-page-v23100 .wd-cost-stat-v23122 small {
  color:#d8e1ee!important;
  opacity:1!important;
  font-weight:800!important;
}
.wd-page-v23100 .wd-defect-card .wd-kpi-content-v23122 strong,
.wd-page-v23100 .wd-cost-stat-v23122 strong {
  color:#ffffff!important;
  text-shadow:none!important;
  font-weight:950!important;
}
.wd-page-v23100 .wd-defect-card .wd-kpi-content-v23122 span,
.wd-page-v23100 .wd-cost-stat-v23122 em {
  color:#aebdd1!important;
  opacity:1!important;
  font-style:normal!important;
}
.wd-page-v23100 .wd-cost-summary-v23122 {
  gap:1rem!important;
  background:linear-gradient(180deg,#f8fafc 0%,#f1f5f9 100%)!important;
}
[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-summary-v23122 {
  background:#0f172a!important;
}
[data-bs-theme="dark"] .wd-page-v23100 .wd-defect-card .wd-kpi-card-v23122,
[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-stat-v23122 {
  background:linear-gradient(145deg,#111827 0%,#182235 55%,#1e2b40 100%)!important;
  border-color:rgba(148,163,184,.22)!important;
  box-shadow:none!important;
}
@media (max-width:767.98px){
  .wd-page-v23100 .wd-defect-card .wd-kpi-card-v23122 .wd-kpi-icon-v23122,
.wd-page-v23100 .wd-cost-stat-icon-v23122 {
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    flex-basis:48px!important;
    border-radius:13px!important;
  }
  .wd-page-v23100 .wd-defect-card .wd-kpi-card-v23122 .wd-kpi-icon-v23122 i,
.wd-page-v23100 .wd-defect-card .wd-kpi-card-v23122 .wd-kpi-icon-v23122 i::before,
.wd-page-v23100 .wd-cost-stat-icon-v23122 i,
.wd-page-v23100 .wd-cost-stat-icon-v23122 i::before {
    font-size:1.52rem!important;
  }
}

/* ========================================================================== */
/* Sonic Tower v2.3.129 — larger overview icons in work defects statistics    */
/* ========================================================================== */
/* Scope is intentionally limited to the four overview cards at the top of
   work_defects.php. Card colors, dimensions and all lower defect cards stay
   unchanged. */
.wd-page-v23100 .wd-stat-grid-v23100 .wd-stat-icon-v23100 {
  position:relative!important;
  z-index:3!important;
  width:68px!important;
  height:68px!important;
  flex:0 0 68px!important;
  margin:0!important;
  display:grid!important;
  place-items:center!important;
  border-radius:19px!important;
  font-size:2.25rem!important;
  line-height:1!important;
}
.wd-page-v23100 .wd-stat-grid-v23100 .wd-stat-icon-v23100 > i,
.wd-page-v23100 .wd-stat-grid-v23100 .wd-stat-icon-v23100 > i::before {
  display:block!important;
  width:1em!important;
  height:1em!important;
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  font-size:2.25rem!important;
  line-height:1!important;
  text-align:center!important;
  transform:none!important;
  -webkit-text-stroke-width:.1px!important;
}
.wd-page-v23100 .wd-stat-grid-v23100 .wd-stat-card {
  gap:18px!important;
}

@media (max-width:767.98px){
  .wd-page-v23100 .wd-stat-grid-v23100 .wd-stat-icon-v23100 {
    width:60px!important;
    height:60px!important;
    flex-basis:60px!important;
    border-radius:17px!important;
    font-size:2rem!important;
  }
  .wd-page-v23100 .wd-stat-grid-v23100 .wd-stat-icon-v23100 > i,
.wd-page-v23100 .wd-stat-grid-v23100 .wd-stat-icon-v23100 > i::before {
    font-size:2rem!important;
  }
}

/* ========================================================================== */
/* Sonic Tower v2.3.130 — stable, equal treatment-cost form grid              */
/* ========================================================================== */
/* Keep the form in three predictable rows whether the payee is a contractor
   or another party. Beneficiary fields are normal grid cells, not tall cards. */
.wd-page-v23100 .wd-cost-entry-grid-v23105 {
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-auto-flow:row;
  align-items:start;
  column-gap:14px;
  row-gap:14px;
}
.wd-page-v23100 .wd-cost-entry-grid-v23105 > .wd-cost-field-v23130 {
  min-width:0;
  display:flex;
  flex-direction:column;
  align-self:stretch;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.wd-page-v23100 .wd-cost-entry-grid-v23105 > .wd-cost-field-v23130 .form-label {
  min-height:22px;
  margin-bottom:7px;
  display:flex;
  align-items:flex-end;
  font-weight:850;
}
.wd-page-v23100 .wd-cost-entry-grid-v23105 > .wd-cost-field-v23130 .form-control,
.wd-page-v23100 .wd-cost-entry-grid-v23105 > .wd-cost-field-v23130 .form-select {
  width:100%;
  min-height:44px;
}
/* The non-contractor payee name occupies the same two cells used by the
   contractor and assignment selects, so the remaining rows never shift. */
.wd-page-v23100 .wd-cost-entry-grid-v23105 > .wd-payee-text-field-v23130 {
  grid-column:span 2;
}
.wd-page-v23100 .wd-cost-entry-grid-v23105 > .wd-beneficiary-field-v23130 {
  grid-column:span 1;
}
/* Remove the old green beneficiary container that stretched the entire row. */
.wd-page-v23100 .wd-cost-entry-v23105 [data-beneficiary-contractor-wrap],
.wd-page-v23100 .wd-cost-entry-v23105 [data-beneficiary-assignment-wrap],
[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-entry-v23105 [data-beneficiary-contractor-wrap],
[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-entry-v23105 [data-beneficiary-assignment-wrap] {
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.wd-page-v23100 .wd-cost-entry-v23105 [data-beneficiary-contractor-wrap] small,
.wd-page-v23100 .wd-cost-entry-v23105 [data-beneficiary-assignment-wrap] small {
  display:block;
  min-height:17px;
  margin-top:5px;
  overflow:hidden;
  color:#7a8497;
  font-size:.60rem;
  font-weight:700;
  line-height:1.35;
  white-space:nowrap;
  text-overflow:ellipsis;
}
[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-entry-v23105 [data-beneficiary-contractor-wrap] small,
[data-bs-theme="dark"] .wd-page-v23100 .wd-cost-entry-v23105 [data-beneficiary-assignment-wrap] small {
  color:#94a3b8;
}
@media(max-width:1199.98px){
  .wd-page-v23100 .wd-cost-entry-grid-v23105 {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .wd-page-v23100 .wd-cost-entry-grid-v23105 > .wd-payee-text-field-v23130 {
    grid-column:span 2;
  }
}
@media(max-width:767.98px){
  .wd-page-v23100 .wd-cost-entry-grid-v23105 {
    grid-template-columns:1fr;
  }
  .wd-page-v23100 .wd-cost-entry-grid-v23105 > .wd-payee-text-field-v23130,
.wd-page-v23100 .wd-cost-entry-grid-v23105 > .wd-beneficiary-field-v23130,
.wd-page-v23100 .wd-cost-entry-grid-v23105 > .span-2 {
    grid-column:span 1;
  }
  .wd-page-v23100 .wd-cost-entry-v23105 [data-beneficiary-contractor-wrap] small,
.wd-page-v23100 .wd-cost-entry-v23105 [data-beneficiary-assignment-wrap] small {
    white-space:normal;
  }
}
.wd-page-v23100 .wd-cost-entry-grid-v23105 > .wd-cost-field-v23130[hidden] {
  display:none!important;
}

/* ========================================================================== */
/* Sonic Tower v2.3.131 — concise contractor cashbox ledger                   */
/* ========================================================================== */
.contractor-cashbox-period-summary-v23131 {
  width:100%;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important;
  gap:1rem!important;
}
.contractor-cashbox-period-summary-v23131 article {
  width:100%;
  min-height:118px;
  border-radius:1rem;
}
.contractor-cashbox-period-summary-v23131 article>span {
  flex-basis:54px;
  width:54px;
  height:54px;
  font-size:1.7rem;
}
.contractor-cashbox-period-summary-v23131 article>span i {
  font-size:1.7rem!important;
  line-height:1!important;
}
.contractor-cashbox-period-summary-v23131 article strong {
  font-size:1.35rem;
  line-height:1.35;
}

.contractor-cashbox-ledger-wrap-v23131 {
  border:1px solid rgba(99,102,241,.20);
  border-radius:1rem;
  background: var(--bs-card-bg);
  box-shadow:0 8px 22px rgba(15,23,42,.045);
}
.contractor-cashbox-ledger-table-v23131 {
  min-width:1180px!important;
  table-layout:fixed;
  border-collapse:separate;
  border-spacing:0;
}
.contractor-cashbox-ledger-table-v23131 thead th {
  padding:.8rem .55rem!important;
  border:0!important;
  border-bottom:1px solid rgba(255,255,255,.14)!important;
  color:#fff!important;
  background:#273449!important;
  font-size:.77rem;
  font-weight:950;
  text-align:center;
}
.contractor-cashbox-ledger-table-v23131 thead th:first-child {border-start-start-radius:.9rem}
.contractor-cashbox-ledger-table-v23131 thead th:last-child {border-start-end-radius:.9rem}
.contractor-cashbox-ledger-table-v23131 thead th:nth-child(1) {width:54px}
.contractor-cashbox-ledger-table-v23131 thead th:nth-child(2) {width:100px}
.contractor-cashbox-ledger-table-v23131 thead th:nth-child(3) {width:150px}
.contractor-cashbox-ledger-table-v23131 thead th:nth-child(4) {width:155px}
.contractor-cashbox-ledger-table-v23131 thead th:nth-child(5) {width:310px}
.contractor-cashbox-ledger-table-v23131 thead th:nth-child(6),
.contractor-cashbox-ledger-table-v23131 thead th:nth-child(7) {width:128px}
.contractor-cashbox-ledger-table-v23131 thead th:nth-child(8) {width:138px}
.contractor-cashbox-ledger-table-v23131 thead th:nth-child(9) {width:135px}
.contractor-cashbox-ledger-table-v23131 thead th:nth-child(10) {width:120px}
.contractor-cashbox-ledger-table-v23131 tbody td {
  padding:.72rem .55rem!important;
  border-color:#e7ebf2!important;
  color:#334155;
  background: var(--bs-card-bg);
  font-size:.78rem;
}
.contractor-cashbox-ledger-table-v23131 tbody tr:nth-child(even) td {
  background:#f7f9fc;
}
.contractor-cashbox-ledger-table-v23131 tbody tr:hover td {
  background:#eef3ff!important;
}
.contractor-cashbox-ledger-table-v23131 tbody tr.is-internal-transfer td {
  background:#f0f9ff!important;
  border-top-color:#bae6fd!important;
  border-bottom-color:#bae6fd!important;
}
.contractor-cashbox-row-number-v23131 {
  display:inline-grid;
  place-items:center;
  min-width:30px;
  height:30px;
  padding:0 .45rem;
  border-radius:.65rem;
  color:#4338ca;
  background:#eef2ff;
  border:1px solid #c7d2fe;
  font-weight:950;
}
.contractor-cashbox-date-v23131 {
  color:#475569!important;
  font-weight:850;
  text-align:center;
}
.contractor-cashbox-document-v23131 {
  min-width:104px;
  justify-content:center;
  padding:.42rem .55rem;
  border-radius:.65rem;
  color:#334155;
  background:#f8fafc;
  border-color:#dbe3ee;
  font-size:.72rem;
}
.contractor-cashbox-kind-v23131 {
  justify-content:center;
  min-width:112px;
  padding:.45rem .62rem;
  border-radius:999px;
  border:1px solid color-mix(in srgb,var(--kind-tone) 28%,transparent);
  font-size:.72rem;
}
.contractor-cashbox-kind-v23131 i {
  font-size:1rem;
}
.contractor-cashbox-internal-badge-v23131 {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:.35rem;
  padding:.2rem .5rem;
  border-radius:999px;
  color:#0369a1;
  background:#e0f2fe;
  border:1px solid #bae6fd;
  font-size:.65rem;
  font-weight:900;
}
.contractor-cashbox-movement-summary-v23131 {
  min-width:0;
  max-width:300px;
}
.contractor-cashbox-movement-summary-v23131 strong {
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:1;
  color:#1e293b;
  font-size:.79rem;
  font-weight:900;
  line-height:1.55;
}
.contractor-cashbox-movement-summary-v23131 small {
  display:-webkit-box;
  overflow:hidden;
  margin-top:.22rem;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:1;
  color:#64748b;
  font-size:.68rem;
  line-height:1.5;
}
.contractor-cashbox-money-badge-v23131,
.contractor-cashbox-balance-badge-v23131,
.contractor-cashbox-state-badge-v23131 {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.3rem;
  border-radius:999px;
  color:#fff;
  font-weight:950;
  white-space:nowrap;
  box-shadow:0 5px 12px rgba(15,23,42,.10);
}
.contractor-cashbox-money-badge-v23131 {
  min-width:100px;
  padding:.48rem .65rem;
  font-size:.73rem;
}
.contractor-cashbox-balance-badge-v23131 {
  min-width:112px;
  padding:.5rem .7rem;
  font-size:.76rem;
}
.contractor-cashbox-state-badge-v23131 {
  min-width:112px;
  padding:.5rem .65rem;
  font-size:.72rem;
}
.contractor-cashbox-state-badge-v23131 i {font-size:1rem}
.contractor-cashbox-money-badge-v23131.tone-success,
.contractor-cashbox-balance-badge-v23131.tone-success,
.contractor-cashbox-state-badge-v23131.tone-success {
  background:linear-gradient(135deg,#059669,#047857);
}
.contractor-cashbox-money-badge-v23131.tone-danger,
.contractor-cashbox-balance-badge-v23131.tone-danger,
.contractor-cashbox-state-badge-v23131.tone-danger {
  background:linear-gradient(135deg,#e11d48,#be123c);
}
.contractor-cashbox-balance-badge-v23131.tone-secondary,
.contractor-cashbox-state-badge-v23131.tone-secondary {
  background:linear-gradient(135deg,#64748b,#475569);
}
.contractor-cashbox-empty-v23131 {
  color:#94a3b8;
  font-weight:850;
}
.contractor-cashbox-details-btn-v23131 {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.3rem;
  min-width:96px;
  border-radius:.65rem;
  font-size:.7rem;
  font-weight:900;
}
[data-bs-theme="dark"] .contractor-cashbox-ledger-wrap-v23131 {
  background:#0f172a;
  border-color:#334155;
  box-shadow:none;
}
[data-bs-theme="dark"] .contractor-cashbox-ledger-table-v23131 thead th {
  background:#1e293b!important;
}
[data-bs-theme="dark"] .contractor-cashbox-ledger-table-v23131 tbody td {
  color:#cbd5e1;
  background:#111827;
  border-color:#273449!important;
}
[data-bs-theme="dark"] .contractor-cashbox-ledger-table-v23131 tbody tr:nth-child(even) td {
  background:#0f172a;
}
[data-bs-theme="dark"] .contractor-cashbox-ledger-table-v23131 tbody tr:hover td {
  background:#172554!important;
}
[data-bs-theme="dark"] .contractor-cashbox-ledger-table-v23131 tbody tr.is-internal-transfer td {
  background:#082f49!important;
  border-color:#075985!important;
}
[data-bs-theme="dark"] .contractor-cashbox-row-number-v23131 {
  color:#c7d2fe;
  background:#312e81;
  border-color:#4338ca;
}
[data-bs-theme="dark"] .contractor-cashbox-date-v23131,
[data-bs-theme="dark"] .contractor-cashbox-movement-summary-v23131 small {
  color:#94a3b8!important;
}
[data-bs-theme="dark"] .contractor-cashbox-movement-summary-v23131 strong {
  color:#f8fafc;
}
[data-bs-theme="dark"] .contractor-cashbox-document-v23131 {
  color:#e2e8f0;
  background:#1e293b;
  border-color:#334155;
}
@media(max-width:1199.98px){
  .contractor-cashbox-period-summary-v23131 {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:767.98px){
  .contractor-cashbox-period-summary-v23131 {
    grid-template-columns:1fr!important;
  }
  .contractor-cashbox-details-btn-v23131 span {display:none}
  .contractor-cashbox-details-btn-v23131 {min-width:42px}
}
@media print{
  .contractor-cashbox-ledger-table-v23131 {
    min-width:0!important;
    table-layout:auto;
  }
  .contractor-cashbox-period-summary-v23131 {
    grid-template-columns:repeat(3,1fr)!important;
  }
  .contractor-cashbox-money-badge-v23131,
.contractor-cashbox-balance-badge-v23131,
.contractor-cashbox-state-badge-v23131 {
    color:#000!important;
    background:#fff!important;
    border:1px solid #777!important;
    box-shadow:none!important;
  }
}

/* ========================================================================== */
/* Sonic Tower v2.3.132 — refined contractor cashbox ledger badges            */
/* ========================================================================== */
.contractor-cashbox-kind-cell-v23132 {
  min-width:170px;
  text-align:center;
  white-space:normal;
}
.contractor-cashbox-kind-v23132 {
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:.38rem;
  max-width:100%;
  min-width:132px;
  padding:.46rem .7rem!important;
  line-height:1.25;
  vertical-align:middle;
}
.contractor-cashbox-kind-v23132 > span {
  min-width:0;
  white-space:normal;
}
.contractor-cashbox-internal-badge-v23132 {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-height:22px;
  padding:.14rem .42rem;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(135deg,#0369a1,#0284c7);
  border:1px solid rgba(255,255,255,.28);
  box-shadow:0 3px 8px rgba(2,132,199,.22);
  font-size:.61rem;
  font-weight:950;
  line-height:1;
}

.contractor-cashbox-money-badge-v23131,
.contractor-cashbox-balance-badge-v23131 {
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 7px 16px rgba(15,23,42,.14),inset 0 1px 0 rgba(255,255,255,.18);
  text-shadow:0 1px 1px rgba(15,23,42,.18);
}
.contractor-cashbox-money-badge-v23131::before,
.contractor-cashbox-balance-badge-v23131::before {
  content:"";
  position:absolute;
  inset-inline-start:-20px;
  top:-28px;
  width:58px;
  height:58px;
  border-radius:50%;
  background:rgba(255,255,255,.11);
  pointer-events:none;
}
.contractor-cashbox-money-badge-v23131 {
  min-width:108px;
  min-height:38px;
  padding:.5rem .78rem;
  border-radius:.8rem;
  font-size:.74rem;
}
.contractor-cashbox-balance-badge-v23132 {
  min-width:126px;
  min-height:40px;
  padding:.5rem .78rem;
  border-radius:.85rem;
  gap:.42rem;
  font-size:.78rem;
}
.contractor-cashbox-balance-badge-v23132 i {
  display:inline-grid;
  place-items:center;
  width:23px;
  height:23px;
  border-radius:.45rem;
  background:rgba(255,255,255,.17);
  font-size:1rem;
}
.contractor-cashbox-money-badge-v23131.tone-success,
.contractor-cashbox-balance-badge-v23131.tone-success {
  background:linear-gradient(135deg,#047857 0%,#059669 56%,#10b981 100%);
}
.contractor-cashbox-money-badge-v23131.tone-danger,
.contractor-cashbox-balance-badge-v23131.tone-danger {
  background:linear-gradient(135deg,#9f1239 0%,#be123c 52%,#e11d48 100%);
}
.contractor-cashbox-balance-badge-v23131.tone-secondary {
  background:linear-gradient(135deg,#334155 0%,#475569 58%,#64748b 100%);
}

.contractor-cashbox-state-badge-v23131 {
  min-width:120px;
  min-height:38px;
  padding:.48rem .72rem;
  border-radius:.8rem;
  border:1px solid transparent;
  box-shadow:0 5px 12px rgba(15,23,42,.07);
  text-shadow:none;
}
.contractor-cashbox-state-badge-v23131.tone-success {
  color:#065f46;
  background:linear-gradient(180deg,#ecfdf5,#d1fae5);
  border-color:#6ee7b7;
}
.contractor-cashbox-state-badge-v23131.tone-danger {
  color:#9f1239;
  background:linear-gradient(180deg,#fff1f2,#ffe4e6);
  border-color:#fda4af;
}
.contractor-cashbox-state-badge-v23131.tone-secondary {
  color:#334155;
  background:linear-gradient(180deg,#f8fafc,#e2e8f0);
  border-color:#cbd5e1;
}
.contractor-cashbox-state-badge-v23131 i {
  font-size:1.05rem;
}

/* Refined movement badge palette */
.contractor-cashbox-kind-v23132.tone-danger {
  color:#9f1239!important;
  background:linear-gradient(180deg,#fff1f2,#ffe4e6)!important;
  border-color:#fda4af!important;
}
.contractor-cashbox-kind-v23132.tone-warning {
  color:#9a3412!important;
  background:linear-gradient(180deg,#fff7ed,#ffedd5)!important;
  border-color:#fdba74!important;
}
.contractor-cashbox-kind-v23132.tone-success {
  color:#065f46!important;
  background:linear-gradient(180deg,#ecfdf5,#d1fae5)!important;
  border-color:#6ee7b7!important;
}
.contractor-cashbox-kind-v23132.tone-primary {
  color:#4338ca!important;
  background:linear-gradient(180deg,#eef2ff,#e0e7ff)!important;
  border-color:#a5b4fc!important;
}
.contractor-cashbox-kind-v23132.tone-secondary {
  color:#334155!important;
  background:linear-gradient(180deg,#f8fafc,#e2e8f0)!important;
  border-color:#cbd5e1!important;
}
.contractor-cashbox-kind-v23132 i {
  color:currentColor;
}

[data-bs-theme="dark"] .contractor-cashbox-state-badge-v23131.tone-success {
  color:#a7f3d0;
  background:linear-gradient(180deg,#064e3b,#065f46);
  border-color:#10b981;
}
[data-bs-theme="dark"] .contractor-cashbox-state-badge-v23131.tone-danger {
  color:#fecdd3;
  background:linear-gradient(180deg,#881337,#9f1239);
  border-color:#e11d48;
}
[data-bs-theme="dark"] .contractor-cashbox-state-badge-v23131.tone-secondary {
  color:#e2e8f0;
  background:linear-gradient(180deg,#334155,#475569);
  border-color:#64748b;
}
@media (max-width:767.98px){
  .contractor-cashbox-kind-cell-v23132 {min-width:145px}
  .contractor-cashbox-kind-v23132 {min-width:120px}
  .contractor-cashbox-money-badge-v23131 {min-width:96px}
  .contractor-cashbox-balance-badge-v23132 {min-width:112px}
  .contractor-cashbox-state-badge-v23131 {min-width:108px}
}
.contractor-cashbox-kind-v23132.tone-dark {
  color:#f8fafc!important;
  background:linear-gradient(135deg,#334155,#1e293b)!important;
  border-color:#64748b!important;
  box-shadow:0 5px 12px rgba(15,23,42,.12);
}

/* ========================================================================== */
/* Sonic Tower v2.3.133 — single-line prominent movement badges               */
/* ========================================================================== */
.contractor-cashbox-kind-cell-v23132 {
  min-width:205px!important;
  white-space:nowrap!important;
  overflow:visible!important;
}
.contractor-cashbox-kind-v23132 {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:nowrap!important;
  gap:.48rem!important;
  width:max-content!important;
  max-width:none!important;
  min-width:0!important;
  min-height:40px;
  padding:.55rem .85rem!important;
  border-radius:.82rem!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.28)!important;
  box-shadow:0 7px 16px rgba(15,23,42,.16),inset 0 1px 0 rgba(255,255,255,.18)!important;
  font-size:.75rem!important;
  font-weight:950!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-shadow:0 1px 1px rgba(15,23,42,.22);
}
.contractor-cashbox-kind-v23132 > span {
  display:inline-block!important;
  min-width:0!important;
  white-space:nowrap!important;
  line-height:1!important;
}
.contractor-cashbox-kind-v23132 > i {
  flex:0 0 auto;
  color:#fff!important;
  font-size:1.05rem!important;
  line-height:1!important;
}
.contractor-cashbox-internal-badge-v23132 {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  min-height:auto!important;
  margin:0!important;
  padding:0 0 0 .5rem!important;
  border:0!important;
  border-inline-start:1px solid rgba(255,255,255,.46)!important;
  border-radius:0!important;
  color:#fff!important;
  background:transparent!important;
  box-shadow:none!important;
  font-size:.67rem!important;
  font-weight:950!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.contractor-cashbox-kind-v23132.tone-danger {
  color:#fff!important;
  background:linear-gradient(135deg,#be123c 0%,#e11d48 58%,#fb3f68 100%)!important;
  border-color:#fb7185!important;
}
.contractor-cashbox-kind-v23132.tone-warning {
  color:#fff!important;
  background:linear-gradient(135deg,#c2410c 0%,#ea580c 55%,#f97316 100%)!important;
  border-color:#fb923c!important;
}
.contractor-cashbox-kind-v23132.tone-success {
  color:#fff!important;
  background:linear-gradient(135deg,#047857 0%,#059669 55%,#10b981 100%)!important;
  border-color:#34d399!important;
}
.contractor-cashbox-kind-v23132.tone-primary {
  color:#fff!important;
  background:linear-gradient(135deg,#4338ca 0%,#4f46e5 54%,#6366f1 100%)!important;
  border-color:#818cf8!important;
}
.contractor-cashbox-kind-v23132.tone-secondary {
  color:#fff!important;
  background:linear-gradient(135deg,#334155 0%,#475569 56%,#64748b 100%)!important;
  border-color:#94a3b8!important;
}
.contractor-cashbox-kind-v23132.tone-dark {
  color:#fff!important;
  background:linear-gradient(135deg,#0f172a 0%,#1e293b 58%,#334155 100%)!important;
  border-color:#64748b!important;
}
@media (max-width:767.98px){
  .contractor-cashbox-kind-cell-v23132 {min-width:185px!important}
  .contractor-cashbox-kind-v23132 {
    min-height:38px;
    padding:.5rem .72rem!important;
    font-size:.7rem!important;
  }
  .contractor-cashbox-internal-badge-v23132 {font-size:.62rem!important}
}
@media print{
  .contractor-cashbox-kind-v23132 {
    color:#000!important;
    background:#fff!important;
    border:1px solid #555!important;
    box-shadow:none!important;
    text-shadow:none!important;
  }
  .contractor-cashbox-kind-v23132 > i,
.contractor-cashbox-internal-badge-v23132 {color:#000!important}
  .contractor-cashbox-internal-badge-v23132 {border-inline-start-color:#777!important}
}

/* ========================================================================== */
/* Sonic Tower v2.3.134 — Generators, fuel tank and simplified energy control */
/* ========================================================================== */
.generator-workflow-page .content-wrapper,
.generator-workflow-page .container-fluid {max-width:none}
.generator-page-v23134,
.fuel-page-v23134,
.generator-report-page-v23134 {--gen-gap:1rem}
.generator-hero-v23134,
.fuel-hero-v23134,
.generator-report-hero-v23134 {
  position:relative;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
  min-height:220px;padding:1.65rem 1.8rem;border-radius:1.5rem;overflow:hidden;color:#fff;
  background:linear-gradient(135deg,#4338ca 0%,#635bff 47%,#0ea5e9 100%);
  box-shadow:0 22px 48px rgba(79,70,229,.2)
}
.generator-hero-v23134:before,
.fuel-hero-v23134:before,
.generator-report-hero-v23134:before {
  content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.08);inset-inline-end:-70px;top:-130px
}
.generator-hero-v23134:after,
.fuel-hero-v23134:after,
.generator-report-hero-v23134:after {
  content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.06);inset-inline-start:-60px;bottom:-110px
}
.generator-hero-v23134>*,
.fuel-hero-v23134>*,
.generator-report-hero-v23134>* {position:relative;z-index:1}
.generator-hero-v23134 h2,
.fuel-hero-v23134 h2,
.generator-report-hero-v23134 h2 {margin:.55rem 0;font-size:1.65rem;font-weight:900;color:#fff}
.generator-hero-v23134 p,
.fuel-hero-v23134 p,
.generator-report-hero-v23134 p {max-width:820px;margin:0;color:rgba(255,255,255,.88);line-height:1.9;font-weight:600}
.generator-kicker-v23134 {display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .75rem;border-radius:999px;background:rgba(255,255,255,.16);font-size:.76rem;font-weight:900}
.generator-hero-v23134 .btn,
.fuel-hero-v23134 .btn,
.generator-report-hero-v23134 .btn {min-height:42px;border-radius:.85rem;font-weight:800}
.generator-tank-mini-v23134 {position:relative;flex:0 0 185px;height:185px;border:3px solid rgba(255,255,255,.5);border-radius:2.2rem 2.2rem 1.2rem 1.2rem;overflow:hidden;background:rgba(15,23,42,.22);box-shadow:inset 0 0 30px rgba(15,23,42,.18)}
.generator-tank-mini-v23134:before {content:"";position:absolute;top:-13px;left:50%;transform:translateX(-50%);width:68px;height:18px;border:3px solid rgba(255,255,255,.58);border-bottom:0;border-radius:12px 12px 0 0}
.generator-tank-mini-liquid-v23134 {position:absolute;left:0;right:0;bottom:0;min-height:0;transition:height .5s ease;background:linear-gradient(180deg,#34d399,#059669)}
.generator-tank-mini-liquid-v23134.status-low {background:linear-gradient(180deg,#fbbf24,#f59e0b)}
.generator-tank-mini-liquid-v23134.status-critical {background:linear-gradient(180deg,#fb7185,#e11d48)}
.generator-tank-mini-copy-v23134 {position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;text-shadow:0 2px 10px rgba(15,23,42,.65)}
.generator-tank-mini-copy-v23134 strong {font-size:1.25rem;font-weight:900}.generator-tank-mini-copy-v23134 span {font-size:.75rem}.generator-tank-mini-copy-v23134 small {margin-top:.35rem;padding:.2rem .55rem;border-radius:999px;background:rgba(15,23,42,.35)}
.generator-stat-grid-v23134 {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--gen-gap)}
.generator-stat-card-v23134 {position:relative;display:flex;align-items:center;gap:.85rem;min-height:112px;padding:1rem;border-radius:1.15rem;overflow:hidden;color:#fff;box-shadow:0 13px 28px rgba(15,23,42,.1)}
.generator-stat-card-v23134:after {content:"";position:absolute;width:110px;height:110px;border-radius:50%;inset-inline-end:-35px;bottom:-55px;background:rgba(255,255,255,.11)}
.generator-stat-card-v23134>span {position:relative;z-index:1;display:grid;place-items:center;flex:0 0 50px;width:50px;height:50px;border:1px solid rgba(255,255,255,.28);border-radius:1rem;background:rgba(255,255,255,.14)}
.generator-stat-card-v23134>span i {font-size:1.7rem!important;line-height:1;color:#fff}
.generator-stat-card-v23134>div {position:relative;z-index:1;min-width:0}.generator-stat-card-v23134 small {display:block;color:rgba(255,255,255,.83);font-size:.72rem;font-weight:800}.generator-stat-card-v23134 strong {display:block;margin-top:.28rem;font-size:1.05rem;font-weight:900;color:#fff;white-space:nowrap}
.generator-stat-card-v23134.tone-violet {background:linear-gradient(135deg,#4338ca,#7c3aed)}
.generator-stat-card-v23134.tone-green {background:linear-gradient(135deg,#047857,#10b981)}
.generator-stat-card-v23134.tone-blue {background:linear-gradient(135deg,#1d4ed8,#0ea5e9)}
.generator-stat-card-v23134.tone-red {background:linear-gradient(135deg,#be123c,#f43f5e)}
.generator-stat-card-v23134.tone-amber {background:linear-gradient(135deg,#d97706,#f59e0b)}
.generator-stat-card-v23134.tone-cyan {background:linear-gradient(135deg,#0e7490,#06b6d4)}
.generator-stat-card-v23134.tone-slate {background:linear-gradient(135deg,#334155,#64748b)}
.generator-stat-card-v23134.tone-orange {background:linear-gradient(135deg,#c2410c,#f97316)}
.generator-fuel-alert-v23134 {display:flex;align-items:center;gap:1rem;border-radius:1rem;padding:1rem 1.1rem;border-width:1px}
.generator-fuel-alert-v23134>i {display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:.9rem;background:rgba(255,255,255,.5);font-size:1.55rem}.generator-fuel-alert-v23134>div {flex:1;min-width:0}.generator-fuel-alert-v23134 strong,
.generator-fuel-alert-v23134 span {display:block}.generator-fuel-alert-v23134 span {margin-top:.25rem;font-size:.78rem;line-height:1.7;font-weight:600}
.generator-card-grid-v23134 {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.15rem}
.generator-unit-card-v23134 {display:flex;flex-direction:column;min-width:0;border:1px solid rgba(148,163,184,.22);border-radius:1.35rem;overflow:hidden;background: var(--bs-card-bg);box-shadow:0 15px 35px rgba(15,23,42,.07);transition:.2s ease}
.generator-unit-card-v23134:hover {transform:translateY(-3px);box-shadow:0 20px 42px rgba(15,23,42,.11)}
.generator-unit-card-v23134.is-deleted {opacity:.56}.generator-unit-card-v23134.status-running {border-color:rgba(16,185,129,.45)}.generator-unit-card-v23134.status-fault {border-color:rgba(244,63,94,.45)}
.generator-unit-image-v23134 {position:relative;height:190px;background:linear-gradient(135deg,#e2e8f0,#f8fafc);overflow:hidden}.generator-unit-image-v23134 img {width:100%;height:100%;object-fit:cover}.generator-unit-image-v23134>div {display:grid;place-items:center;width:100%;height:100%}.generator-unit-image-v23134>div i {font-size:5rem;color:#94a3b8}
.generator-status-badge-v23134 {position:absolute;top:.8rem;inset-inline-start:.8rem;padding:.4rem .75rem;border-radius:999px;background:#0f172a;color:#fff;font-size:.72rem;font-weight:900;box-shadow:0 7px 16px rgba(15,23,42,.25)}
.status-running .generator-status-badge-v23134 {background:#059669}.status-fault .generator-status-badge-v23134 {background:#e11d48}
.generator-unit-body-v23134 {display:flex;flex-direction:column;gap:.9rem;padding:1.05rem;flex:1}.generator-unit-title-v23134 {display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.generator-unit-title-v23134 small {color:#6366f1;font-weight:900}.generator-unit-title-v23134 h4 {margin:.2rem 0 0;font-size:1rem;font-weight:900;color:#0f172a}.generator-capacity-badge-v23134 {white-space:nowrap;padding:.42rem .65rem;border-radius:.75rem;background:#eef2ff;color:#4338ca;font-size:.72rem;font-weight:900}
.generator-unit-info-v23134 {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.generator-unit-info-v23134 span {display:flex;align-items:center;gap:.42rem;min-width:0;padding:.55rem .65rem;border-radius:.75rem;background:#f8fafc;color:#475569;font-size:.72rem;font-weight:700}.generator-unit-info-v23134 i {color:#635bff;font-size:1rem}
.generator-live-panel-v23134,
.generator-history-panel-v23134 {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.generator-live-panel-v23134>div,
.generator-history-panel-v23134>div {padding:.7rem .55rem;border-radius:.8rem;text-align:center;background:#ecfdf5;border:1px solid rgba(16,185,129,.16)}.generator-history-panel-v23134>div {background:#f8fafc;border-color:#e2e8f0}.generator-live-panel-v23134 small,
.generator-history-panel-v23134 small {display:block;color:#64748b;font-size:.64rem;font-weight:800}.generator-live-panel-v23134 strong,
.generator-history-panel-v23134 strong {display:block;margin-top:.3rem;color:#047857;font-size:.75rem;font-weight:900}.generator-history-panel-v23134 strong {color:#0f172a}
.generator-maintenance-line-v23134 {display:flex;flex-wrap:wrap;justify-content:space-between;gap:.55rem;padding:.72rem .8rem;border-radius:.8rem;background:#fffbeb;border:1px solid #fde68a;color:#92400e;font-size:.68rem}.generator-maintenance-line-v23134 span {display:flex;align-items:center;gap:.35rem}
.generator-unit-actions-v23134 {display:flex;flex-wrap:wrap;gap:.55rem;padding:.9rem 1rem;border-top:1px solid #e2e8f0;background:#f8fafc}.generator-unit-actions-v23134 .btn {min-height:38px;border-radius:.75rem;font-size:.7rem;font-weight:900}.generator-unit-actions-v23134 .btn-success,
.generator-unit-actions-v23134 .btn-danger {flex:1 1 145px}
.generator-modal-fields-v23134 {display:grid;grid-template-columns:1fr;gap:1rem}.generator-modal-fields-v23134>div {min-width:0}.generator-modal-fields-v23134 .form-label {margin-bottom:.45rem;font-weight:800}.generator-modal-fields-v23134 .form-control,
.generator-modal-fields-v23134 .form-select {min-height:46px;border-radius:.85rem}.generator-stop-preview-v23134 {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.generator-stop-preview-v23134>div {padding:1rem;border-radius:1rem;background:linear-gradient(135deg,#eef2ff,#f8fafc);border:1px solid #c7d2fe}.generator-stop-preview-v23134 small,
.generator-stop-preview-v23134 strong {display:block}.generator-stop-preview-v23134 strong {margin-top:.35rem;color:#312e81;font-size:1rem}
.fuel-hero-v23134 {min-height:300px}.fuel-big-tank-v23134 {position:relative;flex:0 0 255px;width:255px;height:255px;border:5px solid rgba(255,255,255,.58);border-radius:3rem 3rem 1.6rem 1.6rem;overflow:hidden;background:rgba(15,23,42,.25);box-shadow:inset 0 0 45px rgba(15,23,42,.25),0 20px 40px rgba(15,23,42,.15)}
.fuel-big-liquid-v23134 {position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,#34d399,#047857);transition:height .5s ease}.fuel-big-liquid-v23134.status-low {background:linear-gradient(180deg,#fde047,#d97706)}.fuel-big-liquid-v23134.status-critical {background:linear-gradient(180deg,#fb7185,#be123c)}
.fuel-wave-v23134 {position:absolute;left:-20%;top:-12px;width:140%;height:25px;border-radius:50%;background:rgba(255,255,255,.28);animation:fuelWaveV23134 4s ease-in-out infinite alternate}@keyframes fuelWaveV23134{to {transform:translateX(10%) scaleY(.75)}}
.fuel-big-copy-v23134 {position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-shadow:0 3px 12px rgba(15,23,42,.75)}.fuel-big-copy-v23134 strong {font-size:2rem;font-weight:900}.fuel-big-copy-v23134 span {font-weight:800}.fuel-big-copy-v23134 small {margin-top:.4rem;padding:.25rem .7rem;border-radius:999px;background:rgba(15,23,42,.4)}.fuel-tank-cap-v23134 {position:absolute;top:-17px;left:50%;transform:translateX(-50%);width:90px;height:25px;border:5px solid rgba(255,255,255,.58);border-bottom:0;border-radius:16px 16px 0 0}
.fuel-stat-grid-v23134 {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.fuel-movements-header-v23134 {background:linear-gradient(135deg,#4338ca,#0ea5e9)!important;color:#fff!important}.fuel-movements-header-v23134 span {color:#fff!important}.fuel-movement-table-v23134 thead th {white-space:nowrap;background:#f1f5f9;color:#334155}.fuel-movement-table-v23134 td {vertical-align:middle}.fuel-movement-type-v23134 {display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap;padding:.42rem .68rem;border-radius:.75rem;color:#fff;font-size:.7rem;font-weight:900}.fuel-movement-type-v23134.type-in {background:#059669}.fuel-movement-type-v23134.type-out {background:#e11d48}.fuel-movement-type-v23134.type-adjust {background:#7c3aed}.fuel-amount-in-v23134,
.fuel-amount-out-v23134 {display:inline-flex;padding:.35rem .6rem;border-radius:.65rem;font-weight:900}.fuel-amount-in-v23134 {background:#d1fae5;color:#047857}.fuel-amount-out-v23134 {background:#ffe4e6;color:#be123c}
.generator-report-hero-v23134 {min-height:190px}.generator-report-filter-grid-v23134 {display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(310px,auto);gap:1rem;align-items:end}.generator-report-filter-grid-v23134 .form-control,
.generator-report-filter-grid-v23134 .form-select {min-height:46px;border-radius:.85rem}.generator-report-filter-actions-v23134 {display:flex;gap:.55rem}.generator-report-filter-actions-v23134 .btn {min-height:46px;white-space:nowrap;border-radius:.8rem;font-weight:800}
.generator-report-tabs-v23134 {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;padding:.65rem;border-radius:1rem;background: var(--bs-card-bg);border:1px solid #e2e8f0;box-shadow:0 10px 25px rgba(15,23,42,.05)}.generator-report-tabs-v23134 a {display:flex;align-items:center;justify-content:center;gap:.45rem;min-height:45px;border-radius:.75rem;color:#475569;font-weight:900;text-decoration:none}.generator-report-tabs-v23134 a.active {background:linear-gradient(135deg,#4338ca,#635bff);color:#fff}.generator-report-table-card-v23134 thead th {white-space:nowrap;background:#f1f5f9}
[data-bs-theme="dark"] .generator-unit-card-v23134,
[data-bs-theme="dark"] .generator-report-tabs-v23134 {background:#111827;border-color:#334155}.generator-unit-title-v23134 h4,
[data-bs-theme="dark"] .generator-history-panel-v23134 strong {color:inherit}[data-bs-theme="dark"] .generator-unit-info-v23134 span,
[data-bs-theme="dark"] .generator-history-panel-v23134>div {background:#0f172a;border-color:#334155;color:#cbd5e1}[data-bs-theme="dark"] .generator-unit-actions-v23134 {background:#0f172a;border-color:#334155}[data-bs-theme="dark"] .generator-capacity-badge-v23134 {background:#312e81;color:#c7d2fe}[data-bs-theme="dark"] .generator-report-tabs-v23134 a {color:#cbd5e1}
@media(max-width:1399.98px){.generator-stat-grid-v23134 {grid-template-columns:repeat(3,minmax(0,1fr))}.generator-card-grid-v23134 {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1199.98px){.fuel-stat-grid-v23134 {grid-template-columns:repeat(2,minmax(0,1fr))}.generator-report-filter-grid-v23134 {grid-template-columns:repeat(3,minmax(0,1fr))}.generator-report-filter-actions-v23134 {grid-column:1/-1}.generator-report-filter-actions-v23134 .btn {flex:1}}
@media(max-width:767.98px){.generator-hero-v23134,
.fuel-hero-v23134,
.generator-report-hero-v23134 {flex-direction:column;align-items:stretch;padding:1.25rem}.generator-tank-mini-v23134,
.fuel-big-tank-v23134 {align-self:center}.generator-stat-grid-v23134,
.fuel-stat-grid-v23134,
.generator-card-grid-v23134 {grid-template-columns:1fr}.generator-unit-info-v23134,
.generator-live-panel-v23134,
.generator-history-panel-v23134,
.generator-stop-preview-v23134 {grid-template-columns:1fr}.generator-report-filter-grid-v23134 {grid-template-columns:1fr}.generator-report-filter-actions-v23134 {grid-column:auto;flex-direction:column}.generator-report-tabs-v23134 {grid-template-columns:repeat(2,minmax(0,1fr))}.generator-fuel-alert-v23134 {align-items:flex-start;flex-wrap:wrap}.generator-fuel-alert-v23134 .btn {width:100%}}
@media print{.generator-workflow-page .side-mini-panel,
.generator-workflow-page .topbar,
.generator-workflow-page .sonic-app-footer,
.generator-workflow-page .btn,
.generator-report-filter-grid-v23134,
.generator-report-tabs-v23134 {display:none!important}.generator-workflow-page .page-wrapper {margin:0!important}.generator-workflow-page .body-wrapper {padding:0!important}.generator-hero-v23134,
.fuel-hero-v23134,
.generator-report-hero-v23134 {min-height:auto;color:#000;background: var(--bs-card-bg);box-shadow:none;border:1px solid #ddd}.generator-hero-v23134 h2,
.fuel-hero-v23134 h2,
.generator-report-hero-v23134 h2,
.generator-hero-v23134 p,
.fuel-hero-v23134 p,
.generator-report-hero-v23134 p {color:#000}}

/* ========================================================================== */
/* Sonic Tower v2.3.135 — generator QR, report grids and notification position */
/* ========================================================================== */
.generator-report-page-v23134 .generator-stat-grid-v23134 {
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  width:100%;
}
.generator-report-page-v23134 .generator-stat-card-v23134 {
  width:100%;
}
.generator-unit-image-v23134 {
  display:grid;
  place-items:center;
  height:220px;
  padding:.65rem;
  background:linear-gradient(135deg,#e9eef7,#f8fafc);
}
.generator-unit-image-v23134 img {
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  border-radius:.85rem;
  background: var(--bs-card-bg);
}
.generator-critical-tank-btn-v23135 {
  background:#dc2626!important;
  border-color:#dc2626!important;
  color:#fff!important;
  box-shadow:0 8px 20px rgba(220,38,38,.24)!important;
}
.generator-critical-tank-btn-v23135:hover {
  background:#b91c1c!important;
  border-color:#b91c1c!important;
  color:#fff!important;
}
.generator-unit-actions-v23134 .js-generator-qr {
  min-width:76px;
}
.generator-qr-card-v23135 {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.75rem;
  padding:1.2rem;
  border:1px solid #dbe4f0;
  border-radius:1.2rem;
  background:linear-gradient(180deg,var(--bs-tertiary-bg),var(--bs-card-bg));
  text-align:center;
}
.generator-qr-canvas-v23135 {
  display:grid;
  place-items:center;
  width:275px;
  max-width:100%;
  min-height:275px;
  padding:14px;
  border:1px solid #dbe4f0;
  border-radius:1.1rem;
  background: #fff;
  box-shadow:0 12px 28px rgba(15,23,42,.08);
}
.generator-qr-card-v23135>strong {font-size:1.05rem;color:#312e81;font-weight:900}
.generator-qr-card-v23135>p {max-width:380px;margin:0;color:#64748b;font-size:.78rem;line-height:1.75}
.generator-qr-card-v23135 .form-control {min-height:44px;border-radius:.8rem;font-size:.72rem;direction:ltr}
.generator-modal-fields-v23134 {
  gap:1rem;
}
.generator-modal-fields-v23134>div {
  display:flex;
  flex-direction:column;
}
.generator-modal-fields-v23134 .form-text {
  min-height:18px;
  margin-top:.35rem;
  font-size:.67rem;
}

.generator-qr-action-page-v23135 {max-width:1120px;margin-inline:auto}
.generator-qr-action-hero-v23135 {
  display:grid;
  grid-template-columns:210px minmax(0,1fr);
  gap:1.4rem;
  align-items:center;
  padding:1.35rem;
  border-radius:1.45rem;
  color:#fff;
  background:linear-gradient(135deg,#312e81,#635bff 52%,#0ea5e9);
  box-shadow:0 20px 44px rgba(79,70,229,.2);
}
.generator-qr-action-image-v23135 {
  display:grid;
  place-items:center;
  height:185px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:1.15rem;
  overflow:hidden;
  background:rgba(15,23,42,.18);
}
.generator-qr-action-image-v23135 img {width:100%;height:100%;object-fit:contain;padding:.5rem;background:#fff}
.generator-qr-action-image-v23135 i {font-size:5rem;color:#fff}
.generator-qr-action-copy-v23135>span {display:inline-flex;align-items:center;gap:.45rem;padding:.38rem .7rem;border-radius:999px;background:rgba(255,255,255,.15);font-weight:900;font-size:.72rem}
.generator-qr-action-copy-v23135 h2 {margin:.7rem 0 .35rem;color:#fff;font-weight:900}
.generator-qr-action-copy-v23135 p {margin:0;color:rgba(255,255,255,.86);font-weight:700}
.generator-qr-status-row-v23135 {display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}
.generator-qr-status-row-v23135 b {display:inline-flex;align-items:center;gap:.35rem;padding:.42rem .7rem;border-radius:999px;background:rgba(15,23,42,.28);font-size:.72rem}
.generator-qr-status-row-v23135 .status-running {background:#059669}.generator-qr-status-row-v23135 .status-fault {background:#e11d48}.generator-qr-status-row-v23135 .tank-critical {background:#dc2626}.generator-qr-status-row-v23135 .tank-low {background:#d97706}.generator-qr-status-row-v23135 .tank-normal {background:#047857}
.generator-qr-live-v23135 {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem}
.generator-qr-live-v23135 article {display:flex;align-items:center;gap:.8rem;padding:1rem;border:1px solid #dbe4f0;border-radius:1rem;background:var(--bs-card-bg);box-shadow:0 10px 24px rgba(15,23,42,.05)}
.generator-qr-live-v23135 article>i {display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:.9rem;background:#eef2ff;color:#4f46e5;font-size:1.5rem}
.generator-qr-live-v23135 small,
.generator-qr-live-v23135 strong {display:block}.generator-qr-live-v23135 small {color:#64748b;font-weight:800}.generator-qr-live-v23135 strong {margin-top:.25rem;color:#0f172a;font-weight:900}
.generator-qr-actions-v23135 {margin-top:1rem;padding:1.2rem;border:1px solid #dbe4f0;border-radius:1.35rem;background:var(--bs-card-bg);box-shadow:0 14px 34px rgba(15,23,42,.06)}
.generator-qr-section-title-v23135 {display:flex;align-items:center;gap:.8rem;margin-bottom:1rem}.generator-qr-section-title-v23135>span {display:grid;place-items:center;width:48px;height:48px;border-radius:.9rem;background:#eef2ff;color:#4f46e5;font-size:1.45rem}.generator-qr-section-title-v23135 h4 {margin:0;color:#0f172a;font-weight:900}.generator-qr-section-title-v23135 p {margin:.2rem 0 0;color:#64748b;font-size:.75rem}
.generator-qr-action-grid-v23135 {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}
.generator-qr-action-grid-v23135 a {display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:145px;padding:1rem;border-radius:1.05rem;color:#fff;text-align:center;text-decoration:none;box-shadow:0 12px 25px rgba(15,23,42,.12);transition:.18s ease}.generator-qr-action-grid-v23135 a:hover {transform:translateY(-3px);color:#fff}.generator-qr-action-grid-v23135 a>i {font-size:2rem;margin-bottom:.55rem}.generator-qr-action-grid-v23135 a strong {font-size:.86rem;font-weight:900}.generator-qr-action-grid-v23135 a small {margin-top:.3rem;color:rgba(255,255,255,.82);font-size:.66rem}.generator-qr-action-grid-v23135 .is-start {background:linear-gradient(135deg,#047857,#10b981)}.generator-qr-action-grid-v23135 .is-stop {background:linear-gradient(135deg,#b91c1c,#f43f5e)}.generator-qr-action-grid-v23135 .is-fault {background:linear-gradient(135deg,#be123c,#fb7185)}.generator-qr-action-grid-v23135 .is-maintenance {background:linear-gradient(135deg,#4338ca,#7c3aed)}.generator-qr-action-grid-v23135 .is-view {background:linear-gradient(135deg,#1d4ed8,#0ea5e9)}.generator-qr-action-grid-v23135 .is-tank {background:linear-gradient(135deg,#0f766e,#06b6d4)}.generator-qr-action-grid-v23135 a.disabled {opacity:.48;pointer-events:none;filter:grayscale(.35)}
[data-bs-theme="dark"] .generator-unit-image-v23134 {background:#0f172a}
[data-bs-theme="dark"] .generator-qr-card-v23135,
[data-bs-theme="dark"] .generator-qr-actions-v23135,
[data-bs-theme="dark"] .generator-qr-live-v23135 article {background:#111827;border-color:#334155}
[data-bs-theme="dark"] .generator-qr-section-title-v23135 h4,
[data-bs-theme="dark"] .generator-qr-live-v23135 strong {color:#f8fafc}
[data-bs-theme="dark"] .generator-qr-section-title-v23135 p,
[data-bs-theme="dark"] .generator-qr-live-v23135 small {color:#cbd5e1}
@media(max-width:991.98px){.generator-qr-action-grid-v23135 {grid-template-columns:repeat(2,minmax(0,1fr))}.generator-qr-action-hero-v23135 {grid-template-columns:170px minmax(0,1fr)}}
@media(max-width:767.98px){.generator-qr-action-hero-v23135 {grid-template-columns:1fr}.generator-qr-action-image-v23135 {height:220px}.generator-qr-live-v23135,
.generator-qr-action-grid-v23135 {grid-template-columns:1fr}.generator-report-page-v23134 .generator-stat-grid-v23134 {grid-template-columns:1fr}}

/* ========================================================================== */
/* Sonic Tower v2.3.136 — live generator pulse and animated fuel surface      */
/* ========================================================================== */
.generator-unit-card-v23134.status-running {
  position:relative;
  border:3px solid #10b981;
  box-shadow:
    0 0 0 1px rgba(16,185,129,.18),
    0 18px 42px rgba(5,150,105,.18);
  animation:generatorRunningPulseV23136 2.35s ease-in-out infinite;
}
.generator-unit-card-v23134.status-running::before {
  content:"";
  position:absolute;
  z-index:8;
  inset:0;
  pointer-events:none;
  border-radius:calc(1.35rem - 3px);
  border:2px solid rgba(110,231,183,.72);
  opacity:.72;
  animation:generatorRunningInnerV23136 2.35s ease-in-out infinite;
}
.generator-unit-card-v23134.status-running::after {
  content:"";
  position:absolute;
  z-index:9;
  top:0;
  inset-inline-start:-35%;
  width:34%;
  height:4px;
  pointer-events:none;
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,transparent,#a7f3d0,#10b981,transparent);
  box-shadow:0 0 14px rgba(16,185,129,.95);
  animation:generatorRunningSweepV23136 2.8s linear infinite;
}
.status-running .generator-status-badge-v23134 {
  background:linear-gradient(135deg,#047857,#10b981);
  color:#fff;
  border:1px solid rgba(255,255,255,.42);
  box-shadow:0 8px 22px rgba(5,150,105,.34);
  animation:generatorRunningBadgeV23136 1.8s ease-in-out infinite;
}
.status-running .generator-status-badge-v23134::before {
  content:"";
  display:inline-block;
  width:8px;
  height:8px;
  margin-inline-end:.42rem;
  border-radius:50%;
  background:#d1fae5;
  box-shadow:0 0 0 0 rgba(209,250,229,.7);
  animation:generatorRunningDotV23136 1.45s ease-out infinite;
  vertical-align:middle;
}
@keyframes generatorRunningPulseV23136{
  0%,
100% {
    border-color:#10b981;
    box-shadow:0 0 0 1px rgba(16,185,129,.18),0 18px 42px rgba(5,150,105,.16);
  }
  50% {
    border-color:#34d399;
    box-shadow:0 0 0 5px rgba(16,185,129,.13),0 22px 52px rgba(5,150,105,.28);
  }
}
@keyframes generatorRunningInnerV23136{
  0%,
100% {opacity:.38}
  50% {opacity:.95}
}
@keyframes generatorRunningSweepV23136{
  0% {inset-inline-start:-35%}
  100% {inset-inline-start:105%}
}
@keyframes generatorRunningBadgeV23136{
  0%,
100% {transform:translateY(0);filter:brightness(1)}
  50% {transform:translateY(-1px);filter:brightness(1.12)}
}
@keyframes generatorRunningDotV23136{
  0% {box-shadow:0 0 0 0 rgba(209,250,229,.72)}
  75%,
100% {box-shadow:0 0 0 8px rgba(209,250,229,0)}
}

.fuel-big-liquid-v23134 {
  overflow:visible;
  background-size:100% 180%;
  animation:fuelLiquidGlowV23136 5s ease-in-out infinite alternate;
}
.fuel-wave-v23134 {
  left:-42%;
  top:-17px;
  width:184%;
  height:38px;
  border-radius:46%;
  background:rgba(255,255,255,.32);
  box-shadow:0 -5px 16px rgba(255,255,255,.16);
  transform-origin:center;
  animation:fuelWaveFlowV23136 5.2s linear infinite;
}
.fuel-wave-v23134::before,
.fuel-wave-v23134::after {
  content:"";
  position:absolute;
  border-radius:48%;
  pointer-events:none;
}
.fuel-wave-v23134::before {
  left:12%;
  top:8px;
  width:72%;
  height:31px;
  background:rgba(255,255,255,.18);
  animation:fuelWaveCounterV23136 6.8s linear infinite;
}
.fuel-wave-v23134::after {
  left:42%;
  top:-3px;
  width:45%;
  height:29px;
  background:rgba(255,255,255,.12);
  animation:fuelWaveBobV23136 3.2s ease-in-out infinite alternate;
}
.fuel-big-tank-v23134::after {
  content:"";
  position:absolute;
  z-index:2;
  inset:10px 17px 22px;
  pointer-events:none;
  border-radius:2.25rem 2.25rem 1rem 1rem;
  background:linear-gradient(105deg,transparent 22%,rgba(255,255,255,.12) 42%,transparent 62%);
  transform:translateX(-125%);
  animation:fuelTankShineV23136 6.5s ease-in-out infinite;
}
.generator-tank-mini-liquid-v23134 {
  overflow:visible;
  animation:fuelLiquidGlowV23136 5s ease-in-out infinite alternate;
}
.generator-tank-mini-liquid-v23134::before,
.generator-tank-mini-liquid-v23134::after {
  content:"";
  position:absolute;
  pointer-events:none;
  border-radius:48%;
}
.generator-tank-mini-liquid-v23134::before {
  left:-45%;
  top:-12px;
  width:190%;
  height:26px;
  background:rgba(255,255,255,.3);
  animation:fuelWaveFlowV23136 5.6s linear infinite;
}
.generator-tank-mini-liquid-v23134::after {
  left:-24%;
  top:-7px;
  width:150%;
  height:20px;
  background:rgba(255,255,255,.14);
  animation:fuelWaveCounterV23136 7.2s linear infinite;
}
@keyframes fuelWaveFlowV23136{
  0% {transform:translateX(-9%) rotate(0deg) scaleY(.9)}
  50% {transform:translateX(2%) rotate(1.3deg) scaleY(1.08)}
  100% {transform:translateX(11%) rotate(0deg) scaleY(.9)}
}
@keyframes fuelWaveCounterV23136{
  0% {transform:translateX(11%) rotate(0deg)}
  50% {transform:translateX(0) rotate(-1.2deg)}
  100% {transform:translateX(-11%) rotate(0deg)}
}
@keyframes fuelWaveBobV23136{
  from {transform:translateY(-2px) scaleX(.95)}
  to {transform:translateY(5px) scaleX(1.08)}
}
@keyframes fuelLiquidGlowV23136{
  from {filter:saturate(1) brightness(.96)}
  to {filter:saturate(1.15) brightness(1.06)}
}
@keyframes fuelTankShineV23136{
  0%,
28% {transform:translateX(-125%);opacity:0}
  42% {opacity:.7}
  68%,
100% {transform:translateX(125%);opacity:0}
}
@media (prefers-reduced-motion:reduce){
  .generator-unit-card-v23134.status-running,
.generator-unit-card-v23134.status-running::before,
.generator-unit-card-v23134.status-running::after,
.status-running .generator-status-badge-v23134,
.status-running .generator-status-badge-v23134::before,
.fuel-big-liquid-v23134,
.fuel-wave-v23134,
.fuel-wave-v23134::before,
.fuel-wave-v23134::after,
.fuel-big-tank-v23134::after,
.generator-tank-mini-liquid-v23134,
.generator-tank-mini-liquid-v23134::before,
.generator-tank-mini-liquid-v23134::after {
    animation:none!important;
  }
}
[data-bs-theme="dark"] .generator-unit-card-v23134.status-running {
  border-color:#34d399;
  box-shadow:0 0 0 1px rgba(52,211,153,.2),0 20px 50px rgba(5,150,105,.24);
}
.fuel-big-liquid-v23134 {z-index:1}
.fuel-big-copy-v23134 {z-index:3}
.fuel-tank-cap-v23134 {z-index:4}


/* ========================================================================== */
/* Sonic Tower v2.3.138 — show complete generator photos without card resizing */
/* ========================================================================== */
.generator-unit-image-v23134 {
  position:relative;
  display:block;
  height:220px;
  min-height:220px;
  max-height:220px;
  padding:0;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 45%,rgba(255,255,255,.96) 0 42%,rgba(241,245,249,.96) 100%);
}
.generator-unit-image-v23134 img {
  position:absolute;
  inset:.7rem;
  display:block;
  width:calc(100% - 1.4rem)!important;
  height:calc(100% - 1.4rem)!important;
  max-width:calc(100% - 1.4rem)!important;
  max-height:calc(100% - 1.4rem)!important;
  margin:auto;
  padding:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  border-radius:.85rem;
  background:transparent!important;
}
.generator-unit-image-v23134 .generator-status-badge-v23134 {
  z-index:4;
}
[data-bs-theme="dark"] .generator-unit-image-v23134 {
  background:radial-gradient(circle at 50% 45%,#172033 0 42%,#0f172a 100%);
}
@media(max-width:767.98px){
  .generator-unit-image-v23134 {
    height:205px;
    min-height:205px;
    max-height:205px;
  }
}

/* ========================================================================== */
/* Sonic Tower v2.3.143 — fuel tank statistics in one continuous row          */
/* ========================================================================== */
.fuel-page-v23134 .fuel-stat-grid-v23134 {
  display:flex;
  flex-wrap:nowrap;
  align-items:stretch;
  width:100%;
  max-width:100%;
  gap:1rem;
  overflow-x:auto;
  overflow-y:hidden;
  padding:0 0 .45rem;
  scroll-snap-type:x proximity;
  scrollbar-width:thin;
  scrollbar-color:rgba(99,91,255,.55) rgba(148,163,184,.16);
  -webkit-overflow-scrolling:touch;
}
.fuel-page-v23134 .fuel-stat-grid-v23134::-webkit-scrollbar {
  height:8px;
}
.fuel-page-v23134 .fuel-stat-grid-v23134::-webkit-scrollbar-track {
  border-radius:999px;
  background:rgba(148,163,184,.16);
}
.fuel-page-v23134 .fuel-stat-grid-v23134::-webkit-scrollbar-thumb {
  border-radius:999px;
  background:linear-gradient(90deg,#4338ca,#0ea5e9);
}
.fuel-page-v23134 .fuel-stat-grid-v23134 .generator-stat-card-v23134 {
  flex:1 0 164px;
  min-width:164px;
  min-height:108px;
  padding:.9rem;
  scroll-snap-align:start;
}
.fuel-page-v23134 .fuel-stat-grid-v23134 .generator-stat-card-v23134>span {
  flex-basis:46px;
  width:46px;
  height:46px;
}
.fuel-page-v23134 .fuel-stat-grid-v23134 .generator-stat-card-v23134>span i {
  font-size:1.5rem!important;
}
.fuel-page-v23134 .fuel-stat-grid-v23134 .generator-stat-card-v23134 strong {
  font-size:.94rem;
}
@media(min-width:1800px){
  .fuel-page-v23134 .fuel-stat-grid-v23134 .generator-stat-card-v23134 {
    flex-basis:0;
    min-width:0;
  }
}
@media(max-width:767.98px){
  .fuel-page-v23134 .fuel-stat-grid-v23134 {
    gap:.75rem;
  }
  .fuel-page-v23134 .fuel-stat-grid-v23134 .generator-stat-card-v23134 {
    flex-basis:210px;
    min-width:210px;
  }
}

/* v2.4.14 - keep user group edit modal strictly vertical and inside bounds */
.sonic-edit-modal .sonic-modal-edit-form .user-groups-form-grid-v2395 {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}
.sonic-edit-modal .sonic-modal-edit-form .user-groups-field-v2395,
.sonic-edit-modal .sonic-modal-edit-form .user-group-active-field-v2395 {
  flex: 0 0 auto !important;
  grid-column: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}
.sonic-edit-modal .sonic-modal-edit-form .user-groups-field-v2395 .input-group,
.sonic-edit-modal .sonic-modal-edit-form .user-groups-field-v2395 .form-control,
.sonic-edit-modal .sonic-modal-edit-form .user-groups-field-v2395 .form-select,
.sonic-edit-modal .sonic-modal-edit-form .user-group-active-field-v2395,
.sonic-edit-modal .sonic-modal-edit-form .user-group-active-field-v2395 .sonic-natural-switch-group,
.sonic-edit-modal .sonic-modal-edit-form .user-group-active-field-v2395 .sonic-natural-switch-control {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
.sonic-edit-modal .sonic-modal-edit-form > .card-body {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}
.sonic-edit-modal #sonicEditModalBody {
  overflow-x: hidden !important;
}

/* ========================================================================== */
/* v2.4.31 — Single compact accordion sidebar                                */
/* ========================================================================== */
:root {
  --sonic-sidebar-width: 260px;
}

.sonic-single-sidebar {
  width: var(--sonic-sidebar-width) !important;
  right: 0 !important;
  left: auto !important;
  background: var(--bs-card-bg) !important;
  border-left: 1px solid var(--bs-border-color);
  overflow: hidden;
}

.sonic-single-sidebar .sonic-sidebar-shell {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100vh;
  min-width: 0;
}

.sonic-single-sidebar .brand-logo {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  min-height: 72px;
  padding: 0 16px !important;
  flex: 0 0 72px;
  background: var(--bs-card-bg);
  border-bottom: 1px solid var(--bs-border-color);
}

.sonic-single-sidebar .sonic-brand-link {
  min-width: 0;
  flex: 1 1 auto;
}

.sonic-single-sidebar .sonic-sidebar-close {
  display: none;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  padding: 0;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  color: var(--bs-heading-color);
}

.sonic-single-sidebar .sonic-single-sidebar-nav {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  display: block !important;
  flex: 1 1 auto;
  width: 100% !important;
  height: calc(100vh - 72px) !important;
  padding: 12px 12px 24px !important;
  background: var(--bs-card-bg) !important;
  overflow-x: hidden;
  overflow-y: auto;
}

.sonic-single-sidebar .sidebar-menu {
  width: 100%;
  margin: 0;
  padding: 0;
}

.sonic-single-sidebar .sonic-sidebar-section {
  margin-bottom: 4px;
}

.sonic-single-sidebar .sonic-sidebar-section > .sonic-sidebar-section-toggle {
  min-height: 46px;
  margin: 0;
  padding: 11px 13px !important;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 800 !important;
  color: var(--bs-heading-color);
  background: transparent;
  box-shadow: none !important;
}

.sonic-single-sidebar .sonic-sidebar-section > .sonic-sidebar-section-toggle > i.ti {
  flex: 0 0 20px;
  width: 20px;
  min-width: 20px;
  font-size: 19px !important;
  color: var(--bs-heading-color);
}

.sonic-single-sidebar .sonic-sidebar-section > .sonic-sidebar-section-toggle:hover {
  color: var(--bs-primary);
  background: var(--bs-primary-bg-subtle);
}

.sonic-single-sidebar .sonic-sidebar-section.selected > .sonic-sidebar-section-toggle,
.sonic-single-sidebar .sonic-sidebar-section > .sonic-sidebar-section-toggle.active {
  color: var(--bs-white) !important;
  background: var(--bs-primary) !important;
  box-shadow: 0 12px 20px -12px rgba(77, 91, 236, .55) !important;
}

.sonic-single-sidebar .sonic-sidebar-section.selected > .sonic-sidebar-section-toggle > i.ti,
.sonic-single-sidebar .sonic-sidebar-section > .sonic-sidebar-section-toggle.active > i.ti {
  color: var(--bs-white) !important;
}

.sonic-single-sidebar .sonic-sidebar-section-menu {
  margin: 3px 0 7px;
  padding: 3px 8px 5px 0;
  border-right: 2px solid var(--bs-border-color);
}

.sonic-single-sidebar .sonic-sidebar-section-menu .sidebar-item {
  margin: 0;
}

.sonic-single-sidebar .sonic-sidebar-section-menu .sidebar-link {
  min-height: 38px;
  margin: 1px 0;
  padding: 8px 11px !important;
  gap: 8px;
  border-radius: 9px;
  font-size: 13px;
  font-weight: 700 !important;
  color: var(--bs-body-color);
  box-shadow: none !important;
}

.sonic-single-sidebar .sonic-sidebar-section-menu .sidebar-link > i.ti {
  flex: 0 0 18px;
  width: 18px;
  min-width: 18px;
  font-size: 17px !important;
}

.sonic-single-sidebar .sonic-sidebar-section-menu .sidebar-link:hover {
  color: var(--bs-primary);
  background: var(--bs-primary-bg-subtle);
}

.sonic-single-sidebar .sonic-sidebar-section-menu .sidebar-link.active {
  color: var(--bs-primary) !important;
  background: var(--bs-primary-bg-subtle) !important;
  box-shadow: none !important;
}

.sonic-single-sidebar .sonic-sidebar-section-menu .sidebar-link.active > i.ti {
  color: var(--bs-primary) !important;
}

.sonic-single-sidebar .sidebar-nav .has-arrow::after {
  top: 19px;
  right: auto;
  left: 14px;
}

.sonic-single-sidebar .sidebar-nav .has-arrow[aria-expanded="true"]::after {
  transform: rotate(45deg) translate(0, -50%);
}

.sonic-single-sidebar .simplebar-content-wrapper,
.sonic-single-sidebar .simplebar-content {
  overflow-x: hidden !important;
}

@media (min-width: 1300px) {
  html[dir="rtl"][data-layout="vertical"] .page-wrapper {
    margin-right: var(--sonic-sidebar-width) !important;
    margin-left: 0 !important;
    min-width: 0;
  }

  html[dir="rtl"][data-layout="vertical"] .topbar {
    width: calc(100% - var(--sonic-sidebar-width)) !important;
  }

  html[dir="rtl"][data-layout="vertical"] body[data-sidebartype="mini-sidebar"] .sonic-single-sidebar {
    right: calc(-1 * var(--sonic-sidebar-width)) !important;
  }

  html[dir="rtl"][data-layout="vertical"] body[data-sidebartype="mini-sidebar"] .page-wrapper {
    margin-right: 0 !important;
  }

  html[dir="rtl"][data-layout="vertical"] body[data-sidebartype="mini-sidebar"] .topbar {
    width: 100% !important;
  }
}

@media (max-width: 1299.98px) {
  .sonic-single-sidebar {
    right: calc(-1 * var(--sonic-sidebar-width)) !important;
    left: auto !important;
  }

  #main-wrapper.show-sidebar .sonic-single-sidebar {
    right: 0 !important;
  }

  .sonic-single-sidebar .sonic-sidebar-close {
    display: inline-flex;
  }

  html[dir="rtl"][data-layout="vertical"] .page-wrapper {
    margin-right: 0 !important;
  }

  html[dir="rtl"][data-layout="vertical"] .topbar {
    width: 100% !important;
  }
}

@media (max-width: 575.98px) {
  :root {
    --sonic-sidebar-width: min(86vw, 290px);
  }

  .sonic-single-sidebar .brand-logo {
    padding: 0 12px !important;
  }
}

/* v2.4.31: the content width must shrink with the sidebar, not remain 100%. */
@media (min-width: 1300px) {
  html[dir="rtl"][data-layout="vertical"] .page-wrapper {
    width: calc(100% - var(--sonic-sidebar-width)) !important;
  }

  html[dir="rtl"][data-layout="vertical"] body[data-sidebartype="mini-sidebar"] .page-wrapper {
    width: 100% !important;
  }
}

@media (max-width: 1299.98px) {
  html[dir="rtl"][data-layout="vertical"] .page-wrapper {
    width: 100% !important;
  }
}

/* ========================================================================== */
/* v2.4.32 — Sidebar mobile polish, backdrop close, MatDash brand in sidebar */
/* ========================================================================== */
.sonic-single-sidebar,
.sonic-single-sidebar .sonic-sidebar-shell,
.sonic-single-sidebar .brand-logo,
.sonic-single-sidebar .sonic-single-sidebar-nav {
  box-shadow: none !important;
}

.sonic-single-sidebar .sonic-sidebar-brand-head {
  position: relative !important;
  justify-content: center !important;
  overflow: hidden;
}

.sonic-single-sidebar .sonic-sidebar-matdash-brand {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(150px, calc(100% - 74px));
  min-width: 0;
  height: 72px;
  padding: 0 !important;
  margin: 0 auto;
  text-decoration: none !important;
}

.sonic-single-sidebar .sonic-sidebar-matdash-brand img {
  display: block;
  width: auto;
  max-width: 100%;
  height: 36px;
  object-fit: contain;
  filter: none !important;
  transform: none !important;
}

.sonic-single-sidebar .sonic-sidebar-close {
  position: absolute;
  top: 17px;
  left: 12px;
  right: auto;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#headerCollapseMobile,
#headerCollapseMobile:hover,
#headerCollapseMobile:focus,
#headerCollapseMobile:active {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: 0 !important;
}

.sonic-sidebar-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 1190;
  margin: 0;
  padding: 0;
  border: 0;
  background: rgba(10, 37, 64, .52);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  box-shadow: none !important;
  transition: opacity .2s ease, visibility .2s ease;
  -webkit-tap-highlight-color: transparent;
}

@media (max-width: 1299.98px) {
  .sonic-single-sidebar {
    z-index: 1200 !important;
    box-shadow: none !important;
  }

  #main-wrapper.show-sidebar + .sonic-sidebar-backdrop {
    display: block;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  #main-wrapper.show-sidebar #headerCollapseMobile {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  html.sonic-sidebar-open,
body.sonic-sidebar-open {
    overflow: hidden !important;
    overscroll-behavior: none;
  }

  .sonic-single-sidebar .brand-logo {
    min-height: 72px !important;
    height: 72px !important;
    background: var(--bs-card-bg) !important;
    border-bottom: 1px solid var(--bs-border-color) !important;
  }

  .sonic-single-sidebar .sonic-single-sidebar-nav {
    top: auto !important;
    height: calc(100dvh - 72px) !important;
  }
}

@media (max-width: 575.98px) {
  .sonic-single-sidebar .sonic-sidebar-matdash-brand {
    width: min(142px, calc(100% - 68px));
  }

  .sonic-single-sidebar .sonic-sidebar-matdash-brand img {
    height: 34px;
  }
}

/* ========================================================================== */
/* v2.4.33 — Restore mobile MatDash logo and reliable outside-click closing   */
/* ========================================================================== */
.topbar .navbar {
  position: relative;
}

.sonic-mobile-header-brand {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 3;
  align-items: center;
  justify-content: center;
  width: 118px;
  max-width: 34vw;
  height: 48px;
  padding: 0 8px;
  transform: translate(-50%, -50%);
  text-decoration: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.sonic-mobile-header-brand img {
  display: block;
  width: auto;
  height: 32px;
  object-fit: contain;
  filter: none !important;
}

/* Use body state rather than a fragile adjacent-sibling selector. */
body.sonic-sidebar-open .sonic-sidebar-backdrop,
html.sonic-sidebar-open body .sonic-sidebar-backdrop {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

@media (max-width: 1299.98px) {
  .sonic-mobile-header-brand {
    display: inline-flex;
  }

  body.sonic-sidebar-open .sonic-mobile-header-brand,
html.sonic-sidebar-open .sonic-mobile-header-brand {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .sonic-sidebar-backdrop {
    z-index: 1195 !important;
    cursor: pointer;
    touch-action: manipulation;
  }

  .sonic-single-sidebar {
    z-index: 1205 !important;
  }
}

@media (max-width: 575.98px) {
  .sonic-mobile-header-brand {
    width: 104px;
    max-width: 32vw;
  }

  .sonic-mobile-header-brand img {
    height: 40px !important;
  }
}


/* ========================================================================== */
/* v2.4.35 — Desktop sidebar collapse safety and MatDash-only branding        */
/* ========================================================================== */
@media (min-width: 1300px) {
  .sonic-sidebar-backdrop,
body.sonic-sidebar-open .sonic-sidebar-backdrop,
html.sonic-sidebar-open body .sonic-sidebar-backdrop,
#main-wrapper.show-sidebar ~ .sonic-sidebar-backdrop {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  html.sonic-sidebar-open,
body.sonic-sidebar-open {
    overflow: auto !important;
    overscroll-behavior: auto !important;
  }
}

.sonic-matdash-only-logo {
  display: block;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  filter: none !important;
  transform: none !important;
}

.sonic-auth-matdash-logo-xl {
  height: 54px;
}

.sonic-auth-matdash-logo-lg {
  height: 46px;
  margin-inline: auto;
}

/* ===== Sonic dashboard home v2.4.53 ===== */
.dashboard-home-v2453 {--dash-gap:24px}.dashboard-home-v2453 .card {overflow:hidden}.dashboard-overview-v2453 {position:relative;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(360px,.8fr);gap:28px;align-items:center;padding:32px;border-radius:22px;color:#fff;background:radial-gradient(circle at 10% 20%,rgba(255,255,255,.18),transparent 28%),radial-gradient(circle at 90% 80%,rgba(255,255,255,.12),transparent 32%),linear-gradient(135deg,color-mix(in srgb,var(--bs-primary) 88%,#0f172a),color-mix(in srgb,var(--bs-primary) 55%,#111827));box-shadow:0 22px 50px color-mix(in srgb,var(--bs-primary) 25%,transparent);overflow:hidden}.dashboard-overview-v2453:before,
.dashboard-overview-v2453:after {content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.08);pointer-events:none}.dashboard-overview-v2453:before {width:220px;height:220px;top:-120px;left:8%}.dashboard-overview-v2453:after {width:150px;height:150px;bottom:-95px;right:48%}.dashboard-overview-copy-v2453,
.dashboard-overview-metrics-v2453 {position:relative;z-index:1}.dashboard-overview-kicker-v2453 {display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(255,255,255,.1);font-weight:800;font-size:12px}.dashboard-overview-copy-v2453 h2 {margin:14px 0 8px;font-size:30px;font-weight:900}.dashboard-overview-copy-v2453 p {margin:0;color:rgba(255,255,255,.8);font-weight:600}.dashboard-overview-actions-v2453 {display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}.dashboard-overview-actions-v2453 .btn {display:inline-flex;align-items:center;gap:6px}.dashboard-overview-metrics-v2453 {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dashboard-overview-metrics-v2453>div {min-height:92px;padding:18px;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(255,255,255,.11);backdrop-filter:blur(5px)}.dashboard-overview-metrics-v2453 span {display:block;color:rgba(255,255,255,.78);font-size:12px;font-weight:700}.dashboard-overview-metrics-v2453 strong {display:block;margin-top:7px;font-size:24px;font-weight:900}
.dashboard-compact-stats-v2453 {display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:14px}.dashboard-compact-stat-v2453 {position:relative;display:flex;align-items:center;gap:12px;min-width:0;padding:15px 14px;border:1px solid var(--bs-border-color);border-radius:16px;background:var(--bs-card-bg,#fff);color:var(--bs-body-color);transition:.18s ease;text-decoration:none;overflow:hidden}.dashboard-compact-stat-v2453:hover {transform:translateY(-2px);border-color:rgba(var(--bs-primary-rgb),.35)}.dashboard-compact-stat-v2453:after {content:"";position:absolute;inset:auto -24px -38px auto;width:85px;height:85px;border-radius:50%;opacity:.08;background:currentColor}.dashboard-compact-stat-icon-v2453 {display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:12px;background:rgba(var(--bs-primary-rgb),.09);font-size:21px;color:var(--bs-primary)}.dashboard-compact-stat-v2453 small {display:block;color:var(--bs-secondary-color);font-size:11px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-compact-stat-v2453 strong {display:block;margin-top:3px;font-size:18px;font-weight:900}.dashboard-compact-stat-v2453.tone-violet .dashboard-compact-stat-icon-v2453 {color:#6d4aff;background:rgba(109,74,255,.1)}.dashboard-compact-stat-v2453.tone-blue .dashboard-compact-stat-icon-v2453 {color:#2575e6;background:rgba(37,117,230,.1)}.dashboard-compact-stat-v2453.tone-green .dashboard-compact-stat-icon-v2453 {color:#13a873;background:rgba(19,168,115,.1)}.dashboard-compact-stat-v2453.tone-amber .dashboard-compact-stat-icon-v2453 {color:#e89a00;background:rgba(232,154,0,.1)}.dashboard-compact-stat-v2453.tone-cyan .dashboard-compact-stat-icon-v2453 {color:#16a5ba;background:rgba(22,165,186,.1)}.dashboard-compact-stat-v2453.tone-red .dashboard-compact-stat-icon-v2453 {color:#e15353;background:rgba(225,83,83,.1)}.dashboard-compact-stat-v2453.tone-orange .dashboard-compact-stat-icon-v2453 {color:#f26f36;background:rgba(242,111,54,.1)}.dashboard-compact-stat-v2453.tone-indigo .dashboard-compact-stat-icon-v2453 {color:#5856d6;background:rgba(88,86,214,.1)}
.dashboard-weather-card-v2453 {display:grid;grid-template-columns:minmax(0,1.35fr) minmax(255px,.65fr);border-radius:20px;overflow:hidden;border:1px solid var(--bs-border-color);background:var(--bs-card-bg,#fff)}.dashboard-weather-main-v2453 {position:relative;padding:26px;color:#fff;background:linear-gradient(135deg,#24365f,#3f57b5 62%,#6847e7);overflow:hidden}.dashboard-weather-main-v2453:after {content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.08);left:-60px;bottom:-90px}.dashboard-weather-heading-v2453 {display:flex;align-items:flex-start;justify-content:space-between;gap:18px;position:relative;z-index:1}.dashboard-weather-label-v2453 {display:inline-flex;align-items:center;gap:6px;color:rgba(255,255,255,.72);font-size:12px;font-weight:700}.dashboard-weather-heading-v2453 h3 {font-size:22px;font-weight:900;margin:8px 0 4px}.dashboard-weather-heading-v2453 p {margin:0;color:rgba(255,255,255,.72);font-size:12px}.dashboard-weather-icon-v2453 {display:grid;place-items:center;width:62px;height:62px;border-radius:17px;background:rgba(255,255,255,.13);font-size:34px}.dashboard-weather-temp-v2453 {position:relative;z-index:1;display:flex;align-items:end;gap:12px;margin-top:22px}.dashboard-weather-temp-v2453 strong {font-size:48px;line-height:1;font-weight:900}.dashboard-weather-temp-v2453 span {font-size:12px;color:rgba(255,255,255,.75);margin-bottom:5px}.dashboard-weather-meta-v2453 {position:relative;z-index:1;display:flex;gap:18px;flex-wrap:wrap;margin-top:22px;padding-top:16px;border-top:1px solid rgba(255,255,255,.14)}.dashboard-weather-meta-v2453 span {display:inline-flex;align-items:center;gap:6px;font-size:11px;color:rgba(255,255,255,.76)}.dashboard-weather-meta-v2453 b {color:#fff}.dashboard-weather-forecast-v2453 {display:grid;grid-template-columns:1fr;padding:10px 14px;background:var(--bs-card-bg,#fff)}.dashboard-weather-day-v2453 {display:grid;grid-template-columns:60px 30px 1fr 1fr;align-items:center;gap:10px;padding:10px 6px;border-bottom:1px solid var(--bs-border-color);font-size:12px}.dashboard-weather-day-v2453:last-child {border-bottom:0}.dashboard-weather-day-v2453 i {font-size:20px;color:var(--bs-primary)}.dashboard-weather-day-v2453 strong {font-size:13px}.dashboard-weather-day-v2453 small {color:var(--bs-secondary-color)}.dashboard-weather-day-v2453.is-loading {opacity:.45}
.dashboard-panel-v2453 {border-radius:18px}.dashboard-panel-header-v2453 {display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px}.dashboard-panel-header-v2453>span:first-child {display:inline-flex;align-items:center;gap:8px;font-weight:900}.dashboard-panel-header-v2453>span:first-child i {font-size:19px}.dashboard-template-tag-v2453 {padding:5px 9px;border-radius:8px;background:rgba(var(--bs-primary-rgb),.08);color:var(--bs-primary);font-size:10px;font-weight:800}.dashboard-empty-v2453 {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:120px;text-align:center;color:var(--bs-secondary-color);padding:18px}.dashboard-empty-v2453 i {font-size:28px;opacity:.55}.dashboard-online-list-v2453 {max-height:340px;overflow:auto}.dashboard-online-user-v2453 {display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px 16px;border-bottom:1px solid var(--bs-border-color)}.dashboard-online-user-v2453:last-child {border-bottom:0}.dashboard-online-avatar-v2453 {position:relative;display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:rgba(var(--bs-primary-rgb),.08);color:var(--bs-primary)}.dashboard-online-avatar-v2453 b {position:absolute;width:9px;height:9px;border-radius:50%;background:#19bb7a;border:2px solid var(--bs-card-bg,#fff);bottom:-1px;left:-1px}.dashboard-online-user-v2453 strong {display:block;font-size:12px}.dashboard-online-user-v2453 small {display:block;color:var(--bs-secondary-color);font-size:10px;margin-top:2px}.dashboard-online-user-v2453 time {font-size:10px;color:#19a56e;font-weight:800}.dashboard-circular-placeholder-v2453 {display:flex;gap:13px;padding:14px;border:1px dashed rgba(var(--bs-primary-rgb),.28);border-radius:14px;background:rgba(var(--bs-primary-rgb),.035);margin-bottom:12px}.dashboard-circular-placeholder-v2453:last-child {margin-bottom:0}.dashboard-circular-placeholder-v2453>span {display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:12px;background:rgba(var(--bs-primary-rgb),.1);color:var(--bs-primary);font-size:19px}.dashboard-circular-placeholder-v2453 strong {font-size:12px}.dashboard-circular-placeholder-v2453 p {margin:4px 0;color:var(--bs-secondary-color);font-size:11px;line-height:1.7}.dashboard-circular-placeholder-v2453 small {font-size:10px;color:var(--bs-secondary-color)}.dashboard-circular-placeholder-v2453.is-muted {opacity:.75}.dashboard-notification-list-v2453 {max-height:340px;overflow:auto}.dashboard-notification-item-v2453 {display:flex;gap:11px;padding:12px 16px;border-bottom:1px solid var(--bs-border-color)}.dashboard-notification-item-v2453:last-child {border-bottom:0}.dashboard-notification-item-v2453>span {display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:rgba(var(--bs-primary-rgb),.08);color:var(--bs-primary)}.dashboard-notification-item-v2453 strong {font-size:11px}.dashboard-notification-item-v2453 p {margin:3px 0;color:var(--bs-secondary-color);font-size:10px;line-height:1.55}.dashboard-notification-item-v2453 small {font-size:9px;color:var(--bs-secondary-color)}
.dashboard-table-wrap-v2453 {max-height:420px}.dashboard-table-v2453 {font-size:11px}.dashboard-table-v2453 th {white-space:nowrap;background:var(--bs-tertiary-bg);font-weight:900}.dashboard-table-v2453 td {vertical-align:middle}.dashboard-issue-list-v2453 {max-height:420px;overflow:auto}.dashboard-issue-item-v2453 {display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 14px;border-bottom:1px solid var(--bs-border-color);color:var(--bs-body-color);text-decoration:none}.dashboard-issue-item-v2453:hover {background:rgba(var(--bs-primary-rgb),.03)}.dashboard-issue-item-v2453:last-child {border-bottom:0}.dashboard-issue-icon-v2453 {display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:rgba(var(--bs-danger-rgb),.08);color:var(--bs-danger)}.dashboard-issue-item-v2453 strong {display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-issue-item-v2453 small {display:block;margin-top:3px;color:var(--bs-secondary-color);font-size:9px}
.dashboard-charts-section-v2453 {padding-top:2px}.dashboard-section-title-v2453 {display:flex;align-items:center;justify-content:space-between;margin:2px 0 18px}.dashboard-section-title-v2453>div {display:flex;align-items:center;gap:12px}.dashboard-section-title-v2453>div>span {display:grid;place-items:center;width:45px;height:45px;border-radius:13px;background:rgba(var(--bs-primary-rgb),.1);color:var(--bs-primary);font-size:22px}.dashboard-section-title-v2453 h3 {margin:0;font-size:18px;font-weight:900}.dashboard-section-title-v2453 p {margin:3px 0 0;color:var(--bs-secondary-color);font-size:11px}.dashboard-chart-card-v2453 {border-radius:18px}.dashboard-chart-card-v2453 .card-header {display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px}.dashboard-chart-card-v2453 .card-header>span {display:inline-flex;align-items:center;gap:7px;font-weight:900}.dashboard-chart-card-v2453 .card-header>span i {color:var(--bs-primary);font-size:18px}.dashboard-chart-card-v2453 .card-header small {color:var(--bs-secondary-color);font-size:10px}.dashboard-chart-v2453 {min-height:300px}.dashboard-chart-wide-v2453 {min-height:350px}.dashboard-chart-heat-v2453 {min-height:340px}.dashboard-chart-note-v2453 {text-align:center;color:var(--bs-secondary-color);font-size:10px;margin-top:-5px}
@media(max-width:1399.98px){.dashboard-compact-stats-v2453 {grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-weather-card-v2453 {grid-template-columns:minmax(0,1.15fr) minmax(220px,.85fr)}}
@media(max-width:991.98px){.dashboard-overview-v2453 {grid-template-columns:1fr}.dashboard-overview-metrics-v2453 {grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-weather-card-v2453 {grid-template-columns:1fr}.dashboard-weather-forecast-v2453 {grid-template-columns:repeat(5,minmax(90px,1fr));overflow-x:auto}.dashboard-weather-day-v2453 {display:flex;min-width:90px;flex-direction:column;text-align:center;border-bottom:0;border-left:1px solid var(--bs-border-color)}.dashboard-weather-day-v2453:last-child {border-left:0}}
@media(max-width:767.98px){.dashboard-home-v2453 {--dash-gap:16px}.dashboard-overview-v2453 {padding:22px;border-radius:18px}.dashboard-overview-copy-v2453 h2 {font-size:23px}.dashboard-overview-metrics-v2453 {grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-compact-stats-v2453 {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dashboard-compact-stat-v2453 {padding:12px}.dashboard-weather-main-v2453 {padding:20px}.dashboard-weather-temp-v2453 strong {font-size:40px}.dashboard-chart-v2453 {min-height:270px}}
@media(max-width:420px){.dashboard-compact-stats-v2453 {grid-template-columns:1fr 1fr}.dashboard-compact-stat-icon-v2453 {width:36px;height:36px;flex-basis:36px}.dashboard-compact-stat-v2453 small {font-size:10px}.dashboard-overview-actions-v2453 .btn {flex:1 1 auto;justify-content:center}.dashboard-weather-meta-v2453 {gap:10px}}

/* ===== Dashboard polish v2.4.54 ===== */
.dashboard-overview-copy-v2453 h2 {color:#fff!important}
.dashboard-weather-heading-v2453 h3 {color:#fff!important}
.dashboard-overview-metrics-v2453>div {position:relative;padding-left:72px}
.dashboard-overview-metric-icon-v2454 {position:absolute;left:16px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;border-radius:13px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.12);color:#fff;font-size:23px;line-height:1;box-shadow:none}
@media(max-width:767.98px){.dashboard-overview-metrics-v2453>div {padding-left:62px}.dashboard-overview-metric-icon-v2454 {left:12px;width:38px;height:38px;font-size:20px}}

/* ===== Dashboard weather refinement v2.4.55 ===== */
.dashboard-weather-card-v2455 {grid-template-columns:minmax(0,1.42fr) minmax(270px,.58fr);min-height:382px;border-radius:20px;box-shadow:0 16px 38px rgba(15,23,42,.07)}
.dashboard-weather-main-v2455 {display:flex;flex-direction:column;min-height:100%;padding:22px 24px;background:radial-gradient(circle at 8% 106%,rgba(255,255,255,.13),transparent 28%),radial-gradient(circle at 92% -10%,rgba(255,255,255,.1),transparent 25%),linear-gradient(135deg,#283b70 0%,#4053b7 52%,#6550e8 100%)}
.dashboard-weather-main-v2455:after {display:none}
.dashboard-weather-heading-v2455 {align-items:center;min-height:46px}.dashboard-weather-heading-v2455 h3 {margin:5px 0 0;font-size:21px;line-height:1.25}.dashboard-weather-live-v2455 {position:relative;z-index:1;display:inline-flex;align-items:center;gap:4px;padding:6px 9px;border:1px solid rgba(255,255,255,.17);border-radius:999px;background:rgba(255,255,255,.1);color:#fff;font-size:9px;font-weight:900}.dashboard-weather-live-v2455 i {color:#86efac;font-size:11px}
.dashboard-weather-focus-v2455 {position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:20px;flex:1;min-height:155px;padding:16px 0 12px}.dashboard-weather-icon-v2455 {flex:0 0 74px;width:74px;height:74px;border-radius:22px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);font-size:42px}.dashboard-weather-reading-v2455 {display:flex;flex-direction:column;align-items:flex-start;min-width:0}.dashboard-weather-temp-v2455 {align-items:flex-end;gap:10px;margin:0}.dashboard-weather-temp-v2455 strong {font-size:58px;letter-spacing:-2px}.dashboard-weather-temp-v2455 span {margin-bottom:7px;color:rgba(255,255,255,.72);font-size:11px;font-weight:700}.dashboard-weather-reading-v2455 p {margin:5px 0 0;color:#fff;font-size:14px;font-weight:900}
.dashboard-weather-meta-v2455 {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;border:0}.dashboard-weather-meta-v2455>span {display:flex;align-items:center;gap:8px;min-height:56px;padding:8px 10px;border:1px solid rgba(255,255,255,.14);border-radius:13px;background:rgba(255,255,255,.085);color:#fff}.dashboard-weather-meta-v2455>span>i {display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:10px;background:rgba(255,255,255,.11);color:#fff;font-size:15px}.dashboard-weather-meta-v2455>span>span {display:flex;flex-direction:column;gap:1px}.dashboard-weather-meta-v2455 small {color:rgba(255,255,255,.62);font-size:8px;font-weight:700}.dashboard-weather-meta-v2455 b {color:#fff;font-size:10px;font-weight:900}
.dashboard-weather-side-v2455 {display:flex;flex-direction:column;min-width:0;padding:16px 14px;background:linear-gradient(180deg,rgba(var(--bs-primary-rgb),.025),rgba(var(--bs-primary-rgb),.008)),var(--bs-card-bg,#fff)}.dashboard-weather-side-head-v2455 {display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:34px;padding:0 4px 9px;border-bottom:1px solid var(--bs-border-color)}.dashboard-weather-side-head-v2455 span {display:inline-flex;align-items:center;gap:5px;color:var(--bs-heading-color);font-size:11px;font-weight:900}.dashboard-weather-side-head-v2455 span i {color:var(--bs-primary);font-size:15px}.dashboard-weather-side-head-v2455 small {color:var(--bs-secondary-color);font-size:8px;font-weight:700}
.dashboard-weather-forecast-v2455 {display:grid;grid-template-rows:repeat(5,minmax(0,1fr));flex:1;padding:0;background:transparent}.dashboard-weather-day-v2455,
.dashboard-weather-forecast-v2455 .dashboard-weather-day-v2453 {grid-template-columns:minmax(50px,1fr) 28px 42px 42px;min-height:0;padding:8px 5px;gap:7px}.dashboard-weather-forecast-v2455 .dashboard-weather-day-v2453 span {color:var(--bs-heading-color);font-size:10px;font-weight:800}.dashboard-weather-forecast-v2455 .dashboard-weather-day-v2453 i {font-size:19px}.dashboard-weather-forecast-v2455 .dashboard-weather-day-v2453 strong {color:var(--bs-heading-color);font-size:11px;font-weight:900}.dashboard-weather-forecast-v2455 .dashboard-weather-day-v2453 small {font-size:10px;font-weight:700}
@media(max-width:1399.98px){.dashboard-weather-card-v2455 {grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr)}.dashboard-weather-main-v2455 {padding:20px}.dashboard-weather-temp-v2455 strong {font-size:52px}}
@media(max-width:991.98px){.dashboard-weather-card-v2455 {grid-template-columns:1fr;min-height:0}.dashboard-weather-main-v2455 {min-height:330px}.dashboard-weather-side-v2455 {padding:13px}.dashboard-weather-forecast-v2455 {grid-template-columns:repeat(5,minmax(100px,1fr));grid-template-rows:1fr;overflow-x:auto}.dashboard-weather-forecast-v2455 .dashboard-weather-day-v2453 {display:flex;min-width:100px;min-height:108px;flex-direction:column;justify-content:center;text-align:center;border-bottom:0;border-left:1px solid var(--bs-border-color)}.dashboard-weather-side-head-v2455 {margin-bottom:4px}}
@media(max-width:575.98px){.dashboard-weather-main-v2455 {min-height:310px;padding:18px}.dashboard-weather-focus-v2455 {min-height:135px;gap:14px}.dashboard-weather-icon-v2455 {width:62px;height:62px;flex-basis:62px;font-size:34px}.dashboard-weather-temp-v2455 strong {font-size:46px}.dashboard-weather-meta-v2455>span {padding:7px;min-height:52px}.dashboard-weather-meta-v2455>span>i {width:26px;height:26px;flex-basis:26px}}

/* ========================================================================== */
/* v2.4.61 - Weekly holidays selector                                      */
/* ========================================================================== */
.weekly-holiday-settings-v2461 .card-header {
  padding:1rem 1.15rem;
  background:linear-gradient(135deg,rgba(99,91,255,.08),rgba(83,155,255,.03));
}
.weekly-holiday-days-v2461 .weekly-holiday-day-v2461 {
  min-height:52px;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.65rem;
  padding:.7rem .8rem;
  border:1px solid var(--bs-border-color);
  border-radius:.8rem;
  background:var(--bs-body-bg);
  color:var(--bs-heading-color);
  font-weight:800;
  cursor:pointer;
  transition:border-color .15s ease,background-color .15s ease,transform .15s ease;
}
.weekly-holiday-days-v2461 .weekly-holiday-day-v2461:hover {
  border-color:rgba(99,91,255,.45);
  transform:translateY(-1px);
}
.weekly-holiday-days-v2461 .weekly-holiday-day-v2461:has(input:checked) {
  border-color:rgba(99,91,255,.55);
  background:rgba(99,91,255,.08);
  color:var(--bs-primary);
}
.weekly-holiday-days-v2461 .form-check-input {margin:0;flex:0 0 auto;}


/* ========================================================================== */
/* Sonic Tower v2.4.77 — modal balance + formal HR action buttons             */
/* ========================================================================== */
/* لا نحجز مكان scrollbar افتراضيًا. يظهر فقط عندما يحتاجه جسم المودال فعلاً. */
.modal:not(.sonic-confirm-modal) .modal-content > form > .modal-body,
.modal:not(.sonic-confirm-modal) .modal-content > .modal-body {
  scrollbar-gutter: auto !important;
}

/* Bootstrap قد يضيف padding inline للمودال لتعويض scrollbar الصفحة؛ في RTL
   كان ذلك يظهر كفراغ ثابت في اليسار. عرض dialog نفسه يتكفل بهوامش متساوية. */
.modal.show {
  padding-inline-start: 0 !important;
  padding-inline-end: 0 !important;
}
@media (min-width: 576px) {
  .modal.show .modal-dialog {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* هوية أزرار HR رسمية: ألوان Bootstrap صلبة بدون تدرجات أو لمعان زائد. */
.hr-workflow-page .btn-primary,
.hr-workflow-page .btn-success,
.hr-workflow-page .btn-danger,
.hr-workflow-page .btn-warning,
.hr-workflow-page .btn-info,
.hr-workflow-page .btn-dark,
.hr-workflow-page .btn-secondary,
.hr-workflow-page .btn-purple {
  background-image: none !important;
  box-shadow: none !important;
}
.hr-workflow-page .btn-primary {background-color:var(--bs-primary)!important;border-color:var(--bs-primary)!important}
.hr-workflow-page .btn-success {background-color:var(--bs-success)!important;border-color:var(--bs-success)!important}
.hr-workflow-page .btn-danger {background-color:var(--bs-danger)!important;border-color:var(--bs-danger)!important}
.hr-workflow-page .btn-warning {background-color:var(--bs-warning)!important;border-color:var(--bs-warning)!important;color:#212529!important}
.hr-workflow-page .btn-info {background-color:var(--bs-info)!important;border-color:var(--bs-info)!important;color:#052c35!important}
.hr-workflow-page .btn-dark {background-color:var(--bs-dark)!important;border-color:var(--bs-dark)!important;color:#fff!important}
.hr-workflow-page .btn-secondary {background-color:var(--bs-secondary)!important;border-color:var(--bs-secondary)!important}
.hr-workflow-page .btn-purple {background-color:#6f42c1!important;border-color:#6f42c1!important;color:#fff!important}
.hr-workflow-page .btn:hover,.hr-workflow-page .btn:focus {filter:brightness(.94);box-shadow:none!important}
.hr-workflow-page .btn-outline-primary,
.hr-workflow-page .btn-outline-success,
.hr-workflow-page .btn-outline-danger,
.hr-workflow-page .btn-outline-warning,
.hr-workflow-page .btn-outline-info,
.hr-workflow-page .btn-outline-secondary,
.hr-workflow-page .btn-outline-dark {background-image:none!important;box-shadow:none!important}
.hr-workflow-page .modal .sonic-modal-save-button {background-color:var(--bs-success)!important;border-color:var(--bs-success)!important;color:#fff!important}
.hr-workflow-page .modal .sonic-modal-close-button {background-color:var(--bs-dark)!important;border-color:var(--bs-dark)!important;color:#fff!important}

/* ==========================================================================
   v2.4.81 — Stronger secondary sidebar navigation
   ========================================================================== */
.sonic-single-sidebar .sonic-sidebar-section-menu .sidebar-link {
  color: var(--bs-heading-color) !important;
  font-weight: 800 !important;
  opacity: 1 !important;
}

.sonic-single-sidebar .sonic-sidebar-section-menu .sidebar-link .hide-menu,
.sonic-single-sidebar .sonic-sidebar-section-menu .sidebar-link > i.ti {
  color: inherit !important;
  opacity: 1 !important;
}

.sonic-single-sidebar .sonic-sidebar-section-menu .sidebar-link:hover {
  color: var(--bs-primary) !important;
  background: var(--bs-primary-bg-subtle) !important;
}

.sonic-single-sidebar .sonic-sidebar-section-menu .sidebar-link.active,
.sonic-single-sidebar .sonic-sidebar-section-menu .sidebar-link.active .hide-menu,
.sonic-single-sidebar .sonic-sidebar-section-menu .sidebar-link.active > i.ti {
  color: var(--bs-primary) !important;
}


/* v2.4.82 — Technical measurements statistics icon visibility/size */
.tm-page-v23100 .tm-stat-card > .tm-stat-icon-v23100 {
  position: relative !important;
  z-index: 2 !important;
  width: 58px !important;
  height: 58px !important;
  flex: 0 0 58px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 16px !important;
  border: 1px solid rgba(255,255,255,.42) !important;
  background: rgba(255,255,255,.16) !important;
  color: #fff !important;
  font-size: 30px !important;
  line-height: 1 !important;
  opacity: 1 !important;
}
.tm-page-v23100 .tm-stat-card > .tm-stat-icon-v23100 > i,
.tm-page-v23100 .tm-stat-card > .tm-stat-icon-v23100 > i.sonic-inline-icon {
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  min-height: 30px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  font-size: 30px !important;
  line-height: 1 !important;
  color: #fff !important;
  opacity: 1 !important;
}
.tm-page-v23100 .tm-stat-card > .tm-stat-icon-v23100 > i.sonic-inline-icon > svg {
  width: 30px !important;
  height: 30px !important;
  stroke-width: 2 !important;
}
@media (max-width: 767.98px) {
  .tm-page-v23100 .tm-stat-card > .tm-stat-icon-v23100 {
    width: 54px !important;
    height: 54px !important;
    flex-basis: 54px !important;
  }
  .tm-page-v23100 .tm-stat-card > .tm-stat-icon-v23100 > i,
  .tm-page-v23100 .tm-stat-card > .tm-stat-icon-v23100 > i.sonic-inline-icon,
  .tm-page-v23100 .tm-stat-card > .tm-stat-icon-v23100 > i.sonic-inline-icon > svg {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
    font-size: 28px !important;
  }
}

/* v2.4.84 — Separate defect reinspection workflow */
.wd-page-v23100 .wd-stat-grid-v23100.wd-stat-grid-three-v2484 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
.wr-page-v2484 .wd-recheck-list {
  display: grid;
  gap: 18px;
}
.wr-page-v2484 .wd-recheck-card {
  margin: 0 !important;
}
.wr-page-v2484 .wd-recheck-card-body .alert-light {
  background: var(--bs-tertiary-bg, #f8fafc);
}
@media (max-width: 1199.98px) {
  .wd-page-v23100 .wd-stat-grid-v23100.wd-stat-grid-three-v2484 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 767.98px) {
  .wd-page-v23100 .wd-stat-grid-v23100.wd-stat-grid-three-v2484 {
    grid-template-columns: 1fr !important;
  }
}

/* ========================================================================== */
/* v2.4.92 — Native MatDash theme bridge for Sonic custom components          */
/* ========================================================================== */
/*
 * MatDash already owns light/dark mode through data-bs-theme. Its card
 * background variable is scoped to .card, while many Sonic components are
 * custom shells rather than Bootstrap cards. Expose the SAME MatDash surface
 * value at the document level so those components inherit the native theme
 * without a second dark-mode stylesheet or expensive override layer.
 */
:root {
  --bs-card-bg: #fff;
}
[data-bs-theme="dark"] {
  --bs-card-bg: #1a2537;
}

/* Sidebar is a custom shell, so let it use the same native MatDash surface. */
.sonic-single-sidebar,
.sonic-single-sidebar .brand-logo,
.sonic-single-sidebar .sonic-single-sidebar-nav {
  background-color: var(--bs-card-bg) !important;
}


/* ========================================================================== */
/* Sonic Tower v2.4.93 — unified HR tabs                                      */
/* ========================================================================== */
/* HR tab strips now reuse the same card/grid language used by the project
   workflow tabs.  Keep the active state formal and flat (no gradients), and
   always expose every tab on small screens instead of clipping/overflowing. */
.hr-tabs.sonic-unified-tabs {
  overflow: visible !important;
  background-image: none !important;
}
.hr-tabs.sonic-unified-tabs > .nav-item {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
}
.hr-tabs.sonic-unified-tabs .nav-link {
  background-image: none !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
.hr-tabs.sonic-unified-tabs .nav-link.active,
.hr-tabs.sonic-unified-tabs .nav-link[aria-selected="true"] {
  background: var(--bs-primary) !important;
  background-image: none !important;
  color: #fff !important;
  border-color: var(--bs-primary) !important;
  box-shadow: 0 7px 18px rgba(var(--bs-primary-rgb), .16) !important;
}
@media (max-width: 991.98px) {
  .hr-tabs.sonic-unified-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 767.98px) {
  .hr-tabs.sonic-unified-tabs {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: .5rem !important;
    padding: .3rem !important;
  }
  .hr-tabs.sonic-unified-tabs .nav-link {
    min-height: 50px !important;
    width: 100% !important;
  }
}

/* ========================================================================== */
/* Sonic Tower v2.4.94 — complete native MatDash dark-theme audit             */
/* ========================================================================== */
/*
 * Keep MatDash as the one and only theme engine.  This block only bridges
 * legacy/custom Sonic components that still carried hard-coded light colors.
 * No second theme stylesheet and no runtime observer are used.
 */
[data-bs-theme="dark"] {
  --sonic-dark-surface: var(--bs-card-bg, #1a2537);
  --sonic-dark-surface-soft: var(--bs-tertiary-bg, #202d42);
  --sonic-dark-surface-muted: var(--bs-secondary-bg, #253247);
  --sonic-dark-border: var(--bs-border-color, #33445f);
  --sonic-dark-heading: var(--bs-heading-color, #eef3fb);
  --sonic-dark-text: var(--bs-body-color, #c8d1df);
  --sonic-dark-muted: var(--bs-secondary-color, #8f9caf);
}

/* ---------- Forms, addons and field labels ---------- */
[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select,
[data-bs-theme="dark"] textarea.form-control,
[data-bs-theme="dark"] .input-group-text,
[data-bs-theme="dark"] .sonic-unified-addon,
[data-bs-theme="dark"] .form-control-color {
  color: var(--sonic-dark-text) !important;
  border-color: var(--sonic-dark-border) !important;
  box-shadow: none;
}
[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select,
[data-bs-theme="dark"] textarea.form-control,
[data-bs-theme="dark"] .form-control-color {
  background-color: var(--sonic-dark-surface) !important;
}
[data-bs-theme="dark"] .input-group-text,
[data-bs-theme="dark"] .sonic-unified-addon {
  background-color: var(--sonic-dark-surface-soft) !important;
  color: var(--bs-primary) !important;
}
[data-bs-theme="dark"] .input-group-text > i,
[data-bs-theme="dark"] .input-group-text > .ti,
[data-bs-theme="dark"] .input-group-text > .sonic-inline-icon,
[data-bs-theme="dark"] .sonic-unified-addon > i,
[data-bs-theme="dark"] .sonic-unified-addon > .sonic-inline-icon {
  color: var(--bs-primary) !important;
  opacity: 1 !important;
}
[data-bs-theme="dark"] .input-group-text svg,
[data-bs-theme="dark"] .sonic-unified-addon svg {
  color: currentColor !important;
  stroke: currentColor;
}
[data-bs-theme="dark"] .form-control::placeholder,
[data-bs-theme="dark"] textarea.form-control::placeholder,
[data-bs-theme="dark"] input::placeholder {
  color: var(--sonic-dark-muted) !important;
  opacity: .78 !important;
}
[data-bs-theme="dark"] .form-control:disabled,
[data-bs-theme="dark"] .form-control[readonly],
[data-bs-theme="dark"] textarea.form-control[readonly],
[data-bs-theme="dark"] .form-select:disabled,
[data-bs-theme="dark"] fieldset:disabled .form-control,
[data-bs-theme="dark"] fieldset:disabled .form-select {
  color: var(--sonic-dark-muted) !important;
  background-color: var(--sonic-dark-surface-muted) !important;
  border-color: var(--sonic-dark-border) !important;
  opacity: 1 !important;
}
[data-bs-theme="dark"] input[type="date"],
[data-bs-theme="dark"] input[type="time"],
[data-bs-theme="dark"] input[type="datetime-local"],
[data-bs-theme="dark"] input[type="month"] {
  color-scheme: dark;
}
[data-bs-theme="dark"] .form-label,
[data-bs-theme="dark"] legend,
[data-bs-theme="dark"] .form-check-label,
[data-bs-theme="dark"] .checkbox-option .form-check-label,
[data-bs-theme="dark"] .checkbox-choice .form-check-label,
[data-bs-theme="dark"] .checkbox-picker .form-check-label,
[data-bs-theme="dark"] .sonic-field > label,
[data-bs-theme="dark"] .sonic-field-block > label,
[data-bs-theme="dark"] .sonic-field-wide > label,
[data-bs-theme="dark"] .sonic-field-full > label {
  color: var(--sonic-dark-heading) !important;
}
[data-bs-theme="dark"] .form-text,
[data-bs-theme="dark"] .sonic-field > small:not(.badge),
[data-bs-theme="dark"] .sonic-field-block > small:not(.badge),
[data-bs-theme="dark"] .sonic-field-wide > small:not(.badge),
[data-bs-theme="dark"] .sonic-field-full > small:not(.badge),
[data-bs-theme="dark"] .scope-panel > .form-text {
  color: var(--sonic-dark-muted) !important;
}
[data-bs-theme="dark"] .form-control:focus,
[data-bs-theme="dark"] .form-select:focus {
  background-color: var(--sonic-dark-surface) !important;
  color: var(--sonic-dark-heading) !important;
  border-color: color-mix(in srgb, var(--bs-primary) 68%, var(--sonic-dark-border)) !important;
  box-shadow: 0 0 0 .2rem rgba(var(--bs-primary-rgb), .16) !important;
}

/* Browser autofill must not flash or retain a white field in dark mode. */
[data-bs-theme="dark"] input.form-control:-webkit-autofill,
[data-bs-theme="dark"] input.form-control:-webkit-autofill:hover,
[data-bs-theme="dark"] input.form-control:-webkit-autofill:focus,
[data-bs-theme="dark"] textarea.form-control:-webkit-autofill,
[data-bs-theme="dark"] select.form-select:-webkit-autofill {
  -webkit-text-fill-color: var(--sonic-dark-text) !important;
  -webkit-box-shadow: 0 0 0 1000px var(--sonic-dark-surface) inset !important;
  box-shadow: 0 0 0 1000px var(--sonic-dark-surface) inset !important;
  caret-color: var(--sonic-dark-heading) !important;
}

/* ---------- Select2 and common Bootstrap light utilities ---------- */
[data-bs-theme="dark"] .select2-container .select2-selection--single,
[data-bs-theme="dark"] .select2-container .select2-selection--multiple,
[data-bs-theme="dark"] .select2-dropdown,
[data-bs-theme="dark"] .select2-search--dropdown,
[data-bs-theme="dark"] .select2-search--dropdown .select2-search__field {
  background: var(--sonic-dark-surface) !important;
  color: var(--sonic-dark-text) !important;
  border-color: var(--sonic-dark-border) !important;
}
[data-bs-theme="dark"] .select2-container .select2-selection__rendered,
[data-bs-theme="dark"] .select2-container .select2-selection__placeholder,
[data-bs-theme="dark"] .select2-results__option {
  color: var(--sonic-dark-text) !important;
}
[data-bs-theme="dark"] .select2-results__option {
  background: var(--sonic-dark-surface) !important;
}
[data-bs-theme="dark"] .select2-container--default .select2-results__option--selected {
  background: var(--sonic-dark-surface-muted) !important;
  color: var(--sonic-dark-heading) !important;
}
[data-bs-theme="dark"] .select2-container--default .select2-results__option--highlighted[aria-selected],
[data-bs-theme="dark"] .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
  background: var(--bs-primary) !important;
  color: #fff !important;
}
[data-bs-theme="dark"] .bg-light:not(.badge),
[data-bs-theme="dark"] .text-bg-light,
[data-bs-theme="dark"] .alert-light {
  background-color: var(--sonic-dark-surface-soft) !important;
  color: var(--sonic-dark-text) !important;
  border-color: var(--sonic-dark-border) !important;
}
[data-bs-theme="dark"] .table-light,
[data-bs-theme="dark"] thead.table-light,
[data-bs-theme="dark"] .table > thead.table-light > * > * {
  --bs-table-bg: var(--sonic-dark-surface-soft) !important;
  --bs-table-color: var(--sonic-dark-heading) !important;
  color: var(--sonic-dark-heading) !important;
  border-color: var(--sonic-dark-border) !important;
}
[data-bs-theme="dark"] .dropdown-menu .dropdown-item:hover,
[data-bs-theme="dark"] .dropdown-menu .dropdown-item:focus {
  background-color: var(--sonic-dark-surface-soft) !important;
  color: var(--sonic-dark-heading) !important;
}
[data-bs-theme="dark"] .sonic-instruction-label,
[data-bs-theme="dark"] .alert-info.sonic-instruction-label {
  background: color-mix(in srgb, var(--bs-info) 13%, var(--sonic-dark-surface)) !important;
  color: var(--sonic-dark-heading) !important;
  border-color: color-mix(in srgb, var(--bs-info) 32%, var(--sonic-dark-border)) !important;
}

/* ---------- Shared statistics / cards ---------- */
[data-bs-theme="dark"] .sonic-auto-stat-card,
[data-bs-theme="dark"] .sonic-stat-card,
[data-bs-theme="dark"] .card-stat {
  background: var(--sonic-dark-surface) !important;
  border-color: var(--sonic-dark-border) !important;
}
[data-bs-theme="dark"] .sonic-auto-stat-card strong,
[data-bs-theme="dark"] .sonic-stat-card strong,
[data-bs-theme="dark"] .card-stat strong,
[data-bs-theme="dark"] .sonic-auto-stat-card .display-6,
[data-bs-theme="dark"] .sonic-stat-card .display-6,
[data-bs-theme="dark"] .card-stat .display-6 {
  color: var(--sonic-dark-heading) !important;
}

/* ---------- Contractors / assignments / locations ---------- */
[data-bs-theme="dark"] .contractor-stat-body h3,
[data-bs-theme="dark"] .assignment-card strong,
[data-bs-theme="dark"] .assignment-item-row strong {
  color: var(--sonic-dark-heading) !important;
}
[data-bs-theme="dark"] .contractor-stat-body p,
[data-bs-theme="dark"] .assignment-card small,
[data-bs-theme="dark"] .assignment-item-row small {
  color: var(--sonic-dark-muted) !important;
}
[data-bs-theme="dark"] .contractor-stat-violet .contractor-stat-icon,
[data-bs-theme="dark"] .contractor-stat-green .contractor-stat-icon,
[data-bs-theme="dark"] .contractor-stat-amber .contractor-stat-icon,
[data-bs-theme="dark"] .assignment-scope-option i {
  background: var(--sonic-dark-surface-soft) !important;
}
[data-bs-theme="dark"] .contractor-specialties-block,
[data-bs-theme="dark"] .apartment-scope-toolbar,
[data-bs-theme="dark"] .apartment-floor-group,
[data-bs-theme="dark"] .assignment-step-footer,
[data-bs-theme="dark"] .assignment-table-toolbar,
[data-bs-theme="dark"] .assignment-custom-price-context,
[data-bs-theme="dark"] .assignment-final-footer,
[data-bs-theme="dark"] .assignment-tile-card {
  background: var(--sonic-dark-surface-soft) !important;
  background-image: none !important;
  border-color: var(--sonic-dark-border) !important;
  color: var(--sonic-dark-text) !important;
}
[data-bs-theme="dark"] .assignment-check-card:hover,
[data-bs-theme="dark"] .assignment-check-card:has(input:checked),
[data-bs-theme="dark"] .assignment-scope-option.active {
  background: color-mix(in srgb, var(--bs-primary) 12%, var(--sonic-dark-surface)) !important;
  background-image: none !important;
  border-color: color-mix(in srgb, var(--bs-primary) 35%, var(--sonic-dark-border)) !important;
}
[data-bs-theme="dark"] .assignment-item-row.empty-row {
  background: var(--sonic-dark-surface-soft) !important;
}
[data-bs-theme="dark"] .assignment-item-row.selected-row {
  background: color-mix(in srgb, var(--bs-success) 12%, var(--sonic-dark-surface)) !important;
}
[data-bs-theme="dark"] .assignment-item-row.blocked-row,
[data-bs-theme="dark"] .assignment-stat-blocked,
[data-bs-theme="dark"] .assignment-row-status.blocked {
  background: color-mix(in srgb, var(--bs-danger) 13%, var(--sonic-dark-surface)) !important;
}
[data-bs-theme="dark"] .assignment-price-note,
[data-bs-theme="dark"] .apartment-scope-note {
  background: color-mix(in srgb, var(--bs-warning) 12%, var(--sonic-dark-surface)) !important;
  color: color-mix(in srgb, var(--bs-warning) 72%, white) !important;
  border-color: color-mix(in srgb, var(--bs-warning) 28%, var(--sonic-dark-border)) !important;
}
[data-bs-theme="dark"] .location-type-field .input-group-text,
[data-bs-theme="dark"] .location-type-options-wrap,
[data-bs-theme="dark"] .location-types-list-card .card-header,
[data-bs-theme="dark"] .location-type-code,
[data-bs-theme="dark"] .structure-switch-card,
[data-bs-theme="dark"] .structure-secondary-head,
[data-bs-theme="dark"] .structure-list-card .card-header,
[data-bs-theme="dark"] .structure-code,
[data-bs-theme="dark"] .structure-locations-page .locations-generation-card,
[data-bs-theme="dark"] .structure-towers-page .towers-bulk-auto-note {
  background: var(--sonic-dark-surface-soft) !important;
  background-image: none !important;
  color: var(--sonic-dark-text) !important;
  border-color: var(--sonic-dark-border) !important;
}
[data-bs-theme="dark"] .location-type-option:has(.form-check-input:disabled) {
  background: var(--sonic-dark-surface-muted) !important;
  color: var(--sonic-dark-muted) !important;
}

/* ---------- Technical measurements and work defects ---------- */
[data-bs-theme="dark"] .tm-page :is(
  .tm-stat-card,
  .tm-stat-card.is-muted,
  .tm-request-head,
  .tm-kpi,
  .tm-review-form,
  .tm-request-footer,
  .tm-result-card.is-neutral,
  .tm-empty .card-body
),
[data-bs-theme="dark"] .tm-page-v23100 :is(
  .measurement-approval-card-compact .card-body,
  .measurement-approval-context,
  .measurement-approval-actions-compact,
  .measurement-approval-empty-pro .card-body
) {
  background: var(--sonic-dark-surface) !important;
  background-image: none !important;
  border-color: var(--sonic-dark-border) !important;
  color: var(--sonic-dark-text) !important;
}
[data-bs-theme="dark"] .tm-page :is(.tm-stat-card strong,.tm-kpi strong,.tm-request-title-row h3,.tm-empty h3) {
  color: var(--sonic-dark-heading) !important;
}
[data-bs-theme="dark"] .tm-page :is(.tm-stat-card small,.tm-stat-card span,.tm-request-location,.tm-kpi small,.tm-kpi span,.tm-empty p) {
  color: var(--sonic-dark-muted) !important;
}
[data-bs-theme="dark"] .tm-page .tm-note-box {
  background: color-mix(in srgb, var(--bs-warning) 12%, var(--sonic-dark-surface)) !important;
  color: color-mix(in srgb, var(--bs-warning) 75%, white) !important;
  border-color: color-mix(in srgb, var(--bs-warning) 30%, var(--sonic-dark-border)) !important;
}
[data-bs-theme="dark"] .tm-page .tm-result-card.is-danger {
  background: color-mix(in srgb, var(--bs-danger) 12%, var(--sonic-dark-surface)) !important;
  border-color: color-mix(in srgb, var(--bs-danger) 30%, var(--sonic-dark-border)) !important;
}
[data-bs-theme="dark"] .tm-page .tm-attachment-chip:hover,
[data-bs-theme="dark"] .tm-page .tm-empty-icon {
  background: var(--sonic-dark-surface-soft) !important;
}

[data-bs-theme="dark"] .wd-page :is(
  .wd-stat-card,
  .wd-recheck-card,
  .wd-defect-head,
  .wd-kpi,
  .wd-correction-form,
  .wd-card-footer,
  .wd-defect-footer
),
[data-bs-theme="dark"] .wd-page-v23100 :is(
  .wd-cost-batch-form-v23105,
  .wd-cost-summary-v23122,
  .wd-correction-form-v23122
) {
  background: var(--sonic-dark-surface) !important;
  background-image: none !important;
  border-color: var(--sonic-dark-border) !important;
  color: var(--sonic-dark-text) !important;
}
[data-bs-theme="dark"] .wd-page :is(.wd-stat-card strong,.wd-kpi strong,.wd-defect-title-row h3,.wd-recheck-info h4,.wd-empty h3) {
  color: var(--sonic-dark-heading) !important;
}
[data-bs-theme="dark"] .wd-page :is(.wd-stat-card small,.wd-stat-card span,.wd-kpi small,.wd-kpi span,.wd-defect-location,.wd-recheck-info p,.wd-empty p) {
  color: var(--sonic-dark-muted) !important;
}
[data-bs-theme="dark"] .wd-page :is(.wd-stat-card.is-danger,.wd-kpi.is-danger,.wd-reason-box,.wd-escalation-form),
[data-bs-theme="dark"] .wd-page-v23100 :is(.wd-cost-ledger-v23103,.wd-cost-preview-v23103,.wd-cost-entry-head-v23105,.wd-cost-row-values-v23103 span) {
  background: color-mix(in srgb, var(--bs-danger) 11%, var(--sonic-dark-surface)) !important;
  background-image: none !important;
  border-color: color-mix(in srgb, var(--bs-danger) 28%, var(--sonic-dark-border)) !important;
}
[data-bs-theme="dark"] .wd-page :is(.wd-stat-card.is-warning,.wd-kpi.is-warning,.wd-submitted-qty) {
  background: color-mix(in srgb, var(--bs-warning) 11%, var(--sonic-dark-surface)) !important;
  border-color: color-mix(in srgb, var(--bs-warning) 28%, var(--sonic-dark-border)) !important;
}
[data-bs-theme="dark"] .wd-page :is(.wd-stat-card.is-success,.wd-kpi.is-success) {
  background: color-mix(in srgb, var(--bs-success) 11%, var(--sonic-dark-surface)) !important;
  border-color: color-mix(in srgb, var(--bs-success) 28%, var(--sonic-dark-border)) !important;
}
[data-bs-theme="dark"] .wd-page .wd-attachment-chip:hover,
[data-bs-theme="dark"] .wd-page .wd-empty-icon {
  background: var(--sonic-dark-surface-soft) !important;
}

/* ---------- Settlements / contractor cashbox ---------- */
[data-bs-theme="dark"] .settlements-page :is(
  .settlement-final-field,
  .settlement-source-card-v23115 .settlement-auto-source-list > div,
  .settlement-calculation-card-v23112,
  .settlement-calc-table-v23112 .table > tbody > tr:nth-child(even):not(.table-danger):not(.table-primary):not(.table-warning):not(.table-success) > *,
  .settlement-final-footer-v23116,
  .settlement-final-footer-heading-v23117,
  .settlement-source-detail-v23118,
  .settlement-source-item-footer-v23118
) {
  background: var(--sonic-dark-surface-soft) !important;
  background-image: none !important;
  color: var(--sonic-dark-text) !important;
  border-color: var(--sonic-dark-border) !important;
}
[data-bs-theme="dark"] .settlements-page :is(.settlement-glance-card-v23112,.settlement-balance-card-v23112) {
  border-color: var(--sonic-dark-border) !important;
}
[data-bs-theme="dark"] .contractor-cashbox-ledger-card-v23121 .contractor-cashbox-filters-v23106,
[data-bs-theme="dark"] .contractor-cashbox-ledger-table-v23106 thead th,
[data-bs-theme="dark"] .contractor-cashbox-ledger-table-v23131 tbody tr:nth-child(even) td,
[data-bs-theme="dark"] .contractor-cashbox-document-v23131,
[data-bs-theme="dark"] .contractor-cashbox-kind-v23132:not(.tone-danger):not(.tone-warning):not(.tone-success):not(.tone-primary),
[data-bs-theme="dark"] .contractor-cashbox-state-badge-v23131.tone-secondary {
  background: var(--sonic-dark-surface-soft) !important;
  background-image: none !important;
  color: var(--sonic-dark-text) !important;
  border-color: var(--sonic-dark-border) !important;
}
[data-bs-theme="dark"] .contractor-cashbox-ledger-table-v23131 tbody tr.is-internal-transfer td {
  background: color-mix(in srgb, var(--bs-info) 9%, var(--sonic-dark-surface)) !important;
}
[data-bs-theme="dark"] .contractor-cashbox-accounting-note-v23121 {
  background: color-mix(in srgb, var(--bs-warning) 10%, var(--sonic-dark-surface)) !important;
  border-color: color-mix(in srgb, var(--bs-warning) 25%, var(--sonic-dark-border)) !important;
}

/* ---------- Issues / communications ---------- */
[data-bs-theme="dark"] .issue-thread,
[data-bs-theme="dark"] .issue-location-tree,
[data-bs-theme="dark"] .issue-location-results-v3 {
  background: var(--sonic-dark-surface-soft) !important;
  border-color: var(--sonic-dark-border) !important;
}
[data-bs-theme="dark"] .issue-message.is-status-message .issue-message-bubble {
  background: color-mix(in srgb, var(--bs-warning) 11%, var(--sonic-dark-surface)) !important;
  color: var(--sonic-dark-text) !important;
  border-color: color-mix(in srgb, var(--bs-warning) 25%, var(--sonic-dark-border)) !important;
}
[data-bs-theme="dark"] .issue-message.is-status-message.is-closed-message .issue-message-bubble,
[data-bs-theme="dark"] .issue-closed-banner {
  background: color-mix(in srgb, var(--bs-danger) 11%, var(--sonic-dark-surface)) !important;
  color: var(--sonic-dark-text) !important;
  border-color: color-mix(in srgb, var(--bs-danger) 25%, var(--sonic-dark-border)) !important;
}
[data-bs-theme="dark"] .issue-message.is-status-message.is-reopened-message .issue-message-bubble {
  background: color-mix(in srgb, var(--bs-warning) 11%, var(--sonic-dark-surface)) !important;
  color: var(--sonic-dark-text) !important;
}
[data-bs-theme="dark"] .issue-status-badge.is-warning {
  background: color-mix(in srgb, var(--bs-warning) 14%, var(--sonic-dark-surface)) !important;
  color: color-mix(in srgb, var(--bs-warning) 72%, white) !important;
}
[data-bs-theme="dark"] .issue-status-badge.is-danger {
  background: color-mix(in srgb, var(--bs-danger) 14%, var(--sonic-dark-surface)) !important;
  color: color-mix(in srgb, var(--bs-danger) 72%, white) !important;
}

/* ---------- Generators / fuel ---------- */
[data-bs-theme="dark"] .generator-unit-image-v23134,
[data-bs-theme="dark"] .generator-unit-info-v23134 span,
[data-bs-theme="dark"] .generator-history-panel-v23134 > div,
[data-bs-theme="dark"] .generator-unit-actions-v23134,
[data-bs-theme="dark"] .generator-stop-preview-v23134 > div,
[data-bs-theme="dark"] .fuel-movement-table-v23134 thead th,
[data-bs-theme="dark"] .generator-report-table-card-v23134 thead th {
  background: var(--sonic-dark-surface-soft) !important;
  background-image: none !important;
  color: var(--sonic-dark-text) !important;
  border-color: var(--sonic-dark-border) !important;
}
[data-bs-theme="dark"] .generator-maintenance-line-v23134 {
  background: color-mix(in srgb, var(--bs-warning) 10%, var(--sonic-dark-surface)) !important;
  border-color: color-mix(in srgb, var(--bs-warning) 24%, var(--sonic-dark-border)) !important;
}
[data-bs-theme="dark"] .fuel-amount-out-v23134 {
  background: color-mix(in srgb, var(--bs-danger) 11%, var(--sonic-dark-surface)) !important;
}

/* ---------- HR dashboard and HR inline page styles ---------- */
[data-bs-theme="dark"] .hr-proof-thumb,
[data-bs-theme="dark"] .hr-proof-empty,
[data-bs-theme="dark"] .hr-map-summary > div,
[data-bs-theme="dark"] .hr-map-frame,
[data-bs-theme="dark"] .hr-schedule-table .option-pill,
[data-bs-theme="dark"] .bulk-days-row {
  background: var(--sonic-dark-surface-soft) !important;
  color: var(--sonic-dark-text) !important;
  border-color: var(--sonic-dark-border) !important;
}
[data-bs-theme="dark"] .hr-notes-cell,
[data-bs-theme="dark"] .hr-location-name,
[data-bs-theme="dark"] .hr-map-summary small {
  color: var(--sonic-dark-muted) !important;
}
[data-bs-theme="dark"] .bulk-week-note {
  background: color-mix(in srgb, var(--bs-primary) 10%, var(--sonic-dark-surface)) !important;
  color: color-mix(in srgb, var(--bs-primary) 45%, white) !important;
}
[data-bs-theme="dark"] .bulk-shift-title.morning {
  background: color-mix(in srgb, var(--bs-warning) 11%, var(--sonic-dark-surface)) !important;
  color: color-mix(in srgb, var(--bs-warning) 70%, white) !important;
}

/* Attendance-location employee binding cards are custom buttons, not cards. */
[data-bs-theme="dark"] .attendance-location-card:not(.is-selected) {
  background: var(--sonic-dark-surface) !important;
  color: var(--sonic-dark-text) !important;
  border-color: var(--sonic-dark-border) !important;
}
[data-bs-theme="dark"] .attendance-location-card:not(.is-selected) .attendance-location-selected,
[data-bs-theme="dark"] .attendance-all-state {
  background: var(--sonic-dark-surface-soft) !important;
  border-color: var(--sonic-dark-border) !important;
}

/* Keep transparent company logos readable without a glaring white rectangle. */
[data-bs-theme="dark"] .sonic-logo-preview-surface {
  background-color: var(--sonic-dark-surface-soft) !important;
  background-image:
    linear-gradient(45deg, rgba(255,255,255,.045) 25%, transparent 25%),
    linear-gradient(-45deg, rgba(255,255,255,.045) 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, rgba(255,255,255,.045) 75%),
    linear-gradient(-45deg, transparent 75%, rgba(255,255,255,.045) 75%) !important;
  background-size: 14px 14px !important;
  background-position: 0 0, 0 7px, 7px -7px, -7px 0 !important;
  border-color: var(--sonic-dark-border) !important;
}

/* QR/PDF/print surfaces intentionally remain white for scanning/printing. */
[data-bs-theme="dark"] :is(
  #attendanceQrCode,
  .generator-qr-canvas-v23135,
  .generator-qr-action-image-v23135 img,
  .sonic-workflow-viewer-media.is-pdf
) {
  background: #fff !important;
  color: #111827 !important;
}

/* v2.4.94 — page-inline semantic badges that previously stayed light */
[data-bs-theme="dark"] .hr-dashboard-badge.success,
[data-bs-theme="dark"] .mode-success {
  background: color-mix(in srgb, var(--bs-success) 15%, var(--sonic-dark-surface)) !important;
  color: color-mix(in srgb, var(--bs-success) 58%, white) !important;
}
[data-bs-theme="dark"] .hr-dashboard-badge.danger,
[data-bs-theme="dark"] .mode-danger {
  background: color-mix(in srgb, var(--bs-danger) 15%, var(--sonic-dark-surface)) !important;
  color: color-mix(in srgb, var(--bs-danger) 58%, white) !important;
}
[data-bs-theme="dark"] .hr-dashboard-badge.warning,
[data-bs-theme="dark"] .mode-warning {
  background: color-mix(in srgb, var(--bs-warning) 15%, var(--sonic-dark-surface)) !important;
  color: color-mix(in srgb, var(--bs-warning) 66%, white) !important;
}
[data-bs-theme="dark"] .hr-dashboard-badge.info,
[data-bs-theme="dark"] .mode-info {
  background: color-mix(in srgb, var(--bs-info) 15%, var(--sonic-dark-surface)) !important;
  color: color-mix(in srgb, var(--bs-info) 58%, white) !important;
}
[data-bs-theme="dark"] .mode-primary,
[data-bs-theme="dark"] .mode-purple {
  background: color-mix(in srgb, var(--bs-primary) 15%, var(--sonic-dark-surface)) !important;
  color: color-mix(in srgb, var(--bs-primary) 45%, white) !important;
}
[data-bs-theme="dark"] .mode-secondary {
  background: var(--sonic-dark-surface-soft) !important;
  color: var(--sonic-dark-text) !important;
}
[data-bs-theme="dark"] .location-items-page .lti-overview-action .btn:hover {
  background: rgba(15,23,42,.26) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.42) !important;
}

/* ========================================================================== */
/* Sonic Tower v2.4.95 — Material requirements / simple construction MRP      */
/* ========================================================================== */
.material-requirements-page-v2495 {
  --mr-gap: 1rem;
}
.material-requirements-page-v2495 .generator-stat-grid-v23134 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--mr-gap, 1rem);
  column-gap: var(--mr-gap, 1rem);
  row-gap: var(--mr-gap, 1rem);
}
.material-requirements-hero-v2495 {
  min-height: 205px;
}
.material-requirements-hero-mark-v2495 {
  position: relative;
  z-index: 1;
  display: flex;
  flex: 0 0 190px;
  min-height: 150px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: .35rem;
  padding: 1.25rem;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 1.35rem;
  background: rgba(15,23,42,.20);
  text-align: center;
  backdrop-filter: blur(4px);
}
.material-requirements-hero-mark-v2495 > i {font-size: 2.25rem;}
.material-requirements-hero-mark-v2495 > strong {font-size: 2rem;line-height: 1;font-weight: 950;color: #fff;}
.material-requirements-hero-mark-v2495 > span {font-size: .75rem;font-weight: 800;color: rgba(255,255,255,.84);}
.material-requirements-filter-card-v2495,
.material-requirements-data-card-v2495,
.material-requirements-location-card-v2495 {
  overflow: hidden;
  border: 1px solid var(--bs-border-color);
  border-radius: 1.15rem;
  background: var(--bs-card-bg);
  box-shadow: 0 12px 28px rgba(15,23,42,.055);
}
.material-requirements-filter-card-v2495 .card-body {padding: 1.15rem;}
.material-requirements-template-picker-v2495 {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(230px, 1fr);
  gap: var(--mr-gap);
  align-items: end;
}
.material-requirements-template-picker-v2495 .form-select,
.material-requirements-filter-grid-v2495 .form-control,
.material-requirements-filter-grid-v2495 .form-select,
.material-requirements-summary-filter-v2495 .form-control,
.material-requirements-summary-filter-v2495 .form-select,
.material-requirements-page-v2495 .input-group-text {
  min-height: 46px;
  border-radius: .8rem;
}
.material-requirements-page-v2495 .input-group > .input-group-text {border-start-end-radius: 0;border-end-end-radius: 0;}
.material-requirements-page-v2495 .input-group > .form-control {border-start-start-radius: 0;border-end-start-radius: 0;}
.material-requirements-page-v2495 .form-label {margin-bottom: .45rem;font-size: .78rem;font-weight: 850;}
.material-requirements-template-summary-v2495 {
  display: flex;
  min-height: 46px;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .7rem .9rem;
  border: 1px solid var(--bs-border-color);
  border-radius: .8rem;
  background: var(--bs-tertiary-bg);
}
.material-requirements-template-summary-v2495 span {display:flex;align-items:center;gap:.4rem;color:var(--bs-secondary-color);font-size:.76rem;font-weight:800;}
.material-requirements-template-summary-v2495 strong {font-size:.78rem;font-weight:900;color:var(--bs-emphasis-color);white-space:nowrap;}
.material-requirements-filter-grid-v2495 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--mr-gap);
  align-items: end;
}
.material-requirements-summary-filter-v2495 {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: var(--mr-gap);
  align-items: end;
}
.material-requirements-filter-actions-v2495 {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
  gap: .65rem;
  padding-top: .1rem;
}
.material-requirements-filter-actions-v2495 .btn {min-width: 130px;min-height: 44px;border-radius:.75rem;font-weight:850;}
.material-requirements-card-header-v2495 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 76px;
  padding: 1rem 1.15rem;
  border-bottom: 1px solid var(--bs-border-color);
  background: var(--bs-card-bg);
}
.material-requirements-card-header-v2495 > div:first-child {min-width:0;}
.material-requirements-card-header-v2495 strong,
.material-requirements-card-header-v2495 small {display:block;}
.material-requirements-card-header-v2495 strong {font-size:.95rem;font-weight:950;color:var(--bs-emphasis-color);}
.material-requirements-card-header-v2495 small {margin-top:.28rem;color:var(--bs-secondary-color);font-size:.72rem;line-height:1.65;font-weight:650;}
.material-requirements-card-header-v2495 .btn,
.material-requirements-page-v2495 .card-footer .btn {min-height: 40px;border-radius:.72rem;font-size:.74rem;font-weight:900;}
.material-requirements-table-v2495 {min-width: 940px;}
.material-requirements-table-v2495 thead th {
  padding: .82rem .85rem;
  border-bottom: 1px solid var(--bs-border-color);
  background: var(--bs-tertiary-bg);
  color: var(--bs-emphasis-color);
  font-size: .72rem;
  font-weight: 900;
  white-space: nowrap;
}
.material-requirements-table-v2495 tbody td {
  padding: .8rem .85rem;
  border-color: var(--bs-border-color);
  color: var(--bs-body-color);
  font-size: .76rem;
  vertical-align: middle;
}
.material-requirements-table-v2495 tbody tr:last-child td {border-bottom: 0;}
.material-requirements-table-v2495 .btn-sm {min-height:35px;border-radius:.65rem;font-size:.7rem;font-weight:850;white-space:nowrap;}
.material-requirements-note-v2495 {display:flex;align-items:flex-start;gap:.8rem;border-radius:1rem;}
.material-requirements-note-v2495 > i {flex:0 0 auto;font-size:1.35rem;margin-top:.08rem;}
.material-requirements-note-v2495 strong,
.material-requirements-note-v2495 span {display:block;}
.material-requirements-note-v2495 span {margin-top:.25rem;font-size:.76rem;line-height:1.75;font-weight:600;}
[data-bs-theme="dark"] .material-requirements-filter-card-v2495,
[data-bs-theme="dark"] .material-requirements-data-card-v2495,
[data-bs-theme="dark"] .material-requirements-location-card-v2495 {
  box-shadow: 0 12px 28px rgba(0,0,0,.16);
}
@media (max-width: 1199.98px) {
  .material-requirements-page-v2495 .generator-stat-grid-v23134 {grid-template-columns:repeat(2,minmax(0,1fr));}
  .material-requirements-summary-filter-v2495 {grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width: 991.98px) {
  .material-requirements-filter-grid-v2495 {grid-template-columns:repeat(2,minmax(0,1fr));}
  .material-requirements-template-picker-v2495 {grid-template-columns:1fr;}
}
@media (max-width: 767.98px) {
  .material-requirements-hero-v2495 {flex-direction:column;align-items:stretch;min-height:0;padding:1.2rem;}
  .material-requirements-hero-mark-v2495 {flex:0 0 auto;width:100%;min-height:105px;}
  .material-requirements-page-v2495 .generator-stat-grid-v23134,
  .material-requirements-filter-grid-v2495,
  .material-requirements-summary-filter-v2495 {grid-template-columns:1fr;}
  .material-requirements-filter-actions-v2495 {flex-direction:column;}
  .material-requirements-filter-actions-v2495 .btn {width:100%;}
  .material-requirements-card-header-v2495 {align-items:flex-start;flex-direction:column;}
  .material-requirements-card-header-v2495 > .d-flex {width:100%;}
  .material-requirements-card-header-v2495 > .d-flex .btn {flex:1 1 auto;}
}
@media print {
  .material-requirements-page-v2495 .generator-hero-v23134,
  .material-requirements-page-v2495 .material-requirements-filter-card-v2495,
  .material-requirements-page-v2495 .btn,
  .material-requirements-page-v2495 .sonic-server-pagination {display:none!important;}
  .material-requirements-page-v2495 .material-requirements-data-card-v2495 {box-shadow:none;border-color:#aaa;}
}

/* ========================================================================== */
/* Sonic Tower v2.4.96 — work-aware material requirements                    */
/* ========================================================================== */
.material-requirements-page-v2496 .material-requirements-mode-tabs-v2496,
.material-requirements-page-v2496 .material-requirements-location-tabs-v2496 {
  padding: .8rem;
  margin: 0;
  border-bottom: 1px solid var(--bs-border-color);
  background: var(--bs-card-bg);
}
.material-requirements-page-v2496 .material-requirements-location-tabs-v2496 {
  padding: .85rem 1rem;
}
.material-requirements-inline-note-v2496 {
  display: flex;
  align-items: flex-start;
  gap: .7rem;
  margin: .9rem 1rem;
  padding: .8rem .9rem;
  border: 1px solid var(--bs-border-color);
  border-radius: .85rem;
  background: var(--bs-tertiary-bg);
  color: var(--bs-secondary-color);
  font-size: .74rem;
  line-height: 1.7;
  font-weight: 650;
}
.material-requirements-inline-note-v2496 > i {
  flex: 0 0 auto;
  margin-top: .1rem;
  color: var(--bs-primary);
  font-size: 1.15rem;
}
.material-requirements-inline-note-v2496 strong {color: var(--bs-emphasis-color);font-weight: 900;}
.material-requirements-work-table-v2496 {min-width: 1180px;}
.material-requirements-summary-table-v2496 {min-width: 1220px;}
.material-requirements-page-v2496 .sonic-unified-tabs .nav-link {
  min-height: 46px;
}
@media (max-width: 767.98px) {
  .material-requirements-page-v2496 .material-requirements-mode-tabs-v2496,
  .material-requirements-page-v2496 .material-requirements-location-tabs-v2496 {padding:.65rem;}
  .material-requirements-inline-note-v2496 {margin:.7rem;padding:.72rem .78rem;}
}

/* Sonic Tower v2.4.97 — وصفات المواد حسب نوع الموقع + فقرة العمل */
.material-requirements-template-picker-v2497 {
  display: grid;
  grid-template-columns: minmax(220px, .9fr) minmax(320px, 1.65fr) minmax(240px, 1fr);
  gap: var(--mr-gap, 1rem);
  align-items: end;
}
.material-requirements-template-picker-v2497 .form-select {min-height:46px;border-radius:.8rem;}
@media (max-width:1199.98px) {
  .material-requirements-template-picker-v2497 {grid-template-columns:repeat(2,minmax(0,1fr));}
  .material-requirements-template-picker-v2497 .material-requirements-template-summary-v2495 {grid-column:1 / -1;}
}
@media (max-width:767.98px) {
  .material-requirements-template-picker-v2497 {grid-template-columns:1fr;}
  .material-requirements-template-picker-v2497 .material-requirements-template-summary-v2495 {grid-column:auto;}
}

/* ========================================================================== */
/* Sonic Tower v2.4.99 — material requirements spacing and filter layout      */
/* ========================================================================== */
.material-requirements-template-picker-v2497.is-compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.material-requirements-filter-footer-v2499 {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: .65rem;
  padding: .9rem 1.15rem;
  border-top: 1px solid var(--bs-border-color);
  background: var(--bs-card-bg);
}
.material-requirements-filter-footer-v2499 .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  min-width: 130px;
  min-height: 42px;
  border-radius: .75rem;
  font-size: .74rem;
  font-weight: 850;
}
.material-requirements-summary-filter-v2495 {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
.material-requirements-row-actions-v2499 {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: .5rem;
}
.material-requirements-row-actions-v2499 .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  width: 112px;
  min-width: 112px;
  min-height: 36px;
  padding-inline: .65rem;
}
@media (max-width: 1199.98px) {
  .material-requirements-template-picker-v2497.is-compact {grid-template-columns:repeat(2,minmax(0,1fr));}
  .material-requirements-summary-filter-v2495 {grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width: 767.98px) {
  .material-requirements-template-picker-v2497.is-compact,
  .material-requirements-summary-filter-v2495 {grid-template-columns:1fr;}
  .material-requirements-filter-footer-v2499 {
    align-items: stretch;
    flex-direction: column;
    padding: .8rem;
  }
  .material-requirements-filter-footer-v2499 .btn {width:100%;}
}

/* ========================================================================== */
/* Sonic Tower v2.4.100 — specialty filter for material requirement recipes   */
/* ========================================================================== */
.material-requirements-template-picker-v24100 {
  display: grid;
  grid-template-columns: minmax(210px, .95fr) minmax(180px, .75fr) minmax(320px, 1.55fr) minmax(240px, 1fr);
  gap: var(--mr-gap, 1rem);
  align-items: end;
}
.material-requirements-template-picker-v24100.is-compact {
  grid-template-columns: minmax(210px, .95fr) minmax(180px, .75fr) minmax(320px, 1.55fr);
}
.material-requirements-template-picker-v24100 .form-select {
  min-height: 46px;
  border-radius: .8rem;
}
@media (max-width:1199.98px) {
  .material-requirements-template-picker-v24100,
  .material-requirements-template-picker-v24100.is-compact {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .material-requirements-template-picker-v24100 .material-requirements-template-summary-v2495 {
    grid-column: 1 / -1;
  }
}
@media (max-width:767.98px) {
  .material-requirements-template-picker-v24100,
  .material-requirements-template-picker-v24100.is-compact {
    grid-template-columns: 1fr;
  }
  .material-requirements-template-picker-v24100 .material-requirements-template-summary-v2495 {
    grid-column: auto;
  }
}

/* ========================================================================== */
/* Sonic Tower v2.4.103 — Select2 RTL caret anchored to the selection itself  */
/* ========================================================================== */
html[dir="rtl"] .select2-container--default .select2-selection--single {
  position: relative !important;
}
html[dir="rtl"] .select2-container--default .select2-selection--single > span.select2-selection__arrow {
  position: absolute !important;
  top: 50% !important;
  bottom: auto !important;
  left: 10px !important;
  right: auto !important;
  width: 20px !important;
  height: 20px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translateY(-50%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  pointer-events: none !important;
}
html[dir="rtl"] .select2-container--default .select2-selection--single > span.select2-selection__arrow > b {
  position: static !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  margin: 0 !important;
  transform: none !important;
  flex: 0 0 auto !important;
}

/* ===== Sonic Tower v2.4.105 — Dashboard weather distinction + live scenes ===== */
.dashboard-weather-card-v2455{grid-template-columns:minmax(0,1.38fr) minmax(300px,.62fr)}
.dashboard-weather-main-v2455{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(135deg,#0f766e 0%,#0ea5e9 55%,#2563eb 100%)}
.dashboard-weather-main-v2455>*{position:relative;z-index:1}
.dashboard-weather-label-v2453{font-size:13px}
.dashboard-weather-heading-v2455 h3{font-size:24px}
.dashboard-weather-live-v2455{font-size:10px}
.dashboard-weather-reading-v2455 p{font-size:16px}
.dashboard-weather-side-v2455{background:linear-gradient(180deg,rgba(14,165,233,.055),rgba(255,255,255,.82)),var(--bs-card-bg,#fff)}
.dashboard-weather-side-head-v2455{padding:2px 6px 11px}
.dashboard-weather-side-head-v2455 span{font-size:13px}
.dashboard-weather-side-head-v2455 small{font-size:11px}
.dashboard-weather-forecast-v2455{gap:6px;padding-top:8px}
.dashboard-weather-forecast-v2455 .dashboard-weather-day-v2453{grid-template-columns:minmax(64px,1fr) 36px 52px 52px;align-items:center;padding:11px 8px;gap:10px;border:1px solid rgba(148,163,184,.18);border-radius:14px;background:rgba(255,255,255,.66)}
.dashboard-weather-forecast-v2455 .dashboard-weather-day-v2453 span{font-size:13px;font-weight:900}
.dashboard-weather-forecast-v2455 .dashboard-weather-day-v2453 i{font-size:22px}
.dashboard-weather-forecast-v2455 .dashboard-weather-day-v2453 strong{font-size:15px}
.dashboard-weather-forecast-v2455 .dashboard-weather-day-v2453 small{font-size:13px}
[data-bs-theme="dark"] .dashboard-weather-forecast-v2455 .dashboard-weather-day-v2453{background:rgba(15,23,42,.38);border-color:rgba(148,163,184,.15)}

.dashboard-weather-scene-v2455{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.dashboard-weather-scene-v2455 .scene-layer{position:absolute;display:block}
#dashboardWeatherMain.weather-scene-clear{background:linear-gradient(135deg,#0284c7 0%,#38bdf8 45%,#2563eb 100%)}
#dashboardWeatherMain.weather-scene-clear .layer-one{width:150px;height:150px;right:9%;top:16%;border-radius:50%;background:radial-gradient(circle at 35% 35%,rgba(255,244,170,.96) 0,rgba(255,219,77,.92) 42%,rgba(255,196,0,.12) 70%,transparent 74%);box-shadow:0 0 40px rgba(253,224,71,.55);animation:sonicSunFloat 9s ease-in-out infinite}
#dashboardWeatherMain.weather-scene-clear .layer-two{inset:auto auto 6% -8%;width:64%;height:38%;border-radius:50%;background:radial-gradient(circle at 40% 50%,rgba(255,255,255,.14),transparent 58%);animation:sonicCloudDrift 16s linear infinite}
#dashboardWeatherMain.weather-scene-clear .layer-three{inset:0;background:radial-gradient(circle at 80% 28%,rgba(255,255,255,.18),transparent 20%),radial-gradient(circle at 18% 18%,rgba(255,255,255,.12),transparent 26%)}
#dashboardWeatherMain.weather-scene-partly{background:linear-gradient(135deg,#0f766e 0%,#0ea5e9 52%,#3b82f6 100%)}
#dashboardWeatherMain.weather-scene-partly .layer-one{width:130px;height:130px;right:10%;top:14%;border-radius:50%;background:radial-gradient(circle at 36% 36%,rgba(255,244,170,.92),rgba(251,191,36,.7) 48%,transparent 72%);box-shadow:0 0 34px rgba(251,191,36,.38);animation:sonicSunFloat 10s ease-in-out infinite}
#dashboardWeatherMain.weather-scene-partly .layer-two{left:-6%;bottom:9%;width:72%;height:34%;border-radius:45%;background:radial-gradient(circle at 22% 50%,rgba(255,255,255,.28),transparent 26%),radial-gradient(circle at 48% 46%,rgba(255,255,255,.22),transparent 28%),radial-gradient(circle at 70% 50%,rgba(255,255,255,.18),transparent 24%);animation:sonicCloudDrift 18s linear infinite}
#dashboardWeatherMain.weather-scene-partly .layer-three{inset:0;background:radial-gradient(circle at 82% 20%,rgba(255,255,255,.14),transparent 18%)}
#dashboardWeatherMain.weather-scene-cloud{background:linear-gradient(135deg,#475569 0%,#64748b 55%,#94a3b8 100%)}
#dashboardWeatherMain.weather-scene-cloud .layer-one{left:-8%;bottom:8%;width:82%;height:36%;border-radius:45%;background:radial-gradient(circle at 18% 50%,rgba(255,255,255,.18),transparent 24%),radial-gradient(circle at 42% 46%,rgba(255,255,255,.24),transparent 30%),radial-gradient(circle at 66% 50%,rgba(255,255,255,.18),transparent 24%);animation:sonicCloudDrift 24s linear infinite}
#dashboardWeatherMain.weather-scene-cloud .layer-two{right:-14%;top:14%;width:55%;height:24%;border-radius:999px;background:radial-gradient(circle at 40% 50%,rgba(255,255,255,.13),transparent 48%);animation:sonicCloudDrift 20s linear infinite reverse}
#dashboardWeatherMain.weather-scene-cloud .layer-three{inset:0;background:linear-gradient(180deg,rgba(255,255,255,.1),transparent 42%)}
#dashboardWeatherMain.weather-scene-rain{background:linear-gradient(135deg,#0f172a 0%,#1d4ed8 45%,#0f766e 100%)}
#dashboardWeatherMain.weather-scene-rain .layer-one{left:-8%;top:12%;width:86%;height:26%;border-radius:999px;background:radial-gradient(circle at 18% 50%,rgba(255,255,255,.16),transparent 22%),radial-gradient(circle at 42% 46%,rgba(255,255,255,.19),transparent 26%),radial-gradient(circle at 68% 52%,rgba(255,255,255,.13),transparent 22%)}
#dashboardWeatherMain.weather-scene-rain .layer-two{inset:0;background:repeating-linear-gradient(115deg,rgba(255,255,255,.0) 0 26px,rgba(255,255,255,.20) 26px 28px,rgba(255,255,255,.0) 28px 54px);opacity:.55;animation:sonicRainFall 1.15s linear infinite}
#dashboardWeatherMain.weather-scene-rain .layer-three{left:0;right:0;bottom:-6%;height:24%;background:radial-gradient(circle at 50% 0,rgba(255,255,255,.18),transparent 58%)}
#dashboardWeatherMain.weather-scene-storm{background:linear-gradient(135deg,#111827 0%,#312e81 50%,#1d4ed8 100%)}
#dashboardWeatherMain.weather-scene-storm .layer-one{left:-8%;top:10%;width:90%;height:28%;border-radius:999px;background:radial-gradient(circle at 18% 50%,rgba(255,255,255,.12),transparent 22%),radial-gradient(circle at 42% 46%,rgba(255,255,255,.14),transparent 26%),radial-gradient(circle at 68% 52%,rgba(255,255,255,.1),transparent 22%)}
#dashboardWeatherMain.weather-scene-storm .layer-two{inset:0;background:repeating-linear-gradient(115deg,rgba(255,255,255,0) 0 28px,rgba(255,255,255,.17) 28px 30px,rgba(255,255,255,0) 30px 56px);opacity:.45;animation:sonicRainFall .95s linear infinite}
#dashboardWeatherMain.weather-scene-storm .layer-three{width:4px;height:64px;right:18%;top:22%;background:linear-gradient(180deg,rgba(255,255,255,.0),rgba(255,255,255,.96) 40%,rgba(250,204,21,.95) 72%,rgba(255,255,255,.0));box-shadow:0 0 18px rgba(255,255,255,.58);transform:skewX(-16deg);animation:sonicLightning 4.8s ease-in-out infinite}
#dashboardWeatherMain.weather-scene-dust{background:linear-gradient(135deg,#92400e 0%,#c2410c 36%,#f59e0b 100%)}
#dashboardWeatherMain.weather-scene-dust .layer-one{inset:0;background:linear-gradient(110deg,rgba(255,255,255,.0) 0%,rgba(255,255,255,.18) 42%,rgba(255,255,255,0) 66%);opacity:.35;animation:sonicDustDrift 11s linear infinite}
#dashboardWeatherMain.weather-scene-dust .layer-two{left:-10%;bottom:0;width:88%;height:34%;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(255,248,220,.14),transparent 58%);animation:sonicDustDrift 14s linear infinite reverse}
#dashboardWeatherMain.weather-scene-dust .layer-three{right:-10%;top:12%;width:48%;height:26%;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.12),transparent 58%)}
#dashboardWeatherMain.weather-scene-snow{background:linear-gradient(135deg,#0f172a 0%,#334155 38%,#64748b 100%)}
#dashboardWeatherMain.weather-scene-snow .layer-one,#dashboardWeatherMain.weather-scene-snow .layer-two{inset:0;background-image:radial-gradient(circle at 14px 12px,rgba(255,255,255,.88) 0 2px,transparent 3px),radial-gradient(circle at 64px 28px,rgba(255,255,255,.82) 0 2px,transparent 3px),radial-gradient(circle at 118px 18px,rgba(255,255,255,.9) 0 2px,transparent 3px),radial-gradient(circle at 156px 38px,rgba(255,255,255,.8) 0 2px,transparent 3px);background-size:180px 56px;opacity:.6;animation:sonicSnowFall 8s linear infinite}
#dashboardWeatherMain.weather-scene-snow .layer-two{opacity:.38;animation-duration:12s;transform:scale(1.15)}
#dashboardWeatherMain.weather-scene-snow .layer-three{display:none}
@keyframes sonicSunFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes sonicCloudDrift{from{transform:translateX(0)}to{transform:translateX(42px)}}
@keyframes sonicRainFall{from{transform:translateY(-10px)}to{transform:translateY(28px)}}
@keyframes sonicDustDrift{from{transform:translateX(-18px)}to{transform:translateX(24px)}}
@keyframes sonicSnowFall{from{transform:translateY(-10px)}to{transform:translateY(34px)}}
@keyframes sonicLightning{0%,83%,100%{opacity:0}85%,87%{opacity:1}86%{opacity:.2}88%{opacity:1}}
@media(max-width:1399.98px){.dashboard-weather-card-v2455{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr)}}
@media(max-width:991.98px){.dashboard-weather-side-head-v2455 span{font-size:12px}.dashboard-weather-side-head-v2455 small{font-size:10px}.dashboard-weather-forecast-v2455 .dashboard-weather-day-v2453{min-width:112px}}
@media(max-width:575.98px){.dashboard-weather-heading-v2455 h3{font-size:21px}.dashboard-weather-reading-v2455 p{font-size:14px}.dashboard-weather-forecast-v2455 .dashboard-weather-day-v2453 span{font-size:12px}.dashboard-weather-forecast-v2455 .dashboard-weather-day-v2453 strong,.dashboard-weather-forecast-v2455 .dashboard-weather-day-v2453 small{font-size:12px}}

/* ===== Sonic Tower v2.4.106 — Generator mini tank mobile geometry fix ===== */
.generator-tank-mini-v23134{
  width:185px;
  min-width:185px;
  max-width:185px;
  flex:0 0 185px;
  aspect-ratio:1 / 1;
}
@media(max-width:767.98px){
  .generator-hero-v23134 .generator-tank-mini-v23134{
    flex:none;
    width:clamp(150px,52vw,185px);
    min-width:clamp(150px,52vw,185px);
    max-width:185px;
    height:auto;
    aspect-ratio:1 / 1;
    align-self:center;
    margin-top:.35rem;
  }
}

/* ===== Sonic Tower v2.4.107 — Unified responsive action groups ===== */
@media (max-width:767.98px){
  :where(section[class*="hero"],div[class*="hero"],.card-header,.card-footer) .d-flex.flex-wrap.gap-2{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:stretch!important;
    justify-content:stretch!important;
    gap:.625rem!important;
    width:100%;
  }
  :where(section[class*="hero"],div[class*="hero"],.card-header,.card-footer) .d-flex.flex-wrap.gap-2 > :where(.btn,a.btn,button.btn,form){
    min-width:0;
    width:100%!important;
    margin:0!important;
  }
  :where(section[class*="hero"],div[class*="hero"],.card-header,.card-footer) .d-flex.flex-wrap.gap-2 > :where(.btn,a.btn,button.btn){
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    gap:.4rem;
    min-height:44px;
    padding:.6rem .85rem;
    white-space:normal;
    line-height:1.35;
    text-align:center;
  }
  :where(section[class*="hero"],div[class*="hero"],.card-header,.card-footer) .d-flex.flex-wrap.gap-2 > form{
    display:flex!important;
    align-items:stretch;
  }
  :where(section[class*="hero"],div[class*="hero"],.card-header,.card-footer) .d-flex.flex-wrap.gap-2 > form > .btn{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    gap:.4rem;
    width:100%!important;
    min-height:44px;
    margin:0!important;
    padding:.6rem .85rem;
    white-space:normal;
    line-height:1.35;
    text-align:center;
  }
  :where(section[class*="hero"],div[class*="hero"],.card-header,.card-footer) .d-flex.flex-wrap.gap-2 > :last-child:nth-child(odd){
    grid-column:1 / -1;
  }
}
@media (max-width:359.98px){
  :where(section[class*="hero"],div[class*="hero"],.card-header,.card-footer) .d-flex.flex-wrap.gap-2{
    grid-template-columns:1fr;
  }
  :where(section[class*="hero"],div[class*="hero"],.card-header,.card-footer) .d-flex.flex-wrap.gap-2 > :last-child:nth-child(odd){
    grid-column:auto;
  }
}

/* ===== Sonic Tower v2.4.110 — Weather scene: real day/night visual states ===== */
.dashboard-weather-main-v2455{min-height:430px}
.dashboard-weather-heading-v2455{z-index:3}
.dashboard-weather-focus-v2455{z-index:3;flex-direction:column;gap:8px;min-height:215px;padding:14px 0 16px;text-align:center}
.dashboard-weather-icon-v2455{width:58px;height:58px;flex-basis:58px;border-radius:18px;background:rgba(255,255,255,.12);font-size:34px}
.dashboard-weather-reading-v2455{align-items:center;text-align:center}
.dashboard-weather-temp-v2455{justify-content:center;align-items:flex-end}
.dashboard-weather-temp-v2455 strong{font-size:76px;line-height:.92;letter-spacing:-3px;font-weight:500}
.dashboard-weather-temp-v2455 span{margin-bottom:7px;font-size:12px;color:rgba(255,255,255,.78)}
.dashboard-weather-reading-v2455 p{margin-top:8px;font-size:18px;line-height:1.2;font-weight:800}
.dashboard-weather-highlow-v24110{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:5px;color:rgba(255,255,255,.92);font-size:12px;font-weight:800}
.dashboard-weather-highlow-v24110 span+span{padding-inline-start:12px;border-inline-start:1px solid rgba(255,255,255,.28)}
.dashboard-weather-meta-v2455{position:relative;z-index:3}
.dashboard-weather-scene-v2455{z-index:0}
.dashboard-weather-main-v2455:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(15,23,42,.10));transition:background .35s ease}

/* Daylight families */
#dashboardWeatherMain.weather-time-day.weather-scene-clear{background:linear-gradient(180deg,#3ea0dd 0%,#2588cc 48%,#196bb7 100%)}
#dashboardWeatherMain.weather-time-day.weather-scene-partly{background:linear-gradient(180deg,#75b9df 0%,#4098cf 52%,#2677bd 100%)}
#dashboardWeatherMain.weather-time-day.weather-scene-cloud{background:linear-gradient(180deg,#91a9bd 0%,#6689aa 50%,#416d98 100%)}
#dashboardWeatherMain.weather-time-day.weather-scene-rain{background:linear-gradient(180deg,#536d84 0%,#34516f 48%,#243b57 100%)}
#dashboardWeatherMain.weather-time-day.weather-scene-storm{background:linear-gradient(180deg,#374151 0%,#24324a 48%,#172033 100%)}
#dashboardWeatherMain.weather-time-day.weather-scene-dust{background:linear-gradient(180deg,#c78c55 0%,#ae6e36 50%,#8f552b 100%)}
#dashboardWeatherMain.weather-time-day.weather-scene-snow{background:linear-gradient(180deg,#9eb9cf 0%,#6f93b2 50%,#4d769a 100%)}

/* Night is a different world, not just darker blue. */
#dashboardWeatherMain.weather-time-night{background:linear-gradient(180deg,#07101f 0%,#111a36 48%,#1e2a50 100%)}
#dashboardWeatherMain.weather-time-night:before{background:radial-gradient(circle at 50% 15%,rgba(79,70,229,.10),transparent 38%),linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.18))}
#dashboardWeatherMain.weather-time-night.weather-scene-clear .layer-one{width:92px;height:92px;right:13%;top:18%;border-radius:50%;background:radial-gradient(circle at 38% 35%,#fff 0,#eef2ff 44%,#c7d2fe 62%,rgba(199,210,254,.18) 69%,transparent 72%);box-shadow:0 0 32px rgba(224,231,255,.25);animation:sonicMoonFloat 10s ease-in-out infinite}
#dashboardWeatherMain.weather-time-night.weather-scene-clear .layer-one:after{content:"";position:absolute;width:76px;height:76px;left:-18px;top:-8px;border-radius:50%;background:#0b1428}
#dashboardWeatherMain.weather-time-night.weather-scene-clear .layer-two{inset:0;width:auto;height:auto;border-radius:0;background-image:radial-gradient(circle at 8% 20%,rgba(255,255,255,.92) 0 1px,transparent 1.7px),radial-gradient(circle at 18% 72%,rgba(255,255,255,.65) 0 1px,transparent 1.7px),radial-gradient(circle at 32% 34%,rgba(255,255,255,.8) 0 1.2px,transparent 1.9px),radial-gradient(circle at 44% 82%,rgba(255,255,255,.72) 0 1px,transparent 1.8px),radial-gradient(circle at 57% 23%,rgba(255,255,255,.9) 0 1px,transparent 1.7px),radial-gradient(circle at 67% 66%,rgba(255,255,255,.67) 0 1px,transparent 1.8px),radial-gradient(circle at 81% 39%,rgba(255,255,255,.9) 0 1px,transparent 1.6px),radial-gradient(circle at 92% 78%,rgba(255,255,255,.75) 0 1px,transparent 1.7px);background-size:180px 150px,220px 190px,260px 170px,210px 210px,230px 180px,190px 230px,250px 220px,210px 180px;opacity:.72;animation:sonicStarsTwinkle 6s ease-in-out infinite}
#dashboardWeatherMain.weather-time-night.weather-scene-clear .layer-three{inset:auto 0 0;height:42%;background:linear-gradient(180deg,transparent,rgba(14,22,48,.38))}

#dashboardWeatherMain.weather-time-night.weather-scene-partly{background:linear-gradient(180deg,#0a1427 0%,#172544 52%,#24385d 100%)}
#dashboardWeatherMain.weather-time-night.weather-scene-partly .layer-one{width:80px;height:80px;right:13%;top:17%;border-radius:50%;background:radial-gradient(circle,#f8fafc 0,#dbeafe 55%,rgba(219,234,254,.10) 69%,transparent 72%);box-shadow:0 0 25px rgba(219,234,254,.18);animation:sonicMoonFloat 11s ease-in-out infinite}
#dashboardWeatherMain.weather-time-night.weather-scene-partly .layer-one:after{content:"";position:absolute;width:68px;height:68px;left:-17px;top:-7px;border-radius:50%;background:#0e1930}
#dashboardWeatherMain.weather-time-night.weather-scene-partly .layer-two{left:-8%;bottom:12%;width:78%;height:36%;border-radius:45%;background:radial-gradient(circle at 22% 50%,rgba(226,232,240,.28),transparent 26%),radial-gradient(circle at 48% 46%,rgba(203,213,225,.24),transparent 29%),radial-gradient(circle at 70% 50%,rgba(148,163,184,.22),transparent 25%);animation:sonicCloudDrift 20s linear infinite}
#dashboardWeatherMain.weather-time-night.weather-scene-partly .layer-three{inset:0;background-image:radial-gradient(circle at 12% 20%,rgba(255,255,255,.75) 0 1px,transparent 1.6px),radial-gradient(circle at 42% 18%,rgba(255,255,255,.6) 0 1px,transparent 1.7px),radial-gradient(circle at 80% 28%,rgba(255,255,255,.72) 0 1px,transparent 1.7px);background-size:220px 170px;opacity:.48}
#dashboardWeatherMain.weather-time-night.weather-scene-cloud{background:linear-gradient(180deg,#101827 0%,#26364d 52%,#344c67 100%)}
#dashboardWeatherMain.weather-time-night.weather-scene-rain{background:linear-gradient(180deg,#080f1d 0%,#18263b 48%,#243b52 100%)}
#dashboardWeatherMain.weather-time-night.weather-scene-storm{background:linear-gradient(180deg,#04070e 0%,#111827 48%,#1e293b 100%)}
#dashboardWeatherMain.weather-time-night.weather-scene-dust{background:linear-gradient(180deg,#2e211c 0%,#50372a 50%,#704832 100%)}
#dashboardWeatherMain.weather-time-night.weather-scene-snow{background:linear-gradient(180deg,#09111e 0%,#26374b 52%,#3f5871 100%)}

/* Forecast reads like a real weather strip. */
.dashboard-weather-forecast-v2455 .dashboard-weather-day-v2453 i{position:relative;display:flex;align-items:center;justify-content:center;color:#fbbf24}
.dashboard-weather-forecast-v2455 .dashboard-weather-day-v2453 i em{position:absolute;top:23px;left:50%;transform:translateX(-50%);color:#38bdf8;font-size:8px;font-style:normal;font-weight:900;white-space:nowrap}
.dashboard-weather-forecast-v2455 .dashboard-weather-day-v2453.weather-tone-rain i,
.dashboard-weather-forecast-v2455 .dashboard-weather-day-v2453.weather-tone-storm i{color:#e2e8f0}
.dashboard-weather-forecast-v2455 .dashboard-weather-day-v2453.weather-tone-cloud i,
.dashboard-weather-forecast-v2455 .dashboard-weather-day-v2453.weather-tone-dust i{color:#94a3b8}
.dashboard-weather-forecast-v2455 .dashboard-weather-day-v2453.weather-tone-snow i{color:#bae6fd}
@keyframes sonicMoonFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes sonicStarsTwinkle{0%,100%{opacity:.56}50%{opacity:.9}}
@media(max-width:1399.98px){.dashboard-weather-main-v2455{min-height:410px}.dashboard-weather-temp-v2455 strong{font-size:68px}}
@media(max-width:991.98px){.dashboard-weather-main-v2455{min-height:390px}.dashboard-weather-focus-v2455{min-height:205px}}
@media(max-width:575.98px){.dashboard-weather-main-v2455{min-height:360px}.dashboard-weather-focus-v2455{min-height:185px}.dashboard-weather-temp-v2455 strong{font-size:58px}.dashboard-weather-highlow-v24110{font-size:11px}.dashboard-weather-icon-v2455{width:50px;height:50px;flex-basis:50px;font-size:30px}}

/* ===== Sonic Tower v2.4.111 — Weather atmosphere refinement: no moon, living stars/sunlight ===== */
/* Clear night: remove all moon geometry and replace it with layered stars. */
#dashboardWeatherMain.weather-time-night.weather-scene-clear .layer-one,
#dashboardWeatherMain.weather-time-night.weather-scene-clear .layer-two,
#dashboardWeatherMain.weather-time-night.weather-scene-clear .layer-three{
  inset:0!important;
  width:auto!important;
  height:auto!important;
  border-radius:0!important;
  box-shadow:none!important;
  transform:none!important;
}
#dashboardWeatherMain.weather-time-night.weather-scene-clear .layer-one:after,
#dashboardWeatherMain.weather-time-night.weather-scene-partly .layer-one:after{display:none!important;content:none!important}
#dashboardWeatherMain.weather-time-night.weather-scene-clear .layer-one{
  background-image:
    radial-gradient(circle at 7% 18%,rgba(255,255,255,.96) 0 1px,transparent 1.8px),
    radial-gradient(circle at 17% 66%,rgba(219,234,254,.78) 0 1.2px,transparent 2px),
    radial-gradient(circle at 29% 32%,rgba(255,255,255,.88) 0 1px,transparent 1.8px),
    radial-gradient(circle at 43% 78%,rgba(224,231,255,.8) 0 1.1px,transparent 1.9px),
    radial-gradient(circle at 56% 16%,rgba(255,255,255,.98) 0 1.15px,transparent 1.9px),
    radial-gradient(circle at 69% 58%,rgba(191,219,254,.72) 0 1px,transparent 1.8px),
    radial-gradient(circle at 82% 29%,rgba(255,255,255,.92) 0 1.2px,transparent 2px),
    radial-gradient(circle at 94% 75%,rgba(224,231,255,.82) 0 1px,transparent 1.8px);
  background-size:190px 160px,230px 205px,275px 180px,220px 225px,245px 190px,205px 245px,265px 230px,220px 195px;
  opacity:.68;
  animation:sonicStarsTwinkleA 3.8s ease-in-out infinite!important;
}
#dashboardWeatherMain.weather-time-night.weather-scene-clear .layer-two{
  background-image:
    radial-gradient(circle at 12% 42%,rgba(255,255,255,.64) 0 .8px,transparent 1.7px),
    radial-gradient(circle at 24% 14%,rgba(186,230,253,.82) 0 1px,transparent 1.8px),
    radial-gradient(circle at 38% 57%,rgba(255,255,255,.72) 0 .9px,transparent 1.7px),
    radial-gradient(circle at 51% 88%,rgba(255,255,255,.58) 0 .8px,transparent 1.6px),
    radial-gradient(circle at 64% 36%,rgba(224,231,255,.82) 0 1px,transparent 1.8px),
    radial-gradient(circle at 77% 81%,rgba(255,255,255,.66) 0 .9px,transparent 1.7px),
    radial-gradient(circle at 89% 49%,rgba(191,219,254,.8) 0 1px,transparent 1.8px);
  background-size:155px 135px,210px 175px,185px 160px,235px 205px,175px 145px,220px 190px,195px 170px;
  opacity:.5;
  animation:sonicStarsTwinkleB 5.6s ease-in-out -1.7s infinite!important;
}
#dashboardWeatherMain.weather-time-night.weather-scene-clear .layer-three{
  background:
    radial-gradient(circle at 20% 24%,rgba(147,197,253,.14),transparent 16%),
    radial-gradient(circle at 78% 34%,rgba(196,181,253,.10),transparent 18%),
    linear-gradient(180deg,transparent 54%,rgba(7,16,31,.34));
  opacity:.85;
  animation:sonicNightBreath 8.5s ease-in-out infinite!important;
}

/* Partly cloudy night: stars + clouds only. No crescent. */
#dashboardWeatherMain.weather-time-night.weather-scene-partly .layer-one{
  inset:0!important;width:auto!important;height:auto!important;border-radius:0!important;box-shadow:none!important;
  background-image:
    radial-gradient(circle at 9% 24%,rgba(255,255,255,.86) 0 1px,transparent 1.8px),
    radial-gradient(circle at 28% 15%,rgba(219,234,254,.74) 0 1px,transparent 1.7px),
    radial-gradient(circle at 53% 29%,rgba(255,255,255,.76) 0 .9px,transparent 1.7px),
    radial-gradient(circle at 76% 18%,rgba(191,219,254,.72) 0 1px,transparent 1.8px),
    radial-gradient(circle at 91% 42%,rgba(255,255,255,.7) 0 1px,transparent 1.7px);
  background-size:210px 170px,250px 190px,190px 155px,230px 180px,200px 165px;
  opacity:.52;
  animation:sonicStarsTwinkleA 4.6s ease-in-out infinite!important;
}
#dashboardWeatherMain.weather-time-night.weather-scene-partly .layer-two{
  left:-8%!important;right:auto!important;top:auto!important;bottom:10%!important;width:80%!important;height:37%!important;
  border-radius:45%!important;
  background:radial-gradient(circle at 20% 52%,rgba(226,232,240,.28),transparent 25%),radial-gradient(circle at 46% 46%,rgba(203,213,225,.24),transparent 30%),radial-gradient(circle at 72% 52%,rgba(148,163,184,.20),transparent 25%)!important;
  opacity:1!important;
  animation:sonicCloudDrift 21s linear infinite!important;
}
#dashboardWeatherMain.weather-time-night.weather-scene-partly .layer-three{
  inset:0!important;width:auto!important;height:auto!important;border-radius:0!important;
  background-image:radial-gradient(circle at 15% 70%,rgba(255,255,255,.58) 0 .8px,transparent 1.6px),radial-gradient(circle at 48% 82%,rgba(255,255,255,.48) 0 .8px,transparent 1.6px),radial-gradient(circle at 84% 68%,rgba(219,234,254,.56) 0 .9px,transparent 1.7px)!important;
  background-size:170px 150px,220px 185px,190px 170px!important;
  opacity:.34!important;
  animation:sonicStarsTwinkleB 6.2s ease-in-out -2.2s infinite!important;
}

/* A meteor is injected by JS at irregular intervals while the scene is night. */
.weather-meteor-v24112{
  position:absolute;
  top:var(--meteor-start-top,4%);
  right:var(--meteor-start-right,2%);
  width:4px;
  height:4px;
  z-index:2;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 10px 3px rgba(255,255,255,.82);
  opacity:0;
  pointer-events:none;
  animation:sonicMeteorPassV24112 var(--meteor-duration,1.65s) cubic-bezier(.2,.62,.34,1) forwards;
}
.weather-meteor-v24112:before{
  content:"";
  position:absolute;
  left:2px;
  top:50%;
  width:118px;
  height:2px;
  transform-origin:left center;
  transform:translateY(-50%) rotate(-35deg);
  background:linear-gradient(90deg,rgba(255,255,255,.96),rgba(191,219,254,.48) 22%,rgba(125,211,252,.14) 56%,transparent 100%);
  filter:drop-shadow(0 0 3px rgba(191,219,254,.62));
}
@keyframes sonicMeteorPassV24112{
  0%{opacity:0;top:var(--meteor-start-top,4%);right:var(--meteor-start-right,2%)}
  7%{opacity:1}
  74%{opacity:.94}
  100%{opacity:0;top:var(--meteor-end-top,76%);right:var(--meteor-end-right,78%)}
}

/* Daytime: sunlight itself glimmers; no giant static sun disk is required. */
#dashboardWeatherMain.weather-time-day.weather-scene-clear .layer-one,
#dashboardWeatherMain.weather-time-day.weather-scene-partly .layer-one{
  inset:0!important;width:auto!important;height:auto!important;border-radius:0!important;box-shadow:none!important;
  background:
    radial-gradient(circle at 78% 14%,rgba(255,255,255,.96) 0 1.5%,rgba(255,244,188,.78) 5%,rgba(253,224,71,.28) 13%,rgba(255,255,255,.08) 22%,transparent 36%),
    radial-gradient(circle at 75% 15%,rgba(255,255,255,.19),transparent 48%)!important;
  animation:sonicSunGlimmer 4.8s ease-in-out infinite!important;
}
#dashboardWeatherMain.weather-time-day.weather-scene-clear .layer-two{
  inset:0!important;width:auto!important;height:auto!important;border-radius:0!important;
  background:linear-gradient(112deg,transparent 32%,rgba(255,255,255,.03) 43%,rgba(255,255,255,.16) 50%,rgba(255,255,255,.025) 57%,transparent 68%)!important;
  animation:sonicSunRaySweep 8.2s ease-in-out infinite!important;
}
#dashboardWeatherMain.weather-time-day.weather-scene-clear .layer-three{
  inset:0!important;
  background:radial-gradient(circle at 82% 12%,rgba(255,255,255,.22),transparent 18%),radial-gradient(circle at 18% 78%,rgba(255,255,255,.08),transparent 30%)!important;
  animation:sonicDayShimmer 6.8s ease-in-out -1.6s infinite!important;
}
#dashboardWeatherMain.weather-time-day.weather-scene-partly .layer-two{
  left:-6%!important;bottom:9%!important;width:72%!important;height:34%!important;
  background:radial-gradient(circle at 22% 50%,rgba(255,255,255,.30),transparent 26%),radial-gradient(circle at 48% 46%,rgba(255,255,255,.24),transparent 28%),radial-gradient(circle at 70% 50%,rgba(255,255,255,.20),transparent 24%)!important;
  animation:sonicCloudDrift 18s linear infinite!important;
}
#dashboardWeatherMain.weather-time-day.weather-scene-partly .layer-three{
  inset:0!important;background:radial-gradient(circle at 82% 14%,rgba(255,255,255,.20),transparent 20%)!important;
  animation:sonicDayShimmer 7.3s ease-in-out infinite!important;
}

@keyframes sonicStarsTwinkleA{0%,100%{opacity:.46;filter:brightness(.85)}36%{opacity:.82;filter:brightness(1.25)}62%{opacity:.57;filter:brightness(.95)}80%{opacity:.9;filter:brightness(1.35)}}
@keyframes sonicStarsTwinkleB{0%,100%{opacity:.34;filter:brightness(.9)}28%{opacity:.68;filter:brightness(1.18)}53%{opacity:.42;filter:brightness(.88)}76%{opacity:.76;filter:brightness(1.28)}}
@keyframes sonicNightBreath{0%,100%{opacity:.68}50%{opacity:1}}
@keyframes sonicSunGlimmer{0%,100%{opacity:.72;filter:brightness(.96)}35%{opacity:1;filter:brightness(1.18)}57%{opacity:.8;filter:brightness(1.02)}76%{opacity:1;filter:brightness(1.24)}}
@keyframes sonicSunRaySweep{0%,100%{opacity:.25;transform:translateX(-3%)}48%{opacity:.72;transform:translateX(5%)}70%{opacity:.38;transform:translateX(2%)}}
@keyframes sonicDayShimmer{0%,100%{opacity:.52}50%{opacity:.94}}

@media (prefers-reduced-motion:reduce){
  .dashboard-weather-scene-v2455 .scene-layer,.weather-meteor-v24112{animation:none!important}
  .weather-meteor-v24112{display:none!important}
}
.dashboard-weather-icon-v2455[hidden]{display:none!important}

/* ===== Sonic Tower v2.4.114 — Contractor payment colored statistic cards ===== */
.contractor-payments-stats-grid{gap:1rem}
.contractor-payments-stat{
  position:relative;isolation:isolate;overflow:hidden;min-height:112px;padding:1rem 1.05rem;
  border:0;border-radius:1.15rem;color:#fff;box-shadow:0 13px 28px rgba(15,23,42,.10)
}
.contractor-payments-stat:after{
  content:"";position:absolute;z-index:-1;width:112px;height:112px;border-radius:50%;
  inset-inline-end:-34px;bottom:-58px;background:rgba(255,255,255,.11);pointer-events:none
}
.contractor-payments-stat:before{
  content:"";position:absolute;z-index:-1;width:70px;height:70px;border-radius:50%;
  inset-inline-start:-28px;top:-34px;background:rgba(255,255,255,.07);pointer-events:none
}
.contractor-payments-stat.is-net{background:linear-gradient(135deg,#4338ca,#7c3aed)}
.contractor-payments-stat.is-paid{background:linear-gradient(135deg,#047857,#10b981)}
.contractor-payments-stat.is-remaining{background:linear-gradient(135deg,#c2410c,#f59e0b)}
.contractor-payments-stat.is-count{background:linear-gradient(135deg,#0369a1,#0ea5e9)}
.contractor-payments-stat-icon{
  position:relative;z-index:1;width:52px;height:52px;flex:0 0 52px;border:1px solid rgba(255,255,255,.28);
  border-radius:1rem;background:rgba(255,255,255,.14)!important;color:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)
}
.contractor-payments-stat-svg-v24114{display:block;width:28px;height:28px;color:#fff}
.contractor-payments-stat>div{position:relative;z-index:1;min-width:0}
.contractor-payments-stat small{margin-bottom:.3rem;color:rgba(255,255,255,.84);font-size:.74rem;font-weight:800}
.contractor-payments-stat strong{color:#fff;font-size:clamp(1rem,1.3vw,1.18rem);font-weight:900}
@media(max-width:767.98px){
  .contractor-payments-stats-grid{grid-template-columns:1fr;gap:.75rem}
  .contractor-payments-stat{min-height:94px;padding:.9rem 1rem}
  .contractor-payments-stat-icon{width:48px;height:48px;flex-basis:48px}
  .contractor-payments-stat-svg-v24114{width:25px;height:25px}
}

/* ===== Sonic Tower v2.4.115 — Daily activities ===== */
.daily-activities-page-v24115{--daily-gap:1rem}
.daily-activities-hero-v24115{min-height:220px}
.daily-activities-hero-v24115 .btn svg{width:1rem;height:1rem}
.daily-hero-mini-v24115{display:flex;flex:0 0 190px;width:190px;height:150px;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.28);border-radius:1.5rem;background:rgba(15,23,42,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.12);text-align:center;color:#fff}
.daily-hero-mini-v24115 span{font-size:.78rem;font-weight:800;color:rgba(255,255,255,.75)}
.daily-hero-mini-v24115 strong{margin:.25rem 0;font-size:2.25rem;line-height:1;font-weight:900;color:#fff}
.daily-hero-mini-v24115 small{font-size:.72rem;font-weight:800;color:rgba(255,255,255,.8)}
.daily-activities-page-v24115 .generator-stat-card-v23134>span svg{width:28px;height:28px;color:#fff}
.daily-filter-card-v24115{overflow:hidden;border-radius:1.15rem}
.daily-filter-grid-v24115{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--daily-gap);align-items:end}
.daily-filter-grid-v24115>div{min-width:0}
.daily-filter-grid-v24115 .form-label{margin-bottom:.45rem;font-weight:800}
.daily-filter-grid-v24115 .form-control,.daily-filter-grid-v24115 .form-select{min-height:46px;border-radius:.85rem}
.daily-filter-footer-v24115{display:flex;gap:.65rem;justify-content:flex-start;padding:1rem 1.25rem;border-top:1px solid var(--bs-border-color);background:var(--bs-tertiary-bg)}
.daily-filter-footer-v24115 .btn{min-width:120px;min-height:42px;border-radius:.8rem;font-weight:800}
.daily-table-card-v24115{overflow:hidden;border-radius:1.15rem}
.daily-table-card-v24115 .card-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:62px}
.daily-table-card-v24115 thead th{white-space:nowrap;background:var(--bs-tertiary-bg);color:var(--bs-heading-color)}
.daily-table-card-v24115 td{vertical-align:middle}
.daily-scope-badge-v24115{display:inline-flex;align-items:center;min-height:28px;padding:.25rem .55rem;border-radius:.65rem;background:rgba(var(--bs-primary-rgb),.09);color:var(--bs-primary);font-size:.7rem;font-weight:900}
.daily-row-actions-v24115{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}
.daily-row-actions-v24115 .btn{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;min-height:34px;border-radius:.65rem;font-weight:800;white-space:nowrap}
.daily-row-actions-v24115 .btn svg{width:15px;height:15px}
.daily-mobile-grid-v24115{display:none}
.daily-activity-card-v24115{display:flex;flex-direction:column;gap:.85rem;padding:1rem;border:1px solid var(--bs-border-color);border-radius:1rem;background:var(--bs-card-bg)}
.daily-activity-card-v24115 header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}
.daily-activity-card-v24115 header small{color:var(--bs-secondary-color);font-size:.7rem;font-weight:700}
.daily-activity-card-v24115 h4{margin:.2rem 0 0;color:var(--bs-heading-color);font-size:1rem;font-weight:900}
.daily-activity-card-user-v24115{display:flex;align-items:center;gap:.6rem;padding:.7rem;border-radius:.8rem;background:var(--bs-tertiary-bg)}
.daily-activity-card-user-v24115>i{display:grid;place-items:center;width:36px;height:36px;border-radius:.7rem;background:rgba(var(--bs-primary-rgb),.1);color:var(--bs-primary);font-size:1.1rem}
.daily-activity-card-user-v24115 span{display:flex;min-width:0;flex-direction:column}.daily-activity-card-user-v24115 strong{font-size:.82rem}.daily-activity-card-user-v24115 small{color:var(--bs-secondary-color);font-size:.68rem}
.daily-activity-card-meta-v24115{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}
.daily-activity-card-meta-v24115 span{display:flex;align-items:center;gap:.35rem;min-width:0;padding:.55rem .6rem;border:1px solid var(--bs-border-color);border-radius:.75rem;color:var(--bs-secondary-color);font-size:.68rem;font-weight:700;overflow-wrap:anywhere}
.daily-activity-card-meta-v24115 i{color:var(--bs-primary)}
.daily-activity-card-v24115 footer{display:flex;flex-wrap:wrap;gap:.45rem;padding-top:.75rem;border-top:1px solid var(--bs-border-color)}
.daily-activity-card-v24115 footer .btn{min-height:36px;border-radius:.7rem;font-weight:800}
.daily-activity-form-v24115{display:grid;grid-template-columns:1fr;gap:1rem}
.daily-type-switch-v24115{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.daily-type-option-v24115{position:relative;margin:0;cursor:pointer}
.daily-type-option-v24115 input{position:absolute;opacity:0;pointer-events:none}
.daily-type-option-v24115>span{display:flex;min-height:118px;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:1rem;border:2px solid var(--bs-border-color);border-radius:1rem;background:var(--bs-card-bg);text-align:center;transition:.18s ease}
.daily-type-option-v24115 i{font-size:1.6rem;color:var(--bs-primary)}
.daily-type-option-v24115 strong{color:var(--bs-heading-color);font-size:.95rem;font-weight:900}
.daily-type-option-v24115 small{max-width:280px;color:var(--bs-secondary-color);font-size:.7rem;line-height:1.6}
.daily-type-option-v24115 input:checked+span{border-color:var(--bs-primary);background:rgba(var(--bs-primary-rgb),.055);box-shadow:0 8px 20px rgba(var(--bs-primary-rgb),.08)}
.daily-scope-panel-v24115{display:grid;grid-template-columns:1fr;gap:1rem;padding:1rem;border:1px solid var(--bs-border-color);border-radius:1rem;background:var(--bs-tertiary-bg)}
.daily-current-project-v24115{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.8rem .9rem;border:1px solid rgba(var(--bs-primary-rgb),.16);border-radius:.85rem;background:var(--bs-card-bg)}
.daily-current-project-v24115>i{display:grid;place-items:center;width:38px;height:38px;border-radius:.75rem;background:rgba(var(--bs-primary-rgb),.1);color:var(--bs-primary);font-size:1.1rem}
.daily-current-project-v24115 span{display:flex;min-width:0;flex-direction:column}.daily-current-project-v24115 small{color:var(--bs-secondary-color);font-size:.66rem}.daily-current-project-v24115 strong{color:var(--bs-heading-color);font-size:.82rem;font-weight:900}
.daily-current-project-v24115 em{color:var(--bs-secondary-color);font-size:.68rem;font-style:normal;font-weight:700;text-align:end}
.daily-scope-grid-v24115{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.daily-scope-grid-v24115 .form-label,.daily-common-grid-v24115 .form-label,.daily-activity-form-v24115>.form-label{font-weight:800}
.daily-scope-grid-v24115 .form-select,.daily-common-grid-v24115 .form-control,.daily-common-grid-v24115 .form-select,.daily-activity-form-v24115>.form-control,.daily-activity-form-v24115 textarea{min-height:46px;border-radius:.85rem}
.daily-scope-preview-v24115{display:flex;align-items:center;gap:.5rem;padding:.7rem .8rem;border-radius:.8rem;background:rgba(var(--bs-info-rgb),.09);color:var(--bs-info-text-emphasis);font-size:.72rem;font-weight:800}
.daily-common-grid-v24115{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.daily-view-head-v24115{padding:1rem;border:1px solid var(--bs-border-color);border-radius:1rem;background:var(--bs-tertiary-bg)}
.daily-view-head-v24115 h4{margin:.7rem 0 .45rem;color:var(--bs-heading-color);font-weight:900}.daily-view-head-v24115 p{margin:0;color:var(--bs-body-color);line-height:1.9}
.daily-view-grid-v24115{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem}
.daily-view-grid-v24115>div{display:flex;min-height:100px;flex-direction:column;justify-content:center;padding:1rem;border:1px solid var(--bs-border-color);border-radius:.9rem;background:var(--bs-card-bg)}
.daily-view-grid-v24115 small{color:var(--bs-secondary-color);font-size:.68rem}.daily-view-grid-v24115 strong{margin:.25rem 0;color:var(--bs-heading-color);font-size:.9rem;font-weight:900}.daily-view-grid-v24115 span{color:var(--bs-secondary-color);font-size:.72rem}
.daily-view-attachments-v24115 h6{font-weight:900}.daily-attachment-grid-v24115{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
.daily-attachment-grid-v24115 a{display:flex;align-items:center;gap:.5rem;min-width:0;padding:.75rem .85rem;border:1px solid var(--bs-border-color);border-radius:.8rem;color:var(--bs-body-color);text-decoration:none;background:var(--bs-card-bg)}
.daily-attachment-grid-v24115 a:hover{border-color:var(--bs-primary);color:var(--bs-primary)}.daily-attachment-grid-v24115 span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:1399.98px){.daily-filter-grid-v24115{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:991.98px){.daily-scope-grid-v24115,.daily-view-grid-v24115{grid-template-columns:1fr 1fr}.daily-current-project-v24115{grid-template-columns:auto 1fr}.daily-current-project-v24115 em{grid-column:1/-1;text-align:start}}
@media(max-width:767.98px){.daily-activities-hero-v24115{flex-direction:column;align-items:stretch}.daily-hero-mini-v24115{align-self:center;width:160px;height:125px;flex-basis:auto}.daily-filter-grid-v24115{grid-template-columns:1fr}.daily-filter-footer-v24115 .btn{flex:1}.daily-desktop-table-v24115{display:none}.daily-mobile-grid-v24115{display:grid;grid-template-columns:1fr;gap:.8rem;padding:.85rem}.daily-type-switch-v24115,.daily-scope-grid-v24115,.daily-common-grid-v24115,.daily-view-grid-v24115,.daily-attachment-grid-v24115{grid-template-columns:1fr}.daily-activity-card-meta-v24115{grid-template-columns:1fr}.daily-type-option-v24115>span{min-height:105px}.daily-current-project-v24115{grid-template-columns:auto 1fr}.daily-current-project-v24115 em{grid-column:1/-1}.daily-activity-card-v24115 footer>.btn,.daily-activity-card-v24115 footer>form{flex:1 1 calc(50% - .25rem)}.daily-activity-card-v24115 footer>form .btn{width:100%}}
@media(max-width:359.98px){.daily-filter-footer-v24115{flex-direction:column}.daily-filter-footer-v24115 .btn,.daily-activity-card-v24115 footer>.btn,.daily-activity-card-v24115 footer>form{width:100%;flex-basis:100%}}

/* ===== Sonic Tower v2.4.116 — Agricultural activities ===== */
.agricultural-page-v24116{--agri-gap:1rem}
.agricultural-hero-v24116{min-height:220px;background:radial-gradient(circle at 10% 20%,rgba(255,255,255,.16),transparent 28%),radial-gradient(circle at 88% 88%,rgba(255,255,255,.11),transparent 30%),linear-gradient(135deg,#065f46 0%,#059669 48%,#14b8a6 100%);box-shadow:0 20px 44px rgba(5,150,105,.22)}
.agricultural-hero-v24116 .generator-kicker-v23134 svg,.agricultural-hero-v24116 .btn svg{width:1rem;height:1rem}
.agricultural-hero-mini-v24116{display:flex;flex:0 0 190px;width:190px;height:150px;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;border:1px solid rgba(255,255,255,.28);border-radius:1.5rem;background:rgba(6,78,59,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.12);color:#fff;text-align:center}
.agricultural-hero-mini-v24116>svg{width:34px;height:34px;margin-bottom:.15rem}.agricultural-hero-mini-v24116 span{font-size:.75rem;font-weight:800;color:rgba(255,255,255,.78)}.agricultural-hero-mini-v24116 strong{font-size:2.1rem;line-height:1;font-weight:900}.agricultural-hero-mini-v24116 small{max-width:160px;font-size:.68rem;font-weight:700;color:rgba(255,255,255,.8);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.agricultural-page-v24116 .generator-stat-grid-v23134{gap:var(--agri-gap)}
.agricultural-page-v24116 .generator-stat-card-v23134>span svg{width:28px;height:28px;color:#fff}
.agricultural-filter-card-v24116,.agricultural-table-card-v24116{overflow:hidden;border-radius:1.15rem}
.agricultural-filter-grid-v24116{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--agri-gap);align-items:end}.agricultural-filter-grid-v24116>div{min-width:0}.agricultural-filter-grid-v24116 .form-label{margin-bottom:.45rem;font-weight:800}.agricultural-filter-grid-v24116 .form-control,.agricultural-filter-grid-v24116 .form-select{min-height:46px;border-radius:.85rem}
.agricultural-filter-footer-v24116{display:flex;gap:.65rem;justify-content:flex-start;padding:1rem 1.25rem;border-top:1px solid var(--bs-border-color);background:var(--bs-tertiary-bg)}.agricultural-filter-footer-v24116 .btn{min-width:120px;min-height:42px;border-radius:.8rem;font-weight:800}
.agricultural-table-card-v24116>.card-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:62px;font-weight:900}.agricultural-table-card-v24116>.card-header>span:first-child{display:inline-flex;align-items:center;gap:.45rem}.agricultural-table-card-v24116>.card-header svg{width:19px;height:19px;color:#059669}.agricultural-table-card-v24116 thead th{white-space:nowrap;background:var(--bs-tertiary-bg);color:var(--bs-heading-color)}.agricultural-table-card-v24116 td{vertical-align:middle}
.agricultural-kind-badge-v24116{display:inline-flex;align-items:center;min-height:30px;padding:.3rem .65rem;border-radius:.7rem;background:rgba(5,150,105,.1);color:#047857;font-size:.72rem;font-weight:900}[data-bs-theme="dark"] .agricultural-kind-badge-v24116{color:#6ee7b7;background:rgba(16,185,129,.13)}
.agricultural-mobile-grid-v24116{display:none}
.agricultural-card-v24116{display:flex;flex-direction:column;gap:.8rem;padding:1rem;border:1px solid var(--bs-border-color);border-radius:1rem;background:var(--bs-card-bg)}.agricultural-card-v24116 header{display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem}.agricultural-card-v24116 header small{color:var(--bs-secondary-color);font-size:.7rem;font-weight:700}.agricultural-card-v24116 h4{margin:.2rem 0 0;color:var(--bs-heading-color);font-size:.95rem;font-weight:900}
.agricultural-card-user-v24116{display:flex;align-items:center;gap:.65rem;padding:.7rem;border-radius:.8rem;background:var(--bs-tertiary-bg)}.agricultural-card-user-v24116>span{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:.7rem;background:rgba(5,150,105,.11);color:#059669}.agricultural-card-user-v24116>span svg{width:20px;height:20px}.agricultural-card-user-v24116>div{display:flex;min-width:0;flex-direction:column}.agricultural-card-user-v24116 strong{font-size:.82rem}.agricultural-card-user-v24116 small{color:var(--bs-secondary-color);font-size:.68rem}
.agricultural-card-meta-v24116{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.agricultural-card-meta-v24116>span{display:flex;min-width:0;flex-direction:column;gap:.15rem;padding:.58rem .65rem;border:1px solid var(--bs-border-color);border-radius:.75rem;color:var(--bs-body-color);font-size:.7rem;overflow-wrap:anywhere}.agricultural-card-meta-v24116 b{color:var(--bs-secondary-color);font-size:.62rem;font-weight:800}.agricultural-card-v24116 footer{display:flex;flex-wrap:wrap;gap:.45rem;padding-top:.75rem;border-top:1px solid var(--bs-border-color)}.agricultural-card-v24116 footer>.btn,.agricultural-card-v24116 footer>form{flex:1 1 calc(33.333% - .3rem)}.agricultural-card-v24116 footer>form .btn{width:100%}.agricultural-card-v24116 footer .btn{min-height:36px;border-radius:.7rem;font-weight:800}
.agricultural-form-v24116{display:grid;grid-template-columns:1fr;gap:1rem}.agricultural-primary-grid-v24116{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.agricultural-quantity-grid-v24116{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.agricultural-form-v24116 .form-label{font-weight:800}.agricultural-form-v24116 .form-control,.agricultural-form-v24116 .form-select{min-height:46px;border-radius:.85rem}.agricultural-form-v24116 textarea.form-control{min-height:118px}.agricultural-scope-panel-v24116{border-color:rgba(5,150,105,.18)}
.agricultural-view-head-v24116{padding:1rem;border:1px solid var(--bs-border-color);border-radius:1rem;background:var(--bs-tertiary-bg)}.agricultural-view-head-v24116 h4{margin:.7rem 0 .45rem;color:var(--bs-heading-color);font-weight:900}.agricultural-view-head-v24116 p{margin:0;color:var(--bs-body-color);line-height:1.9}.agricultural-view-grid-v24116{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem}.agricultural-view-grid-v24116>div{display:flex;min-height:100px;flex-direction:column;justify-content:center;padding:1rem;border:1px solid var(--bs-border-color);border-radius:.9rem;background:var(--bs-card-bg)}.agricultural-view-grid-v24116 small{color:var(--bs-secondary-color);font-size:.68rem}.agricultural-view-grid-v24116 strong{margin:.25rem 0;color:var(--bs-heading-color);font-size:.9rem;font-weight:900}.agricultural-view-grid-v24116 span{color:var(--bs-secondary-color);font-size:.72rem}
.agricultural-media-section-v24116 h6{font-weight:900}.agricultural-media-grid-v24116{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.agricultural-media-item-v24116{display:flex;min-width:0;flex-direction:column;gap:.5rem;padding:.55rem;border:1px solid var(--bs-border-color);border-radius:.9rem;background:var(--bs-card-bg);color:var(--bs-body-color);text-decoration:none;overflow:hidden}.agricultural-media-item-v24116 img,.agricultural-media-item-v24116 video{display:block;width:100%;height:180px;object-fit:cover;border-radius:.7rem;background:#0f172a}.agricultural-media-item-v24116>span{display:grid;place-items:center;height:120px;color:#059669}.agricultural-media-item-v24116>span svg{width:32px;height:32px}.agricultural-media-item-v24116 small{padding:.15rem .2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;font-weight:700}
@media(max-width:1399.98px){.agricultural-filter-grid-v24116{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:991.98px){.agricultural-filter-grid-v24116{grid-template-columns:repeat(2,minmax(0,1fr))}.agricultural-primary-grid-v24116,.agricultural-view-grid-v24116{grid-template-columns:1fr 1fr}}
@media(max-width:767.98px){.agricultural-hero-v24116{flex-direction:column;align-items:stretch}.agricultural-hero-mini-v24116{align-self:center;width:160px;height:125px;flex-basis:auto}.agricultural-filter-grid-v24116,.agricultural-primary-grid-v24116,.agricultural-quantity-grid-v24116,.agricultural-view-grid-v24116,.agricultural-media-grid-v24116{grid-template-columns:1fr}.agricultural-filter-footer-v24116 .btn{flex:1}.agricultural-desktop-table-v24116{display:none}.agricultural-mobile-grid-v24116{display:grid;grid-template-columns:1fr;gap:.8rem;padding:.85rem}.agricultural-card-meta-v24116{grid-template-columns:1fr}.agricultural-card-v24116 footer>.btn,.agricultural-card-v24116 footer>form{flex:1 1 calc(50% - .25rem)}.agricultural-media-item-v24116 img,.agricultural-media-item-v24116 video{height:220px}}
@media(max-width:359.98px){.agricultural-filter-footer-v24116{flex-direction:column}.agricultural-filter-footer-v24116 .btn,.agricultural-card-v24116 footer>.btn,.agricultural-card-v24116 footer>form{width:100%;flex-basis:100%}}

/* ========================================================================== */
/* Sonic Tower v2.4.119 — structured audit log UI                             */
/* ========================================================================== */
.audit-logs-page-v24119{--audit-gap:1rem}
.audit-stat-grid-v24119{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--audit-gap)}
.audit-stat-grid-v24119 .generator-stat-card-v23134{min-height:112px}
.audit-stat-grid-v24119 .generator-stat-card-v23134>span svg{width:28px;height:28px;color:#fff}
.audit-log-table-v24119 .audit-open-details-v24119{display:inline-flex;align-items:center;justify-content:center;gap:.42rem;min-width:104px}
.audit-log-table-v24119 .audit-open-details-v24119 svg{width:17px;height:17px;flex:0 0 17px}
.audit-modal-v24119 .modal-header{align-items:flex-start}
.audit-summary-grid-v24119{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}
.audit-summary-card-v24119{position:relative;overflow:hidden;min-height:88px;padding:1rem;border:1px solid var(--bs-border-color);border-radius:1rem;background:var(--bs-card-bg)}
.audit-summary-card-v24119:after{content:"";position:absolute;width:82px;height:82px;border-radius:50%;inset-inline-end:-28px;bottom:-42px;background:rgba(var(--bs-primary-rgb),.08)}
.audit-summary-card-v24119 small{position:relative;z-index:1;display:block;margin-bottom:.35rem;color:var(--bs-secondary-color);font-weight:800}
.audit-summary-card-v24119 strong{position:relative;z-index:1;display:block;color:var(--bs-emphasis-color);font-size:1rem;font-weight:900;white-space:normal;overflow-wrap:anywhere}
.audit-summary-card-v24119.tone-action{border-inline-start:4px solid var(--bs-primary)}
.audit-summary-card-v24119.tone-user{border-inline-start:4px solid var(--bs-success)}
.audit-summary-card-v24119.tone-module{border-inline-start:4px solid var(--bs-info)}
.audit-summary-card-v24119.tone-record{border-inline-start:4px solid var(--bs-warning)}
.audit-detail-section-v24119{overflow:hidden;border:1px solid var(--bs-border-color);border-radius:1rem;background:var(--bs-card-bg)}
.audit-detail-title-v24119{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border-bottom:1px solid var(--bs-border-color);background:var(--bs-tertiary-bg);font-weight:900;color:var(--bs-emphasis-color)}
.audit-detail-table-v24119 td,.audit-change-table-v24119 th,.audit-change-table-v24119 td{padding:.72rem .85rem;vertical-align:top;border-color:var(--bs-border-color)}
.audit-detail-table-v24119 tr:last-child td{border-bottom:0}
.audit-field-key-v24119{width:38%;font-weight:800;color:var(--bs-emphasis-color);direction:ltr;text-align:left;white-space:normal;overflow-wrap:anywhere}
.audit-change-table-v24119{min-width:720px}
.audit-change-table-v24119 thead th{background:var(--bs-tertiary-bg);font-weight:900;color:var(--bs-emphasis-color)}
.audit-change-table-v24119 td{white-space:normal;overflow-wrap:anywhere}
.audit-before-v24119{background:rgba(var(--bs-danger-rgb),.045)}
.audit-after-v24119{background:rgba(var(--bs-success-rgb),.055)}
.audit-empty-v24119{padding:1.25rem;color:var(--bs-secondary-color);text-align:center}
.audit-inline-json-v24119{margin:0;max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;color:inherit;background:transparent;border:0}
.audit-context-grid-v24119{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:0}
.audit-context-item-v24119{min-width:0;padding:.9rem 1rem;border-inline-end:1px solid var(--bs-border-color);border-bottom:1px solid var(--bs-border-color)}
.audit-context-item-v24119:nth-child(3n){border-inline-end:0}
.audit-context-item-v24119:nth-last-child(-n+3){border-bottom:0}
.audit-context-item-v24119 small{display:block;margin-bottom:.28rem;color:var(--bs-secondary-color);font-weight:800}
.audit-context-item-v24119 span{display:block;white-space:normal;overflow-wrap:anywhere;color:var(--bs-emphasis-color);font-weight:700}
.audit-json-details-v24119{overflow:hidden;border:1px solid var(--bs-border-color);border-radius:1rem;background:var(--bs-tertiary-bg)}
.audit-json-details-v24119 summary{cursor:pointer;padding:.9rem 1rem;font-weight:900;color:var(--bs-emphasis-color)}
.audit-json-details-v24119 pre{margin:0;padding:1rem;border-top:1px solid var(--bs-border-color);max-height:340px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--bs-dark);color:#f8fafc;font-size:.78rem;line-height:1.65}
@media(max-width:991.98px){
  .audit-stat-grid-v24119,.audit-summary-grid-v24119{grid-template-columns:repeat(2,minmax(0,1fr))}
  .audit-context-grid-v24119{grid-template-columns:repeat(2,minmax(0,1fr))}
  .audit-context-item-v24119:nth-child(3n){border-inline-end:1px solid var(--bs-border-color)}
  .audit-context-item-v24119:nth-child(2n){border-inline-end:0}
  .audit-context-item-v24119:nth-last-child(-n+3){border-bottom:1px solid var(--bs-border-color)}
  .audit-context-item-v24119:nth-last-child(-n+2){border-bottom:0}
}
@media(max-width:575.98px){
  .audit-stat-grid-v24119,.audit-summary-grid-v24119,.audit-context-grid-v24119{grid-template-columns:1fr}
  .audit-context-item-v24119,.audit-context-item-v24119:nth-child(2n),.audit-context-item-v24119:nth-child(3n){border-inline-end:0;border-bottom:1px solid var(--bs-border-color)}
  .audit-context-item-v24119:last-child{border-bottom:0}
  .audit-stat-grid-v24119 .generator-stat-card-v23134{min-height:100px}
}

/* =====================================================================
   Sonic Tower v2.4.121 — Executive Daily Report
   ===================================================================== */
.executive-report-page-v24121 {
  --edr-gap: 1rem;
}
.executive-report-hero-v24121 {
  background: linear-gradient(135deg,#172554 0%,#3730a3 50%,#0f766e 100%);
}
.executive-report-hero-date-v24121 {
  min-width: 245px;
  padding: 1.05rem 1.15rem;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 1.15rem;
  background: rgba(255,255,255,.11);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  text-align: center;
}
.executive-report-hero-date-v24121 span,
.executive-report-hero-date-v24121 small {
  display: block;
  color: rgba(255,255,255,.78);
  font-weight: 700;
}
.executive-report-hero-date-v24121 strong {
  display: block;
  margin: .25rem 0;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 900;
}
.executive-main-stat-grid-v24121 {
  grid-template-columns: repeat(4,minmax(0,1fr));
}
.executive-main-stat-grid-v24121 .generator-stat-card-v23134 strong {
  white-space: normal;
  line-height: 1.25;
}
.executive-main-stat-grid-v24121 .generator-stat-card-v23134 em {
  display: block;
  margin-top: .18rem;
  color: rgba(255,255,255,.76);
  font-size: .7rem;
  font-style: normal;
  font-weight: 800;
}
.executive-main-stat-grid-v24121 .generator-stat-card-v23134 > span svg,
.executive-section-header-v24121 svg,
.executive-alert-item-v24121 svg,
.executive-report-hero-v24121 .btn svg {
  width: 1.35em;
  height: 1.35em;
}
.executive-filter-card-v24121,
.executive-print-options-v24121,
.executive-alerts-card-v24121,
.executive-section-card-v24121 {
  border-radius: 1.15rem;
  overflow: hidden;
}
.executive-filter-grid-v24121 {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr)) minmax(260px,1.35fr);
  gap: var(--edr-gap);
  align-items: end;
}
.executive-filter-grid-v24121 > div {
  min-width: 0;
}
.executive-filter-grid-v24121 .form-label {
  margin-bottom: .45rem;
  font-weight: 800;
}
.executive-filter-grid-v24121 .form-control,
.executive-filter-grid-v24121 .form-select {
  min-height: 45px;
}
.executive-filter-summary-v24121 {
  min-height: 74px;
  padding: .8rem .95rem;
  border: 1px solid var(--bs-border-color);
  border-radius: .9rem;
  background: var(--bs-tertiary-bg);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.executive-filter-summary-v24121 small,
.executive-filter-summary-v24121 span {
  color: var(--bs-secondary-color);
  font-size: .72rem;
}
.executive-filter-summary-v24121 strong {
  margin: .12rem 0;
  font-size: 1rem;
  font-weight: 900;
}
.executive-filter-footer-v24121 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .85rem 1rem;
  border-top: 1px solid var(--bs-border-color);
  background: var(--bs-tertiary-bg);
}
.executive-print-options-v24121 .card-header,
.executive-alerts-card-v24121 .card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.1rem;
  font-weight: 900;
}
.executive-print-toggle-grid-v24121 {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: .75rem;
}
.executive-print-toggle-v24121 {
  display: flex;
  align-items: center;
  gap: .55rem;
  min-height: 48px;
  margin: 0;
  padding: .7rem .8rem;
  border: 1px solid var(--bs-border-color);
  border-radius: .85rem;
  background: var(--bs-body-bg);
  cursor: pointer;
  font-weight: 800;
  transition: border-color .15s ease, background .15s ease, transform .15s ease;
}
.executive-print-toggle-v24121:hover {
  border-color: rgba(var(--bs-primary-rgb),.45);
  background: rgba(var(--bs-primary-rgb),.045);
  transform: translateY(-1px);
}
.executive-print-toggle-v24121 .form-check-input {
  margin: 0;
  flex: 0 0 auto;
}
.executive-alert-grid-v24121 {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: .85rem;
}
.executive-alert-item-v24121 {
  display: flex;
  align-items: center;
  gap: .75rem;
  min-width: 0;
  padding: .9rem;
  border: 1px solid var(--bs-border-color);
  border-radius: .95rem;
  color: inherit;
  text-decoration: none;
  background: var(--bs-body-bg);
}
.executive-alert-item-v24121 > span {
  display: grid;
  place-items: center;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border-radius: .8rem;
}
.executive-alert-item-v24121 > div {
  min-width: 0;
  flex: 1 1 auto;
}
.executive-alert-item-v24121 strong,
.executive-alert-item-v24121 small {
  display: block;
}
.executive-alert-item-v24121 strong {
  font-size: .82rem;
  font-weight: 900;
}
.executive-alert-item-v24121 small {
  margin-top: .12rem;
  color: var(--bs-secondary-color);
  font-size: .68rem;
}
.executive-alert-item-v24121 b {
  flex: 0 0 auto;
  font-size: 1.2rem;
  font-weight: 900;
}
.executive-alert-item-v24121.tone-danger {border-color: rgba(220,53,69,.28);background: rgba(220,53,69,.055)}
.executive-alert-item-v24121.tone-danger > span {background: rgba(220,53,69,.12);color: var(--bs-danger)}
.executive-alert-item-v24121.tone-warning {border-color: rgba(245,158,11,.32);background: rgba(245,158,11,.065)}
.executive-alert-item-v24121.tone-warning > span {background: rgba(245,158,11,.14);color: #b45309}
.executive-alert-item-v24121.tone-info {border-color: rgba(13,202,240,.3);background: rgba(13,202,240,.055)}
.executive-alert-item-v24121.tone-info > span {background: rgba(13,202,240,.13);color: #087990}
.executive-section-card-v24121 .card-header {
  border-bottom: 0;
}
.executive-section-header-v24121 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .95rem 1.05rem;
  color: #fff;
}
.executive-section-header-v24121 > span {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  font-weight: 900;
}
.executive-section-header-v24121.tone-violet {background: linear-gradient(135deg,#4338ca,#7c3aed)}
.executive-section-header-v24121.tone-blue {background: linear-gradient(135deg,#1d4ed8,#0ea5e9)}
.executive-section-header-v24121.tone-green {background: linear-gradient(135deg,#047857,#10b981)}
.executive-section-header-v24121.tone-amber {background: linear-gradient(135deg,#b45309,#f59e0b)}
.executive-section-header-v24121.tone-orange {background: linear-gradient(135deg,#c2410c,#f97316)}
.executive-section-header-v24121.tone-cyan {background: linear-gradient(135deg,#0e7490,#06b6d4)}
.executive-section-header-v24121.tone-slate {background: linear-gradient(135deg,#334155,#64748b)}
.executive-section-header-v24121.tone-red {background: linear-gradient(135deg,#be123c,#f43f5e)}
.executive-section-header-v24121.tone-dark {background: linear-gradient(135deg,#111827,#374151)}
.executive-mini-stat-grid-v24121 {
  display: grid;
  grid-template-columns: repeat(6,minmax(0,1fr));
  gap: .75rem;
}
.executive-mini-stat-grid-v24121 > div {
  min-width: 0;
  min-height: 76px;
  padding: .75rem .85rem;
  border: 1px solid var(--bs-border-color);
  border-radius: .85rem;
  background: var(--bs-tertiary-bg);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.executive-mini-stat-grid-v24121 small {
  color: var(--bs-secondary-color);
  font-size: .7rem;
  font-weight: 800;
}
.executive-mini-stat-grid-v24121 strong {
  margin-top: .2rem;
  font-size: 1.05rem;
  font-weight: 900;
  overflow-wrap: anywhere;
}
.executive-chip-row-v24121 {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}
.executive-chip-row-v24121 span {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .42rem .65rem;
  border-radius: 999px;
  background: rgba(16,185,129,.1);
  color: #047857;
  font-size: .72rem;
  font-weight: 800;
}
.executive-warning-list-v24121 {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
  padding: .75rem .85rem;
  border: 1px solid rgba(245,158,11,.28);
  border-radius: .85rem;
  background: rgba(245,158,11,.06);
}
.executive-warning-list-v24121 > strong {
  color: #b45309;
  font-size: .78rem;
}
.executive-warning-list-v24121 > span {
  padding: .3rem .5rem;
  border-radius: .55rem;
  background: var(--bs-body-bg);
  font-size: .7rem;
  font-weight: 700;
}
.executive-section-card-v24121 .table thead th {
  white-space: nowrap;
  background: var(--bs-tertiary-bg);
  font-size: .72rem;
  color: var(--bs-secondary-color);
}
.executive-section-card-v24121 .table td {
  font-size: .78rem;
}
.print-only,
.executive-print-report-v24121 {
  display: none;
}
.edr-print-hidden-v24121 {
  display: none !important;
}

@media (max-width: 1399.98px) {
  .executive-main-stat-grid-v24121 {grid-template-columns: repeat(4,minmax(0,1fr));}
  .executive-mini-stat-grid-v24121 {grid-template-columns: repeat(3,minmax(0,1fr));}
  .executive-print-toggle-grid-v24121 {grid-template-columns: repeat(3,minmax(0,1fr));}
  .executive-alert-grid-v24121 {grid-template-columns: repeat(2,minmax(0,1fr));}
}
@media (max-width: 991.98px) {
  .executive-main-stat-grid-v24121 {grid-template-columns: repeat(2,minmax(0,1fr));}
  .executive-filter-grid-v24121 {grid-template-columns: repeat(2,minmax(0,1fr));}
  .executive-filter-summary-v24121 {grid-column: 1 / -1;}
  .executive-print-toggle-grid-v24121 {grid-template-columns: repeat(2,minmax(0,1fr));}
}
@media (max-width: 767.98px) {
  .executive-report-hero-v24121 {gap: 1rem;}
  .executive-report-hero-date-v24121 {width: 100%;min-width: 0;}
  .executive-main-stat-grid-v24121,
  .executive-mini-stat-grid-v24121,
  .executive-filter-grid-v24121,
  .executive-print-toggle-grid-v24121,
  .executive-alert-grid-v24121 {grid-template-columns: 1fr 1fr;}
  .executive-filter-summary-v24121 {grid-column: 1 / -1;}
  .executive-filter-footer-v24121 {align-items: stretch;flex-direction: column;}
  .executive-section-header-v24121 {align-items: stretch;flex-direction: column;}
  .executive-section-header-v24121 .btn {width: 100%;}
}
@media (max-width: 420px) {
  .executive-main-stat-grid-v24121,
  .executive-mini-stat-grid-v24121,
  .executive-filter-grid-v24121,
  .executive-print-toggle-grid-v24121,
  .executive-alert-grid-v24121 {grid-template-columns: 1fr;}
}

@media print {
  @page { size: A4 landscape; margin: 7mm; }
  html, body {
    background: #fff !important;
    color: #000 !important;
    font-size: 9pt !important;
  }
  body * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  .left-sidebar,
  .topbar,
  .page-wrapper > .body-wrapper > .container-fluid > .alert,
  .no-print,
  footer,
  .scroll-top,
  .customizer-btn,
  .offcanvas,
  .modal-backdrop {
    display: none !important;
  }
  .page-wrapper,
  .body-wrapper,
  .container-fluid,
  .executive-report-page-v24121 {
    margin: 0 !important;
    padding: 0 !important;
    max-width: none !important;
    width: 100% !important;
  }
  .print-only,
  .executive-print-report-v24121 {
    display: block !important;
  }
  .executive-print-report-v24121 {
    direction: rtl;
    font-family: Tajawal, Arial, sans-serif !important;
    color: #111827 !important;
  }
  .executive-print-head-v24121 {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 5mm;
    border-bottom: 2px solid #1f2937;
  }
  .executive-print-head-v24121 td {
    padding: 2mm 2.5mm 3mm;
    vertical-align: middle;
    border: 0 !important;
  }
  .executive-print-head-v24121 .logo {width: 12mm;text-align: center;}
  .executive-print-head-v24121 img {max-width: 10mm;max-height: 10mm;object-fit: contain;}
  .executive-print-head-v24121 strong,
  .executive-print-head-v24121 span {display: block;}
  .executive-print-head-v24121 > tbody > tr > td:nth-child(2) strong {font-size: 11pt;}
  .executive-print-head-v24121 > tbody > tr > td:nth-child(2) span {font-size: 8pt;color: #475569;}
  .executive-print-head-v24121 .meta {text-align: left;width: 42%;}
  .executive-print-head-v24121 .meta strong {font-size: 10pt;}
  .executive-print-head-v24121 .meta span {font-size: 7pt;color: #475569;}
  .edr-print-section {
    margin: 0 0 3.5mm;
    break-inside: avoid-page;
  }
  .edr-print-section h3 {
    margin: 0 0 1.5mm;
    padding: 1.5mm 2mm;
    border: 1px solid #334155;
    background: #334155 !important;
    color: #fff !important;
    font-size: 8.5pt;
    font-weight: 900;
  }
  .executive-print-table-v24121 {
    width: 100%;
    border-collapse: collapse;
    margin: 0 0 2mm;
    font-size: 7.4pt;
  }
  .executive-print-table-v24121 th,
  .executive-print-table-v24121 td {
    border: 1px solid #9ca3af;
    padding: 1.25mm 1.5mm;
    vertical-align: middle;
    text-align: center;
  }
  .executive-print-table-v24121 th {
    background: #f1f5f9 !important;
    color: #111827 !important;
    font-weight: 900;
    white-space: nowrap;
  }
  .executive-print-table-v24121 td.text-start {
    text-align: right !important;
  }
  .executive-print-table-v24121.compact th,
  .executive-print-table-v24121.compact td {
    padding: 1mm 1.2mm;
  }
  .executive-print-table-v24121.alert-table th {
    background: #fff7ed !important;
    color: #9a3412 !important;
  }
  .executive-print-table-v24121 tr {
    break-inside: avoid;
  }
  .executive-print-note-v24121 {
    margin: 0 0 1.5mm;
    color: #64748b !important;
    font-size: 6.8pt;
  }
  .executive-print-signatures-v24121 {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 10mm;
    margin-top: 5mm;
    break-inside: avoid;
  }
  .executive-print-signatures-v24121 > div {
    min-height: 18mm;
    border-top: 1px solid #64748b;
    padding-top: 2mm;
  }
  .executive-print-signatures-v24121 span {
    font-size: 7.5pt;
    font-weight: 900;
  }
  .executive-print-signatures-v24121 p {
    min-height: 11mm;
    margin: 0;
  }
}

/* ========================================================================== */
/* Sonic Tower v2.4.122 — Administrative announcements                       */
/* ========================================================================== */
.announcement-page-v24122{--ann-gap:1rem}
.announcement-hero-v24122{background:linear-gradient(135deg,#3730a3 0%,#635bff 48%,#2563eb 100%)}
.announcement-hero-v24122 .generator-kicker-v23134 svg{width:18px;height:18px}
.announcement-hero-mini-v24122{display:grid;place-items:center;align-content:center;flex:0 0 190px;min-height:150px;padding:1rem;border:1px solid rgba(255,255,255,.24);border-radius:1.3rem;background:rgba(255,255,255,.12);text-align:center;backdrop-filter:blur(6px)}
.announcement-hero-mini-v24122 span,.announcement-hero-mini-v24122 small{color:rgba(255,255,255,.82);font-size:.75rem;font-weight:800}.announcement-hero-mini-v24122 strong{display:block;margin:.3rem 0;font-size:2.25rem;line-height:1;color:#fff;font-weight:900}
.announcement-stat-grid-v24122{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--ann-gap)}
.announcement-stat-grid-v24122 .generator-stat-card-v23134>span svg{width:28px;height:28px;color:#fff}
.announcement-filter-card-v24122,.announcement-list-card-v24122{border-radius:1.2rem;overflow:hidden}
.announcement-filter-grid-v24122{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}.announcement-filter-grid-v24122>div{min-width:0}.announcement-filter-grid-v24122 .form-label{margin-bottom:.45rem;font-weight:800}.announcement-filter-grid-v24122 .form-control,.announcement-filter-grid-v24122 .form-select{min-height:46px;border-radius:.85rem}
.announcement-filter-footer-v24122{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.announcement-filter-footer-v24122 .btn{min-height:40px;border-radius:.8rem;font-weight:800}
.announcement-list-card-v24122>.card-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:60px;font-weight:900}
.announcement-title-cell-v24122{display:flex;align-items:flex-start;gap:.65rem;min-width:250px}.announcement-title-cell-v24122>div{min-width:0}.announcement-title-cell-v24122 strong{display:block;font-size:.82rem}.announcement-title-cell-v24122 small{display:block;margin-top:.3rem;color:var(--bs-secondary-color);font-size:.69rem;line-height:1.6}.announcement-pin-v24122{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:.7rem;background:rgba(var(--bs-primary-rgb),.1);color:var(--bs-primary)}.announcement-pin-v24122 svg{width:16px;height:16px}.announcement-target-v24122{display:block;max-width:220px;color:var(--bs-secondary-color);font-size:.72rem;line-height:1.6}.announcement-row-actions-v24122{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.announcement-row-actions-v24122 .btn{white-space:nowrap}
.announcement-mobile-grid-v24122{display:none;padding:1rem}.announcement-mobile-card-v24122{padding:1rem;border:1px solid var(--bs-border-color);border-radius:1rem;background:var(--bs-card-bg)}.announcement-mobile-card-v24122+ .announcement-mobile-card-v24122{margin-top:.85rem}.announcement-mobile-card-v24122 header{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.announcement-mobile-card-v24122 h4{margin:.2rem 0 0;font-size:.94rem;font-weight:900}.announcement-mobile-card-v24122>p{margin:.75rem 0;color:var(--bs-secondary-color);font-size:.76rem;line-height:1.8}.announcement-pin-label-v24122{display:inline-flex;align-items:center;gap:.25rem;color:var(--bs-primary);font-size:.67rem;font-weight:900}.announcement-mobile-meta-v24122{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.announcement-mobile-meta-v24122 span{display:flex;align-items:center;gap:.35rem;min-width:0;padding:.55rem .65rem;border-radius:.7rem;background:rgba(var(--bs-primary-rgb),.045);color:var(--bs-secondary-color);font-size:.68rem}.announcement-mobile-meta-v24122 i{color:var(--bs-primary)}.announcement-mobile-card-v24122 footer{display:flex;gap:.45rem;margin-top:.8rem;padding-top:.75rem;border-top:1px solid var(--bs-border-color)}
.announcement-form-v24122{display:flex;flex-direction:column;gap:1rem}.announcement-form-v24122 .form-label{margin-bottom:.45rem;font-weight:800}.announcement-form-v24122 .form-control,.announcement-form-v24122 .form-select{min-height:46px;border-radius:.85rem}.announcement-form-grid-v24122{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:1rem}.announcement-body-input-v24122{min-height:190px;line-height:1.9;resize:vertical}.announcement-options-grid-v24122{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.announcement-option-card-v24122{position:relative;cursor:pointer;margin:0}.announcement-option-card-v24122>input{position:absolute;opacity:0;pointer-events:none}.announcement-option-card-v24122>span,.announcement-expiry-card-v24122{display:flex;min-height:105px;padding:1rem;border:1px solid var(--bs-border-color);border-radius:1rem;background:var(--bs-card-bg)}.announcement-option-card-v24122>span{align-items:center;gap:.8rem}.announcement-option-card-v24122>span>i{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:.85rem;background:rgba(var(--bs-primary-rgb),.08);color:var(--bs-primary);font-size:1.25rem}.announcement-option-card-v24122 strong,.announcement-option-card-v24122 small{display:block}.announcement-option-card-v24122 small{margin-top:.2rem;color:var(--bs-secondary-color);font-size:.7rem;line-height:1.5}.announcement-option-card-v24122>input:checked+span{border-color:rgba(var(--bs-primary-rgb),.5);background:rgba(var(--bs-primary-rgb),.06);box-shadow:0 0 0 2px rgba(var(--bs-primary-rgb),.07)}.announcement-option-card-v24122>input:checked+span>i{background:var(--bs-primary);color:#fff}.announcement-expiry-card-v24122{flex-direction:column;justify-content:center}.announcement-existing-files-v24122{padding:1rem;border:1px solid var(--bs-border-color);border-radius:1rem;background:rgba(var(--bs-primary-rgb),.025)}.announcement-existing-files-v24122>div{display:flex;flex-wrap:wrap;gap:.55rem}.announcement-existing-files-v24122>div>span{display:flex;align-items:center;gap:.45rem;padding:.45rem .65rem;border:1px solid var(--bs-border-color);border-radius:.7rem;background:var(--bs-card-bg)}.announcement-existing-files-v24122 a{display:flex;align-items:center;gap:.35rem;color:var(--bs-body-color);font-size:.7rem;font-weight:700;text-decoration:none}.announcement-groups-panel-v24122{padding:1rem;border:1px solid var(--bs-border-color);border-radius:1rem;transition:.2s ease}.announcement-groups-panel-v24122.is-disabled{opacity:.52;background:rgba(var(--bs-secondary-rgb),.035)}.announcement-groups-head-v24122{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.announcement-groups-head-v24122>div{display:flex;align-items:center;gap:.65rem}.announcement-groups-head-v24122>div>i{font-size:1.35rem}.announcement-groups-head-v24122 strong,.announcement-groups-head-v24122 small{display:block}.announcement-groups-head-v24122 small{margin-top:.15rem;color:var(--bs-secondary-color);font-size:.7rem}.announcement-groups-grid-v24122{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.announcement-groups-grid-v24122 label{position:relative;margin:0;cursor:pointer}.announcement-groups-grid-v24122 input{position:absolute;opacity:0}.announcement-groups-grid-v24122 span{display:flex;align-items:center;gap:.5rem;min-height:48px;padding:.65rem .75rem;border:1px solid var(--bs-border-color);border-radius:.8rem;font-size:.73rem;font-weight:800}.announcement-groups-grid-v24122 span>i{width:10px;height:10px;flex:0 0 10px;border-radius:50%;background:var(--group-color,#635bff)}.announcement-groups-grid-v24122 input:checked+span{border-color:rgba(var(--bs-primary-rgb),.55);background:rgba(var(--bs-primary-rgb),.07);color:var(--bs-primary)}
.announcement-view-v24122 h3{margin:0 0 1rem;font-size:1.35rem;font-weight:900}.announcement-view-body-v24122{padding:1.2rem;border:1px solid var(--bs-border-color);border-radius:1rem;background:rgba(var(--bs-primary-rgb),.025);line-height:2;font-size:.9rem}.announcement-view-meta-v24122{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-top:1rem}.announcement-view-meta-v24122>div{padding:.8rem;border-radius:.85rem;background:rgba(var(--bs-primary-rgb),.045)}.announcement-view-meta-v24122 small,.announcement-view-meta-v24122 strong{display:block}.announcement-view-meta-v24122 small{color:var(--bs-secondary-color);font-size:.68rem}.announcement-view-meta-v24122 strong{margin-top:.2rem;font-size:.76rem}.announcement-gallery-v24122{margin-top:1.2rem}.announcement-gallery-v24122 h6{font-weight:900}.announcement-gallery-v24122>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.announcement-gallery-v24122 a,.announcement-gallery-v24122 figure{margin:0;border:1px solid var(--bs-border-color);border-radius:.9rem;overflow:hidden;background:var(--bs-card-bg);text-decoration:none;color:var(--bs-body-color)}.announcement-gallery-v24122 img,.announcement-gallery-v24122 video{display:block;width:100%;height:180px;object-fit:cover;background:#0f172a}.announcement-gallery-v24122 span,.announcement-gallery-v24122 figcaption{display:block;padding:.55rem .7rem;font-size:.68rem;font-weight:700}

/* Dashboard announcements — full width and intentionally lighter than the management page. */
.dashboard-announcements-v24122{overflow:hidden}.dashboard-announcement-list-v24122{display:flex;flex-direction:column}.dashboard-announcement-item-v24122{display:grid;grid-template-columns:46px minmax(0,1fr) 30px;align-items:center;gap:.85rem;width:100%;padding:1rem 1.15rem;border:0;border-bottom:1px solid var(--bs-border-color);background:transparent;color:var(--bs-body-color);text-align:start;cursor:pointer;transition:.18s ease}.dashboard-announcement-item-v24122:last-child{border-bottom:0}.dashboard-announcement-item-v24122:hover{background:rgba(var(--bs-primary-rgb),.035)}.dashboard-announcement-icon-v24122{display:grid;place-items:center;width:44px;height:44px;border-radius:.9rem;background:rgba(var(--bs-primary-rgb),.09);color:var(--bs-primary);font-size:1.15rem}.dashboard-announcement-icon-v24122.tone-danger{background:rgba(250,82,82,.1);color:#e03131}.dashboard-announcement-icon-v24122.tone-warning{background:rgba(245,159,0,.12);color:#e67700}.dashboard-announcement-copy-v24122{min-width:0}.dashboard-announcement-title-v24122{display:flex;align-items:center;gap:.45rem;min-width:0}.dashboard-announcement-title-v24122>i{color:var(--bs-primary)}.dashboard-announcement-title-v24122 strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;font-weight:900}.dashboard-announcement-title-v24122 em{font-style:normal;font-size:.62rem}.dashboard-announcement-copy-v24122>small{display:block;margin:.25rem 0;color:var(--bs-secondary-color);font-size:.72rem;line-height:1.55;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-announcement-meta-v24122{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;color:var(--bs-secondary-color);font-size:.64rem}.dashboard-announcement-meta-v24122 i{color:var(--bs-primary);font-size:.8rem}.dashboard-announcement-meta-v24122 b{opacity:.45}.dashboard-announcement-open-v24122{display:grid;place-items:center;width:28px;height:28px;border-radius:.65rem;color:var(--bs-secondary-color)}.dashboard-announcement-item-v24122:hover .dashboard-announcement-open-v24122{background:rgba(var(--bs-primary-rgb),.08);color:var(--bs-primary)}.dashboard-announcement-empty-v24122{min-height:130px}.dashboard-announcement-view-v24122 h3{margin:0 0 1rem;font-size:1.35rem;font-weight:900}.dashboard-announcement-body-v24122{padding:1.15rem;border:1px solid var(--bs-border-color);border-radius:1rem;background:rgba(var(--bs-primary-rgb),.025);font-size:.88rem;line-height:2}.dashboard-announcement-view-meta-v24122{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:1rem}.dashboard-announcement-view-meta-v24122>span{padding:.8rem;border-radius:.85rem;background:rgba(var(--bs-primary-rgb),.045)}.dashboard-announcement-view-meta-v24122 small,.dashboard-announcement-view-meta-v24122 strong{display:block}.dashboard-announcement-view-meta-v24122 small{color:var(--bs-secondary-color);font-size:.67rem}.dashboard-announcement-view-meta-v24122 strong{margin-top:.2rem;font-size:.76rem}.dashboard-announcement-gallery-v24122{margin-top:1.2rem}.dashboard-announcement-gallery-v24122 h6{font-weight:900}.dashboard-announcement-gallery-v24122>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.dashboard-announcement-gallery-v24122 a,.dashboard-announcement-gallery-v24122 figure{margin:0;border:1px solid var(--bs-border-color);border-radius:.9rem;overflow:hidden;background:var(--bs-card-bg);text-decoration:none;color:var(--bs-body-color)}.dashboard-announcement-gallery-v24122 img,.dashboard-announcement-gallery-v24122 video{display:block;width:100%;height:180px;object-fit:cover;background:#0f172a}.dashboard-announcement-gallery-v24122 span,.dashboard-announcement-gallery-v24122 figcaption{display:block;padding:.55rem .7rem;font-size:.68rem;font-weight:700}

@media(max-width:1199.98px){.announcement-filter-grid-v24122{grid-template-columns:repeat(3,minmax(0,1fr))}.announcement-groups-grid-v24122{grid-template-columns:repeat(3,minmax(0,1fr))}.announcement-view-meta-v24122{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767.98px){.announcement-hero-v24122{align-items:stretch}.announcement-hero-mini-v24122{flex:1 1 auto;min-height:110px}.announcement-stat-grid-v24122{grid-template-columns:repeat(2,minmax(0,1fr))}.announcement-filter-grid-v24122,.announcement-form-grid-v24122,.announcement-options-grid-v24122{grid-template-columns:1fr}.announcement-filter-footer-v24122 .btn{flex:1 1 calc(50% - .4rem)}.announcement-filter-footer-v24122 .btn.ms-auto{margin-inline-start:0!important;flex-basis:100%}.announcement-desktop-table-v24122{display:none}.announcement-mobile-grid-v24122{display:block}.announcement-groups-grid-v24122{grid-template-columns:repeat(2,minmax(0,1fr))}.announcement-view-meta-v24122,.dashboard-announcement-view-meta-v24122{grid-template-columns:1fr}.announcement-gallery-v24122>div,.dashboard-announcement-gallery-v24122>div{grid-template-columns:1fr 1fr}.dashboard-announcement-item-v24122{grid-template-columns:40px minmax(0,1fr) 24px;padding:.9rem}.dashboard-announcement-icon-v24122{width:38px;height:38px}.dashboard-announcement-title-v24122{align-items:flex-start;flex-wrap:wrap}.dashboard-announcement-title-v24122 strong{flex:1 1 80%;white-space:normal}.dashboard-announcement-copy-v24122>small{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.dashboard-announcement-meta-v24122{line-height:1.6}}
@media(max-width:420px){.announcement-stat-grid-v24122{grid-template-columns:1fr}.announcement-groups-grid-v24122{grid-template-columns:1fr}.announcement-mobile-meta-v24122{grid-template-columns:1fr}.announcement-gallery-v24122>div,.dashboard-announcement-gallery-v24122>div{grid-template-columns:1fr}}


/* ========================================================================== */
/* Sonic Tower v2.4.123 — Administrative announcements modal cleanup          */
/* ========================================================================== */
.announcement-settings-grid-v24123{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}
.announcement-setting-row-v24123,
.announcement-expiry-row-v24123{
  min-width:0;
  min-height:92px;
  margin:0;
  padding:1rem;
  border:1px solid var(--bs-border-color);
  border-radius:1rem;
  background:var(--bs-card-bg);
}
.announcement-setting-row-v24123{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  align-items:center;
  gap:.85rem;
  cursor:pointer;
  transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease;
}
.announcement-setting-row-v24123:hover{
  border-color:rgba(var(--bs-primary-rgb),.38);
}
.announcement-setting-row-v24123:has(.form-check-input:checked){
  border-color:rgba(var(--bs-primary-rgb),.52);
  background:rgba(var(--bs-primary-rgb),.045);
  box-shadow:0 0 0 2px rgba(var(--bs-primary-rgb),.045);
}
.announcement-setting-icon-v24123,
.announcement-groups-icon-v24123{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  flex:0 0 44px;
  border-radius:.85rem;
  background:rgba(var(--bs-primary-rgb),.09);
  color:var(--bs-primary);
  font-size:1.25rem;
}
.announcement-setting-copy-v24123{
  min-width:0;
}
.announcement-setting-copy-v24123 strong,
.announcement-setting-copy-v24123 small{
  display:block;
}
.announcement-setting-copy-v24123 strong{
  color:var(--bs-body-color);
  font-size:.84rem;
  font-weight:800;
  line-height:1.5;
}
.announcement-setting-copy-v24123 small{
  margin-top:.2rem;
  color:var(--bs-secondary-color);
  font-size:.72rem;
  font-weight:500;
  line-height:1.55;
}
.announcement-setting-row-v24123>.form-check-input{
  position:static!important;
  float:none!important;
  width:1.25rem!important;
  min-width:1.25rem!important;
  height:1.25rem!important;
  margin:0!important;
  border-radius:.38rem!important;
  cursor:pointer;
}
.announcement-expiry-row-v24123{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.announcement-expiry-row-v24123 .form-label{
  margin-bottom:.45rem;
}
.announcement-groups-panel-v24123{
  padding:1rem;
  border:1px solid var(--bs-border-color);
  border-radius:1rem;
  background:var(--bs-card-bg);
  transition:opacity .18s ease,background-color .18s ease;
}
.announcement-groups-panel-v24123.is-disabled{
  opacity:.55;
  background:rgba(var(--bs-secondary-rgb),.035);
}
.announcement-groups-head-v24123{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
}
.announcement-groups-heading-v24123{
  display:flex;
  align-items:center;
  gap:.75rem;
  min-width:0;
}
.announcement-groups-heading-v24123>span:last-child{
  min-width:0;
}
.announcement-groups-heading-v24123 strong,
.announcement-groups-heading-v24123 small{
  display:block;
}
.announcement-groups-heading-v24123 strong{
  color:var(--bs-body-color);
  font-size:.86rem;
  font-weight:800;
}
.announcement-groups-heading-v24123 small{
  margin-top:.18rem;
  color:var(--bs-secondary-color);
  font-size:.71rem;
  font-weight:500;
  line-height:1.55;
}
.announcement-groups-grid-v24123{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.7rem;
}
.announcement-group-choice-v24123{
  display:grid;
  grid-template-columns:10px minmax(0,1fr) auto;
  align-items:center;
  gap:.65rem;
  min-width:0;
  min-height:50px;
  margin:0;
  padding:.7rem .8rem;
  border:1px solid var(--bs-border-color);
  border-radius:.8rem;
  background:var(--bs-body-bg);
  cursor:pointer;
  transition:border-color .16s ease,background-color .16s ease;
}
.announcement-group-choice-v24123:hover{
  border-color:rgba(var(--bs-primary-rgb),.35);
}
.announcement-group-choice-v24123:has(.form-check-input:checked){
  border-color:rgba(var(--bs-primary-rgb),.52);
  background:rgba(var(--bs-primary-rgb),.045);
}
.announcement-group-dot-v24123{
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--group-color,#635bff);
}
.announcement-group-name-v24123{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--bs-body-color);
  font-size:.75rem;
  font-weight:700;
}
.announcement-group-choice-v24123>.form-check-input{
  position:static!important;
  float:none!important;
  width:1.12rem!important;
  min-width:1.12rem!important;
  height:1.12rem!important;
  margin:0!important;
  border-radius:.34rem!important;
  cursor:pointer;
}
.announcement-groups-panel-v24123.is-disabled .announcement-group-choice-v24123{
  cursor:not-allowed;
}
@media(max-width:1199.98px){
  .announcement-groups-grid-v24123{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:767.98px){
  .announcement-settings-grid-v24123{grid-template-columns:1fr}
  .announcement-groups-head-v24123{align-items:flex-start;flex-direction:column}
  .announcement-groups-grid-v24123{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:420px){
  .announcement-groups-grid-v24123{grid-template-columns:1fr}
}


/* ========================================================================== */
/* Sonic Tower v2.4.125 — Announcement reader + TinyMCE content               */
/* ========================================================================== */
.dashboard-announcement-item-v24122{text-decoration:none}
.dashboard-announcement-item-v24122:focus-visible{outline:2px solid var(--bs-primary);outline-offset:-2px}
.announcement-detail-page-v24125{--ann-detail-gap:1rem}
.announcement-detail-hero-v24125{background:linear-gradient(135deg,#1e3a8a 0%,#4f46e5 52%,#2563eb 100%)}
.announcement-detail-hero-mini-v24125{display:grid;place-items:center;align-content:center;flex:0 0 190px;min-height:150px;padding:1rem;border:1px solid rgba(255,255,255,.24);border-radius:1.3rem;background:rgba(255,255,255,.12);text-align:center;backdrop-filter:blur(6px)}
.announcement-detail-hero-mini-v24125 span,.announcement-detail-hero-mini-v24125 small{color:rgba(255,255,255,.82);font-size:.75rem;font-weight:800}.announcement-detail-hero-mini-v24125 strong{display:block;margin:.3rem 0;color:#fff;font-size:2.25rem;font-weight:900;line-height:1}
.announcement-detail-stats-v24125{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--ann-detail-gap)}
.announcement-detail-stats-v24125 .generator-stat-card-v23134>span svg{width:27px;height:27px;color:#fff}.announcement-stat-text-v24125{font-size:1rem!important;line-height:1.35!important}
.announcement-detail-content-card-v24125,.announcement-detail-attachments-v24125,.announcement-viewers-card-v24125{border-radius:1.2rem;overflow:hidden}.announcement-detail-content-card-v24125>.card-header,.announcement-detail-attachments-v24125>.card-header,.announcement-viewers-card-v24125>.card-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:60px;font-weight:900}
.announcement-rich-content-v24125{min-height:160px;padding:1.25rem;border:1px solid var(--bs-border-color);border-radius:1rem;background:rgba(var(--bs-primary-rgb),.022);color:var(--bs-body-color);font-size:.9rem;line-height:1.95;overflow-wrap:anywhere}.announcement-rich-content-v24125>:first-child{margin-top:0}.announcement-rich-content-v24125>:last-child{margin-bottom:0}.announcement-rich-content-v24125 h1,.announcement-rich-content-v24125 h2,.announcement-rich-content-v24125 h3,.announcement-rich-content-v24125 h4,.announcement-rich-content-v24125 h5,.announcement-rich-content-v24125 h6{font-weight:900}.announcement-rich-content-v24125 table{width:100%;border-collapse:collapse;margin:.8rem 0}.announcement-rich-content-v24125 td,.announcement-rich-content-v24125 th{padding:.55rem .65rem;border:1px solid var(--bs-border-color)}.announcement-rich-content-v24125 blockquote{margin:.8rem 0;padding:.8rem 1rem;border-inline-start:4px solid var(--bs-primary);background:rgba(var(--bs-primary-rgb),.04)}.announcement-rich-content-v24125 a{color:var(--bs-primary)}
.announcement-detail-meta-v24125{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-top:1rem}.announcement-detail-meta-v24125>div{min-width:0;padding:.85rem;border-radius:.85rem;background:rgba(var(--bs-primary-rgb),.045)}.announcement-detail-meta-v24125 small,.announcement-detail-meta-v24125 strong{display:block}.announcement-detail-meta-v24125 small{color:var(--bs-secondary-color);font-size:.68rem}.announcement-detail-meta-v24125 strong{margin-top:.2rem;font-size:.76rem;line-height:1.6}
.announcement-detail-gallery-v24125{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.announcement-detail-gallery-v24125>a,.announcement-detail-gallery-v24125>figure{margin:0;overflow:hidden;border:1px solid var(--bs-border-color);border-radius:1rem;background:var(--bs-card-bg);color:var(--bs-body-color);text-decoration:none}.announcement-detail-gallery-v24125 img,.announcement-detail-gallery-v24125 video{display:block;width:100%;height:220px;object-fit:cover;background:#0f172a}.announcement-detail-gallery-v24125 span,.announcement-detail-gallery-v24125 figcaption{display:block;padding:.65rem .75rem;font-size:.7rem;font-weight:800}
.announcement-viewers-table-v24125 th{white-space:nowrap}.announcement-viewers-table-v24125 td{font-size:.76rem}.announcement-viewers-table-v24125 tbody tr:last-child td{border-bottom:0}
.announcement-form-v24122 .tox-tinymce{border:1px solid var(--bs-border-color);border-radius:.9rem;overflow:hidden}.announcement-form-v24122 .tox .tox-edit-area__iframe{background:#fff}.announcement-form-v24122 .tox.tox-tinymce{min-height:360px}
@media(max-width:991.98px){.announcement-detail-stats-v24125{grid-template-columns:repeat(2,minmax(0,1fr))}.announcement-detail-meta-v24125{grid-template-columns:repeat(2,minmax(0,1fr))}.announcement-detail-gallery-v24125{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767.98px){.announcement-detail-hero-v24125{align-items:stretch}.announcement-detail-hero-mini-v24125{flex:1 1 auto;min-height:105px}.announcement-detail-meta-v24125{grid-template-columns:1fr}.announcement-detail-gallery-v24125{grid-template-columns:1fr}.announcement-viewers-table-v24125{font-size:.72rem}}
@media(max-width:420px){.announcement-detail-stats-v24125{grid-template-columns:1fr}}

/* ========================================================================== */
/* Sonic Tower v2.4.128 — Dashboard announcements prominence                 */
/* ========================================================================== */
.dashboard-announcements-v24122{
  border-color:rgba(245,159,0,.16);
  box-shadow:0 8px 24px rgba(15,23,42,.045);
}
.dashboard-announcements-v24122 .dashboard-panel-header-v2453{
  background:linear-gradient(90deg,rgba(245,159,0,.045),rgba(var(--bs-primary-rgb),.018));
  border-bottom-color:rgba(245,159,0,.15);
}
.dashboard-announcements-v24122 .dashboard-panel-header-v2453>span{
  color:var(--bs-emphasis-color);
  font-weight:900;
}
.dashboard-announcements-v24122 .dashboard-panel-header-v2453>span>i{
  color:#f59f00!important;
  font-size:1.12rem;
}
.dashboard-announcement-item-v24122{
  min-height:82px;
  padding:1rem 1.2rem;
  border-bottom-color:rgba(100,116,139,.14);
  background:var(--bs-card-bg);
}
.dashboard-announcement-item-v24122:hover{
  background:rgba(245,159,0,.045);
}
.dashboard-announcement-icon-v24122,
.dashboard-announcement-icon-v24122.tone-danger,
.dashboard-announcement-icon-v24122.tone-warning,
.dashboard-announcement-icon-v24122.tone-primary,
.dashboard-announcement-icon-v24122.tone-info,
.dashboard-announcement-icon-v24122.tone-success,
.dashboard-announcement-icon-v24122.tone-secondary{
  width:46px;
  height:46px;
  border:1px solid rgba(245,159,0,.16);
  border-radius:.95rem;
  background:rgba(245,159,0,.115);
  color:#f08c00;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.2);
}
.dashboard-announcement-icon-v24122>i{
  color:#f08c00!important;
  font-size:1.18rem;
}
.dashboard-announcement-title-v24122{
  gap:.5rem;
}
.dashboard-announcement-title-v24122>i{
  color:#635bff;
}
.dashboard-announcement-title-v24122 strong{
  color:#202a3b;
  font-size:.9rem;
  font-weight:900;
  letter-spacing:0;
}
.dashboard-announcement-title-v24122 em.badge{
  padding:.3rem .58rem;
  border-radius:.55rem;
  font-size:.62rem;
  font-weight:900;
}
.dashboard-announcement-copy-v24122>small{
  margin:.32rem 0 .38rem;
  color:#657184;
  font-size:.75rem;
  font-weight:600;
  line-height:1.65;
}
.dashboard-announcement-meta-v24122{
  color:#7a8493;
  font-size:.66rem;
  font-weight:650;
}
.dashboard-announcement-meta-v24122 i{
  color:#4f6df5;
  font-size:.82rem;
}
.dashboard-announcement-meta-v24122 i.ti-clock{
  color:#17a2b8;
}
.dashboard-announcement-meta-v24122 i.ti-users{
  color:#f59f00;
}
.dashboard-announcement-open-v24122{
  color:#98a2b1;
}
.dashboard-announcement-item-v24122:hover .dashboard-announcement-open-v24122{
  background:rgba(245,159,0,.11);
  color:#e67700;
}
[data-bs-theme="dark"] .dashboard-announcements-v24122{
  border-color:rgba(245,159,0,.18);
  box-shadow:none;
}
[data-bs-theme="dark"] .dashboard-announcements-v24122 .dashboard-panel-header-v2453{
  background:linear-gradient(90deg,rgba(245,159,0,.07),rgba(var(--bs-primary-rgb),.035));
  border-bottom-color:rgba(245,159,0,.14);
}
[data-bs-theme="dark"] .dashboard-announcement-item-v24122{
  background:var(--bs-card-bg);
  border-bottom-color:rgba(255,255,255,.075);
}
[data-bs-theme="dark"] .dashboard-announcement-item-v24122:hover{
  background:rgba(245,159,0,.055);
}
[data-bs-theme="dark"] .dashboard-announcement-title-v24122 strong{
  color:#f3f6fb;
}
[data-bs-theme="dark"] .dashboard-announcement-copy-v24122>small{
  color:#bcc5d1;
}
[data-bs-theme="dark"] .dashboard-announcement-meta-v24122{
  color:#9da8b7;
}
@media(max-width:767.98px){
  .dashboard-announcement-item-v24122{min-height:76px;padding:.9rem 1rem}
  .dashboard-announcement-icon-v24122,
  .dashboard-announcement-icon-v24122.tone-danger,
  .dashboard-announcement-icon-v24122.tone-warning,
  .dashboard-announcement-icon-v24122.tone-primary,
  .dashboard-announcement-icon-v24122.tone-info,
  .dashboard-announcement-icon-v24122.tone-success,
  .dashboard-announcement-icon-v24122.tone-secondary{width:40px;height:40px}
  .dashboard-announcement-title-v24122 strong{font-size:.86rem}
  .dashboard-announcement-copy-v24122>small{font-size:.72rem}
}


/* ========================================================================== */
/* Sonic Tower v2.4.130 — balanced inventory switches + fuel statistics rows */
/* ========================================================================== */
.inventory-workflow-page .sonic-natural-switch-field {
  min-width: 0;
  width: 100%;
}
.inventory-workflow-page .sonic-natural-switch-field > .form-label {
  min-height: 22px;
  margin: 0 0 7px !important;
  color: var(--bs-heading-color);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.45;
}
.inventory-workflow-page .sonic-natural-switch-group,
.inventory-workflow-page .sonic-natural-switch-control,
.inventory-workflow-page .sonic-natural-switch-group > .input-group-text {
  min-height: 44px;
}
.inventory-workflow-page .sonic-natural-switch-control {
  height: 44px;
}

/* Desktop: 5 balanced cards in the first row and 4 in the second row. */
@media (min-width: 1200px) {
  .fuel-page-v23134 .fuel-stat-grid-v23134 {
    display: grid !important;
    grid-template-columns: repeat(20, minmax(0, 1fr));
    gap: 1rem;
    overflow: visible;
    padding-bottom: 0;
  }
  .fuel-page-v23134 .fuel-stat-grid-v23134 .generator-stat-card-v23134 {
    min-width: 0;
    width: auto;
    min-height: 108px;
    scroll-snap-align: none;
  }
  .fuel-page-v23134 .fuel-stat-grid-v23134 .generator-stat-card-v23134:nth-child(-n+5) {
    grid-column: span 4;
  }
  .fuel-page-v23134 .fuel-stat-grid-v23134 .generator-stat-card-v23134:nth-child(n+6) {
    grid-column: span 5;
  }
}

/* Tablet keeps a clean two-column layout instead of horizontal scrolling. */
@media (min-width: 768px) and (max-width: 1199.98px) {
  .fuel-page-v23134 .fuel-stat-grid-v23134 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    overflow: visible;
    padding-bottom: 0;
  }
  .fuel-page-v23134 .fuel-stat-grid-v23134 .generator-stat-card-v23134 {
    min-width: 0;
    width: auto;
  }
  .fuel-page-v23134 .fuel-stat-grid-v23134 .generator-stat-card-v23134:last-child {
    grid-column: 1 / -1;
  }
}

/* Phone: one full-width card per row for maximum readability. */
@media (max-width: 767.98px) {
  .fuel-page-v23134 .fuel-stat-grid-v23134 {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: .75rem;
    overflow: visible;
    padding-bottom: 0;
  }
  .fuel-page-v23134 .fuel-stat-grid-v23134 .generator-stat-card-v23134 {
    min-width: 0;
    width: 100%;
  }
}

/* ========================================================================== */
/* Sonic Tower v2.4.131 — balanced forms and workflow card footers            */
/* ========================================================================== */
.work-item-switch-grid-v24131 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px !important;
  width: 100%;
  margin: 0 !important;
}
.work-item-switch-grid-v24131.is-group {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.work-item-switch-grid-v24131 > .sonic-natural-switch-field {
  min-width: 0;
  width: 100%;
  max-width: none;
  padding: 0 !important;
  margin: 0 !important;
}
.work-item-switch-grid-v24131 .sonic-natural-switch-group,
.work-item-switch-grid-v24131 .sonic-natural-switch-control {
  width: 100%;
}

.location-create-grid-v24131 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(175px, 1fr));
  gap: 16px;
  width: 100%;
  align-items: end;
}
.location-create-field-v24131 {
  min-width: 0;
  width: 100%;
}
.location-create-field-v24131 .form-control,
.location-create-field-v24131 .form-select,
.location-create-field-v24131 .select2-container {
  width: 100% !important;
  max-width: 100%;
}

/* Header forms now use the same bounded grid as warehouses.php; never create
   their own horizontal-scrolling row. */
.inventory-page-inventory-receipts .inventory-receipt-header-grid-v24131,
.inventory-page-site_material_returns .inventory-site-return-grid-v24131 {
  overflow: visible;
  min-width: 0;
}
.inventory-page-inventory-receipts .inventory-receipt-header-grid-v24131 > *,
.inventory-page-site_material_returns .inventory-site-return-grid-v24131 > * {
  min-width: 0 !important;
}

@media (max-width: 767.98px) {
  .work-item-switch-grid-v24131,
  .work-item-switch-grid-v24131.is-group,
  .location-create-grid-v24131 {
    grid-template-columns: 1fr;
  }
}

/* ========================================================================== */
/* Sonic Tower v2.4.132 — system-wide clean and equal-height form controls    */
/* ========================================================================== */
:root {
  --sonic-control-height-v24132: 48px;
  --sonic-control-radius-v24132: .85rem;
  --sonic-control-pad-x-v24132: .85rem;
}

/* One physical height for every standard one-line field across the system. */
input.form-control,
select.form-control,
select.form-select,
.input-group > input.form-control,
.input-group > select.form-control,
.input-group > select.form-select {
  height: var(--sonic-control-height-v24132) !important;
  min-height: var(--sonic-control-height-v24132) !important;
  max-height: var(--sonic-control-height-v24132) !important;
  padding-top: .55rem !important;
  padding-bottom: .55rem !important;
  padding-inline: var(--sonic-control-pad-x-v24132) !important;
  border-radius: var(--sonic-control-radius-v24132) !important;
  line-height: 1.35 !important;
}

/* Keep textareas genuinely multi-line while sharing the same visual language. */
textarea.form-control {
  border-radius: var(--sonic-control-radius-v24132) !important;
  padding: .72rem var(--sonic-control-pad-x-v24132) !important;
  line-height: 1.65 !important;
}

/* File and color controls remain one-line controls without changing their data. */
input[type="file"].form-control,
input[type="color"].form-control {
  min-height: var(--sonic-control-height-v24132) !important;
  height: var(--sonic-control-height-v24132) !important;
}
input[type="color"].form-control {
  padding: .3rem !important;
}

/* Textual addons such as currency/unit labels keep the same physical height. */
.input-group > .input-group-text {
  height: var(--sonic-control-height-v24132) !important;
  min-height: var(--sonic-control-height-v24132) !important;
  border-radius: var(--sonic-control-radius-v24132) !important;
  padding-inline: .8rem !important;
  line-height: 1.2 !important;
}

/* Functional buttons attached to a field must line up exactly with it. */
.input-group > .btn {
  height: var(--sonic-control-height-v24132) !important;
  min-height: var(--sonic-control-height-v24132) !important;
  max-height: var(--sonic-control-height-v24132) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: var(--sonic-control-radius-v24132) !important;
}

/* Restore the connected corners Bootstrap expects inside input groups. */
html[dir="rtl"] .input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
  border-start-start-radius: 0 !important;
  border-end-start-radius: 0 !important;
}
html[dir="rtl"] .input-group > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating) {
  border-start-end-radius: 0 !important;
  border-end-end-radius: 0 !important;
}

/* Select2 is part of the same control system, not a separate visual component. */
.select2-container .select2-selection--single {
  height: var(--sonic-control-height-v24132) !important;
  min-height: var(--sonic-control-height-v24132) !important;
  max-height: var(--sonic-control-height-v24132) !important;
  border-radius: var(--sonic-control-radius-v24132) !important;
}
.select2-container .select2-selection--single .select2-selection__rendered {
  height: calc(var(--sonic-control-height-v24132) - 2px) !important;
  min-height: calc(var(--sonic-control-height-v24132) - 2px) !important;
  line-height: calc(var(--sonic-control-height-v24132) - 2px) !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.select2-container .select2-selection--multiple {
  min-height: var(--sonic-control-height-v24132) !important;
  border-radius: var(--sonic-control-radius-v24132) !important;
  padding-top: .2rem !important;
  padding-bottom: .2rem !important;
}
.select2-container--default .select2-selection--multiple .select2-search--inline .select2-search__field {
  min-height: 32px !important;
  line-height: 32px !important;
  margin-top: 4px !important;
}

/* Native date/time controls keep their browser picker icon, but not a different height. */
input[type="date"].form-control,
input[type="time"].form-control,
input[type="datetime-local"].form-control,
input[type="month"].form-control,
input[type="week"].form-control {
  height: var(--sonic-control-height-v24132) !important;
  min-height: var(--sonic-control-height-v24132) !important;
  line-height: 1.35 !important;
}

/* Labels use one rhythm everywhere; decorative field icons were removed in v2.4.132. */
.form-label {
  margin-bottom: 8px !important;
  line-height: 1.4 !important;
}

/* A few legacy search wrappers used a free-standing decorative icon rather than
   an input-group addon. Keep the field clean and reclaim the icon padding. */
.locations-search-control-v2382 > i,
.assignment-table-search > i,
.permission-search-input-v2392 > i {
  display: none !important;
}
.locations-search-control-v2382 > .form-control,
.assignment-table-search > .form-control,
.permission-search-input-v2392 > .form-control {
  padding-inline: var(--sonic-control-pad-x-v24132) !important;
}

/* Natural switch cards remain cards, but no longer depend on a decorative
   prefix icon. Their control itself occupies the full width cleanly. */
.sonic-natural-switch-group > .sonic-natural-switch-control {
  width: 100% !important;
  border-radius: var(--sonic-control-radius-v24132) !important;
}

/* Do not let historical page-specific 43/44/46px rules win over the system
   standard for actual one-line controls. */
.card input.form-control:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
.card select.form-select,
.modal input.form-control:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
.modal select.form-select {
  height: var(--sonic-control-height-v24132) !important;
  min-height: var(--sonic-control-height-v24132) !important;
  max-height: var(--sonic-control-height-v24132) !important;
}

@media (max-width: 575.98px) {
  :root {
    --sonic-control-height-v24132: 48px;
  }
}

/* Simple switch cards share the same 48px rhythm as ordinary controls. */
.sonic-natural-switch-group {
  min-height: var(--sonic-control-height-v24132) !important;
}
.sonic-natural-switch-field:not(.sonic-natural-switch-field-detailed) .sonic-natural-switch-control {
  height: var(--sonic-control-height-v24132) !important;
  min-height: var(--sonic-control-height-v24132) !important;
}

/* ========================================================================== */
/* Sonic Tower v2.4.133 — fully rounded standalone controls in input groups   */
/* ========================================================================== */
/*
 * A few legacy forms wrap a single field in .input-group even when there is
 * no real addon/button.  Select2 keeps the original <select> hidden and adds
 * its visual container beside it, so the old RTL input-group corner rules
 * treated the visual control as the "last half" of a connected group and
 * squared one side.  Standalone fields must look exactly like every other
 * Sonic control: four equal rounded corners.
 */
.input-group > .form-control:only-child,
.input-group > .form-select:only-child,
.input-group > select.form-control:only-child,
.input-group > select.form-select:only-child {
  border-radius: var(--sonic-control-radius-v24132) !important;
  margin-inline: 0 !important;
}

/* Select2 transformation of a standalone select:
   <select class="select2-hidden-accessible"> + <span class="select2-container"> */
.input-group > select.select2-hidden-accessible:first-child + .select2-container:last-child {
  margin-inline: 0 !important;
}
.input-group > select.select2-hidden-accessible:first-child + .select2-container:last-child .select2-selection,
.input-group > select.select2-hidden-accessible:first-child + .select2-container:last-child .select2-selection--single,
.input-group > select.select2-hidden-accessible:first-child + .select2-container:last-child .select2-selection--multiple {
  border-radius: var(--sonic-control-radius-v24132) !important;
}

/* Modern-browser safety net for legacy wrappers that contain no real addon or
   action at all.  This also covers wrappers that contain hidden helper inputs. */
.input-group:not(:has(> .input-group-text, > .btn, > button, > a, > .dropdown-toggle)) > .form-control,
.input-group:not(:has(> .input-group-text, > .btn, > button, > a, > .dropdown-toggle)) > .form-select,
.input-group:not(:has(> .input-group-text, > .btn, > button, > a, > .dropdown-toggle)) > .select2-container .select2-selection,
.input-group:not(:has(> .input-group-text, > .btn, > button, > a, > .dropdown-toggle)) > .select2-container .select2-selection--single,
.input-group:not(:has(> .input-group-text, > .btn, > button, > a, > .dropdown-toggle)) > .select2-container .select2-selection--multiple {
  border-radius: var(--sonic-control-radius-v24132) !important;
}

/* Real connected input groups keep Bootstrap/Sonic joined corners; only the
   pointless standalone wrappers are normalized above. */

/* ========================================================================== */
/* Sonic Tower v2.4.134 — assignment history, funded rows & icon text spacing */
/* ========================================================================== */

/* Keep icon/text rhythm consistent everywhere without adding decorative icons. */
a.btn:not(.btn-close),
button.btn:not(.btn-close) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
}
span.badge,
a.badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .34rem;
}
a.btn > .ti,
button.btn > .ti,
span.badge > .ti,
a.badge > .ti {
  margin-inline: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.ti.sonic-icon-before-text-v24134 {
  margin-inline-end: .4rem !important;
}
.ti.sonic-icon-after-text-v24134 {
  margin-inline-start: .4rem !important;
}

/* Step 2: compact real checkbox that can hide only the no-balance rows. */
.assignment-table-toolbar {
  flex-wrap: wrap;
}
.assignment-funded-only-toggle-v24134 {
  display: flex;
  align-items: center;
  gap: .7rem;
  min-height: var(--sonic-control-height-v24132);
  min-width: min(100%, 315px);
  padding: .55rem .8rem;
  margin: 0;
  border: 1px solid var(--bs-border-color);
  border-radius: var(--sonic-control-radius-v24132);
  background: var(--bs-body-bg);
  cursor: pointer;
  flex: 1 1 315px;
}
.assignment-funded-only-toggle-v24134 .form-check-input {
  flex: 0 0 auto;
  width: 1.15rem;
  height: 1.15rem;
  margin: 0;
}
.assignment-funded-only-copy-v24134 {
  display: flex;
  flex-direction: column;
  gap: .12rem;
  min-width: 0;
}
.assignment-funded-only-copy-v24134 strong {
  font-size: .9rem;
  line-height: 1.25;
}
.assignment-funded-only-copy-v24134 small {
  color: var(--bs-secondary-color);
  font-size: .74rem;
  line-height: 1.25;
}
.assignment-table-search {
  flex: 1 1 300px;
}

/* New standalone current/history page: equal filters with no horizontal scroll. */
.assignment-history-filter-grid-v24134 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  align-items: end;
}
.assignment-history-filter-grid-v24134 > * {
  min-width: 0;
}
.assignment-history-filters-v24134 .card-footer {
  border-top: 1px solid var(--bs-border-color);
}

@media (max-width: 991.98px) {
  .assignment-history-filter-grid-v24134 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 575.98px) {
  .assignment-history-filter-grid-v24134 {
    grid-template-columns: 1fr;
  }
  .assignment-funded-only-toggle-v24134,
  .assignment-table-search {
    flex-basis: 100%;
    width: 100%;
  }
}


/* ========================================================================== */
/* Sonic Tower v2.4.135 — inventory page overflow + assignment pagination     */
/* ========================================================================== */

/* These workflow pages must never widen the application viewport. Scrollable
   data, when unavoidable, stays contained by its own card instead of creating
   a horizontal scrollbar for the whole page. */
body.inventory-page-material_requests,
body.inventory-page-warehouse_transfers,
body.inventory-page-site_material_returns {
  overflow-x: hidden;
}
.inventory-page-material_requests .body-wrapper,
.inventory-page-warehouse_transfers .body-wrapper,
.inventory-page-site_material_returns .body-wrapper,
.inventory-page-material_requests .container-fluid,
.inventory-page-warehouse_transfers .container-fluid,
.inventory-page-site_material_returns .container-fluid,
.inventory-page-material_requests .inventory-page-stack,
.inventory-page-warehouse_transfers .inventory-page-stack,
.inventory-page-site_material_returns .inventory-page-stack,
.inventory-page-material_requests .card,
.inventory-page-warehouse_transfers .card,
.inventory-page-site_material_returns .card {
  min-width: 0;
  max-width: 100%;
}

/* The transfer header used to be a max-content horizontal strip. It now uses
   the normal responsive inventory grid: 4 columns, then 2, then 1. */
.inventory-page-warehouse_transfers .inventory-transfer-header-grid-v24135 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: visible;
  min-width: 0;
}
.inventory-page-warehouse_transfers .inventory-transfer-header-grid-v24135 > * {
  min-width: 0 !important;
}

/* The item editors on these two pages contain only four compact columns and do
   not need the legacy 980px forced width. Keeping them bounded removes the
   unnecessary horizontal bar while retaining real table rows. */
.inventory-page-material_requests table.inventory-editor-table,
.inventory-page-warehouse_transfers table.inventory-editor-table {
  min-width: 0 !important;
  width: 100% !important;
  table-layout: fixed !important;
}
.inventory-page-material_requests table.inventory-editor-table th,
.inventory-page-material_requests table.inventory-editor-table td,
.inventory-page-warehouse_transfers table.inventory-editor-table th,
.inventory-page-warehouse_transfers table.inventory-editor-table td {
  min-width: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
}
.inventory-page-material_requests table.inventory-editor-table .inventory-cell-item,
.inventory-page-warehouse_transfers table.inventory-editor-table .inventory-cell-item {
  width: 38%;
}
.inventory-page-material_requests table.inventory-editor-table .inventory-cell-number,
.inventory-page-warehouse_transfers table.inventory-editor-table .inventory-cell-number {
  width: 18%;
}
.inventory-page-material_requests table.inventory-editor-table .inventory-cell-note,
.inventory-page-warehouse_transfers table.inventory-editor-table .inventory-cell-note {
  width: auto;
}
.inventory-page-material_requests table.inventory-editor-table .inventory-cell-action,
.inventory-page-warehouse_transfers table.inventory-editor-table .inventory-cell-action {
  width: 64px;
}

/* Keep any ordinary history table overflow local to its table wrapper. */
.inventory-page-material_requests .table-responsive,
.inventory-page-warehouse_transfers .table-responsive,
.inventory-page-site_material_returns .table-responsive {
  max-width: 100%;
}

/* The assignment history pager belongs visually to the history card itself. */
.assignment-history-pagination-v24135 {
  padding: 14px 16px;
  border-top: 1px solid var(--bs-border-color);
  background: var(--bs-body-bg);
}
.assignment-history-pagination-v24135 .sonic-server-pagination {
  margin: 0;
}

@media (max-width: 991.98px) {
  .inventory-page-warehouse_transfers .inventory-transfer-header-grid-v24135 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 575.98px) {
  .inventory-page-warehouse_transfers .inventory-transfer-header-grid-v24135 {
    grid-template-columns: 1fr;
  }
  .inventory-page-material_requests table.inventory-editor-table .inventory-cell-item,
  .inventory-page-warehouse_transfers table.inventory-editor-table .inventory-cell-item {
    width: 36%;
  }
  .inventory-page-material_requests table.inventory-editor-table .inventory-cell-number,
  .inventory-page-warehouse_transfers table.inventory-editor-table .inventory-cell-number {
    width: 22%;
  }
  .inventory-page-material_requests table.inventory-editor-table .inventory-cell-action,
  .inventory-page-warehouse_transfers table.inventory-editor-table .inventory-cell-action {
    width: 52px;
  }
}

/* ========================================================================== */
/* Sonic Tower v2.4.136 — assignment visibility filters + floating price CTA  */
/* ========================================================================== */

/* Step 2 toolbar: the explanatory sentence moved into a tooltip so both
   checkbox controls stay exactly as tall as the search field and actions. */
.assignment-visibility-toggle-v24136 {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  height: var(--sonic-control-height-v24132);
  min-height: var(--sonic-control-height-v24132);
  padding: 0 .85rem;
  margin: 0;
  border: 1px solid var(--bs-border-color);
  border-radius: var(--sonic-control-radius-v24132);
  background: var(--bs-body-bg);
  color: var(--bs-body-color);
  cursor: pointer;
  white-space: nowrap;
  flex: 0 1 auto;
  font-size: .86rem;
  font-weight: 800;
  user-select: none;
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.assignment-visibility-toggle-v24136:hover {
  border-color: rgba(var(--bs-primary-rgb), .45);
  box-shadow: 0 4px 14px rgba(15, 23, 42, .06);
}
.assignment-visibility-toggle-v24136:has(.form-check-input:checked) {
  border-color: rgba(var(--bs-primary-rgb), .55);
  background: rgba(var(--bs-primary-rgb), .07);
}
.assignment-visibility-toggle-v24136 .form-check-input {
  flex: 0 0 auto;
  width: 1.15rem;
  height: 1.15rem;
  margin: 0;
  cursor: pointer;
}
.assignment-table-toolbar > .d-flex .btn,
.assignment-table-toolbar > .assignment-table-search .form-control {
  height: var(--sonic-control-height-v24132);
  min-height: var(--sonic-control-height-v24132);
}
.assignment-table-toolbar > .d-flex .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Floating shortcut appears only while there are selected items and the
   original footer action / price card are outside the viewport. */
.assignment-floating-prices-v24136 {
  position: fixed;
  left: 50%;
  bottom: max(22px, env(safe-area-inset-bottom));
  z-index: 1040;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  min-height: 58px;
  max-width: min(92vw, 430px);
  padding: .55rem .72rem .55rem .9rem;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 18px;
  background: linear-gradient(135deg, #111827, #334155);
  color: #fff;
  box-shadow: 0 18px 45px rgba(15,23,42,.28), 0 4px 14px rgba(15,23,42,.16);
  cursor: pointer;
  text-align: start;
  animation: assignmentFloatingPricesInV24136 .2s ease-out;
}
.assignment-floating-prices-v24136:hover,
.assignment-floating-prices-v24136:focus-visible {
  color: #fff;
  transform: translateX(-50%) translateY(-2px);
  box-shadow: 0 21px 50px rgba(15,23,42,.32), 0 5px 16px rgba(15,23,42,.18);
}
.assignment-floating-prices-v24136.d-none { display: none !important; }
.assignment-floating-prices-icon-v24136 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border-radius: 12px;
  background: rgba(255,255,255,.13);
  font-size: 1.25rem;
}
.assignment-floating-prices-copy-v24136 {
  display: flex;
  flex-direction: column;
  min-width: 0;
  line-height: 1.2;
}
.assignment-floating-prices-copy-v24136 strong { font-size: .95rem; font-weight: 900; }
.assignment-floating-prices-copy-v24136 small { margin-top: .16rem; color: rgba(255,255,255,.72); font-size: .72rem; font-weight: 600; }
.assignment-floating-prices-count-v24136 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 34px;
  padding: 0 .55rem;
  margin-inline-start: .18rem;
  border-radius: 999px;
  background: #fff;
  color: #111827;
  font-size: .78rem;
  font-weight: 950;
}
@keyframes assignmentFloatingPricesInV24136 {
  from { opacity: 0; transform: translateX(-50%) translateY(10px) scale(.97); }
  to { opacity: 1; transform: translateX(-50%) translateY(0) scale(1); }
}
[data-bs-theme="dark"] .assignment-visibility-toggle-v24136 {
  background: var(--bs-body-bg);
  border-color: rgba(255,255,255,.12);
}
[data-bs-theme="dark"] .assignment-visibility-toggle-v24136:has(.form-check-input:checked) {
  background: rgba(var(--bs-primary-rgb), .14);
}
@media (max-width: 1199.98px) {
  .assignment-visibility-toggle-v24136 { flex: 1 1 260px; justify-content: flex-start; }
}
@media (max-width: 767.98px) {
  .assignment-visibility-toggle-v24136,
  .assignment-table-search { flex-basis: 100%; width: 100%; }
  .assignment-floating-prices-v24136 {
    bottom: max(14px, env(safe-area-inset-bottom));
    min-height: 54px;
    width: min(92vw, 390px);
    border-radius: 16px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .assignment-floating-prices-v24136 { animation: none; transition: none; }
}
