.Modal-module__overlay--mUn3K {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: max(var(--space-4), env(safe-area-inset-top)) var(--space-4) max(var(--space-4), env(safe-area-inset-bottom));
  background-color: var(--color-bg-overlay);
  z-index: var(--z-modal);
}

.Modal-module__dialog--YBPJy {
  width: 100%;
  max-width: 32rem;
  max-height: calc(100vh - var(--space-8));
  max-height: calc(100dvh - var(--space-8));
  overflow-y: auto;
  background-color: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
}

.Modal-module__dialogLg--G3tDw {
  max-width: 44rem;
}

.Modal-module__dialog--YBPJy:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

.Modal-module__header--Y3zyv {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-4) var(--space-6);
  border-bottom: 1px solid var(--color-border);
}

.Modal-module__title--OtD5S {
  font-size: var(--text-lg);
  font-weight: 600;
  color: var(--color-text-primary);
}

.Modal-module__close--Tr8V9 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  color: var(--color-text-secondary);
  border-radius: var(--radius-md);
}

.Modal-module__close--Tr8V9:hover {
  color: var(--color-text-primary);
  background-color: var(--color-bg-elevated);
}

.Modal-module__body--HNe1E {
  padding: var(--space-6);
}

.Modal-module__footer--diVUx {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--space-3);
  padding: var(--space-4) var(--space-6);
  border-top: 1px solid var(--color-border);
}

@media (max-width: 720px) {
  .Modal-module__overlay--mUn3K {
    padding: max(var(--space-2), env(safe-area-inset-top)) var(--space-2) max(var(--space-2), env(safe-area-inset-bottom));
    align-items: flex-end;
  }

  .Modal-module__dialog--YBPJy {
    max-width: 100%;
    max-height: calc(100dvh - var(--space-4));
    border-radius: var(--radius-md) var(--radius-md) 0 0;
  }

  .Modal-module__header--Y3zyv,
  .Modal-module__body--HNe1E,
  .Modal-module__footer--diVUx {
    padding-left: var(--space-4);
    padding-right: var(--space-4);
  }

  .Modal-module__body--HNe1E {
    padding-top: var(--space-4);
    padding-bottom: var(--space-4);
  }

  .Modal-module__footer--diVUx {
    justify-content: stretch;
  }

  .Modal-module__footer--diVUx > * {
    flex: 1 1 auto;
  }
}

.Button-module__button--A4TA5 {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  font-weight: 500;
  border-radius: var(--radius-md);
  transition: background-color 0.15s ease, border-color 0.15s ease, opacity 0.15s ease;
}

.Button-module__button--A4TA5:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

.Button-module__sm--EB3xU {
  padding: var(--space-1) var(--space-3);
  font-size: var(--text-sm);
}

.Button-module__md--pcVtp {
  padding: var(--space-2) var(--space-4);
  font-size: var(--text-base);
}

.Button-module__lg--wH5jF {
  padding: var(--space-3) var(--space-6);
  font-size: var(--text-lg);
}

.Button-module__fullWidth--R_v3d {
  width: 100%;
}

.Button-module__primary--KNI1w {
  color: var(--color-accent-ink);
  background-color: var(--color-primary);
}

.Button-module__primary--KNI1w:hover:not(:disabled) {
  background-color: var(--color-primary-hover);
}

.Button-module__primary--KNI1w:active:not(:disabled) {
  background-color: var(--color-primary-active);
}

.Button-module__secondary--b0rwE {
  color: var(--color-text-primary);
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
}

.Button-module__secondary--b0rwE:hover:not(:disabled) {
  background-color: var(--color-bg-surface);
  border-color: var(--color-border-hover);
}

.Button-module__danger--MJn_C {
  color: var(--color-text-inverse);
  background-color: var(--color-status-error);
}

.Button-module__danger--MJn_C:hover:not(:disabled) {
  filter: brightness(1.1);
}

.Button-module__ghost--ZkykJ {
  color: var(--color-text-secondary);
  background-color: transparent;
}

.Button-module__ghost--ZkykJ:hover:not(:disabled) {
  color: var(--color-text-primary);
  background-color: var(--color-bg-elevated);
}

.Button-module__spinner--BuGGP {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  display: block;
  width: 1rem;
  height: 1rem;
  animation: Button-module__spin--vAThm 1s linear infinite;
}

.Button-module__label--UFtQ_ {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
}

.Button-module__labelHidden--SmFPh {
  display: inline-flex;
  align-items: center;
  visibility: hidden;
}

@keyframes Button-module__spin--vAThm {
  to {
    transform: rotate(360deg);
  }
}

.DateRangePicker-module__root--I54wI {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  min-width: 0;
}

.DateRangePicker-module__label--Fymwb {
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--color-text-secondary);
}

.DateRangePicker-module__trigger--r7pAM {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  height: 2.25rem;
  min-width: 11.5rem;
  padding: 0 var(--space-3);
  color: var(--color-text-primary);
  background-color: var(--color-bg-input);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  font-size: var(--text-sm);
  white-space: nowrap;
  cursor: pointer;
  transition:
    border-color 0.22s ease, box-shadow 0.22s ease, background-color 0.22s ease;
}

.DateRangePicker-module__trigger--r7pAM:hover:not(:disabled):not([aria-expanded='true']) {
  border-color: var(--color-accent-border);
  box-shadow: 0 0 0 1px var(--color-accent-soft), 0 10px 28px rgba(245, 166, 35, 0.08);
}

.DateRangePicker-module__trigger--r7pAM:focus-visible,
.DateRangePicker-module__trigger--r7pAM[aria-expanded='true'] {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px var(--color-focus-ring), 0 12px 28px rgba(245, 166, 35, 0.14);
}

.DateRangePicker-module__panel--JR9V_ {
  position: fixed;
  z-index: calc(var(--z-modal) + 1);
  display: flex;
  min-width: 0;
  padding: var(--space-2);
  background-color: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  animation: DateRangePicker-module__dsDropdownIn--jIkRS 0.18s ease-out;
}

.DateRangePicker-module__presets--vLVUr {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 10.5rem;
  padding-right: var(--space-3);
  margin-right: var(--space-3);
  border-right: 1px solid var(--color-border);
}

.DateRangePicker-module__preset--y4RQ8 {
  padding: 0.625rem var(--space-3);
  color: var(--color-text-primary);
  background: none;
  border: none;
  border-radius: var(--radius-md);
  font-size: var(--text-sm);
  text-align: left;
  cursor: pointer;
}

.DateRangePicker-module__preset--y4RQ8:hover {
  background-color: var(--color-bg-elevated);
}

.DateRangePicker-module__presetActive--WyMUf {
  color: var(--color-accent-ink);
  background-color: var(--color-primary);
}

.DateRangePicker-module__presetActive--WyMUf:hover {
  background-color: var(--color-primary-hover);
}

.DateRangePicker-module__calendars--ufkPm {
  position: relative;
  min-width: 0;
}

.DateRangePicker-module__nav--HZuUZ {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  justify-content: space-between;
  pointer-events: none;
}

.DateRangePicker-module__navBtn--RAQ7I {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  color: var(--color-text-secondary);
  border-radius: var(--radius-sm);
  pointer-events: auto;
}

.DateRangePicker-module__navBtn--RAQ7I:hover {
  color: var(--color-text-primary);
  background-color: var(--color-surface-hover);
}

.DateRangePicker-module__monthRow--g7j2F {
  display: flex;
  gap: var(--space-5);
}

.DateRangePicker-module__month--HrM6T {
  width: 16.5rem;
}

.DateRangePicker-module__monthTitle--OMLhe {
  height: 1.75rem;
  margin-bottom: var(--space-3);
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-text-primary);
  text-align: center;
  text-transform: capitalize;
}

.DateRangePicker-module__weekdays--HzFao,
.DateRangePicker-module__grid--xUS2i {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
}

.DateRangePicker-module__weekdays--HzFao {
  margin-bottom: var(--space-2);
  padding-bottom: var(--space-2);
  border-bottom: 1px solid var(--color-border);
}

.DateRangePicker-module__weekday--B2AvR {
  font-size: var(--text-xs);
  color: var(--color-text-muted);
  text-align: center;
  text-transform: lowercase;
}

.DateRangePicker-module__dayEmpty--nQ4Ln,
.DateRangePicker-module__day--C0bos {
  width: 2rem;
  height: 2rem;
  margin: 2px auto;
}

.DateRangePicker-module__day--C0bos {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text-primary);
  background: none;
  border: none;
  border-radius: var(--radius-sm);
  font-size: var(--text-sm);
  cursor: pointer;
}

.DateRangePicker-module__day--C0bos:hover:not(.DateRangePicker-module__dayDisabled--pDMUN) {
  background-color: var(--color-surface-hover);
}

.DateRangePicker-module__dayDisabled--pDMUN {
  color: var(--color-text-muted);
  opacity: 0.4;
  cursor: default;
}

.DateRangePicker-module__dayInRange--av1pu {
  background-color: var(--color-accent-soft);
  color: var(--color-text-primary);
}

.DateRangePicker-module__dayEdge--Jae_c,
.DateRangePicker-module__dayInRange--av1pu.DateRangePicker-module__dayEdge--Jae_c {
  color: var(--color-accent-ink);
  background-color: var(--color-primary);
}

.DateRangePicker-module__dayToday--HKMJu:not(.DateRangePicker-module__dayEdge--Jae_c) {
  box-shadow: inset 0 0 0 1px var(--color-accent-border);
}

@media (max-width: 900px) {
  .DateRangePicker-module__panel--JR9V_ {
    flex-direction: column;
    right: 0;
    max-width: calc(100vw - 2rem);
  }

  .DateRangePicker-module__presets--vLVUr {
    flex-direction: row;
    flex-wrap: wrap;
    min-width: 0;
    padding-right: 0;
    margin-right: 0;
    margin-bottom: var(--space-3);
    padding-bottom: var(--space-3);
    border-right: none;
    border-bottom: 1px solid var(--color-border);
  }

  .DateRangePicker-module__monthRow--g7j2F {
    flex-direction: column;
  }

  .DateRangePicker-module__month--HrM6T {
    width: 100%;
  }
}

.Badge-module__badge--GrTB6 {
  display: inline-flex;
  align-items: center;
  padding: var(--space-1) var(--space-2);
  font-size: var(--text-xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  border-radius: var(--radius-sm);
}

.Badge-module__active--eu33x {
  color: #bbf7d0;
  background-color: rgba(34, 197, 94, 0.15);
}

.Badge-module__inactive--phx8t {
  color: #fde68a;
  background-color: rgba(245, 158, 11, 0.15);
}

.Badge-module__blocked--ZGjZb {
  color: #fecaca;
  background-color: rgba(239, 68, 68, 0.15);
}

.Badge-module__default--bvt9T {
  color: var(--color-text-secondary);
  background-color: var(--color-bg-elevated);
}

/* Нейтральный серый: снятие с площадки и прочие «тихие» статусы. */
.Badge-module__muted--DBqSk {
  color: #d4d4d4;
  background-color: rgba(107, 107, 107, 0.35);
}

.Badge-module__info--J57Rw {
  color: #bfdbfe;
  background-color: rgba(59, 130, 246, 0.15);
}

.Badge-module__success--PH0pT {
  color: #bbf7d0;
  background-color: rgba(34, 197, 94, 0.15);
}

.Badge-module__warning--TGYbj {
  color: #fde68a;
  background-color: rgba(245, 158, 11, 0.15);
}

.Badge-module__danger--P0RtB {
  color: #fecaca;
  background-color: rgba(239, 68, 68, 0.15);
}

/* Цвета как на дашборде (--color-status-*). */
.Badge-module__decommissioned--jKHLw {
  color: #d4d4d4;
  background-color: color-mix(in srgb, var(--color-status-decommissioned) 45%, transparent);
}

.Badge-module__storage--hoMzx {
  color: #e8c9b0;
  background-color: color-mix(in srgb, var(--color-status-storage) 35%, transparent);
}

.Badge-module__maintenance--WB7Dy {
  color: #c9bff0;
  background-color: color-mix(in srgb, var(--color-status-maintenance) 35%, transparent);
}

[data-theme='light'] .Badge-module__active--eu33x,
[data-theme='light'] .Badge-module__success--PH0pT {
  color: #15803d;
  background-color: rgba(34, 197, 94, 0.12);
}

[data-theme='light'] .Badge-module__inactive--phx8t,
[data-theme='light'] .Badge-module__warning--TGYbj {
  color: #b45309;
  background-color: rgba(245, 158, 11, 0.12);
}

[data-theme='light'] .Badge-module__blocked--ZGjZb,
[data-theme='light'] .Badge-module__danger--P0RtB {
  color: #b91c1c;
  background-color: rgba(239, 68, 68, 0.12);
}

[data-theme='light'] .Badge-module__default--bvt9T {
  color: var(--color-text-secondary);
  background-color: var(--color-bg-elevated);
}

[data-theme='light'] .Badge-module__muted--DBqSk {
  color: #525252;
  background-color: rgba(107, 107, 107, 0.18);
}

[data-theme='light'] .Badge-module__info--J57Rw {
  color: #1d4ed8;
  background-color: rgba(59, 130, 246, 0.12);
}

[data-theme='light'] .Badge-module__decommissioned--jKHLw {
  color: #525252;
  background-color: color-mix(in srgb, var(--color-status-decommissioned) 28%, transparent);
}

[data-theme='light'] .Badge-module__storage--hoMzx {
  color: #7a5238;
  background-color: color-mix(in srgb, var(--color-status-storage) 22%, transparent);
}

[data-theme='light'] .Badge-module__maintenance--WB7Dy {
  color: #5b4f8a;
  background-color: color-mix(in srgb, var(--color-status-maintenance) 22%, transparent);
}

.Spinner-module__spinner--K5L9x {
  display: inline-block;
  border-style: solid;
  border-color: currentColor;
  border-top-color: transparent;
  border-radius: 50%;
  animation: Spinner-module__spin--ueXJY 1s linear infinite;
}

.Spinner-module__sm--UkWnv {
  width: 1rem;
  height: 1rem;
  border-width: 2px;
}

.Spinner-module__md--i_PZv {
  width: 1.5rem;
  height: 1.5rem;
  border-width: 2px;
}

.Spinner-module__lg--ChuHD {
  width: 2rem;
  height: 2rem;
  border-width: 3px;
}

@keyframes Spinner-module__spin--ueXJY {
  to {
    transform: rotate(360deg);
  }
}

.MetricsChart-module__container--wjOAB {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.MetricsChart-module__controls--AHli7 {
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
  gap: var(--space-2);
  margin-left: auto;
  flex-wrap: nowrap;
  height: 2.25rem;
}

.MetricsChart-module__periodSwitch--p3tpl {
  display: flex;
  flex-shrink: 0;
  align-items: stretch;
  box-sizing: border-box;
  height: 100%;
  padding: 3px;
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}

.MetricsChart-module__periodBtn--eiDV8 {
  display: inline-flex;
  align-items: center;
  padding: 0 0.75rem;
  height: 100%;
  min-height: 0;
  color: var(--color-text-secondary);
  background: none;
  border: none;
  border-radius: calc(var(--radius-md) - 2px);
  font-size: var(--text-sm);
  font-weight: 500;
  line-height: 1.25;
  white-space: nowrap;
  cursor: pointer;
}

.MetricsChart-module__periodBtn--eiDV8:hover {
  color: var(--color-text-primary);
}

.MetricsChart-module__periodBtnActive--PuYHq {
  color: var(--color-text-primary);
  background-color: var(--color-bg-surface);
  box-shadow: var(--shadow-sm);
}

.MetricsChart-module__datePicker--Lz9ym {
  display: flex;
  height: 100%;
}

.MetricsChart-module__datePicker--Lz9ym button {
  box-sizing: border-box;
  height: 100%;
  min-height: 0;
  min-width: 11.5rem;
  padding: 0 var(--space-3);
  font-size: var(--text-sm);
  font-weight: 500;
}

.MetricsChart-module__applyBtn--fq7uR {
  box-sizing: border-box;
  align-self: stretch;
  height: 100%;
  min-height: 0;
  padding: 0 var(--space-4);
  font-size: var(--text-sm);
  font-weight: 600;
}

.MetricsChart-module__input--xh_e7 {
  width: 13.5rem;
  height: 2.25rem;
  flex: none;
  padding: 0 var(--space-3);
  font-size: var(--text-sm);
  color: var(--color-text-primary);
  background-color: var(--color-bg-input);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}

.MetricsChart-module__separator--_vuYu {
  color: var(--color-text-secondary);
}

.MetricsChart-module__tabsRow--9vIR2 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  flex-wrap: wrap;
}

.MetricsChart-module__tabs--ZDPHP {
  display: flex;
  gap: var(--space-1);
  border-bottom: 1px solid var(--color-border);
  flex: 1 1 auto;
}

.MetricsChart-module__legend--SS2v3 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-4);
  flex-wrap: wrap;
}

.MetricsChart-module__legendItem--fk9ga {
  display: flex;
  align-items: center;
  gap: var(--space-1);
  font-size: var(--text-sm);
  color: var(--color-text-primary);
  cursor: pointer;
}

.MetricsChart-module__legendItemOff--eob1l {
  color: var(--color-text-secondary);
  opacity: 0.6;
}

.MetricsChart-module__legendSwatch--iXcXk {
  width: 1rem;
  height: 3px;
  border-radius: 2px;
}

.MetricsChart-module__tab--LeRG3 {
}

.MetricsChart-module__activeTab--vPqcS {
}

.MetricsChart-module__stats--FRju2 {
  display: flex;
  gap: var(--space-6);
}

.MetricsChart-module__stat--GkqVY {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}

.MetricsChart-module__statLabel--DLzPg {
  font-size: var(--text-xs);
  color: var(--color-text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.MetricsChart-module__statValue--YmRtM {
  font-size: var(--text-lg);
  font-weight: 600;
  color: var(--color-text-primary);
}

.MetricsChart-module__error--VeKRU {
  padding: var(--space-3);
  color: var(--color-status-error);
  background-color: rgba(239, 68, 68, 0.1);
  border: 1px solid var(--color-status-error);
  border-radius: var(--radius-md);
}

.MetricsChart-module__plotCard--I1_sA {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
  padding: var(--space-4) var(--space-5);
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}

.MetricsChart-module__chart--kW6qJ {
  height: 18rem;
  min-height: 14rem;
  overflow: visible;
}

.MetricsChart-module__chartLazy--PNkki {
  min-height: 14rem;
}

.MetricsChart-module__compact--bwHpw {
  gap: var(--space-2);
}

.MetricsChart-module__compact--bwHpw .MetricsChart-module__plotCard--I1_sA {
  gap: var(--space-2);
  padding: var(--space-3);
}

.MetricsChart-module__compact--bwHpw .MetricsChart-module__chart--kW6qJ {
  height: 11.5rem;
  min-height: 9.5rem;
}

.MetricsChart-module__compact--bwHpw .MetricsChart-module__stats--FRju2 {
  gap: var(--space-4);
}

.MetricsChart-module__empty--UrAw2 {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: var(--color-text-secondary);
  border: 1px dashed var(--color-border);
  border-radius: var(--radius-md);
}

@media (max-width: 1100px) {
  .MetricsChart-module__controls--AHli7 {
    width: 100%;
    margin-left: 0;
    flex-wrap: wrap;
  }

  .MetricsChart-module__input--xh_e7 {
    width: auto;
    flex: 1 1 10rem;
  }
}

@media (max-width: 720px) {
  .MetricsChart-module__chart--kW6qJ {
    height: 14rem;
    min-height: 12rem;
  }

  .MetricsChart-module__stats--FRju2 {
    flex-wrap: wrap;
    gap: var(--space-3);
  }

  .MetricsChart-module__periodSwitch--p3tpl {
    margin-left: auto;
  }
}

.uplot, .uplot *, .uplot *::before, .uplot *::after {box-sizing: border-box;}.uplot {font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";line-height: 1.5;width: -webkit-min-content;width: min-content;}.u-title {text-align: center;font-size: 18px;font-weight: bold;}.u-wrap {position: relative;-webkit-user-select: none;user-select: none;}.u-over, .u-under {position: absolute;}.u-under {overflow: hidden;}.uplot canvas {display: block;position: relative;width: 100%;height: 100%;}.u-axis {position: absolute;}.u-legend {font-size: 14px;margin: auto;text-align: center;}.u-inline {display: block;}.u-inline * {display: inline-block;}.u-inline tr {margin-right: 16px;}.u-legend th {font-weight: 600;}.u-legend th > * {vertical-align: middle;display: inline-block;}.u-legend .u-marker {width: 1em;height: 1em;margin-right: 4px;background-clip: padding-box !important;}.u-inline.u-live th::after {content: ":";vertical-align: middle;}.u-inline:not(.u-live) .u-value {display: none;}.u-series > * {padding: 4px;}.u-series th {cursor: pointer;}.u-legend .u-off > * {opacity: 0.3;}.u-select {background: rgba(0,0,0,0.07);position: absolute;pointer-events: none;}.u-cursor-x, .u-cursor-y {position: absolute;left: 0;top: 0;pointer-events: none;will-change: transform;}.u-hz .u-cursor-x, .u-vt .u-cursor-y {height: 100%;border-right: 1px dashed #607D8B;}.u-hz .u-cursor-y, .u-vt .u-cursor-x {width: 100%;border-bottom: 1px dashed #607D8B;}.u-cursor-pt {position: absolute;top: 0;left: 0;border-radius: 50%;border: 0 solid;pointer-events: none;will-change: transform;/*this has to be !important since we set inline "background" shorthand */background-clip: padding-box !important;}.u-axis.u-off, .u-select.u-off, .u-cursor-x.u-off, .u-cursor-y.u-off, .u-cursor-pt.u-off {display: none;}
.UPlotChart-module__root--xHUKc {
  position: relative;
  width: 100%;
  min-height: 0;
  overflow: visible;
}

.UPlotChart-module__uplot--b8n2f {
  font-family: var(--font-sans);
}

.UPlotChart-module__uplot--b8n2f .u-wrap {
  overflow: visible;
}

.UPlotChart-module__uplot--b8n2f .u-under,
.UPlotChart-module__uplot--b8n2f .u-over {
  overflow: visible;
}

.UPlotChart-module__uplot--b8n2f .u-over {
  cursor: crosshair;
}

.UPlotChart-module__tooltip--Gk8Db {
  position: absolute;
  z-index: 5;
  top: 0;
  left: 0;
  pointer-events: none;
  min-width: 8rem;
  max-width: 16rem;
  padding: var(--space-2) var(--space-3);
  background-color: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-md);
  font-size: var(--text-sm);
  color: var(--color-text-primary);
}

.UPlotChart-module__tipTime--lwqcn {
  color: var(--color-text-secondary);
  margin-bottom: var(--space-1);
}

.UPlotChart-module__tipRow--nFOAp {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  line-height: 1.4;
}

.UPlotChart-module__tipSwatch--xksNT {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  flex-shrink: 0;
}

.Pagination-module__pagination--x2TFN {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  margin-top: var(--space-4);
  flex-wrap: wrap;
}

.Pagination-module__paginationEmbedded--Xe11I {
  margin: 0;
}

.Pagination-module__summary--smK67 {
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--color-text-secondary);
}

.Pagination-module__controls--Gd5IC {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.Pagination-module__right--l3qGd {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-left: auto;
  flex-wrap: wrap;
}

@media (max-width: 720px) {
  .Pagination-module__pagination--x2TFN {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-3);
  }

  .Pagination-module__right--l3qGd {
    margin-left: 0;
    width: 100%;
    justify-content: space-between;
  }

  .Pagination-module__controls--Gd5IC {
    flex-wrap: wrap;
  }

  .Pagination-module__pageButton--Jr3Ki {
    min-width: 2.5rem;
    min-height: 2.5rem;
  }
}

.Pagination-module__extra--qURe6 {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

.Pagination-module__pageButton--Jr3Ki {
  padding: var(--space-2) var(--space-3);
  font-size: var(--text-sm);
  color: var(--color-text-primary);
  background-color: var(--color-bg-input);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  cursor: pointer;
  transition: border-color 0.15s ease;
}

.Pagination-module__pageButton--Jr3Ki:hover {
  border-color: var(--color-border-hover);
}

.Pagination-module__pageButtonActive--Ejd63 {
  font-weight: 700;
  color: var(--color-primary);
  border-color: var(--color-primary);
}

.Pagination-module__ellipsis--ZiZmR {
  color: var(--color-text-secondary);
}

.Pagination-module__limitControl--P5yUv {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin-right: var(--space-2);
}

.Pagination-module__limitInput--Ywt53 {
  width: 4.5rem;
  padding: var(--space-1) var(--space-2);
  font-size: var(--text-sm);
  color: var(--color-text-primary);
  background-color: var(--color-bg-input);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}

.Pagination-module__limitInput--Ywt53:focus {
  outline: none;
  border-color: var(--color-primary);
}

.TableError-module__cell--cZfWl {
  padding: var(--space-8);
  text-align: center;
  color: var(--color-text-muted);
}

.TableError-module__message--UZkBb {
  display: block;
  margin-bottom: var(--space-3);
}

.Tooltip-module__anchor--K_aLN {
  /* Не создаёт бокс — не ломает flex/grid родителя и не схлопывает line-height у текста. */
  display: contents;
}

/* Реальная обёртка, когда нужен блок (сайдбар и т.п. через className). */
.Tooltip-module__anchorBox--J4guR {
  display: block;
  width: 100%;
}

.Tooltip-module__tooltip--Xgjer {
  position: fixed;
  z-index: var(--z-toast);
  box-sizing: border-box;
  width: -webkit-max-content;
  width: max-content;
  max-width: min(20rem, calc(100vw - 1rem));
  padding: var(--space-2) var(--space-3);
  background-color: color-mix(in srgb, var(--color-bg-elevated) 94%, var(--color-primary) 6%);
  color: var(--color-text-primary);
  border: 1px solid var(--color-border);
  border-left: 2px solid var(--color-primary);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-md);
  font-size: var(--text-xs);
  line-height: 1.45;
  white-space: pre-line;
  overflow-wrap: break-word;
  pointer-events: none;
  will-change: transform, opacity;
}

.Tooltip-module__tooltipAbove--loUQV {
  animation: Tooltip-module__tooltipFadeAbove--JExNT 360ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.Tooltip-module__tooltipBelow--M8Q8k {
  animation: Tooltip-module__tooltipFadeBelow--e5tj6 360ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.Tooltip-module__tooltipLeft--PrHpC {
  max-width: min(18rem, calc(100vw - 1rem));
  animation: Tooltip-module__tooltipFadeLeft--Mp6Wn 360ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.Tooltip-module__tooltipRight--Kou9O {
  max-width: min(18rem, calc(100vw - 1rem));
  animation: Tooltip-module__tooltipFadeRight--BS96F 360ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes Tooltip-module__tooltipFadeAbove--JExNT {
  from {
    opacity: 0;
    transform: translate(-50%, calc(-100% - var(--space-2) + 4px)) scale(0.985);
  }
  to {
    opacity: 1;
    transform: translate(-50%, calc(-100% - var(--space-2))) scale(1);
  }
}

@keyframes Tooltip-module__tooltipFadeBelow--e5tj6 {
  from {
    opacity: 0;
    transform: translate(-50%, calc(var(--space-2) - 4px)) scale(0.985);
  }
  to {
    opacity: 1;
    transform: translate(-50%, var(--space-2)) scale(1);
  }
}

@keyframes Tooltip-module__tooltipFadeLeft--Mp6Wn {
  from {
    opacity: 0;
    transform: translate(-4px, -50%) scale(0.985);
  }
  to {
    opacity: 1;
    transform: translate(0, -50%) scale(1);
  }
}

@keyframes Tooltip-module__tooltipFadeRight--BS96F {
  from {
    opacity: 0;
    transform: translate(4px, -50%) scale(0.985);
  }
  to {
    opacity: 1;
    transform: translate(0, -50%) scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .Tooltip-module__tooltipAbove--loUQV,
  .Tooltip-module__tooltipBelow--M8Q8k,
  .Tooltip-module__tooltipLeft--PrHpC,
  .Tooltip-module__tooltipRight--Kou9O {
    animation: none;
    opacity: 1;
  }

  .Tooltip-module__tooltipAbove--loUQV {
    transform: translate(-50%, calc(-100% - var(--space-2)));
  }

  .Tooltip-module__tooltipBelow--M8Q8k {
    transform: translate(-50%, var(--space-2));
  }

  .Tooltip-module__tooltipLeft--PrHpC,
  .Tooltip-module__tooltipRight--Kou9O {
    transform: translate(0, -50%);
  }
}

.AppSidebar-module__sidebar--TYDA9 {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: var(--sidebar-width);
  display: flex;
  flex-direction: column;
  background-color: var(--color-bg-surface);
  border-right: 1px solid var(--color-border);
  padding-left: env(safe-area-inset-left);
  z-index: var(--z-sticky);
  transition: width 0.2s ease;
}

[data-theme='light'] .AppSidebar-module__sidebar--TYDA9 {
  box-shadow: 8px 0 24px rgba(20, 22, 28, 0.06);
}

.AppSidebar-module__collapsed--nhNPP {
  width: var(--sidebar-collapsed-width);
}

.AppSidebar-module__brand--Y62b4 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-3);
  height: var(--header-height);
  padding: 0 var(--space-4);
  border-bottom: 1px solid var(--color-border);
}

.AppSidebar-module__brandLogo--W7mCu {
  display: block;
  height: 1.85rem;
  width: auto;
  max-width: 100%;
  object-fit: contain;
}

.AppSidebar-module__brandIcon--tFi0i {
  display: none;
  width: 1.85rem;
  height: 1.85rem;
  object-fit: contain;
}

.AppSidebar-module__logoLight--suv4b,
.AppSidebar-module__iconLight--pMLxz {
  display: none;
}

[data-theme='light'] .AppSidebar-module__logoDark--MqkEB,
[data-theme='light'] .AppSidebar-module__iconDark--TlOsu {
  display: none;
}

[data-theme='light'] .AppSidebar-module__logoLight--suv4b {
  display: block;
}

.AppSidebar-module__collapsed--nhNPP .AppSidebar-module__brandLogo--W7mCu {
  display: none;
}

.AppSidebar-module__collapsed--nhNPP .AppSidebar-module__iconDark--TlOsu {
  display: block;
}

[data-theme='light'] .AppSidebar-module__collapsed--nhNPP .AppSidebar-module__iconDark--TlOsu {
  display: none;
}

[data-theme='light'] .AppSidebar-module__collapsed--nhNPP .AppSidebar-module__iconLight--pMLxz {
  display: block;
}

.AppSidebar-module__nav--x4L2V {
  flex: 1;
  padding: var(--space-4);
  overflow-y: auto;
}

.AppSidebar-module__menu--ybkls {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  list-style: none;
}

.AppSidebar-module__section--L3qfa {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  padding-bottom: var(--space-2);
}

.AppSidebar-module__section--L3qfa + .AppSidebar-module__section--L3qfa,
.AppSidebar-module__section--L3qfa + li {
  margin-top: var(--space-2);
  padding-top: var(--space-3);
  border-top: 1px solid var(--color-border);
}

.AppSidebar-module__submenuBlock--l_XaI {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}

.AppSidebar-module__submenuToggle--l5RWi {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
  width: 100%;
  padding: var(--space-2) var(--space-4);
  border: 0;
  background: transparent;
  color: var(--color-text-muted);
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  border-radius: var(--radius-md);
}

.AppSidebar-module__submenuToggle--l5RWi:hover {
  color: var(--color-text-secondary);
  background-color: var(--color-bg-elevated);
}

.AppSidebar-module__submenuToggleActive--iNGMC {
  color: var(--color-text-secondary);
}

.AppSidebar-module__submenuTitle--IxF_Q {
  overflow: hidden;
  white-space: nowrap;
  text-align: left;
}

.AppSidebar-module__chevron--p4DC_ {
  flex-shrink: 0;
  transition: transform 0.15s ease;
}

.AppSidebar-module__chevronOpen--_P1SK {
  flex-shrink: 0;
  transform: rotate(180deg);
  transition: transform 0.15s ease;
}

.AppSidebar-module__submenu--bzrGp {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  list-style: none;
}

.AppSidebar-module__nestedLink--wYsAf {
  padding-left: calc(var(--space-4) + var(--space-3));
}

.AppSidebar-module__collapsed--nhNPP .AppSidebar-module__submenuToggle--l5RWi {
  display: none;
}

.AppSidebar-module__collapsed--nhNPP .AppSidebar-module__nestedLink--wYsAf {
  padding-left: 0;
  padding-right: 0;
}

.AppSidebar-module__link--cAUrp {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  color: var(--color-text-secondary);
  border-radius: var(--radius-md);
  transition: color 0.15s ease, background-color 0.15s ease;
}

.AppSidebar-module__link--cAUrp:hover {
  color: var(--color-text-primary);
  background-color: var(--color-bg-elevated);
}

.AppSidebar-module__active--pVRgO {
  color: var(--color-accent);
  background-color: var(--color-accent-soft);
  border-right: 3px solid var(--color-accent);
}

.AppSidebar-module__collapsed--nhNPP .AppSidebar-module__active--pVRgO {
  border-right: none;
}

.AppSidebar-module__icon--VyaBj {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
}

.AppSidebar-module__label--At9U2 {
  white-space: nowrap;
  overflow: hidden;
  font-size: var(--text-sm);
  font-weight: 500;
}

.AppSidebar-module__collapsed--nhNPP .AppSidebar-module__label--At9U2 {
  display: none;
}

.AppSidebar-module__collapsed--nhNPP .AppSidebar-module__link--cAUrp {
  justify-content: center;
  padding-left: 0;
  padding-right: 0;
}

.AppSidebar-module__itemTooltip--YCn1s {
  display: block;
  width: 100%;
}

.AppSidebar-module__superuserSection--qMU_s {
  margin-top: var(--space-4);
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border);
}

.AppSidebar-module__sectionTitle--rbIio {
  padding: 0 var(--space-4) var(--space-2);
  font-size: var(--text-xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-text-muted);
  white-space: nowrap;
  overflow: hidden;
}

.AppSidebar-module__collapsed--nhNPP .AppSidebar-module__sectionTitle--rbIio {
  display: none;
}

.AppSidebar-module__footer--Jp0AA {
  padding: var(--space-4);
  border-top: 1px solid var(--color-border);
}

.AppSidebar-module__version--u99RD {
  font-size: var(--text-xs);
  color: var(--color-text-muted);
  text-align: center;
}

@media (max-width: 1100px) {
  .AppSidebar-module__sidebar--TYDA9,
  .AppSidebar-module__collapsed--nhNPP {
    width: var(--sidebar-width);
    transform: translateX(-100%);
    visibility: hidden;
    z-index: var(--z-modal);
    box-shadow: var(--shadow-lg);
    transition: transform 0.2s ease, visibility 0.2s ease;
  }

  .AppSidebar-module__mobileOpen--FJbL7 {
    transform: translateX(0);
    visibility: visible;
  }
}

.DropdownMenu-module__dropdown--_W6pG {
  position: relative;
  display: inline-block;
}

.DropdownMenu-module__trigger--pJeU2 {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-3);
  color: var(--color-text-primary);
  border-radius: var(--radius-md);
  font-size: var(--text-sm);
  font-weight: 500;
}

.DropdownMenu-module__trigger--pJeU2 svg:last-of-type {
  transition: transform 0.18s ease;
}

.DropdownMenu-module__trigger--pJeU2[aria-expanded='true'] svg:last-of-type {
  transform: rotate(180deg);
}

.DropdownMenu-module__trigger--pJeU2:hover,
.DropdownMenu-module__trigger--pJeU2[aria-expanded='true'] {
  background-color: var(--color-bg-elevated);
}

.DropdownMenu-module__menu--MqVT4 {
  position: fixed;
  width: -webkit-max-content;
  width: max-content;
  min-width: 0;
  max-width: min(16rem, calc(100vw - 1.5rem));
  padding: var(--space-1);
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  /* Портал на body: меню должно быть выше модалок (в т.ч. вложенных). */
  z-index: calc(var(--z-modal) + 20);
  display: flex;
  flex-direction: column;
  gap: 2px;
  transform-origin: top right;
}

.DropdownMenu-module__menuOpen--FFJDY {
  animation: DropdownMenu-module__dropdownIn--Il4Gn 0.18s ease-out;
}

.DropdownMenu-module__menuClosing--Z8h7W {
  animation: DropdownMenu-module__dropdownOut--StkN8 0.14s ease-in forwards;
  pointer-events: none;
}

.DropdownMenu-module__item--qBU2R {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  width: 100%;
  padding: 0.5rem 0.625rem;
  font-size: var(--text-sm);
  color: var(--color-text-primary);
  background: none;
  border: none;
  border-radius: var(--radius-md);
  cursor: pointer;
  text-align: left;
  white-space: nowrap;
}

.DropdownMenu-module__item--qBU2R:hover:not(:disabled),
.DropdownMenu-module__item--qBU2R:focus-visible {
  background-color: var(--color-surface-hover);
}

.DropdownMenu-module__item--qBU2R:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.DropdownMenu-module__item--qBU2R:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: -2px;
}

.DropdownMenu-module__icon--D0lzi {
  display: inline-flex;
  color: var(--color-text-secondary);
}

.DropdownMenu-module__itemDanger--c6Anf {
  color: var(--color-status-error);
}

.DropdownMenu-module__itemDanger--c6Anf .DropdownMenu-module__icon--D0lzi {
  color: var(--color-status-error);
}

.DropdownMenu-module__itemWarning--RDLIa {
  color: var(--color-status-warning);
}

.DropdownMenu-module__itemWarning--RDLIa .DropdownMenu-module__icon--D0lzi {
  color: var(--color-status-warning);
}

.DropdownMenu-module__separator--EmNp0 {
  height: 1px;
  margin: var(--space-1) var(--space-2);
  background-color: var(--color-border);
}

@keyframes DropdownMenu-module__dropdownIn--Il4Gn {
  from {
    opacity: 0;
    transform: translateY(-8px) scale(0.96);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes DropdownMenu-module__dropdownOut--StkN8 {
  from {
    opacity: 1;
    transform: translateY(0) scale(1);
  }

  to {
    opacity: 0;
    transform: translateY(-8px) scale(0.96);
  }
}

@media (prefers-reduced-motion: reduce) {
  .DropdownMenu-module__trigger--pJeU2 svg:last-of-type,
  .DropdownMenu-module__menuOpen--FFJDY,
  .DropdownMenu-module__menuClosing--Z8h7W {
    animation: none;
    transition: none;
  }
}

.WeatherWidget-module__weather--D_KyJ {
  position: relative;
  display: inline-block;
}

.WeatherWidget-module__trigger--AaHCb {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  height: 2.25rem;
  padding: 0 var(--space-3);
  color: var(--color-text-primary);
  font-size: var(--text-sm);
  font-weight: 500;
  border-radius: var(--radius-md);
}

.WeatherWidget-module__trigger--AaHCb:hover,
.WeatherWidget-module__trigger--AaHCb[aria-expanded='true'] {
  background-color: var(--color-bg-elevated);
}

.WeatherWidget-module__temp--W2sCc {
  font-weight: 600;
  color: var(--color-text-primary);
  white-space: nowrap;
}

.WeatherWidget-module__city--SHa8U {
  max-width: 8rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 600;
  color: var(--color-text-primary);
}

.WeatherWidget-module__panel--Hs67B {
  right: 0;
  min-width: 16rem;
}

.WeatherWidget-module__search--EaOFR {
  position: relative;
  display: flex;
  align-items: center;
  padding: var(--space-1);
}

.WeatherWidget-module__searchIcon--KKyVQ {
  position: absolute;
  left: calc(var(--space-1) + var(--space-3));
  color: var(--color-text-muted);
  pointer-events: none;
}

.WeatherWidget-module__input--zxTUT {
  width: 100%;
  padding: var(--space-2) var(--space-3) var(--space-2) 2.25rem;
  color: var(--color-text-primary);
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  outline: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.WeatherWidget-module__input--zxTUT::placeholder {
  color: var(--color-text-muted);
}

.WeatherWidget-module__input--zxTUT:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px var(--color-focus-ring);
}

.WeatherWidget-module__item--Av7v_ {
}

.WeatherWidget-module__itemMeta--Avk6_ {
  margin-left: auto;
  max-width: 9rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--color-text-muted);
  font-size: var(--text-xs);
}

.WeatherWidget-module__hint--ArQcw {
}

.RatesPills-module__row--k0AH7 {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 1;
  min-width: 0;
}

.RatesPills-module__pill--TcOV4 {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 2.25rem;
  padding: 0 10px 0 6px;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  background-color: var(--color-bg-elevated);
  color: var(--color-text-primary);
  white-space: nowrap;
  cursor: pointer;
  box-shadow: 0 1px 0 color-mix(in srgb, var(--color-border) 65%, transparent);
  transition:
    border-color 0.18s ease, background-color 0.18s ease, box-shadow 0.18s ease, transform 0.15s ease;
}

.RatesPills-module__pill--TcOV4:hover {
  border-color: var(--color-border-hover);
  background-color: color-mix(in srgb, var(--color-bg-elevated) 86%, var(--color-primary) 14%);
  box-shadow: 0 4px 12px color-mix(in srgb, var(--color-primary) 12%, transparent);
}

.RatesPills-module__pill--TcOV4:active {
  transform: scale(0.97);
}

.RatesPills-module__pill--TcOV4:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

.RatesPills-module__icon--mxQ91 {
  display: inline-flex;
  flex-shrink: 0;
  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.18));
}

