/* content box  */
.contentbox {flex: 1 1 auto; display: flex; flex-direction: column; padding: 1.5vh 1.5vh 0vh 1.5vh; overflow-x: hidden;} 
.contentlabel {flex: 0 0 70px; padding: 1.5vh 0vh 0vh 0vh; align-content: center; text-align: center;}
.contentgrid {flex: 1 1 auto; padding: 1.5vh 0 0 0; overflow-y: hidden; min-width: 0;}
.contentgrid .grid-container { height: 100%; min-width: 0; }
.fileuploader {
  flex: 0 0 auto;            /* výška podle obsahu */
  padding: 1.5vh 0vh 0vh 0vh;          /* trochu vertikálního prostoru */
  border: 1px solid currentColor;
}

.uploadtext, .uploadlog{
  font-size: 12px;
  opacity: .85;
  margin-left: 10px;
  line-height: 1.35;
}

.taskinstructions {
  flex: 0 0 auto;                 /* výška podle obsahu */
  padding: 1.5vh 0vh 1.5vh 0vh;      /* stejné jako fileuploader */
  border: 1px solid currentColor;  /* stejné jako fileuploader */
}

/* Read-only řádky – vizuálně utlumené, ale plně klikatelné */
/* .ds-row-readonly { 
  opacity: .6;
} */

/* Ikony/tlačítka v akčním sloupci nechte čitelné */
.ds-row-readonly .dx-link,
.ds-row-readonly .dx-button {
  opacity: 1;
}


/* Hlavičky držet na jednom řádku */
.dx-datagrid .dx-header-row .dx-datagrid-text-content { white-space: nowrap; }

/* Dlouhé texty v lookup sloupcích oříznout s … (nepřetahují šířku) */
.dx-datagrid .cell-clip { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Volitelné: ztlumit read-only řádky */
.ds-row-readonly td { opacity: .75; }

/* styles pro detail wizard */
/* zhuštěný master-detail */
.dx-datagrid .dx-master-detail-cell { padding: 4px 8px 8px 38px; }

/* detail wrapper */
.ds-detail { position: relative; padding: 0; }
.ds-detail__body { padding: 0 0 8px; }
.ds-step { max-height: 420px; overflow: auto; }

/* sticky footer – nízký */
.ds-detail__foot{
  position: sticky; bottom: 0; z-index: 2;
  display:flex; justify-content:space-between; align-items:center;
  gap:8px; padding:6px 0; background:#fff; border-top:1px solid #eee;
}
.ds-detail__foot .left, .ds-detail__foot .right { display:flex; gap:8px; }

/* tmavě modré tlačítko (Save) */
/* .btn-primary.dx-button{
  background-color:#0b5ed7; border-color:#0a58ca; color:#fff;
}
.btn-primary.dx-button:hover   { background-color:#0a58ca; }
.btn-primary.dx-button:active,
.btn-primary.dx-state-active   { background-color:#094dbd; }
.btn-primary.dx-state-focused  { box-shadow:0 0 0 3px rgba(13,110,253,.2); }
.btn-primary.dx-state-disabled { opacity:.6; } */

/* zvýrazni vybraný řádek ve vnořených gridech */
/* .ds-step .dx-datagrid-rowsview .dx-row.dx-selection > td {
  background: rgba(13,110,253,.08);
} */

/* Vertikální centrování itemů v toolbarech uvnitř detailu */
.ds-detail .dx-toolbar .dx-toolbar-items-container {
  align-items: center; /* <— důležité */
}

/* Vzhled štítků STEP */
.ds-step-title {
  display: inline-flex;
  align-items: center;   /* vertikální střed */
  height: 100%;
  font-weight: 600;
  font-size: 16px;
  letter-spacing: .02em;
  /* text-transform: uppercase; */
  opacity: .50;
}

/* odsazení obsahu všech tabů uvnitř master-detailu */
.ds-detail.with-tabs .dx-multiview-item .tab-pane {
  padding: 16px;      /* stejné ze všech stran */
  box-sizing: border-box;
}

/* všechny toolbary v detailu nech transparentní */
.ds-detail .dx-toolbar { 
  background-color: transparent; 
}

.ds-detail .dx-toolbar { padding: 6px 8px; }
.ds-detail .dx-form { padding: 6px 8px; }

/* šířka labelu a vertikální centrování */
/* .ds-detail .dx-form .dx-field-item-label { width: 220px; padding-right: 8px; }
.ds-detail .dx-form .dx-field-item { align-items: center; } */

/* === Master-detail: Grid uvnitř TabPanelu  – společné styly pro všechny taby === */

/* host detailu ať se může roztáhnout na plnou šířku */
.dx-datagrid .dx-master-detail-cell .md-wrap {
  width: 100%;
  max-width: none;
  min-width: 0;
  box-sizing: border-box;
}


/* vnitřní odsazení obsahu tabů (platí pro jakýkoli obsah uvnitř položky) */
.dx-datagrid .dx-master-detail-cell .md-wrap .dx-multiview-item > * {
  padding: 16px 18px;                     /* sjednocené paddingy */
  box-sizing: border-box;
}

.dx-textarea.invalid-json .dx-texteditor-input {
  /* background-color: #ffecec; */
  border-color: #d00;
}