/* Layout safeguards: tables scroll inside their panels, never the page. */
#cabinet {
  min-width: 0;
  grid-template-columns: 235px minmax(0, 1fr);
}

main {
  min-width: 0;
}

.dialog-note {
  color: #596174;
  margin: 0 0 16px;
}

.permission-grid {
  display: grid;
  gap: 14px;
  max-height: min(58vh, 560px);
  overflow: auto;
  padding-right: 4px;
}

.permission-grid fieldset {
  border: 1px solid #e5e7ee;
  border-radius: 10px;
  margin: 0;
  padding: 8px 14px 12px;
}

.permission-grid legend {
  color: #596174;
  font-size: 12px;
  font-weight: 700;
  padding: 0 5px;
}

#memberPermissionsDialog form {
  width: min(620px, 92vw);
}

.order-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}

.order-tabs button {
  background: #eef0f6;
  color: #30384b;
  padding: 8px 11px;
}

.order-tabs button.active {
  background: #7048e8;
  color: #fff;
}

.order-tabs b {
  margin-left: 4px;
}

.order-thumb {
  width: 28px;
  height: 28px;
  object-fit: cover;
  border-radius: 5px;
  margin: 0 6px -9px 0;
}

#orderDetailDialog form {
  width: min(720px, 94vw);
  max-width: 100%;
}

.dialog-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.order-detail {
  display: grid;
  gap: 18px;
  max-height: min(60vh, 620px);
  overflow: auto;
}

.order-detail h3 { margin: 0 0 8px; }
.order-detail ul { margin: 0; padding-left: 20px; }
.order-detail li { margin: 5px 0; overflow-wrap: anywhere; }
.order-detail-item { display: flex; align-items: center; gap: 8px; padding: 7px 0; border-bottom: 1px solid #eef0f6; }
.order-detail-item span { color: #596174; margin-left: auto; text-align: right; }
.order-requirements { max-width: 100%; max-height: 220px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; padding: 10px; border-radius: 8px; background: #f4f5f9; font-size: 12px; }

#ozonSplitDialog form { width: min(680px, 94vw); }
.ozon-split-lines { display: grid; gap: 10px; max-height: min(52vh, 510px); overflow: auto; padding-right: 4px; }
.ozon-split-product { border: 1px solid #e5e7ee; border-radius: 10px; padding: 12px; display: grid; gap: 5px; }
.ozon-split-product small { color: #596174; }
.ozon-split-product > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.ozon-split-product label { display: grid; gap: 4px; font-size: 13px; color: #4e5669; }

.toolbar .actions {
  flex-wrap: wrap;
  justify-content: flex-end;
}

@media (max-width: 850px) {
  #cabinet {
    grid-template-columns: minmax(0, 1fr);
  }

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