.RatesPills-module__price--vnvp9 {
  font-size: 13px;
  font-weight: 700;
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
}

@media (prefers-reduced-motion: reduce) {
  .RatesPills-module__pill--TcOV4 {
    transition: none;
  }

  .RatesPills-module__pill--TcOV4:active {
    transform: none;
  }
}

@media (max-width: 720px) {
  .RatesPills-module__row--k0AH7 {
    display: none;
  }
}

.GlobalSearch-module__search--tRVnI {
  position: relative;
  width: 100%;
  max-width: 26rem;
}

.GlobalSearch-module__inputWrap--_7BVw {
  position: relative;
  display: flex;
  align-items: center;
}

.GlobalSearch-module__icon--SyzK7 {
  position: absolute;
  left: var(--space-3);
  color: var(--color-text-muted);
  pointer-events: none;
}

.GlobalSearch-module__input--C32qb {
  width: 100%;
  height: 2.25rem;
  padding: 0 3rem 0 2.25rem;
  color: var(--color-text-primary);
  background-color: var(--color-bg-input);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  outline: none;
  font-size: var(--text-sm);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.GlobalSearch-module__input--C32qb::placeholder {
  color: var(--color-text-muted);
}

.GlobalSearch-module__input--C32qb:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px var(--color-focus-ring);
}

.GlobalSearch-module__kbd--QmWfo {
  position: absolute;
  right: var(--space-2);
  padding: 0 var(--space-2);
  font-size: var(--text-xs);
  font-family: inherit;
  color: var(--color-text-muted);
  background-color: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  pointer-events: none;
}

@media (max-width: 1100px) {
  .GlobalSearch-module__search--tRVnI {
    max-width: none;
  }

  .GlobalSearch-module__kbd--QmWfo {
    display: none;
  }
}

.GlobalSearch-module__panel--eXNXu {
  left: 0;
  right: 0;
  width: auto;
  overflow: visible;
}

.GlobalSearch-module__orgSelect--Ab6Cv {
  position: relative;
  z-index: 2;
  padding: var(--space-1);
  margin-bottom: var(--space-1);
}

.GlobalSearch-module__results--eXI3l {
  max-height: 20rem;
  overflow-y: auto;
}

.GlobalSearch-module__section--K_Fqn {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}

.GlobalSearch-module__sectionTitle--OKjZV {
  padding: var(--space-1) var(--space-3) 0;
  font-size: var(--text-xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--color-text-muted);
}

.GlobalSearch-module__item--pJdMh {
}

.GlobalSearch-module__itemRow--mcnZr {
  display: flex;
  align-items: center;
  gap: var(--space-1);
  min-width: 0;
}

.GlobalSearch-module__itemRow--mcnZr .GlobalSearch-module__item--pJdMh {
  flex: 1;
  min-width: 0;
  width: auto;
}

.GlobalSearch-module__itemActive--FhpGq {
  background-color: var(--color-surface-hover);
}

.GlobalSearch-module__itemAction--Pj9G3 {
  flex-shrink: 0;
  padding: var(--space-2);
  color: var(--color-primary);
  background: none;
  border: none;
  border-radius: var(--radius-sm);
  cursor: pointer;
  font-size: var(--text-xs);
  font-weight: 600;
  white-space: nowrap;
}

.GlobalSearch-module__itemAction--Pj9G3:hover {
  -webkit-text-decoration: underline;
  text-decoration: underline;
  background-color: var(--color-bg-elevated);
}

.GlobalSearch-module__dot--nLwfu {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  flex-shrink: 0;
}

.GlobalSearch-module__dotOnline--ynKIQ {
  background-color: var(--color-status-online);
}

.GlobalSearch-module__dotOffline--EKkGG {
  background-color: var(--color-status-offline);
}

.GlobalSearch-module__dotPaused--fdetx {
  background-color: var(--color-status-paused);
}

.GlobalSearch-module__dotWarning--e2u2l {
  background-color: var(--color-status-warning);
}

.GlobalSearch-module__dotProblem--FzgTK {
  background-color: var(--color-status-problem);
}

.GlobalSearch-module__dotDecommissioned--JIhLf {
  background-color: var(--color-status-decommissioned);
}

.GlobalSearch-module__dotStorage--OCiFr {
  background-color: var(--color-status-storage);
}

.GlobalSearch-module__dotMaintenance--U4yVA {
  background-color: var(--color-status-maintenance);
}

.GlobalSearch-module__itemText--tfkit {
  display: flex;
  flex-direction: column;
  min-width: 0;
  flex: 1;
}

.GlobalSearch-module__itemPrimary--BwAxF {
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.GlobalSearch-module__itemSecondary--ZDdt7 {
  display: flex;
  align-items: baseline;
  gap: var(--space-3);
  min-width: 0;
  font-size: var(--text-xs);
  color: var(--color-text-muted);
  overflow: hidden;
}

.GlobalSearch-module__itemSecondary--ZDdt7 > span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.GlobalSearch-module__itemMeta--s_IRK {
  flex: 1 1 auto;
  min-width: 0;
  color: var(--color-text-secondary);
}

.GlobalSearch-module__hint--LjQvj {
}

.HeaderToggles-module__themeSwap--Wheq8 {
  position: relative;
  display: inline-flex;
  flex-shrink: 0;
}

.HeaderToggles-module__themeIcon--aelda {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: rotate(-80deg) scale(0.55);
  transition: opacity 0.22s ease, transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
}

.HeaderToggles-module__themeIconOn--ZHkjK {
  opacity: 1;
  transform: rotate(0deg) scale(1);
}

.HeaderToggles-module__langGlyph--O2ZKG {
  flex-shrink: 0;
  animation: HeaderToggles-module__langSpin--djESo 0.42s cubic-bezier(0.22, 1, 0.36, 1);
}

.HeaderToggles-module__langTrack--zQwoW {
  display: inline-flex;
  align-items: center;
  overflow: hidden;
  min-width: 1.35em;
  line-height: 1;
}

.HeaderToggles-module__langText--yprnW {
  display: inline-block;
  animation: HeaderToggles-module__langSlide--tLFCL 0.22s ease;
}

@keyframes HeaderToggles-module__langSpin--djESo {
  from {
    transform: rotate(-180deg) scale(0.85);
  }

  to {
    transform: rotate(0deg) scale(1);
  }
}

@keyframes HeaderToggles-module__langSlide--tLFCL {
  from {
    opacity: 0;
    transform: translateY(0.45em);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .HeaderToggles-module__themeIcon--aelda,
  .HeaderToggles-module__langGlyph--O2ZKG,
  .HeaderToggles-module__langText--yprnW {
    animation: none;
    transition: none;
  }

  .HeaderToggles-module__themeIcon--aelda {
    transform: none;
  }

  .HeaderToggles-module__themeIcon--aelda:not(.HeaderToggles-module__themeIconOn--ZHkjK) {
    opacity: 0;
  }
}

.AppHeader-module__header--gJIn0 {
  position: fixed;
  top: 0;
  left: var(--sidebar-width);
  right: 0;
  height: var(--header-height);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 var(--space-6);
  padding-right: max(var(--space-6), env(safe-area-inset-right));
  background-color: var(--color-bg-surface);
  border-bottom: 1px solid var(--color-border);
  z-index: var(--z-sticky);
  overflow: visible;
  transition: left 0.2s ease;
}

[data-theme='light'] .AppHeader-module__header--gJIn0 {
  box-shadow: 0 1px 0 var(--color-border), 0 8px 20px rgba(20, 22, 28, 0.05);
}

.AppHeader-module__sidebarCollapsed--XHYtU {
  left: var(--sidebar-collapsed-width);
}

.AppHeader-module__left--SJ6pS {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  min-width: 0;
}

.AppHeader-module__orgSelect--dgA5D {
  width: 12.75rem;
  min-width: 9.5rem;
}

.AppHeader-module__toggle--D0jdQ {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  flex-shrink: 0;
  color: var(--color-text-secondary);
  border-radius: var(--radius-md);
}

.AppHeader-module__toggle--D0jdQ:hover {
  color: var(--color-text-primary);
  background-color: var(--color-bg-elevated);
}

.AppHeader-module__title--R99CW {
  font-size: var(--text-lg);
  font-weight: 600;
  color: var(--color-text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.AppHeader-module__searchSlot--gxpu2 {
  flex: 1;
  display: flex;
  justify-content: center;
  min-width: 0;
  padding: 0 var(--space-4);
  overflow: visible;
}

.AppHeader-module__actions--x7ikk {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  flex-shrink: 0;
}

.AppHeader-module__language--BSSof {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  height: 2.25rem;
  padding: 0 var(--space-3);
  color: var(--color-text-secondary);
  font-size: var(--text-sm);
  font-weight: 600;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}

.AppHeader-module__language--BSSof:hover {
  color: var(--color-text-primary);
  background-color: var(--color-bg-elevated);
  border-color: var(--color-border-hover);
}

.AppHeader-module__user--JsxsV {
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
}

.AppHeader-module__userName--sx_T7 {
  max-width: 10rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.AppHeader-module__userInitials--zFwGL {
  flex-shrink: 0;
  white-space: nowrap;
  letter-spacing: 0.04em;
}

.AppHeader-module__langLabel--SiBw8 {
  display: inline;
}

@media (max-width: 1100px) {
  .AppHeader-module__header--gJIn0,
  .AppHeader-module__sidebarCollapsed--XHYtU {
    left: 0;
    padding: 0 var(--space-4);
    padding-left: max(var(--space-4), env(safe-area-inset-left));
    padding-right: max(var(--space-4), env(safe-area-inset-right));
  }

  .AppHeader-module__searchSlot--gxpu2 {
    padding: 0 var(--space-3);
  }

  .AppHeader-module__actions--x7ikk {
    gap: var(--space-2);
  }
}

@media (max-width: 720px) {
  .AppHeader-module__title--R99CW {
    display: none;
  }

  .AppHeader-module__orgSelect--dgA5D {
    width: min(11.5rem, 46vw);
    min-width: 8rem;
  }

  .AppHeader-module__searchSlot--gxpu2,
  .AppHeader-module__weatherSlot--fOjkY {
    display: none;
  }

  .AppHeader-module__langLabel--SiBw8,
  .AppHeader-module__userName--sx_T7 {
    display: none;
  }

  .AppHeader-module__userInitials--zFwGL {
    max-width: 8.5rem;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .AppHeader-module__toggle--D0jdQ,
  .AppHeader-module__language--BSSof {
    width: 2.75rem;
    height: 2.75rem;
    padding: 0;
    justify-content: center;
  }

  .AppHeader-module__actions--x7ikk {
    gap: var(--space-1);
  }
}


.SubscriptionBanner-module__banner--rWEQ9 {
  margin-bottom: var(--space-4);
  padding: var(--space-3) var(--space-4);
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--color-text-primary);
  background-color: color-mix(in srgb, var(--color-status-error) 18%, transparent);
  border: 1px solid var(--color-status-error);
  border-radius: var(--radius-md);
}

.ResizableTh-module__th--Ho2IE {
  position: relative;
  -webkit-user-select: none;
          user-select: none;
}

.ResizableTh-module__sortable--BuRYs {
  cursor: pointer;
}

.ResizableTh-module__sortIndicator--Q5L7B {
  margin-left: var(--space-1);
}

/* Зона захвата чуть шире видимой линии, чтобы попадать было удобно. */
.ResizableTh-module__grip--OCSyP {
  position: absolute;
  top: 0;
  right: -4px;
  width: 8px;
  height: 100%;
  cursor: col-resize;
  -webkit-user-select: none;
          user-select: none;
  z-index: 1;
}

/* Всегда видимая тонкая линия у правой границы заголовка. */
.ResizableTh-module__grip--OCSyP::after {
  content: '';
  position: absolute;
  top: 25%;
  bottom: 25%;
  left: 3px;
  width: 1px;
  background-color: var(--color-border);
}

.ResizableTh-module__grip--OCSyP:hover::after,
.ResizableTh-module__grip--OCSyP:focus-visible::after {
  width: 2px;
  background-color: var(--color-primary);
}

.IconButton-module__button--upT6y {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  color: var(--color-text-secondary);
  background-color: transparent;
  border-radius: var(--radius-md);
  transition: color 0.15s ease, background-color 0.15s ease;
}

.IconButton-module__button--upT6y:hover:not(:disabled) {
  color: var(--color-text-primary);
  background-color: var(--color-bg-elevated);
}

.IconButton-module__button--upT6y:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Почти на весь экран: в файле много колонок, 72rem их обрезает. */
.ClientsImportModal-module__dialog--ba62v {
  width: 100%;
  max-width: calc(100vw - var(--space-8));
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

/* Тело модалки — flex-ребёнок: иначе min-width:auto раздувает диалог
   по таблице и overflow:hidden обрезает колонки без скролла. */
.ClientsImportModal-module__dialog--ba62v > *:nth-child(2) {
  min-width: 0;
  overflow: hidden;
}

.ClientsImportModal-module__legend--CEztV {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin: 0 0 var(--space-3);
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
}

.ClientsImportModal-module__summary--PDqvJ {
  margin: 0 0 var(--space-3);
  font-size: var(--text-sm);
  color: var(--color-text-primary);
}

.ClientsImportModal-module__counter--jD6Af {
  margin-right: auto;
  align-self: center;
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
}

.ClientsImportModal-module__center--MCIjK {
  display: flex;
  justify-content: center;
  padding: var(--space-6);
}

.ClientsImportModal-module__tableScroll--b0SBZ {
  overflow: auto;
  max-height: min(60vh, calc(100dvh - 18rem));
  min-width: 0;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}

.ClientsImportModal-module__table--YADLV {
  width: -webkit-max-content;
  width: max-content;
  min-width: 100%;
  border-collapse: collapse;
  font-size: var(--text-sm);
}

.ClientsImportModal-module__table--YADLV th,
.ClientsImportModal-module__table--YADLV td {
  padding: var(--space-2) var(--space-3);
  border-bottom: 1px solid var(--color-border);
  text-align: left;
  white-space: nowrap;
  color: var(--color-text-primary);
}

.ClientsImportModal-module__table--YADLV th {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 1;
  background-color: var(--color-bg-elevated);
  font-weight: 600;
}

.ClientsImportModal-module__table--YADLV th:first-child,
.ClientsImportModal-module__table--YADLV td:first-child {
  position: -webkit-sticky;
  position: sticky;
  left: 0;
  z-index: 2;
  background-color: var(--color-bg-surface);
}

.ClientsImportModal-module__table--YADLV th:first-child {
  top: 0;
  z-index: 3;
  background-color: var(--color-bg-elevated);
}

.ClientsImportModal-module__table--YADLV tr:last-child td {
  border-bottom: none;
}

.ClientsImportModal-module__rowCell--O5H3U {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
}

/* Ячейка с ошибкой валидации: danger-подсветка, текст ошибки в title. */
.ClientsImportModal-module__cellError--Kguqs {
  background-color: var(--color-focus-ring-error);
  box-shadow: inset 0 0 0 1px var(--color-status-error);
}

/* Редактируемая ячейка превью: прозрачный инпут во всю ширину td. */
.ClientsImportModal-module__cellInput--uAV2s {
  width: 100%;
  min-width: 6rem;
  padding: 0;
  border: none;
  background: transparent;
  font: inherit;
  color: inherit;
}

.ClientsImportModal-module__cellInput--uAV2s:focus {
  outline: 2px solid var(--color-focus-ring);
  outline-offset: 1px;
  border-radius: var(--radius-sm);
}

/* Ячейка с предупреждением (поле будет очищено): warning-подсветка. */
.ClientsImportModal-module__cellWarning--Ah8Yi {
  background-color: rgba(245, 166, 35, 0.15);
  box-shadow: inset 0 0 0 1px var(--color-status-warning);
}

.ClientsImportModal-module__resultError--m4Anl {
  display: block;
  margin-top: var(--space-1);
  font-size: var(--text-xs);
  color: var(--color-status-error);
  white-space: normal;
  max-width: 20rem;
}

@media (max-width: 720px) {
  .ClientsImportModal-module__dialog--ba62v {
    max-width: 100%;
  }
}

/* Почти на весь экран: таблица превью шире стандартного диалога. */
.DevicesImportModal-module__dialog--st6pQ {
  width: 100%;
  max-width: calc(100vw - var(--space-8));
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

/* Тело модалки — flex-ребёнок: иначе min-width:auto раздувает диалог
   по таблице и overflow:hidden обрезает колонки без скролла. */
.DevicesImportModal-module__dialog--st6pQ > *:nth-child(2) {
  min-width: 0;
  overflow: hidden;
}

.DevicesImportModal-module__legend--hS27n {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin: 0 0 var(--space-3);
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
}

.DevicesImportModal-module__summary--aonGc {
  margin: 0 0 var(--space-3);
  font-size: var(--text-sm);
  color: var(--color-text-primary);
}

.DevicesImportModal-module__counter--VI8IG {
  margin-right: auto;
  align-self: center;
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
}

.DevicesImportModal-module__tableScroll--mPnC0 {
  overflow: auto;
  max-height: min(60vh, calc(100dvh - 18rem));
  min-width: 0;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}

.DevicesImportModal-module__table--mbSY_ {
  width: -webkit-max-content;
  width: max-content;
  min-width: 100%;
  border-collapse: collapse;
  font-size: var(--text-sm);
}

.DevicesImportModal-module__table--mbSY_ th,
.DevicesImportModal-module__table--mbSY_ td {
  padding: var(--space-2) var(--space-3);
  border-bottom: 1px solid var(--color-border);
  text-align: left;
  white-space: nowrap;
  color: var(--color-text-primary);
}

.DevicesImportModal-module__table--mbSY_ th {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 1;
  background-color: var(--color-bg-elevated);
  font-weight: 600;
}

.DevicesImportModal-module__table--mbSY_ th:first-child,
.DevicesImportModal-module__table--mbSY_ td:first-child {
  position: -webkit-sticky;
  position: sticky;
  left: 0;
  z-index: 2;
  background-color: var(--color-bg-surface);
}

.DevicesImportModal-module__table--mbSY_ th:first-child {
  top: 0;
  z-index: 3;
  background-color: var(--color-bg-elevated);
}

.DevicesImportModal-module__table--mbSY_ tr:last-child td {
  border-bottom: none;
}

.DevicesImportModal-module__rowCell--T3d7o {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
}

/* Ячейка с ошибкой валидации: danger-подсветка, текст ошибки в title. */
.DevicesImportModal-module__cellError--QqWTw {
  background-color: var(--color-focus-ring-error);
  box-shadow: inset 0 0 0 1px var(--color-status-error);
}

/* Read-only колонка превью (Model/IP/SN): серый приглушённый текст. */
.DevicesImportModal-module__cellReadOnly--CpRFk {
  color: var(--color-text-secondary);
  background-color: var(--color-bg-subtle, rgba(128, 128, 128, 0.08));
}

/* Редактируемая ячейка превью: прозрачный инпут во всю ширину td. */
.DevicesImportModal-module__cellInput--R_rVU {
  width: 100%;
  min-width: 6rem;
  padding: 0;
  border: none;
  background: transparent;
  font: inherit;
  color: inherit;
}

.DevicesImportModal-module__cellInput--R_rVU:focus {
  outline: 2px solid var(--color-focus-ring);
  outline-offset: 1px;
  border-radius: var(--radius-sm);
}

.DevicesImportModal-module__resultError--I0s7G {
  display: block;
  margin-top: var(--space-1);
  font-size: var(--text-xs);
  color: var(--color-status-error);
  white-space: normal;
  max-width: 20rem;
}

@media (max-width: 720px) {
  .DevicesImportModal-module__dialog--st6pQ {
    max-width: 100%;
  }
}

.ColumnSettingsModal-module__dialog--zQFv7 {
  max-width: 48rem;
}

.ColumnSettingsModal-module__body--fjEmZ {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  min-width: 0;
}

.ColumnSettingsModal-module__subtitle--gre0g {
  margin: 0;
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  line-height: 1.45;
}

.ColumnSettingsModal-module__search--eqq0C {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  min-height: 2.5rem;
  padding: 0 0.75rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background-color: var(--color-bg-elevated);
}

.ColumnSettingsModal-module__search--eqq0C:focus-within {
  border-color: var(--color-border-hover);
}

.ColumnSettingsModal-module__searchIcon--hA_YM {
  flex-shrink: 0;
  color: var(--color-text-secondary);
}

.ColumnSettingsModal-module__searchInput--QZ80i {
  flex: 1 1 auto;
  min-width: 0;
  height: 2.25rem;
  padding: 0;
  font-size: var(--text-sm);
  color: var(--color-text-primary);
  background: transparent;
  border: none;
  outline: none;
}

.ColumnSettingsModal-module__searchInput--QZ80i::placeholder {
  color: var(--color-text-secondary);
}

.ColumnSettingsModal-module__searchInput--QZ80i::-webkit-search-decoration,
.ColumnSettingsModal-module__searchInput--QZ80i::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

.ColumnSettingsModal-module__panes--RChxl {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: var(--space-4);
  gap: var(--space-4);
  min-width: 0;
}

.ColumnSettingsModal-module__pane--pWDrT {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  min-width: 0;
}

.ColumnSettingsModal-module__paneHeader--ycW2u {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.ColumnSettingsModal-module__paneTitle--PGnel {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  margin: 0;
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-text-primary);
}

.ColumnSettingsModal-module__paneCount--ES_F4 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.35rem;
  height: 1.35rem;
  padding: 0 0.35rem;
  font-size: var(--text-xs);
  font-weight: 600;
  color: var(--color-text-secondary);
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: 999px;
}

.ColumnSettingsModal-module__paneHint--o1P_V {
  margin: 0;
  font-size: var(--text-xs);
  color: var(--color-text-muted);
  line-height: 1.4;
}

.ColumnSettingsModal-module__list--bpSpv {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  min-height: 12rem;
  max-height: min(22rem, 46vh);
  overflow-y: auto;
  padding: var(--space-2);
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}

.ColumnSettingsModal-module__item--cIGuF {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  width: 100%;
  padding: 0.55rem 0.65rem;
  font-size: var(--text-sm);
  color: var(--color-text-primary);
  background-color: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}

.ColumnSettingsModal-module__item--cIGuF:hover {
  border-color: var(--color-border-hover);
}

.ColumnSettingsModal-module__itemLabel--GRK34 {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ColumnSettingsModal-module__gripIcon--F1kg3 {
  flex-shrink: 0;
  color: var(--color-text-muted);
  cursor: grab;
}

.ColumnSettingsModal-module__itemAction--cIu1q {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  padding: 0;
  border: none;
  border-radius: var(--radius-sm);
  color: var(--color-text-secondary);
  background: transparent;
  cursor: pointer;
}

.ColumnSettingsModal-module__itemAction--cIu1q:hover:not(:disabled) {
  color: var(--color-text-primary);
  background-color: color-mix(in srgb, var(--color-text-primary) 8%, transparent);
}

.ColumnSettingsModal-module__itemAction--cIu1q:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.ColumnSettingsModal-module__dragging--lV9ZX {
  opacity: 0.45;
}

.ColumnSettingsModal-module__dropTarget--KFVEo {
  border-color: color-mix(in srgb, var(--color-accent) 45%, var(--color-border));
  background-color: color-mix(in srgb, var(--color-accent) 8%, var(--color-bg-surface));
}

.ColumnSettingsModal-module__empty--Qgd3z {
  padding: var(--space-4);
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  text-align: center;
}

.ColumnSettingsModal-module__footer--XP8qV {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  width: 100%;
}

.ColumnSettingsModal-module__footerRight--N93DS {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-2);
  margin-left: auto;
}

.ColumnSettingsModal-module__footer--XP8qV button {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

@media (max-width: 720px) {
  .ColumnSettingsModal-module__panes--RChxl {
    grid-template-columns: 1fr;
  }

  .ColumnSettingsModal-module__list--bpSpv {
    max-height: 14rem;
  }

  .ColumnSettingsModal-module__footer--XP8qV {
    flex-direction: column;
    align-items: stretch;
  }

  .ColumnSettingsModal-module__footerRight--N93DS {
    margin-left: 0;
  }

  .ColumnSettingsModal-module__footerRight--N93DS button,
  .ColumnSettingsModal-module__footer--XP8qV > button {
    flex: 1 1 auto;
    justify-content: center;
  }
}
.CopyableText-module__root--BxKmK {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  min-width: 0;
  max-width: 100%;
}

.CopyableText-module__value--HaVmK {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.CopyableText-module__button--Z7jR4 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.35rem;
  height: 1.35rem;
  padding: 0;
  color: var(--color-text-muted);
  background: transparent;
  border: 0;
  border-radius: var(--radius-sm);
  cursor: pointer;
}

.CopyableText-module__button--Z7jR4:hover {
  color: var(--color-text-primary);
  background-color: var(--color-bg-elevated);
}

.CopyableText-module__plain--Yy9FB {
  display: inline;
  min-width: 0;
}

.CopyableText-module__chip--JgQrO {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.4rem;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  min-width: 0;
  padding: 0.15rem 0.2rem 0.15rem 0.45rem;
  border: 1px solid var(--color-border);
  border-radius: 0.65rem;
  background-color: var(--color-bg-elevated);
  transition:
    border-color 0.18s ease, background-color 0.18s ease, box-shadow 0.18s ease;
}

.CopyableText-module__chipCompact--hhbE8 {
  width: -webkit-fit-content;
  width: fit-content;
  max-width: 100%;
  justify-content: flex-start;
}

.CopyableText-module__chip--JgQrO:hover {
  border-color: var(--color-border-hover);
  background-color: color-mix(in srgb, var(--color-bg-elevated) 88%, var(--color-primary) 12%);
}

.CopyableText-module__chipCopied--_xKVQ {
  border-color: color-mix(in srgb, var(--color-primary) 55%, var(--color-border));
  background-color: color-mix(in srgb, var(--color-bg-elevated) 82%, var(--color-primary) 18%);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--color-primary) 22%, transparent);
}

.CopyableText-module__chipValue--pLGB2 {
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
  text-overflow: ellipsis;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
  font-size: 0.8125rem;
  font-weight: 600;
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.01em;
  line-height: 1.25;
  color: var(--color-text-primary);
}

.CopyableText-module__chipValue--pLGB2 code,
.CopyableText-module__chipValue--pLGB2 a {
  font: inherit;
  color: inherit;
  -webkit-text-decoration: none;
  text-decoration: none;
}

.CopyableText-module__chipValue--pLGB2 a:hover {
  color: var(--color-primary);
}

.CopyableText-module__copyBtn--brdZZ {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.7rem;
  height: 1.7rem;
  padding: 0;
  color: var(--color-text-secondary);
  background-color: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  border-radius: 0.55rem;
  cursor: pointer;
  transition:
    color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.CopyableText-module__copyBtn--brdZZ:hover {
  color: var(--color-text-primary);
  border-color: var(--color-border-hover);
  background-color: color-mix(in srgb, var(--color-bg-surface) 80%, var(--color-primary) 20%);
}

.CopyableText-module__copyBtn--brdZZ:active {
  transform: scale(0.94);
}

.CopyableText-module__copyBtnDone--IFBzH {
  color: var(--color-primary);
  border-color: color-mix(in srgb, var(--color-primary) 45%, var(--color-border));
  background-color: color-mix(in srgb, var(--color-bg-surface) 70%, var(--color-primary) 30%);
}

.CopyableText-module__copyBtn--brdZZ:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 1px;
}

@media (prefers-reduced-motion: reduce) {
  .CopyableText-module__chip--JgQrO,
  .CopyableText-module__copyBtn--brdZZ {
    transition: none;
  }

  .CopyableText-module__copyBtn--brdZZ:active {
    transform: none;
  }
}

.SearchableSelect-module__root--tHRUx {
  position: relative;
  width: 100%;
}

.SearchableSelect-module__rootFloating--OXrQ0 {
  display: block;
}

.SearchableSelect-module__fieldLabel--o9sC2 {
  position: absolute;
  left: var(--space-3);
  top: 0.38rem;
  z-index: 1;
  max-width: calc(100% - 2.5rem);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: calc(var(--text-sm) * 0.82);
  font-weight: 500;
  color: var(--color-text-secondary);
  pointer-events: none;
}

.SearchableSelect-module__trigger--_Z9Ym {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  width: 100%;
  min-height: 2.5rem;
  padding: 0 var(--space-3);
  color: var(--color-text-primary);
  background-color: var(--color-bg-input);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  outline: none;
  font-size: var(--text-sm);
  font-weight: 500;
  font-family: inherit;
  cursor: pointer;
  text-align: left;
  transition:
    border-color 0.22s ease, box-shadow 0.22s ease, background-color 0.22s ease;
}

.SearchableSelect-module__triggerCompact--SZyZ8 {
  min-height: 2.25rem;
  height: 2.25rem;
  padding: 0 0.625rem 0 var(--space-3);
}

.SearchableSelect-module__triggerFloating--FOTpO {
  align-items: flex-end;
  min-height: 3.5rem;
  height: 3.5rem;
  padding: 1.35rem 2.25rem 0.55rem var(--space-3);
}

.SearchableSelect-module__trigger--_Z9Ym:hover:not(:disabled):not(.SearchableSelect-module__triggerOpen--n3zW4) {
  border-color: var(--color-accent-border);
  box-shadow: 0 0 0 1px var(--color-accent-soft), 0 10px 28px rgba(245, 166, 35, 0.08);
}

.SearchableSelect-module__trigger--_Z9Ym:focus-visible,
.SearchableSelect-module__triggerOpen--n3zW4 {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px var(--color-focus-ring), 0 12px 28px rgba(245, 166, 35, 0.14);
}

.SearchableSelect-module__trigger--_Z9Ym:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.SearchableSelect-module__triggerLead--UCKtx {
  display: inline-flex;
  flex-shrink: 0;
  color: var(--color-text-secondary);
}

.SearchableSelect-module__triggerOpen--n3zW4 .SearchableSelect-module__triggerLead--UCKtx {
  color: var(--color-text-primary);
}

.SearchableSelect-module__triggerLabel--eb_8j {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.SearchableSelect-module__triggerPlaceholder--qHQql {
  color: var(--color-text-muted);
  font-weight: 500;
}

.SearchableSelect-module__triggerIcon--f5cRa {
  flex-shrink: 0;
  color: var(--color-text-muted);
  transition: transform 0.18s ease, color 0.18s ease;
}

.SearchableSelect-module__triggerOpen--n3zW4 .SearchableSelect-module__triggerIcon--f5cRa {
  color: var(--color-text-primary);
  transform: rotate(180deg);
}

.SearchableSelect-module__panel--swV2Q {
  max-height: min(24rem, 70vh);
  overflow: hidden;
  animation: none;
  opacity: 0;
  transform: translateY(-8px) scale(0.96);
  transform-origin: top center;
  pointer-events: none;
  transition:
    opacity 0.18s ease-out, transform 0.18s ease-out;
}

.SearchableSelect-module__panelOpen--Nx3eC {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}

.SearchableSelect-module__search--IF5j0 {
  width: 100%;
  height: 2.25rem;
  margin-bottom: 2px;
  padding: 0 var(--space-3);
  color: var(--color-text-primary);
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  outline: none;
  font-size: var(--text-sm);
  font-family: inherit;
  transition: border-color 0.16s ease, box-shadow 0.16s ease;
}

.SearchableSelect-module__search--IF5j0::placeholder {
  color: var(--color-text-muted);
}

.SearchableSelect-module__search--IF5j0:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px var(--color-focus-ring);
}

.SearchableSelect-module__listbox--c93FJ {
  display: flex;
  flex-direction: column;
  gap: 2px;
  max-height: 18rem;
  overflow-y: auto;
}

.SearchableSelect-module__item--z5NXs {
  justify-content: space-between;
}

.SearchableSelect-module__itemLabel--oKFB1 {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.SearchableSelect-module__itemCheck--Lkmcv {
  flex-shrink: 0;
  color: var(--color-text-secondary);
}

.SearchableSelect-module__itemActive--eOpR_ {
  font-weight: 600;
  background-color: var(--color-surface-hover);
}

.SearchableSelect-module__itemHighlighted--GyUMk {
  background-color: var(--color-surface-hover);
}

.SearchableSelect-module__hint--X_Cvd {
}

@media (max-width: 720px) {
  .SearchableSelect-module__panel--swV2Q {
    max-height: min(24rem, 70dvh);
  }
}

@media (prefers-reduced-motion: reduce) {
  .SearchableSelect-module__trigger--_Z9Ym,
  .SearchableSelect-module__triggerIcon--f5cRa,
  .SearchableSelect-module__panel--swV2Q {
    transition: none;
  }
}

.AppLayout-module__layout--pvRxB {
  display: flex;
  min-height: 100vh;
}

.AppLayout-module__main--g3hST {
  flex: 1;
  /* min-width: 0 — иначе flex-элемент не сжимается ниже ширины контента:
     широкая таблица (width: max-content) растягивала бы весь лейаут,
     а не скроллилась внутри tableWrapper. */
  min-width: 0;
  margin-left: var(--sidebar-width);
  padding-top: var(--header-height);
  transition: margin-left 0.2s ease;
}

.AppLayout-module__sidebarCollapsed--iE8Ml {
  margin-left: var(--sidebar-collapsed-width);
}

.AppLayout-module__backdrop--DDGoz {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: var(--color-bg-overlay);
  z-index: var(--z-sticky);
}

.AppLayout-module__content--idofF {
  padding: var(--space-6);
  padding-bottom: max(var(--space-6), env(safe-area-inset-bottom));
  min-height: calc(100vh - var(--header-height));
  min-height: calc(100dvh - var(--header-height));
}

@media (max-width: 1100px) {
  .AppLayout-module__main--g3hST,
  .AppLayout-module__sidebarCollapsed--iE8Ml {
    margin-left: 0;
  }

  .AppLayout-module__content--idofF {
    padding: var(--space-5);
    padding-left: max(var(--space-5), env(safe-area-inset-left));
    padding-right: max(var(--space-5), env(safe-area-inset-right));
    padding-bottom: max(var(--space-5), env(safe-area-inset-bottom));
  }
}

@media (max-width: 720px) {
  .AppLayout-module__content--idofF {
    padding: var(--space-4) var(--space-3);
    padding-left: max(var(--space-3), env(safe-area-inset-left));
    padding-right: max(var(--space-3), env(safe-area-inset-right));
    padding-bottom: max(var(--space-4), env(safe-area-inset-bottom));
  }
}

.Input-module__wrapper--rPfI4 {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}

.Input-module__field--Ssxn1 {
  position: relative;
  display: block;
  border-radius: var(--radius-md);
}

.Input-module__input--lP7WN {
  width: 100%;
  padding: var(--space-2) var(--space-3);
  color: var(--color-text-primary);
  caret-color: var(--color-primary);
  background-color: var(--color-bg-input);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  outline: none;
  transition:
    border-color 0.22s ease, box-shadow 0.22s ease, background-color 0.22s ease;
}

.Input-module__floating--ts2gS .Input-module__input--lP7WN {
  padding: 1.45rem var(--space-3) 0.6rem;
  min-height: 3.5rem;
}

.Input-module__hasSuffix--JKnoX .Input-module__input--lP7WN {
  padding-right: 2.75rem;
}

.Input-module__suffix--mefo3 {
  position: absolute;
  top: 50%;
  right: 0.4rem;
  z-index: 2;
  display: flex;
  align-items: center;
  transform: translateY(-50%);
}

.Input-module__input--lP7WN::placeholder {
  color: var(--color-text-muted);
}

.Input-module__floating--ts2gS .Input-module__input--lP7WN::placeholder {
  color: transparent;
}

.Input-module__floating--ts2gS.Input-module__showPlaceholder--ghmDH .Input-module__input--lP7WN::placeholder,
.Input-module__floating--ts2gS:focus-within .Input-module__input--lP7WN::placeholder,
.Input-module__input--lP7WN:focus::placeholder {
  color: var(--color-text-muted);
}

.Input-module__field--Ssxn1:hover .Input-module__input--lP7WN:not(:disabled):not(:focus) {
  border-color: var(--color-accent-border);
  box-shadow: 0 0 0 1px var(--color-accent-soft), 0 10px 28px rgba(245, 166, 35, 0.08);
}

.Input-module__input--lP7WN:focus,
.Input-module__field--Ssxn1:focus-within .Input-module__input--lP7WN {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px var(--color-focus-ring), 0 12px 28px rgba(245, 166, 35, 0.14);
}

.Input-module__label--siMe4 {
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--color-text-secondary);
}

.Input-module__floating--ts2gS .Input-module__label--siMe4 {
  position: absolute;
  left: var(--space-3);
  top: 1.1rem;
  z-index: 1;
  max-width: calc(100% - 1.5rem);
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
  transform: translateY(0) scale(1);
  transform-origin: left center;
  transition:
    transform 0.22s cubic-bezier(0.22, 1, 0.36, 1), top 0.22s cubic-bezier(0.22, 1, 0.36, 1), color 0.22s ease;
}

.Input-module__floating--ts2gS:focus-within .Input-module__label--siMe4,
.Input-module__floating--ts2gS.Input-module__filled--raRen .Input-module__label--siMe4,
.Input-module__floating--ts2gS .Input-module__input--lP7WN:focus ~ .Input-module__label--siMe4,
.Input-module__floating--ts2gS .Input-module__input--lP7WN:-webkit-autofill ~ .Input-module__label--siMe4 {
  top: 0.38rem;
  transform: scale(0.82);
}

.Input-module__floating--ts2gS:focus-within .Input-module__label--siMe4,
.Input-module__floating--ts2gS .Input-module__input--lP7WN:focus ~ .Input-module__label--siMe4 {
  color: var(--color-primary);
}

.Input-module__required--OxbFu {
  color: var(--color-status-error);
  margin-left: var(--space-1);
}

.Input-module__error--_uYXJ {
  border-color: var(--color-status-error);
}

.Input-module__error--_uYXJ:focus,
.Input-module__fieldError--CkxVG:focus-within .Input-module__input--lP7WN {
  border-color: var(--color-status-error);
  box-shadow: 0 0 0 3px var(--color-focus-ring-error);
}

.Input-module__fieldError--CkxVG:focus-within .Input-module__label--siMe4,
.Input-module__fieldError--CkxVG .Input-module__input--lP7WN:focus ~ .Input-module__label--siMe4 {
  color: var(--color-status-error);
}

.Input-module__input--lP7WN:disabled {
  cursor: not-allowed;
  opacity: 0.65;
}

.Input-module__errorText--ttUx5 {
  font-size: var(--text-sm);
  color: var(--color-status-error);
}

@media (prefers-reduced-motion: reduce) {
  .Input-module__input--lP7WN,
  .Input-module__floating--ts2gS .Input-module__label--siMe4 {
    transition: none;
  }
}

.OtpInput-module__wrapper--i_cs_ {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.OtpInput-module__header--U4Bql {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-3);
}

.OtpInput-module__label--L1zbo {
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--color-text-secondary);
}

.OtpInput-module__required--lHHjQ {
  color: var(--color-status-error);
  margin-left: var(--space-1);
}

.OtpInput-module__paste--jr5rQ {
  padding: 0;
  border: none;
  background: none;
  color: var(--color-primary);
  font-size: var(--text-sm);
  font-weight: 600;
  cursor: pointer;
}

.OtpInput-module__paste--jr5rQ:hover:not(:disabled) {
  color: var(--color-primary-hover);
}

.OtpInput-module__paste--jr5rQ:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.OtpInput-module__field--NcSrq {
  position: relative;
}

.OtpInput-module__realInput--FkROW {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  opacity: 0;
  outline: none;
  box-shadow: none;
  -webkit-appearance: none;
          appearance: none;
  background: transparent;
  color: transparent;
  caret-color: transparent;
  -webkit-text-fill-color: transparent;
  font-size: 1rem;
}

.OtpInput-module__realInput--FkROW:focus,
.OtpInput-module__realInput--FkROW:focus-visible {
  outline: none;
  box-shadow: none;
  border: 0;
}

.OtpInput-module__grid--xSe3m {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  grid-gap: var(--space-2);
  gap: var(--space-2);
}

.OtpInput-module__cell--bEKF3 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 1;
  min-height: 2.75rem;
  padding: 0;
  color: var(--color-text-primary);
  background-color: var(--color-bg-input);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  outline: none;
  font-size: var(--text-xl);
  font-weight: 600;
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
  text-align: center;
  cursor: text;
  transition:
    border-color 0.22s ease, box-shadow 0.22s ease, background-color 0.22s ease;
}

.OtpInput-module__cell--bEKF3:hover:not(:disabled):not(:focus) {
  border-color: var(--color-accent-border);
}

.OtpInput-module__cell--bEKF3:focus,
.OtpInput-module__cellActive--CZJ0c {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px var(--color-focus-ring);
}

.OtpInput-module__cellError--cwKT9 {
  border-color: var(--color-status-error);
}

.OtpInput-module__cellError--cwKT9:focus,
.OtpInput-module__cellError--cwKT9.OtpInput-module__cellActive--CZJ0c {
  border-color: var(--color-status-error);
  box-shadow: 0 0 0 3px var(--color-focus-ring-error);
}

.OtpInput-module__cell--bEKF3:disabled,
.OtpInput-module__fieldDisabled--D6eT4 .OtpInput-module__cell--bEKF3 {
  cursor: not-allowed;
  opacity: 0.65;
}

.OtpInput-module__errorText--WKtg9 {
  font-size: var(--text-sm);
  color: var(--color-status-error);
}

@media (max-width: 420px) {
  .OtpInput-module__grid--xSe3m {
    gap: var(--space-1);
  }

  .OtpInput-module__cell--bEKF3 {
    min-height: 2.4rem;
    font-size: var(--text-lg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .OtpInput-module__cell--bEKF3 {
    transition: none;
  }
}

.LoginPage-module__container--Mq61w {
  --auth-accent: #f5a623;
  --auth-accent-hover: #ffbb47;
  --auth-accent-ink: #0a0a08;
  --auth-accent-soft: rgba(245, 166, 35, 0.1);
  --auth-accent-border: rgba(245, 166, 35, 0.28);
  --auth-bg: #0a0a09;
  --auth-surface: #111110;
  --auth-panel: rgba(10, 10, 9, 0.88);
  --auth-border: rgba(255, 255, 255, 0.08);
  --auth-border-hover: rgba(255, 255, 255, 0.16);
  --auth-text: #f5f4f1;
  --auth-text-secondary: #a4a19a;
  --auth-text-muted: #79766f;
  --auth-grid-line: rgba(255, 255, 255, 0.05);
  --auth-hover: rgba(255, 255, 255, 0.04);

  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  min-height: 100vh;
  padding: 64px 24px 48px;
  color: var(--auth-text);
  background: var(--auth-bg);
}

[data-theme='light'] .LoginPage-module__container--Mq61w {
  --auth-bg: #e8e9ec;
  --auth-surface: #ffffff;
  --auth-panel: rgba(255, 255, 255, 0.94);
  --auth-border: rgba(20, 22, 28, 0.14);
  --auth-border-hover: rgba(20, 22, 28, 0.28);
  --auth-text: #16181d;
  --auth-text-secondary: #4b4f58;
  --auth-text-muted: #6b707a;
  --auth-grid-line: rgba(20, 22, 28, 0.08);
  --auth-hover: rgba(20, 22, 28, 0.06);
}

.LoginPage-module__grid--H5vG6 {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  background-image:
    linear-gradient(to right, var(--auth-grid-line) 1px, transparent 1px),
    linear-gradient(to bottom, var(--auth-grid-line) 1px, transparent 1px);
  background-size: 64px 64px;
  -webkit-mask-image: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.9), transparent 78%);
          mask-image: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.9), transparent 78%);
}

.LoginPage-module__glow--YhC4x {
  position: absolute;
  z-index: 0;
  top: -120px;
  left: 50%;
  width: 900px;
  height: 700px;
  transform: translateX(-50%);
  background: radial-gradient(
    circle,
    rgba(245, 166, 35, 0.16),
    rgba(245, 166, 35, 0.05) 40%,
    transparent 70%
  );
  pointer-events: none;
}

.LoginPage-module__topActions--vHdVz {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 8px;
}

.LoginPage-module__pageLogo--k24dR {
  display: block;
  height: 40px;
  width: auto;
  margin: 0 auto 24px;
  object-fit: contain;
}

.LoginPage-module__iconButton--JZPLw {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 30px;
  min-width: 30px;
  padding: 0 10px;
  color: var(--auth-text-secondary);
  font-size: 10px;
  font-weight: 700;
  border: 1px solid var(--auth-border);
  border-radius: 8px;
  transition:
    color 160ms ease, border-color 160ms ease, background-color 160ms ease;
}

.LoginPage-module__iconButton--JZPLw:hover {
  color: var(--auth-text);
  border-color: var(--auth-border-hover);
  background: var(--auth-hover);
}

.LoginPage-module__card--BIMzp {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 420px;
  padding: 36px 32px 28px;
  background: var(--auth-panel);
  border: 1px solid var(--auth-border);
  border-radius: 16px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.28);
  -webkit-backdrop-filter: blur(14px);
          backdrop-filter: blur(14px);
}

