/* Execution battle map, CDEK, Pochta — shared styles */
.exec-steps { display: grid; gap: 8px; margin: 12px 0; }
.exec-step {
  display: grid; grid-template-columns: 28px 1fr; gap: 10px; align-items: start;
  padding: 10px 12px; border: 1px solid var(--border); border-radius: 10px;
  background: rgba(16,22,31,.55);
}
.exec-step .dot {
  width: 22px; height: 22px; border-radius: 999px; display: grid; place-items: center;
  font-size: 0.72rem; font-weight: 800; border: 1px solid var(--border); color: var(--muted);
}
.exec-step.done .dot { color: var(--ok); border-color: rgba(62,207,142,.45); background: rgba(62,207,142,.1); }
.exec-step.warn .dot { color: var(--warn); border-color: rgba(230,184,76,.45); background: rgba(230,184,76,.1); }
.exec-step.pending .dot { color: var(--muted); }
.exec-step.fail .dot { color: var(--fail); border-color: rgba(232,106,92,.45); }
.exec-step-title { font-weight: 700; font-size: 0.92rem; }
.exec-step-detail { color: var(--muted); font-size: 0.82rem; margin-top: 3px; line-height: 1.35; }
.exec-preview {
  margin-top: 10px; padding: 10px 12px; border: 1px dashed var(--border);
  border-radius: 8px; font-family: var(--mono); font-size: 0.78rem; white-space: pre-wrap;
  color: var(--muted); max-height: 220px; overflow: auto;
}
.exec-group { margin: 14px 0 18px; }
.exec-group-title {
  font-size: 0.72rem; text-transform: uppercase; letter-spacing: .04em;
  color: var(--muted); font-weight: 700; margin: 0 0 8px;
}
.exec-meta {
  display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px;
}
.exec-meta .pill-link {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 4px 10px; border-radius: 999px; border: 1px solid var(--border);
  background: rgba(16,22,31,.55); font-size: 0.8rem; text-decoration: none; color: var(--text);
}
.exec-meta .pill-link:hover { border-color: var(--accent); }
.exec-lines { width: 100%; border-collapse: collapse; font-size: 0.82rem; margin-top: 8px; }
.exec-lines th, .exec-lines td { border-bottom: 1px solid var(--border); padding: 6px 8px; text-align: left; }
.exec-lines th { color: var(--muted); font-size: 0.72rem; text-transform: uppercase; }
.exec-empty { color: var(--muted); padding: 24px 8px; line-height: 1.5; }
#executionListBody td.exec-pos {
  max-width: 280px; font-size: 0.78rem; color: var(--muted); line-height: 1.35;
  white-space: normal;
}
.exec-status-badge {
  display: inline-block; margin-left: 6px; padding: 1px 7px; border-radius: 999px;
  font-size: 0.68rem; font-weight: 700; vertical-align: middle;
  border: 1px solid var(--border); color: var(--muted);
}
.exec-status-badge.ok { color: var(--ok); border-color: rgba(62,207,142,.35); }
.exec-status-badge.err { color: var(--fail); border-color: rgba(232,106,92,.35); }
.exec-status-badge.warn { color: var(--warn); border-color: rgba(230,184,76,.35); }
.exec-src-badge {
  display: inline-block; font-size: 0.72rem; font-weight: 600; padding: 2px 7px; border-radius: 999px;
  border: 1px solid var(--border); color: var(--muted);
}
.exec-src-badge.site { color: #6eb5ff; border-color: rgba(110,181,255,.35); }
.exec-src-badge.stock { color: #7dcea0; border-color: rgba(125,206,160,.4); }
.exec-src-badge.mp { color: #e6b84c; border-color: rgba(230,184,76,.35); }
.exec-src-badge.ozon, .exec-mp-filter[data-exec-mp="ozon"].active {
  color: #4a9eff; border-color: rgba(74,158,255,.55); background: rgba(74,158,255,.14);
}
.exec-src-badge.wildberries, .exec-mp-filter[data-exec-mp="wildberries"].active {
  color: #c084fc; border-color: rgba(168,85,247,.55); background: rgba(168,85,247,.16);
}
.exec-src-badge.yandex, .exec-mp-filter[data-exec-mp="yandex"].active {
  color: #fbbf24; border-color: rgba(251,191,36,.55); background: rgba(251,191,36,.16);
}
tr.exec-mp-ozon { box-shadow: inset 4px 0 0 #4a9eff; }
tr.exec-mp-wildberries { box-shadow: inset 4px 0 0 #a855f7; }
tr.exec-mp-yandex { box-shadow: inset 4px 0 0 #fbbf24; }
.exec-mp-art { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.78rem; line-height: 1.35; }
.exec-mp-art .art-name { color: var(--muted); font-weight: 500; font-family: inherit; }
.exec-mp-status-chips { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.exec-mp-status-chip {
  border: 1px solid var(--border); background: transparent; color: var(--muted);
  border-radius: 999px; padding: 3px 10px; font-size: 0.75rem; cursor: pointer;
}
.exec-mp-status-chip.active { color: var(--text); border-color: rgba(110,181,255,.45); background: rgba(110,181,255,.12); }
.exec-mp-status-chip.preset { font-weight: 700; }
.exec-smart-search { display: flex; flex-direction: column; gap: 4px; }
.exec-smart-search-label {
  font-size: 0.68rem; font-weight: 700; letter-spacing: .04em;
  text-transform: uppercase; color: var(--muted);
}
.exec-smart-search input {
  width: 100%; min-height: 34px; padding: 6px 10px;
  border: 1px solid var(--border); border-radius: 8px;
  background: rgba(16,22,31,.55); color: var(--text); font-size: 0.86rem;
}
.exec-smart-search input:focus {
  outline: none; border-color: rgba(110,181,255,.55);
  box-shadow: 0 0 0 2px rgba(110,181,255,.12);
}
.exec-search-meta { color: var(--muted); font-size: 0.78rem; white-space: nowrap; }
.exec-stage-chips { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.exec-stage-chip {
  border: 1px solid var(--border); background: transparent; color: var(--muted);
  border-radius: 999px; padding: 3px 10px; font-size: 0.75rem; cursor: pointer;
}
.exec-stage-chip.active { color: var(--text); border-color: rgba(110,181,255,.45); background: rgba(110,181,255,.12); }
.exec-stage-chip.preset { font-weight: 700; }
.exec-stage-chip.tone-err.active { border-color: rgba(232,106,92,.5); background: rgba(232,106,92,.14); color: #f0a59c; }
.exec-stage-chip.tone-warn.active { border-color: rgba(230,184,76,.5); background: rgba(230,184,76,.14); color: #e6b84c; }
.exec-stage-chip.tone-ok.active { border-color: rgba(62,207,142,.45); background: rgba(62,207,142,.12); color: #3ecf8e; }
.exec-tags { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; max-width: 220px; }
.exec-tag {
  display: inline-block; padding: 1px 7px; border-radius: 999px; font-size: 0.68rem; font-weight: 700;
  border: 1px solid var(--border); color: var(--muted); line-height: 1.4; white-space: nowrap;
}
.exec-tag.ok, .exec-tag.tone-ok { color: #3ecf8e; border-color: rgba(62,207,142,.4); background: rgba(62,207,142,.1); }
.exec-tag.err, .exec-tag.tone-err { color: #e86a5c; border-color: rgba(232,106,92,.4); background: rgba(232,106,92,.1); }
.exec-tag.warn, .exec-tag.tone-warn { color: #e6b84c; border-color: rgba(230,184,76,.4); background: rgba(230,184,76,.1); }
.exec-tag.info, .exec-tag.tone-info { color: #6eb5ff; border-color: rgba(110,181,255,.4); background: rgba(110,181,255,.1); }
.exec-tag.soft { font-weight: 600; opacity: .92; }
.exec-bulk-bar.has-selection {
  padding: 8px 10px; border-radius: 10px;
  border: 1px solid rgba(110,181,255,.28); background: rgba(110,181,255,.08);
}
.exec-selected-count { color: var(--muted); font-size: 0.8rem; }
.exec-bulk-bar.has-selection .exec-selected-count { color: var(--text); font-weight: 600; }
.exec-mp-frame td {
  background: rgba(16,22,31,.55); padding: 12px 14px;
  border-bottom: 1px solid var(--border);
}
.exec-mp-frame-inner { display: grid; gap: 8px; }
.exec-mp-frame-inner table { width: 100%; font-size: 0.8rem; border-collapse: collapse; }
.exec-mp-frame-inner th, .exec-mp-frame-inner td { padding: 6px 8px; border-bottom: 1px solid var(--border); text-align: left; }
#executionListWrap table thead th.exec-sort { cursor: pointer; user-select: none; }
#executionListWrap table thead th.exec-sort:hover { color: var(--text); }
.exec-expand-btn { min-height: auto; padding: 2px 8px; font-size: 0.78rem; }
.exec-src-filter.active { background: var(--accent-soft, rgba(110,181,255,.12)); }
#tab-execution .panel { min-width: 0; max-width: 100%; overflow-x: hidden; }
#executionListWrap { width: 100%; max-width: 100%; overflow-x: auto; }
body:not(.exec-hub-detail) #tab-execution #executionDetailMain,
body:not(.exec-hub-detail) #tab-execution #executionDetailCache {
  display: none !important;
}
.exec-hub-link:hover { color: var(--accent) !important; }
.exec-workfield { display: flex; flex-direction: column; gap: 14px; min-width: 0; max-width: 100%; }
.exec-workfield-body {
  display: flex; flex-direction: column; gap: 14px; min-width: 0; max-width: 100%;
}
.exec-workfield-main, .exec-workfield-bitrix { min-width: 0; max-width: 100%; }
.exec-group-num {
  display: inline-grid; place-items: center; min-width: 1.4em; height: 1.4em;
  margin-right: 6px; border-radius: 999px; border: 1px solid var(--border);
  font-size: 0.68rem; color: var(--text);
}
.exec-group-mode { font-weight: 500; text-transform: none; letter-spacing: 0; opacity: .8; }
.exec-flow { display: grid; gap: 6px; }
.exec-flow-group {
  border: 1px solid var(--border); border-radius: 10px; background: rgba(16,22,31,.4);
}
.exec-flow-group > summary {
  cursor: pointer; list-style: none; display: flex; flex-wrap: wrap; gap: 8px;
  align-items: center; padding: 8px 12px; user-select: none;
}
.exec-flow-group > summary::-webkit-details-marker { display: none; }
.exec-flow-group.done > summary { opacity: .78; }
.exec-flow-group.warn { border-color: rgba(230,184,76,.4); }
.exec-flow-group.fail { border-color: rgba(232,106,92,.4); }
.exec-flow-title { font-weight: 700; font-size: 0.86rem; }
.exec-flow-chips { display: flex; flex-wrap: wrap; gap: 4px; margin-left: auto; }
.exec-flow-chip {
  width: 8px; height: 8px; border-radius: 999px; background: var(--muted); opacity: .55;
}
.exec-flow-chip.done { background: var(--ok); opacity: 1; }
.exec-flow-chip.warn { background: var(--warn); opacity: 1; }
.exec-flow-chip.fail { background: var(--fail); opacity: 1; }
.exec-steps.compact { display: grid; gap: 4px; padding: 0 8px 8px; margin: 0; }
.exec-steps.compact .exec-step {
  padding: 6px 8px; grid-template-columns: 22px minmax(0, 1fr) auto; gap: 8px; align-items: center;
}
.exec-steps.compact .exec-step-detail {
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 0; font-size: 0.75rem;
}
.exec-steps.compact .exec-step-title { font-size: 0.84rem; }
.exec-steps.compact .exec-step-act,
.exec-steps.compact .exec-force-stage { margin-top: 0; min-height: 28px; padding: 4px 8px; font-size: 0.76rem; }
.exec-gateway-axes { margin-top: 8px; }
.exec-gateway-axes > summary {
  cursor: pointer; color: var(--muted); font-size: 0.78rem; font-weight: 600;
}
.exec-bitrix-deadline-bar {
  display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-end; margin: 0 0 10px;
}
.exec-bitrix-deadline-bar label {
  display: flex; flex-direction: column; gap: 4px; font-size: 0.72rem; color: var(--muted);
}
.exec-task-deadline {
  display: flex; flex-direction: column; gap: 2px; font-size: 0.68rem; color: var(--muted);
}
.exec-task-deadline input[type="date"],
.exec-bitrix-deadline-bar input[type="date"] {
  min-height: 30px; padding: 2px 6px; font-size: 0.8rem;
}
.exec-gateway {
  border: 1px solid var(--border); border-radius: 10px; padding: 12px 14px;
  background: rgba(16,22,31,.55);
}
.exec-gateway.warn {
  border-color: rgba(230,184,76,.45); background: rgba(230,184,76,.08);
}
.exec-gateway.ok {
  border-color: rgba(62,207,142,.35); background: rgba(62,207,142,.06);
}
.exec-gateway-head {
  display: flex; flex-wrap: wrap; gap: 8px; align-items: baseline; justify-content: space-between;
}
.exec-gateway-head h3 { margin: 0; font-size: 0.95rem; }
.exec-gateway-code { font-family: var(--mono); font-size: 0.92rem; font-weight: 700; }
.exec-axis-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; margin-top: 10px;
}
.exec-axis-grid label { display: flex; flex-direction: column; gap: 4px; font-size: 0.72rem; color: var(--muted); }
.exec-axis-grid select { min-height: 34px; }
.exec-docs-table { width: 100%; border-collapse: collapse; font-size: 0.82rem; }
.exec-docs-table th, .exec-docs-table td { border-bottom: 1px solid var(--border); padding: 6px 8px; text-align: left; }
.exec-docs-table th { color: var(--muted); font-size: 0.68rem; text-transform: uppercase; }
.exec-carrier-stub {
  margin-top: 10px; padding: 8px 10px; border-radius: 8px; border: 1px dashed var(--border);
  color: var(--muted); font-size: 0.8rem;
}
/* --- СДЭК · панель доставки в исполнении --- */
.cdek-panel {
  margin-top: 14px;
  border-radius: 14px;
  border: 1px solid rgba(0, 166, 81, .35);
  background: linear-gradient(165deg, rgba(0, 166, 81, .11) 0%, rgba(16, 22, 31, .92) 42%, rgba(16, 22, 31, .98) 100%);
  box-shadow: 0 12px 40px rgba(0, 0, 0, .22), inset 0 1px 0 rgba(255, 255, 255, .04);
  overflow: hidden;
}
.cdek-panel__head {
  display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: center; justify-content: space-between;
  padding: 14px 16px 12px; border-bottom: 1px solid rgba(0, 166, 81, .22);
  background: rgba(0, 166, 81, .08);
}
.cdek-panel__brand { display: flex; align-items: center; gap: 10px; min-width: 0; }
.cdek-panel__logo {
  display: inline-grid; place-items: center; min-width: 52px; height: 28px; padding: 0 10px;
  border-radius: 8px; background: #00a651; color: #fff; font-weight: 800; font-size: 0.78rem;
  letter-spacing: .06em; box-shadow: 0 4px 14px rgba(0, 166, 81, .35);
}
.cdek-panel__title { margin: 0; font-size: 0.95rem; font-weight: 700; line-height: 1.2; }
.cdek-panel__sub { margin: 2px 0 0; font-size: 0.72rem; color: var(--muted); line-height: 1.35; }
.cdek-panel__api {
  display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: 999px;
  font-size: 0.72rem; font-weight: 600; border: 1px solid rgba(62, 207, 142, .35);
  background: rgba(62, 207, 142, .12); color: #9aebc4;
}
.cdek-panel__api.off { border-color: rgba(232, 106, 92, .4); background: rgba(232, 106, 92, .1); color: #f5b0a8; }
.cdek-panel__api-dot { width: 7px; height: 7px; border-radius: 999px; background: var(--ok); box-shadow: 0 0 8px rgba(62, 207, 142, .8); }
.cdek-panel__api.off .cdek-panel__api-dot { background: var(--fail); box-shadow: none; }
.cdek-panel__body { padding: 14px 16px 16px; display: grid; gap: 14px; }
.cdek-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.cdek-chip {
  display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: 999px;
  font-size: 0.72rem; font-weight: 600; border: 1px solid var(--border); background: rgba(255, 255, 255, .03);
}
.cdek-chip--mode { border-color: rgba(110, 181, 255, .4); background: rgba(110, 181, 255, .1); color: #b8d9ff; }
.cdek-chip--ok { border-color: rgba(62, 207, 142, .4); background: rgba(62, 207, 142, .1); color: #9aebc4; }
.cdek-chip--warn { border-color: rgba(230, 184, 76, .45); background: rgba(230, 184, 76, .12); color: #f0d592; }
.cdek-chip--muted { color: var(--muted); }
.cdek-money { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
@media (max-width: 720px) { .cdek-money { grid-template-columns: 1fr; } }
.cdek-money__card {
  padding: 10px 12px; border-radius: 10px; border: 1px solid var(--border);
  background: rgba(0, 0, 0, .18);
}
.cdek-money__card--total {
  border-color: rgba(212, 161, 90, .45); background: rgba(212, 161, 90, .1);
}
.cdek-money__label { font-size: 0.65rem; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); font-weight: 700; }
.cdek-money__val { margin-top: 4px; font-size: 1.05rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.cdek-money__card--total .cdek-money__val { color: #f3d7a8; }
.cdek-cod {
  padding: 12px 14px; border-radius: 10px; border: 1px solid rgba(230, 184, 76, .4);
  background: rgba(230, 184, 76, .08);
}
.cdek-cod.paid { border-color: rgba(62, 207, 142, .35); background: rgba(62, 207, 142, .08); }
.cdek-cod__head { display: flex; flex-wrap: wrap; gap: 8px; align-items: baseline; justify-content: space-between; }
.cdek-cod__amount { font-size: 1.15rem; font-weight: 800; font-variant-numeric: tabular-nums; color: #f0d592; }
.cdek-cod.paid .cdek-cod__amount { color: #9aebc4; }
.cdek-cod__hint { font-size: 0.76rem; color: var(--muted); margin-top: 6px; line-height: 1.4; }
.cdek-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 10px; }
@media (max-width: 820px) { .cdek-grid { grid-template-columns: 1fr; } }
.cdek-block {
  padding: 12px 14px; border-radius: 10px; border: 1px solid var(--border);
  background: rgba(255, 255, 255, .02); min-height: 100%;
}
.cdek-block__label {
  font-size: 0.65rem; text-transform: uppercase; letter-spacing: .05em; color: var(--muted);
  font-weight: 700; margin-bottom: 8px;
}
.cdek-pvz-code {
  display: inline-block; padding: 4px 10px; border-radius: 6px; font-family: var(--mono);
  font-weight: 800; font-size: 0.88rem; background: rgba(0, 166, 81, .18); color: #7dffb8;
  border: 1px solid rgba(0, 166, 81, .35); margin-bottom: 6px;
}
.cdek-block__text { font-size: 0.84rem; line-height: 1.45; overflow-wrap: anywhere; }
.cdek-block__meta { margin-top: 6px; font-size: 0.7rem; color: var(--muted); }
.cdek-recipient { display: grid; gap: 6px; }
.cdek-recipient__name { font-size: 0.92rem; font-weight: 700; }
.cdek-recipient__phone { font-family: var(--mono); font-size: 0.84rem; color: #b8d9ff; }
.cdek-recipient__phone a { color: inherit; text-decoration: none; }
.cdek-recipient__phone a:hover { text-decoration: underline; }
.cdek-packages { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; }
.cdek-packages li {
  display: flex; justify-content: space-between; gap: 8px; padding: 8px 10px; border-radius: 8px;
  border: 1px solid var(--border); background: rgba(0, 0, 0, .12); font-size: 0.8rem;
}
.cdek-packages .qty { font-weight: 700; color: var(--accent); white-space: nowrap; }
.cdek-warn {
  margin: 0; padding: 0; list-style: none; display: grid; gap: 6px;
}
.cdek-warn li {
  padding: 8px 10px; border-radius: 8px; border-left: 3px solid var(--warn);
  background: rgba(230, 184, 76, .1); font-size: 0.78rem; line-height: 1.4;
}
.cdek-pvz-lookup-row {
  display: flex; flex-wrap: wrap; align-items: center; gap: 10px;
}
.cdek-pvz-lookup-hint { font-size: 0.75rem; }
.cdek-pvz-matches { display: grid; gap: 6px; }
.cdek-pvz-match-list {
  margin: 0; padding: 0; list-style: none; display: grid; gap: 4px;
}
.cdek-pvz-match-list .exec-cdek-pvz-pick {
  width: 100%; text-align: left; display: flex; gap: 10px; align-items: baseline;
  padding: 8px 10px; border-radius: 8px; border: 1px solid var(--border);
}
.cdek-pvz-match-list .exec-cdek-pvz-pick:hover {
  border-color: rgba(0, 166, 81, .45); background: rgba(0, 166, 81, .08);
}
.cdek-pvz-match-list .exec-cdek-pvz-pick b { color: var(--accent); min-width: 4.5rem; }
.cdek-pvz-match-list .exec-cdek-pvz-pick span { color: var(--muted); font-size: 0.8rem; }
.cdek-panel__actions {
  display: flex; flex-wrap: wrap; gap: 8px; padding-top: 4px; border-top: 1px solid var(--border);
}
.cdek-panel__actions .primary {
  background: linear-gradient(180deg, #00b35a 0%, #008f49 100%);
  border-color: rgba(0, 166, 81, .6); color: #fff; font-weight: 700;
}
.cdek-panel__actions .primary:hover { filter: brightness(1.06); }
.cdek-panel__actions .primary:disabled { opacity: .55; cursor: not-allowed; filter: none; }
.cdek-form-section { display: grid; gap: 8px; }
.cdek-form-grid { display: grid; gap: 8px; align-items: end; }
.cdek-form-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cdek-form-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cdek-form-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 820px) {
  .cdek-form-grid--2, .cdek-form-grid--3, .cdek-form-grid--4 { grid-template-columns: 1fr; }
}
.cdek-form-span { grid-column: 1 / -1; }
.cdek-field { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.cdek-field__label {
  font-size: 0.65rem; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); font-weight: 700;
}
.cdek-field__input {
  width: 100%; min-height: 34px; padding: 6px 10px; border-radius: 8px;
  border: 1px solid var(--border); background: var(--input, rgba(0,0,0,.25)); color: var(--text); font: inherit;
}
.cdek-field__input:focus { outline: 2px solid rgba(0, 166, 81, .35); border-color: rgba(0, 166, 81, .5); }
.cdek-check { display: flex; align-items: center; gap: 8px; font-size: 0.8rem; color: var(--text); margin-top: 4px; }
.cdek-shipment-ok {
  padding: 10px 12px; border-radius: 10px; border: 1px solid rgba(62, 207, 142, .45);
  background: rgba(62, 207, 142, .1); font-size: 0.82rem;
}
.cdek-print-modal .modal-frame { width: min(920px, 96vw); max-height: 92vh; display: flex; flex-direction: column; }
.cdek-print-frame {
  width: 100%; min-height: 420px; height: min(62vh, 720px); border: 1px solid var(--border);
  border-radius: 10px; background: #fff;
}
.cdek-print-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.cdek-print-hint { font-size: 0.76rem; color: var(--muted); margin-top: 8px; line-height: 1.45; }
.cdek-docs {
  margin-top: 12px; padding: 10px 12px; border-radius: 10px;
  border: 1px solid var(--border); background: rgba(255,255,255,.02);
}
.cdek-docs__title {
  font-size: 0.72rem; text-transform: uppercase; letter-spacing: .05em;
  color: var(--muted); font-weight: 700; margin-bottom: 8px;
}
.cdek-docs__grid { display: grid; gap: 8px; }
.cdek-doc-row {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px;
  padding: 8px 10px; border-radius: 8px; border: 1px solid var(--border); background: var(--input);
}
.cdek-doc-row__info { flex: 1 1 180px; min-width: 0; }
.cdek-doc-row__name { font-size: 0.84rem; font-weight: 700; }
.cdek-doc-row__meta { font-size: 0.72rem; color: var(--muted); margin-top: 2px; }
.cdek-doc-row__actions { display: flex; flex-wrap: wrap; gap: 6px; }
.cdek-doc-row__actions button { min-height: 30px; font-size: 0.78rem; padding: 4px 10px; }
.cdek-doc-row__actions button.ghost { padding: 4px 8px; }
.cdek-meta-line { font-size: 0.7rem; color: var(--muted); line-height: 1.4; }
.cdek-track-empty { color: var(--muted); font-style: italic; }
.cdek-track-have { font-family: var(--mono); font-weight: 700; color: #9aebc4; }
.exec-stage-workspace {
  border: 1px solid var(--border); border-radius: 10px; padding: 12px 14px; margin-bottom: 12px;
  background: rgba(110,181,255,.04);
}
.exec-stage-workspace h3 { margin: 0 0 8px; font-size: 0.95rem; }
.exec-protocol-ok {
  margin: 0 0 10px; padding: 8px 10px; border-radius: 8px;
  background: rgba(34, 197, 94, .12); color: var(--text); font-size: 0.84rem; line-height: 1.4;
}
.exec-launch-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.exec-launch-actions button { min-height: 36px; }
.exec-stage-panel {
  display: none; margin-top: 10px; padding: 10px 12px; border-radius: 8px;
  border: 1px solid var(--border); background: var(--panel, rgba(255,255,255,.02));
  overflow: visible; position: relative; z-index: 3;
}
.exec-stage-panel.open { display: block; }
.exec-dov-chips { display: flex; flex-wrap: wrap; gap: 6px; max-width: 420px; }
.exec-dov-chip {
  border: 1px solid var(--border); background: var(--input); color: var(--text);
  border-radius: 999px; padding: 5px 10px; font: inherit; font-size: 0.75rem; font-weight: 700;
  cursor: pointer; min-height: 30px; line-height: 1.1;
}
.exec-dov-chip:hover { border-color: rgba(212,161,90,.55); }
.exec-dov-chip.active {
  border-color: rgba(212,161,90,.7); background: var(--accent-soft); color: #f3d7a8;
}
.exec-dov-workshop-cell { min-width: 88px; max-width: 140px; white-space: nowrap; }
.exec-dov-workshop-label { font-size: 0.8rem; font-weight: 700; color: var(--text); }
.exec-dov-workshop-label.exec-dov-workshop-empty { color: var(--muted); font-weight: 500; }
.exec-dov-groupable { cursor: pointer; user-select: none; }
.exec-dov-sortable { cursor: pointer; user-select: none; }
.exec-dov-groupable:hover, .exec-dov-sortable:hover { color: var(--accent, #d4a15a); }
.exec-dov-grouped, .exec-dov-sorted { color: var(--accent, #d4a15a); }
.exec-dov-th-group-mark, .exec-dov-th-sort-mark { margin-left: 4px; font-size: 0.72rem; }
.exec-dov-th-group-mark.muted, .exec-dov-th-sort-mark.muted { opacity: 0.35; }
.exec-dov-group-chip {
  display: none; align-items: center; gap: 4px; font-size: 0.78rem; color: var(--muted);
  padding: 4px 8px; border-radius: 999px; border: 1px solid var(--border); background: rgba(212,161,90,.08);
}
.exec-dov-group-chip.visible { display: inline-flex; }
.exec-dov-group-chip .ghost { min-height: 22px; padding: 0 6px; font-size: 0.9rem; line-height: 1; }
.exec-dov-filter-unplaced {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--text);
  text-transform: none;
  letter-spacing: 0;
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
}
.exec-dov-filter-unplaced input { accent-color: #1a6fe8; }
.exec-dov-group-row td {
  background: rgba(212,161,90,.08); font-weight: 600; font-size: 0.82rem;
  border-bottom: 1px solid var(--border); cursor: pointer;
}
.exec-dov-group-toggle { display: inline-block; width: 1em; margin-right: 4px; }
.exec-dov-group-count { margin-left: 8px; color: var(--muted); font-weight: 500; font-size: 0.78rem; }
.exec-dov-group-actions { margin-left: 10px; display: inline-flex; gap: 6px; }
.exec-dov-group-actions button { min-height: 28px; padding: 2px 8px; font-size: 0.75rem; }
.exec-dov-toolbar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 8px 0 10px; }
.exec-dov-toolbar select { min-width: 180px; min-height: 36px; z-index: 4; position: relative; }
.exec-dov-toolbar .exec-dov-group-by-asm.active {
  border-color: rgba(110,181,255,.45); background: rgba(110,181,255,.12); color: var(--text);
}
.exec-dov-asm-status {
  margin: 0 0 12px; padding: 10px 12px; border-radius: 10px;
  border: 1px solid var(--border); background: rgba(16,22,31,.45);
}
.exec-dov-asm-status__title {
  font-size: 0.72rem; text-transform: uppercase; letter-spacing: .04em;
  color: var(--muted); font-weight: 700; margin: 0 0 8px;
}
.exec-dov-asm-status__grid { display: grid; gap: 6px; }
.exec-dov-asm-card {
  display: grid; grid-template-columns: auto 1fr auto; gap: 8px 10px; align-items: center;
  padding: 7px 10px; border-radius: 8px; border: 1px solid var(--border);
  font-size: 0.82rem; line-height: 1.35;
}
.exec-dov-asm-card.ok { border-color: rgba(62,207,142,.35); background: rgba(62,207,142,.06); }
.exec-dov-asm-card.miss { border-color: rgba(230,184,76,.35); background: rgba(230,184,76,.06); }
.exec-dov-asm-card__badge {
  font-size: 0.68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .03em;
  padding: 2px 7px; border-radius: 999px; border: 1px solid var(--border); color: var(--muted);
}
.exec-dov-asm-card.ok .exec-dov-asm-card__badge { color: #3ecf8e; border-color: rgba(62,207,142,.4); }
.exec-dov-asm-card.miss .exec-dov-asm-card__badge { color: #e6b84c; border-color: rgba(230,184,76,.4); }
.exec-dov-asm-card__dov { color: var(--muted); font-size: 0.78rem; text-align: right; }
.exec-dov-place-meta { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; margin: 10px 0 4px; }
.exec-dov-place-meta label { display: flex; flex-direction: column; gap: 4px; font-size: 0.72rem; text-transform: uppercase; color: var(--muted); font-weight: 600; letter-spacing: 0.04em; }
.exec-dov-place-meta select, .exec-dov-place-meta input[type="date"] { min-width: 180px; min-height: 36px; }
.exec-ws-toolbar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 8px 0 10px; }
.exec-ws-toolbar select, .exec-ws-toolbar input[type="date"] { min-height: 34px; min-width: 140px; }
.exec-ws-toolbar-check,
.exec-ws-toolbar-field {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.8rem;
  text-transform: none;
  letter-spacing: 0;
  font-weight: 600;
  color: var(--text);
}
.exec-ws-block { margin: 0 0 10px; }
.exec-ws-block--status .exec-ws-toolbar { margin-top: 0; }
.exec-ws-table .exec-ws-group-row td { background: rgba(212,161,90,.08); font-weight: 600; font-size: 0.82rem; vertical-align: middle; border-bottom: 1px solid var(--border); }
.exec-ws-table .exec-ws-group-row td:first-child { padding-top: 10px; padding-bottom: 8px; }
.exec-ws-table .exec-ws-group-row .exec-ws-group-head { font-weight: 600; }
.exec-battle-tasks { margin-top: 4px; }
.exec-battle-summary { font-size: 0.78rem; color: var(--muted); margin: 4px 0 10px; }
.exec-battle-sections { display: grid; gap: 8px; }
.exec-battle-section {
  border: 1px solid var(--border); border-radius: 10px; background: rgba(16,22,31,.35); overflow: hidden;
}
.exec-battle-section.exec-fold {
  border-radius: 10px;
}
.exec-battle-section > summary {
  cursor: pointer; list-style: none; display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
  padding: 8px 12px; user-select: none; font-weight: 700; font-size: 0.84rem;
}
.exec-battle-section > summary::-webkit-details-marker { display: none; }
.exec-battle-section-title { color: var(--text); }
.exec-battle-meta { margin-left: auto; font-weight: 500; font-size: 0.76rem; color: var(--muted); }
.exec-battle-section > :not(summary) { padding: 0 8px 10px; }
.exec-battle-section__body {
  padding: 0 10px 12px;
  display: grid;
  gap: 10px;
}

/* Сворачиваемые блоки — контраст закрыт / открыт */
.exec-fold > summary {
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.exec-fold:not([open]) > summary {
  background: rgba(10, 14, 20, .92);
  border-left: 3px solid rgba(143, 155, 176, .35);
}
.exec-fold[open] {
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .04);
}
.exec-fold[open] > summary {
  border-bottom: 1px solid var(--border);
  font-size: 0.92rem;
}

.exec-flow-group.exec-pipeline__stage.exec-fold:not([open]) > summary {
  border-left: 3px solid rgba(143, 155, 176, .4);
}
.exec-flow-group.exec-pipeline__stage.exec-fold[open] {
  border-color: rgba(110, 181, 255, .45);
  background: rgba(18, 28, 42, .78);
}
.exec-flow-group.exec-pipeline__stage.exec-fold[open] > summary {
  background: rgba(110, 181, 255, .14);
  border-left: 3px solid rgba(110, 181, 255, .65);
  border-bottom-color: rgba(110, 181, 255, .22);
}
.exec-flow-group.exec-pipeline__stage.warn.exec-fold[open] {
  border-color: rgba(230, 184, 76, .5);
  background: rgba(32, 26, 14, .72);
}
.exec-flow-group.exec-pipeline__stage.warn.exec-fold[open] > summary {
  background: rgba(230, 184, 76, .14);
  border-left-color: rgba(230, 184, 76, .7);
}
.exec-flow-group.exec-pipeline__stage.fail.exec-fold[open] {
  border-color: rgba(232, 106, 92, .5);
  background: rgba(32, 16, 16, .72);
}
.exec-flow-group.exec-pipeline__stage.fail.exec-fold[open] > summary {
  background: rgba(232, 106, 92, .14);
  border-left-color: rgba(232, 106, 92, .7);
}

.exec-battle-section.exec-fold:not([open]) > summary {
  border-left: 3px solid rgba(212, 161, 90, .45);
  font-size: 0.88rem;
}
.exec-battle-section.exec-fold[open] > summary {
  background: rgba(212, 161, 90, .1);
  border-left: 3px solid rgba(212, 161, 90, .7);
  font-size: 0.92rem;
}
.exec-battle-section--dovypusk.exec-fold:not([open]) > summary {
  border-left-color: rgba(168, 85, 247, .55);
}
.exec-battle-section--dovypusk.exec-fold[open] {
  border-color: rgba(168, 85, 247, .48);
  background: rgba(28, 18, 38, .72);
}
.exec-battle-section--dovypusk.exec-fold[open] > summary {
  background: rgba(168, 85, 247, .16);
  border-left-color: rgba(196, 130, 255, .85);
  color: #e9d5ff;
}
.exec-battle-section--assembly.exec-fold[open] > summary {
  background: rgba(61, 155, 143, .12);
  border-left-color: rgba(61, 155, 143, .65);
}

.exec-battle-tasks--primary {
  margin-top: 8px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(168, 85, 247, .28);
  background: linear-gradient(180deg, rgba(168, 85, 247, .06), rgba(16, 22, 31, .45));
}
.exec-battle-tasks--primary > .exec-group-title {
  color: #d8b4fe;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
}
.exec-battle-empty-hint {
  margin: 0;
  font-size: 0.82rem;
  color: var(--muted);
  line-height: 1.4;
}

.exec-manual-attach {
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px dashed rgba(168, 85, 247, .45);
  background: rgba(168, 85, 247, .08);
}
.exec-manual-attach__title {
  font-size: 0.82rem;
  font-weight: 700;
  color: #e9d5ff;
  margin-bottom: 8px;
}
.exec-manual-linked__title {
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--muted);
  margin: 4px 0 6px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.exec-manual-form label.exec-manual-check {
  flex-direction: row;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
  font-size: 0.8rem;
  text-transform: none;
  letter-spacing: 0;
  font-weight: 600;
  color: var(--text);
}
.exec-manual-form input[type="text"],
.exec-manual-form select {
  min-height: 34px;
  font-size: 0.88rem;
}
.exec-ws-stage { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--accent, #d4a15a); font-weight: 700; }
.exec-ws-status-row.done td { opacity: .72; }
.exec-ws-status-row.exec-ws-nest-1 td:nth-child(2) { padding-left: 12px; }
.exec-ws-status-row.exec-ws-nest-2 td:nth-child(2) { padding-left: 24px; }
.exec-ws-status-row.exec-ws-nest-3 td:nth-child(2) { padding-left: 36px; }
.exec-ws-deadline-cell input[type="date"] { min-height: 32px; font-size: 0.78rem; }
.exec-ws-table .exec-ws-art-row td { font-size: 0.82rem; vertical-align: middle; }
.exec-ws-group-head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.exec-ws-workshop { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--accent, #d4a15a); padding: 2px 8px; border: 1px solid rgba(212,161,90,.35); border-radius: 6px; }
.exec-ws-group-meta { color: var(--muted); font-weight: 500; font-size: 0.78rem; }
.exec-ws-pos { display: flex; flex-direction: column; gap: 2px; min-width: 140px; }
.exec-ws-art { font-weight: 700; font-size: 0.84rem; }
.exec-ws-name { font-size: 0.78rem; color: var(--text); line-height: 1.25; }
.exec-ws-qty { font-weight: 700; font-size: 0.9rem; text-align: center; white-space: nowrap; }
.exec-ws-note-cell { display: flex; gap: 4px; align-items: center; min-width: 160px; }
.exec-ws-note { flex: 1; min-width: 0; min-height: 32px; font-size: 0.78rem; }
.exec-ws-note-save { padding: 4px 8px; min-height: 32px; }
.exec-dov-place-table .exec-dov-art { font-weight: 600; white-space: nowrap; }
.exec-dov-place-table .exec-dov-name { max-width: 280px; font-size: 0.82rem; }
.exec-dov-pack-col { white-space: nowrap; width: 92px; text-align: center; }
.exec-dov-pack-badge {
  display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: 0.72rem; font-weight: 700;
  border: 1px solid var(--border); color: var(--muted);
}
.exec-dov-pack-badge.full { background: rgba(46,160,96,.14); border-color: rgba(46,160,96,.45); color: #2ea060; }
.exec-dov-pack-badge.partial { background: rgba(212,161,90,.12); border-color: rgba(212,161,90,.45); color: var(--accent, #d4a15a); }
.exec-dov-pack-summary { font-size: 0.78rem; color: var(--muted); font-weight: 600; }
.exec-dov-pack-summary b { color: #2ea060; }
.exec-dov-place-col { white-space: nowrap; min-width: 140px; }
.exec-dov-place-summary { font-size: 0.78rem; color: var(--muted); font-weight: 600; }
.exec-dov-place-summary b { color: var(--accent, #5b9fff); }
.exec-dov-place-badge {
  display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: 0.72rem; font-weight: 700;
  border: 1px solid var(--border); color: var(--muted); max-width: 220px; overflow: hidden; text-overflow: ellipsis;
}
.exec-dov-place-badge.pending { background: rgba(255,255,255,.04); }
.exec-dov-place-badge.placed { background: rgba(91,159,255,.12); border-color: rgba(91,159,255,.4); color: #8ec5ff; }
.exec-dov-place-badge.placed.done { background: rgba(46,160,96,.1); border-color: rgba(46,160,96,.35); color: #7fd4a0; }
.exec-dov-place-badge.packed { background: rgba(46,160,96,.16); border-color: rgba(46,160,96,.5); color: #2ea060; }
.exec-dov-place-table tr.exec-dov-row--placed td { opacity: 0.62; }
.exec-dov-place-table tr.exec-dov-row--placed .exec-dov-place-badge,
.exec-dov-place-table tr.exec-dov-row--packed .exec-dov-pack-badge,
.exec-dov-place-table tr.exec-dov-row--packed .exec-dov-place-badge.packed { opacity: 1; }
.exec-dov-place-table tr.exec-dov-row--packed td { opacity: 0.78; }
.exec-dov-note-global { flex: 1 1 100%; max-width: 480px; }
.exec-dov-place-note { width: 100%; min-height: 52px; resize: vertical; font-size: 0.82rem; }
.exec-dov-place-progress {
  margin: 12px 0 4px;
  padding: 12px 14px;
  border: 1px solid rgba(91, 159, 255, 0.35);
  border-radius: 10px;
  background: rgba(91, 159, 255, 0.08);
}
.exec-dov-place-progress__head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  font-size: 0.85rem;
  font-weight: 600;
}
.exec-dov-place-progress__time {
  margin-left: auto;
  font-size: 0.78rem;
  color: var(--muted);
  font-weight: 500;
}
.exec-dov-place-progress__track {
  height: 7px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  overflow: hidden;
}
.exec-dov-place-progress__bar {
  height: 100%;
  width: 42%;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--accent, #5b9fff), #8ec5ff);
  animation: exec-dov-place-indet 1.35s ease-in-out infinite;
}
@keyframes exec-dov-place-indet {
  0% { transform: translateX(-110%); }
  100% { transform: translateX(320%); }
}
.exec-dov-place-progress__hint {
  margin-top: 7px;
  font-size: 0.78rem;
  color: var(--muted);
}
.exec-dov-place-busy .exec-launch-actions button,
.exec-dov-place-busy .exec-dov-toolbar button,
.exec-dov-place-busy .exec-dov-place-meta input,
.exec-dov-place-busy .exec-dov-place-meta select,
.exec-dov-place-busy .exec-dov-place-meta textarea {
  pointer-events: none;
  opacity: 0.55;
}
.exec-step { cursor: pointer; }
.exec-step.active-stage { outline: 2px solid rgba(110,181,255,.35); }
button.exec-step-act { padding: 8px 12px; min-height: 34px; font-size: 0.84rem; margin-top: 8px; margin-right: 6px; }
.exec-tsd-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.exec-tsd-links a { font-size: 0.82rem; }
.exec-detail-main { margin-top: 4px; }
.exec-detail-cache {
  margin-top: 14px; border: 1px dashed var(--border); border-radius: 10px;
  background: rgba(16,22,31,.35);
}
.exec-detail-cache > summary {
  cursor: pointer; padding: 10px 14px; font-size: 0.84rem; font-weight: 600; color: var(--muted);
  list-style: none;
}
.exec-detail-cache > summary::-webkit-details-marker { display: none; }
.exec-detail-cache[open] > summary { border-bottom: 1px solid var(--border); color: var(--text); }
.exec-detail-cache-body { padding: 10px 14px 14px; }
.exec-manual-panel {
  margin-top: 14px; padding: 12px 14px; border-radius: 10px;
  border: 1px solid var(--border); background: rgba(16,22,31,.45);
}
.exec-manual-panel > summary {
  cursor: pointer; font-size: 0.88rem; font-weight: 600;
}
.exec-manual-panel[open] > summary { margin-bottom: 10px; }
.exec-manual-form { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-end; margin-bottom: 10px; }
.exec-manual-form label { display: flex; flex-direction: column; gap: 4px; font-size: 0.72rem; color: var(--muted); }
.exec-manual-form input[type="text"] { min-width: 140px; padding: 6px 8px; font-size: 0.82rem; }
.exec-manual-list { margin: 0; padding: 0; list-style: none; font-size: 0.82rem; }
.exec-manual-list li { padding: 6px 0; border-bottom: 1px solid var(--border); }
.exec-manual-list li:last-child { border-bottom: none; }
button.exec-force-stage { padding: 2px 8px; min-height: auto; font-size: 0.72rem; margin-top: 4px; margin-right: 6px; }
.exec-step.forced-stage .exec-step-title::after {
  content: " · вручную"; font-size: 0.72rem; color: var(--muted); font-weight: 500;
}
.exec-hint {
  margin: 0 0 12px; padding: 10px 12px; border-radius: 10px;
  border: 1px solid rgba(90,160,255,.25); background: rgba(90,160,255,.06);
  font-size: 0.86rem; line-height: 1.45;
}
.exec-step.attention {
  border-color: rgba(230,184,76,.7);
  background: rgba(230,184,76,.14);
  box-shadow: 0 0 0 1px rgba(230,184,76,.25), 0 8px 24px rgba(230,184,76,.12);
}
.exec-hint.attention {
  border-color: rgba(230,184,76,.55);
  background: rgba(230,184,76,.14);
  color: var(--text);
}
.exec-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; }
.exec-doc-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 8px; margin-bottom: 14px;
}
.exec-doc-card {
  padding: 10px 12px; border: 1px solid var(--border); border-radius: 10px;
  background: rgba(16,22,31,.55); font-size: 0.82rem;
}
.exec-doc-card .label { color: var(--muted); font-size: 0.68rem; text-transform: uppercase; letter-spacing: .04em; font-weight: 700; }
.exec-doc-card .val { margin-top: 4px; font-weight: 600; }
.exec-doc-card a { color: var(--accent); text-decoration: none; }
.exec-doc-card a:hover { text-decoration: underline; }
.exec-prod-table { width: 100%; border-collapse: collapse; font-size: 0.8rem; }
.exec-prod-table th, .exec-prod-table td { border-bottom: 1px solid var(--border); padding: 8px; vertical-align: top; text-align: left; }
.exec-prod-table th { color: var(--muted); font-size: 0.68rem; text-transform: uppercase; }
.exec-prod-table tr.expandable { cursor: pointer; }
.exec-prod-table tr.expandable:hover { background: rgba(255,255,255,.02); }
.exec-prod-detail { display: none; background: rgba(0,0,0,.15); }
.exec-prod-detail.open { display: table-row; }
.exec-prod-detail td { padding: 10px 12px 12px 28px; }
.exec-mini-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 8px; }
.exec-mini { padding: 8px 10px; border: 1px solid var(--border); border-radius: 8px; background: var(--input); font-size: 0.78rem; }
.exec-mini .k { color: var(--muted); font-size: 0.65rem; text-transform: uppercase; }
.exec-mini .v { margin-top: 3px; font-weight: 600; }
.exec-task-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.exec-task-item {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; align-items: start;
  padding: 8px 10px; border: 1px solid var(--border); border-radius: 8px; background: rgba(16,22,31,.45);
}
.exec-task-item.nest-1 { margin-left: 14px; }
.exec-task-item.nest-2 { margin-left: 28px; }
.exec-task-item.nest-3 { margin-left: 42px; }
.exec-task-item.done .exec-task-link,
.exec-task-item.done .exec-task-kind { text-decoration: line-through; text-decoration-color: rgba(255,255,255,.35); }
.exec-task-item a { font-weight: 600; color: var(--accent); text-decoration: none; }
.exec-task-item a:hover { text-decoration: underline; }
.exec-task-meta {
  display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; justify-content: flex-end;
  font-size: 0.78rem; color: var(--muted); max-width: 280px;
}
.exec-task-kind { font-size: 0.68rem; color: var(--muted); text-transform: uppercase; letter-spacing: .03em; margin-bottom: 2px; }
.exec-task-link { font-weight: 600; color: var(--accent); text-decoration: none; overflow-wrap: anywhere; word-break: break-word; }
.exec-task-link:hover { text-decoration: underline; }
.exec-task-comment { font-size: 0.72rem; color: var(--muted); margin-top: 2px; overflow-wrap: anywhere; }
.exec-task-date { font-size: 0.78rem; }
.exec-tracker-block { margin-bottom: 12px; }
.exec-tracker-block:last-child { margin-bottom: 0; }
.exec-tracker-subtitle { font-size: 0.78rem; font-weight: 600; color: var(--muted); margin-bottom: 6px; }
.exec-axis-hidden { display: none !important; }
.modal-frame.wide-exec { width: min(920px, 96vw); }
.sync-pipeline {
  display: grid; gap: 6px; margin-top: 8px;
  max-height: 280px; overflow: auto; padding: 8px;
  border: 1px solid var(--border); border-radius: 8px; background: var(--input);
}
.sync-pipeline .sp-row {
  display: grid; grid-template-columns: 28px 1.2fr 1fr 1fr; gap: 8px; align-items: center;
  font-size: 0.82rem; padding: 6px 4px; border-bottom: 1px solid rgba(42,54,72,.5);
}
.sync-pipeline .sp-row:last-child { border-bottom: 0; }
.sync-pipeline .sp-num { color: var(--muted); font-variant-numeric: tabular-nums; }
.chain-chips { display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin-top:6px; }
.chain-chips .arrow { color: var(--muted); }
.merge-box {
  display:none; margin: 0 0 12px; padding: 12px 14px; border: 1px solid var(--border);
  border-radius: 10px; background: rgba(16,22,31,.55);
}
.merge-box.open { display:block; }
.merge-box .merge-row { display:flex; flex-wrap:wrap; gap:10px; align-items:flex-end; margin-top:8px; }
.merge-box label.field { margin:0; min-width:180px; }
.merge-hint { color: var(--muted); font-size: 0.85rem; margin: 0; }

/* --- Почта России (переиспользует cdek-panel) --- */
.carrier-panel--pochta {
  border-color: rgba(0, 51, 153, .45);
  background: linear-gradient(165deg, rgba(0, 51, 153, .14) 0%, rgba(16, 22, 31, .92) 42%, rgba(16, 22, 31, .98) 100%);
}
.carrier-panel--pochta .cdek-panel__head {
  border-bottom-color: rgba(0, 51, 153, .28);
  background: rgba(0, 51, 153, .1);
}
.carrier-panel--pochta .cdek-panel__logo {
  background: linear-gradient(135deg, #003399, #0055cc);
  box-shadow: 0 4px 14px rgba(0, 51, 153, .4);
  min-width: 58px;
}
.carrier-panel--pochta .cdek-field__input:focus {
  outline-color: rgba(0, 51, 153, .35);
  border-color: rgba(0, 51, 153, .5);
}
.carrier-panel--pochta .cdek-panel__actions .primary {
  background: linear-gradient(135deg, #003399, #0047b3);
}

/* --- Деловые Линии --- */
.carrier-panel--dellin {
  border-color: rgba(232, 119, 34, .45);
  background: linear-gradient(165deg, rgba(232, 119, 34, .12) 0%, rgba(16, 22, 31, .92) 42%, rgba(16, 22, 31, .98) 100%);
}
.carrier-panel--dellin .cdek-panel__head {
  border-bottom-color: rgba(232, 119, 34, .28);
  background: rgba(232, 119, 34, .08);
}
.carrier-panel--dellin .cdek-panel__logo {
  background: linear-gradient(135deg, #e87722, #f5a623);
  box-shadow: 0 4px 14px rgba(232, 119, 34, .35);
  min-width: 42px;
}
.carrier-panel--dellin .cdek-field__input:focus {
  outline-color: rgba(232, 119, 34, .35);
  border-color: rgba(232, 119, 34, .5);
}
.carrier-panel--dellin .cdek-panel__actions .primary {
  background: linear-gradient(135deg, #e87722, #d96510);
}

/* --- Компактные панели СДЭК / Почта --- */
.carrier-panel--compact .cdek-panel__head,
.carrier-panel--compact.carrier-panel--pochta .cdek-panel__head {
  padding: 8px 12px;
}
.carrier-panel--compact .cdek-panel__body {
  padding: 8px 10px 10px;
  gap: 8px;
}
.carrier-panel__head {
  align-items: center;
}
.carrier-panel__titles {
  min-width: 0;
}
.carrier-panel__titles .cdek-panel__title {
  font-size: 0.86rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.carrier-panel__titles .cdek-panel__sub {
  font-size: 0.68rem;
  margin-top: 1px;
}
.carrier-panel--compact .cdek-panel__logo {
  min-width: 44px;
  height: 24px;
  font-size: 0.68rem;
  padding: 0 8px;
}
.carrier-panel--compact .cdek-panel__api {
  font-size: 0.66rem;
  padding: 3px 8px;
}
.carrier-kpi {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}
@media (max-width: 560px) {
  .carrier-kpi { grid-template-columns: 1fr; }
}
.carrier-kpi__item {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: rgba(0, 0, 0, .16);
}
.carrier-kpi__item--em {
  border-color: rgba(212, 161, 90, .4);
  background: rgba(212, 161, 90, .08);
}
.carrier-kpi__lbl {
  font-size: 0.62rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--muted);
  font-weight: 700;
}
.carrier-kpi__val {
  font-size: 0.82rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
.carrier-kpi__item--em .carrier-kpi__val { color: #f3d7a8; }
.carrier-ship-bar {
  display: grid;
  gap: 4px;
  padding: 6px 10px;
  border-radius: 8px;
  border: 1px dashed var(--border);
  background: rgba(255, 255, 255, .02);
  font-size: 0.72rem;
}
.carrier-ship-bar--ok {
  border-color: rgba(62, 207, 142, .35);
  background: rgba(62, 207, 142, .06);
}
.carrier-ship-bar__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
}
.carrier-ship-bar__pulse {
  display: none;
}
.carrier-ship-bar--ok .carrier-ship-bar__pulse {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--ok);
  box-shadow: 0 0 6px rgba(62, 207, 142, .6);
  margin-right: 2px;
}
.carrier-ship-bar__title { font-weight: 700; }
.carrier-ship-bar__id {
  font-family: var(--mono);
  font-size: 0.68rem;
  padding: 1px 6px;
  border-radius: 4px;
  background: rgba(0, 0, 0, .2);
}
.carrier-ship-bar__track { color: var(--muted); }
.carrier-ship-bar__track--wait { font-style: italic; }
.carrier-ship-bar__folder { cursor: help; }
.carrier-ship-bar__status {
  font-weight: 600;
  color: var(--text, #1a1a1a);
  padding: 0.1rem 0.45rem;
  border-radius: 4px;
  background: color-mix(in srgb, var(--ok, #2e7d32) 14%, transparent);
}
.carrier-ship-bar__sync {
  font-size: 0.66rem;
  color: var(--muted);
  line-height: 1.35;
}
.carrier-fold {
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(0, 0, 0, .12);
  overflow: hidden;
}
.carrier-fold__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 7px 10px;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.carrier-fold__head::-webkit-details-marker { display: none; }
.carrier-fold[open] > .carrier-fold__head {
  border-bottom: 1px solid var(--border);
  background: rgba(255, 255, 255, .02);
}
.carrier-fold__title {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--text);
}
.carrier-fold__hint {
  font-size: 0.68rem;
  color: var(--muted);
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 55%;
  text-align: right;
}
.carrier-fold__body {
  padding: 8px 10px;
  display: grid;
  gap: 6px;
}
.cdek-form-grid--compact {
  grid-template-columns: repeat(auto-fill, minmax(108px, 1fr));
  gap: 6px;
}
.cdek-field--inline .cdek-field__input {
  min-height: 30px;
  padding: 4px 8px;
  font-size: 0.78rem;
}
.carrier-panel--compact .cdek-field__label {
  font-size: 0.58rem;
}
.carrier-panel--compact .cdek-field--wide {
  grid-column: 1 / -1;
}
.carrier-panel--compact .cdek-field--wide .cdek-field__input {
  width: 100%;
}
.carrier-panel--compact .cdek-field__input {
  min-height: 30px;
  padding: 4px 8px;
  font-size: 0.78rem;
}
.carrier-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
}
.carrier-panel--compact .cdek-check {
  font-size: 0.72rem;
  margin: 0;
}
.carrier-panel--compact .cdek-cod__hint {
  font-size: 0.68rem;
  margin-top: 2px;
}
.cdek-packages--compact li {
  padding: 5px 8px;
  font-size: 0.74rem;
}
.cdek-warn--compact li {
  padding: 5px 8px;
  font-size: 0.72rem;
}
.carrier-note {
  font-size: 0.72rem;
  color: var(--muted);
  padding: 5px 8px;
  border-radius: 6px;
  border: 1px dashed var(--border);
}
.carrier-docs {
  display: grid;
  gap: 6px;
}
.carrier-docs__lbl {
  font-size: 0.62rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--muted);
  font-weight: 700;
}
.carrier-docs__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr));
  gap: 6px;
}
.carrier-doc-card {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: rgba(0, 0, 0, .14);
}
.carrier-doc-card__info {
  flex: 1;
  min-width: 0;
}
.carrier-doc-card__title {
  font-size: 0.74rem;
  font-weight: 700;
  line-height: 1.25;
}
.carrier-doc-card__meta {
  font-size: 0.64rem;
  color: var(--muted);
  margin-top: 1px;
}
.carrier-doc-card__st { color: var(--muted); }
.carrier-doc-card__st--ok { color: var(--ok); font-weight: 700; }
.carrier-doc-card__btns {
  display: flex;
  gap: 2px;
  flex-shrink: 0;
}
.carrier-doc-card__btns button {
  min-width: 28px;
  min-height: 28px;
  padding: 2px 6px;
  font-size: 0.82rem;
  line-height: 1;
}
.carrier-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  padding-top: 6px;
  border-top: 1px solid var(--border);
}
.carrier-toolbar button {
  min-height: 30px;
  padding: 4px 10px;
  font-size: 0.74rem;
}
.carrier-toolbar .ghost {
  padding: 4px 8px;
}

/* --- Цепочка этапов (pipeline) — компактная --- */
.exec-pipeline {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 8px 0 4px;
  position: relative;
  width: 100%;
}
.exec-pipeline__head {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 8px;
  margin-bottom: 6px;
  padding: 0 2px;
}
.exec-pipeline__head h2 {
  margin: 0;
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--muted);
  font-weight: 800;
}
.exec-pipeline__line {
  flex: 1;
  min-width: 40px;
  height: 1px;
  background: linear-gradient(90deg, var(--border), transparent);
}
.exec-flow { display: grid; gap: 4px; width: 100%; }
.exec-flow--main { gap: 4px; }
.exec-pipeline__compact-block {
  margin-bottom: 8px;
  padding: 8px 10px 10px;
  border-radius: 12px;
  border: 1px solid rgba(61, 155, 143, .28);
  background: rgba(61, 155, 143, .06);
  max-width: 960px;
}
.exec-pipeline__compact-label {
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: #9adcd3;
  font-weight: 800;
  margin-bottom: 6px;
}
.exec-flow--compact {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 4px;
}
.exec-flow--compact .exec-pipeline__stage--compact > summary {
  min-height: 34px;
  padding: 5px 8px;
}
.exec-flow--compact .exec-pipeline__icon {
  width: 26px;
  height: 26px;
  font-size: 0.88rem;
  border-radius: 7px;
}
.exec-flow--compact .exec-flow-title {
  font-size: 0.78rem;
}
.exec-flow--compact .exec-flow-chips {
  display: none;
}
.exec-flow--compact .exec-pipeline__hint {
  font-size: 0.68rem;
}
.exec-flow--compact .exec-status-badge {
  font-size: 0.58rem;
  padding: 0 5px;
}
.exec-pipeline__stage--wide {
  width: 100%;
}
.exec-flow-group.exec-pipeline__stage {
  position: relative;
  margin: 0;
  border-radius: 10px;
  border: 1px solid var(--border);
  background: rgba(16, 22, 31, .5);
  overflow: hidden;
}
.exec-flow-group.exec-pipeline__stage::before { display: none; }
.exec-flow-group.exec-pipeline__stage > summary,
.exec-flow-group.exec-pipeline__stage > .exec-pipeline__summary {
  padding: 6px 10px;
  gap: 8px;
  align-items: center;
  min-height: 38px;
}
.exec-flow-group.exec-pipeline__stage.done {
  border-color: rgba(62, 207, 142, .22);
  background: rgba(16, 22, 31, .45);
}
.exec-flow-group.exec-pipeline__stage.done > summary { opacity: .72; }
.exec-flow-group.exec-pipeline__stage.warn {
  border-color: rgba(230, 184, 76, .4);
}
.exec-flow-group.exec-pipeline__stage.fail {
  border-color: rgba(232, 106, 92, .45);
}
.exec-pipeline__icon {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  flex-shrink: 0;
  border-radius: 8px;
  font-size: 1rem;
  line-height: 1;
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, .03);
}
.exec-flow-group.done .exec-pipeline__icon {
  border-color: rgba(62, 207, 142, .3);
  background: rgba(62, 207, 142, .1);
}
.exec-flow-group.warn .exec-pipeline__icon {
  border-color: rgba(230, 184, 76, .35);
  background: rgba(230, 184, 76, .08);
}
.exec-flow-group.fail .exec-pipeline__icon {
  border-color: rgba(232, 106, 92, .35);
  background: rgba(232, 106, 92, .08);
}
.exec-pipeline__text {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
  flex: 1;
}
.exec-pipeline__text .exec-flow-title {
  font-size: 0.84rem;
  font-weight: 700;
  letter-spacing: -.01em;
  line-height: 1.25;
}
.exec-pipeline__hint {
  font-size: 0.72rem;
  color: var(--muted);
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
.exec-flow-group[open] .exec-pipeline__hint { display: none; }
.exec-pipeline__chevron {
  flex-shrink: 0;
  color: var(--muted);
  font-size: 0.75rem;
  transition: transform .15s ease;
  margin-left: 4px;
}
.exec-flow-group[open] .exec-pipeline__chevron { transform: rotate(180deg); }
.exec-flow-group.exec-pipeline__stage .exec-flow-chips { margin-left: 0; }
.exec-flow-group.exec-pipeline__stage .exec-status-badge {
  font-size: 0.62rem;
  padding: 0 6px;
  margin-left: 0;
}
.exec-flow-group.exec-pipeline__stage[open] > .exec-steps.compact {
  padding: 0 8px 8px;
  gap: 3px;
}
.exec-pipeline__stage .exec-steps.compact .exec-step {
  grid-template-columns: 22px minmax(0, 1fr) auto;
  padding: 5px 8px;
  border-radius: 8px;
  gap: 6px;
}
.exec-pipeline__stage .exec-steps.compact .exec-step .dot {
  width: 22px;
  height: 22px;
  font-size: 0.72rem;
  border-radius: 6px;
}
.exec-pipeline__stage .exec-steps.compact .exec-step-title {
  font-size: 0.78rem;
}
.exec-pipeline__stage .exec-steps.compact .exec-step-detail {
  font-size: 0.72rem;
}
.exec-pipeline__stage .exec-steps.compact .exec-step-act,
.exec-pipeline__stage .exec-steps.compact .exec-force-stage {
  min-height: 26px;
  padding: 3px 7px;
  font-size: 0.72rem;
}
.exec-battle-section > summary {
  padding: 6px 10px;
  min-height: 34px;
}
.exec-battle-tasks .exec-group-title {
  margin-bottom: 6px;
}
.exec-battle-summary {
  margin: 2px 0 6px;
}
.exec-bitrix-deadline-bar {
  margin-bottom: 6px;
}

.exec-stage-workspace {
  border-radius: 10px;
  border: 1px solid rgba(212, 161, 90, .3);
  background: linear-gradient(135deg, rgba(212, 161, 90, .08), rgba(16, 22, 31, .55));
  padding: 10px 12px;
}

.exec-docs-stage-inline {
  padding: 0 8px 10px;
  display: grid;
  gap: 8px;
}
.exec-docs-stage-inline[data-lazy-docs="1"]:empty {
  min-height: 0;
  padding: 0 8px 4px;
}
.exec-docs-stage-inline[data-lazy-docs="1"]:empty::before {
  content: "Загрузка панели ТК…";
  font-size: 0.72rem;
  color: var(--muted);
  padding: 4px 0;
}
.exec-docs-progress {
  padding: 10px 12px;
  border-radius: 10px;
  font-size: 0.82rem;
  line-height: 1.4;
  border: 1px solid var(--border);
  background: rgba(16, 22, 31, .45);
}
.exec-docs-progress.ok {
  border-color: rgba(62, 207, 142, .35);
  color: #9aebc4;
}
.exec-docs-progress.warn {
  border-color: rgba(230, 184, 76, .4);
  color: #f0d592;
}
.exec-docs-manual {
  margin-top: 4px;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px dashed var(--border);
  background: rgba(16, 22, 31, .35);
}
.exec-docs-manual > summary {
  cursor: pointer;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--muted);
  list-style: none;
}
.exec-docs-manual > summary::-webkit-details-marker { display: none; }
.exec-docs-manual[open] > summary { margin-bottom: 8px; color: var(--text); }
.exec-docs-manual-hint {
  margin: 0 0 10px;
  font-size: 0.76rem;
  color: var(--muted);
  line-height: 1.45;
}

.exec-docs-package {
  display: grid;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(212, 161, 90, .22);
  background: linear-gradient(160deg, rgba(212, 161, 90, .06), rgba(16, 22, 31, .62));
}
.exec-docs-package__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px 16px;
}
.exec-docs-package__stats {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  min-width: 0;
  flex: 1 1 220px;
}
.exec-docs-stat {
  display: grid;
  gap: 1px;
  padding: 6px 12px;
  border-radius: 10px;
  border: 1px solid var(--border);
  background: rgba(16, 22, 31, .55);
  min-width: 64px;
  text-align: center;
}
.exec-docs-stat__val {
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.1;
  color: var(--text);
  font-variant-numeric: tabular-nums;
}
.exec-docs-stat__lbl {
  font-size: 0.62rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--muted);
  font-weight: 700;
}
.exec-docs-stat--ok .exec-docs-stat__val { color: var(--ok); }
.exec-docs-stat--warn .exec-docs-stat__val { color: var(--warn); }
.exec-docs-package__msg {
  margin: 0;
  flex: 1 1 180px;
  font-size: 0.78rem;
  line-height: 1.35;
  color: var(--muted);
}
.exec-docs-package__msg--ok { color: #9aebc4; }
.exec-docs-package__msg--warn { color: #f0d592; }
.exec-docs-package__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  flex-shrink: 0;
}
.exec-docs-toolbar-check {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.76rem;
  color: var(--muted);
  padding: 6px 8px;
  border-radius: 8px;
  border: 1px solid transparent;
  cursor: pointer;
  user-select: none;
}
.exec-docs-toolbar-check:hover {
  border-color: var(--border);
  background: rgba(255, 255, 255, .03);
}
.exec-docs-toolbar-check input { margin: 0; accent-color: var(--accent); }
.exec-docs-package__toolbar .ghost,
.exec-docs-package__toolbar .secondary,
.exec-docs-package__toolbar .primary {
  font-size: 0.78rem;
  padding: 6px 12px;
  min-height: 32px;
}
.exec-docs-folder {
  font-size: 0.76rem;
  color: var(--muted);
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px dashed var(--border);
  background: rgba(16, 22, 31, .35);
  word-break: break-all;
  display: grid;
  gap: 4px;
}
.exec-docs-folder__uri {
  display: block;
  font-size: 0.72rem;
  opacity: .85;
}
.exec-docs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 168px), 1fr));
  gap: 8px;
}
.exec-docs-package .exec-doc-card {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr auto;
  grid-template-rows: auto auto;
  grid-template-areas:
    "print icon state"
    "body body body";
  gap: 0 8px;
  align-items: start;
  padding: 8px 10px 10px;
  min-height: 88px;
  border-radius: 10px;
  border: 1px solid var(--border);
  background: rgba(16, 22, 31, .58);
  font-size: 0.78rem;
  transition: border-color .15s, box-shadow .15s, background .15s;
}
.exec-docs-package .exec-doc-card:hover {
  border-color: rgba(212, 161, 90, .35);
  background: rgba(22, 30, 42, .72);
}
.exec-docs-package .exec-doc-card--have {
  border-color: rgba(62, 207, 142, .35);
  background: linear-gradient(145deg, rgba(62, 207, 142, .08), rgba(16, 22, 31, .58));
}
.exec-docs-package .exec-doc-card--missing {
  border-color: rgba(230, 184, 76, .45);
  box-shadow: inset 0 0 0 1px rgba(230, 184, 76, .12);
}
.exec-docs-package .exec-doc-card--na {
  opacity: .72;
}
.exec-docs-package .exec-doc-card--file {
  border-style: dashed;
}
.exec-doc-card__print {
  grid-area: print;
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  margin: 0;
  cursor: pointer;
}
.exec-doc-card__print input {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: var(--accent);
  cursor: pointer;
}
.exec-doc-card__print input:disabled {
  opacity: .35;
  cursor: not-allowed;
}
.exec-doc-card__icon {
  grid-area: icon;
  font-size: 1.15rem;
  line-height: 1;
  opacity: .9;
}
.exec-doc-card__state {
  grid-area: state;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin-top: 4px;
  flex-shrink: 0;
  background: rgba(140, 150, 165, .55);
  box-shadow: 0 0 0 2px rgba(140, 150, 165, .15);
}
.exec-doc-card__state--have {
  background: var(--ok);
  box-shadow: 0 0 0 2px rgba(62, 207, 142, .2), 0 0 8px rgba(62, 207, 142, .35);
}
.exec-doc-card__state--none {
  background: var(--warn);
  box-shadow: 0 0 0 2px rgba(230, 184, 76, .2);
}
.exec-doc-card__state--na {
  background: rgba(140, 150, 165, .45);
}
.exec-doc-card__body {
  grid-area: body;
  display: grid;
  gap: 4px;
  min-width: 0;
  margin-top: 4px;
}
.exec-doc-card__title {
  font-weight: 700;
  font-size: 0.76rem;
  line-height: 1.25;
  color: var(--text);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.exec-doc-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
}
.exec-doc-axis {
  display: inline-block;
  font-size: 0.58rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--muted);
  letter-spacing: .04em;
  padding: 1px 5px;
  border-radius: 4px;
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, .03);
}
.exec-doc-tag {
  display: inline-block;
  font-size: 0.58rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .03em;
  padding: 1px 5px;
  border-radius: 4px;
  color: var(--muted);
  background: rgba(255, 255, 255, .04);
}
.exec-doc-tag--req { color: #f0d592; background: rgba(230, 184, 76, .12); }
.exec-doc-tag--auto { color: #9ec8ff; background: rgba(100, 160, 255, .1); }
.exec-doc-tag--file { color: #b8c4d4; }
.exec-doc-tag--ok { color: var(--ok); background: rgba(62, 207, 142, .1); }
.exec-doc-card__status {
  width: 100%;
  margin-top: 2px;
  padding: 4px 6px;
  font-size: 0.72rem;
  border-radius: 6px;
  border: 1px solid var(--border);
  background: rgba(8, 12, 18, .55);
  color: var(--text);
}
.exec-doc-card__status:focus {
  outline: none;
  border-color: rgba(212, 161, 90, .5);
}
.exec-docs-package-hint {
  margin: 0;
  font-size: 0.78rem;
  color: var(--muted);
  line-height: 1.4;
}
.exec-docs-package-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.exec-docs-folder__label {
  font-weight: 700;
  text-transform: uppercase;
  font-size: 0.62rem;
  letter-spacing: .04em;
  margin-right: 6px;
  color: var(--text);
}
.exec-docs-package-table .exec-doc-axis {
  display: inline-block;
  margin-left: 6px;
  font-size: 0.62rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--muted);
  letter-spacing: .03em;
}
.exec-doc-auto {
  font-size: 0.68rem;
  color: var(--muted);
  margin-top: 2px;
}

/* === Layout A: flow strip + workspace === */
.exec-workfield--layout-a {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
}
.exec-flow-strip {
  width: 100%;
  overflow-x: auto;
  padding: 2px 0 6px;
  -webkit-overflow-scrolling: touch;
}
.exec-flow-strip__macros {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 8px;
  min-width: min-content;
}
.exec-flow-strip__macro-gap {
  display: grid;
  place-items: center;
  color: rgba(212, 161, 90, .55);
  font-size: 1rem;
  padding: 0 2px;
  flex-shrink: 0;
  align-self: center;
}
.exec-flow-macro {
  display: grid;
  gap: 6px;
  padding: 8px 10px 10px;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, .08);
  background: rgba(12, 18, 26, .55);
  flex-shrink: 0;
}
.exec-flow-macro--done { border-color: rgba(62, 207, 142, .25); }
.exec-flow-macro--warn { border-color: rgba(230, 184, 76, .35); }
.exec-flow-macro--fail { border-color: rgba(232, 106, 92, .4); }
.exec-flow-macro__head {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}
.exec-flow-macro__badge {
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: rgba(212, 161, 90, .22);
  color: #e8c89a;
  font-size: 0.62rem;
  font-weight: 800;
  flex-shrink: 0;
}
.exec-flow-macro__title {
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .04em;
  white-space: nowrap;
}
.exec-flow-macro__track {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 4px;
}
.exec-flow-strip__track {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 4px;
  min-width: min-content;
}
.exec-flow-strip__arrow {
  display: grid;
  place-items: center;
  color: var(--muted);
  opacity: .45;
  font-size: 0.85rem;
  padding: 0 2px;
  flex-shrink: 0;
}
.exec-flow-node {
  display: grid;
  grid-template-columns: auto auto;
  grid-template-rows: auto auto;
  gap: 2px 6px;
  align-items: center;
  min-width: 118px;
  max-width: 160px;
  padding: 8px 10px;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: rgba(16, 22, 31, .7);
  color: var(--text);
  cursor: pointer;
  text-align: left;
  font: inherit;
  font-weight: 600;
  position: relative;
  flex-shrink: 0;
}
.exec-flow-node:hover {
  border-color: rgba(110, 181, 255, .45);
  background: rgba(24, 34, 48, .95);
}
.exec-flow-node.is-active {
  border-color: rgba(212, 161, 90, .65);
  box-shadow: 0 0 0 1px rgba(212, 161, 90, .25);
  background: linear-gradient(160deg, rgba(212, 161, 90, .16), rgba(16, 22, 31, .9));
}
.exec-flow-node__num {
  grid-column: 1;
  grid-row: 1;
  font-size: 0.62rem;
  color: var(--muted);
  font-weight: 800;
}
.exec-flow-node__icon {
  grid-column: 2;
  grid-row: 1;
  justify-self: end;
  font-size: 1.05rem;
  line-height: 1;
}
.exec-flow-node__title {
  grid-column: 1 / -1;
  grid-row: 2;
  font-size: 0.78rem;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.exec-flow-node__dot {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--muted);
}
.exec-flow-node.done .exec-flow-node__dot { background: var(--ok); }
.exec-flow-node.warn .exec-flow-node__dot { background: var(--warn); }
.exec-flow-node.fail .exec-flow-node__dot { background: var(--fail); }
.exec-flow-node.done { opacity: .78; }
.exec-flow-node.warn { border-color: rgba(230, 184, 76, .4); }
.exec-flow-node.fail { border-color: rgba(232, 106, 92, .45); }

.exec-subtask-panel {
  border: 1px solid var(--border);
  border-radius: 10px;
  background: rgba(16, 22, 31, .55);
  padding: 8px 10px;
}
.exec-subtask-panel--done {
  opacity: .82;
}
.exec-subtask-panel__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
}
.exec-subtask-panel__info {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  min-width: 0;
  flex: 1 1 180px;
  max-width: 100%;
}
.exec-subtask-panel__link {
  font-weight: 700;
  font-size: 0.8rem;
  line-height: 1.25;
  color: #9ec8ff;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: min(280px, 42vw);
}
a.exec-subtask-panel__link:hover { text-decoration: underline; }
span.exec-subtask-panel__link { color: var(--text); }
.exec-subtask-panel__id {
  font-size: 0.68rem;
  color: var(--muted);
  font-weight: 600;
  flex-shrink: 0;
}
.exec-subtask-inline {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: .03em;
  color: var(--muted);
  font-weight: 700;
  flex-shrink: 0;
}
.exec-subtask-inline--grow {
  flex: 1 1 140px;
  min-width: 120px;
  max-width: 360px;
}
.exec-subtask-inline input,
.exec-subtask-inline select {
  text-transform: none;
  letter-spacing: 0;
  font-weight: 600;
  font-size: 0.8rem;
  color: var(--text);
  min-height: 32px;
  padding: 4px 8px;
  border-radius: 6px;
  border: 1px solid var(--border);
  background: rgba(8, 12, 18, .55);
}
.exec-subtask-inline input[type="date"] {
  min-width: 132px;
  width: 132px;
}
.exec-subtask-inline select {
  min-width: 148px;
  max-width: 200px;
}
.exec-subtask-inline--grow input {
  width: 100%;
  min-width: 0;
}
.exec-subtask-panel__row .exec-subtask-save {
  font-size: 0.78rem;
  padding: 6px 12px;
  min-height: 32px;
  flex-shrink: 0;
}
.exec-subtask-panel__open {
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 6px;
  border: 1px solid var(--border);
  color: var(--muted);
  text-decoration: none;
  font-size: 0.9rem;
  flex-shrink: 0;
}
.exec-subtask-panel__open:hover {
  border-color: rgba(212, 161, 90, .4);
  color: var(--text);
  background: rgba(255, 255, 255, .04);
}
.exec-subtask-panel__hint {
  font-size: 0.72rem;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .04em;
  flex-shrink: 0;
}
.exec-subtask-panel--empty {
  padding: 10px 12px;
  font-size: 0.82rem;
}
.exec-workspace {
  width: 100%;
  min-height: 280px;
}
.exec-workspace-pane {
  display: none;
}
.exec-workspace-pane.exec-workspace-pane--active {
  display: block;
}
.exec-workspace.exec-workspace--loading {
  opacity: 0.72;
  pointer-events: none;
}
.exec-dov-loading__row {
  display: flex;
  align-items: center;
  gap: 10px;
}
.exec-dov-loading__spinner {
  width: 18px;
  height: 18px;
  border: 2px solid rgba(255, 255, 255, 0.15);
  border-top-color: var(--accent, #5b9fff);
  border-radius: 50%;
  animation: exec-dov-spin 0.75s linear infinite;
  flex-shrink: 0;
}
@keyframes exec-dov-spin {
  to { transform: rotate(360deg); }
}
.exec-workspace-card__body .exec-dov-loading .exec-dov-loading__text {
  font-weight: 600;
}
.exec-workspace-card {
  border: 1px solid var(--border);
  border-radius: 14px;
  background: rgba(16, 22, 31, .55);
  padding: 12px 14px 16px;
  width: 100%;
}
.exec-workspace-card__head {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: baseline;
  margin-bottom: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--border);
}
.exec-workspace-card__head h3 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
}
.exec-workspace-card__body {
  display: grid;
  gap: 12px;
}
.exec-workspace-steps {
  margin-bottom: 8px;
}
.exec-workspace-hint {
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.45;
}
.exec-settings-body {
  display: grid;
  gap: 14px;
}
.exec-settings-status {
  margin: 0;
}
.exec-settings-status.err {
  color: var(--fail);
}
.exec-prod-row-dup td {
  background: rgba(255, 120, 80, .06);
}
.exec-tsd-prod-toolbar,
.exec-tsd-bitrix-toolbar {
  margin-bottom: 10px;
}
.exec-settings-scale {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid var(--border);
  background: rgba(16, 22, 31, .4);
}
#execSettingsGateway .exec-gateway {
  margin: 0;
}

/* === Order dashboard (unified overview + navigation) === */
.exec-order-dashboard {
  border: 1px solid var(--border);
  border-radius: 14px;
  background: linear-gradient(160deg, rgba(22, 30, 42, .95), rgba(16, 22, 31, .82));
  padding: 12px 14px 14px;
  display: grid;
  gap: 10px;
  width: 100%;
}
.exec-order-dashboard--unified {
  box-shadow: 0 8px 32px rgba(0, 0, 0, .22);
}
.exec-dash-head {
  display: grid;
  grid-template-columns: 1fr auto auto auto;
  gap: 8px 14px;
  align-items: center;
  min-width: 0;
}
@media (max-width: 760px) {
  .exec-dash-head { grid-template-columns: 1fr; }
}
.exec-dash-head__main {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.exec-dash-head__client {
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--muted);
  max-width: min(380px, 42vw);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  justify-self: end;
}
.exec-dash-head__progress {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 1px;
  font-variant-numeric: tabular-nums;
}
.exec-dash-head__pct {
  font-size: 1.1rem;
  font-weight: 800;
  color: #e8c89a;
  line-height: 1;
}
.exec-dash-head__count {
  font-size: 0.62rem;
  color: var(--muted);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.exec-sync-btn {
  border: none;
  border-radius: 8px;
  padding: 6px 14px;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: .02em;
  cursor: pointer;
  color: #fff;
  background: linear-gradient(180deg, #3b8bff 0%, #1a6fe8 100%);
  box-shadow: 0 2px 8px rgba(26, 111, 232, .45), inset 0 1px 0 rgba(255,255,255,.2);
  transition: filter .12s, transform .08s;
  white-space: nowrap;
}
.exec-sync-btn:hover {
  filter: brightness(1.08);
}
.exec-sync-btn:active {
  transform: translateY(1px);
}
.exec-sync-btn:disabled {
  opacity: .55;
  cursor: wait;
}
.exec-dash-head .exec-sync-btn {
  justify-self: end;
  align-self: start;
}
.exec-workspace-card__head .exec-sync-btn {
  margin-left: auto;
  flex-shrink: 0;
}
.exec-workspace-card__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
}
.exec-dash-order-no {
  font-size: 1.15rem;
  font-weight: 800;
  letter-spacing: .01em;
}
.exec-dash-type-link {
  border: 1px solid rgba(110, 181, 255, .4);
  background: rgba(110, 181, 255, .12);
  color: #9ec8ff;
  border-radius: 999px;
  padding: 3px 10px;
  font: inherit;
  font-size: 0.74rem;
  font-weight: 700;
  cursor: pointer;
  transition: border-color .12s, background .12s;
}
.exec-dash-type-link:hover {
  border-color: rgba(110, 181, 255, .7);
  background: rgba(110, 181, 255, .2);
}
.exec-dash-type-link--draft {
  border-style: dashed;
  opacity: .78;
  color: var(--muted);
}
.exec-dash-info {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(92px, 1fr));
  gap: 6px;
  width: 100%;
}
.exec-dash-tile {
  display: grid;
  gap: 3px;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, .07);
  background: rgba(0, 0, 0, .2);
  min-width: 0;
  text-align: left;
  color: inherit;
  text-decoration: none;
  font: inherit;
  transition: border-color .12s, background .12s, transform .12s;
}
.exec-dash-tile--btn,
.exec-dash-tile--link { cursor: pointer; }
.exec-dash-tile--btn:hover,
.exec-dash-tile--link:hover {
  border-color: rgba(110, 181, 255, .35);
  background: rgba(24, 34, 48, .85);
  transform: translateY(-1px);
}
.exec-dash-tile__val {
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.exec-dash-tile__lbl {
  font-size: 0.6rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--muted);
  font-weight: 700;
}
.exec-dash-tile__hint {
  margin-left: 4px;
  text-transform: none;
  letter-spacing: 0;
  font-weight: 600;
  opacity: .85;
}
.exec-dash-tile--ok .exec-dash-tile__val { color: var(--ok); }
.exec-dash-tile--warn .exec-dash-tile__val { color: var(--warn); }
.exec-dash-tile--fail .exec-dash-tile__val { color: var(--fail); }
.exec-dash-tile--accent .exec-dash-tile__val { color: #9ec8ff; }
.exec-dash-tile--muted .exec-dash-tile__val { color: var(--muted); }
.exec-dash-inline-link {
  color: #9ec8ff;
  text-decoration: none;
  font-weight: 700;
}
.exec-dash-inline-link:hover { text-decoration: underline; }
.exec-dash-deadline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, .08);
  background: rgba(0, 0, 0, .22);
  grid-column: span 2;
  min-width: min(100%, 240px);
}
@media (max-width: 520px) {
  .exec-dash-deadline { grid-column: 1 / -1; }
}
.exec-dash-deadline--ok { border-color: rgba(62, 207, 142, .28); }
.exec-dash-deadline--warn { border-color: rgba(230, 184, 76, .4); box-shadow: inset 0 0 0 1px rgba(230, 184, 76, .12); }
.exec-dash-deadline--fail { border-color: rgba(232, 106, 92, .45); box-shadow: inset 0 0 0 1px rgba(232, 106, 92, .15); }
.exec-dash-deadline-marker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 52px;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: .02em;
  flex-shrink: 0;
}
.exec-dash-deadline-marker--ok {
  background: rgba(62, 207, 142, .18);
  color: #9aebc4;
  border: 1px solid rgba(62, 207, 142, .35);
}
.exec-dash-deadline-marker--warn {
  background: rgba(230, 184, 76, .2);
  color: #ffe08a;
  border: 1px solid rgba(230, 184, 76, .45);
  animation: exec-deadline-pulse 2.4s ease-in-out infinite;
}
.exec-dash-deadline-marker--fail {
  background: rgba(232, 106, 92, .22);
  color: #ffb4aa;
  border: 1px solid rgba(232, 106, 92, .5);
  animation: exec-deadline-pulse 1.6s ease-in-out infinite;
}
.exec-dash-deadline-marker--muted {
  background: rgba(255, 255, 255, .06);
  color: var(--muted);
  border: 1px solid rgba(255, 255, 255, .08);
}
@keyframes exec-deadline-pulse {
  0%, 100% { box-shadow: 0 0 0 0 transparent; }
  50% { box-shadow: 0 0 0 3px rgba(230, 184, 76, .15); }
}
.exec-dash-deadline__field {
  display: grid;
  gap: 2px;
  flex: 1 1 auto;
  min-width: 120px;
}
.exec-dash-deadline__lbl {
  font-size: 0.6rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--muted);
  font-weight: 700;
}
.exec-dash-deadline-input {
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 8px;
  background: rgba(16, 22, 31, .8);
  color: var(--text);
  padding: 5px 8px;
  font: inherit;
  font-size: 0.84rem;
  font-weight: 600;
  min-width: 0;
}
.exec-dash-deadline-clear {
  padding: 4px 8px !important;
  min-height: auto !important;
  font-size: 1rem !important;
  line-height: 1 !important;
  opacity: .7;
}
.exec-dash-phases {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  width: 100%;
}
@media (max-width: 980px) {
  .exec-dash-phases { grid-template-columns: 1fr; }
}
.exec-dash-phase {
  display: grid;
  gap: 8px;
  padding: 10px 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, .09);
  background: rgba(8, 12, 18, .45);
  min-width: 0;
}
.exec-dash-phase--done { border-color: rgba(62, 207, 142, .3); }
.exec-dash-phase--warn { border-color: rgba(230, 184, 76, .38); }
.exec-dash-phase--fail { border-color: rgba(232, 106, 92, .42); }
.exec-dash-phase.is-stuck {
  box-shadow: 0 0 0 1px rgba(230, 184, 76, .5);
  background: rgba(230, 184, 76, .07);
}
.exec-dash-phase__head {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.exec-dash-phase__badge {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: rgba(212, 161, 90, .24);
  color: #e8c89a;
  font-size: 0.68rem;
  font-weight: 800;
  flex-shrink: 0;
}
.exec-dash-phase__meta {
  display: grid;
  gap: 1px;
  min-width: 0;
}
.exec-dash-phase__title {
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.exec-dash-phase__stat {
  font-size: 0.62rem;
  color: var(--muted);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.exec-dash-phase__track {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 4px;
}
.exec-dash-phase-node {
  display: grid;
  grid-template-columns: auto auto;
  grid-template-rows: auto auto;
  gap: 2px 6px;
  align-items: center;
  flex: 1 1 88px;
  min-width: 88px;
  max-width: 140px;
  padding: 7px 8px;
  border-radius: 10px;
  border: 1px solid var(--border);
  background: rgba(16, 22, 31, .75);
  color: var(--text);
  cursor: pointer;
  text-align: left;
  font: inherit;
  font-weight: 600;
  position: relative;
}
.exec-dash-phase-node:hover {
  border-color: rgba(110, 181, 255, .45);
  background: rgba(24, 34, 48, .95);
}
.exec-dash-phase-node.is-active {
  border-color: rgba(212, 161, 90, .7);
  box-shadow: 0 0 0 1px rgba(212, 161, 90, .28);
  background: linear-gradient(160deg, rgba(212, 161, 90, .18), rgba(16, 22, 31, .92));
}
.exec-dash-phase-node.is-stuck {
  box-shadow: 0 0 0 1px rgba(230, 184, 76, .55);
}
.exec-dash-phase-node__num {
  grid-column: 1;
  grid-row: 1;
  font-size: 0.58rem;
  color: var(--muted);
  font-weight: 800;
}
.exec-dash-phase-node__icon {
  grid-column: 2;
  grid-row: 1;
  justify-self: end;
  font-size: 0.95rem;
  line-height: 1;
}
.exec-dash-phase-node__title {
  grid-column: 1 / -1;
  grid-row: 2;
  font-size: 0.72rem;
  line-height: 1.15;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.exec-dash-phase-node__dot {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .2);
}
.exec-dash-phase-node.done { opacity: .82; }
.exec-dash-phase-node.done .exec-dash-phase-node__dot { background: var(--ok); }
.exec-dash-phase-node.warn { border-color: rgba(230, 184, 76, .4); }
.exec-dash-phase-node.warn .exec-dash-phase-node__dot { background: var(--warn); }
.exec-dash-phase-node.fail { border-color: rgba(232, 106, 92, .45); }
.exec-dash-phase-node.fail .exec-dash-phase-node__dot { background: var(--fail); }
.exec-dash-phase-node__arrow {
  display: grid;
  place-items: center;
  color: var(--muted);
  opacity: .35;
  font-size: 0.75rem;
  flex-shrink: 0;
  align-self: center;
}
/* legacy aliases kept for list/other views */
.exec-dash-top {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 6px 12px;
  min-width: 0;
}
.exec-dash-id {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  min-width: 0;
}
.exec-dash-order-no {
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: .01em;
}
.exec-dash-type {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid rgba(110, 181, 255, .35);
  background: rgba(110, 181, 255, .1);
  font-size: 0.72rem;
  font-weight: 700;
  color: #9ec8ff;
}
.exec-dash-type--draft {
  border-style: dashed;
  opacity: .75;
}
.exec-dash-client {
  font-size: 0.84rem;
  font-weight: 600;
  color: var(--muted);
  max-width: min(420px, 48vw);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.exec-dash-kpis {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(88px, 1fr));
  gap: 6px;
}
.exec-dash-kpi {
  padding: 7px 9px;
  border-radius: 9px;
  border: 1px solid rgba(255, 255, 255, .06);
  background: rgba(0, 0, 0, .18);
  min-width: 0;
}
.exec-dash-kpi__val {
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.exec-dash-kpi__val small { font-size: 0.72rem; font-weight: 600; opacity: .8; }
.exec-dash-kpi__lbl {
  margin-top: 2px;
  font-size: 0.62rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--muted);
  font-weight: 700;
}
.exec-dash-kpi__sub {
  margin-left: 4px;
  text-transform: none;
  letter-spacing: 0;
  font-weight: 600;
  opacity: .85;
}
.exec-dash-kpi__sep {
  margin: 0 3px;
  opacity: .45;
  font-weight: 400;
}
.exec-dash-kpi--ok .exec-dash-kpi__val { color: var(--ok); }
.exec-dash-kpi--warn .exec-dash-kpi__val { color: var(--warn); }
.exec-dash-kpi--fail .exec-dash-kpi__val { color: var(--fail); }
.exec-dash-kpi--accent .exec-dash-kpi__val { color: #9ec8ff; }
.exec-dash-kpi--muted .exec-dash-kpi__val { color: var(--muted); }
.exec-workspace-macro {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid rgba(212, 161, 90, .35);
  background: rgba(212, 161, 90, .1);
  font-size: 0.68rem;
  font-weight: 700;
  color: #e8c89a;
}
.exec-dash-pipeline__track--macro {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}
@media (max-width: 900px) {
  .exec-dash-pipeline__track--macro {
    grid-template-columns: 1fr;
  }
}
.exec-dash-macro {
  display: grid;
  gap: 4px;
  padding: 6px 7px 5px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, .07);
  background: rgba(0, 0, 0, .16);
  min-width: 0;
}
.exec-dash-macro--done { border-color: rgba(62, 207, 142, .28); }
.exec-dash-macro--warn { border-color: rgba(230, 184, 76, .35); }
.exec-dash-macro--fail { border-color: rgba(232, 106, 92, .38); }
.exec-dash-macro.is-stuck {
  box-shadow: 0 0 0 1px rgba(230, 184, 76, .45);
  background: rgba(230, 184, 76, .08);
}
.exec-dash-macro__head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 6px;
  min-width: 0;
}
.exec-dash-macro__title {
  font-size: 0.62rem;
  font-weight: 700;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .03em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.exec-dash-macro__count {
  font-size: 0.62rem;
  font-weight: 700;
  color: var(--text);
  font-variant-numeric: tabular-nums;
  flex-shrink: 0;
}
.exec-dash-macro__subs {
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
}
.exec-dash-subseg {
  flex: 1 1 auto;
  min-width: 44px;
  display: grid;
  gap: 2px;
  justify-items: center;
  padding: 3px 2px 2px;
  border: 0;
  border-radius: 5px;
  background: rgba(255, 255, 255, .04);
  cursor: pointer;
}
.exec-dash-subseg:hover { background: rgba(255, 255, 255, .08); }
.exec-dash-subseg__dot {
  width: 100%;
  height: 3px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .12);
}
.exec-dash-subseg.done .exec-dash-subseg__dot { background: rgba(62, 207, 142, .85); }
.exec-dash-subseg.warn .exec-dash-subseg__dot { background: rgba(230, 184, 76, .9); }
.exec-dash-subseg.fail .exec-dash-subseg__dot { background: rgba(232, 106, 92, .95); }
.exec-dash-subseg.is-stuck {
  box-shadow: 0 0 0 1px rgba(230, 184, 76, .55);
  background: rgba(230, 184, 76, .1);
}
.exec-dash-subseg__label {
  font-size: 0.52rem;
  line-height: 1.1;
  color: var(--muted);
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.exec-dash-pipeline {
  display: grid;
  gap: 4px;
}
.exec-dash-pipeline__meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.68rem;
  color: var(--muted);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.exec-dash-pipeline__pct {
  font-variant-numeric: tabular-nums;
  color: var(--text);
}
.exec-dash-pipeline__track {
  display: flex;
  gap: 3px;
  width: 100%;
  min-width: 0;
}
.exec-dash-seg {
  flex: 1 1 0;
  min-width: 0;
  display: grid;
  gap: 3px;
  justify-items: center;
  padding: 4px 2px 3px;
  border: 0;
  border-radius: 6px;
  background: rgba(255, 255, 255, .04);
  cursor: pointer;
  transition: background .12s, transform .12s;
}
.exec-dash-seg:hover { background: rgba(255, 255, 255, .08); transform: translateY(-1px); }
.exec-dash-seg__dot {
  width: 100%;
  height: 4px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .12);
}
.exec-dash-seg.done .exec-dash-seg__dot { background: rgba(62, 207, 142, .85); }
.exec-dash-seg.warn .exec-dash-seg__dot { background: rgba(230, 184, 76, .9); }
.exec-dash-seg.fail .exec-dash-seg__dot { background: rgba(232, 106, 92, .95); }
.exec-dash-seg.pending .exec-dash-seg__dot { background: rgba(255, 255, 255, .14); }
.exec-dash-seg.is-stuck {
  box-shadow: 0 0 0 1px rgba(230, 184, 76, .55);
  background: rgba(230, 184, 76, .1);
}
.exec-dash-seg__label {
  font-size: 0.58rem;
  line-height: 1.15;
  color: var(--muted);
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.exec-dash-seg.done .exec-dash-seg__label { color: #9aebc4; }
.exec-dash-seg.warn .exec-dash-seg__label,
.exec-dash-seg.fail .exec-dash-seg__label { color: var(--text); }
.exec-dash-blocker {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 7px 10px;
  border-radius: 8px;
  font-size: 0.8rem;
  line-height: 1.35;
}
.exec-dash-blocker--fail {
  border: 1px solid rgba(232, 106, 92, .45);
  background: rgba(232, 106, 92, .1);
  color: #f5b5ad;
}
.exec-dash-blocker--warn,
.exec-dash-blocker--pending {
  border: 1px solid rgba(230, 184, 76, .45);
  background: rgba(230, 184, 76, .1);
  color: #f0d592;
}
.exec-dash-blocker__icon {
  font-weight: 800;
  flex-shrink: 0;
}
.exec-dash-blocker__body { flex: 1 1 180px; min-width: 0; }
.exec-dash-goto {
  min-height: 26px;
  padding: 2px 8px;
  font-size: 0.72rem;
  flex-shrink: 0;
}
.exec-dash-hint {
  padding: 6px 8px;
  border-radius: 8px;
  border: 1px dashed rgba(255, 255, 255, .1);
  font-size: 0.78rem;
  color: var(--muted);
  line-height: 1.35;
}
.exec-stage-workspace__hint--muted { color: var(--muted); font-size: 0.82rem; }

.exec-dash-composition {
  border: 1px solid rgba(255, 255, 255, .06);
  border-radius: 9px;
  background: rgba(0, 0, 0, .16);
  overflow: hidden;
}
.exec-dash-composition__head {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  gap: 8px 10px;
  align-items: center;
  padding: 7px 10px;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.exec-dash-composition__head::-webkit-details-marker { display: none; }
.exec-dash-composition[open] .exec-dash-composition__head {
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}
.exec-dash-composition__title {
  font-size: 0.62rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--muted);
  white-space: nowrap;
}
.exec-dash-composition__meta {
  font-size: 0.72rem;
  font-weight: 700;
  color: #9ec8ff;
  white-space: nowrap;
}
.exec-dash-composition__brief {
  font-size: 0.78rem;
  color: var(--text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}
.exec-dash-composition__body {
  padding: 0 8px 8px;
  max-height: 220px;
  overflow: auto;
}
.exec-dash-composition__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.78rem;
}
.exec-dash-composition__table th,
.exec-dash-composition__table td {
  border-bottom: 1px solid rgba(255, 255, 255, .05);
  padding: 5px 6px;
  text-align: left;
  vertical-align: top;
}
.exec-dash-composition__table th {
  color: var(--muted);
  font-size: 0.62rem;
  text-transform: uppercase;
  letter-spacing: .03em;
  position: sticky;
  top: 0;
  background: rgba(16, 22, 31, .95);
}
.exec-dash-composition__art { white-space: nowrap; }
.exec-dash-composition__name {
  color: var(--muted);
  line-height: 1.3;
  max-width: 280px;
}
.exec-dash-composition__qty { text-align: right; white-space: nowrap; }
.exec-dash-composition__no {
  color: var(--muted);
  width: 28px;
  text-align: right;
}
.exec-dash-composition__state {
  font-size: 0.68rem;
  color: var(--muted);
  white-space: nowrap;
}
.exec-dash-history { margin-top: 8px; }
.exec-dash-history__body { max-height: 320px; }
.exec-dash-history__time { white-space: nowrap; color: var(--muted); width: 1%; }
.exec-dash-history__src {
  white-space: nowrap;
  font-size: 0.68rem;
  font-weight: 700;
  color: #9ec8ff;
  width: 1%;
}
.exec-dash-history__who { white-space: nowrap; color: var(--muted); font-size: 0.74rem; }
.exec-dash-history__tasks a { white-space: nowrap; }
.exec-dash-history__row--warn td { color: #ffcf7a; }

/* Табло «Цех · задания довыпуска» */
.exec-wsb-host:empty { display: none; }
.exec-wsb {
  border: 1px solid rgba(110, 181, 255, .22);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(22, 32, 46, .75), rgba(14, 20, 29, .6));
  padding: 10px 12px 12px;
  scroll-margin-top: 12px;
}
.exec-wsb.is-collapsed { padding-bottom: 10px; }
.exec-wsb--empty { border-style: dashed; border-color: rgba(230, 184, 76, .35); background: rgba(230, 184, 76, .04); }
.exec-wsb__head {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.exec-wsb__toggle {
  border: 0;
  background: transparent;
  color: var(--muted);
  font-size: 0.9rem;
  width: 22px;
  padding: 0;
  cursor: pointer;
}
.exec-wsb__title {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 800;
  letter-spacing: .01em;
}
.exec-wsb__kpis { display: flex; gap: 6px; flex-wrap: wrap; flex: 1 1 auto; }
.exec-wsb-kpi {
  display: inline-flex;
  align-items: center;
  padding: 2px 9px;
  border-radius: 999px;
  border: 1px solid var(--border);
  font-size: 0.74rem;
  font-weight: 700;
  color: var(--text, inherit);
  background: rgba(255, 255, 255, .03);
  white-space: nowrap;
  font-family: inherit;
}
button.exec-wsb-kpi { cursor: pointer; }
.exec-wsb-kpi--accent { color: #9ec8ff; border-color: rgba(110, 181, 255, .35); }
.exec-wsb-kpi--ok { color: var(--ok); border-color: rgba(62, 207, 142, .35); }
.exec-wsb-kpi--warn { color: var(--warn); border-color: rgba(230, 184, 76, .4); }
.exec-wsb-kpi--fail { color: var(--fail); border-color: rgba(232, 106, 92, .45); background: rgba(232, 106, 92, .08); }
.exec-wsb__src { font-size: 0.72rem; color: var(--muted); white-space: nowrap; }
.exec-wsb-refresh { padding: 2px 8px; font-size: 0.9rem; line-height: 1.2; }
.exec-wsb-refresh.is-spinning { animation: exec-wsb-spin .9s linear infinite; }
@keyframes exec-wsb-spin { to { transform: rotate(360deg); } }
.exec-wsb-goto { font-size: 0.78rem; }
.exec-wsb__body { margin-top: 10px; display: grid; gap: 8px; }
.exec-wsb__root, .exec-wsb__extra { font-size: 0.78rem; color: var(--muted); }
.exec-wsb__root a, .exec-wsb__extra a { color: #9ec8ff; }
.exec-wsb__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 10px;
}
.exec-wsb-card {
  position: relative;
  display: grid;
  gap: 8px;
  align-content: start;
  padding: 10px 12px 10px 14px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, .08);
  background: rgba(0, 0, 0, .22);
  overflow: hidden;
}
.exec-wsb-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: var(--muted);
  opacity: .5;
}
.exec-wsb-card--accent::before { background: #6eb5ff; opacity: 1; }
.exec-wsb-card--warn::before { background: var(--warn); opacity: 1; }
.exec-wsb-card--ok::before { background: var(--ok); opacity: 1; }
.exec-wsb-card--fail::before { background: var(--fail); opacity: 1; }
.exec-wsb-card.is-done { opacity: .82; }
.exec-wsb-card.is-editing { border-color: rgba(110, 181, 255, .45); box-shadow: 0 0 0 1px rgba(110, 181, 255, .15); }
.exec-wsb-card.is-saving { opacity: .6; pointer-events: none; }
.exec-wsb-card__head { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.exec-wsb-card__shop { font-weight: 800; font-size: 0.86rem; text-transform: uppercase; letter-spacing: .02em; }
.exec-wsb-tag {
  font-size: 0.64rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
  padding: 1px 7px;
  border-radius: 999px;
}
.exec-wsb-tag--express { color: #ffb38a; border: 1px solid rgba(255, 140, 90, .45); background: rgba(255, 140, 90, .1); }
.exec-wsb-status {
  margin-left: auto;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 2px 9px;
  border-radius: 999px;
  border: 1px solid var(--border);
  color: var(--muted);
  white-space: nowrap;
}
.exec-wsb-status--accent { color: #9ec8ff; border-color: rgba(110, 181, 255, .4); background: rgba(110, 181, 255, .08); }
.exec-wsb-status--ok { color: var(--ok); border-color: rgba(62, 207, 142, .4); background: rgba(62, 207, 142, .08); }
.exec-wsb-status--warn { color: var(--warn); border-color: rgba(230, 184, 76, .45); background: rgba(230, 184, 76, .08); }
.exec-wsb-status--fail { color: var(--fail); border-color: rgba(232, 106, 92, .45); background: rgba(232, 106, 92, .08); }
.exec-wsb-card__title { display: flex; gap: 8px; align-items: baseline; min-width: 0; font-size: 0.8rem; }
.exec-wsb-card__title a { color: #9ec8ff; text-decoration: none; white-space: nowrap; }
.exec-wsb-card__name { color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.exec-wsb-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  margin: 0;
}
.exec-wsb-facts > div {
  padding: 6px 8px;
  border-radius: 8px;
  background: rgba(255, 255, 255, .03);
  border: 1px solid rgba(255, 255, 255, .05);
  min-width: 0;
}
.exec-wsb-facts dt {
  font-size: 0.62rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--muted);
  font-weight: 700;
}
.exec-wsb-facts dd {
  margin: 2px 0 0;
  font-size: 0.82rem;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
}
.exec-wsb-facts dd small {
  display: block;
  font-size: 0.66rem;
  font-weight: 600;
  color: var(--muted);
  white-space: normal;
}
.exec-wsb-money { color: #c8e6a0; }
.exec-wsb-tone--fail, .exec-wsb-tone--fail small { color: var(--fail) !important; }
.exec-wsb-tone--warn, .exec-wsb-tone--warn small { color: var(--warn) !important; }
.exec-wsb-tone--ok { color: var(--ok); }
.exec-wsb-tone--muted { color: var(--muted); }
.exec-wsb-card__meta { display: flex; gap: 6px 12px; flex-wrap: wrap; font-size: 0.74rem; color: var(--muted); }
.exec-wsb-card__note {
  font-size: 0.74rem;
  color: #f0d592;
  background: rgba(230, 184, 76, .07);
  border-left: 2px solid rgba(230, 184, 76, .5);
  padding: 4px 8px;
  border-radius: 0 6px 6px 0;
  white-space: pre-line;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.exec-wsb-arts summary { cursor: pointer; font-size: 0.76rem; color: var(--muted); font-weight: 600; }
.exec-wsb-arts__table { width: 100%; border-collapse: collapse; margin-top: 6px; font-size: 0.76rem; }
.exec-wsb-arts__table th, .exec-wsb-arts__table td { padding: 4px 6px; border-bottom: 1px solid var(--border); text-align: left; }
.exec-wsb-arts__table th { font-size: 0.62rem; text-transform: uppercase; color: var(--muted); }
.exec-wsb-arts__table tr.is-done td { color: var(--muted); }
.exec-wsb-arts__table a { color: #9ec8ff; }
.exec-wsb-card__actions { display: flex; gap: 6px; flex-wrap: wrap; }
.exec-wsb-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, .04);
  color: inherit;
  font: inherit;
  font-size: 0.76rem;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  transition: border-color .12s, background .12s;
}
.exec-wsb-btn:hover { border-color: rgba(110, 181, 255, .45); background: rgba(110, 181, 255, .08); }
.exec-wsb-btn--ok:hover { border-color: rgba(62, 207, 142, .5); background: rgba(62, 207, 142, .08); }
.exec-wsb-btn:disabled { opacity: .5; cursor: default; }
.exec-wsb-form {
  border-top: 1px dashed var(--border);
  padding-top: 8px;
  display: grid;
  gap: 8px;
}
.exec-wsb [hidden] { display: none !important; }
.exec-wsb-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.exec-wsb-form__grid label {
  display: grid;
  gap: 4px;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--muted);
}
.exec-wsb-form__grid input, .exec-wsb-form__grid select, .exec-wsb-form__grid textarea {
  font-size: 0.82rem;
  text-transform: none;
  letter-spacing: 0;
}
.exec-wsb-form__plan, .exec-wsb-form__note { grid-column: 1 / -1; }
.exec-wsb-stepper { display: flex; gap: 4px; align-items: center; }
.exec-wsb-stepper input { width: 90px; text-align: center; }
.exec-wsb-chips { display: flex; gap: 4px; flex-wrap: wrap; }
.exec-wsb-chipbtn {
  padding: 3px 9px;
  border-radius: 6px;
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, .04);
  color: inherit;
  font: inherit;
  font-size: 0.76rem;
  font-weight: 700;
  cursor: pointer;
}
.exec-wsb-chipbtn:hover:not(:disabled) { border-color: rgba(110, 181, 255, .45); }
.exec-wsb-chipbtn:disabled { opacity: .45; cursor: default; }
.exec-wsb-plan-preview { font-size: 0.74rem; color: #c8e6a0; text-transform: none; letter-spacing: 0; font-weight: 600; min-height: 1em; }
.exec-wsb-form__err { color: var(--fail); font-size: 0.78rem; }
.exec-wsb-form__err:empty { display: none; }
.exec-wsb-form__actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.exec-wsb-form__hint { font-size: 0.72rem; color: var(--muted); }
.exec-wsb-form__arts-title {
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--muted);
}
.exec-wsb-form__arts-title small { text-transform: none; letter-spacing: 0; font-weight: 500; margin-left: 4px; }
.exec-wsb-card, .exec-wsb-form, .exec-wsb-form__grid > *, .exec-wsb-form__arts { min-width: 0; }
.exec-wsb-form__grid input, .exec-wsb-form__grid select, .exec-wsb-form__grid textarea { max-width: 100%; box-sizing: border-box; }
.exec-wsb-form__arts { display: grid; gap: 6px; }
.exec-wsb-art-edit {
  display: grid;
  gap: 6px;
  padding: 8px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(255, 255, 255, .02);
}
.exec-wsb-art-edit__name { font-size: 0.8rem; overflow-wrap: anywhere; }
.exec-wsb-art-edit__name .mono { color: var(--muted); }
.exec-wsb-art-edit__row { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.exec-wsb-art-edit__qty { display: flex; align-items: center; gap: 6px; font-size: 0.72rem; color: var(--muted); font-weight: 700; }
.exec-wsb-f-qty { width: 80px; font-size: 0.85rem; text-align: center; }
.exec-wsb-spec-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  background: rgba(0, 0, 0, .55);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.exec-wsb-spec-modal[hidden] { display: none; }
.exec-wsb-spec-modal__box {
  width: min(1100px, 100%);
  height: min(88vh, 900px);
  display: flex;
  flex-direction: column;
  background: var(--panel, #141b26);
  border: 1px solid var(--border);
  border-radius: 10px;
  overflow: hidden;
}
.exec-wsb-spec-modal__head { display: flex; gap: 8px; align-items: center; padding: 8px 12px; border-bottom: 1px solid var(--border); }
.exec-wsb-spec-modal__title { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.exec-wsb-spec-modal__frame { flex: 1; width: 100%; border: 0; background: #fff; }
.exec-battle-board-hint { font-size: 0.78rem; margin: 0 0 8px; }
.exec-wsb-jump-inline { padding: 0 4px; font-size: inherit; color: #9ec8ff; }
.exec-manual-attach-fold { margin-top: 10px; }
.exec-manual-attach-fold > summary { cursor: pointer; font-size: 0.78rem; color: var(--muted); font-weight: 600; }
@media (max-width: 720px) {
  .exec-wsb__grid { grid-template-columns: 1fr; }
  .exec-wsb-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .exec-wsb-form__grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .exec-dash-composition__head {
    grid-template-columns: auto 1fr;
  }
  .exec-dash-composition__meta { grid-column: 1; }
  .exec-dash-composition__brief { grid-column: 1 / -1; white-space: normal; }
}

@media (max-width: 720px) {
  .exec-dash-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .exec-dash-seg__label { display: none; }
  .exec-dash-client { max-width: 100%; }
}

.exec-sales-docs {
  margin-top: 1rem;
  padding-top: 0.85rem;
  border-top: 1px solid color-mix(in srgb, var(--border, #ccc) 80%, transparent);
}
.exec-sales-docs__title { margin: 0 0 0.25rem; font-size: 1rem; }
.exec-sales-docs__hint { margin: 0 0 0.6rem; color: var(--muted); font-size: 0.82rem; line-height: 1.35; }
.exec-sales-docs__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr));
  gap: 0.5rem 0.75rem;
  align-items: end;
  margin-bottom: 0.55rem;
}
.exec-sales-docs__grid label { display: flex; flex-direction: column; gap: 0.2rem; font-size: 0.78rem; color: var(--muted); }
.exec-sales-docs__grid select,
.exec-sales-docs__toolbar input[type=email] {
  font: inherit;
  padding: 0.35rem 0.45rem;
  border: 1px solid var(--border, #2c3648);
  border-radius: 6px;
  background: var(--input, #10161f);
  color: var(--text, #eef2f7);
  color-scheme: inherit;
}
html[data-theme="light"] .exec-sales-docs__grid select,
html[data-theme="light"] .exec-sales-docs__toolbar input[type=email] {
  color: var(--text, #1a2428);
}
.exec-sales-check { flex-direction: row !important; align-items: center; gap: 0.35rem !important; }
.exec-sales-docs__toolbar { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; margin: 0.4rem 0 0.6rem; }
.exec-sales-docs__files { display: flex; flex-direction: column; gap: 0.3rem; }
.exec-sales-file { display: flex; gap: 0.45rem; align-items: center; font-size: 0.85rem; }
.exec-sales-file .muted { color: var(--muted); font-size: 0.75rem; }
.exec-sales-docs__preview { margin: 0 0 0.4rem; font-size: 0.82rem; }
.exec-sales-folder__row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
  justify-content: space-between;
}
.exec-sales-folder__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  align-items: center;
}
.exec-sales-share-link {
  display: block;
  font-size: 0.8rem;
  word-break: break-all;
  color: var(--accent, #7eb8ff);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.exec-sales-folder__fs {
  display: block;
  font-size: 0.72rem;
  opacity: 0.8;
}
.exec-sales-folder__hint {
  margin: 0.15rem 0 0;
  font-size: 0.72rem;
}
.exec-sales-build-progress {
  margin: 0.45rem 0 0.55rem;
  padding: 0.45rem 0.55rem;
  border-radius: 8px;
  border: 1px solid color-mix(in srgb, var(--border) 80%, transparent);
  background: color-mix(in srgb, var(--panel) 88%, transparent);
}
.exec-sales-build-progress__head {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  font-size: 0.78rem;
  margin-bottom: 0.3rem;
}
.exec-sales-build-progress__pct { color: var(--muted); }
.exec-sales-build-progress__track {
  height: 6px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--border) 65%, transparent);
  overflow: hidden;
}
.exec-sales-build-progress__bar {
  height: 100%;
  width: 8%;
  border-radius: inherit;
  background: linear-gradient(90deg, #3b82f6, #22c55e);
  transition: width 0.35s ease;
}
.exec-sales-docs__files.is-dimmed {
  opacity: 0.45;
  pointer-events: none;
}
.exec-sales-docs.is-building .exec-sales-build,
.exec-sales-docs.is-building .exec-sales-req-save {
  opacity: 0.7;
}
.exec-sales-file {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 0.55rem;
  align-items: baseline;
}
.exec-sales-file__when {
  font-size: 0.75rem;
  margin-left: auto;
}
.exec-sales-files-built {
  margin: 0 0 0.35rem;
  font-size: 0.8rem;
}
.exec-sales-goods {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.75rem;
  align-items: center;
  margin: 0.35rem 0 0.55rem;
  padding: 0.4rem 0.55rem;
  border-radius: 8px;
  border: 1px dashed color-mix(in srgb, var(--border) 75%, transparent);
  font-size: 0.82rem;
}
.exec-sales-goods__label { font-weight: 600; }
.exec-sales-goods__preview { font-size: 0.78rem; }
.exec-sales-terms {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.75rem;
  align-items: center;
  margin: 0.25rem 0 0.45rem;
  padding: 0.4rem 0.55rem;
  border-radius: 8px;
  border: 1px dashed color-mix(in srgb, var(--border) 75%, transparent);
  font-size: 0.82rem;
}
.exec-sales-terms__label { font-weight: 600; }
.exec-sales-terms__preview {
  flex: 1 1 100%;
  font-size: 0.78rem;
  line-height: 1.35;
}
.exec-sales-terms label {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.8rem;
}
.exec-sales-terms input[type="number"] {
  width: 3.4rem;
}
.exec-sales-delivery-override-wrap {
  flex: 1 1 14rem;
  min-width: 12rem;
}
.exec-sales-delivery-method {
  flex: 1;
  min-width: 10rem;
  width: 100%;
}
.exec-sales-req {
  margin: 0.5rem 0 0.75rem;
  padding: 0.45rem 0.55rem;
  border: 1px solid color-mix(in srgb, var(--border) 80%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--panel) 92%, transparent);
}
.exec-sales-req summary {
  cursor: pointer;
  font-size: 0.86rem;
  font-weight: 600;
}
.exec-sales-req-text {
  width: 100%;
  box-sizing: border-box;
  margin-top: 0.35rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.78rem;
  line-height: 1.35;
  padding: 0.45rem 0.55rem;
  border-radius: 6px;
  border: 1px solid var(--border);
  background: var(--bg);
  color: var(--text);
  resize: vertical;
}
.exec-sales-req-file-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  margin-top: 0.4rem;
}
.exec-sales-req-file {
  display: inline-flex;
  flex-direction: column;
  gap: 0.15rem;
  font-size: 0.75rem;
  color: var(--muted);
}
.exec-sales-req-file input[type=file] {
  max-width: 16rem;
  font-size: 0.75rem;
}
.exec-sales-req-file-name { font-size: 0.78rem; }
.exec-sales-req-card {
  margin-top: 0.65rem;
  padding-top: 0.55rem;
  border-top: 1px dashed color-mix(in srgb, var(--border) 70%, transparent);
}
.exec-sales-req-card__head {
  display: flex;
  gap: 0.5rem;
  align-items: baseline;
  margin-bottom: 0.35rem;
  font-size: 0.86rem;
}
.exec-sales-req-card__group {
  margin: 0.55rem 0 0.25rem;
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--muted);
}
.exec-sales-req-row,
.exec-sales-req-other-row {
  display: grid;
  grid-template-columns: auto auto minmax(7rem, 9.5rem) minmax(8rem, 1fr) minmax(5rem, 8rem);
  gap: 0.3rem 0.4rem;
  align-items: center;
  margin-bottom: 0.28rem;
}
.exec-sales-req-other-row {
  grid-template-columns: auto minmax(5rem, 8rem) minmax(8rem, 1fr) minmax(5rem, 7rem) auto;
}
.exec-sales-req-flag {
  display: inline-flex;
  align-items: center;
  gap: 0.15rem;
  margin: 0;
  font-size: 0.72rem;
  color: var(--muted);
  cursor: pointer;
}
.exec-sales-req-flag input { margin: 0; }
.exec-sales-req-label {
  font-size: 0.75rem;
  color: var(--muted);
  line-height: 1.2;
}
.exec-sales-req-field,
.exec-sales-req-comment,
.exec-sales-req-other-label,
.exec-sales-req-other-value,
.exec-sales-req-other-comment {
  width: 100%;
  box-sizing: border-box;
  font-size: 0.78rem;
  padding: 0.28rem 0.4rem;
  border-radius: 5px;
  border: 1px solid var(--border);
  background: var(--bg);
  color: var(--text);
}
.exec-sales-req-preview {
  margin: 0.5rem 0 0.35rem;
  font-size: 0.8rem;
}
.exec-sales-req-buyer-preview {
  margin: 0.35rem 0 0;
  padding: 0.45rem 0.55rem;
  white-space: pre-wrap;
  font-size: 0.75rem;
  line-height: 1.35;
  border-radius: 6px;
  border: 1px solid var(--border);
  background: var(--bg);
  max-height: 14rem;
  overflow: auto;
}
@media (max-width: 900px) {
  .exec-sales-req-row,
  .exec-sales-req-other-row {
    grid-template-columns: auto auto 1fr;
  }
  .exec-sales-req-comment,
  .exec-sales-req-other-comment { grid-column: 1 / -1; }
}
.exec-sales-docs__sources {
  margin: 0 0 0.55rem;
  font-size: 0.78rem;
  color: var(--muted);
  line-height: 1.4;
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 0.45rem;
  align-items: center;
}
.exec-sales-docs__sources code { font-size: 0.74rem; }
.exec-sales-templates {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem 0.85rem;
  border: 1px solid var(--border, #2c3648);
  border-radius: 10px;
  background: var(--panel-2, var(--panel, #212a38));
  color: var(--text, #eef2f7);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--border, #2c3648) 40%, transparent);
}
.exec-sales-templates__hint {
  margin: 0 0 0.5rem;
  font-size: 0.78rem;
  color: var(--muted, #8f9bb0);
  line-height: 1.4;
}
.exec-sales-templates__row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  align-items: center;
  margin-bottom: 0.5rem;
}
.exec-sales-template-select {
  flex: 1 1 14rem;
  min-width: 10rem;
  font: inherit;
  padding: 0.4rem 0.5rem;
  border: 1px solid var(--border, #2c3648);
  border-radius: 6px;
  background: var(--input, #10161f);
  color: var(--text, #eef2f7);
  color-scheme: inherit;
}
.exec-sales-template-frame {
  margin: 0;
  border: 1px solid var(--border, #2c3648);
  border-radius: 8px;
  background: var(--input, #10161f);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 16rem;
  max-height: min(70vh, 36rem);
}
.exec-sales-template-frame__bar {
  flex: 0 0 auto;
  padding: 0.35rem 0.65rem;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--muted, #8f9bb0);
  background: color-mix(in srgb, var(--panel, #1a212c) 85%, var(--input, #10161f));
  border-bottom: 1px solid var(--border, #2c3648);
}
.exec-sales-template-editor {
  flex: 1 1 auto;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  border: 0;
  border-radius: 0;
  font: 0.84rem/1.45 var(--mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);
  padding: 0.7rem 0.75rem;
  background: var(--input, #10161f);
  color: var(--text, #eef2f7);
  caret-color: var(--text, #eef2f7);
  resize: vertical;
  min-height: 14rem;
  outline: none;
  color-scheme: inherit;
  tab-size: 2;
  white-space: pre-wrap;
  overflow: auto;
}
.exec-sales-template-editor::placeholder {
  color: var(--muted, #8f9bb0);
  opacity: 0.85;
}
.exec-sales-template-editor:focus {
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent, #d4a15a) 55%, transparent);
}
/* Светлая тема / белый input: гарантированно тёмный текст */
html[data-theme="light"] .exec-sales-template-select,
html[data-theme="light"] .exec-sales-template-editor,
html[data-theme="light"] .exec-sales-templates {
  color: var(--text, #1a2428);
}
html[data-theme="light"] .exec-sales-template-editor {
  caret-color: var(--text, #1a2428);
}
.exec-sales-templates__status {
  margin: 0.4rem 0 0;
  font-size: 0.75rem;
  color: var(--muted, #8f9bb0);
}

/* --- compact sales-docs (2026-09) --- */
.exec-sales-docs { margin-top: 0.55rem; padding-top: 0.45rem; }
.exec-sales-docs__head {
  display: flex; flex-wrap: wrap; gap: 0.35rem 0.75rem;
  align-items: flex-start; justify-content: space-between; margin-bottom: 0.3rem;
}
.exec-sales-docs__title { margin: 0; font-size: 0.95rem; }
.exec-sales-docs__hint,
.exec-sales-docs__sources { display: none; }
.exec-sales-docs__head-actions .exec-sales-folder__hint,
.exec-sales-docs__head-actions .exec-sales-folder__fs { display: none; }
.exec-sales-docs__head-actions .exec-sales-share-link { font-size: 0.72rem; }
.exec-sales-canon {
  margin: 0 0 0.4rem; padding: 0.3rem 0.45rem;
  border: 1px solid color-mix(in srgb, var(--border) 75%, transparent);
  border-radius: 8px; background: color-mix(in srgb, var(--panel) 92%, transparent);
}
.exec-sales-canon > summary { cursor: pointer; font-size: 0.8rem; font-weight: 600; }
.exec-sales-canon__hint { margin: 0.25rem 0 0.3rem; font-size: 0.72rem; color: var(--muted); line-height: 1.3; }
.exec-sales-canon__row { display: flex; flex-wrap: wrap; gap: 0.3rem; align-items: center; }
.exec-sales-canon-upload {
  display: inline-flex; align-items: center; padding: 0.22rem 0.5rem;
  border-radius: 6px; cursor: pointer; font-size: 0.78rem;
}
.exec-sales-canon__status { margin: 0.2rem 0 0; font-size: 0.72rem; }
.exec-sales-placeholders { margin-top: 0.3rem; max-height: 8.5rem; overflow: auto; font-size: 0.7rem; line-height: 1.4; }
.exec-sales-placeholders__group { margin-bottom: 0.2rem; }
.exec-sales-placeholders code {
  display: inline-block; margin: 0.04rem 0.12rem 0.04rem 0; padding: 0.04rem 0.22rem;
  border-radius: 4px; background: color-mix(in srgb, var(--border) 35%, transparent); font-size: 0.68rem;
}
.exec-sales-md-templates { margin-top: 0.3rem; }
.exec-sales-md-templates > summary { font-size: 0.72rem; cursor: pointer; }
.exec-sales-compact { display: flex; flex-direction: column; gap: 0.3rem; }
.exec-sales-docs__grid {
  grid-template-columns: repeat(auto-fill, minmax(7.2rem, 1fr));
  gap: 0.3rem 0.45rem; margin-bottom: 0;
}
.exec-sales-docs__grid label { font-size: 0.7rem; gap: 0.1rem; }
.exec-sales-checks { display: flex; flex-wrap: wrap; gap: 0.2rem 0.5rem; align-items: center; font-size: 0.74rem; }
.exec-sales-goods, .exec-sales-terms { display: none !important; }
.exec-sales-terms-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(13.5rem, 1fr)); gap: 0.3rem;
}
.exec-sales-terms-block {
  display: flex; flex-wrap: wrap; gap: 0.22rem 0.35rem; align-items: center;
  padding: 0.3rem 0.4rem; border: 1px solid color-mix(in srgb, var(--border) 70%, transparent);
  border-radius: 7px; font-size: 0.72rem;
}
.exec-sales-terms-block .exec-sales-terms__label { flex: 0 0 100%; font-weight: 600; font-size: 0.7rem; margin: 0; }
.exec-sales-terms-block label { display: inline-flex; align-items: center; gap: 0.22rem; color: var(--muted); }
.exec-sales-terms-block input[type="number"] { width: 3.2rem; }
.exec-sales-terms-block select { max-width: 8rem; }
.exec-sales-terms-block select,
.exec-sales-terms-block input[type=number],
.exec-sales-terms-block input[type=text] {
  font: inherit; padding: 0.22rem 0.35rem; border: 1px solid var(--border, #2c3648);
  border-radius: 5px; background: var(--input, #10161f); color: var(--text); min-width: 0;
}
.exec-sales-delivery-override-wrap { flex: 1 1 7rem; min-width: 6.5rem; }
.exec-sales-delivery-method { width: 100%; }
.exec-sales-terms__preview {
  flex: 1 1 100%; font-size: 0.68rem; line-height: 1.2; opacity: 0.9;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.exec-sales-docs__toolbar { gap: 0.35rem; margin: 0.1rem 0 0.2rem; }
.exec-sales-docs__preview { margin: 0; font-size: 0.74rem; line-height: 1.25; }
.exec-sales-docs.is-building .exec-sales-options-save { opacity: 0.7; pointer-events: none; }
.exec-sales-req { margin-top: 0.3rem; }
.exec-sales-req summary { font-size: 0.8rem; }


.exec-gateway-billing {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  gap: 0.55rem 0.75rem;
  margin-top: 0.75rem;
}
.exec-gateway-billing label {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  font-size: 0.78rem;
  color: var(--muted);
}
.exec-gateway-billing select {
  font: inherit;
  padding: 0.4rem 0.5rem;
  border: 1px solid var(--border, #ccc);
  border-radius: 6px;
  background: var(--surface, #fff);
  color: inherit;
}
.exec-gateway-billing__preview {
  margin-top: 0.45rem;
  font-size: 0.8rem;
  line-height: 1.35;
}

/* --- Docs package compact list (release tab) --- */
.exec-docs-package {
  gap: 8px;
  padding: 8px 10px;
  border-radius: 10px;
}
.exec-docs-package__head { align-items: center; gap: 6px 12px; }
.exec-docs-package__stats { gap: 6px 10px; flex: 1 1 180px; }
.exec-docs-stat-inline {
  font-size: 0.8rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--text);
}
.exec-docs-stat-inline--ok { color: var(--ok); }
.exec-docs-stat-inline--warn { color: var(--warn); }
.exec-docs-package__msg { font-size: 0.72rem; flex: 1 1 140px; }
.exec-docs-package__toolbar .ghost,
.exec-docs-package__toolbar .secondary,
.exec-docs-package__toolbar .primary {
  font-size: 0.74rem;
  padding: 4px 10px;
  min-height: 28px;
}
.exec-docs-folder--compact {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 8px;
  word-break: normal;
  padding: 4px 8px !important;
}
.exec-docs-folder--compact code {
  font-size: 0.7rem;
  max-width: 18rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.exec-docs-folder__smb {
  font-size: 0.72rem;
  color: var(--accent, #7eb8ff);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.exec-docs-folder__sep { opacity: .45; }
.exec-docs-check {
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(16, 22, 31, .4);
  padding: 0;
}
.exec-docs-check > summary {
  cursor: pointer;
  list-style: none;
  padding: 6px 10px;
  font-size: 0.76rem;
  font-weight: 700;
  color: var(--muted);
  user-select: none;
}
.exec-docs-check > summary::-webkit-details-marker { display: none; }
.exec-docs-check[open] > summary {
  border-bottom: 1px solid var(--border);
  color: var(--text);
}
.exec-docs-list {
  display: flex;
  flex-direction: column;
  max-height: 16.5rem;
  overflow: auto;
}
.exec-doc-row {
  display: grid;
  grid-template-columns: 22px 1.1rem minmax(0, 1fr) auto 4.6rem;
  gap: 6px 8px;
  align-items: center;
  padding: 4px 8px;
  border-bottom: 1px solid rgba(255, 255, 255, .04);
  font-size: 0.74rem;
  min-height: 30px;
}
.exec-doc-row:last-child { border-bottom: 0; }
.exec-doc-row:hover { background: rgba(255, 255, 255, .03); }
.exec-doc-row--have { background: rgba(62, 207, 142, .05); }
.exec-doc-row--missing { background: rgba(230, 184, 76, .07); }
.exec-doc-row--na { opacity: .65; }
.exec-doc-row__print { display: grid; place-items: center; margin: 0; cursor: pointer; }
.exec-doc-row__print input { width: 14px; height: 14px; margin: 0; accent-color: var(--accent); }
.exec-doc-row__print input:disabled { opacity: .35; cursor: not-allowed; }
.exec-doc-row__icon { font-size: 0.9rem; line-height: 1; opacity: .85; text-align: center; }
.exec-doc-row__title {
  font-weight: 600;
  color: var(--text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.exec-doc-row__meta {
  display: flex;
  flex-wrap: nowrap;
  gap: 4px;
  align-items: center;
  justify-content: flex-end;
}
.exec-doc-row__status {
  width: 100%;
  padding: 2px 4px;
  font-size: 0.7rem;
  border-radius: 5px;
  border: 1px solid var(--border);
  background: rgba(8, 12, 18, .55);
  color: var(--text);
  min-height: 24px;
}
.exec-docs-printfiles {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  padding: 2px 0;
}
.exec-docs-printfiles__lbl {
  font-size: 0.62rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--muted);
}
.exec-doc-filechip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  max-width: 100%;
  padding: 3px 8px;
  border-radius: 999px;
  border: 1px dashed rgba(62, 207, 142, .35);
  background: rgba(62, 207, 142, .08);
  font-size: 0.72rem;
  cursor: pointer;
  color: var(--text);
}
.exec-doc-filechip input { margin: 0; accent-color: var(--accent); width: 13px; height: 13px; }
.exec-doc-filechip__name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 14rem;
  font-weight: 600;
}
.exec-doc-filechip__fmt {
  font-size: 0.62rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--ok);
}
.exec-sales-docs1c {
  margin: 0 0 0.35rem;
  font-size: 0.74rem;
  line-height: 1.35;
}
.exec-sales-docs1c b { color: var(--text); font-weight: 700; }
.exec-sales-stamp-status {
  margin: 0.25rem 0 0.15rem;
  font-size: 0.74rem;
  line-height: 1.35;
}
.exec-sales-stamp-status.ok { color: var(--ok, #3ecf8e); }
.exec-sales-stamp-status.warn { color: var(--warn, #e6b84c); }
.exec-sales-stamp-status.err { color: var(--danger, #ff6b6b); }
.exec-sales-folder.exec-docs-folder--compact .exec-sales-share-link {
  display: inline;
  font-size: 0.72rem;
  word-break: normal;
}
.exec-sales-folder.exec-docs-folder--compact .exec-sales-folder__hint {
  margin: 0;
  font-size: 0.68rem;
}
.exec-sales-folder.exec-docs-folder--compact .ghost {
  font-size: 0.7rem;
  padding: 2px 8px;
  min-height: 24px;
}
@media (max-width: 720px) {
  .exec-doc-row {
    grid-template-columns: 22px minmax(0, 1fr) 4.6rem;
  }
  .exec-doc-row__icon { display: none; }
  .exec-doc-row__meta { justify-content: flex-start; }
}