.LoginPage-module__brand--xUF3T {
  margin-bottom: 28px;
  text-align: center;
}

.LoginPage-module__eyebrow--YjkH1 {
  display: block;
  margin-bottom: 10px;
  color: var(--auth-accent);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.LoginPage-module__title--MwIeq {
  font-size: max(28px, min(4vw, 36px));
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.03em;
  color: var(--auth-text);
}

.LoginPage-module__subtitle--gAlnW {
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.6;
  color: var(--auth-text-secondary);
}

.LoginPage-module__brandLogo--YNEwq,
.LoginPage-module__brandIcon--sbbSI {
  display: none;
}

.LoginPage-module__logoLight--CbPIe,
.LoginPage-module__iconLight--l3aWq {
  display: none;
}

[data-theme='light'] .LoginPage-module__logoDark--_8dBk,
[data-theme='light'] .LoginPage-module__iconDark--rOTyb {
  display: none;
}

[data-theme='light'] .LoginPage-module__logoLight--CbPIe,
[data-theme='light'] .LoginPage-module__iconLight--l3aWq {
  display: block;
}

.LoginPage-module__form--DjSNj {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.LoginPage-module__form--DjSNj label {
  color: var(--auth-text-muted);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.LoginPage-module__form--DjSNj input:not([data-otp-input]) {
  height: 44px;
  padding: 0 16px;
  color: var(--auth-text);
  font-size: 13px;
  background: var(--auth-surface);
  border: 1px solid var(--auth-border);
  border-radius: 8px;
  box-shadow: none;
}

.LoginPage-module__form--DjSNj input:not([data-otp-input])::placeholder {
  color: var(--auth-text-muted);
}

.LoginPage-module__form--DjSNj input:not([data-otp-input]):focus {
  border-color: var(--auth-accent-border);
  box-shadow: none;
}

.LoginPage-module__form--DjSNj input:not([data-otp-input]):focus-visible {
  outline: none;
}

.LoginPage-module__actions--x1w7H {
  margin-top: 4px;
}

.LoginPage-module__actions--x1w7H button {
  height: 44px;
  padding: 0 18px;
  color: var(--auth-accent-ink);
  font-size: 13px;
  font-weight: 600;
  background: var(--auth-accent);
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(245, 166, 35, 0.18);
  transition:
    transform 160ms ease, background-color 160ms ease;
}

.LoginPage-module__actions--x1w7H button:hover:not(:disabled) {
  background: var(--auth-accent-hover);
  transform: translateY(-2px);
}

.LoginPage-module__actions--x1w7H button:active:not(:disabled) {
  background: #d98f14;
  transform: none;
}

.LoginPage-module__error--WTV4C {
  margin-bottom: 16px;
  padding: 12px 14px;
  font-size: 13px;
  color: var(--auth-text);
  background: rgba(239, 68, 68, 0.1);
  border: 1px solid rgba(239, 68, 68, 0.28);
  border-radius: 8px;
}

.LoginPage-module__hint--n1ogf {
  margin-top: 18px;
  font-size: 13px;
  font-weight: 600;
  color: var(--auth-accent);
  text-align: center;
  transition: opacity 160ms ease;
}

.LoginPage-module__hint--n1ogf:hover {
  opacity: 0.82;
}

.LoginPage-module__hintLink--glG03 {
  display: block;
  -webkit-text-decoration: none;
  text-decoration: none;
}

.LoginPage-module__loader--W_cjY {
  display: flex;
  justify-content: center;
  padding: 8px 0 12px;
  color: var(--auth-accent);
}

@media (max-width: 900px) {
  .LoginPage-module__container--Mq61w {
    padding: 72px 20px 40px;
  }

  .LoginPage-module__card--BIMzp {
    padding: 32px 24px 24px;
  }
}

@media (max-width: 560px) {
  .LoginPage-module__container--Mq61w {
    padding: 56px 16px 32px;
  }

  .LoginPage-module__topActions--vHdVz {
    top: 12px;
    right: 12px;
  }

  .LoginPage-module__card--BIMzp {
    padding: 28px 20px 22px;
  }
}

.Router-module__pageLoader--naefd {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  padding: var(--space-8);
  color: var(--color-primary);
  background: var(--color-bg-base);
}

.Router-module__pageLoaderText--yQqM6 {
  margin-left: var(--space-3);
}

.NotificationCenter-module__container--M5pwr {
  position: fixed;
  top: calc(var(--header-height) + var(--space-4));
  right: var(--space-4);
  z-index: var(--z-toast);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  width: min(26rem, calc(100vw - var(--space-8)));
  pointer-events: none;
}

.NotificationCenter-module__notification--xtdD5 {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: start;
  grid-gap: var(--space-3);
  gap: var(--space-3);
  padding: var(--space-3);
  color: var(--color-text-primary);
  background: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-left-width: 3px;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-lg);
  pointer-events: auto;
}

.NotificationCenter-module__error--UgPKw {
  border-left-color: var(--color-status-error);
}

.NotificationCenter-module__info--bSLrn {
  border-left-color: var(--color-primary);
}

.NotificationCenter-module__success--rnLmx {
  border-left-color: var(--color-status-active);
}

.NotificationCenter-module__icon--mIQrw {
  display: inline-flex;
  color: var(--color-text-secondary);
  margin-top: 0.125rem;
}

.NotificationCenter-module__error--UgPKw .NotificationCenter-module__icon--mIQrw {
  color: var(--color-status-error);
}

.NotificationCenter-module__info--bSLrn .NotificationCenter-module__icon--mIQrw {
  color: var(--color-primary);
}

.NotificationCenter-module__success--rnLmx .NotificationCenter-module__icon--mIQrw {
  color: var(--color-status-active);
}

.NotificationCenter-module__message--Bd8Hy {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: var(--text-sm);
}

.NotificationCenter-module__close--YTb9J {
  width: 1.75rem;
  height: 1.75rem;
}

@media (max-width: 40rem) {
  .NotificationCenter-module__container--M5pwr {
    top: calc(var(--header-height) + var(--space-3));
    right: var(--space-3);
    left: var(--space-3);
    width: auto;
  }
}

.UpdateBanner-module__body--d6ISA {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.UpdateBanner-module__title--eW9QN {
  margin: 0;
  font-weight: 600;
  font-size: var(--text-sm);
  color: var(--color-text-primary);
  line-height: 1.35;
}

.UpdateBanner-module__text--AxPtD {
  margin: 0;
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.UpdateBanner-module__actions--mYZfy {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.35rem;
}

.UpdateBanner-module__spin--BHJD9 {
  animation: UpdateBanner-module__spin--BHJD9 1s linear infinite;
}

@keyframes UpdateBanner-module__spin--BHJD9 {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .UpdateBanner-module__spin--BHJD9 {
    animation: none;
  }
}

:root {
  /* Brand Colors */
  --color-primary: #f5a623;
  --color-primary-hover: #ffbb47;
  --color-primary-active: #d98f14;
  --color-secondary: #8b5cf6;

  /* Accent (жёлтый) — одинаковый в обеих темах */
  --color-accent: #f5a623;
  --color-accent-soft: rgba(245, 166, 35, 0.1);
  --color-accent-border: rgba(245, 166, 35, 0.28);
  --color-accent-ink: #0a0a08;

  /* Backgrounds
     Холст — полоска превью с clondyke.ru (#111110), карточки чуть светлее рамки (#161513),
     чтобы слои читались без «выбеливания» тёмной темы. */
  --color-bg-base: #111110;
  --color-bg-surface: #1a1916;
  --color-bg-elevated: #22211d;
  --color-bg-overlay: rgba(0, 0, 0, 0.7);
  --color-bg-gradient-end: #0a0a09;
  --color-bg-input: var(--color-bg-elevated);

  /* Borders */
  --color-border: rgba(255, 255, 255, 0.1);
  --color-border-hover: rgba(255, 255, 255, 0.18);

  /* Text */
  --color-text-primary: #f5f4f1;
  --color-text-secondary: #a4a19a;
  /* WCAG AA >= 4.5:1 на bg-base/surface/elevated */
  --color-text-muted: #79766f;
  --color-text-inverse: #0a0a09;

  --color-header-bg: rgba(17, 17, 16, 0.88);
  --color-panel-bg: rgba(17, 17, 16, 0.98);
  --color-surface-hover: rgba(255, 255, 255, 0.05);
  --color-grid-line: rgba(255, 255, 255, 0.06);

  /* Status */
  --color-status-active: #22c55e;
  --color-status-inactive: #f5a623;
  --color-status-blocked: #ef4444;
  --color-status-online: #22c55e;
  --color-status-offline: #6b6b6b;
  --color-status-warning: #f5a623;
  --color-status-error: #ef4444;
  --color-status-problem: #ef4444;
  --color-status-paused: #3b82f6;
  --color-status-decommissioned: #8a8a8a;
  --color-status-storage: #a0785a;
  --color-status-maintenance: #7c6db8;

  /* Focus rings */
  --color-focus-ring: rgba(245, 166, 35, 0.25);
  --color-focus-ring-error: rgba(239, 68, 68, 0.2);

  /* Chart */
  --color-chart-line: #f5a623;
  --color-chart-area: rgba(245, 166, 35, 0.18);
  --color-chart-grid: rgba(255, 255, 255, 0.07);

  /* Spacing Scale */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;

  /* Typography */
  --font-sans: 'Inter', ui-sans-serif, system-ui, -apple-system, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, monospace;
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: 1.875rem;

  /* Radius */
  --radius-sm: 0.375rem;
  --radius-md: 0.5rem;
  --radius-lg: 0.75rem;
  --radius-xl: 1rem;

  /* Shadows */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.5);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.6);

  /* Z-index */
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-modal: 300;
  --z-toast: 400;

  /* Sidebar */
  --sidebar-width: 16rem;
  --sidebar-collapsed-width: 4rem;
  --header-height: 3.5rem;

  --csstools-color-scheme--light:  ;

  color-scheme: dark;
}

[data-theme='light'] {
  --color-accent-soft: rgba(245, 166, 35, 0.2);
  --color-accent-border: rgba(245, 166, 35, 0.42);

  --color-bg-base: #e8e9ec;
  --color-bg-surface: #ffffff;
  --color-bg-elevated: #f3f4f6;
  --color-bg-input: #ffffff;
  --color-bg-overlay: rgba(20, 22, 28, 0.45);
  --color-bg-gradient-end: #dfe1e6;

  --color-border: rgba(20, 22, 28, 0.14);
  --color-border-hover: rgba(20, 22, 28, 0.28);

  --color-text-primary: #16181d;
  --color-text-secondary: #4b4f58;
  --color-text-muted: #6b707a;
  --color-text-inverse: #ffffff;

  --color-header-bg: rgba(255, 255, 255, 0.94);
  --color-panel-bg: #ffffff;
  --color-surface-hover: rgba(20, 22, 28, 0.06);
  --color-grid-line: rgba(20, 22, 28, 0.08);

  --color-chart-grid: rgba(20, 22, 28, 0.1);

  --shadow-sm: 0 1px 2px rgba(20, 22, 28, 0.06);
  --shadow-md: 0 4px 14px rgba(20, 22, 28, 0.1);
  --shadow-lg: 0 16px 36px rgba(20, 22, 28, 0.14);

  --csstools-color-scheme--light: initial;

  color-scheme: light;
}

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

html {
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
       text-size-adjust: 100%;
}

body {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.5;
  color: var(--color-text-primary);
  background-color: var(--color-bg-base);
  min-height: 100vh;
  min-height: 100dvh;
}

a {
  color: inherit;
  -webkit-text-decoration: none;
  text-decoration: none;
}

button {
  font-family: inherit;
  cursor: pointer;
  border: none;
  background: none;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

input,
textarea,
select {
  font-family: inherit;
  font-size: inherit;
  color: inherit;
}

img,
svg {
  display: block;
  max-width: 100%;
}

code,
kbd {
  font-family: var(--font-mono);
}

/* Scrollbar: Firefox (webkit — ниже) */
* {
  scrollbar-width: thin;
  scrollbar-color: var(--color-border-hover) var(--color-bg-surface);
}

/* Scrollbar */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: var(--color-bg-surface);
}

::-webkit-scrollbar-thumb {
  background: var(--color-border-hover);
  border-radius: var(--radius-md);
}

::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-muted);
}

/* Utility helpers (not Tailwind!) */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Фатальная ошибка bootstrap (src/index.tsx): DOM создаётся через createElement,
   поэтому стили живут здесь, а не в CSS-модуле. */
.bootstrap-error {
  min-height: 100vh;
  padding: var(--space-8);
  color: var(--color-status-error);
  background-color: var(--color-bg-base);
}

.bootstrap-error pre {
  white-space: pre-wrap;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Общие примитивы дропдаунов и табов.
   CSS-модули подключают их через `composes: <class> from global;`
   и добавляют только свои отличия (позиционирование, ширину и т.п.). */
.ds-dropdown-panel {
  position: absolute;
  top: calc(100% + var(--space-2));
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  padding: var(--space-2);
  z-index: var(--z-dropdown);
  display: flex;
  flex-direction: column;
  gap: 2px;
  transform-origin: top center;
  animation: dsDropdownIn 0.18s ease-out;
}

/* Портал на body: координаты viewport, слой выше модалки. */
.ds-dropdown-panel-overlay {
  position: fixed;
  top: auto;
  left: auto;
  z-index: calc(var(--z-modal) + 20);
}

.ds-dropdown-item {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  width: 100%;
  padding: 0.625rem var(--space-3);
  font-size: var(--text-sm);
  color: var(--color-text-primary);
  background: none;
  border: none;
  border-radius: var(--radius-md);
  cursor: pointer;
  text-align: left;
}

.ds-dropdown-item:hover {
  background-color: var(--color-surface-hover);
}

.ds-dropdown-item:focus-visible {
  background-color: var(--color-surface-hover);
  outline: 2px solid var(--color-primary);
  outline-offset: -2px;
}

.ds-dropdown-hint {
  padding: 0.625rem var(--space-3);
  font-size: var(--text-sm);
  color: var(--color-text-muted);
}

@keyframes dsDropdownIn {
  from {
    opacity: 0;
    transform: translateY(-8px) scale(0.96);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes dsDropdownOut {
  from {
    opacity: 1;
    transform: translateY(0) scale(1);
  }

  to {
    opacity: 0;
    transform: translateY(-8px) scale(0.96);
  }
}

.ds-tab {
  padding: var(--space-2) var(--space-4);
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--color-text-secondary);
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  cursor: pointer;
}

.ds-tab:hover {
  color: var(--color-text-primary);
}

.ds-tab:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Должен идти после .ds-tab: переопределяет color и border-bottom-color. */
.ds-tab-active {
  color: var(--color-text-primary);
  border-bottom-color: var(--color-primary);
}

.RolePermissionsEditor-module__editor--uaIpe {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.RolePermissionsEditor-module__intro--AW6vZ {
  margin: 0;
  font-size: var(--text-sm);
  color: #a1a1aa;
  line-height: 1.45;
}

.RolePermissionsEditor-module__toolbar--dhuzP {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2);
}

.RolePermissionsEditor-module__toolbarActions--PiDcX {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.RolePermissionsEditor-module__counter--xSW5o {
  margin-left: auto;
  font-size: var(--text-sm);
  color: #a1a1aa;
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.RolePermissionsEditor-module__templates--DZrhN {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.RolePermissionsEditor-module__templatesLabel--dPY1p {
  font-size: var(--text-xs);
  font-weight: 600;
  color: #a1a1aa;
  letter-spacing: 0.01em;
}

.RolePermissionsEditor-module__templateChips--WeIrQ {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 2px;
  padding: 3px;
  width: -webkit-fit-content;
  width: fit-content;
  max-width: 100%;
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: 999px;
}

.RolePermissionsEditor-module__templateChip--th3O7 {
  -webkit-appearance: none;
          appearance: none;
  margin: 0;
  padding: 0.4rem 0.85rem;
  border: none;
  border-radius: 999px;
  background: transparent;
  color: #a1a1aa;
  font: inherit;
  font-size: var(--text-sm);
  font-weight: 500;
  line-height: 1.2;
  cursor: pointer;
  white-space: nowrap;
}

.RolePermissionsEditor-module__templateChip--th3O7:hover {
  color: var(--color-text-primary);
  background-color: color-mix(in srgb, var(--color-bg-surface) 70%, transparent);
}

.RolePermissionsEditor-module__templateChip--th3O7:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 1px;
}

.RolePermissionsEditor-module__sections--J6IkQ {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  max-height: min(32rem, 55vh);
  overflow-y: auto;
  padding-right: var(--space-1);
}

.RolePermissionsEditor-module__section--VqaOO {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  padding: var(--space-3);
  background:
    linear-gradient(
      135deg,
      color-mix(in srgb, var(--color-accent) 7%, transparent),
      transparent 42%
    ),
    var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-left: 3px solid color-mix(in srgb, var(--color-accent) 70%, var(--color-border));
  border-radius: var(--radius-md);
}

.RolePermissionsEditor-module__sectionHeader--MvuFW {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  padding-bottom: var(--space-2);
  border-bottom: 1px solid color-mix(in srgb, var(--color-border) 80%, transparent);
}

.RolePermissionsEditor-module__sectionTitleRow--zPYpn {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin: 0;
  min-height: 2rem;
  cursor: pointer;
  -webkit-user-select: none;
          user-select: none;
}

.RolePermissionsEditor-module__sectionTitle--heq9S {
  margin: 0;
  font-size: var(--text-sm);
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--color-text-primary);
}

.RolePermissionsEditor-module__sectionCount--PzduV {
  margin-left: auto;
  padding: 0.15rem 0.5rem;
  border-radius: 999px;
  background-color: color-mix(in srgb, var(--color-accent) 14%, transparent);
  border: 1px solid color-mix(in srgb, var(--color-accent) 28%, transparent);
  font-size: var(--text-xs);
  font-weight: 600;
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
  color: var(--color-text-secondary);
}

.RolePermissionsEditor-module__sectionDescription--sVkEp {
  margin: 0;
  padding-left: calc(1.25rem + var(--space-2));
  font-size: var(--text-sm);
  color: #a1a1aa;
  line-height: 1.4;
}

.RolePermissionsEditor-module__rows--iwPbN {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.RolePermissionsEditor-module__row--BtnrF {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  box-sizing: border-box;
  min-height: 2.5rem;
  margin: 0;
  padding: 0.35rem 0.65rem;
  border-radius: var(--radius-md);
  cursor: pointer;
  -webkit-user-select: none;
          user-select: none;
}

.RolePermissionsEditor-module__rowChild--x3sl7 {
  margin-left: 1.35rem;
  padding-left: 0.85rem;
  border-left: 1px solid color-mix(in srgb, var(--color-border) 55%, transparent);
}

.RolePermissionsEditor-module__row--BtnrF:hover:not(.RolePermissionsEditor-module__rowDisabled--GvGlA):not(.RolePermissionsEditor-module__rowLocked--Q2qXd) {
  background-color: color-mix(in srgb, var(--color-accent) 8%, transparent);
}

.RolePermissionsEditor-module__rowLocked--Q2qXd,
.RolePermissionsEditor-module__rowDisabled--GvGlA {
  cursor: not-allowed;
  opacity: 0.55;
}

.RolePermissionsEditor-module__rowLocked--Q2qXd:hover,
.RolePermissionsEditor-module__rowDisabled--GvGlA:hover {
  background-color: transparent;
}

.RolePermissionsEditor-module__checkbox--WxRRK {
  flex: 0 0 auto;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
  accent-color: var(--color-primary);
  cursor: inherit;
}

.RolePermissionsEditor-module__rowBody--kZFMH {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
  min-width: 0;
  flex: 1 1 auto;
}

.RolePermissionsEditor-module__rowLabel--XHh_p {
  font-size: var(--text-sm);
  color: var(--color-text-primary);
  line-height: 1.3;
}

.RolePermissionsEditor-module__hintBtn--FhlDm {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 1.25rem;
  height: 1.25rem;
  margin-left: auto;
  padding: 0;
  border: none;
  border-radius: 999px;
  background: transparent;
  color: #71717a;
  cursor: help;
  opacity: 0.85;
  /* Явный бокс — якорь для Tooltip (не display:contents у иконки). */
  position: relative;
}

.RolePermissionsEditor-module__hintBtn--FhlDm:hover {
  color: #a1a1aa;
  opacity: 1;
}

.RolePermissionsEditor-module__readBlocked--CEADX {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2);
  margin-top: var(--space-1);
  margin-left: 1.35rem;
  padding: var(--space-2) var(--space-3);
  border-radius: var(--radius-md);
  background-color: color-mix(in srgb, var(--color-status-warning) 12%, var(--color-bg-elevated));
  border: 1px solid color-mix(in srgb, var(--color-status-warning) 35%, var(--color-border));
  font-size: var(--text-sm);
  color: var(--color-text-primary);
}

.RolePermissionsEditor-module__readBlockedText--nrfdU {
  flex: 1 1 12rem;
  min-width: 0;
  line-height: 1.4;
}

.RolePermissionsEditor-module__loading--qW4Qq {
  font-size: var(--text-sm);
  color: #a1a1aa;
}

.MultiSelect-module__root--m70N6 {
  width: 100%;
}

.MultiSelect-module__control--aSs4E {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  height: 2.25rem;
  min-height: 2.25rem;
  max-height: 2.25rem;
  overflow: hidden;
  padding: 3px 8px 3px 6px;
  color: var(--color-text-primary);
  background-color: var(--color-bg-input);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  cursor: text;
  transition:
    border-color 0.22s ease, background-color 0.22s ease, box-shadow 0.22s ease;
}

.MultiSelect-module__control--aSs4E:hover:not(.MultiSelect-module__controlDisabled--F1eIa):not(.MultiSelect-module__controlOpen--w4BqX) {
  border-color: var(--color-accent-border);
  box-shadow: 0 0 0 1px var(--color-accent-soft), 0 10px 28px rgba(245, 166, 35, 0.08);
}

.MultiSelect-module__controlOpen--w4BqX {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px var(--color-focus-ring), 0 12px 28px rgba(245, 166, 35, 0.14);
}

.MultiSelect-module__controlDisabled--F1eIa {
  opacity: 0.5;
  cursor: not-allowed;
}

.MultiSelect-module__values--ZbW5J {
  display: flex;
  flex: 1;
  flex-wrap: nowrap;
  align-items: center;
  gap: 6px;
  min-width: 0;
  overflow: hidden;
}

.MultiSelect-module__chip--SvVVH {
  display: inline-flex;
  flex: 0 1 auto;
  min-width: 0;
  align-items: center;
  gap: 4px;
  height: 1.5rem;
  padding: 0 4px 0 8px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  color: var(--color-text-primary);
  background-color: var(--color-accent-soft);
  border: 1px solid var(--color-accent-border);
  border-radius: 6px;
}

.MultiSelect-module__chipLabel--pTlgV {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.MultiSelect-module__overflow--Htqoj {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  height: 1.5rem;
  padding: 0 8px;
  font-size: 12px;
  font-weight: 700;
  color: var(--color-accent-ink);
  background-color: var(--color-primary);
  border-radius: 6px;
  white-space: nowrap;
}

.MultiSelect-module__chipRemove--txi_X {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 1.125rem;
  height: 1.125rem;
  padding: 0;
  color: var(--color-text-secondary);
  background: none;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

.MultiSelect-module__chipRemove--txi_X:hover:not(:disabled) {
  color: var(--color-text-primary);
  background-color: var(--color-surface-hover);
}

.MultiSelect-module__chipRemove--txi_X:disabled {
  cursor: not-allowed;
}

.MultiSelect-module__search--PY_9z {
  flex: 1 1 5rem;
  min-width: 4.5rem;
  height: 1.5rem;
  margin: 0;
  padding: 0;
  color: var(--color-text-primary);
  background: transparent;
  border: none;
  outline: none;
  box-shadow: none;
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
}

.MultiSelect-module__search--PY_9z:focus,
.MultiSelect-module__search--PY_9z:focus-visible {
  outline: none;
  box-shadow: none;
}

.MultiSelect-module__searchCompact--rDzsh {
  flex: 0 0 0;
  width: 0;
  min-width: 0;
  max-width: 0;
  overflow: hidden;
  caret-color: transparent;
}

.MultiSelect-module__iconOpen--IuVfi {
  color: var(--color-accent);
  transform: rotate(180deg);
}

.ClientFilterSelect-module__root--Nc11p {
  position: relative;
  width: 100%;
  min-width: 0;
}

.ClientFilterSelect-module__control--grhry {
  display: flex;
  align-items: center;
  gap: 6px;
  box-sizing: border-box;
  width: 100%;
  height: 2.25rem;
  min-height: 2.25rem;
  max-height: 2.25rem;
  padding: 0 8px 0 6px;
  color: var(--color-text-primary);
  background-color: var(--color-bg-input);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  outline: none;
  font-size: var(--text-sm);
  font-weight: 500;
  font-family: inherit;
  cursor: pointer;
  text-align: left;
  transition:
    border-color 0.22s ease, box-shadow 0.22s ease, background-color 0.22s ease;
}

.ClientFilterSelect-module__control--grhry:hover:not(:disabled):not(.ClientFilterSelect-module__controlOpen--tUl3L) {
  border-color: var(--color-accent-border);
  box-shadow: 0 0 0 1px var(--color-accent-soft), 0 10px 28px rgba(245, 166, 35, 0.08);
}

.ClientFilterSelect-module__control--grhry:focus-visible,
.ClientFilterSelect-module__controlOpen--tUl3L {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px var(--color-focus-ring), 0 12px 28px rgba(245, 166, 35, 0.14);
}

.ClientFilterSelect-module__control--grhry:disabled,
.ClientFilterSelect-module__controlDisabled--OKfNH {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

.ClientFilterSelect-module__controlDisabled--OKfNH .ClientFilterSelect-module__clearBtn--V7w6r {
  pointer-events: none;
}

.ClientFilterSelect-module__values--LtIoW {
  display: flex;
  flex: 1;
  flex-wrap: nowrap;
  align-items: center;
  gap: 6px;
  min-width: 0;
  overflow: hidden;
}

.ClientFilterSelect-module__controlLabel--FXaUc {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ClientFilterSelect-module__controlPlaceholder--yevUb {
  color: var(--color-text-muted);
}

.ClientFilterSelect-module__chip--SgIc7 {
  display: inline-flex;
  flex: 0 1 auto;
  min-width: 0;
  align-items: center;
  gap: 4px;
  height: 1.5rem;
  padding: 0 4px 0 8px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  color: var(--color-text-primary);
  background-color: var(--color-accent-soft);
  border: 1px solid var(--color-accent-border);
  border-radius: 6px;
}

.ClientFilterSelect-module__chipLabel--VYQ0A {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ClientFilterSelect-module__chipRemove--SDxJL {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 1.125rem;
  height: 1.125rem;
  padding: 0;
  color: var(--color-text-secondary);
  background: none;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

.ClientFilterSelect-module__chipRemove--SDxJL:hover:not(:disabled) {
  color: var(--color-text-primary);
  background-color: var(--color-surface-hover);
}

.ClientFilterSelect-module__overflow--xN8tB {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  height: 1.5rem;
  padding: 0 8px;
  font-size: 12px;
  font-weight: 700;
  color: var(--color-accent-ink);
  background-color: var(--color-primary);
  border-radius: 6px;
  white-space: nowrap;
}

.ClientFilterSelect-module__clearBtn--V7w6r {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  padding: 0;
  color: var(--color-text-muted);
  background: transparent;
  border: 0;
  border-radius: var(--radius-sm);
  cursor: pointer;
}

.ClientFilterSelect-module__clearBtn--V7w6r:hover {
  color: var(--color-text-primary);
  background-color: var(--color-surface-hover);
}

.ClientFilterSelect-module__chevron--xXzqM {
  flex-shrink: 0;
  color: var(--color-text-muted);
  transition: transform 0.18s ease, color 0.18s ease;
}

.ClientFilterSelect-module__controlOpen--tUl3L .ClientFilterSelect-module__chevron--xXzqM {
  color: var(--color-text-primary);
  transform: rotate(180deg);
}

.ClientFilterSelect-module__panel--B6Khc {
  display: flex;
  flex-direction: column;
  max-height: min(28rem, 78vh);
  overflow: hidden;
  animation: none;
  opacity: 0;
  transform: translateY(-8px) scale(0.96);
  transform-origin: top center;
  pointer-events: none;
  transition:
    opacity 0.18s ease-out, transform 0.18s ease-out;
}

.ClientFilterSelect-module__panelOpen--bzT4M {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}

.ClientFilterSelect-module__searchWrap--DaVj_ {
  position: relative;
  flex-shrink: 0;
  padding: var(--space-2);
  border-bottom: 1px solid var(--color-border);
}

.ClientFilterSelect-module__searchIcon--mduve {
  position: absolute;
  left: calc(var(--space-2) + 0.65rem);
  top: 50%;
  transform: translateY(-50%);
  color: var(--color-text-muted);
  pointer-events: none;
}

.ClientFilterSelect-module__search--w6sPe {
  width: 100%;
  height: 2.25rem;
  box-sizing: border-box;
  padding: 0 2rem 0 2.1rem;
  color: var(--color-text-primary);
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  outline: none;
  font-size: var(--text-sm);
  font-family: inherit;
}

.ClientFilterSelect-module__search--w6sPe:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px var(--color-focus-ring);
}

.ClientFilterSelect-module__searchClear--laaz7 {
  position: absolute;
  right: calc(var(--space-2) + 0.35rem);
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  padding: 0;
  color: var(--color-text-muted);
  background: transparent;
  border: 0;
  border-radius: var(--radius-sm);
  cursor: pointer;
}

.ClientFilterSelect-module__body--PTYjT {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: var(--space-1);
}

.ClientFilterSelect-module__section--wTP1P {
  display: flex;
  flex-direction: column;
  gap: 1px;
  padding: var(--space-1) 0;
}

.ClientFilterSelect-module__section--wTP1P + .ClientFilterSelect-module__section--wTP1P {
  border-top: 1px solid var(--color-border);
  margin-top: var(--space-1);
  padding-top: var(--space-2);
}

.ClientFilterSelect-module__sectionTitle--xCWbn {
  padding: var(--space-1) var(--space-3);
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-text-muted);
}

.ClientFilterSelect-module__item--t05AG {
  min-height: 2.75rem;
  justify-content: space-between;
  gap: var(--space-2);
}

.ClientFilterSelect-module__itemLabel--zLN_C {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ClientFilterSelect-module__itemTrailing--kmIoK {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  gap: var(--space-2);
}

.ClientFilterSelect-module__itemMeta--Le_Vg {
  flex-shrink: 0;
  font-size: var(--text-xs);
  font-weight: 500;
  color: var(--color-text-muted);
}

.ClientFilterSelect-module__itemActive--M6FBr {
  font-weight: 600;
  background-color: var(--color-surface-hover);
}

.ClientFilterSelect-module__itemHighlighted--zHBVW {
  background-color: var(--color-surface-hover);
}

.ClientFilterSelect-module__hint--pNykb {
  padding: var(--space-3);
}

.ClientFilterSelect-module__showAll--y_Sc9 {
  min-height: 2.75rem;
  color: var(--color-primary);
  font-weight: 600;
}

.ClientFilterSelect-module__modalSearch--nyQS_ {
  margin-bottom: var(--space-3);
}

.ClientFilterSelect-module__modalMeta--TiPg6 {
  margin: 0 0 var(--space-2);
  font-size: var(--text-sm);
  color: var(--color-text-muted);
}

.ClientFilterSelect-module__modalList--sWhj8 {
  display: flex;
  flex-direction: column;
  gap: 1px;
  max-height: min(24rem, 55vh);
  overflow-y: auto;
  margin: 0 calc(-1 * var(--space-2));
  padding: 0 var(--space-2);
}

.ClientFilterSelect-module__modalItem--U1P7V {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
  width: 100%;
  min-height: 2.75rem;
  padding: 0 var(--space-3);
  color: var(--color-text-primary);
  background: transparent;
  border: 0;
  border-radius: var(--radius-md);
  font-size: var(--text-sm);
  font-family: inherit;
  text-align: left;
  cursor: pointer;
}

.ClientFilterSelect-module__modalItem--U1P7V:hover,
.ClientFilterSelect-module__modalItemActive--iL_Cx {
  background-color: var(--color-surface-hover);
}

@media (prefers-reduced-motion: reduce) {
  .ClientFilterSelect-module__control--grhry,
  .ClientFilterSelect-module__chevron--xXzqM,
  .ClientFilterSelect-module__panel--B6Khc {
    transition: none;
  }
}

.AlwaysVisibleScrollArea-module__root--itGmO {
  position: relative;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  min-height: 12rem;
  max-height: calc(100dvh - 22rem);
  overflow: hidden;
  background-color: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
}

.AlwaysVisibleScrollArea-module__scroller--ajdv1 {
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  overflow: scroll;
  /* Прячем нативный scrollbar — рисуем свой, всегда видимый. */
  scrollbar-width: none;
}

.AlwaysVisibleScrollArea-module__scroller--ajdv1::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

.AlwaysVisibleScrollArea-module__trackY--Jrgff {
  position: absolute;
  top: 0;
  right: 0;
  width: 10px;
  background: var(--color-bg-elevated);
  border-left: 1px solid var(--color-border);
  z-index: 4;
}

.AlwaysVisibleScrollArea-module__trackX--i3Hw0 {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 10px;
  background: var(--color-bg-elevated);
  border-top: 1px solid var(--color-border);
  z-index: 4;
}

.AlwaysVisibleScrollArea-module__thumbY--VdxdV,
.AlwaysVisibleScrollArea-module__thumbX--uO45W {
  position: absolute;
  background: var(--color-text-muted);
  border-radius: 999px;
  cursor: grab;
}

.AlwaysVisibleScrollArea-module__thumbY--VdxdV:hover,
.AlwaysVisibleScrollArea-module__thumbX--uO45W:hover,
.AlwaysVisibleScrollArea-module__thumbY--VdxdV:active,
.AlwaysVisibleScrollArea-module__thumbX--uO45W:active {
  background: var(--color-text-secondary);
}

.AlwaysVisibleScrollArea-module__thumbY--VdxdV {
  left: 2px;
  width: 6px;
}

.AlwaysVisibleScrollArea-module__thumbX--uO45W {
  top: 2px;
  height: 6px;
}

.AlwaysVisibleScrollArea-module__corner--zKP7s {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 10px;
  height: 10px;
  background: var(--color-bg-elevated);
  border-left: 1px solid var(--color-border);
  border-top: 1px solid var(--color-border);
  z-index: 5;
}

.Page-module__pageTitle--SWNft {
  font-size: var(--text-2xl);
  font-weight: 700;
  color: var(--color-text-primary);
  margin-bottom: var(--space-2);
}

.Page-module__pageDescription--ruQSd {
  color: var(--color-text-secondary);
  margin-bottom: var(--space-6);
}

.Page-module__header--ejf74 {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-4);
  margin-bottom: var(--space-6);
  flex-wrap: wrap;
}

.Page-module__header--ejf74 .Page-module__pageTitle--SWNft {
  margin-bottom: 0;
}

.Page-module__cards--hRtEV {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
  grid-gap: var(--space-4);
  gap: var(--space-4);
  margin-bottom: var(--space-6);
}

.Page-module__card--JIQ2V {
  padding: var(--space-5);
  background-color: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
}

.Page-module__cardTitle--Xwnjw {
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: var(--space-2);
}

.Page-module__cardValue--s_4IL {
  font-size: var(--text-2xl);
  font-weight: 700;
  color: var(--color-text-primary);
}

.Page-module__toolbar--cBjcp {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  margin-bottom: var(--space-4);
  flex-wrap: wrap;
}

.Page-module__filtersBar--vllLB {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
}

.Page-module__filtersBar--vllLB .Page-module__field--Ayx3v {
  flex: 1 1 0;
  min-width: 12rem;
  max-width: 22rem;
}

.Page-module__filtersBar--vllLB .Page-module__field--Ayx3v > * {
  min-width: 0;
  width: 100%;
}

.Page-module__filtersBar--vllLB select {
  min-width: 0;
  width: 100%;
}

.Page-module__filtersBarTools--ORjZ4 {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  min-height: 2.5rem;
  margin-top: calc(var(--text-sm) * 1.4 + var(--space-1));
}

.Page-module__filtersSection--g4bQ1 {
  min-width: 0;
  margin-bottom: var(--space-6);
}

.Page-module__filtersSectionHeader--Eg8ed {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  margin-bottom: var(--space-3);
}

.Page-module__filtersSectionHeader--Eg8ed .Page-module__listSectionTitle--AERZ1 {
  margin: 0;
}

.Page-module__filtersBlock--ib1p2 {
  min-width: 0;
  padding: var(--space-5);
  background-color: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
}

.Page-module__filtersToggle--w23jw {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  min-width: 0;
  padding: 0;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--color-text-primary);
  text-align: left;
}

.Page-module__filtersToggle--w23jw:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
  border-radius: var(--radius-sm);
}

.Page-module__filtersToggle--w23jw .Page-module__listSectionTitle--AERZ1 {
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.Page-module__filtersBadge--NQF9K {
  padding: var(--space-1) var(--space-2);
  font-size: var(--text-xs);
  font-weight: 600;
  color: var(--color-text-secondary);
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  white-space: nowrap;
}

.Page-module__filtersBlock--ib1p2 .Page-module__filtersBar--vllLB {
  margin-bottom: 0;
  align-items: flex-end;
}

.Page-module__filtersBlock--ib1p2 .Page-module__filtersBar--vllLB .Page-module__field--Ayx3v {
  max-width: none;
}

.Page-module__filtersReset--XndC_ {
  display: flex;
  align-items: flex-end;
  align-self: stretch;
  flex: 0 0 auto;
  margin-left: auto;
}


.Page-module__resetFiltersButton--Ly7X5 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  box-sizing: border-box;
  height: 2.25rem;
  min-height: 2.25rem;
  max-height: 2.25rem;
  padding: 4px 10px 4px 8px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  color: var(--color-text-primary);
  background-color: var(--color-bg-input);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  cursor: pointer;
  white-space: nowrap;
  transition:
    border-color 180ms ease, background-color 180ms ease;
}

.Page-module__resetFiltersButton--Ly7X5:hover {
  border-color: var(--color-border-hover);
  background-color: var(--color-surface-hover);
}

.Page-module__resetFiltersButton--Ly7X5:hover svg {
  animation: Page-module__commandSpin--g9dYb 0.7s linear infinite;
}

.Page-module__columnSettingsButton--ZquRc:hover svg {
  animation: Page-module__commandGlow--t8GBB 0.9s ease-in-out infinite;
}

/* Иконочные кнопки тулбара списка (экспорт/импорт): тот же вид, что у кнопки
   настройки колонок (resetFiltersButton + columnSettingsButton), но квадрат —
   без текстовой подписи, ярлык в title. */
.Page-module__listBarIconButton--mLpZP {
  width: 2.25rem;
  padding: 4px;
}

.Page-module__resetFiltersButton--Ly7X5:active {
  border-color: var(--color-border-hover);
  background-color: var(--color-surface-hover);
}

.Page-module__filtersSectionHeader--Eg8ed .Page-module__filtersBarTools--ORjZ4 {
  margin-top: 0;
  min-height: auto;
}

.Page-module__search--gtkVL {
  width: 100%;
  max-width: 20rem;
}

@media (max-width: 1100px) {
  .Page-module__pageTitle--SWNft {
    font-size: var(--text-xl);
  }

  .Page-module__header--ejf74 {
    align-items: flex-start;
  }

  .Page-module__header--ejf74 > .Page-module__field--Ayx3v,
  .Page-module__filtersBar--vllLB .Page-module__field--Ayx3v,
  .Page-module__filtersBar--vllLB select {
    min-width: 0;
    width: 100%;
    max-width: 24rem;
  }
}

@media (max-width: 720px) {
  .Page-module__pageTitle--SWNft {
    font-size: var(--text-lg);
  }

  .Page-module__pageDescription--ruQSd {
    margin-bottom: var(--space-4);
  }

  .Page-module__search--gtkVL,
  .Page-module__header--ejf74 > .Page-module__field--Ayx3v,
  .Page-module__filtersBar--vllLB .Page-module__field--Ayx3v,
  .Page-module__filtersBar--vllLB select {
    max-width: none;
    min-width: 0;
    flex: 1 1 100%;
  }

  .Page-module__pagination--LLjoH {
    flex-direction: column;
    align-items: stretch;
  }

  .Page-module__listBar--_4mWB,
  .Page-module__listBarFooter--uzdfw,
  .Page-module__tableToolbar--_xHMP {
    padding-left: var(--space-3);
    padding-right: var(--space-3);
  }

  .Page-module__tableToolbarSelected--QfDN6 {
    flex-direction: column;
    align-items: stretch;
    padding-right: 0;
  }

  .Page-module__tableToolbarActions--jhYQq {
    margin-left: 0;
    width: 100%;
    justify-content: flex-end;
    flex-wrap: wrap;
  }

  .Page-module__commandGroup--XQDDG {
    flex: 1 1 auto;
  }

  .Page-module__commandButton--vcauy {
    flex: 1 1 auto;
    justify-content: center;
  }

  .Page-module__table--HJQMx th,
  .Page-module__table--HJQMx td {
    padding: var(--space-2) var(--space-3);
  }

  .Page-module__clientFormModal--wQxDI {
    width: calc(100vw - 1.25rem) !important;
    max-width: calc(100vw - 1.25rem) !important;
  }
}

.Page-module__tabs--vT2A3 {
  display: flex;
  gap: var(--space-2);
  margin-bottom: var(--space-4);
  border-bottom: 1px solid var(--color-border);
}

.Page-module__tab--S_cRX {
}

.Page-module__tabActive--grf5l {
}

.Page-module__deviceAssignmentsModal--JbIg3 {
  max-width: 56rem;
}

.Page-module__assignPoolModal--ooAHu {
  width: min(94vw, 54rem) !important;
  max-width: min(94vw, 54rem) !important;
  display: flex;
  flex-direction: column;
  overflow: hidden !important;
}

.Page-module__assignPoolModalBody--zrHaW {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
}

.Page-module__assignPoolTabs--USPoy {
  margin-bottom: var(--space-3);
}

.Page-module__assignPoolHint--Mocvk {
  display: block;
  margin: var(--space-2) 0 0;
  color: var(--color-text-secondary);
  font-size: var(--text-sm);
}

.Page-module__assignPoolBanner--Jx9Y3 {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  margin: 0 0 var(--space-4);
  padding: var(--space-3);
  border: 1px solid color-mix(in srgb, var(--color-status-warning) 35%, var(--color-border));
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--color-status-warning) 10%, transparent);
  color: var(--color-status-warning);
  font-size: var(--text-sm);
}

.Page-module__assignPoolBanner--Jx9Y3 p {
  margin: 0;
}

.Page-module__assignPoolOnceRow--I_sWf {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin: 0 0 var(--space-4);
}

.Page-module__assignOnceLabel--cS7Ax {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-sm);
  color: var(--color-text-primary);
  cursor: default;
}

.Page-module__assignOnceLabel--cS7Ax input[type='checkbox'] {
  width: 1rem;
  height: 1rem;
  accent-color: var(--color-primary);
}

.Page-module__assignOnceLabel--cS7Ax input[type='checkbox']:disabled {
  opacity: 1;
  cursor: default;
}

.Page-module__assignOnceHelp--K4sM0 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--color-text-muted);
  cursor: help;
}

.Page-module__assignOnceHelp--K4sM0:hover {
  color: var(--color-text-secondary);
}

.Page-module__assignPoolWarning--c2JE2 {
  color: var(--color-status-warning);
  font-size: var(--text-sm);
  margin: 0 0 var(--space-3);
}

.Page-module__assignPoolWarningTitle--Phsvr,
.Page-module__assignPoolWarningNote--y1KrR {
  margin: 0;
}

.Page-module__assignPoolWarningList--P_Dxc {
  margin: var(--space-1) 0;
  padding-left: var(--space-5);
}

.Page-module__clientFormModal--wQxDI {
  width: min(94vw, 68rem) !important;
  max-width: min(94vw, 68rem) !important;
}

.Page-module__organizationFormModal--SQWgY {
  width: min(94vw, 36rem) !important;
  max-width: min(94vw, 36rem) !important;
}

.Page-module__clientFormColumns--ba2tk {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-gap: var(--space-6);
  gap: var(--space-6);
  align-items: start;
}

.Page-module__clientFormColumn--T9mXl {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  min-width: 0;
}

.Page-module__clientFormPair--ZzC9K {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-gap: var(--space-3);
  gap: var(--space-3);
}

.Page-module__clientFormSectionTitle--YArDz {
  margin: 0;
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-text-secondary);
}

.Page-module__clientFormPlainList--uzbxu {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  max-height: min(24rem, 52vh);
  overflow-y: auto;
}

.Page-module__clientFormPlainItem--zWjdP {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  min-height: 2.25rem;
  padding: 0.2rem 0;
  color: var(--color-text-primary);
  font-size: var(--text-sm);
  cursor: pointer;
}

.Page-module__clientFormPlainItem--zWjdP input[type='checkbox'] {
  width: 1.125rem;
  height: 1.125rem;
  flex-shrink: 0;
  accent-color: var(--color-primary);
}

.Page-module__clientFormPoolRow--SIUPH {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  min-height: 2.25rem;
}

.Page-module__clientFormPoolRow--SIUPH > label {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  min-width: 0;
  color: var(--color-text-primary);
  font-size: var(--text-sm);
  cursor: pointer;
}

.Page-module__clientFormPoolRow--SIUPH > label:first-child {
  flex: 1;
}

.Page-module__clientFormPoolRow--SIUPH > label span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.Page-module__clientFormPoolRow--SIUPH input[type='checkbox'] {
  width: 1.125rem;
  height: 1.125rem;
  flex-shrink: 0;
  accent-color: var(--color-primary);
}

.Page-module__clientFormPoolDefault--uAMou {
  flex-shrink: 0;
  color: var(--color-text-secondary);
}

.Page-module__clientFormColumn--T9mXl .Page-module__groupTitle--s7FRA {
  margin-top: 0;
}

.Page-module__clientFormPasswordGen--D5PRh {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  color: var(--color-text-secondary);
  background: none;
  border: none;
  border-radius: var(--radius-sm);
  cursor: pointer;
}

.Page-module__clientFormPasswordGen--D5PRh:hover {
  color: var(--color-text-primary);
  background-color: var(--color-bg-elevated);
}

.Page-module__clientFormPasswordGenActive--MTRKV {
  color: var(--color-accent-ink);
  background-color: var(--color-primary);
}

.Page-module__clientFormPasswordGenActive--MTRKV:hover {
  color: var(--color-accent-ink);
  background-color: var(--color-primary-hover);
}

.Page-module__clientFormFloat--fX3W3 {
  position: relative;
  display: block;
}

.Page-module__clientFormFloatLabel--X6FtR {
  position: absolute;
  left: var(--space-3);
  top: 0.38rem;
  z-index: 1;
  max-width: calc(100% - 2.5rem);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: calc(var(--text-sm) * 0.82);
  font-weight: 500;
  color: var(--color-text-secondary);
  pointer-events: none;
}

.Page-module__clientFormFloatControl--Gq1wW {
  width: 100%;
  min-height: 3.5rem;
  height: 3.5rem;
  padding: 1.45rem var(--space-3) 0.6rem;
  color: var(--color-text-primary);
  background-color: var(--color-bg-input);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  outline: none;
  -webkit-appearance: none;
          appearance: none;
  font: inherit;
  font-size: var(--text-sm);
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2714%27 height=%2714%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%23a4a19a%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpolyline points=%276 9 12 15 18 9%27/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  padding-right: 2.25rem;
  transition:
    border-color 0.22s ease, box-shadow 0.22s ease, background-color 0.22s ease;
}

.Page-module__clientFormFloatControl--Gq1wW[type='number'] {
  background-image: none;
  padding-right: var(--space-3);
}

.Page-module__clientFormFloat--fX3W3:hover .Page-module__clientFormFloatControl--Gq1wW:not(:disabled):not(:focus) {
  border-color: var(--color-accent-border);
  box-shadow: 0 0 0 1px var(--color-accent-soft), 0 10px 28px rgba(245, 166, 35, 0.08);
}

.Page-module__clientFormFloatControl--Gq1wW:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px var(--color-focus-ring), 0 12px 28px rgba(245, 166, 35, 0.14);
}

.Page-module__clientFormColumn--T9mXl .Page-module__addressRow--o9g3V button {
  width: 3.5rem;
  height: 3.5rem;
  flex-shrink: 0;
  color: var(--color-text-secondary);
  background-color: var(--color-bg-input);
  border: 1px solid var(--color-border);
}

.Page-module__clientFormColumn--T9mXl .Page-module__addressRow--o9g3V button:hover:not(:disabled) {
  color: var(--color-status-error);
  border-color: var(--color-accent-border);
}

.Page-module__clientFormAdd--F8wMD {
  width: 100%;
  min-height: 3.5rem;
}

.Page-module__clientFormModal--wQxDI > :last-child button {
  min-width: 8.5rem;
  min-height: 3.5rem;
}

@media (max-width: 64rem) {
  .Page-module__clientFormColumns--ba2tk,
  .Page-module__clientFormPair--ZzC9K {
    grid-template-columns: 1fr;
  }
}

.Page-module__manualPoolSlots--tKzX2 {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.Page-module__manualPoolSlot--HaucD {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5) 0;
  border-bottom: 1px solid var(--color-border);
  min-width: 0;
}

.Page-module__manualPoolSlot--HaucD:first-child {
  padding-top: 0;
}

.Page-module__manualPoolSlot--HaucD:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.Page-module__manualPoolSlotHeader--AOmMa {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  min-height: 1.5rem;
}

.Page-module__manualPoolSlotTitle--hwBku {
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-text-primary);
}

.Page-module__manualPoolCopyButton--OtKAg {
  padding: var(--space-1) var(--space-2);
  border: 1px solid color-mix(in srgb, var(--color-primary) 40%, var(--color-border));
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--color-primary) 12%, transparent);
  color: var(--color-primary);
  font-size: var(--text-sm);
  font-weight: 500;
  cursor: pointer;
  white-space: nowrap;
}

.Page-module__manualPoolCopyButton--OtKAg:hover:not(:disabled) {
  background: color-mix(in srgb, var(--color-primary) 20%, transparent);
}

.Page-module__manualPoolCopyButton--OtKAg:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.Page-module__manualPoolSlotMeta--pn5WP {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-gap: var(--space-3);
  gap: var(--space-3);
  align-items: stretch;
}

.Page-module__manualPoolFieldInvalid--MKRwH input,
.Page-module__manualPoolFieldInvalid--MKRwH select {
  border-color: var(--color-status-danger) !important;
}

/* Как floating Input: одна высота и подпись внутри поля. */
.Page-module__manualPoolFloatingSelect--LhtA3 {
  position: relative;
  display: block;
  width: 100%;
  min-width: 0;
}

.Page-module__manualPoolFloatingSelectLabel--bJERL {
  position: absolute;
  left: var(--space-3);
  top: 0.38rem;
  z-index: 1;
  max-width: calc(100% - 2.75rem);
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
  font-size: calc(var(--text-sm) * 0.82);
  font-weight: 500;
  color: var(--color-text-secondary);
  transform-origin: left center;
}

.Page-module__manualPoolFloatingSelect--LhtA3 select {
  width: 100%;
  min-height: 3.5rem;
  height: 3.5rem;
  padding: 1.45rem 2.25rem 0.6rem var(--space-3);
  color: var(--color-text-primary);
  background-color: var(--color-bg-input);
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2714%27 height=%2714%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%23a4a19a%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpolyline points=%276 9 12 15 18 9%27/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.65rem center;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  outline: none;
  -webkit-appearance: none;
          appearance: none;
  font: inherit;
  font-size: var(--text-sm);
  transition:
    border-color 0.22s ease, box-shadow 0.22s ease, background-color 0.22s ease;
}

.Page-module__manualPoolFloatingSelect--LhtA3 select:hover:not(:disabled):not(:focus) {
  border-color: var(--color-accent-border);
  box-shadow: 0 0 0 1px var(--color-accent-soft), 0 10px 28px rgba(245, 166, 35, 0.08);
}

.Page-module__manualPoolFloatingSelect--LhtA3 select:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px var(--color-focus-ring), 0 12px 28px rgba(245, 166, 35, 0.14);
}

.Page-module__manualPoolFloatingSelect--LhtA3:focus-within .Page-module__manualPoolFloatingSelectLabel--bJERL {
  color: var(--color-primary);
}

.Page-module__manualPoolFloatingSelect--LhtA3 select:disabled {
  cursor: not-allowed;
  opacity: 0.65;
}

@media (max-width: 40rem) {
  .Page-module__manualPoolSlotMeta--pn5WP {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .Page-module__manualPoolSlotHeader--AOmMa {
    flex-wrap: wrap;
  }
}

.Page-module__agentModal--mmv8G {
  width: min(94vw, 72rem) !important;
  max-width: min(94vw, 72rem) !important;
}

.Page-module__field--Ayx3v.Page-module__discoveryTargetRow--724sn {
  display: grid;
  grid-template-columns: minmax(9rem, 1fr) 8rem minmax(28rem, 2fr) minmax(12rem, 1fr) auto;
  grid-gap: var(--space-2);
  gap: var(--space-2);
}

@media (max-width: 56rem) {
  .Page-module__field--Ayx3v.Page-module__discoveryTargetRow--724sn {
    grid-template-columns: minmax(0, 1fr) 8rem;
  }

  .Page-module__discoveryTargetRow--724sn > :nth-child(3),
  .Page-module__discoveryTargetRow--724sn > :nth-child(4) {
    grid-column: 1 / -1;
  }

  .Page-module__discoveryTargetRow--724sn > :nth-child(5) {
    justify-self: end;
  }
}

.Page-module__macCell--bJf2R {
  white-space: nowrap;
  font-family: var(--font-mono);
}

.Page-module__auditDeviceCell--R0Ywn {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.Page-module__auditDeviceModel--S2r90 {
  color: var(--color-text-primary);
  font-size: var(--text-sm);
  font-weight: 600;
  line-height: 1.25;
}

.Page-module__urlCell--oK2aE {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  font-size: var(--text-xs);
}

.Page-module__auditSlotList--SrFq9 {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  min-width: 12rem;
}

.Page-module__auditSlot--goiCA {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

.Page-module__auditWorker--rXSv2 {
  color: var(--color-text-muted);
  font-size: var(--text-xs);
  word-break: break-all;
}

.Page-module__auditJournalTable--bwPUA {
  table-layout: fixed;
}

.Page-module__auditJournalTable--bwPUA th:nth-child(1),
.Page-module__auditJournalTable--bwPUA td:nth-child(1) {
  width: 9.5rem;
}

.Page-module__auditJournalTable--bwPUA th:nth-child(5),
.Page-module__auditJournalTable--bwPUA td:nth-child(5) {
  width: 9rem;
}

.Page-module__auditJournalTable--bwPUA th:nth-child(6),
.Page-module__auditJournalTable--bwPUA td:nth-child(6) {
  width: 2.5rem;
}

.Page-module__auditJournalRow--OwOiI {
  cursor: pointer;
}

.Page-module__auditJournalRow--OwOiI:hover td {
  background: var(--color-surface-hover, rgba(255, 255, 255, 0.03));
}

.Page-module__auditJournalRowSelected--kugOM td {
  background: color-mix(in srgb, var(--color-primary) 12%, transparent);
}

.Page-module__auditTimeCell--TvkUf {
  white-space: nowrap;
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
  font-size: var(--text-sm);
}

.Page-module__auditChangeSummary--ywwqv {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.Page-module__auditChangeTitle--mCHeF {
  color: var(--color-text-primary);
  font-size: var(--text-sm);
  font-weight: 500;
  line-height: 1.3;
}

.Page-module__auditChangeHint--VdjvJ {
  color: var(--color-text-muted);
  font-size: var(--text-xs);
  font-family: var(--font-mono);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.Page-module__auditDetailsCell--dpwb4 {
  text-align: right;
}

.Page-module__auditDetailsButton--W3btS {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  padding: 0;
  border: none;
  border-radius: var(--radius-md);
  background: transparent;
  color: var(--color-text-muted);
  cursor: pointer;
}

.Page-module__auditDetailsButton--W3btS:hover {
  color: var(--color-primary);
  background: var(--color-accent-soft, rgba(245, 166, 35, 0.1));
}

.Page-module__auditDetailsButton--W3btS svg {
  transition: transform 0.15s ease;
}

.Page-module__auditDetailsButtonExpanded--mThxt svg {
  transform: rotate(180deg);
}

.Page-module__auditDetailExpand--gK2O5 {
  padding: var(--space-4);
  background: var(--color-bg-elevated);
  border-radius: var(--radius-md);
}

.Page-module__auditDetailExpandGrid--KkEdB {
  display: grid;
  grid-template-columns: minmax(12rem, 0.9fr) minmax(14rem, 1fr) minmax(18rem, 1.4fr);
  grid-gap: var(--space-5);
  gap: var(--space-5);
  align-items: start;
}

.Page-module__auditDetailExpandChanges--sMJux {
  min-width: 0;
}

.Page-module__auditDetailSection--n1wWw {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  min-width: 0;
}

.Page-module__auditDetailSectionTitle--eYlId {
  margin: 0;
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-text-secondary);
}

.Page-module__auditDetailKv--fmK5D {
  display: grid;
  grid-template-columns: 7.5rem minmax(0, 1fr);
  grid-gap: var(--space-2);
  gap: var(--space-2);
  font-size: var(--text-sm);
}

.Page-module__auditDetailKv--fmK5D span {
  color: var(--color-text-muted);
}

.Page-module__auditDetailKv--fmK5D strong {
  font-weight: 500;
  color: var(--color-text-primary);
  word-break: break-word;
}

.Page-module__auditDetailActions--mystC {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.Page-module__auditLinkButton--ZjOUQ {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  padding: var(--space-1) var(--space-2);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: transparent;
  color: var(--color-primary);
  font-size: var(--text-xs);
  font-weight: 500;
  cursor: pointer;
}

.Page-module__auditLinkButton--ZjOUQ:hover:not(:disabled) {
  background: var(--color-accent-soft, rgba(245, 166, 35, 0.1));
}

.Page-module__auditLinkButton--ZjOUQ:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.Page-module__auditCompareSlots--bol1a {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.Page-module__auditCompareSlot--DaX3z {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  padding-top: var(--space-2);
  border-top: 1px solid var(--color-border);
}

.Page-module__auditCompareSlotTitle--XXeFx {
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-text-primary);
}

.Page-module__auditCompareHead--EZuic,
.Page-module__auditCompareRow--QNXq1 {
  display: grid;
  grid-template-columns: 4.5rem minmax(0, 1fr) minmax(0, 1fr);
  grid-gap: var(--space-2);
  gap: var(--space-2);
  align-items: start;
  font-size: var(--text-xs);
}

.Page-module__auditCompareHead--EZuic {
  color: var(--color-text-muted);
  font-weight: 500;
}

.Page-module__auditCompareRowChanged--JFY7H {
  background: color-mix(in srgb, var(--color-primary) 8%, transparent);
  border-radius: var(--radius-sm);
  padding: var(--space-1);
  margin: 0 calc(var(--space-1) * -1);
}

.Page-module__auditCompareField--v6wVu {
  color: var(--color-text-secondary);
  font-weight: 500;
}

.Page-module__auditCompareValue--C4DGn {
  display: flex;
  align-items: flex-start;
  gap: var(--space-1);
  min-width: 0;
  color: var(--color-text-primary);
  word-break: break-all;
}

.Page-module__auditCompareValue--C4DGn code {
  font-family: var(--font-mono);
  font-size: inherit;
}

.Page-module__auditCompareMuted--KHNzh {
  color: var(--color-text-muted);
  font-style: italic;
}

.Page-module__auditInlineCopy--qb3Sn {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--color-text-muted);
  cursor: pointer;
}

.Page-module__auditInlineCopy--qb3Sn:hover {
  color: var(--color-primary);
}

@media (max-width: 64rem) {
  .Page-module__auditDetailExpandGrid--KkEdB {
    grid-template-columns: 1fr;
  }
}

/* Фолбэк «последний известный пул» из БД: приглушён, т.к. это не живые метрики. */
.Page-module__stalePool--AGbLY {
  color: var(--color-text-muted);
  opacity: 0.7;
}

/* Тот же цвет текста, что у бейджа статуса (warning / danger). */
.Page-module__issueMetricWarning--O1SOt {
  color: #fde68a;
  font-weight: 600;
}

.Page-module__issueMetricProblem--LLJ_R {
  color: #fecaca;
  font-weight: 600;
}

.Page-module__hashrateCell--T89IR {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
}

.Page-module__hashrateHint--J6GTx {
  display: inline-flex;
  color: inherit;
  opacity: 0.85;
  cursor: help;
}

.Page-module__hashrateHint--J6GTx:hover {
  opacity: 1;
}

[data-theme='light'] .Page-module__issueMetricWarning--O1SOt {
  color: #b45309;
}

[data-theme='light'] .Page-module__issueMetricProblem--LLJ_R {
  color: #b91c1c;
}

.Page-module__tableWrapper--RKTQx {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  background-color: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  container-type: inline-size;
}

.Page-module__tableWrapperVirtual--aGGCk {
  max-height: min(72vh, 56rem);
  overflow: auto;
  overscroll-behavior: contain;
  /* Чтобы появление/исчезновение скроллбара не сдвигало колонки. */
  scrollbar-gutter: stable;
}

.Page-module__tableWrapperVirtual--aGGCk thead th {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 2;
  background-color: var(--color-bg-surface);
}

/* Фиксируем раскладку при виртуализации: иначе при смене видимых строк
   auto-layout пересчитывает ширины колонок и таблица «мандражирует». */
.Page-module__tableWrapperVirtual--aGGCk .Page-module__table--HJQMx {
  table-layout: fixed;
}

/* Колонка select всегда фиксированной ширины: иначе при table-layout:fixed
   чекбокс и стрелка «Выбрать все» сжимаются/обрезаются и клик «не работает». */
.Page-module__tableWrapperVirtual--aGGCk .Page-module__table--HJQMx th:first-child,
.Page-module__tableWrapperVirtual--aGGCk .Page-module__table--HJQMx td:first-child {
  width: 3.25rem;
  min-width: 3.25rem;
  max-width: 3.25rem;
  padding-left: var(--space-2);
  padding-right: var(--space-1);
  overflow: visible;
}

.Page-module__listSection--gRrNk {
  min-width: 0;
}

.Page-module__listSectionHeader--ArXRe {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  margin-bottom: var(--space-3);
  flex-wrap: wrap;
}

.Page-module__listSectionTitle--AERZ1 {
  margin: 0 0 var(--space-3);
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-text-primary);
}

.Page-module__listSectionHeader--ArXRe .Page-module__listSectionTitle--AERZ1 {
  margin: 0;
}

.Page-module__listSectionCount--YWcP4 {
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--color-text-secondary);
  white-space: nowrap;
}

.Page-module__listSectionActions--kOJZS {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-2);
}

.Page-module__operatorToolbar--qOp_x {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin: 0 0 var(--space-3);
  min-width: 0;
}

.Page-module__operatorSearch--nhgy_ {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  max-width: 36rem;
  width: 100%;
  min-height: 2.5rem;
  padding: 0 0.65rem 0 0.75rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background-color: var(--color-bg-surface);
}

.Page-module__operatorSearch--nhgy_:focus-within {
  border-color: var(--color-border-hover);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--color-primary) 18%, transparent);
}

.Page-module__operatorSearchIcon--qrs8f {
  flex-shrink: 0;
  color: var(--color-primary);
}

.Page-module__operatorSearchInput--bOinf {
  flex: 1 1 auto;
  min-width: 0;
  height: 2.25rem;
  padding: 0;
  font-size: var(--text-sm);
  color: var(--color-text-primary);
  background: transparent;
  border: none;
  outline: none;
}

.Page-module__operatorSearchInput--bOinf::placeholder {
  color: var(--color-text-secondary);
}

.Page-module__operatorSearchInput--bOinf::-webkit-search-decoration,
.Page-module__operatorSearchInput--bOinf::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

.Page-module__operatorSearchClear--gKJHC {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  padding: 0;
  border: none;
  border-radius: var(--radius-sm);
  color: var(--color-text-secondary);
  background: transparent;
  cursor: pointer;
}

.Page-module__operatorSearchClear--gKJHC:hover {
  color: var(--color-text-primary);
  background-color: color-mix(in srgb, var(--color-text-primary) 8%, transparent);
}

.Page-module__operatorSearchKbd--jAP5z {
  flex-shrink: 0;
  padding: 0.1rem 0.4rem;
  font-size: var(--text-xs);
  font-family: inherit;
  color: var(--color-text-secondary);
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  pointer-events: none;
}

.Page-module__operatorSearchMeta--wQTNm {
  margin: calc(var(--space-2) * -1) 0 0;
  font-size: var(--text-xs);
  color: var(--color-text-secondary);
}

.Page-module__quickFilterChips--eMiRA {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.Page-module__quickFilterChip--ppB2a {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  min-height: 2rem;
  padding: 0.25rem 0.7rem;
  font-family: inherit;
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--color-text-primary);
  background-color: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  cursor: pointer;
  white-space: nowrap;
}

.Page-module__quickFilterChip--ppB2a:hover {
  border-color: var(--color-border-hover);
  background-color: var(--color-surface-hover);
}

.Page-module__quickFilterChipActive--dGJtb {
  border-color: color-mix(in srgb, var(--color-primary) 55%, var(--color-border));
  background-color: color-mix(in srgb, var(--color-primary) 14%, var(--color-bg-surface));
}

.Page-module__quickFilterChipCount--o9Rxp {
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  color: var(--color-text-secondary);
}

.Page-module__quickFilterChipActive--dGJtb .Page-module__quickFilterChipCount--o9Rxp {
  color: var(--color-text-primary);
}

.Page-module__operatorToolbar--qOp_x .Page-module__filtersBlock--ib1p2 {
  margin-top: 0;
}

@media (max-width: 720px) {
  .Page-module__operatorSearch--nhgy_ {
    max-width: none;
  }

  .Page-module__operatorSearchKbd--jAP5z {
    display: none;
  }
}

.Page-module__tableCard--iLJLT {
  min-width: 0;
  background-color: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}

.Page-module__listBar--_4mWB {
  padding: var(--space-3) var(--space-4);
  border-bottom: 1px solid var(--color-border);
}

.Page-module__listBarFooter--uzdfw {
  padding: var(--space-3) var(--space-4);
  border-top: 1px solid var(--color-border);
}

.Page-module__tableCard--iLJLT .Page-module__tableWrapper--RKTQx {
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
}

.Page-module__tableToolbar--_xHMP {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  flex-wrap: wrap;
  padding: var(--space-2) var(--space-4);
  border-bottom: 1px solid var(--color-border);
  min-height: 3rem;
  background-color: color-mix(in srgb, var(--color-bg-elevated) 96%, var(--color-text-primary) 4%);
}

[data-theme='light'] .Page-module__tableToolbar--_xHMP {
  background-color: color-mix(in srgb, var(--color-bg-surface) 72%, var(--color-bg-elevated) 28%);
}

.Page-module__tableToolbarSelected--QfDN6 {
  background-color: var(--color-bg-elevated);
  padding-top: 0;
  padding-bottom: 0;
  padding-right: 0;
  align-items: stretch;
}

.Page-module__tableToolbarSelected--QfDN6 .Page-module__tableCount--zZT7z {
  display: inline-flex;
  align-items: center;
  align-self: center;
}

.Page-module__tableToolbarSelected--QfDN6 .Page-module__tableToolbarActions--jhYQq {
  align-items: stretch;
  align-self: stretch;
  gap: 0;
}

.Page-module__tableToolbarSelected--QfDN6 .Page-module__cancelButton--ZBKqJ,
.Page-module__tableToolbarSelected--QfDN6 .Page-module__commandGroup--XQDDG,
.Page-module__tableToolbarSelected--QfDN6 .Page-module__commandButton--vcauy {
  align-self: stretch;
  height: auto;
}

.Page-module__tableToolbarSelected--QfDN6 .Page-module__commandGroup--XQDDG > * {
  display: flex;
  align-self: stretch;
}

.Page-module__tableToolbarSelected--QfDN6 .Page-module__commandGroup--XQDDG .Page-module__commandButton--vcauy {
  height: 100%;
}

.Page-module__tableToolbarSelected--QfDN6 .Page-module__cancelButton--ZBKqJ {
  border: none;
  border-right: 1px solid var(--color-border);
  margin-right: 0;
  padding-left: var(--space-4);
  padding-right: var(--space-4);
  font-weight: 600;
  color: var(--color-text-primary);
  background-color: color-mix(in srgb, var(--color-bg-surface) 55%, var(--color-text-primary) 12%);
}

.Page-module__tableToolbarSelected--QfDN6 .Page-module__cancelButton--ZBKqJ:hover:not(:disabled) {
  background-color: color-mix(in srgb, var(--color-bg-surface) 40%, var(--color-text-primary) 18%);
  border-color: var(--color-border-hover);
}

.Page-module__tableSearch--sNpI6 {
  position: relative;
  display: flex;
  align-items: center;
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
  min-height: 2.5rem;
  padding: 0 0.5rem 0 0.75rem;
  border: 1px solid var(--color-border);
  border-left: 3px solid var(--color-accent);
  border-radius: var(--radius-md);
  background:
    linear-gradient(
      135deg,
      color-mix(in srgb, var(--color-accent) 10%, transparent),
      transparent 45%
    ),
    var(--color-bg-elevated);
  transition:
    border-color 150ms ease, box-shadow 150ms ease;
}

.Page-module__tableSearch--sNpI6:focus-within {
  border-color: color-mix(in srgb, var(--color-accent) 45%, var(--color-border));
  border-left-color: var(--color-accent);
  box-shadow: 0 0 0 2px var(--color-focus-ring);
}

.Page-module__tableSearchIcon--E42s7 {
  flex-shrink: 0;
  margin-right: 0.5rem;
  color: var(--color-accent);
  pointer-events: none;
}



.Page-module__tableSearchField--CoivU {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
  height: 2.25rem;
  padding: 0;
  font-size: var(--text-sm);
  color: var(--color-text-primary);
  background: transparent;
  border: none;
  outline: none;
}

.Page-module__tableSearchField--CoivU:focus,
.Page-module__tableSearchField--CoivU:focus-visible {
  outline: none;
}

.Page-module__tableSearchField--CoivU::placeholder {
  color: var(--color-text-secondary);
}

.Page-module__tableSearchField--CoivU::-webkit-search-decoration,
.Page-module__tableSearchField--CoivU::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

.Page-module__tableSearchClear--UZHTg {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  margin-left: 0.25rem;
  padding: 0;
  border: none;
  border-radius: var(--radius-sm);
  color: var(--color-text-secondary);
  background: transparent;
  cursor: pointer;
}

.Page-module__tableSearchClear--UZHTg:hover {
  color: var(--color-text-primary);
  background-color: color-mix(in srgb, var(--color-text-primary) 8%, transparent);
}

.Page-module__tableSearchKbd--oBtRX {
  flex-shrink: 0;
  margin-left: 0.35rem;
  padding: 0.12rem 0.45rem;
  font-size: var(--text-xs);
  font-family: inherit;
  font-weight: 500;
  line-height: 1.2;
  color: var(--color-text-secondary);
  background-color: color-mix(in srgb, var(--color-bg-surface) 80%, transparent);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  pointer-events: none;
  white-space: nowrap;
}

@media (max-width: 720px) {
  .Page-module__tableSearchKbd--oBtRX {
    display: none;
  }
}


/* Чекбокс страницы + стрелка с меню «Выбрать все N». */
.Page-module__selectAllCell--e4tMt {
  display: inline-flex;
  align-items: center;
  gap: 0.15rem;
  min-height: 1.25rem;
  position: relative;
}

.Page-module__selectAllCell--e4tMt input {
  margin: 0;
  flex-shrink: 0;
}

.Page-module__selectAllChevron--wmG5r {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  padding: 0;
  border: 0;
  border-radius: 0.3rem;
  background: transparent;
  color: var(--color-text-muted);
  cursor: pointer;
}

.Page-module__selectAllChevron--wmG5r:hover:not(:disabled),
.Page-module__selectAllChevron--wmG5r[aria-expanded='true'] {
  color: var(--color-primary);
  background: var(--color-accent-soft, rgba(245, 166, 35, 0.1));
}

.Page-module__selectAllChevronActive--ZssTC {
  color: var(--color-primary);
}

.Page-module__selectAllChevron--wmG5r:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.Page-module__selectAllChevron--wmG5r[aria-expanded='true'] svg {
  transform: rotate(180deg);
}

.Page-module__selectAllChevron--wmG5r svg {
  transition: transform 0.15s ease;
}

.Page-module__selectAllMenu--Db0xF {
  position: fixed;
  z-index: calc(var(--z-modal, 1000) + 20);
  min-width: 11rem;
  padding: 0.25rem;
  border: 1px solid var(--color-border);
  border-radius: 0.5rem;
  background: var(--color-bg-elevated);
  box-shadow: var(--shadow-lg, 0 12px 28px rgba(0, 0, 0, 0.35));
}

.Page-module__selectAllMenuItem--RsZ0E {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0.5rem 0.65rem;
  border: 0;
  border-radius: 0.35rem;
  background: transparent;
  color: var(--color-text-primary);
  font-size: 0.8125rem;
  font-weight: 500;
  text-align: left;
  white-space: nowrap;
  cursor: pointer;
}

.Page-module__selectAllMenuItem--RsZ0E:hover {
  background: var(--color-surface-hover, rgba(255, 255, 255, 0.06));
  color: var(--color-primary);
}

.Page-module__selectAllMatchingButton--vSecK {
  border: none;
  border-right: 1px solid var(--color-border);
  margin: 0;
  padding-left: var(--space-4);
  padding-right: var(--space-4);
  font-weight: 600;
  color: var(--color-primary);
  background-color: color-mix(in srgb, var(--color-bg-surface) 55%, var(--color-primary) 8%);
  cursor: pointer;
  white-space: nowrap;
}

.Page-module__selectAllMatchingButton--vSecK:hover:not(:disabled) {
  background-color: color-mix(in srgb, var(--color-bg-surface) 40%, var(--color-primary) 14%);
}

.Page-module__selectAllMatchingButton--vSecK:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.Page-module__tableToolbarSelected--QfDN6 .Page-module__selectAllMatchingButton--vSecK {
  align-self: stretch;
  height: auto;
}

.Page-module__tableToolbarActions--jhYQq {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin-left: auto;
}

.Page-module__commandGroup--XQDDG {
  display: inline-flex;
  align-items: stretch;
}

.Page-module__cancelButton--ZBKqJ {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-2) var(--space-3);
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--color-text-primary);
  background-color: transparent;
  border: 1px solid var(--color-border);
  border-radius: 0;
  cursor: pointer;
  white-space: nowrap;
}

.Page-module__cancelButton--ZBKqJ:hover:not(:disabled) {
  color: var(--color-text-primary);
  background-color: var(--color-bg-surface);
  border-color: var(--color-border-hover);
}

.Page-module__cancelButton--ZBKqJ:active:not(:disabled) {
  background-color: var(--color-bg-elevated);
}

.Page-module__cancelButton--ZBKqJ:disabled {
  cursor: not-allowed;
  opacity: 0.65;
}

.Page-module__commandButton--vcauy {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding: var(--space-2) var(--space-3);
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--color-accent-ink);
  background-color: var(--color-primary);
  border: none;
  border-right: 1px solid rgba(10, 10, 8, 0.18);
  border-radius: 0;
  cursor: pointer;
  white-space: nowrap;
}

.Page-module__commandGroup--XQDDG > .Page-module__commandButton--vcauy:last-child,
.Page-module__commandGroup--XQDDG > :last-child .Page-module__commandButton--vcauy {
  border-right: none;
}

.Page-module__commandDevices--ec_hj[aria-expanded='true'] svg:last-of-type,
.Page-module__commandStatus--xCig3[aria-expanded='true'] svg:last-of-type,
.Page-module__commandAssignment--fZjtV[aria-expanded='true'] svg:last-of-type {
  opacity: 0.7;
}

.Page-module__commandDevices--ec_hj svg:last-of-type,
.Page-module__commandStatus--xCig3 svg:last-of-type,
.Page-module__commandAssignment--fZjtV svg:last-of-type {
  transition: opacity 0.18s ease;
}

.Page-module__commandButton--vcauy:hover:not(:disabled) {
  background-color: var(--color-primary-hover);
}

.Page-module__commandButton--vcauy:disabled {
  cursor: not-allowed;
  opacity: 0.65;
}

.Page-module__commandButton--vcauy svg {
  flex-shrink: 0;
}

.Page-module__commandSpinIcon--W5Oq1 {
  animation: Page-module__commandSpin--g9dYb 1s linear infinite;
}

.Page-module__commandReboot--derPn:hover:not(:disabled) svg {
  animation: Page-module__commandSpin--g9dYb 0.8s linear infinite;
}

.Page-module__commandStop--vF945:hover:not(:disabled) svg {
  animation: Page-module__commandPulse--gJlNL 0.7s ease-in-out infinite;
}

.Page-module__commandStart--bJdbB:hover:not(:disabled) svg {
  animation: Page-module__commandNudge--LQ3Go 0.55s ease-in-out infinite;
}

.Page-module__commandBlink--w3nD3:hover:not(:disabled) svg {
  animation: Page-module__commandGlow--t8GBB 0.9s ease-in-out infinite;
}

.Page-module__commandPool--SEUd_:hover:not(:disabled) svg,
.Page-module__commandClient--NyO40:hover:not(:disabled) svg {
  animation: Page-module__commandNudge--LQ3Go 0.55s ease-in-out infinite;
}

.Page-module__commandImport--X2HqH:hover:not(:disabled) svg {
  animation: Page-module__commandUpload--koXNw 0.55s ease-in-out infinite;
}

.Page-module__commandExport--PYq47:hover:not(:disabled) svg,
.Page-module__commandTemplate--HsziE:hover:not(:disabled) svg {
  animation: Page-module__commandDownload--KkqKI 0.55s ease-in-out infinite;
}

@keyframes Page-module__commandSpin--g9dYb {
  to {
    transform: rotate(360deg);
  }
}

@keyframes Page-module__commandPulse--gJlNL {
  0%,
  100% {
    transform: scale(1);
  }
  50% {
    transform: scale(0.78);
  }
}

@keyframes Page-module__commandNudge--LQ3Go {
  0%,
  100% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(3px);
  }
}

@keyframes Page-module__commandUpload--koXNw {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-3px);
  }
}

@keyframes Page-module__commandDownload--KkqKI {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(3px);
  }
}

@keyframes Page-module__commandGlow--t8GBB {
  0%,
  100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.45;
    transform: scale(1.12);
  }
}

@media (prefers-reduced-motion: reduce) {
  .Page-module__commandReboot--derPn:hover:not(:disabled) svg,
  .Page-module__commandStop--vF945:hover:not(:disabled) svg,
  .Page-module__commandStart--bJdbB:hover:not(:disabled) svg,
  .Page-module__commandBlink--w3nD3:hover:not(:disabled) svg,
  .Page-module__commandPool--SEUd_:hover:not(:disabled) svg,
  .Page-module__commandClient--NyO40:hover:not(:disabled) svg,
  .Page-module__commandImport--X2HqH:hover:not(:disabled) svg,
  .Page-module__commandExport--PYq47:hover:not(:disabled) svg,
  .Page-module__commandTemplate--HsziE:hover:not(:disabled) svg,
  .Page-module__resetFiltersButton--Ly7X5:hover svg,
  .Page-module__columnSettingsButton--ZquRc:hover svg {
    animation: none;
  }
}

.Page-module__table--HJQMx {
  /* max-content позволяет таблице расти шире контейнера (скролл в tableWrapper),
     иначе при переполнении auto-layout сжимает колонки по контенту и игнорирует
     заданные ширины — ломается drag-ресайз. min-width — чтобы узкие таблицы
     по-прежнему тянулись на всю ширину. */
  width: -webkit-max-content;
  width: max-content;
  min-width: 100%;
  border-collapse: collapse;
  font-size: var(--text-sm);
}

.Page-module__table--HJQMx input[type='checkbox'] {
  width: 1.25rem;
  height: 1.25rem;
  accent-color: var(--color-primary);
  cursor: pointer;
}

.Page-module__table--HJQMx th,
.Page-module__table--HJQMx td {
  padding: var(--space-3) var(--space-4);
  text-align: left;
  border-bottom: 1px solid var(--color-border);
}

.Page-module__table--HJQMx th {
  font-weight: 600;
  color: var(--color-text-secondary);
  background-color: var(--color-bg-elevated);
  text-transform: uppercase;
  font-size: var(--text-xs);
  letter-spacing: 0.05em;
}

.Page-module__table--HJQMx tbody tr.Page-module__clickableRow--juwGT {
  cursor: pointer;
}

.Page-module__table--HJQMx tbody tr.Page-module__clickableRow--juwGT:hover td {
  background-color: var(--color-surface-hover);
}

.Page-module__table--HJQMx tr:last-child td {
  border-bottom: none;
}

.Page-module__table--HJQMx tr:hover td {
  background-color: var(--color-bg-elevated);
}

.Page-module__actions--f0I7G {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.Page-module__actionsHeader--XqxCP {
  text-align: right;
  white-space: nowrap;
}

.Page-module__pagination--LLjoH {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  margin-top: var(--space-4);
}

.Page-module__form--Sr1va {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.Page-module__field--Ayx3v {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}

.Page-module__fieldLabel--TSvMm {
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--color-text-secondary);
}

.Page-module__roleNameHint--QJOhx {
  font-size: var(--text-xs);
  color: #a1a1aa;
  line-height: 1.4;
}

/* IP-адрес устройства как ссылка на веб-интерфейс: как countLink,
   текстовый вид, подчёркивание при наведении. */
.Page-module__addressLink--YC777 {
  color: inherit;
  -webkit-text-decoration: none;
  text-decoration: none;
  cursor: pointer;
}

.Page-module__addressLink--YC777:hover {
  -webkit-text-decoration: underline;
  text-decoration: underline;
}

.Page-module__editableSerialButton--ePR5J {
  display: inline;
  max-width: 100%;
  padding: 0;
  margin: 0;
  border: none;
  background: none;
  font: inherit;
  color: inherit;
  text-align: left;
  cursor: pointer;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.Page-module__editableSerialButton--ePR5J:hover {
  -webkit-text-decoration: underline;
  text-decoration: underline;
  color: var(--color-text-primary);
}

.Page-module__editableSerialInput--e5Fam {
  width: 100%;
  min-width: 7rem;
  max-width: 14rem;
  height: 1.6rem;
  padding: 0 0.35rem;
  font: inherit;
  font-size: var(--text-xs);
  color: var(--color-text-primary);
  background-color: var(--color-bg-input);
  border: 1px solid var(--color-primary);
  border-radius: var(--radius-sm);
  outline: none;
}

.Page-module__select--TUUqz {
  width: 100%;
  height: 2.25rem;
  min-height: 2.25rem;
  padding: 0 2.25rem 0 var(--space-3);
  color: var(--color-text-primary);
  background-color: var(--color-bg-input);
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2714%27 height=%2714%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%23a4a19a%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpolyline points=%276 9 12 15 18 9%27/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.65rem center;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  outline: none;
  -webkit-appearance: none;
          appearance: none;
  font: inherit;
  font-size: var(--text-sm);
  transition:
    border-color 0.22s ease, box-shadow 0.22s ease, background-color 0.22s ease;
}

.Page-module__select--TUUqz:hover:not(:disabled):not(:focus) {
  border-color: var(--color-accent-border);
  box-shadow: 0 0 0 1px var(--color-accent-soft), 0 10px 28px rgba(245, 166, 35, 0.08);
}

.Page-module__select--TUUqz:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px var(--color-focus-ring), 0 12px 28px rgba(245, 166, 35, 0.14);
}

.Page-module__checkboxGroup--_GEKL {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  max-height: min(28rem, 60vh);
  overflow-y: auto;
  padding: var(--space-2);
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}

.Page-module__checkboxItem--OdbtV {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-sm);
  color: var(--color-text-primary);
}

.Page-module__checkboxItem--OdbtV input[type='checkbox'] {
  width: 1rem;
  height: 1rem;
  accent-color: var(--color-primary);
}

.Page-module__groupTitle--s7FRA {
  font-weight: 600;
  color: var(--color-text-secondary);
  margin-top: var(--space-2);
  margin-bottom: var(--space-1);
}

.Page-module__addressRow--o9g3V {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.Page-module__addressRow--o9g3V > *:first-child {
  flex: 1;
}

.Page-module__empty--eBijR {
  padding: var(--space-8);
  text-align: center;
  color: var(--color-text-muted);
}

.Page-module__metricRow--zMzTE td {
  padding: 0;
  background-color: var(--color-bg-elevated);
  /* Без верхней кромки: иначе между строкой устройства и деталкой
     вспыхивает светлая линия от border-bottom соседней ячейки. */
  border-top: none;
}

.Page-module__metricRow--zMzTE:hover td {
  background-color: var(--color-bg-elevated);
}

.Page-module__deviceRow--ii_OT {
  cursor: pointer;
}

/* Полоска слева — только warning / critical, не у «Стабильно». */
.Page-module__table--HJQMx tbody tr.Page-module__deviceRowStatusWarning--e_AGo > td:first-child {
  box-shadow: inset 3px 0 0 var(--color-status-warning);
}

.Page-module__table--HJQMx tbody tr.Page-module__deviceRowStatusProblem--rH5cy > td:first-child {
  box-shadow: inset 3px 0 0 var(--color-status-problem);
}

.Page-module__deviceStatusCell--sx331 {
  min-width: 9.5rem;
  max-width: 14rem;
  vertical-align: middle;
}

.Page-module__deviceStatus--NAv7U {
  display: inline-flex;
  align-items: flex-start;
  gap: 0.45rem;
  max-width: 100%;
  min-width: 0;
  padding: 0.15rem 0.35rem 0.15rem 0.2rem;
  border-radius: var(--radius-sm);
}

.Page-module__deviceStatusCriticalBg--JWQ2I {
  background-color: color-mix(in srgb, var(--color-status-problem) 12%, transparent);
}

.Page-module__deviceStatusIcon--Q6rXZ {
  display: inline-flex;
  flex-shrink: 0;
  margin-top: 0.1rem;
}

.Page-module__deviceStatusText--zBUE8 {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}

.Page-module__deviceStatusLabel--w5QHO {
  font-size: var(--text-sm);
  font-weight: 600;
  line-height: 1.25;
  white-space: nowrap;
}

.Page-module__deviceStatusDetail--Zw38Q {
  font-size: var(--text-xs);
  font-weight: 500;
  line-height: 1.3;
  color: var(--color-text-secondary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.Page-module__deviceStatusOk--Oalc7 {
  color: var(--color-status-online);
}

.Page-module__deviceStatusWarning--GvWhs {
  color: var(--color-status-warning);
}

.Page-module__deviceStatusCritical--MMdBy {
  color: var(--color-status-problem);
}

.Page-module__deviceStatusInfo--9EG1M {
  color: var(--color-status-paused);
}

.Page-module__deviceStatusMuted--HskSq {
  color: var(--color-text-secondary);
}

.Page-module__deviceStatusMuted--HskSq .Page-module__deviceStatusLabel--w5QHO {
  font-weight: 500;
  color: var(--color-text-primary);
}

.Page-module__deviceRowExpanded--IZ96i td {
  background-color: var(--color-accent-soft);
  /* Убираем разделитель над раскрытой деталкой — он читается как белая вспышка. */
  border-bottom: none;
}

.Page-module__deviceRowExpanded--IZ96i:hover td {
  background-color: var(--color-accent-soft);
}

/* Мигание строки как лампочка после команды подсветки / при light_flashing. */
@keyframes Page-module__deviceRowHighlightBlink--q_Lxa {
  0%,
  100% {
    background-color: transparent;
  }
  50% {
    background-color: color-mix(in srgb, var(--color-accent) 32%, transparent);
  }
}

@keyframes Page-module__deviceLightPulse--LoYt1 {
  0%,
  100% {
    opacity: 0.3;
  }
  50% {
    opacity: 1;
  }
}

.Page-module__table--HJQMx tbody tr.Page-module__deviceRowHighlight--mHG4g td,
.Page-module__table--HJQMx tbody tr.Page-module__deviceRowHighlight--mHG4g:hover td,
.Page-module__table--HJQMx tbody tr.Page-module__deviceRowHighlight--mHG4g.Page-module__deviceRowExpanded--IZ96i td,
.Page-module__table--HJQMx tbody tr.Page-module__deviceRowHighlight--mHG4g.Page-module__deviceRowExpanded--IZ96i:hover td {
  animation: Page-module__deviceRowHighlightBlink--q_Lxa 0.75s ease-in-out infinite;
}

.Page-module__lightFlashingIcon--ePtdS {
  animation: Page-module__deviceLightPulse--LoYt1 0.75s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
  .Page-module__table--HJQMx tbody tr.Page-module__deviceRowHighlight--mHG4g td,
  .Page-module__table--HJQMx tbody tr.Page-module__deviceRowHighlight--mHG4g:hover td,
  .Page-module__table--HJQMx tbody tr.Page-module__deviceRowHighlight--mHG4g.Page-module__deviceRowExpanded--IZ96i td,
  .Page-module__table--HJQMx tbody tr.Page-module__deviceRowHighlight--mHG4g.Page-module__deviceRowExpanded--IZ96i:hover td {
    animation: none;
    background-color: color-mix(in srgb, var(--color-accent) 18%, transparent);
  }

  .Page-module__lightFlashingIcon--ePtdS {
    animation: none;
    opacity: 1;
  }
}

.Page-module__deviceDetails--DTwi0 {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  box-sizing: border-box;
  position: -webkit-sticky;
  position: sticky;
  left: 0;
  width: calc(100cqw - 2 * var(--space-2));
  max-width: calc(100cqw - 2 * var(--space-2));
  margin: var(--space-2);
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.Page-module__deviceDetailsLayout--zCaF9 {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(18rem, 0.95fr);
  grid-gap: var(--space-3);
  gap: var(--space-3);
  align-items: stretch;
}

.Page-module__deviceDetailsLayoutSolo--JcSDh {
  grid-template-columns: minmax(0, 1fr);
}

.Page-module__deviceDetailsMain--qu_Aj {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
}

.Page-module__deviceBlock--qq4CR {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
  padding: var(--space-4);
  background-color: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
}

.Page-module__deviceEventsBlock--ruvl_ {
  /* Высоту ряда задаёт левая колонка; лента под неё подстраивается и скроллится внутри. */
  height: 0;
  min-height: 100%;
  min-width: 0;
  overflow: hidden;
}

.Page-module__deviceBlockTitle--tgnai {
  margin: 0;
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-text-primary);
}

.Page-module__deviceDetailsValueRow--yuXM8 {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  width: 100%;
  min-width: 0;
  min-height: 1.5rem;
}

.Page-module__deviceDetailsValueRow--yuXM8 .Page-module__deviceDetailsValue--nDRpZ {
  min-width: 0;
  line-height: 1.5rem;
}

.Page-module__deviceDetailsValueRow--yuXM8 .Page-module__deviceDetailsInlineInput--uB4Di {
  flex: 1 1 auto;
  width: auto;
  max-width: 12rem;
}

.Page-module__deviceDetailsIconBtn--Zk0z5 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.35rem;
  height: 1.35rem;
  padding: 0;
  color: var(--color-text-muted);
  background: transparent;
  border: 0;
  border-radius: var(--radius-sm);
  cursor: pointer;
}

.Page-module__deviceDetailsIconBtn--Zk0z5:hover:not(:disabled) {
  color: var(--color-text-primary);
  background-color: var(--color-bg-elevated);
}

.Page-module__deviceDetailsIconBtn--Zk0z5:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.Page-module__deviceDetailsIconSpacer--nV6_v {
  flex-shrink: 0;
  width: 1.35rem;
  height: 1.35rem;
}

.Page-module__deviceDetailsInlineInput--uB4Di {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  height: 1.5rem;
  min-height: 1.5rem;
  max-height: 1.5rem;
  margin: 0;
  padding: 0 0.45rem;
  font: inherit;
  font-size: var(--text-sm);
  font-weight: 600;
  line-height: 1.4;
  color: var(--color-text-primary);
  background-color: var(--color-bg-input);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  outline: none;
}

.Page-module__deviceDetailsInlineInput--uB4Di::-webkit-outer-spin-button,
.Page-module__deviceDetailsInlineInput--uB4Di::-webkit-inner-spin-button {
  -webkit-appearance: none;
          appearance: none;
  margin: 0;
}

.Page-module__deviceDetailsInlineInput--uB4Di[type='number'] {
  -webkit-appearance: textfield;
          appearance: textfield;
}

.Page-module__deviceDetailsInlineInput--uB4Di:focus {
  border-color: var(--color-primary);
  /* inset — чтобы focus ring не раздувал layout */
  box-shadow: inset 0 0 0 1px var(--color-primary);
}

.Page-module__deviceDetailsEditUnit--Vzmcm {
  flex-shrink: 0;
  font-size: var(--text-xs);
  font-weight: 500;
  line-height: 1.5rem;
  color: var(--color-text-muted);
}

.Page-module__deviceEventsList--GTNQt {
  margin-top: 0;
  min-height: 0;
  flex: 1;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}

.Page-module__deviceEventsFilter--EvkiC {
  display: flex;
  flex-wrap: wrap;
  gap: 2px;
  flex-shrink: 0;
  margin: 0 0 var(--space-2);
  padding: 3px;
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
}

.Page-module__deviceEventsFilterBtn--dvRmz {
  padding: var(--space-1) var(--space-2);
  color: var(--color-text-secondary);
  background: none;
  border: none;
  border-radius: calc(var(--radius-sm) - 1px);
  font-size: var(--text-xs);
  line-height: 1.35;
  white-space: nowrap;
  cursor: pointer;
}

.Page-module__deviceEventsFilterBtn--dvRmz:hover {
  color: var(--color-text-primary);
}

.Page-module__deviceEventsFilterBtnActive--hn5zu {
  color: var(--color-text-primary);
  background-color: var(--color-bg-surface);
  box-shadow: var(--shadow-sm);
}

.Page-module__deviceEventItem--b2Gtj {
  display: flex;
  align-items: stretch;
  gap: var(--space-3);
  padding: var(--space-2) 0;
  border-bottom: 1px solid var(--color-border);
}

.Page-module__deviceEventItem--b2Gtj:last-child {
  border-bottom: none;
}

.Page-module__deviceEventBar--aSqSC {
  width: 3px;
  border-radius: 2px;
  flex-shrink: 0;
}

.Page-module__deviceEventBarOk--clefZ {
  background-color: var(--color-status-online);
}

.Page-module__deviceEventBarError--HsPWw {
  background-color: var(--color-status-error);
}

.Page-module__deviceEventBarPending--pCO3T {
  background-color: var(--color-status-paused);
}

.Page-module__deviceEventBody--dEpkS {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.Page-module__deviceEventTime--xJRzT {
  color: var(--color-text-muted);
  font-size: var(--text-xs);
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
}

.Page-module__deviceEventLine--sLYT2 {
  color: var(--color-text-primary);
  font-size: var(--text-sm);
  word-break: break-word;
}

.Page-module__deviceEventOk--RQBHy {
  color: var(--color-status-online);
  font-size: var(--text-sm);
  font-weight: 600;
}

.Page-module__deviceEventError--FhEjS {
  color: var(--color-status-error);
  font-size: var(--text-sm);
  word-break: break-word;
}

.Page-module__deviceEventPending--_lZ05 {
  color: var(--color-status-warning);
  font-size: var(--text-sm);
  font-weight: 600;
}

.Page-module__deviceEventPoolDiff--Uig5a {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 6px;
  min-width: 0;
}

.Page-module__deviceEventPoolHead--ZOqEI,
.Page-module__deviceEventPoolRow--IJwtN {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 1.25rem minmax(0, 1fr);
  grid-gap: var(--space-1);
  gap: var(--space-1);
  align-items: start;
}

.Page-module__deviceEventPoolHead--ZOqEI {
  font-size: var(--text-xs);
  font-weight: 600;
  color: var(--color-text-muted);
}

.Page-module__deviceEventPoolArrow--Pk2AB {
  color: var(--color-text-muted);
  font-size: var(--text-sm);
  line-height: 1.2;
  text-align: center;
}

.Page-module__deviceEventPoolSlot--tFgNv {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

.Page-module__deviceEventPoolUrl--qyetv {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: var(--text-xs);
  color: var(--color-text-secondary);
}

.Page-module__deviceEventPoolWorker--RJ7Xt {
  font-size: var(--text-xs);
  font-weight: 600;
  color: var(--color-status-online);
  overflow-wrap: anywhere;
}

.Page-module__deviceEventPoolEmpty--t_G3u {
  font-size: var(--text-xs);
  color: var(--color-text-muted);
}

.Page-module__deviceDetailsMeta--IBpq3 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  grid-gap: var(--space-3) var(--space-5);
  gap: var(--space-3) var(--space-5);
  align-items: start;
}

.Page-module__deviceDetailsField--Mni4M {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-width: 0;
}

.Page-module__deviceDetailsValue--nDRpZ {
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-text-primary);
  word-break: break-all;
}

.Page-module__deviceDetailsValueInline--o5mGy {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.45rem;
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-text-primary);
}

.Page-module__deviceDetailsMacIp--MKqPF {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.35rem;
  min-width: 0;
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-text-primary);
}

.Page-module__deviceDetailsSerialStack--yNGxl {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
  min-width: 0;
}

.Page-module__deviceDetailsSep--nSoGz {
  color: var(--color-text-muted);
  font-weight: 500;
}

.Page-module__devicePools--B7aQw {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}

.Page-module__devicePoolsEmpty--XxoKe {
  margin: 0;
  color: var(--color-text-muted);
  font-size: var(--text-sm);
}

.Page-module__devicePoolTable--S3V8p {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  overflow: hidden;
}

.Page-module__devicePoolRow--duDo1 {
  display: grid;
  grid-template-columns: 1.75rem 7.5rem minmax(0, 1.4fr) minmax(0, 1fr);
  grid-gap: var(--space-2);
  gap: var(--space-2);
  align-items: center;
  padding: 0.45rem 0.75rem;
  background-color: var(--color-bg-elevated);
  font-size: var(--text-xs);
}

.Page-module__devicePoolRow--duDo1 + .Page-module__devicePoolRow--duDo1 {
  border-top: 1px solid var(--color-border);
}

.Page-module__devicePoolIndex--EIj5R {
  color: var(--color-text-muted);
  font-weight: 600;
  white-space: nowrap;
}

.Page-module__devicePoolStatus--yoDKZ {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--color-text-primary);
  font-weight: 500;
  white-space: nowrap;
}

.Page-module__devicePoolStatusDot--NDlLC {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  flex-shrink: 0;
}

.Page-module__devicePoolStatusAlive--Lsa_b .Page-module__devicePoolStatusDot--NDlLC {
  background-color: var(--color-status-online);
}

.Page-module__devicePoolStatusDead--g_lv6 .Page-module__devicePoolStatusDot--NDlLC {
  background-color: var(--color-status-error);
}

.Page-module__devicePoolStatusMuted--SwWhW {
  color: var(--color-text-muted);
}

.Page-module__coolingGrid--EcI2e {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
  grid-gap: var(--space-2) var(--space-3);
  gap: var(--space-2) var(--space-3);
}

.Page-module__coolingFieldLabel--oPjgO {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  min-width: 0;
}

.Page-module__coolingFieldLabel--oPjgO .Page-module__fieldLabel--TSvMm {
  margin: 0;
}

.Page-module__coolingFieldIcon--Aj8QC {
  display: inline-flex;
  flex-shrink: 0;
  color: var(--color-text-muted);
}

.Page-module__coolingHelp--GN7Wb {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--color-text-muted);
  cursor: help;
}

.Page-module__coolingHelp--GN7Wb:hover {
  color: var(--color-text-secondary);
}

.Page-module__coolingTemps--uTzoJ {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
}

.Page-module__coolingTemp--E0i_s {
  --cooling-temp-color: var(--color-text-muted);
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  min-height: 1.5rem;
  padding: 0.15rem 0.4rem;
  background-color: color-mix(in srgb, var(--cooling-temp-color) 10%, var(--color-bg-elevated));
  border: 1px solid color-mix(in srgb, var(--cooling-temp-color) 26%, var(--color-border));
  border-radius: var(--radius-sm);
  font-size: var(--text-xs);
  line-height: 1.2;
}

.Page-module__coolingTempEmpty--H4sBg {
  --cooling-temp-color: var(--color-text-muted);
  background-color: var(--color-bg-elevated);
  border-color: var(--color-border);
}

.Page-module__coolingTempIcon--roKHO {
  display: inline-flex;
  flex-shrink: 0;
  color: var(--cooling-temp-color);
}

.Page-module__coolingTempBadge--wEOf3 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.15rem;
  height: 1.15rem;
  flex-shrink: 0;
  border-radius: var(--radius-sm);
  background-color: color-mix(in srgb, var(--color-text-primary) 8%, var(--color-bg-surface));
  border: 1px solid color-mix(in srgb, var(--color-text-primary) 12%, var(--color-border));
  font-size: 0.68rem;
  font-weight: 700;
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
  color: var(--color-text-secondary);
  line-height: 1;
}

.Page-module__coolingTempValue--hTORU {
  font-weight: 600;
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
  color: var(--cooling-temp-color);
  white-space: nowrap;
}

.Page-module__coolingFans--WsDlS {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.Page-module__coolingFan--BPXh0 {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding: 0.35rem 0.6rem;
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  font-size: var(--text-sm);
}

.Page-module__coolingFanIcon--F6BAc,
.Page-module__coolingFanIconSpin--pBpzq {
  flex-shrink: 0;
  color: var(--color-text-muted);
}

.Page-module__coolingFanIconSpin--pBpzq {
  color: var(--color-accent);
  transform-origin: 50% 50%;
  animation-name: Page-module__coolingFanSpin--GSH0x;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

.Page-module__coolingFanLabel--rQXCU {
  color: var(--color-text-secondary);
  white-space: nowrap;
}

.Page-module__coolingFanRpm--Z57le {
  font-weight: 600;
  color: var(--color-text-primary);
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
}

@keyframes Page-module__coolingFanSpin--GSH0x {
  to {
    transform: rotate(360deg);
  }
}

.Page-module__historyWrapperCompact--dBDoI {
  padding: 0;
  background: transparent;
}

.Page-module__historyWrapperCompact--dBDoI .Page-module__historyToolbar--MF4uk {
  margin-bottom: var(--space-2);
}

.Page-module__historyWrapperCompact--dBDoI .Page-module__empty--eBijR {
  padding: var(--space-3);
}

@media (max-width: 1100px) {
  .Page-module__deviceDetailsLayout--zCaF9 {
    grid-template-columns: 1fr;
  }

  .Page-module__deviceEventsBlock--ruvl_ {
    height: auto;
    min-height: 0;
    max-height: 22rem;
  }

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

@media (max-width: 720px) {
  .Page-module__deviceDetailsMeta--IBpq3,
  .Page-module__devicePoolRow--duDo1 {
    grid-template-columns: 1fr;
  }

  .Page-module__deviceBlock--qq4CR {
    padding: var(--space-3);
  }

  .Page-module__coolingGrid--EcI2e {
    grid-template-columns: 1fr;
  }
}

.Page-module__tableActions--KNhFd {
  display: flex;
  align-items: center;
  flex: 1 1 16rem;
  min-width: 0;
  gap: var(--space-2);
  flex-wrap: wrap;
}

.Page-module__tableCount--zZT7z {
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--color-text-primary);
  white-space: nowrap;
}

.Page-module__formGroup--Ci8xC {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin-top: var(--space-4);
}

.Page-module__checkboxLabel--IP86U {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-sm);
  color: var(--color-text-primary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.Page-module__checkboxLabel--IP86U input[type='checkbox'] {
  width: 1rem;
  height: 1rem;
  accent-color: var(--color-primary);
}

.Page-module__historyWrapper--QRL5_ {
  padding: var(--space-4);
  background-color: var(--color-bg-elevated);
}

.Page-module__historyToolbar--MF4uk {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  margin-bottom: var(--space-4);
}

.Page-module__historyActions--JSXtz {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}

.Page-module__refreshButton--Hd_BL {
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.Page-module__refreshButton--Hd_BL:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.Page-module__metrics--wX9Fv {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  padding: var(--space-3) var(--space-4);
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
}

.Page-module__formError--rZ2LJ {
  color: var(--color-status-error);
  font-size: var(--text-sm);
}

.Page-module__poolBindingPanel--DQLUd {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-4);
  background-color: var(--color-bg-elevated);
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
}

.Page-module__poolBindingRow--7Mqeh {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-6);
  color: var(--color-text-primary);
}

.DashboardPage-module__stack--Fe3CW {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.DashboardPage-module__pageHeading--OH9aJ {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  gap: var(--space-4);
}

.DashboardPage-module__pageHeadingText--kp_xD {
  min-width: 0;
}

.DashboardPage-module__pageHeadingText--kp_xD h2,
.DashboardPage-module__pageHeadingText--kp_xD p {
  margin-bottom: 0;
}

.DashboardPage-module__pageHeadingText--kp_xD p {
  margin-top: var(--space-2);
}

.DashboardPage-module__kpiGrid--WFQLq {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  grid-gap: var(--space-3);
  gap: var(--space-3);
  align-items: stretch;
}

.DashboardPage-module__kpiRow--FU8Ak {
  grid-template-columns: -webkit-max-content minmax(0, 1.15fr) minmax(0, 2.4fr) minmax(0, 0.7fr) minmax(0, 0.9fr);
  grid-template-columns: max-content minmax(0, 1.15fr) minmax(0, 2.4fr) minmax(0, 0.7fr) minmax(0, 0.9fr);
}

.DashboardPage-module__clientKpiRow--RVVSM {
  grid-template-columns:
    minmax(16.5rem, 1.05fr)
    minmax(12rem, 1.15fr)
    minmax(20rem, 1.85fr)
    minmax(8.5rem, 0.75fr);
  width: 100%;
  max-width: 96rem;
  gap: 1.25rem;
  align-items: stretch;
}

.DashboardPage-module__clientKpiRow--RVVSM > [data-tour='kpi-devices'] .DashboardPage-module__statCardTitle--mvcXs {
  white-space: nowrap;
  margin-bottom: 0.75rem;
}

.DashboardPage-module__clientKpiRow--RVVSM > [data-tour='kpi-devices'] .DashboardPage-module__deviceMiniGrid--XmE_D {
  margin-top: 0;
}

.DashboardPage-module__clientKpiRow--RVVSM > [data-tour='kpi-income'] {
  min-width: 20rem;
}

.DashboardPage-module__clientKpiRow--RVVSM > [data-tour] {
  min-width: 0;
  width: auto;
  max-width: none;
  display: flex;
}

.DashboardPage-module__clientKpiRow--RVVSM > [data-tour] > * {
  width: 100%;
  max-width: none;
}

/* Мягкое жёлтое свечение primary — едва заметная подсветка. */
.DashboardPage-module__clientKpiRow--RVVSM .DashboardPage-module__statCard--A7xQS,
.DashboardPage-module__clientPanel--EptJM {
  position: relative;
  isolation: isolate;
  overflow: visible;
  min-width: 0;
  flex: 1;
  padding: 1.15rem 1.25rem;
  border: 1px solid var(--color-border);
  border-radius: 16px;
  background:
    radial-gradient(
      115% 80% at 12% -6%,
      color-mix(in srgb, var(--color-primary) 8%, transparent) 0%,
      color-mix(in srgb, var(--color-primary) 2%, transparent) 45%,
      transparent 72%
    ),
    linear-gradient(180deg, var(--color-bg-elevated) 0%, var(--color-bg-surface) 100%);
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--color-primary) 5%, transparent);
}

/* Устройства — свечение слева сверху. */
.DashboardPage-module__panelAccentOnline--By7aR,
.DashboardPage-module__clientKpiRow--RVVSM .DashboardPage-module__statCard--A7xQS.DashboardPage-module__panelAccentOnline--By7aR {
  background:
    radial-gradient(
      115% 80% at 12% -6%,
      color-mix(in srgb, var(--color-primary) 8%, transparent) 0%,
      color-mix(in srgb, var(--color-primary) 2%, transparent) 45%,
      transparent 72%
    ),
    linear-gradient(180deg, var(--color-bg-elevated) 0%, var(--color-bg-surface) 100%);
}

/* Хешрейт — свечение справа сверху. */
.DashboardPage-module__panelAccentCool--v09U6,
.DashboardPage-module__clientKpiRow--RVVSM .DashboardPage-module__statCard--A7xQS.DashboardPage-module__panelAccentCool--v09U6 {
  background:
    radial-gradient(
      115% 80% at 88% -6%,
      color-mix(in srgb, var(--color-primary) 7%, transparent) 0%,
      color-mix(in srgb, var(--color-primary) 2%, transparent) 45%,
      transparent 72%
    ),
    linear-gradient(180deg, var(--color-bg-elevated) 0%, var(--color-bg-surface) 100%);
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--color-primary) 4%, transparent);
}

/* Доход — свечение по центру сверху. */
.DashboardPage-module__panelAccentWarm--YeHEa,
.DashboardPage-module__clientKpiRow--RVVSM .DashboardPage-module__statCard--A7xQS.DashboardPage-module__panelAccentWarm--YeHEa {
  background:
    radial-gradient(
      105% 75% at 50% -10%,
      color-mix(in srgb, var(--color-primary) 9%, transparent) 0%,
      color-mix(in srgb, var(--color-primary) 2.5%, transparent) 42%,
      transparent 70%
    ),
    linear-gradient(180deg, var(--color-bg-elevated) 0%, var(--color-bg-surface) 100%);
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--color-primary) 5%, transparent);
}

/* Тариф — ещё мягче, справа снизу. */
.DashboardPage-module__panelAccentMuted--TRvtR,
.DashboardPage-module__clientKpiRow--RVVSM .DashboardPage-module__statCard--A7xQS.DashboardPage-module__panelAccentMuted--TRvtR {
  background:
    radial-gradient(
      105% 75% at 92% 108%,
      color-mix(in srgb, var(--color-primary) 6%, transparent) 0%,
      color-mix(in srgb, var(--color-primary) 1.5%, transparent) 45%,
      transparent 74%
    ),
    linear-gradient(180deg, var(--color-bg-elevated) 0%, var(--color-bg-surface) 100%);
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--color-primary) 3%, transparent);
}

.DashboardPage-module__clientKpiRow--RVVSM .DashboardPage-module__statCardTitle--mvcXs,
.DashboardPage-module__clientKpiRow--RVVSM .DashboardPage-module__hashrateCard--uUMSH .DashboardPage-module__statCardTitle--mvcXs,
.DashboardPage-module__clientPanelLabel--f5_ej {
  margin-bottom: 0.85rem;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  color: var(--color-text-secondary);
  line-height: 1.25rem;
}

.DashboardPage-module__sectionHeading--TwpLl {
  margin-bottom: 0.85rem;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-text-primary);
  line-height: 1.25rem;
}

.DashboardPage-module__statCardTitleRow--fx5GE {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  margin-bottom: 0.85rem;
}

.DashboardPage-module__incomePeriodSwitch--WN_oM {
  display: flex;
  flex-shrink: 0;
  margin-left: auto;
  padding: 3px;
  border: 1px solid var(--color-border);
  border-radius: 9px;
  background-color: color-mix(in srgb, var(--color-bg-surface) 70%, transparent);
}

.DashboardPage-module__incomePeriodBtn--kRN1n {
  padding: 0.3rem 0.6rem;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: var(--color-text-secondary);
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.25;
  white-space: nowrap;
  cursor: pointer;
  transition: color 0.15s ease, background-color 0.15s ease;
}

.DashboardPage-module__incomePeriodBtn--kRN1n:hover {
  color: var(--color-text-primary);
}

.DashboardPage-module__incomePeriodBtnActive--jQTGF {
  color: var(--color-text-primary);
  background-color: color-mix(in srgb, var(--color-bg-elevated) 90%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--color-border) 80%, transparent);
}

.DashboardPage-module__clientKpiRow--RVVSM .DashboardPage-module__statCardTitleRow--fx5GE .DashboardPage-module__statCardTitle--mvcXs,
.DashboardPage-module__hashrateCard--uUMSH .DashboardPage-module__statCardTitleRow--fx5GE .DashboardPage-module__statCardTitle--mvcXs,
.DashboardPage-module__statCardTitleRow--fx5GE .DashboardPage-module__statCardTitle--mvcXs {
  display: inline;
  margin-bottom: 0;
  line-height: 1.25rem;
}

.DashboardPage-module__statHelp--hKPMK {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.125rem;
  height: 1.125rem;
  padding: 0;
  margin: 0;
  color: var(--color-text-muted);
  background: transparent;
  border: 0;
  border-radius: 999px;
  cursor: help;
  line-height: 0;
}

.DashboardPage-module__statHelp--hKPMK:hover {
  color: var(--color-text-secondary);
  background-color: color-mix(in srgb, var(--color-bg-surface) 70%, transparent);
}

.DashboardPage-module__clientKpiRow--RVVSM .DashboardPage-module__statCardValue--Qnl6Q {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
  color: var(--color-text-primary);
}

.DashboardPage-module__statCardValueMuted--vV0vT {
  color: var(--color-text-muted);
}

.DashboardPage-module__clientKpiRow--RVVSM .DashboardPage-module__hashrateCard--uUMSH .DashboardPage-module__statCardValue--Qnl6Q,
.DashboardPage-module__clientKpiRow--RVVSM .DashboardPage-module__metricItem--Eb1wG .DashboardPage-module__statCardValue--Qnl6Q {
  font-size: 1.5rem;
}

.DashboardPage-module__clientKpiRow--RVVSM .DashboardPage-module__metricStackRow--Fg_Xz .DashboardPage-module__statCardValue--Qnl6Q {
  font-size: 1.15rem;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.DashboardPage-module__clientKpiRow--RVVSM .DashboardPage-module__kpiSub--VSdm0 {
  margin-top: 0.2rem;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0;
  color: var(--color-text-muted);
}

.DashboardPage-module__clientKpiRow--RVVSM .DashboardPage-module__hashrateCard--uUMSH {
  padding: 1.15rem 1.25rem;
  display: flex;
  flex-direction: column;
}

/* Ровные блоки метрик: тег слева фиксированной ширины, значение справа. */
.DashboardPage-module__metricStack--RfKXy {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  flex: 1;
}

.DashboardPage-module__metricStackMulti--z9OKx {
  gap: 0.85rem;
}

.DashboardPage-module__metricStackRow--Fg_Xz {
  flex-direction: row;
  align-items: stretch;
  gap: 0;
}

.DashboardPage-module__metricStackRow--Fg_Xz > .DashboardPage-module__metricItem--Eb1wG {
  flex: 1 1 0;
  min-width: 0;
  padding: 0 0.85rem;
  overflow: hidden;
}

.DashboardPage-module__metricStackRow--Fg_Xz > .DashboardPage-module__metricItem--Eb1wG:first-child {
  padding-left: 0;
}

.DashboardPage-module__metricStackRow--Fg_Xz > .DashboardPage-module__metricItem--Eb1wG:last-child {
  padding-right: 0;
}

.DashboardPage-module__metricDivider--u2jST {
  width: 1px;
  flex-shrink: 0;
  align-self: stretch;
  background-color: var(--color-border);
  margin: 0.1rem 0;
}

.DashboardPage-module__metricItem--Eb1wG {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-width: 0;
}

.DashboardPage-module__metricItemHead--zgeN8 {
  display: grid;
  grid-template-columns: 4.75rem minmax(0, 1fr);
  grid-column-gap: 0.65rem;
  column-gap: 0.65rem;
  align-items: center;
  min-width: 0;
}

/* В ряду тег над значением — иначе в узкой карточке всё наезжает. */
.DashboardPage-module__metricStackRow--Fg_Xz .DashboardPage-module__metricItemHead--zgeN8 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
  min-width: 0;
}

.DashboardPage-module__metricStackRow--Fg_Xz .DashboardPage-module__algoTag--NyEdJ {
  width: auto;
  min-width: 3.25rem;
}

.DashboardPage-module__metricStackRow--Fg_Xz .DashboardPage-module__statCardValue--Qnl6Q {
  font-size: 1.15rem;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.DashboardPage-module__incomeValueBlock--jiBm4 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.15rem;
  min-width: 0;
}

.DashboardPage-module__incomeFiat--VwnKz {
  font-size: 0.75rem;
  font-weight: 500;
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
  color: var(--color-text-muted);
  white-space: nowrap;
}

.DashboardPage-module__metricValueLine--O3QaY {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  min-width: 0;
  flex-wrap: wrap;
}

.DashboardPage-module__metricValueLine--O3QaY .DashboardPage-module__statCardValue--Qnl6Q {
  line-height: 1.1;
}

.DashboardPage-module__metricDelta--jFWaV {
  margin-left: calc(4.75rem + 0.65rem);
}

.DashboardPage-module__metricStackRow--Fg_Xz .DashboardPage-module__metricDelta--jFWaV {
  margin-left: 0;
}

.DashboardPage-module__algoTag--NyEdJ {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  box-sizing: border-box;
  padding: 0.3rem 0.4rem;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  background-color: color-mix(in srgb, var(--color-bg-surface) 80%, transparent);
  color: var(--color-text-secondary);
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  white-space: nowrap;
}

.DashboardPage-module__algoTagWarm--Fh_Dz {
  border-color: color-mix(in srgb, var(--color-primary) 30%, var(--color-border));
  background-color: color-mix(in srgb, var(--color-primary) 10%, transparent);
  color: var(--color-primary);
}

.DashboardPage-module__algoTagCool--8Giyn {
  border-color: color-mix(in srgb, var(--color-primary) 28%, var(--color-border));
  background-color: color-mix(in srgb, var(--color-primary) 9%, transparent);
  color: var(--color-primary);
}

[data-theme='light'] .DashboardPage-module__algoTagCool--8Giyn {
  color: var(--color-primary-active);
  background-color: color-mix(in srgb, var(--color-primary) 12%, transparent);
}

.DashboardPage-module__hashrateUnit--JodvZ {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--color-text-secondary);
}

.DashboardPage-module__hashrateValueRow--x8C0Y {
  display: flex;
  align-items: baseline;
  gap: 0.35rem;
  min-width: 0;
  flex-wrap: wrap;
}

.DashboardPage-module__deviceMiniGrid--XmE_D {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-gap: 0.45rem;
  gap: 0.45rem;
  width: 100%;
  margin-top: 0;
}

.DashboardPage-module__deviceMini--aYD35 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.2rem;
  min-width: 0;
  min-height: 3.6rem;
  padding: 0.55rem 0.35rem;
  border: 1px solid color-mix(in srgb, var(--color-border) 90%, transparent);
  border-radius: 12px;
  background-color: color-mix(in srgb, var(--color-bg-surface) 55%, transparent);
  color: inherit;
  font: inherit;
  text-align: center;
  cursor: pointer;
  transition:
    border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.DashboardPage-module__deviceMini--aYD35:hover {
  border-color: color-mix(in srgb, var(--color-text-primary) 40%, var(--color-border));
  background-color: color-mix(in srgb, var(--color-bg-elevated) 92%, transparent);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--color-text-primary) 12%, transparent);
  transform: translateY(-1px);
}

.DashboardPage-module__deviceMini--aYD35:active {
  transform: translateY(0);
}

.DashboardPage-module__deviceMini--aYD35:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--color-primary) 55%, transparent);
  outline-offset: 2px;
}

.DashboardPage-module__deviceMiniActive--emGcs {
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--color-text-primary) 22%, transparent);
  background-color: color-mix(in srgb, var(--color-bg-elevated) 88%, transparent);
  border-color: color-mix(in srgb, var(--color-text-primary) 32%, var(--color-border));
}

.DashboardPage-module__deviceMiniActive--emGcs:hover {
  border-color: color-mix(in srgb, var(--color-text-primary) 48%, var(--color-border));
  background-color: color-mix(in srgb, var(--color-bg-elevated) 96%, transparent);
}

.DashboardPage-module__deviceMiniOnline--vxDjZ {
  border-color: color-mix(in srgb, var(--color-status-online) 45%, var(--color-border));
  background-color: color-mix(in srgb, var(--color-status-online) 10%, transparent);
}

.DashboardPage-module__deviceMiniOnline--vxDjZ:hover {
  border-color: color-mix(in srgb, var(--color-status-online) 75%, var(--color-border));
  background-color: color-mix(in srgb, var(--color-status-online) 22%, transparent);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--color-status-online) 28%, transparent);
}

.DashboardPage-module__deviceMiniOnline--vxDjZ.DashboardPage-module__deviceMiniActive--emGcs {
  background-color: color-mix(in srgb, var(--color-status-online) 18%, transparent);
  border-color: color-mix(in srgb, var(--color-status-online) 65%, var(--color-border));
}

.DashboardPage-module__deviceMiniOnline--vxDjZ.DashboardPage-module__deviceMiniActive--emGcs:hover {
  background-color: color-mix(in srgb, var(--color-status-online) 26%, transparent);
}

.DashboardPage-module__deviceMiniOffline--m51sC {
  border-color: color-mix(in srgb, var(--color-text-muted) 35%, var(--color-border));
  background-color: color-mix(in srgb, var(--color-text-muted) 8%, transparent);
}

.DashboardPage-module__deviceMiniOffline--m51sC:hover {
  border-color: color-mix(in srgb, var(--color-text-muted) 70%, var(--color-border));
  background-color: color-mix(in srgb, var(--color-text-muted) 18%, transparent);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--color-text-muted) 22%, transparent);
}

.DashboardPage-module__deviceMiniOffline--m51sC.DashboardPage-module__deviceMiniActive--emGcs {
  background-color: color-mix(in srgb, var(--color-text-muted) 16%, transparent);
  border-color: color-mix(in srgb, var(--color-text-muted) 55%, var(--color-border));
}

.DashboardPage-module__deviceMiniOffline--m51sC.DashboardPage-module__deviceMiniActive--emGcs:hover {
  background-color: color-mix(in srgb, var(--color-text-muted) 22%, transparent);
}

.DashboardPage-module__deviceMiniNum--KN37X {
  font-size: 1.35rem;
  font-weight: 700;
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
  color: var(--color-text-primary);
}

.DashboardPage-module__deviceMiniOnline--vxDjZ .DashboardPage-module__deviceMiniNum--KN37X {
  color: var(--color-status-online);
}

.DashboardPage-module__deviceMiniOffline--m51sC .DashboardPage-module__deviceMiniNum--KN37X {
  color: var(--color-text-muted);
}

.DashboardPage-module__deviceMiniCap--jJLJ8 {
  font-size: 0.625rem;
  font-weight: 600;
  color: var(--color-text-secondary);
  text-transform: none;
  white-space: nowrap;
}

.DashboardPage-module__tariffRow--N2Qj3 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  min-height: 4.25rem;
}

.DashboardPage-module__tariffRow--N2Qj3 .DashboardPage-module__statCardTitle--mvcXs {
  margin-bottom: 0.85rem;
}

.DashboardPage-module__tariffSoon--ls6ID {
  flex-shrink: 0;
  margin-top: 0.1rem;
  padding: 0.3rem 0.55rem;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  background-color: color-mix(in srgb, var(--color-bg-surface) 80%, transparent);
  color: var(--color-text-secondary);
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}


.DashboardPage-module__statCard--A7xQS {
  padding: var(--space-5);
  background-color: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
}

/* KPI-карточка-ссылка: выглядит как остальные карточки. */
.DashboardPage-module__kpiLink--PAMxg {
  color: inherit;
  -webkit-text-decoration: none;
  text-decoration: none;
  cursor: pointer;
  display: block;
}

.DashboardPage-module__kpiLink--PAMxg:hover {
  border-color: var(--color-primary);
}

.DashboardPage-module__kpiSplitCard--cpWnk {
  display: flex;
  align-items: stretch;
  padding: 0;
  overflow: hidden;
  width: -webkit-max-content;
  width: max-content;
  max-width: 100%;
}

.DashboardPage-module__kpiSplitLeft--LBopE {
  flex: 0 0 auto;
  padding: var(--space-4) var(--space-5);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.DashboardPage-module__kpiSplitLink--A7I2n {
  color: inherit;
  -webkit-text-decoration: none;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  border-radius: var(--radius-sm);
  margin: calc(-1 * var(--space-1));
  padding: var(--space-1);
}

.DashboardPage-module__kpiSplitLink--A7I2n:hover {
  background-color: var(--color-bg-elevated);
}

.DashboardPage-module__kpiSplitDivider--fzRmf {
  width: 1px;
  flex-shrink: 0;
  background-color: var(--color-border);
  margin: var(--space-4) 0;
}

.DashboardPage-module__kpiSplitRight--TUvCY {
  flex: 0 0 14.5rem;
  width: 14.5rem;
  box-sizing: border-box;
  padding: var(--space-4) var(--space-5);
  display: flex;
  flex-direction: column;
}

.DashboardPage-module__kpiSplitRight--TUvCY .DashboardPage-module__statusGroup--HOBKR,
.DashboardPage-module__kpiSplitRight--TUvCY .DashboardPage-module__issueRow--vZcpD {
  justify-content: flex-start;
  gap: var(--space-2);
}

.DashboardPage-module__kpiSplitRight--TUvCY .DashboardPage-module__statusGroup--HOBKR {
  width: 100%;
}

.DashboardPage-module__kpiSplitRight--TUvCY .DashboardPage-module__issueList--J00Ma {
  flex: 1 0 100%;
  width: 100%;
  box-sizing: border-box;
}

@media (max-width: 720px) {
  .DashboardPage-module__kpiSplitCard--cpWnk {
    flex-direction: column;
  }

  .DashboardPage-module__kpiSplitDivider--fzRmf {
    width: auto;
    height: 1px;
    margin: 0 var(--space-4);
  }
}

.DashboardPage-module__statCardTitle--mvcXs {
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  margin-bottom: var(--space-2);
}

.DashboardPage-module__statCardValue--Qnl6Q {
  font-size: var(--text-2xl);
  font-weight: 700;
  color: var(--color-text-primary);
  white-space: nowrap;
}

/* Длинные значения (потребление «0.88 МВт / 2 МВт») могут переноситься на вторую
   строку, иначе вылезают за границу карточки. Число с единицей не рвём — пробелы
   внутри значения неразрывные, перенос идёт только вокруг « / ». */
.DashboardPage-module__statCardValueWrap--qGI8Z {
  white-space: normal;
  overflow-wrap: break-word;
}

.DashboardPage-module__statCardValue--Qnl6Q .DashboardPage-module__ok--zXVRG {
  color: var(--color-status-online);
}

.DashboardPage-module__kpiSub--VSdm0 {
  margin-top: var(--space-2);
  font-size: var(--text-xs);
  color: var(--color-text-muted);
}

.DashboardPage-module__deltaUp--mwFym {
  color: var(--color-status-online);
}

.DashboardPage-module__deltaDown--DKP9D {
  color: var(--color-status-error);
}

.DashboardPage-module__hashrateCard--uUMSH {
  min-width: 0;
  padding: var(--space-4) var(--space-5);
}

.DashboardPage-module__hashrateCard--uUMSH .DashboardPage-module__statCardTitle--mvcXs {
  margin-bottom: var(--space-2);
}

.DashboardPage-module__hashrateCard--uUMSH .DashboardPage-module__kpiSub--VSdm0 {
  margin-top: 2px;
  white-space: nowrap;
}

.DashboardPage-module__hashrateList--kqCSV {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4) var(--space-5);
  min-width: 0;
}

.DashboardPage-module__hashrateAlgo--w6ELw {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  flex: 1 1 7.5rem;
  min-width: 0;
}

.DashboardPage-module__hashrateAlgo--w6ELw .DashboardPage-module__statCardValue--Qnl6Q {
  font-size: var(--text-xl);
}

.DashboardPage-module__section--SVssu {
  padding: var(--space-5);
  background-color: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
}

/* Заголовок сворачиваемого блока: кнопка на всю ширину. */
.DashboardPage-module__sectionHeader--ndrLG {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  width: 100%;
  padding: 0;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--color-text-primary);
  text-align: left;
}

.DashboardPage-module__sectionHeaderTitle--aGDVl {
  font-size: var(--text-lg);
  font-weight: 600;
  color: var(--color-text-primary);
  margin: 0;
}

.DashboardPage-module__badge--BwA84 {
  padding: var(--space-1) var(--space-2);
  font-size: var(--text-xs);
  font-weight: 600;
  color: var(--color-text-secondary);
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  white-space: nowrap;
}

.DashboardPage-module__eventList--NK7ZR {
  margin-top: var(--space-3);
  max-height: 220px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}

.DashboardPage-module__emptyText--kYZvr {
  padding: var(--space-4);
  text-align: center;
  color: var(--color-text-muted);
  font-size: var(--text-sm);
}

.DashboardPage-module__eventItem--dYO6y {
  display: flex;
  align-items: baseline;
  gap: var(--space-3);
  padding: var(--space-2) 0;
  border-bottom: 1px solid var(--color-border);
  font-size: var(--text-sm);
}

.DashboardPage-module__eventItem--dYO6y:last-child {
  border-bottom: none;
}

/* Цветовая полоса слева от события по серьёзности. */
.DashboardPage-module__eventBar--IpyUx {
  align-self: stretch;
  width: 3px;
  border-radius: 2px;
  flex-shrink: 0;
}

.DashboardPage-module__eventBarCritical--r8ng8 {
  background-color: var(--color-status-error);
}

.DashboardPage-module__eventBarWarning--RkDns {
  background-color: var(--color-status-warning);
}

.DashboardPage-module__eventBarInfo--manIl {
  background-color: var(--color-status-paused);
}

.DashboardPage-module__eventTime--jUwph {
  color: var(--color-text-muted);
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
  flex-shrink: 0;
}

.DashboardPage-module__eventText--pJHI5 {
  color: var(--color-text-primary);
  min-width: 0;
}

.DashboardPage-module__pillRow--wOIMk {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-top: var(--space-3);
  margin-bottom: var(--space-4);
}

.DashboardPage-module__pill--chQ63 {
  padding: var(--space-1) var(--space-3);
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: 999px;
  cursor: pointer;
}

.DashboardPage-module__pill--chQ63:hover {
  color: var(--color-text-primary);
}

.DashboardPage-module__pillActive--qFW5l {
  color: var(--color-text-primary);
  border-color: var(--color-primary);
  background-color: var(--color-bg-surface);
}

.DashboardPage-module__containerGrid--H0rYc {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  grid-gap: var(--space-3);
  gap: var(--space-3);
}

.DashboardPage-module__hostingCard--BJPFL {
  padding: var(--space-4) var(--space-5);
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  min-width: 0;
  overflow: hidden;
}

.DashboardPage-module__containerCard--J5_Th {
  padding: var(--space-3) var(--space-4);
  /* Нужен для волны статуса — иначе ::after обрезается. */
  overflow: visible;
  transition:
    opacity 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.DashboardPage-module__containerCardDragging--Y339K {
  opacity: 0.35;
  border-style: dashed;
  transform: scale(0.98);
}

.DashboardPage-module__containerCardDropTarget--CtwBz {
  border-color: var(--color-primary);
  box-shadow:
    inset 3px 0 0 var(--color-primary),
    0 0 0 1px color-mix(in srgb, var(--color-primary) 35%, transparent);
}

/* Клон карточки, который браузер рисует под курсором при drag. */
.DashboardPage-module__containerCardDragGhost--fs4eo {
  opacity: 0.96;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background-color: var(--color-bg-elevated);
  box-shadow:
    0 16px 40px rgba(0, 0, 0, 0.28),
    0 2px 8px rgba(0, 0, 0, 0.12);
  z-index: 10000;
}

.DashboardPage-module__containerDragHandle--cfjQA {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  color: var(--color-text-muted);
}

.DashboardPage-module__gripIcon--LWikh {
  flex-shrink: 0;
}

.DashboardPage-module__cardHeader--meOjm {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  flex-wrap: nowrap;
  margin-bottom: var(--space-3);
  cursor: grab;
  -webkit-user-select: none;
          user-select: none;
}

.DashboardPage-module__cardHeader--meOjm:active {
  cursor: grabbing;
}

.DashboardPage-module__cardTitle--Xrnoa {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  min-width: 0;
  flex: 1;
}

.DashboardPage-module__cardName--cUm0s {
  font-weight: 600;
  color: var(--color-text-primary);
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.DashboardPage-module__cardPower--xFIOd {
  flex-shrink: 0;
  margin-left: auto;
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  white-space: nowrap;
}

.DashboardPage-module__hostingDot--HqPjc {
  position: relative;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  flex-shrink: 0;
}

.DashboardPage-module__dotOk--PVQh7 {
  background-color: var(--color-status-online);
}

/* Две волны со сдвигом — как круги от капли. */
.DashboardPage-module__dotOk--PVQh7::before,
.DashboardPage-module__dotOk--PVQh7::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-radius: 50%;
  border: 1.5px solid var(--color-status-online);
  pointer-events: none;
  /* !important — иначе global prefers-reduced-motion гасит анимацию. */
  animation-name: DashboardPage-module__hostingDotRipple--EOggy !important;
  animation-duration: 2.8s !important;
  animation-timing-function: ease-out !important;
  animation-iteration-count: infinite !important;
}

.DashboardPage-module__dotOk--PVQh7::after {
  animation-delay: 1.4s !important;
}

.DashboardPage-module__dotOffline--B_zKR {
  background-color: var(--color-status-offline);
}

@keyframes DashboardPage-module__hostingDotRipple--EOggy {
  0% {
    transform: scale(1);
    opacity: 0.65;
  }
  100% {
    transform: scale(2.4);
    opacity: 0;
  }
}

.DashboardPage-module__statusGroups--Bt14Q {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}

.DashboardPage-module__statusGroup--HOBKR {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  flex-wrap: wrap;
  font-size: var(--text-sm);
}

/* Кнопка-chevron раскрытия группы issues: текстовая, как счётчики. */
.DashboardPage-module__groupToggle--YQlht {
  display: flex;
  align-items: center;
  gap: var(--space-1);
  padding: 0;
  background: none;
  border: none;
  cursor: pointer;
  color: inherit;
  font-size: inherit;
}

.DashboardPage-module__groupLabel--CawIz {
  font-size: var(--text-xs);
  color: var(--color-text-muted);
}

.DashboardPage-module__groupCount--PFhYT {
  font-size: var(--text-base);
  font-weight: 600;
  color: var(--color-text-primary);
}

.DashboardPage-module__countOk--igQjh {
  color: var(--color-status-online);
}

.DashboardPage-module__countWarning--OuSI_ {
  color: var(--color-status-warning);
}

.DashboardPage-module__countProblem--o9xar {
  color: var(--color-status-error);
}

.DashboardPage-module__countOffline--Quwuc {
  color: var(--color-status-offline);
}

.DashboardPage-module__countPaused--xxcLr {
  color: var(--color-status-paused);
}

.DashboardPage-module__countDecommissioned--yZe1M {
  color: var(--color-status-decommissioned);
}

.DashboardPage-module__countStorage--AqIjy {
  color: var(--color-status-storage);
}

.DashboardPage-module__countMaintenance--Yk7w8 {
  color: var(--color-status-maintenance);
}

.DashboardPage-module__issueList--J00Ma {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  width: 100%;
  padding-left: var(--space-5);
}

.DashboardPage-module__issueRow--vZcpD {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-sm);
}

.DashboardPage-module__initialLoading--Ejfxv {
  display: flex;
  justify-content: center;
  padding: var(--space-8);
}

.DashboardPage-module__chartBlock--mKelU {
  min-width: 0;
  padding: var(--space-4) var(--space-5) var(--space-5);
  background-color: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
}

.DashboardPage-module__chartBlock--mKelU .DashboardPage-module__sectionHeading--TwpLl {
  margin-bottom: var(--space-3);
}

/* Числа-счётчики — ссылки на /devices с фильтрами: выглядят как текст. */
.DashboardPage-module__countLink--qYq3K {
  color: inherit;
  -webkit-text-decoration: none;
  text-decoration: none;
  cursor: pointer;
}

.DashboardPage-module__countLink--qYq3K:hover {
  opacity: 0.85;
}

@media (max-width: 1100px) {
  .DashboardPage-module__clientKpiRow--RVVSM {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    max-width: none;
    gap: 1rem;
  }

  .DashboardPage-module__containerGrid--H0rYc {
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  }

  .DashboardPage-module__section--SVssu,
  .DashboardPage-module__chartBlock--mKelU,
  .DashboardPage-module__statCard--A7xQS {
    padding: var(--space-4);
  }
}

@media (max-width: 720px) {
  .DashboardPage-module__kpiGrid--WFQLq,
  .DashboardPage-module__kpiRow--FU8Ak,
  .DashboardPage-module__clientKpiRow--RVVSM {
    grid-template-columns: 1fr;
  }

  .DashboardPage-module__clientKpiRow--RVVSM {
    width: 100%;
  }

  .DashboardPage-module__clientKpiRow--RVVSM > [data-tour],
  .DashboardPage-module__clientKpiRow--RVVSM > [data-tour] > * {
    width: 100%;
  }

  .DashboardPage-module__clientKpiRow--RVVSM > :last-child {
    grid-column: auto;
  }

  .DashboardPage-module__statCardValue--Qnl6Q {
    white-space: normal;
    font-size: var(--text-xl);
  }

  .DashboardPage-module__hashrateAlgo--w6ELw .DashboardPage-module__statCardValue--Qnl6Q {
    font-size: var(--text-lg);
  }

  .DashboardPage-module__hashrateCard--uUMSH .DashboardPage-module__kpiSub--VSdm0 {
    white-space: normal;
  }

  .DashboardPage-module__containerGrid--H0rYc {
    grid-template-columns: 1fr;
  }

  .DashboardPage-module__sectionHeaderTitle--aGDVl {
    font-size: var(--text-base);
  }

  .DashboardPage-module__chartBlock--mKelU {
    padding: var(--space-3);
  }
}

.TotpSettingsModal-module__qr--EjsKZ {
  display: block;
  width: 12.5rem;
  height: 12.5rem;
  margin: 0 auto;
  background-color: #ffffff;
  border-radius: var(--radius-md);
}

.TotpSettingsModal-module__secret--TuA6u {
  display: block;
  padding: var(--space-2) var(--space-3);
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  text-align: center;
  word-break: break-all;
  -webkit-user-select: all;
          user-select: all;
  color: var(--color-text-primary);
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}

.TotpSettingsModal-module__status--UgUlf {
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  text-align: center;
}

.NotificationSettingsModal-module__status--ec9H2 {
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
}

.NotificationSettingsModal-module__linked--ULeZS {
  font-size: var(--text-sm);
  color: var(--color-status-online);
}

.NotificationSettingsModal-module__actionsRow--TPD_z {
  display: flex;
  gap: var(--space-2);
  flex-wrap: wrap;
}

.SettingsPage-module__grid--ycXkA {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: var(--space-4);
  gap: var(--space-4);
  align-items: stretch;
}

.SettingsPage-module__card--G22oj {
  min-width: 0;
  padding: var(--space-5);
  background-color: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
}

.SettingsPage-module__cardTitle--d6LRl {
  margin: 0 0 var(--space-4);
  font-size: var(--text-lg);
  font-weight: 600;
  color: var(--color-text-primary);
}

.SettingsPage-module__cardLead--t5Vi1 {
  margin: calc(var(--space-4) * -1) 0 var(--space-4);
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
}

.SettingsPage-module__row--QKAqJ {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-4);
  padding: var(--space-3) 0;
}

.SettingsPage-module__row--QKAqJ + .SettingsPage-module__row--QKAqJ {
  border-top: 1px solid var(--color-border);
}

.SettingsPage-module__rowMain--IiNT1 {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  min-width: 0;
}

.SettingsPage-module__rowIcon--lk7cN {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  flex-shrink: 0;
  color: var(--color-primary);
  background-color: var(--color-accent-soft);
  border-radius: var(--radius-md);
}

.SettingsPage-module__rowText--pZ7gC {
  min-width: 0;
}

.SettingsPage-module__rowLabel--lzeo5 {
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-text-primary);
}

.SettingsPage-module__rowHint--jZ9qi {
  margin-top: 2px;
  font-size: var(--text-xs);
  color: var(--color-text-muted);
}

.SettingsPage-module__rowMeta--lvDEh {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-3);
  flex: 1 1 12rem;
  min-width: 0;
}

.SettingsPage-module__rowValue--iXxzA {
  min-width: 0;
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--color-text-primary);
  text-align: right;
  line-height: 1.4;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.SettingsPage-module__status--VKbq1 {
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-text-secondary);
  white-space: nowrap;
}

.SettingsPage-module__statusOn--_cbKL {
  color: var(--color-status-online);
}

.SettingsPage-module__statusOff--OlXKP {
  color: var(--color-text-muted);
}

@media (max-width: 1100px) {
  .SettingsPage-module__grid--ycXkA {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .SettingsPage-module__row--QKAqJ {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-3);
  }

  .SettingsPage-module__rowMeta--lvDEh {
    justify-content: flex-end;
    flex: none;
  }

  .SettingsPage-module__rowValue--iXxzA {
    text-align: left;
  }
}

.OrganizationTelegramSettings-module__sectionTitle--v2NUZ {
  margin: 0 0 var(--space-2);
  font-size: var(--text-base);
  font-weight: 600;
  color: var(--color-text-primary);
}

.OrganizationTelegramSettings-module__status--F9XkC {
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
}

.OrganizationTelegramSettings-module__linked--ByAio {
  font-size: var(--text-sm);
  color: var(--color-status-online);
}

.OrganizationTelegramSettings-module__actionsRow--bX6Qv {
  display: flex;
  gap: var(--space-2);
  flex-wrap: wrap;
}

.Textarea-module__wrapper--nWDWl {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}

.Textarea-module__field--I1joI {
  position: relative;
  display: block;
  border-radius: var(--radius-md);
}

.Textarea-module__textarea--ft7cn {
  width: 100%;
  min-height: 6rem;
  padding: var(--space-2) var(--space-3);
  color: var(--color-text-primary);
  caret-color: var(--color-primary);
  background-color: var(--color-bg-input);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  outline: none;
  resize: vertical;
  transition:
    border-color 0.22s ease, box-shadow 0.22s ease, background-color 0.22s ease;
}

.Textarea-module__floating--kkpnW .Textarea-module__textarea--ft7cn {
  padding: 1.55rem var(--space-3) 0.7rem;
}

.Textarea-module__textarea--ft7cn::placeholder {
  color: var(--color-text-muted);
}

.Textarea-module__floating--kkpnW .Textarea-module__textarea--ft7cn::placeholder {
  color: transparent;
}

.Textarea-module__floating--kkpnW:focus-within .Textarea-module__textarea--ft7cn::placeholder,
.Textarea-module__textarea--ft7cn:focus::placeholder {
  color: var(--color-text-muted);
}

.Textarea-module__field--I1joI:hover .Textarea-module__textarea--ft7cn:not(:disabled):not(:focus) {
  border-color: var(--color-accent-border);
  box-shadow: 0 0 0 1px var(--color-accent-soft), 0 10px 28px rgba(245, 166, 35, 0.08);
}

.Textarea-module__textarea--ft7cn:focus,
.Textarea-module__field--I1joI:focus-within .Textarea-module__textarea--ft7cn {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px var(--color-focus-ring), 0 12px 28px rgba(245, 166, 35, 0.14);
}

.Textarea-module__label--mpcPY {
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--color-text-secondary);
}

.Textarea-module__floating--kkpnW .Textarea-module__label--mpcPY {
  position: absolute;
  left: var(--space-3);
  top: 1.15rem;
  z-index: 1;
  max-width: calc(100% - 1.5rem);
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
  transform: translateY(0) scale(1);
  transform-origin: left center;
  transition:
    transform 0.22s cubic-bezier(0.22, 1, 0.36, 1), top 0.22s cubic-bezier(0.22, 1, 0.36, 1), color 0.22s ease;
}

.Textarea-module__floating--kkpnW:focus-within .Textarea-module__label--mpcPY,
.Textarea-module__floating--kkpnW.Textarea-module__filled--x10Cz .Textarea-module__label--mpcPY,
.Textarea-module__floating--kkpnW .Textarea-module__textarea--ft7cn:focus ~ .Textarea-module__label--mpcPY {
  top: 0.4rem;
  transform: scale(0.82);
}

.Textarea-module__floating--kkpnW:focus-within .Textarea-module__label--mpcPY,
.Textarea-module__floating--kkpnW .Textarea-module__textarea--ft7cn:focus ~ .Textarea-module__label--mpcPY {
  color: var(--color-primary);
}

.Textarea-module__required--EP8rh {
  color: var(--color-status-error);
  margin-left: var(--space-1);
}

.Textarea-module__error--sD08I {
  border-color: var(--color-status-error);
}

.Textarea-module__error--sD08I:focus,
.Textarea-module__fieldError--JSlsS:focus-within .Textarea-module__textarea--ft7cn {
  border-color: var(--color-status-error);
  box-shadow: 0 0 0 3px var(--color-focus-ring-error);
}

.Textarea-module__fieldError--JSlsS:focus-within .Textarea-module__label--mpcPY,
.Textarea-module__fieldError--JSlsS .Textarea-module__textarea--ft7cn:focus ~ .Textarea-module__label--mpcPY {
  color: var(--color-status-error);
}

.Textarea-module__textarea--ft7cn:disabled {
  cursor: not-allowed;
  opacity: 0.65;
}

.Textarea-module__errorText--k0GLK {
  font-size: var(--text-sm);
  color: var(--color-status-error);
}

@media (prefers-reduced-motion: reduce) {
  .Textarea-module__textarea--ft7cn,
  .Textarea-module__floating--kkpnW .Textarea-module__label--mpcPY {
    transition: none;
  }
}

.HostingAgentsModal-module__dialog--eiqLl {
  width: 100%;
  max-width: calc(100vw - var(--space-8));
  max-height: calc(100dvh - var(--space-8));
}

.HostingAgentsModal-module__formDialog--h5bqx {
  max-width: 56rem;
}

.HostingAgentsModal-module__pasteField--Y9g9y {
  min-height: 4.5rem !important;
  max-height: 6.5rem;
  padding-top: var(--space-2) !important;
  overflow-y: auto;
  resize: vertical;
}

.HostingAgentsModal-module__pasteField--Y9g9y::placeholder {
  color: var(--color-text-muted);
  opacity: 0.5;
}

.HostingAgentsModal-module__hint--JKjt4 {
  margin: 0;
  font-size: var(--text-sm);
  color: var(--color-text-muted);
}

.HostingAgentsModal-module__targetHeader--Acy22 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  flex-wrap: wrap;
  margin-bottom: var(--space-2);
}

.HostingAgentsModal-module__targetHeaderLabel--y8ORS {
  margin: 0;
}

.HostingAgentsModal-module__filterSwitch--F6KQ4 {
  display: flex;
  flex-shrink: 0;
  padding: 3px;
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}

.HostingAgentsModal-module__filterBtn--npiD6 {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: var(--space-1) var(--space-3);
  color: var(--color-text-secondary);
  background: none;
  border: none;
  border-radius: calc(var(--radius-md) - 2px);
  font-size: var(--text-sm);
  line-height: 1.4;
  white-space: nowrap;
  cursor: pointer;
}

.HostingAgentsModal-module__filterBtn--npiD6:hover {
  color: var(--color-text-primary);
}

.HostingAgentsModal-module__filterBtnActive--ke5u7 {
  color: var(--color-text-primary);
  background-color: var(--color-bg-surface);
  box-shadow: var(--shadow-sm);
}

.HostingAgentsModal-module__filterCount--UqmA3 {
  color: var(--color-text-muted);
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
}

.HostingAgentsModal-module__filterBtnActive--ke5u7 .HostingAgentsModal-module__filterCount--UqmA3 {
  color: var(--color-text-secondary);
}

.HostingAgentsModal-module__targetList--NvOE6 {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  max-height: min(40vh, 28rem);
  overflow: auto;
}

.HostingAgentsModal-module__overlapList--lWArY {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  margin: 0;
}

.HostingAgentsModal-module__overlapRecommend--AFIsN {
  margin: 0;
  font-size: var(--text-sm);
  color: var(--color-status-error);
  opacity: 0.9;
}

.HostingAgentsModal-module__targetCard--zxGeU {
  display: grid;
  grid-template-columns: 8.5rem minmax(11rem, 1.5fr) minmax(8.5rem, 1fr) auto;
  align-items: center;
  grid-gap: var(--space-2);
  gap: var(--space-2);
  padding: var(--space-3);
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}

.HostingAgentsModal-module__targetCardOverlap--DAspq {
  border-color: var(--color-status-error);
}

.HostingAgentsModal-module__tokenRow--hoTxc {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
}

.HostingAgentsModal-module__tokenRow--hoTxc > :first-child {
  flex: 1;
  min-width: 0;
}

.HostingAgentsModal-module__installIntro--e5WLv {
  margin: 0;
  color: var(--color-text-muted);
  font-size: var(--text-sm);
}

.HostingAgentsModal-module__commandBlock--yVe7y {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.HostingAgentsModal-module__commandPre--gpKso {
  margin: 0;
  padding: var(--space-3);
  overflow-x: auto;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: var(--text-sm);
  line-height: 1.45;
  white-space: pre-wrap;
  word-break: break-all;
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  color: var(--color-text);
}

.HostingAgentsModal-module__installStatus--fHFvS {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-sm);
}

.HostingAgentsModal-module__installLoading--jHkyV {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 8rem;
}

@media (max-width: 720px) {
  .HostingAgentsModal-module__dialog--eiqLl,
  .HostingAgentsModal-module__formDialog--h5bqx {
    max-width: 100%;
  }

  .HostingAgentsModal-module__targetCard--zxGeU {
    grid-template-columns: 1fr auto;
  }

  .HostingAgentsModal-module__targetCard--zxGeU > :nth-child(n + 2):nth-child(-n + 3) {
    grid-column: 1 / -1;
  }

  .HostingAgentsModal-module__targetCard--zxGeU > :last-child {
    grid-column: 2;
    grid-row: 1;
  }
}

.OrganizationsPage-module__grid--IgTdi {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 28rem), 1fr));
  grid-gap: var(--space-4);
  gap: var(--space-4);
}

.OrganizationsPage-module__card--ci2Y3 {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background-color: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}

.OrganizationsPage-module__cardHeader--utJ_L {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-4) var(--space-5);
  border-bottom: 1px solid var(--color-border);
}

.OrganizationsPage-module__cardTitleBlock--OUq_6 {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  min-width: 0;
  flex: 1;
}

.OrganizationsPage-module__cardTitleRow--glzH8 {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-2);
  min-width: 0;
}

.OrganizationsPage-module__orgIcon--HxWZI {
  flex-shrink: 0;
  color: var(--color-text-secondary);
}

.OrganizationsPage-module__orgName--jvg66 {
  font-size: var(--text-base);
  font-weight: 600;
  color: var(--color-text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.OrganizationsPage-module__cardMeta--EbS0J {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
}

.OrganizationsPage-module__cardHeaderActions--TL9MR {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  flex-shrink: 0;
}

.OrganizationsPage-module__cardBody--zv5MK {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-4) var(--space-5);
  flex: 1;
}

.OrganizationsPage-module__bodyTitle--oWxW_ {
  margin: 0;
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-text-secondary);
}

.OrganizationsPage-module__hostingsList--v2vGs {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin: 0;
  padding: 0;
  list-style: none;
}

.OrganizationsPage-module__hostingNode--f82g4 {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  min-width: 0;
}

.OrganizationsPage-module__hostingChip--jC04p {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  flex-wrap: wrap;
  min-width: 0;
  padding: var(--space-2) var(--space-3);
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}

.OrganizationsPage-module__hostingChildren--Sw4yN {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  margin: 0 0 0 var(--space-3);
  padding: 0 0 0 var(--space-5);
  list-style: none;
  border-left: 1px solid var(--color-border);
}

.OrganizationsPage-module__childrenSectionLabel--PwP9u {
  margin: var(--space-1) 0 var(--space-1);
  padding: 0 var(--space-1);
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-text-muted);
}

.OrganizationsPage-module__childItem--ruKov {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  width: 100%;
  min-width: 0;
  padding: var(--space-2) var(--space-3);
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  color: var(--color-text-primary);
  text-align: left;
  font: inherit;
}

button.OrganizationsPage-module__childItem--ruKov {
  cursor: pointer;
}

button.OrganizationsPage-module__childItem--ruKov:hover {
  border-color: var(--color-border-hover);
  background-color: var(--color-surface-hover);
}

.OrganizationsPage-module__childItemLabel--M_gXs {
  flex: 1;
  min-width: 0;
  font-size: var(--text-sm);
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.OrganizationsPage-module__childItemMeta--Ga_Mo {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  flex-shrink: 0;
  margin-left: auto;
}

.OrganizationsPage-module__childItemActions--w_L0X {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.OrganizationsPage-module__agentLoad--K7UxR {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
}

.OrganizationsPage-module__agentLoadStat--vUpUt {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  font-size: var(--text-xs);
  color: var(--color-text-secondary);
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  cursor: help;
}

.OrganizationsPage-module__agentLoadStat--vUpUt svg {
  flex-shrink: 0;
  color: var(--color-text-muted);
}

.OrganizationsPage-module__statusDot--ZmSlA {
  position: relative;
  flex-shrink: 0;
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
}

.OrganizationsPage-module__statusDot--ZmSlA::after {
  content: '';
  position: absolute;
  top: -3px;
  right: -3px;
  bottom: -3px;
  left: -3px;
  border-radius: 50%;
  border: 2px solid currentColor;
  opacity: 0.45;
  animation: OrganizationsPage-module__agentStatusPulse--Zrkvo 1.8s ease-out infinite;
}

.OrganizationsPage-module__statusDotHealthy--YFc15 {
  color: var(--color-status-online);
  background-color: var(--color-status-online);
}

.OrganizationsPage-module__statusDotUnhealthy--r3Edd {
  color: var(--color-status-error);
  background-color: var(--color-status-error);
}

.OrganizationsPage-module__statusDotUnknown--WRC7F {
  color: var(--color-status-inactive);
  background-color: var(--color-status-inactive);
}

@keyframes OrganizationsPage-module__agentStatusPulse--Zrkvo {
  0% {
    transform: scale(0.7);
    opacity: 0.55;
  }
  70% {
    transform: scale(1.7);
    opacity: 0;
  }
  100% {
    transform: scale(0.7);
    opacity: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .OrganizationsPage-module__statusDot--ZmSlA::after {
    animation: none;
  }
}

.OrganizationsPage-module__hostingMain--oRmtA {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  min-width: 0;
  flex: 1;
}

.OrganizationsPage-module__hostingName--zG1lY {
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--color-text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.OrganizationsPage-module__hostingDetail--q7SPS {
  font-size: var(--text-xs);
  color: var(--color-text-muted);
  font-family: var(--font-mono);
  white-space: nowrap;
}

.OrganizationsPage-module__hostingCreated--VCXsw {
  font-size: var(--text-xs);
  color: var(--color-text-muted);
  white-space: nowrap;
}

.OrganizationsPage-module__hostingActions--dJBe8 {
  display: flex;
  align-items: center;
  margin-left: auto;
}

.OrganizationsPage-module__emptyHostings--MfesJ,
.OrganizationsPage-module__hostingsLoading--iVdvF,
.OrganizationsPage-module__hostingsError--CZeE9 {
  padding: var(--space-2) 0;
  font-size: var(--text-sm);
  color: var(--color-text-muted);
}

.OrganizationsPage-module__hostingsError--CZeE9 {
  color: var(--color-status-error);
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  text-align: left;
  font: inherit;
}

.OrganizationsPage-module__cardFooter--zdYt8 {
  padding: var(--space-3) var(--space-5) var(--space-4);
  border-top: 1px solid var(--color-border);
  background-color: var(--color-bg-elevated);
}

.OrganizationsPage-module__addHostingBtn--BKtF9 {
  width: 100%;
  justify-content: center;
}

@media (max-width: 720px) {
  .OrganizationsPage-module__grid--IgTdi {
    grid-template-columns: 1fr;
  }

  .OrganizationsPage-module__hostingActions--dJBe8 {
    margin-left: 0;
    width: 100%;
    justify-content: flex-end;
  }
}

.OrganizationIntegrationApiKey-module__row--llbCg {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-2);
  min-width: 0;
}

.OrganizationIntegrationApiKey-module__meta--XWg7b {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.OrganizationIntegrationApiKey-module__keyId--Fl3aj {
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
}

.OrganizationIntegrationApiKey-module__createBtn--tdwur {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  color: var(--color-text-secondary);
  font-size: var(--text-sm);
  cursor: pointer;
}

.OrganizationIntegrationApiKey-module__createBtn--tdwur:hover:not(:disabled) {
  color: var(--color-text-primary);
}

.OrganizationIntegrationApiKey-module__createBtn--tdwur:disabled {
  opacity: 0.6;
  cursor: default;
}

.OrganizationIntegrationApiKey-module__tokenRow--Kf3m2 {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
}

.OrganizationIntegrationApiKey-module__tokenRow--Kf3m2 > :first-child {
  flex: 1;
  min-width: 0;
}

.FacilityPage-module__hostingSelect--yYHT1 {
  min-width: 14rem;
}

.FacilityPage-module__containerCards--MtDaS {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-bottom: var(--space-6);
  /* Широкие карточки не сжимаем — прокручиваем ряд по горизонтали. */
  overflow-x: auto;
}

.FacilityPage-module__containerCard--KlbQy {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  flex: 0 0 auto;
  width: -webkit-max-content;
  width: max-content;
  min-width: 12rem;
  padding: var(--space-3) var(--space-4);
  background-color: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
}

.FacilityPage-module__containerCardHeader--aM1YB {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
}

.FacilityPage-module__containerCardName--r6jI4 {
  font-weight: 600;
  color: var(--color-text-primary);
}

.FacilityPage-module__containerCardMeta--omkr1 {
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
}

.FacilityPage-module__containerCardStats--u4_cV {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
}

.FacilityPage-module__containerCardStat--vbtca {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
}

.FacilityPage-module__containerCardStat--vbtca svg {
  flex-shrink: 0;
  color: var(--color-text-muted);
}

.FacilityPage-module__containerCardStatIcon--hibDt {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: help;
}

.FacilityPage-module__unplacedBadge--Zgw1Z {
  font-size: var(--text-xs);
  font-weight: 500;
  color: var(--color-status-warning);
}

.FacilityPage-module__containerCardActions--n2wxd {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.FacilityPage-module__containerCardActionBtn--dyPGP {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 2rem;
  height: 2rem;
  padding: 0;
  margin: 0;
  line-height: 0;
  color: var(--color-text-secondary);
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  transition:
    color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease;
}

.FacilityPage-module__containerCardActionBtn--dyPGP svg {
  display: block;
  flex-shrink: 0;
}

.FacilityPage-module__containerCardActionBtn--dyPGP:hover:not(:disabled) {
  color: var(--color-text-primary);
  border-color: var(--color-accent-border);
  background-color: color-mix(in srgb, var(--color-accent) 10%, var(--color-bg-elevated));
}

.FacilityPage-module__containerCardActionDanger--ibR4J {
  color: var(--color-status-error);
  border-color: color-mix(in srgb, var(--color-status-error) 45%, var(--color-border));
  background-color: color-mix(in srgb, var(--color-status-error) 10%, var(--color-bg-elevated));
}

.FacilityPage-module__containerCardActionDanger--ibR4J:hover:not(:disabled) {
  color: var(--color-status-error);
  border-color: var(--color-status-error);
  background-color: color-mix(in srgb, var(--color-status-error) 18%, var(--color-bg-elevated));
}

.FacilityPage-module__miniGridButton--IJwqC {
  display: block;
  flex: 0 0 auto;
  width: -webkit-max-content;
  width: max-content;
  padding: var(--space-2);
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}

.FacilityPage-module__miniGridButton--IJwqC:hover {
  border-color: var(--color-primary);
}

.FacilityPage-module__miniCellInteractive--Qs98V {
  cursor: pointer;
  padding: 0;
  border: 1px solid var(--color-border);
}

.FacilityPage-module__miniCellInteractive--Qs98V:hover {
  border-color: var(--color-primary);
}

.FacilityPage-module__miniCellInteractive--Qs98V[draggable='true'] {
  cursor: grab;
}

.FacilityPage-module__cellDraggable--iV8Ws {
  cursor: grab;
}

.FacilityPage-module__cardGrids--eoCny {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-2);
}

.FacilityPage-module__cardGridItem--Z902R {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  flex: 0 0 auto;
}

.FacilityPage-module__cardGridDragging--GNgXZ {
  opacity: 0.5;
}

.FacilityPage-module__cardGridDropTarget--_uW_r {
  box-shadow: inset 2px 0 0 var(--color-primary);
}

.FacilityPage-module__cardGridHeader--td_oi {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-2);
  cursor: grab;
}

.FacilityPage-module__gripIcon--yZHZZ {
  flex-shrink: 0;
  align-self: center;
  color: var(--color-text-muted);
}

.FacilityPage-module__cardGridName--qr3KK {
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--color-text-primary);
}

.FacilityPage-module__cardGridMeta--fydZh {
  font-size: var(--text-xs);
  color: var(--color-text-secondary);
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
}

.FacilityPage-module__gridActions--Qeu00 {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.FacilityPage-module__miniGrid--Us4TA {
  display: grid;
  grid-gap: 2px;
  gap: 2px;
  width: -webkit-max-content;
  width: max-content;
}

.FacilityPage-module__miniCell--j3DKv {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 3px;
  background-color: var(--color-bg-surface);
  border: 1px solid var(--color-border);
}

.FacilityPage-module__miniCell--j3DKv .FacilityPage-module__cellProblemMark--JqXkv {
  font-size: 0.7rem;
}

/* Мини-версия «вырезанной» ячейки: как .cellHole, но под размер мини-сетки. */
.FacilityPage-module__miniCellHole--Rvk2G {
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 3px;
  background: transparent;
  border: 1px dashed var(--color-border);
  opacity: 0.5;
}

/* Дырка внутри видимого окна при включённом hide_disabled_cells: тех же
   размеров, полностью прозрачная, без рамки — чтобы CSS grid не съезжал. */
.FacilityPage-module__miniCellVoid--p21wW {
  width: 1.5rem;
  height: 1.5rem;
}

/* Температура внутри ячейки: чёрный текст читается на зелёном/тепловой карте. */
.FacilityPage-module__miniCellTemp--qTv_z {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  font-size: 0.625rem;
  line-height: 1;
  font-weight: 700;
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
  color: #111110;
}

.FacilityPage-module__cellTemp--BH1XZ {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  font-size: 0.75rem;
  line-height: 1;
  font-weight: 700;
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
  color: #111110;
}

.FacilityPage-module__filterActions--zzNPi {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: var(--space-3);
  flex: 0 0 auto;
  margin-left: auto;
}

.FacilityPage-module__filterAction--ZNIWT {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}

/* Компактный чекбокс температурной карты — без растягивания на всю ширину. */
.FacilityPage-module__tempMapToggle--mAZp2 {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  box-sizing: border-box;
  height: 2.5rem;
  min-height: 2.5rem;
  padding: 0 var(--space-3);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background-color: var(--color-bg-input);
  color: var(--color-text-secondary);
  cursor: pointer;
  -webkit-user-select: none;
          user-select: none;
  transition:
    background-color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, color 0.18s ease;
}

.FacilityPage-module__tempMapToggle--mAZp2:hover {
  color: var(--color-text-primary);
  border-color: var(--color-accent-border);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--color-primary) 12%, transparent);
}

.FacilityPage-module__tempMapToggleActive--P0HoF,
.FacilityPage-module__tempMapToggleActive--P0HoF:hover {
  color: var(--color-text-primary);
  border-color: var(--color-accent);
  background-color: color-mix(in srgb, var(--color-accent) 12%, var(--color-bg-surface));
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--color-accent) 18%, transparent);
}

.FacilityPage-module__tempMapToggle--mAZp2 input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.FacilityPage-module__tempMapCheck--CljB9 {
  flex-shrink: 0;
  width: 1.125rem;
  height: 1.125rem;
  border: 1.5px solid var(--color-border);
  border-radius: 0.3rem;
  background-color: var(--color-bg-surface);
  transition:
    background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.FacilityPage-module__tempMapToggleActive--P0HoF .FacilityPage-module__tempMapCheck--CljB9 {
  border-color: var(--color-accent);
  background-color: var(--color-accent);
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27none%27%3E%3Cpath d=%27M3.5 8.2L6.4 11l6.1-7%27 stroke=%27%230a0a08%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E");
  background-size: 0.85rem 0.85rem;
  background-position: center;
  background-repeat: no-repeat;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--color-accent) 35%, transparent);
}

.FacilityPage-module__tempMapIcon--fj6Ms {
  display: inline-flex;
  flex-shrink: 0;
  color: var(--color-text-muted);
}

.FacilityPage-module__tempMapToggleActive--P0HoF .FacilityPage-module__tempMapIcon--fj6Ms {
  color: var(--color-accent);
}

.FacilityPage-module__filterResetButton--hYb8b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  box-sizing: border-box;
  height: 2.5rem;
  min-height: 2.5rem;
  padding: 0 var(--space-3);
  font-family: inherit;
  font-size: var(--text-sm);
  font-weight: 600;
  line-height: 1;
  color: var(--color-text-primary);
  background-color: var(--color-bg-input);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  cursor: pointer;
  white-space: nowrap;
  transition:
    border-color 0.18s ease, background-color 0.18s ease, box-shadow 0.18s ease;
}

.FacilityPage-module__filterResetButton--hYb8b:hover {
  border-color: var(--color-accent-border);
  background-color: var(--color-surface-hover, var(--color-bg-elevated));
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--color-primary) 12%, transparent);
}

.FacilityPage-module__filterResetButton--hYb8b:hover svg {
  animation-name: FacilityPage-module__filterResetSpin--i6mD0;
  animation-duration: 0.7s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

@keyframes FacilityPage-module__filterResetSpin--i6mD0 {
  to {
    transform: rotate(360deg);
  }
}

.FacilityPage-module__editorModal--Gndhb {
  width: -webkit-max-content;
  width: max-content;
  max-width: min(96vw, 90rem);
}

.FacilityPage-module__layoutSection--bGtnX {
  display: flex;
  align-items: flex-start;
  gap: var(--space-4);
  flex-wrap: wrap;
}

.FacilityPage-module__gridPanel--dMYQs {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  flex: 1 1 auto;
  min-width: 0;
  padding: var(--space-4);
  background-color: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
}

.FacilityPage-module__editorToolbar--xLX_1 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-4);
  margin-bottom: var(--space-4);
}

.FacilityPage-module__editorToolbarMeta--ELFu1 {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  min-width: 0;
}

.FacilityPage-module__editorToolbarSub--q1MUl {
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
}

.FacilityPage-module__editorStats--slK3Q {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.FacilityPage-module__editorStat--hnXaC {
  display: inline-flex;
  align-items: baseline;
  gap: 0.3rem;
  padding: 0.25rem 0.6rem;
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
}

.FacilityPage-module__editorStat--hnXaC strong {
  color: var(--color-text-primary);
  font-weight: 600;
}

.FacilityPage-module__editorStatProblem--WGoQO {
  color: var(--color-status-error);
  border-color: color-mix(in srgb, var(--color-status-error) 40%, var(--color-border));
  background-color: color-mix(in srgb, var(--color-status-error) 10%, var(--color-bg-elevated));
}

.FacilityPage-module__editorStatProblem--WGoQO strong {
  color: var(--color-status-error);
}

.FacilityPage-module__editorToolbarActions--GCemu {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  flex-shrink: 0;
}

.FacilityPage-module__editorMoreTrigger--kKErv {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  color: var(--color-text-secondary);
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}

.FacilityPage-module__editorMoreTrigger--kKErv:hover,
.FacilityPage-module__editorMoreTrigger--kKErv[aria-expanded='true'] {
  color: var(--color-text-primary);
  border-color: var(--color-accent-border);
}

.FacilityPage-module__editorTabs--n0jgf {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: var(--space-1);
  height: 2rem;
  margin-bottom: var(--space-4);
  overflow-x: auto;
}

.FacilityPage-module__editorTab--zPw7M {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  box-sizing: border-box;
  height: 2rem;
  margin: 0;
  padding: 0 0.85rem;
  font-size: var(--text-sm);
  font-weight: 500;
  line-height: 1;
  color: var(--color-text-secondary);
  background: transparent;
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  cursor: pointer;
  white-space: nowrap;
  vertical-align: middle;
}

.FacilityPage-module__editorTab--zPw7M:hover {
  color: var(--color-text-primary);
  background-color: var(--color-bg-elevated);
}

.FacilityPage-module__editorTabActive--w7Ms2 {
  color: var(--color-accent-ink);
  background-color: var(--color-accent);
  border-color: var(--color-accent);
}

.FacilityPage-module__editorTabActive--w7Ms2:hover {
  color: var(--color-accent-ink);
  background-color: var(--color-primary-hover, var(--color-accent));
}

.FacilityPage-module__editorTabAdd--hg8NY {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 2rem;
  align-self: center;
  box-sizing: border-box;
  width: 2rem;
  height: 2rem;
  min-width: 2rem;
  min-height: 2rem;
  padding: 0;
  margin: 0;
  line-height: 0;
  cursor: pointer;
}

.FacilityPage-module__editorTabAdd--hg8NY svg {
  display: block;
}

.FacilityPage-module__gridPanelHeader--tClD0 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-3);
}

.FacilityPage-module__gridPanelHeading--Bf21q {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
}

.FacilityPage-module__gridPanelTitle--azWM2 {
  font-size: var(--text-base);
  font-weight: 600;
  color: var(--color-text-primary);
}

.FacilityPage-module__gridPanelMeta--ThF4I {
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
}

.FacilityPage-module__cellLegend--iNS0X {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-1);
}

.FacilityPage-module__cellLegendItem--vOTNf {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: var(--text-xs);
  color: var(--color-text-secondary);
}

.FacilityPage-module__cellLegendSwatch--Loig9 {
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 2px;
  flex-shrink: 0;
}

.FacilityPage-module__cellLegendEmpty--Yx1PU {
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
}

.FacilityPage-module__cellLegendHole--yviaS {
  background: transparent;
  border: 1px dashed var(--color-border);
  opacity: 0.7;
}

.FacilityPage-module__cellProblemMark--JqXkv {
  display: block;
  font-size: 0.85rem;
  font-weight: 800;
  line-height: 1;
  color: #111110;
}

.FacilityPage-module__cellPlaceHint--y8Ik7 {
  outline: 2px solid color-mix(in srgb, var(--color-accent) 70%, transparent);
  outline-offset: -2px;
  background-color: color-mix(in srgb, var(--color-accent) 14%, var(--color-bg-elevated));
  /* Без transition — иначе видно «белый → жёлтый». */
  transition: none;
}

.FacilityPage-module__gridHeader--Pajk_ {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  margin-bottom: var(--space-4);
}

.FacilityPage-module__gridSubtitle--Kp1fh {
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
}

.FacilityPage-module__gridScroll--Q37Hl {
  overflow: auto;
}

.FacilityPage-module__grid--Bef3m {
  display: grid;
  grid-gap: var(--space-1);
  gap: var(--space-1);
  width: -webkit-max-content;
  width: max-content;
}

.FacilityPage-module__cell--EYXNc {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
}

.FacilityPage-module__cellClickable--KBLzO {
  cursor: pointer;
}

.FacilityPage-module__cellClickable--KBLzO:hover {
  border-color: var(--color-primary);
}

.FacilityPage-module__cellOnline--ZWeN9 {
  background-color: var(--color-status-online);
  border-color: transparent;
}

.FacilityPage-module__cellOffline--eH76N {
  background-color: var(--color-status-offline);
  border-color: transparent;
}

.FacilityPage-module__cellWarning--LWB2g {
  background-color: var(--color-status-warning);
  border-color: transparent;
}

.FacilityPage-module__cellProblem--TQhiK {
  background-color: var(--color-status-problem);
  border-color: transparent;
}

.FacilityPage-module__cellPause--s16hd {
  background-color: var(--color-status-paused);
  border-color: transparent;
}

.FacilityPage-module__cellDecommissioned--GxXyX {
  background-color: var(--color-status-decommissioned);
  border-color: transparent;
}

.FacilityPage-module__cellStorage--lzt50 {
  background-color: var(--color-status-storage);
  border-color: transparent;
}

.FacilityPage-module__cellMaintenance--AZZPN {
  background-color: var(--color-status-maintenance);
  border-color: transparent;
}

.FacilityPage-module__cellDropTarget--ds5f6 {
  outline: 2px dashed var(--color-primary);
  outline-offset: -2px;
}

/* «Вырезанная» ячейка (дырка в форме сетки): заглушка тех же размеров, что
   .cell, без фона и с тонким пунктиром — визуально отличается от пустой
   ячейки, но не пропускается, чтобы CSS grid не съезжал. */
.FacilityPage-module__cellHole--lO7U6 {
  width: 2rem;
  height: 2rem;
  padding: 0;
  background: transparent;
  border: 1px dashed var(--color-border);
  border-radius: var(--radius-sm);
  opacity: 0.5;
}

/* Дырка внутри видимого окна при включённом hide_disabled_cells: тех же
   размеров, полностью прозрачная, без рамки. */
.FacilityPage-module__cellVoid--XMBpf {
  width: 2rem;
  height: 2rem;
  padding: 0;
}

.FacilityPage-module__shapeActions--zixJq {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin-top: var(--space-2);
}

.FacilityPage-module__unplacedPanel--K1JDz {
  flex: 0 0 26rem;
  width: 26rem;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  padding: var(--space-4);
  background-color: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
}

.FacilityPage-module__unplacedHeader--y7DtR {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-2);
}

.FacilityPage-module__unplacedTitle--hl_Gn {
  font-weight: 600;
  color: var(--color-text-primary);
  line-height: 1.3;
}

.FacilityPage-module__unplacedCount--ZIDax {
  font-weight: 500;
  color: var(--color-text-secondary);
}

.FacilityPage-module__unplacedHeaderActions--Glwdx {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2);
  width: 100%;
}

.FacilityPage-module__unplacedPrimaryAction--KqZ7L {
  flex: 1 1 auto;
  min-width: 0;
}

.FacilityPage-module__unplacedActionsTrigger--wnB_l {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  flex: 0 0 auto;
  height: 2rem;
  padding: 0 var(--space-3);
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--color-text-primary);
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  white-space: nowrap;
}

.FacilityPage-module__unplacedActionsTrigger--wnB_l:hover,
.FacilityPage-module__unplacedActionsTrigger--wnB_l[aria-expanded='true'] {
  border-color: var(--color-accent-border);
  background-color: color-mix(in srgb, var(--color-accent) 8%, var(--color-bg-elevated));
}

.FacilityPage-module__unplacedFilters--XOevG {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-1);
}

.FacilityPage-module__unplacedFilter--Rh2il {
  padding: 0.3rem 0.65rem;
  font-size: var(--text-xs);
  font-weight: 500;
  color: var(--color-text-secondary);
  background: transparent;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  cursor: pointer;
}

.FacilityPage-module__unplacedFilter--Rh2il:hover {
  color: var(--color-text-primary);
  border-color: var(--color-border-hover);
}

.FacilityPage-module__unplacedFilterActive--sPssT {
  color: var(--color-accent-ink);
  background-color: var(--color-accent);
  border-color: var(--color-accent);
}

.FacilityPage-module__unplacedFilterActive--sPssT:hover {
  color: var(--color-accent-ink);
  background-color: var(--color-primary-hover, var(--color-accent));
}

.FacilityPage-module__unplacedList--a_6bh {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  max-height: 30rem;
  overflow-y: auto;
}

.FacilityPage-module__scrollSentinel--_4LAO {
  height: 1px;
  flex-shrink: 0;
}

.FacilityPage-module__unplacedItem--Qxn0K {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  padding: 0.45rem var(--space-3);
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  font-size: var(--text-sm);
  color: var(--color-text-primary);
}

.FacilityPage-module__unplacedItem--Qxn0K .FacilityPage-module__statusDot--lePkB {
  margin-top: 0.35rem;
}

.FacilityPage-module__unplacedItemDraggable--upwlo {
  cursor: grab;
}

.FacilityPage-module__unplacedItemSelected--QklUb {
  border-color: var(--color-accent);
  background-color: color-mix(in srgb, var(--color-accent) 12%, var(--color-bg-elevated));
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--color-accent) 25%, transparent);
}

.FacilityPage-module__unplacedItemMeta--YCnFv {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
  flex: 1 1 auto;
}

.FacilityPage-module__unplacedItemAction--ghLyM {
  flex: 0 0 auto;
  margin-left: auto;
  align-self: center;
}

.FacilityPage-module__unplacedTitleRow--z2iLJ {
  display: flex;
  align-items: baseline;
  gap: var(--space-2);
  min-width: 0;
}

.FacilityPage-module__unplacedModel--ypq3S {
  flex: 1 1 auto;
  min-width: 0;
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.FacilityPage-module__unplacedStatus--ZNrOO {
  flex: 0 0 auto;
  font-size: var(--text-xs);
  color: var(--color-text-secondary);
  white-space: nowrap;
}

.FacilityPage-module__unplacedIp--YnZ9q {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  color: var(--color-text-secondary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.FacilityPage-module__unplacedMac--hTvvV {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  color: var(--color-text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.FacilityPage-module__unplacedSerialToggle--nBKvi {
  display: block;
  max-width: 100%;
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  line-height: inherit;
  color: var(--color-text-muted);
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
}

.FacilityPage-module__unplacedSerialToggle--nBKvi:hover {
  color: var(--color-text-secondary);
  -webkit-text-decoration: underline;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.FacilityPage-module__unplacedSerialLabel--Qev65 {
  font-family: inherit;
}

.FacilityPage-module__statusDot--lePkB {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  flex-shrink: 0;
}

.FacilityPage-module__dotOnline--rvKKP {
  background-color: var(--color-status-online);
}

.FacilityPage-module__dotOffline--hwFwZ {
  background-color: var(--color-status-offline);
}

.FacilityPage-module__dotWarning--c_is6 {
  background-color: var(--color-status-warning);
}

.FacilityPage-module__dotProblem--tMdES {
  background-color: var(--color-status-problem);
}

.FacilityPage-module__dotPause--hPntM {
  background-color: var(--color-status-paused);
}

.FacilityPage-module__dotDecommissioned--wuDma {
  background-color: var(--color-status-decommissioned);
}

.FacilityPage-module__dotStorage--lAgJy {
  background-color: var(--color-status-storage);
}

.FacilityPage-module__dotMaintenance--ZtbrZ {
  background-color: var(--color-status-maintenance);
}

.FacilityPage-module__deviceInfo--U3NiI {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  font-size: var(--text-sm);
  color: var(--color-text-primary);
}

.FacilityPage-module__deviceInfoCard--U9Ivx {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  padding: var(--space-3);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background-color: var(--color-bg-elevated);
}

.FacilityPage-module__deviceInfoHeaderTop--iwKe3 {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  width: 100%;
}

.FacilityPage-module__deviceInfoHeaderIcon--sRgYl {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  flex-shrink: 0;
  border-radius: var(--radius-md);
  background-color: color-mix(in srgb, var(--color-bg-surface) 70%, var(--color-primary) 30%);
  color: var(--color-primary);
}

.FacilityPage-module__deviceInfoHeaderBody--gr2o5 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-2);
  flex: 1;
  min-width: 0;
}

.FacilityPage-module__deviceInfoModel--driCd {
  font-size: var(--text-base);
  font-weight: 600;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.FacilityPage-module__deviceInfoMenu--iISJO {
  flex-shrink: 0;
  margin: calc(-1 * var(--space-1)) calc(-1 * var(--space-1)) 0 0;
}

.FacilityPage-module__deviceInfoMenuTrigger--bvvsk {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  color: var(--color-text-secondary);
  border-radius: var(--radius-md);
}

.FacilityPage-module__deviceInfoMenuTrigger--bvvsk:hover,
.FacilityPage-module__deviceInfoMenuTrigger--bvvsk[aria-expanded='true'] {
  color: var(--color-text-primary);
  background-color: var(--color-bg-surface);
}

.FacilityPage-module__deviceInfoList--gnRJE {
  display: flex;
  flex-direction: column;
}

.FacilityPage-module__deviceInfoRow--q7R4L {
  display: grid;
  grid-template-columns: minmax(11.5rem, 42%) 1fr;
  align-items: center;
  grid-gap: var(--space-3);
  gap: var(--space-3);
  min-height: 2rem;
  padding: 0.35rem 0;
  border-top: 1px solid color-mix(in srgb, var(--color-border) 70%, transparent);
}

.FacilityPage-module__deviceInfoRow--q7R4L:first-child {
  border-top: none;
  padding-top: 0;
}

.FacilityPage-module__deviceInfoRow--q7R4L:last-child {
  padding-bottom: 0;
}

.FacilityPage-module__deviceInfoLabel--czh_k {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  white-space: nowrap;
}

.FacilityPage-module__deviceInfoHint--ejEJ5 {
  display: inline-flex;
  color: var(--color-text-muted);
  cursor: help;
}

.FacilityPage-module__deviceInfoHint--ejEJ5:hover {
  color: var(--color-text-secondary);
}

.FacilityPage-module__deviceInfoEditValue--PxIzD {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.3rem;
  min-width: 0;
  width: 100%;
}

.FacilityPage-module__deviceInfoEditValue--PxIzD input {
  text-align: right;
}

.FacilityPage-module__deviceInfoValue--rE3rx {
  display: flex;
  justify-content: flex-end;
  min-width: 0;
  font-family: var(--font-mono);
  text-align: right;
  overflow-wrap: anywhere;
}

.FacilityPage-module__deviceInfoValuePlain--LuUjN {
  font-family: inherit;
}

.FacilityPage-module__deviceModal--bBRyd {
  max-width: 30rem;
}

.FacilityPage-module__deviceModalFooter--D102c {
  width: 100%;
}

.FacilityPage-module__deviceModalFooter--D102c > * {
  width: 100%;
}

/* Простая строка (модалка «Разместить устройство»). */
.FacilityPage-module__deviceInfoPlainRow--F7Xxk {
  display: flex;
  justify-content: space-between;
  gap: var(--space-4);
  font-size: var(--text-sm);
}

.FacilityPage-module__deviceInfoPlainRow--F7Xxk .FacilityPage-module__deviceInfoLabel--czh_k {
  color: var(--color-text-secondary);
}

.FacilityPage-module__deviceInfoPlainRow--F7Xxk .FacilityPage-module__deviceInfoValue--rE3rx {
  font-family: var(--font-mono);
  text-align: right;
  overflow-wrap: anywhere;
}

.FacilityPage-module__layoutLoading--vLWUT {
  display: flex;
  justify-content: center;
  padding: var(--space-8);
}

.FacilityPage-module__layoutError--oxgGZ {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-8);
  color: var(--color-text-muted);
}

.FacilityPage-module__hint--PoEAl {
  font-size: var(--text-xs);
  color: var(--color-text-secondary);
}

.ClientDetailPage-module__back--quIeL {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  margin-bottom: var(--space-4);
  padding: 0;
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--color-text-secondary);
  background: none;
  border: none;
  cursor: pointer;
}

.ClientDetailPage-module__back--quIeL:hover {
  color: var(--color-text-primary);
}

.ClientDetailPage-module__header--B8aBY {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-4);
  margin-bottom: var(--space-6);
  flex-wrap: wrap;
}

.ClientDetailPage-module__headerActions--B1V7R {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: var(--space-2);
}

.ClientDetailPage-module__titleBlock--AmUAN {
  min-width: 0;
}

.ClientDetailPage-module__titleRow--tXvAn {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  flex-wrap: wrap;
}

.ClientDetailPage-module__title--QsW7n {
  margin: 0;
  font-size: var(--text-2xl);
  font-weight: 700;
  color: var(--color-text-primary);
}

.ClientDetailPage-module__email--WlqZ3 {
  margin-top: var(--space-2);
  color: var(--color-text-secondary);
}

.ClientDetailPage-module__stats--TQYMB {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr));
  grid-gap: var(--space-4);
  gap: var(--space-4);
  margin-bottom: var(--space-6);
}

.ClientDetailPage-module__stat--T5_Hh {
  padding: var(--space-4);
  background-color: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
}

.ClientDetailPage-module__statLabel--oIpzE {
  margin-bottom: var(--space-2);
  font-size: var(--text-xs);
  font-weight: 600;
  color: var(--color-text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.ClientDetailPage-module__statValue--n4uBB {
  font-size: var(--text-xl);
  font-weight: 700;
  color: var(--color-text-primary);
}

.ClientDetailPage-module__grid--TH26y {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: var(--space-4);
  gap: var(--space-4);
  margin-bottom: var(--space-4);
}

.ClientDetailPage-module__grid--TH26y .ClientDetailPage-module__section--NG3Lr {
  margin-bottom: 0;
}

.ClientDetailPage-module__section--NG3Lr {
  min-width: 0;
  margin-bottom: var(--space-4);
  padding: var(--space-5);
  background-color: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
}

.ClientDetailPage-module__sectionTitle--V04tj {
  margin: 0 0 var(--space-4);
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-text-primary);
}

.ClientDetailPage-module__fields--wO3pn {
  display: grid;
  grid-template-columns: 10rem 1fr;
  grid-gap: var(--space-3) var(--space-4);
  gap: var(--space-3) var(--space-4);
  align-items: start;
}

.ClientDetailPage-module__fieldLabel--i2cSz {
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--color-text-secondary);
}

.ClientDetailPage-module__fieldValue--UNDYe {
  min-width: 0;
  font-size: var(--text-sm);
  color: var(--color-text-primary);
  word-break: break-word;
}

.ClientDetailPage-module__required--Nbeag {
  margin-left: var(--space-1);
  color: var(--color-status-error);
}

.ClientDetailPage-module__inlineInput--_v06e {
  width: 100%;
  padding: var(--space-2) var(--space-3);
  font: inherit;
  font-size: var(--text-sm);
  color: var(--color-text-primary);
  background-color: var(--color-bg-input);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  outline: none;
}

.ClientDetailPage-module__inlineInput--_v06e:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px var(--color-focus-ring);
}

.ClientDetailPage-module__addressRow--LkbxN {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin-bottom: var(--space-2);
}

.ClientDetailPage-module__addressRow--LkbxN .ClientDetailPage-module__inlineInput--_v06e {
  flex: 1;
}

.ClientDetailPage-module__chips--xbf9L {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.ClientDetailPage-module__chip--GsCZ0 {
  display: inline-flex;
  align-items: center;
  height: 1.75rem;
  padding: 0 var(--space-3);
  font-size: 12px;
  font-weight: 600;
  color: var(--color-text-primary);
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: 6px;
}

.ClientDetailPage-module__muted--pk0TZ {
  color: var(--color-text-muted);
}

.ClientDetailPage-module__sectionHead--nvlqg {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
}

.ClientDetailPage-module__sectionHead--nvlqg .ClientDetailPage-module__sectionTitle--V04tj {
  margin: 0;
}

.ClientDetailPage-module__deviceToolbar--E7Nbr {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin: 0 0 var(--space-3);
}

.ClientDetailPage-module__deviceSearch--flKOb {
  flex: 1 1 16rem;
  min-width: 0;
  max-width: 100%;
}

@media (max-width: 900px) {
  .ClientDetailPage-module__grid--TH26y {
    grid-template-columns: 1fr;
  }

  .ClientDetailPage-module__fields--wO3pn {
    grid-template-columns: 1fr;
    gap: var(--space-1);
  }
}

.AssignClientMenu-module__root--Jqb2V {
  display: contents;
}

.AssignClientMenu-module__panel--Dk6YX {
  width: min(22rem, calc(100vw - 1.5rem));
}

.AssignClientMenu-module__search--p9VOH {
  width: 100%;
  height: 2.25rem;
  margin-bottom: 2px;
  padding: 0 var(--space-3);
  color: var(--color-text-primary);
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  outline: none;
  font-size: var(--text-sm);
  font-family: inherit;
}

.AssignClientMenu-module__search--p9VOH::placeholder {
  color: var(--color-text-muted);
}

.AssignClientMenu-module__search--p9VOH:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px var(--color-focus-ring);
}

.AssignClientMenu-module__listbox--qoD9X {
  display: flex;
  flex-direction: column;
  gap: 2px;
  max-height: 18rem;
  overflow-y: auto;
}

.AssignClientMenu-module__item--HLFOz {
  justify-content: space-between;
}

.AssignClientMenu-module__item--HLFOz:disabled {
  cursor: not-allowed;
  opacity: 0.65;
}

.AssignClientMenu-module__itemUnassigned--f1OiW {
  color: var(--color-text-secondary);
}

.AssignClientMenu-module__itemUnassigned--f1OiW.AssignClientMenu-module__itemActive--r5J9J,
.AssignClientMenu-module__itemUnassigned--f1OiW:hover {
  color: var(--color-text-primary);
}

.AssignClientMenu-module__itemActive--r5J9J {
  background-color: var(--color-surface-hover);
}

.AssignClientMenu-module__itemLabel--qXN92 {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.AssignClientMenu-module__itemCheck--c4FQ5 {
  flex-shrink: 0;
  color: var(--color-text-secondary);
}

.AssignClientMenu-module__hint--dxnWC {
}

.AutomationPage-module__dayChips--IZr0b {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.AutomationPage-module__dayChip--tNBdo {
  padding: var(--space-1) var(--space-3);
  font-size: var(--text-sm);
  color: var(--color-text-primary);
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  cursor: pointer;
}

.AutomationPage-module__dayChipActive--RvN8q {
  color: #ffffff;
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}

.AutomationPage-module__radioGroup--oDN0g {
  display: flex;
  gap: var(--space-4);
}

.AutomationPage-module__radioItem--wFccx {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-sm);
  color: var(--color-text-primary);
}

.AutomationPage-module__radioItem--wFccx input[type='radio'] {
  accent-color: var(--color-primary);
}

.AutomationPage-module__staticValue--BW_8k {
  padding: var(--space-2) var(--space-3);
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}

.AutomationPage-module__actionCard--uADLP {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-3);
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}

.AutomationPage-module__actionHeader--QNQZe {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
}

.AutomationPage-module__pickerDialog--dvaCN {
  max-width: 72rem;
}

.AutomationPage-module__chips--uCjh6 {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.AutomationPage-module__chip--pXchH {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  padding: var(--space-1) var(--space-2);
  font-size: var(--text-sm);
  color: var(--color-text-primary);
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}

.AutomationPage-module__chipRemove--cQUWI {
  display: inline-flex;
  align-items: center;
  padding: 0;
  color: var(--color-text-secondary);
  background: none;
  border: none;
  cursor: pointer;
}

.AutomationPage-module__chipRemove--cQUWI:hover {
  color: var(--color-text-primary);
}

.AutomationPage-module__chipMore--giBXV {
  display: inline-flex;
  align-items: center;
  padding: var(--space-1) var(--space-2);
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
}

/* Модалка превью — почти на весь экран: таблица с днями широкая. */
.ReportsPage-module__previewDialog--QbHu6 {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: calc(100vw - var(--space-8));
  max-height: calc(100dvh - var(--space-8));
  min-width: 0;
  /* Перебиваем Modal .dialog { overflow-y: auto }, иначе скролл уезжает с таблицы. */
  overflow: hidden !important;
}

.ReportsPage-module__previewBody--JTrpV {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}

.ReportsPage-module__previewToolbar--QHpWj {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  flex-shrink: 0;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
}

.ReportsPage-module__previewToolbar--QHpWj > * {
  margin-bottom: 0;
}

.ReportsPage-module__previewSearch--nf2jX {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: var(--space-2) var(--space-3);
  min-width: min(100%, 14rem);
  flex: 0 1 18rem;
}

.ReportsPage-module__previewSearchField--D2HA9 {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  min-width: 0;
  flex: 1 1 12rem;
}

.ReportsPage-module__previewSearchLabel--IrpvE {
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--color-text-secondary);
}

.ReportsPage-module__previewSearchControl--D54dM {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  height: 2.25rem;
  min-width: 11.5rem;
  padding: 0 var(--space-3);
  color: var(--color-text-primary);
  background-color: var(--color-bg-input);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  transition:
    border-color 0.22s ease, box-shadow 0.22s ease, background-color 0.22s ease;
}

.ReportsPage-module__previewSearchControl--D54dM:hover {
  border-color: var(--color-accent-border);
  box-shadow: 0 0 0 1px var(--color-accent-soft), 0 10px 28px rgba(245, 166, 35, 0.08);
}

.ReportsPage-module__previewSearchControl--D54dM:focus-within {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px var(--color-focus-ring), 0 12px 28px rgba(245, 166, 35, 0.14);
}

.ReportsPage-module__previewSearchIcon--eGtnh {
  flex-shrink: 0;
  color: var(--color-text-secondary);
}

.ReportsPage-module__previewSearchInput--pDGr3 {
  flex: 1 1 auto;
  min-width: 0;
  height: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--color-text-primary);
  font: inherit;
  font-size: var(--text-sm);
}

.ReportsPage-module__previewSearchInput--pDGr3:focus,
.ReportsPage-module__previewSearchInput--pDGr3:focus-visible {
  outline: none;
  box-shadow: none;
}

.ReportsPage-module__previewSearchInput--pDGr3::placeholder {
  color: var(--color-text-muted);
}

.ReportsPage-module__previewSearchInput--pDGr3::-webkit-search-decoration,
.ReportsPage-module__previewSearchInput--pDGr3::-webkit-search-cancel-button {
  -webkit-appearance: none;
          appearance: none;
}

.ReportsPage-module__previewSearchInput--pDGr3:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.ReportsPage-module__previewSearchMeta--fJnM0 {
  padding-bottom: 0.55rem;
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  white-space: nowrap;
}

.ReportsPage-module__searchMatchRow--fbv9O td {
  background-color: color-mix(in srgb, var(--color-accent) 10%, var(--color-bg-surface));
}

.ReportsPage-module__searchMatchRowActive--uG2qr td {
  background-color: color-mix(in srgb, var(--color-accent) 22%, var(--color-bg-surface));
  box-shadow: inset 3px 0 0 var(--color-accent);
}

.ReportsPage-module__table--ARYp2 tr.ReportsPage-module__workerRow--Tg0fd.ReportsPage-module__searchMatchRow--fbv9O td,
.ReportsPage-module__table--ARYp2 tr.ReportsPage-module__workerRow--Tg0fd.ReportsPage-module__searchMatchRow--fbv9O td.ReportsPage-module__stickyCol--bQJY3 {
  background-color: color-mix(in srgb, var(--color-accent) 10%, var(--color-bg-elevated));
}

.ReportsPage-module__table--ARYp2 tr.ReportsPage-module__workerRow--Tg0fd.ReportsPage-module__searchMatchRowActive--uG2qr td,
.ReportsPage-module__table--ARYp2 tr.ReportsPage-module__workerRow--Tg0fd.ReportsPage-module__searchMatchRowActive--uG2qr td.ReportsPage-module__stickyCol--bQJY3 {
  background-color: color-mix(in srgb, var(--color-accent) 22%, var(--color-bg-elevated));
}

/* fixed: ширина таблицы задаётся inline как сумма ширин колонок, иначе
   липкие смещения (left) разъедутся с реальными ширинами при ресайзе. */
.ReportsPage-module__table--ARYp2 {
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  font-size: var(--text-sm);
}

.ReportsPage-module__table--ARYp2 th,
.ReportsPage-module__table--ARYp2 td {
  padding: var(--space-3) var(--space-4);
  text-align: left;
  border-bottom: 1px solid var(--color-border);
  white-space: nowrap;
}

.ReportsPage-module__table--ARYp2 th {
  font-weight: 600;
  color: var(--color-text-secondary);
  background-color: var(--color-bg-elevated);
  text-transform: uppercase;
  font-size: var(--text-xs);
  letter-spacing: 0.05em;
}

/* Шапка прилипает при вертикальном скролле внутри модалки. */
.ReportsPage-module__table--ARYp2 thead th {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 2;
}

.ReportsPage-module__table--ARYp2 tr:last-child td {
  border-bottom: none;
}

.ReportsPage-module__dayCell--Czlmv {
  text-align: right;
  font-family: var(--font-mono);
  /* Значения округлены до 3 знаков, но всё равно могут не влезть: при
     fixed layout обрезаем, ширину колонки юзер меняет грипом в шапке
     (общую для всех дней). */
  overflow: hidden;
}

/* Дневные ячейки редактируются кликом (inline-инпут). */
.ReportsPage-module__dayCellEditable--WSIEG {
  cursor: cell;
}

.ReportsPage-module__dayCellEditable--WSIEG:hover {
  background-color: var(--color-bg-elevated);
}

/* Подсветка ячеек, изменённых в рабочей копии. */
.ReportsPage-module__dayCellEdited--dY3gx {
  color: var(--color-status-warning);
}

.ReportsPage-module__dayInput--jj3NX {
  width: 100%;
  padding: var(--space-1) var(--space-2);
  font: inherit;
  text-align: right;
  color: var(--color-text-primary);
  background-color: var(--color-bg-base);
  border: 1px solid var(--color-primary);
  border-radius: var(--radius-sm);
}

.ReportsPage-module__totalCell--nx49w {
  text-align: right;
  font-family: var(--font-mono);
  font-weight: 600;
  overflow: hidden;
}

/* Заголовок секции алгоритма (hashrate). */
.ReportsPage-module__sectionHeader--YRKvV {
  font-weight: 600;
  color: var(--color-text-primary);
  background-color: var(--color-bg-elevated);
}

/* Липкие колонки устройства: left приезжает inline (сумма текущих ширин
   колонок слева), ширина меняется грипом ResizableTh в шапке. Для th
   position: sticky уже задан правилом `.table thead th` выше — оно по
   специфичности перебивает position: relative из ResizableTh. */
td.ReportsPage-module__stickyCol--bQJY3 {
  position: -webkit-sticky;
  position: sticky;
  background-color: var(--color-bg-surface);
  z-index: 1;
}

/* Специфичность выше, чем у `.table thead th` (z-index: 2): иначе дневные
   заголовки шапки при горизонтальном скролле рисуются поверх липких. */
.ReportsPage-module__table--ARYp2 thead th.ReportsPage-module__stickyCol--bQJY3 {
  z-index: 3;
}

/* Граница между липким блоком и днями — на последней липкой колонке
   (алгоритм у hashrate, иначе клиент). */
.ReportsPage-module__stickyColLast--bNIZM {
  border-right: 1px solid var(--color-border);
}

/* Контент липких ячеек обрезается многоточием: ширину колонки задаёт грип
   в шапке, ячейка колонку не расталкивает (table-layout: fixed). */
.ReportsPage-module__cellContent--CduC0 {
  overflow: hidden;
  text-overflow: ellipsis;
}

.ReportsPage-module__macContent--LSVdO {
  font-family: var(--font-mono);
}

.ReportsPage-module__hint--U07GJ {
  flex-shrink: 0;
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  margin: 0 0 var(--space-3);
}

.ReportsPage-module__selectionPreview--s_5nf {
  margin: var(--space-4) 0 0;
  padding: var(--space-3) var(--space-4);
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--color-text-secondary);
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}

.ReportsPage-module__generateBar--HwOzE {
  display: flex;
  justify-content: flex-end;
  margin-top: var(--space-4);
  padding-top: var(--space-3);
  border-top: 1px solid var(--color-border);
}

.ReportsPage-module__sectionHeaderStart--f4u88 {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  min-width: 0;
}

.ReportsPage-module__typeSwitch--d7IUp {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-gap: var(--space-2);
  gap: var(--space-2);
  width: 100%;
  margin: var(--space-1) 0 var(--space-4);
  padding: var(--space-1);
  background-color: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
}

.ReportsPage-module__typeBtn--dDhXO {
  -webkit-appearance: none;
          appearance: none;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  min-width: 0;
  padding: var(--space-3) var(--space-4);
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  background: transparent;
  color: var(--color-text-secondary);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition:
    background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.ReportsPage-module__typeBtn--dDhXO:hover {
  background-color: var(--color-bg-elevated);
  color: var(--color-text-primary);
}

.ReportsPage-module__typeBtnActive--aRuKt,
.ReportsPage-module__typeBtnActive--aRuKt:hover {
  background-color: color-mix(in srgb, var(--color-accent) 12%, var(--color-bg-surface));
  border-color: var(--color-accent);
  color: var(--color-accent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--color-accent) 35%, transparent);
}

.ReportsPage-module__typeName--oDhJV {
  font-size: var(--text-sm);
  font-weight: 650;
  line-height: 1.3;
}

.ReportsPage-module__typeDesc--EKG3m {
  font-size: var(--text-xs);
  color: var(--color-text-muted);
  line-height: 1.3;
}

.ReportsPage-module__typeBtnActive--aRuKt .ReportsPage-module__typeName--oDhJV {
  color: var(--color-accent);
}

.ReportsPage-module__typeBtnActive--aRuKt .ReportsPage-module__typeDesc--EKG3m {
  color: var(--color-accent);
  opacity: 0.85;
}

@media (max-width: 640px) {
  .ReportsPage-module__typeSwitch--d7IUp {
    grid-template-columns: 1fr;
  }
}

.ReportsPage-module__paramsRow--hQ8Nv {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: var(--space-4) var(--space-5);
}

.ReportsPage-module__paramsField--Q2Ws6 {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  min-width: 0;
}

.ReportsPage-module__paramsLabel--lq14A {
  font-size: var(--text-xs);
  font-weight: 600;
  color: var(--color-text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.ReportsPage-module__optionCheck--yXFWG {
  display: inline-flex;
  align-items: flex-start;
  gap: var(--space-3);
  max-width: 18rem;
  margin-left: auto;
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background-color: var(--color-bg-elevated);
  color: var(--color-text-secondary);
  cursor: pointer;
  -webkit-user-select: none;
          user-select: none;
  transition:
    background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.ReportsPage-module__optionCheck--yXFWG:hover {
  color: var(--color-text-primary);
  border-color: color-mix(in srgb, var(--color-border) 60%, var(--color-text-secondary));
}

.ReportsPage-module__optionCheckActive--_8j99,
.ReportsPage-module__optionCheckActive--_8j99:hover {
  color: var(--color-text-primary);
  border-color: var(--color-accent);
  background-color: color-mix(in srgb, var(--color-accent) 12%, var(--color-bg-surface));
}

.ReportsPage-module__optionCheck--yXFWG input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  pointer-events: none;
}

.ReportsPage-module__optionCheckBox--xX1Ct {
  flex-shrink: 0;
  width: 1.125rem;
  height: 1.125rem;
  margin-top: 0.1rem;
  border: 1.5px solid var(--color-border);
  border-radius: 0.3rem;
  background-color: var(--color-bg-surface);
  box-shadow: inset 0 0 0 1px transparent;
  transition:
    background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.ReportsPage-module__optionCheckActive--_8j99 .ReportsPage-module__optionCheckBox--xX1Ct {
  border-color: var(--color-accent);
  background-color: var(--color-accent);
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27none%27%3E%3Cpath d=%27M3.5 8.2L6.4 11l6.1-7%27 stroke=%27%23fff%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E");
  background-size: 0.85rem 0.85rem;
  background-position: center;
  background-repeat: no-repeat;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--color-accent) 35%, transparent);
}

.ReportsPage-module__optionCheckText--ctyAy {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.ReportsPage-module__optionCheckTitle--uTRSC {
  font-size: var(--text-sm);
  font-weight: 600;
  line-height: 1.3;
  color: var(--color-text-primary);
}

.ReportsPage-module__optionCheckActive--_8j99 .ReportsPage-module__optionCheckTitle--uTRSC {
  color: var(--color-accent);
}

.ReportsPage-module__optionCheckDesc--R57Xy {
  font-size: var(--text-xs);
  line-height: 1.35;
  color: var(--color-text-muted);
}

.ReportsPage-module__resolutionSwitch--vAeWH {
  display: flex;
  flex-shrink: 0;
  height: 2.25rem;
  padding: 3px;
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}

.ReportsPage-module__resolutionBtn--iLQ2Z {
  padding: var(--space-1) var(--space-3);
  color: var(--color-text-secondary);
  background: none;
  border: none;
  border-radius: calc(var(--radius-md) - 2px);
  font-size: var(--text-sm);
  line-height: 1.4;
  white-space: nowrap;
  cursor: pointer;
}

.ReportsPage-module__resolutionBtn--iLQ2Z:hover:not(:disabled) {
  color: var(--color-text-primary);
}

.ReportsPage-module__resolutionBtnActive--_bQoC,
.ReportsPage-module__resolutionBtnActive--_bQoC:hover:not(:disabled) {
  color: var(--color-text-primary);
  background-color: var(--color-bg-surface);
  box-shadow: var(--shadow-sm);
}

.ReportsPage-module__resolutionBtn--iLQ2Z:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

/* Родитель с историей: тот же кегль, чуть жирнее. */
.ReportsPage-module__table--ARYp2 tr.ReportsPage-module__parentRow--CEvhN td {
  font-weight: 600;
}

/* Дочерняя строка воркера — как в Monito: серый фон, обычный шрифт. */
.ReportsPage-module__table--ARYp2 tr.ReportsPage-module__workerRow--Tg0fd td {
  font-weight: 400;
  color: var(--color-text-secondary);
  background-color: var(--color-bg-elevated);
}

.ReportsPage-module__table--ARYp2 tr.ReportsPage-module__workerRow--Tg0fd td.ReportsPage-module__stickyCol--bQJY3 {
  background-color: var(--color-bg-elevated);
}

.ReportsPage-module__table--ARYp2 tr.ReportsPage-module__workerRow--Tg0fd td.ReportsPage-module__totalCell--nx49w {
  font-weight: 400;
}

.ReportsPage-module__workerToggle--Mt4L_ {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  margin-right: var(--space-1);
  padding: 0;
  color: var(--color-text-secondary);
  background: none;
  border: none;
  border-radius: var(--radius-sm);
}

.ReportsPage-module__workerToggle--Mt4L_:hover {
  color: var(--color-text-primary);
  background-color: var(--color-bg-base);
}

.ReportsPage-module__deviceCell--kZHEu {
  display: flex;
  align-items: center;
  min-width: 0;
}

.ReportsPage-module__exportBar--WlA1U {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-3);
}

.ReportsPage-module__exportLabel--M8uYi {
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--color-text-secondary);
}

/* Сегментированный выбор формата экспорта (radio-группа). */
.ReportsPage-module__formatGroup--ps_6U {
  display: flex;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  overflow: hidden;
}

.ReportsPage-module__formatOption--vEc_m {
  padding: var(--space-1) var(--space-3);
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  background-color: var(--color-bg-surface);
}

.ReportsPage-module__formatOption--vEc_m + .ReportsPage-module__formatOption--vEc_m {
  border-left: 1px solid var(--color-border);
}

.ReportsPage-module__formatOption--vEc_m:hover {
  color: var(--color-text-primary);
  background-color: var(--color-bg-elevated);
}

.ReportsPage-module__formatOptionActive--BX9Xw,
.ReportsPage-module__formatOptionActive--BX9Xw:hover {
  color: var(--color-accent-ink);
  background-color: var(--color-primary);
}

.ReportsPage-module__deviceSearch--CWjic {
  width: 100%;
  max-width: none;
  margin-bottom: var(--space-3);
}

@media (max-width: 720px) {
  .ReportsPage-module__previewDialog--QbHu6 {
    max-width: 100%;
  }

  .ReportsPage-module__previewToolbar--QHpWj,
  .ReportsPage-module__exportBar--WlA1U {
    align-items: stretch;
  }

  .ReportsPage-module__optionCheck--yXFWG {
    margin-left: 0;
    max-width: none;
    width: 100%;
  }
}

.FnsReportsPage-module__banner--rZ0r4 {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-3);
  margin-bottom: var(--space-5);
  padding: var(--space-3) var(--space-4);
  background: var(--color-accent-soft);
  border: 1px solid var(--color-accent-border);
  border-radius: var(--radius-lg);
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
}

.FnsReportsPage-module__staffPlaceholder--tzhft {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-3);
  box-sizing: border-box;
  width: 100%;
  min-height: calc(100dvh - 10rem);
  padding: var(--space-6);
  text-align: center;
}

.FnsReportsPage-module__staffPlaceholderTitle--TDKZM {
  margin: 0;
  max-width: 36rem;
  font-size: var(--text-xl);
  font-weight: 600;
  color: var(--color-text-primary);
}

.FnsReportsPage-module__staffPlaceholderText--samEA {
  margin: 0;
  max-width: 32rem;
  font-size: var(--text-sm);
  line-height: 1.5;
  color: var(--color-text-secondary);
}

.FnsReportsPage-module__bannerStrong--klEvP {
  color: var(--color-primary);
  font-weight: 600;
}

.FnsReportsPage-module__wizardHeader--MoUvv {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-3);
  margin-bottom: var(--space-5);
}

.FnsReportsPage-module__stepper--D1jJ2 {
  display: flex;
  align-items: flex-start;
  width: 100%;
  flex: 1;
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.FnsReportsPage-module__stepItem--_kUrn {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  position: relative;
  min-width: 0;
}

.FnsReportsPage-module__stepItem--_kUrn:not(:last-child)::after {
  content: '';
  position: absolute;
  top: 0.9rem;
  left: calc(50% + 1rem);
  right: calc(-50% + 1rem);
  height: 2px;
  background: var(--color-border);
  z-index: 0;
}

.FnsReportsPage-module__stepItemDone--qPV6z:not(:last-child)::after,
.FnsReportsPage-module__stepItemCurrent--KFuUX:not(:last-child)::after {
  background: var(--color-primary);
}

.FnsReportsPage-module__stepHit--OPNer {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-2);
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: default;
  max-width: 100%;
}

.FnsReportsPage-module__stepHitClickable--ZdMcG {
  cursor: pointer;
}

.FnsReportsPage-module__stepHitClickable--ZdMcG:hover .FnsReportsPage-module__stepDot--c5PSN {
  box-shadow: 0 0 0 3px var(--color-accent-soft);
}

.FnsReportsPage-module__stepDot--c5PSN {
  position: relative;
  z-index: 1;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 999px;
  display: grid;
  place-items: center;
  font-size: 0.75rem;
  font-weight: 700;
  border: 2px solid var(--color-border);
  background: var(--color-bg-elevated);
  color: var(--color-text-muted);
}

.FnsReportsPage-module__stepItemDone--qPV6z .FnsReportsPage-module__stepDot--c5PSN {
  border-color: var(--color-status-online, #22c55e);
  background: var(--color-status-online, #22c55e);
  color: #fff;
}

.FnsReportsPage-module__stepItemCurrent--KFuUX .FnsReportsPage-module__stepDot--c5PSN {
  border-color: var(--color-primary);
  background: var(--color-primary);
  color: var(--color-accent-ink);
}

.FnsReportsPage-module__stepCaption--LgVJg {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-1);
  text-align: center;
}

.FnsReportsPage-module__stepIndex--CFfma {
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-text-muted);
}

.FnsReportsPage-module__stepItemCurrent--KFuUX .FnsReportsPage-module__stepIndex--CFfma,
.FnsReportsPage-module__stepItemDone--qPV6z .FnsReportsPage-module__stepIndex--CFfma {
  color: var(--color-text-secondary);
}

.FnsReportsPage-module__stepTitle--AlHTY {
  font-size: var(--text-xs);
  font-weight: 500;
  color: var(--color-text-muted);
  line-height: 1.3;
}

.FnsReportsPage-module__stepItemCurrent--KFuUX .FnsReportsPage-module__stepTitle--AlHTY {
  color: var(--color-text-primary);
}

.FnsReportsPage-module__stepItemDone--qPV6z .FnsReportsPage-module__stepTitle--AlHTY {
  color: var(--color-text-secondary);
}

.FnsReportsPage-module__stepStatus--HojKg {
  display: inline-flex;
  align-items: center;
  padding: 0.1rem 0.45rem;
  border-radius: 999px;
  font-size: 0.65rem;
  font-weight: 600;
  line-height: 1.2;
  border: 1px solid transparent;
}

.FnsReportsPage-module__stepStatusDone--QTbOG {
  background: rgba(34, 197, 94, 0.15);
  color: var(--color-status-online, #22c55e);
  border-color: rgba(34, 197, 94, 0.35);
}

.FnsReportsPage-module__stepStatusCurrent--wrQ6R {
  background: var(--color-accent-soft);
  color: var(--color-primary);
  border-color: var(--color-accent-border);
}

.FnsReportsPage-module__stepStatusPending--fbtjt {
  background: var(--color-bg-elevated);
  color: var(--color-text-muted);
  border-color: var(--color-border);
}

.FnsReportsPage-module__stats--alvwW {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  grid-gap: var(--space-3);
  gap: var(--space-3);
  margin-bottom: var(--space-4);
}

.FnsReportsPage-module__stat--iKQvU {
  padding: var(--space-4);
  background: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
}

.FnsReportsPage-module__statLabel--r4pUe {
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-text-secondary);
}

.FnsReportsPage-module__statValue--yMfU1 {
  margin-top: var(--space-1);
  font-family: var(--font-mono);
  font-size: var(--text-xl);
  font-weight: 700;
  color: var(--color-text-primary);
}

.FnsReportsPage-module__panel--AAynD {
  margin-bottom: var(--space-4);
  padding: var(--space-4);
  background: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
}

.FnsReportsPage-module__panelTitle--qKyCm {
  margin: 0 0 var(--space-3);
  font-size: var(--text-base);
  font-weight: 600;
  color: var(--color-text-primary);
}

.FnsReportsPage-module__formGrid--H4O5k {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
  grid-gap: var(--space-4);
  gap: var(--space-4);
  align-items: start;
}

.FnsReportsPage-module__readonlyField--lm8R0 {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 3.5rem;
  padding: 1.45rem var(--space-3) 0.6rem;
  box-sizing: border-box;
  background-color: var(--color-bg-input);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}

.FnsReportsPage-module__readonlyLabel--hUA46 {
  position: absolute;
  left: var(--space-3);
  top: 0.38rem;
  font-size: calc(var(--text-sm) * 0.82);
  font-weight: 500;
  color: var(--color-text-secondary);
  line-height: 1.2;
}

.FnsReportsPage-module__readonlyText--yP34A {
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--color-text-primary);
  line-height: 1.3;
}

.FnsReportsPage-module__hint--QP5_M {
  margin: 0;
  font-size: var(--text-xs);
  color: var(--color-text-muted);
  line-height: 1.4;
}

.FnsReportsPage-module__hintWarn--F23Ml {
  color: var(--color-status-warning, var(--color-primary));
}

.FnsReportsPage-module__hoursInput--QK4rO {
  width: 5.5rem;
  max-width: 100%;
}

.FnsReportsPage-module__sub--eF4NV {
  display: block;
  margin-top: 0.15rem;
  font-size: var(--text-xs);
  color: var(--color-text-muted);
  font-family: var(--font-mono);
}

.FnsReportsPage-module__footer--i99Qo {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--space-3);
  margin-top: var(--space-4);
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border);
}

.FnsReportsPage-module__footerEnd--ISJPx {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-left: auto;
}

.FnsReportsPage-module__radioStack--fOAaj {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin-top: 0;
}

.FnsReportsPage-module__radioRow--abYLF {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  cursor: pointer;
}

.FnsReportsPage-module__radioRow--abYLF input {
  margin-top: 0.2rem;
}

.FnsReportsPage-module__payoutLayout--pH3Ow {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
  grid-gap: var(--space-4);
  gap: var(--space-4);
  align-items: start;
}

.FnsReportsPage-module__payoutAmountSlot--xJLrJ {
  min-width: 0;
}

.FnsReportsPage-module__addrList--LZtYN {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin-bottom: var(--space-3);
}

.FnsReportsPage-module__addrRow--MdaOK {
  display: flex;
  gap: var(--space-2);
  align-items: flex-start;
}

.FnsReportsPage-module__addrRow--MdaOK > :first-child {
  flex: 1;
  min-width: 0;
}

.FnsReportsPage-module__kv--nU_aY {
  display: grid;
  grid-template-columns: minmax(8rem, 11rem) 1fr;
  grid-gap: var(--space-2) var(--space-4);
  gap: var(--space-2) var(--space-4);
  margin: 0;
  font-size: var(--text-sm);
}

.FnsReportsPage-module__kv--nU_aY dt {
  margin: 0;
  color: var(--color-text-secondary);
}

.FnsReportsPage-module__kv--nU_aY dd {
  margin: 0;
  color: var(--color-text-primary);
  word-break: break-word;
}

.FnsReportsPage-module__kvMono--oHXea {
  font-family: var(--font-mono);
}

.FnsReportsPage-module__checkList--IJpsH {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.FnsReportsPage-module__check--bns_A {
  display: flex;
  gap: var(--space-2);
  align-items: flex-start;
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
}

.FnsReportsPage-module__checkMark--uC9LP {
  flex-shrink: 0;
  width: 1.15rem;
  height: 1.15rem;
  margin-top: 0.1rem;
  display: grid;
  place-items: center;
  border-radius: 999px;
  font-size: 0.7rem;
  font-style: normal;
}

.FnsReportsPage-module__checkOk--ih2ve .FnsReportsPage-module__checkMark--uC9LP {
  background: rgba(34, 197, 94, 0.2);
  color: var(--color-status-online, #22c55e);
}

.FnsReportsPage-module__checkFail--KoVrN .FnsReportsPage-module__checkMark--uC9LP {
  background: rgba(239, 68, 68, 0.15);
  color: var(--color-status-error, #ef4444);
}

.FnsReportsPage-module__checkWarn--R9_Ys .FnsReportsPage-module__checkMark--uC9LP {
  background: var(--color-accent-soft);
  color: var(--color-primary);
}

.FnsReportsPage-module__fileName--s0LRl {
  margin: 0 0 var(--space-4);
  font-size: var(--text-sm);
  color: var(--color-text-muted);
}

.FnsReportsPage-module__fileName--s0LRl code {
  font-family: var(--font-mono);
  color: var(--color-text-secondary);
  word-break: break-all;
}

.FnsReportsPage-module__actionsRow--fzT4x {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.FnsReportsPage-module__panelToolbar--p99BA {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
}

.FnsReportsPage-module__currencySeg--SLMci {
  display: inline-flex;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  overflow: hidden;
}

.FnsReportsPage-module__currencySegBtn--asJvD {
  border: 0;
  background: transparent;
  color: var(--color-text-secondary);
  padding: 0.25rem 0.75rem;
  font-size: var(--text-sm);
  cursor: pointer;
}

.FnsReportsPage-module__currencySegBtnActive--MkICv {
  background: var(--color-primary);
  color: var(--color-accent-ink, #0a0a08);
  font-weight: 600;
}

@media (max-width: 40rem) {
  .FnsReportsPage-module__stepTitle--AlHTY {
    display: none;
  }
}

.EmailTemplatesPage-module__formDialog--a7gE9 {
  max-width: 48rem;
  width: 100%;
}

.EmailTemplatesPage-module__previewDialog--Vt0BM {
  max-width: calc(100vw - var(--space-8));
  width: 56rem;
}

.EmailTemplatesPage-module__previewSection--fGbLJ {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin-bottom: var(--space-4);
}

.EmailTemplatesPage-module__previewSectionTitle--K3MBO {
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.EmailTemplatesPage-module__previewSubject--e4RCZ {
  font-size: var(--text-base);
  font-weight: 600;
  color: var(--color-text-primary);
}

/* sandbox без allow-scripts: разметка письма рендерится, скрипты не выполняются. */
.EmailTemplatesPage-module__previewFrame--yJhdS {
  width: 100%;
  min-height: 24rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background-color: #ffffff;
}

.EmailTemplatesPage-module__previewPlaintext--dEG3i {
  margin: 0;
  padding: var(--space-3);
  white-space: pre-wrap;
  word-break: break-word;
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  color: var(--color-text-primary);
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}

.EmailTemplatesPage-module__variablesHint--eBJyo {
  padding: var(--space-3);
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
}

.EmailTemplatesPage-module__variablesHintTitle--qAkCl {
  font-weight: 600;
  margin-bottom: var(--space-2);
}

.EmailTemplatesPage-module__variablesHintList--O1F7z {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}

.EmailTemplatesPage-module__variableChip--sNHzy {
  padding: var(--space-1) var(--space-2);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  color: var(--color-text-primary);
  background-color: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}

.EmailTemplatesPage-module__variableRequired--cNr3I {
  color: var(--color-status-error);
}

.EmailTemplatesPage-module__mono--uB6V2 {
  font-family: var(--font-mono);
}

.EmailTemplatesPage-module__typeSwitch--VpR6g {
  display: flex;
  gap: var(--space-4);
}

.EmailTemplatesPage-module__imagePreview--vYWb4 {
  max-width: 12rem;
  max-height: 8rem;
  object-fit: contain;
  align-self: flex-start;
  padding: var(--space-2);
  background-color: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}

.EmailTemplatesPage-module__fileInput--VlHSu {
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
}

.EmailTemplatesPage-module__fileInput--VlHSu::-webkit-file-upload-button {
  margin-right: var(--space-2);
  padding: var(--space-2) var(--space-3);
  color: var(--color-text-primary);
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  cursor: pointer;
}

.EmailTemplatesPage-module__fileInput--VlHSu::file-selector-button {
  margin-right: var(--space-2);
  padding: var(--space-2) var(--space-3);
  color: var(--color-text-primary);
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  cursor: pointer;
}

/* Строки истории запросов кликабельны; выбранная подсвечивается
   (hover-фон уже даёт .table в Page.module.css). */
.AgentLogTab-module__clickableRow--fHU1G {
  cursor: pointer;
}

.AgentLogTab-module__selectedRow--JjtYU td {
  background-color: var(--color-bg-elevated);
  box-shadow: inset 2px 0 0 var(--color-primary);
}

/* Сырой ответ устройства (example_device_response): моноширинный,
   с переносом длинных строк и вертикальным скроллом. */
.AgentLogTab-module__rawResponse--EIdQx {
  margin: 0;
  padding: 12px;
  max-height: 320px;
  overflow: auto;
  white-space: pre-wrap;
  word-break: break-all;
  font-family: monospace;
  font-size: 12px;
  background-color: var(--color-bg-elevated);
  border-radius: 8px;
}

/* Строки словаря версий кликабельны; выбранная подсвечивается
   (hover-фон уже даёт .table в Page.module.css). */
.VersionsTab-module__clickableRow--_rTQq {
  cursor: pointer;
}

.VersionsTab-module__selectedRow--lKdaV td {
  background-color: var(--color-bg-elevated);
  box-shadow: inset 2px 0 0 var(--color-primary);
}

