/**
 * DOMIG ERP — професионален UI (темно мени + светла работна површина)
 */

:root {
  --domig-workspace: #eef1f6;
  --domig-workspace-card: #ffffff;
  --domig-workspace-text: #1a2332;
  --domig-workspace-muted: #5c6b82;
  --domig-sidebar-bg: #0c1220;
  --domig-sidebar-border: rgba(255, 255, 255, 0.08);
  --domig-accent: #1d6fd8;
  --domig-accent-soft: rgba(29, 111, 216, 0.1);
}

/* Светла работна површина */
.main {
  background: var(--domig-workspace);
}

.content {
  background: var(--domig-workspace);
  color: var(--domig-workspace-text);
}

.cfma-titlebar,
.header {
  background: var(--domig-workspace-card);
  border-bottom: 1px solid #d8dee8;
  color: var(--domig-workspace-text);
}

.header h2,
.header-sub,
.cfma-titlebar span {
  color: var(--domig-workspace-muted);
}

.cfma-titlebar strong {
  color: var(--domig-workspace-text);
}

/* Темно sidebar мени */
.sidebar {
  background: linear-gradient(180deg, #080d18 0%, var(--domig-sidebar-bg) 100%);
  border-right: 1px solid var(--domig-sidebar-border);
  box-shadow: 4px 0 24px rgba(0, 0, 0, 0.35);
}

.sidebar .logo h1,
.sidebar .logo span,
.sidebar-footer {
  color: rgba(255, 255, 255, 0.85);
}

.nav a.nav-domig {
  color: rgba(255, 255, 255, 0.72);
  border-left: 3px solid transparent;
  margin: 0.1rem 0.5rem 0.1rem 0;
  border-radius: 0 8px 8px 0;
  padding: 0.7rem 1rem;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.nav a.nav-domig .nav-ico {
  width: 1.75rem;
  height: 1.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.06);
  font-size: 0.75rem;
  font-weight: 800;
}

.nav a.nav-domig:hover {
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
}

.nav a.nav-domig.active {
  background: linear-gradient(90deg, rgba(29, 111, 216, 0.35), transparent);
  border-left-color: #4d9fff;
  color: #fff;
}

.nav a.nav-domig.active .nav-ico {
  background: rgba(77, 159, 255, 0.25);
  color: #9ec9ff;
}

/* Модул — картички */
.domig-erp-module {
  max-width: 1200px;
}

.domig-erp-hero {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
  padding: 1.5rem 1.75rem;
  margin-bottom: 1.5rem;
  background: var(--domig-workspace-card);
  border: 1px solid #d8dee8;
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(26, 35, 50, 0.06);
}

.domig-erp-hero-icon {
  width: 3.5rem;
  height: 3.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: var(--domig-accent-soft);
  color: var(--domig-accent);
  font-size: 1.5rem;
  font-weight: 800;
  flex-shrink: 0;
}

.domig-erp-hero-text h2 {
  font-size: 1.45rem;
  font-weight: 700;
  color: var(--domig-workspace-text);
  margin-bottom: 0.35rem;
}

.domig-erp-hero-text p {
  color: var(--domig-workspace-muted);
  font-size: 0.92rem;
  line-height: 1.5;
  margin: 0;
}

.domig-erp-hero-meta {
  display: inline-block;
  margin-top: 0.5rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--domig-accent);
}

.domig-erp-section {
  margin-bottom: 1.75rem;
}

.domig-erp-section-title {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--domig-workspace-muted);
  margin: 0 0 0.75rem 0.25rem;
}

.domig-erp-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 0.85rem;
}

.domig-erp-card {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  text-align: left;
  padding: 1.1rem 1.15rem;
  min-height: 5.5rem;
  background: var(--domig-workspace-card);
  border: 1px solid #d8dee8;
  border-radius: 12px;
  color: var(--domig-workspace-text);
  cursor: pointer;
  transition: border-color 0.18s, box-shadow 0.18s, transform 0.15s;
  box-shadow: 0 2px 8px rgba(26, 35, 50, 0.04);
}

.domig-erp-card:hover {
  border-color: var(--domig-accent);
  box-shadow: 0 8px 24px rgba(29, 111, 216, 0.12);
  transform: translateY(-2px);
}

.domig-erp-card.is-soon {
  border-style: dashed;
  opacity: 0.92;
}

.domig-erp-card-icon {
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: var(--domig-accent-soft);
  color: var(--domig-accent);
  font-weight: 800;
  flex-shrink: 0;
}

.domig-erp-card.is-soon .domig-erp-card-icon {
  background: #f3f4f6;
  color: var(--domig-workspace-muted);
}

.domig-erp-card-body {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-width: 0;
}

.domig-erp-card-title {
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.3;
}

.domig-erp-card-meta {
  font-size: 0.75rem;
  color: var(--domig-workspace-muted);
}

/* Placeholder екран */
.domig-placeholder-wrap {
  max-width: 640px;
  margin: 2rem auto;
  padding: 2rem;
  text-align: center;
  background: var(--domig-workspace-card);
  border: 1px solid #d8dee8;
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(26, 35, 50, 0.06);
}

.domig-placeholder-wrap h3 {
  font-size: 1.35rem;
  margin-bottom: 0.75rem;
  color: var(--domig-workspace-text);
}

.domig-placeholder-wrap p {
  color: var(--domig-workspace-muted);
  line-height: 1.55;
  margin-bottom: 1.25rem;
}

.domig-placeholder-badge {
  display: inline-block;
  padding: 0.3rem 0.75rem;
  border-radius: 999px;
  background: #fff8e6;
  border: 1px solid #f0d78a;
  color: #8a6d1d;
  font-size: 0.78rem;
  font-weight: 700;
  margin-bottom: 1rem;
}

/* Панели на светла позадина */
.panel .card,
.panel .vnes-form,
.panel .toolbar,
.panel table {
  color: var(--domig-workspace-text);
}

.panel .card {
  background: var(--domig-workspace-card);
  border-color: #d8dee8;
}

@media (max-width: 900px) {
  .domig-erp-card-grid {
    grid-template-columns: 1fr;
  }

  .domig-erp-hero {
    flex-direction: column;
    padding: 1.15rem;
  }
}

/* ERP Dashboard (SAP / Dynamics стил) */
.erp-dash {
  max-width: 1440px;
}

.erp-dash-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.25rem;
  padding: 1.1rem 1.35rem;
  background: var(--domig-workspace-card);
  border: 1px solid #d8dee8;
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(26, 35, 50, 0.05);
}

.erp-dash-header h2 {
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--domig-workspace-text);
  margin: 0 0 0.2rem;
}

.erp-dash-date {
  font-size: 0.88rem;
  color: var(--domig-workspace-muted);
  margin: 0;
}

.erp-dash-meta {
  text-align: right;
  font-size: 0.78rem;
  color: var(--domig-workspace-muted);
}

.erp-dash-meta strong {
  display: block;
  font-size: 0.92rem;
  color: var(--domig-workspace-text);
}

.erp-dash-kpi {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}

.erp-dash-kpi-card {
  background: var(--domig-workspace-card);
  border: 1px solid #d8dee8;
  border-radius: 10px;
  padding: 0.95rem 1rem;
  min-height: 5.5rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: 0 2px 8px rgba(26, 35, 50, 0.04);
  border-top: 3px solid var(--domig-accent);
}

.erp-dash-kpi-card.is-muted {
  border-top-color: #c5cdd8;
}

.erp-dash-kpi-label {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--domig-workspace-muted);
}

.erp-dash-kpi-value {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--domig-workspace-text);
  line-height: 1.2;
  margin-top: 0.35rem;
}

.erp-dash-kpi-sub {
  font-size: 0.72rem;
  color: var(--domig-workspace-muted);
  margin-top: 0.25rem;
}

.erp-dash-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem;
  margin-bottom: 0.85rem;
}

.erp-dash-card {
  background: var(--domig-workspace-card);
  border: 1px solid #d8dee8;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(26, 35, 50, 0.04);
  min-height: 280px;
  display: flex;
  flex-direction: column;
}

.erp-dash-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  background: #f7f9fc;
  border-bottom: 1px solid #e2e8f0;
}

.erp-dash-card-head h3 {
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--domig-workspace-text);
  margin: 0;
}

.erp-dash-card-body {
  flex: 1;
  padding: 0;
  overflow: auto;
}

.erp-dash-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.78rem;
}

.erp-dash-table th,
.erp-dash-table td {
  padding: 0.5rem 0.75rem;
  border-bottom: 1px solid #eef1f6;
  text-align: left;
  vertical-align: top;
}

.erp-dash-table th {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--domig-workspace-muted);
  background: #fafbfc;
  position: sticky;
  top: 0;
}

.erp-dash-table tr:last-child td {
  border-bottom: 0;
}

.erp-dash-table td.num {
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.erp-dash-empty {
  padding: 2rem 1rem;
  text-align: center;
  color: var(--domig-workspace-muted);
  font-size: 0.88rem;
}

.erp-dash-loading {
  padding: 2rem 1rem;
  text-align: center;
  color: var(--domig-workspace-muted);
  font-size: 0.85rem;
}

@media (max-width: 1100px) {
  .erp-dash-row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .erp-dash-kpi {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .erp-dash-header {
    flex-direction: column;
  }

  .erp-dash-meta {
    text-align: left;
  }
}

/* Модул Артикли */
.art-mod {
  max-width: 100%;
}

.art-mod-loading {
  padding: 2rem;
  text-align: center;
  color: var(--domig-workspace-muted);
}

.art-mod-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 0.85rem;
  padding: 1rem 1.2rem;
  background: var(--domig-workspace-card);
  border: 1px solid #d8dee8;
  border-radius: 10px;
}

.art-mod-header h2 {
  margin: 0 0 0.2rem;
  font-size: 1.25rem;
  color: var(--domig-workspace-text);
}

.art-mod-sub {
  margin: 0;
  font-size: 0.82rem;
  color: var(--domig-workspace-muted);
}

.art-mod-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.art-mod-toolbar input[type="search"] {
  min-width: 220px;
  padding: 0.45rem 0.65rem;
  border: 1px solid #d8dee8;
  border-radius: 6px;
  background: #fff;
}

.art-mod-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  padding: 0.65rem 1rem;
  margin-bottom: 0.75rem;
  background: #f7f9fc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  font-size: 0.82rem;
  color: var(--domig-workspace-muted);
}

.art-mod-table-wrap {
  background: var(--domig-workspace-card);
  border: 1px solid #d8dee8;
  border-radius: 10px;
  overflow: auto;
  max-height: calc(100vh - 220px);
}

.art-mod-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8rem;
}

.art-mod-table th,
.art-mod-table td {
  padding: 0.55rem 0.7rem;
  border-bottom: 1px solid #eef1f6;
  text-align: left;
  vertical-align: middle;
}

.art-mod-table th {
  position: sticky;
  top: 0;
  background: #f0f4f9;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--domig-workspace-muted);
  z-index: 1;
}

.art-mod-table th.num,
.art-mod-table td.num {
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.art-mod-table tbody tr:hover {
  background: #f8fafc;
}

.art-mod-actions {
  white-space: nowrap;
}

.art-mod-actions button {
  padding: 0.25rem 0.55rem;
  font-size: 0.72rem;
}

.art-mod-empty {
  padding: 2.5rem;
  text-align: center;
  color: var(--domig-workspace-muted);
}

.art-mod-editor {
  position: fixed;
  inset: 0;
  background: rgba(12, 18, 32, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1200;
  padding: 1rem;
}

.art-mod-editor-card {
  width: min(720px, 100%);
  max-height: 90vh;
  overflow: auto;
  background: var(--domig-workspace-card);
  border-radius: 12px;
  border: 1px solid #d8dee8;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2);
}

.art-mod-editor-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.2rem;
  border-bottom: 1px solid #e2e8f0;
  background: #f7f9fc;
}

.art-mod-editor-head h3 {
  margin: 0;
  font-size: 1.05rem;
}

.art-mod-form {
  padding: 1.1rem 1.2rem 1.2rem;
}

.art-mod-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem 1rem;
}

.art-mod-form-grid label {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--domig-workspace-muted);
}

.art-mod-form-grid input,
.art-mod-form-grid select {
  font-weight: 400;
  padding: 0.45rem 0.55rem;
  border: 1px solid #d8dee8;
  border-radius: 6px;
  color: var(--domig-workspace-text);
}

.art-mod-span2 {
  grid-column: span 2;
}

.art-mod-hint {
  margin: 0.75rem 0 0;
  font-size: 0.8rem;
  color: var(--domig-workspace-muted);
}

.art-mod-hint.ok {
  color: #1a7a3a;
}

.art-mod-hint.warn {
  color: #b45309;
}

.art-mod-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #eef1f6;
}

.art-mod-spacer {
  flex: 1;
}

.art-mod-fieldset {
  border: 1px solid #e8ecf2;
  border-radius: 8px;
  padding: 0.75rem 1rem 1rem;
  margin: 0 0 0.85rem;
}

.art-mod-fieldset legend {
  padding: 0 0.35rem;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--domig-workspace-muted);
}

.art-mod-mk-hint {
  grid-column: span 2;
  margin: 0;
}

.art-mk-badge {
  display: inline-block;
  margin-left: 0.35rem;
  padding: 0.1rem 0.35rem;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #fff;
  background: #c41e3a;
  border-radius: 4px;
  vertical-align: middle;
}

.art-mod-name {
  white-space: nowrap;
}

.art-mod-table tbody tr.is-inactive {
  opacity: 0.6;
}

.art-mod-prep-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.art-mod-prep-item {
  padding: 0.35rem 0.65rem;
  font-size: 0.78rem;
  background: #f0f4f9;
  border: 1px dashed #c5d0e0;
  border-radius: 6px;
  color: var(--domig-workspace-muted);
  cursor: default;
}

.art-mod-toolbar select {
  padding: 0.45rem 0.65rem;
  border: 1px solid #d8dee8;
  border-radius: 6px;
  min-width: 160px;
  background: #fff;
}

.art-mod-restart-hint {
  margin-top: 1rem;
  padding: 1rem;
  background: #fff8e6;
  border-radius: 8px;
  font-size: 0.88rem;
}

.art-mod-restart-hint code {
  display: block;
  margin-top: 0.5rem;
  padding: 0.5rem;
  background: #fff;
  border-radius: 4px;
  font-size: 0.8rem;
}

@media (max-width: 700px) {
  .art-mod-form-grid {
    grid-template-columns: 1fr;
  }

  .art-mod-span2 {
    grid-column: span 1;
  }

  .art-mod-toolbar input[type="search"] {
    min-width: 100%;
    flex: 1 1 100%;
  }
}

/* Модул Магацини */
.mag-mod { max-width: 100%; }
.mag-mod-loading { padding: 2rem; text-align: center; color: var(--domig-workspace-muted); }
.mag-mod-header {
  display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; align-items: flex-start;
  margin-bottom: 0.85rem; padding: 1rem 1.2rem; background: var(--domig-workspace-card);
  border: 1px solid #d8dee8; border-radius: 10px;
}
.mag-mod-header h2 { margin: 0 0 0.2rem; font-size: 1.25rem; }
.mag-mod-sub { margin: 0; font-size: 0.82rem; color: var(--domig-workspace-muted); }
.mag-mod-toolbar { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
.mag-mod-toolbar input[type="search"] {
  min-width: 220px; padding: 0.45rem 0.65rem; border: 1px solid #d8dee8; border-radius: 6px; background: #fff;
}
.mag-mod-stats {
  display: flex; flex-wrap: wrap; gap: 1rem; padding: 0.65rem 1rem; margin-bottom: 0.75rem;
  background: #f7f9fc; border: 1px solid #e2e8f0; border-radius: 8px; font-size: 0.82rem;
}
.mag-mod-table-wrap {
  background: var(--domig-workspace-card); border: 1px solid #d8dee8; border-radius: 10px;
  overflow: auto; max-height: calc(100vh - 220px);
}
.mag-mod-table { width: 100%; border-collapse: collapse; font-size: 0.8rem; }
.mag-mod-table th, .mag-mod-table td { padding: 0.55rem 0.7rem; border-bottom: 1px solid #eef1f6; text-align: left; }
.mag-mod-table th { background: #f0f4f9; font-size: 0.68rem; font-weight: 700; text-transform: uppercase; color: var(--domig-workspace-muted); }
.mag-mod-table tbody tr:hover { background: #f8fafc; }
.mag-mod-table tbody tr.is-inactive { opacity: 0.6; }
.mag-mod-actions { white-space: nowrap; }
.mag-mod-actions button { padding: 0.25rem 0.55rem; font-size: 0.72rem; margin-right: 0.2rem; }
.mag-mod-empty { padding: 2.5rem; text-align: center; color: var(--domig-workspace-muted); }
.mag-mod-editor {
  position: fixed; inset: 0; z-index: 1200; background: rgba(12, 18, 32, 0.45);
  display: flex; align-items: flex-start; justify-content: center; padding: 2rem 1rem; overflow-y: auto;
}
.mag-mod-editor-card {
  width: min(680px, 100%); background: var(--domig-workspace-card); border-radius: 12px;
  border: 1px solid #d8dee8; box-shadow: 0 20px 50px rgba(0,0,0,0.2); padding: 1.1rem 1.2rem; margin: auto;
}
.mag-mod-editor-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; }
.mag-mod-editor-head h3 { margin: 0; font-size: 1.05rem; }
.mag-mod-fieldset { border: 1px solid #e8ecf2; border-radius: 8px; padding: 0.75rem 1rem 1rem; margin: 0 0 0.85rem; }
.mag-mod-fieldset legend { padding: 0 0.35rem; font-size: 0.78rem; font-weight: 700; color: var(--domig-workspace-muted); }
.mag-mod-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.65rem 1rem; }
.mag-mod-form-grid label { display: flex; flex-direction: column; gap: 0.25rem; font-size: 0.78rem; font-weight: 600; color: var(--domig-workspace-muted); }
.mag-mod-form-grid input, .mag-mod-form-grid select { font-weight: 400; padding: 0.45rem 0.55rem; border: 1px solid #d8dee8; border-radius: 6px; }
.mag-mod-span2 { grid-column: span 2; }
.mag-mod-hint { margin: 0.5rem 0 0; font-size: 0.8rem; color: var(--domig-workspace-muted); }
.mag-mod-hint.ok { color: #1a7a3a; }
.mag-mod-hint.warn { color: #b45309; }
.mag-mod-form-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; margin-top: 0.5rem; padding-top: 1rem; border-top: 1px solid #eef1f6; }
.mag-mod-spacer { flex: 1; }
.mag-mod-prep-links { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.mag-mod-prep-item { padding: 0.35rem 0.65rem; font-size: 0.78rem; background: #f0f4f9; border: 1px dashed #c5d0e0; border-radius: 6px; color: var(--domig-workspace-muted); }
.mag-mod-badge { display: inline-block; padding: 0.15rem 0.45rem; border-radius: 4px; font-size: 0.68rem; font-weight: 700; }
.mag-mod-badge-on { background: #dcfce7; color: #166534; }
.mag-mod-badge-off { background: #f3f4f6; color: #6b7280; }
.mag-mod-readonly { font-size: 0.78rem; color: var(--domig-workspace-muted); margin: 0.5rem 0 0; }
.mag-mod-restart-hint code { display: block; margin-top: 0.5rem; padding: 0.5rem; background: #fff; border-radius: 4px; font-size: 0.8rem; }
@media (max-width: 700px) {
  .mag-mod-form-grid { grid-template-columns: 1fr; }
  .mag-mod-span2 { grid-column: span 1; }
  .mag-mod-toolbar input[type="search"] { min-width: 100%; flex: 1 1 100%; }
}

/* Модул Комитенти */
.kom-mod { max-width: 100%; }
.kom-mod-loading { padding: 2rem; text-align: center; color: var(--domig-workspace-muted); }
.kom-mod-header {
  display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; align-items: flex-start;
  margin-bottom: 1rem; padding-bottom: 1rem; border-bottom: 1px solid #e8ecf2;
}
.kom-mod-header h2 { margin: 0; font-size: 1.35rem; font-weight: 600; }
.kom-mod-sub { margin: 0.25rem 0 0; font-size: 0.85rem; color: var(--domig-workspace-muted); }
.kom-mod-toolbar { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
.kom-mod-toolbar input[type="search"] { min-width: 220px; padding: 0.45rem 0.65rem; border: 1px solid #d0d7e2; border-radius: 6px; }
.kom-mod-toolbar select { padding: 0.45rem 0.65rem; border: 1px solid #d0d7e2; border-radius: 6px; min-width: 160px; }
.kom-mod-stats {
  display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; margin-bottom: 1rem; padding: 0.75rem 1rem;
  background: #f6f8fb; border-radius: 8px; font-size: 0.88rem;
}
.kom-mod-table-wrap { overflow-x: auto; border: 1px solid #e8ecf2; border-radius: 8px; background: #fff; }
.kom-mod-table { width: 100%; border-collapse: collapse; font-size: 0.88rem; }
.kom-mod-table th, .kom-mod-table td { padding: 0.55rem 0.75rem; text-align: left; border-bottom: 1px solid #eef1f6; }
.kom-mod-table th { background: #f6f8fb; font-weight: 600; white-space: nowrap; }
.kom-mod-table th.num, .kom-mod-table td.num { text-align: right; font-variant-numeric: tabular-nums; }
.kom-mod-table tbody tr:hover { background: #f9fafc; }
.kom-mod-table tbody tr.is-inactive { opacity: 0.65; }
.kom-mod-actions { white-space: nowrap; }
.kom-mod-actions button { margin-right: 0.25rem; font-size: 0.8rem; padding: 0.25rem 0.5rem; }
.kom-mod-empty { padding: 2rem; text-align: center; color: var(--domig-workspace-muted); }
.kom-mod-editor {
  position: fixed; inset: 0; z-index: 1200; background: rgba(15, 23, 42, 0.45);
  display: flex; align-items: flex-start; justify-content: center; padding: 2rem 1rem; overflow-y: auto;
}
.kom-mod-editor-card {
  width: min(720px, 100%); background: #fff; border-radius: 10px; box-shadow: 0 12px 40px rgba(0,0,0,0.15);
  padding: 1.25rem 1.5rem; margin: auto;
}
.kom-mod-editor-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; }
.kom-mod-editor-head h3 { margin: 0; font-size: 1.1rem; }
.kom-mod-fieldset { border: 1px solid #e8ecf2; border-radius: 8px; padding: 0.75rem 1rem 1rem; margin: 0 0 1rem; }
.kom-mod-fieldset legend { padding: 0 0.35rem; font-size: 0.82rem; font-weight: 600; color: var(--domig-workspace-muted); }
.kom-mod-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.65rem 1rem; }
.kom-mod-form-grid label { display: flex; flex-direction: column; gap: 0.25rem; font-size: 0.82rem; }
.kom-mod-form-grid input, .kom-mod-form-grid select { padding: 0.45rem 0.55rem; border: 1px solid #d0d7e2; border-radius: 6px; font-size: 0.9rem; }
.kom-mod-span2 { grid-column: span 2; }
.kom-mod-hint { margin: 0.5rem 0 0; font-size: 0.8rem; color: var(--domig-workspace-muted); }
.kom-mod-hint.ok { color: #1a7a3a; }
.kom-mod-hint.warn { color: #b45309; }
.kom-mod-form-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; margin-top: 0.5rem; padding-top: 1rem; border-top: 1px solid #eef1f6; }
.kom-mod-spacer { flex: 1; }
.kom-mod-prep-links { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.kom-mod-prep-item {
  padding: 0.35rem 0.65rem; font-size: 0.78rem; background: #f0f4f9;
  border: 1px dashed #c5d0e0; border-radius: 6px; color: var(--domig-workspace-muted); cursor: default;
}
.kom-mod-restart-hint { margin-top: 1rem; padding: 1rem; background: #fff8e6; border-radius: 8px; font-size: 0.88rem; }
.kom-mod-restart-hint code { display: block; margin-top: 0.5rem; padding: 0.5rem; background: #fff; border-radius: 4px; font-size: 0.8rem; }
@media (max-width: 700px) {
  .kom-mod-form-grid { grid-template-columns: 1fr; }
  .kom-mod-span2 { grid-column: span 1; }
  .kom-mod-toolbar input[type="search"] { min-width: 100%; flex: 1 1 100%; }
}

/* Модул Категории */
.kat-mod {
  max-width: 100%;
}

.kat-mod-loading {
  padding: 2rem;
  text-align: center;
  color: var(--domig-workspace-muted);
}

.kat-mod-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 0.85rem;
  padding: 1rem 1.2rem;
  background: var(--domig-workspace-card);
  border: 1px solid #d8dee8;
  border-radius: 10px;
}

.kat-mod-header h2 {
  margin: 0 0 0.2rem;
  font-size: 1.25rem;
  color: var(--domig-workspace-text);
}

.kat-mod-sub {
  margin: 0;
  font-size: 0.82rem;
  color: var(--domig-workspace-muted);
}

.kat-mod-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.kat-mod-toolbar input[type="search"] {
  min-width: 220px;
  padding: 0.45rem 0.65rem;
  border: 1px solid #d8dee8;
  border-radius: 6px;
}

.kat-mod-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  padding: 0.65rem 1rem;
  margin-bottom: 0.75rem;
  background: #f7f9fc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  font-size: 0.82rem;
  color: var(--domig-workspace-muted);
}

.kat-mod-body {
  background: var(--domig-workspace-card);
  border: 1px solid #d8dee8;
  border-radius: 10px;
  padding: 0.35rem 0;
  max-height: calc(100vh - 220px);
  overflow: auto;
}

.kat-mod-empty {
  padding: 2.5rem;
  text-align: center;
  color: var(--domig-workspace-muted);
}

/* Windows Explorer стил — дрво */
.kat-tree-explorer {
  font-family: "Segoe UI", system-ui, sans-serif;
  padding: 0.25rem 0;
}

.kat-tree-node {
  position: relative;
}

.kat-tree-node.is-inactive .kat-tree-name {
  color: #6b7280;
}

.kat-tree-line {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 2.35rem;
  padding: 0.35rem 0.85rem 0.35rem 0;
  margin: 0 0.5rem;
  border-radius: 4px;
  cursor: default;
  user-select: none;
}

.kat-tree-line:hover {
  background: #e8f4fd;
}

.kat-tree-node[data-kat-depth="0"] > .kat-tree-line {
  padding-left: 0.65rem;
}

.kat-tree-node[data-kat-depth="1"] > .kat-tree-line {
  padding-left: 1.85rem;
}

.kat-tree-node[data-kat-depth="2"] > .kat-tree-line {
  padding-left: 3.05rem;
}

.kat-tree-node[data-kat-depth="3"] > .kat-tree-line {
  padding-left: 4.25rem;
}

.kat-tree-children {
  position: relative;
}

.kat-tree-children::before {
  content: "";
  position: absolute;
  left: 1.35rem;
  top: 0;
  bottom: 0.5rem;
  width: 1px;
  background: #d0d7de;
}

.kat-tree-node[data-kat-depth="1"] .kat-tree-children::before { left: 2.55rem; }
.kat-tree-node[data-kat-depth="2"] .kat-tree-children::before { left: 3.75rem; }

.kat-tree-indent {
  display: none;
}

.kat-tree-icon {
  width: 1.25rem;
  text-align: center;
  font-size: 1rem;
  line-height: 1;
  flex-shrink: 0;
}

.kat-tree-name {
  flex: 1;
  min-width: 0;
  font-size: 1.02rem;
  font-weight: 500;
  line-height: 1.35;
  color: #1a2332;
  letter-spacing: 0.01em;
}

.kat-tree-node.has-children > .kat-tree-line .kat-tree-name {
  font-weight: 600;
  font-size: 1.06rem;
}

.kat-tree-badge.off {
  font-size: 0.7rem;
  font-weight: 600;
  padding: 0.12rem 0.5rem;
  border-radius: 4px;
  background: #f3f4f6;
  color: #6b7280;
  flex-shrink: 0;
}

.kat-tree-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s ease;
  flex-shrink: 0;
}

.kat-tree-line:hover .kat-tree-actions,
.kat-tree-line:focus-within .kat-tree-actions {
  opacity: 1;
  pointer-events: auto;
}

.kat-tree-actions button {
  padding: 0.22rem 0.55rem;
  font-size: 0.72rem;
}

.kat-more-wrap {
  position: relative;
}

.kat-more-btn {
  padding: 0.28rem 0.65rem;
  font-size: 0.78rem;
  font-weight: 600;
  background: #fff;
  border: 1px solid #d0d7de;
  border-radius: 4px;
  color: #1a2332;
  cursor: pointer;
}

.kat-more-btn:hover {
  background: #f3f4f6;
  border-color: #b8c4d4;
}

.kat-more-menu {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  min-width: 9.5rem;
  background: #fff;
  border: 1px solid #d0d7de;
  border-radius: 6px;
  box-shadow: 0 8px 24px rgba(26, 35, 50, 0.14);
  z-index: 20;
  padding: 0.3rem 0;
  overflow: hidden;
}

.kat-more-menu[hidden] {
  display: none;
}

.kat-more-item {
  display: block;
  width: 100%;
  text-align: left;
  padding: 0.5rem 0.85rem;
  border: 0;
  background: transparent;
  font-size: 0.82rem;
  color: #1a2332;
  cursor: pointer;
}

.kat-more-item:hover {
  background: #e8f4fd;
}

.kat-more-item.kat-delete {
  color: #b42318;
  border-top: 1px solid #eef1f6;
  margin-top: 0.15rem;
  padding-top: 0.55rem;
}

.kat-more-item.kat-delete:hover {
  background: #fef2f2;
}

.kat-mod-editor {
  position: fixed;
  inset: 0;
  background: rgba(12, 18, 32, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1200;
  padding: 1rem;
}

.kat-mod-editor-card {
  width: min(560px, 100%);
  background: var(--domig-workspace-card);
  border-radius: 12px;
  border: 1px solid #d8dee8;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2);
}

.kat-mod-editor-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.2rem;
  border-bottom: 1px solid #e2e8f0;
  background: #f7f9fc;
}

.kat-mod-editor-head h3 {
  margin: 0;
  font-size: 1.05rem;
}

.kat-mod-form {
  padding: 1.1rem 1.2rem 1.2rem;
}

.kat-mod-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem 1rem;
}

.kat-mod-form-grid label {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--domig-workspace-muted);
}

.kat-mod-form-grid input,
.kat-mod-form-grid select {
  font-weight: 400;
  padding: 0.45rem 0.55rem;
  border: 1px solid #d8dee8;
  border-radius: 6px;
}

.kat-mod-hint {
  margin: 0.75rem 0 0;
  font-size: 0.8rem;
  color: var(--domig-workspace-muted);
}

.kat-mod-hint.ok { color: #1a7a3a; }
.kat-mod-hint.warn { color: #b45309; }

.kat-mod-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #eef1f6;
}

.kat-mod-spacer { flex: 1; }

.kat-mod-restart-hint {
  margin-top: 1rem;
  padding: 1rem 1.15rem;
  background: #fff8e6;
  border: 1px solid #f0d78a;
  border-radius: 8px;
  font-size: 0.85rem;
  color: #5c4a12;
}

.kat-mod-restart-hint code {
  display: block;
  margin-top: 0.5rem;
  padding: 0.5rem 0.65rem;
  background: #fff;
  border-radius: 6px;
  font-size: 0.78rem;
  line-height: 1.5;
}

/* Модул Приемници */
.pri-mod { max-width: 100%; }
.pri-mod-loading { padding: 2rem; text-align: center; color: var(--domig-workspace-muted); }
.pri-mod-header {
  display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; align-items: flex-start;
  margin-bottom: 0.85rem; padding: 1rem 1.2rem; background: var(--domig-workspace-card);
  border: 1px solid #d8dee8; border-radius: 10px;
}
.pri-mod-header h2 { margin: 0 0 0.2rem; font-size: 1.25rem; }
.pri-mod-sub { margin: 0; font-size: 0.82rem; color: var(--domig-workspace-muted); }
.pri-mod-toolbar { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
.pri-mod-toolbar input[type="search"] {
  min-width: 200px; padding: 0.45rem 0.65rem; border: 1px solid #d8dee8; border-radius: 6px;
}
.pri-mod-toolbar select { padding: 0.45rem 0.65rem; border: 1px solid #d8dee8; border-radius: 6px; }
.pri-mod-stats {
  display: flex; flex-wrap: wrap; gap: 1rem; padding: 0.65rem 1rem; margin-bottom: 0.5rem;
  background: #f7f9fc; border: 1px solid #e2e8f0; border-radius: 8px; font-size: 0.82rem;
}
.pri-mod-prep { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 0.75rem; }
.pri-mod-prep-item {
  padding: 0.3rem 0.6rem; font-size: 0.76rem; background: #f0f4f9;
  border: 1px dashed #c5d0e0; border-radius: 6px; color: var(--domig-workspace-muted);
}
.pri-mod-table-wrap {
  background: var(--domig-workspace-card); border: 1px solid #d8dee8; border-radius: 10px;
  overflow: auto; max-height: calc(100vh - 280px);
}
.pri-mod-table { width: 100%; border-collapse: collapse; font-size: 0.8rem; }
.pri-mod-table th, .pri-mod-table td { padding: 0.55rem 0.7rem; border-bottom: 1px solid #eef1f6; text-align: left; }
.pri-mod-table th { background: #f0f4f9; font-size: 0.68rem; font-weight: 700; text-transform: uppercase; color: var(--domig-workspace-muted); }
.pri-mod-table th.num, .pri-mod-table td.num { text-align: right; }
.pri-mod-table tbody tr:hover { background: #f8fafc; }
.pri-mod-table tbody tr.is-confirmed { background: #f6fff8; }
.pri-mod-actions { white-space: nowrap; }
.pri-mod-actions button { padding: 0.25rem 0.5rem; font-size: 0.72rem; margin-right: 0.15rem; }
.pri-mod-badge { padding: 0.15rem 0.5rem; border-radius: 4px; font-size: 0.72rem; font-weight: 600; }
.pri-mod-badge-draft { background: #fff3cd; color: #856404; }
.pri-mod-badge-ok { background: #d4edda; color: #155724; }
.pri-mod-vf-link {
  padding: 0.15rem 0.45rem; font-size: 0.72rem; border: 1px solid #93c5fd;
  background: #eff6ff; color: #1d4ed8; border-radius: 4px; cursor: pointer;
}
.pri-mod-vf-link:hover { background: #dbeafe; }
.pri-mod-vf-actions { margin-top: 0.65rem; }
.pri-mod-confirm-btn { font-weight: 700; }
.pri-mod-actions button[disabled], .pri-mod-form-actions button[disabled] {
  opacity: 0.45; cursor: not-allowed;
}
.pri-mod-empty { padding: 2.5rem; text-align: center; color: var(--domig-workspace-muted); }
.pri-mod-editor {
  position: fixed; inset: 0; z-index: 1200; background: rgba(12, 18, 32, 0.45);
  display: flex; align-items: flex-start; justify-content: center; padding: 1.5rem 1rem; overflow-y: auto;
}
.pri-mod-editor-card {
  width: min(680px, 100%); background: var(--domig-workspace-card); border-radius: 12px;
  border: 1px solid #d8dee8; box-shadow: 0 20px 50px rgba(0,0,0,0.2); padding: 1.1rem 1.2rem; margin: auto;
}
.pri-mod-editor-wide { width: min(960px, 100%); }
.pri-mod-editor-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; gap: 0.5rem; }
.pri-mod-editor-head h3 { margin: 0; font-size: 1.05rem; display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
.pri-mod-fieldset { border: 1px solid #e8ecf2; border-radius: 8px; padding: 0.75rem 1rem 1rem; margin: 0 0 0.85rem; }
.pri-mod-fieldset legend { padding: 0 0.35rem; font-size: 0.78rem; font-weight: 700; color: var(--domig-workspace-muted); }
.pri-mod-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.65rem 1rem; }
.pri-mod-form-grid label { display: flex; flex-direction: column; gap: 0.25rem; font-size: 0.78rem; font-weight: 600; color: var(--domig-workspace-muted); }
.pri-mod-form-grid input, .pri-mod-form-grid select, .pri-mod-form-grid textarea {
  font-weight: 400; padding: 0.45rem 0.55rem; border: 1px solid #d8dee8; border-radius: 6px;
}
.pri-mod-span2 { grid-column: span 2; }
.pri-mod-sta-toolbar { display: flex; gap: 0.5rem; margin-bottom: 0.5rem; }
.pri-mod-sta-wrap { overflow-x: auto; border: 1px solid #eef1f6; border-radius: 8px; }
.pri-mod-sta-table { width: 100%; border-collapse: collapse; font-size: 0.78rem; }
.pri-mod-sta-table th, .pri-mod-sta-table td { padding: 0.4rem 0.45rem; border-bottom: 1px solid #eef1f6; }
.pri-mod-sta-table th { background: #f6f8fb; font-size: 0.68rem; }
.pri-mod-sta-table input { width: 100%; min-width: 60px; padding: 0.3rem 0.4rem; border: 1px solid #d8dee8; border-radius: 4px; font-size: 0.78rem; }
.pri-mod-sta-table .num { text-align: right; }
.pri-mod-sta-empty td { text-align: center; color: var(--domig-workspace-muted); padding: 1.5rem; }
.pri-mod-total-label { font-weight: 700; }
.pri-mod-total { font-weight: 700; font-size: 0.95rem; }
.pri-mod-hint { margin: 0.5rem 0 0; font-size: 0.8rem; color: var(--domig-workspace-muted); }
.pri-mod-hint.ok { color: #1a7a3a; }
.pri-mod-hint.warn { color: #b45309; }
.pri-mod-form-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; margin-top: 0.5rem; padding-top: 1rem; border-top: 1px solid #eef1f6; }
.pri-mod-spacer { flex: 1; }
.pri-mod-restart-hint { margin-top: 1rem; padding: 1rem; background: #fff8e6; border-radius: 8px; font-size: 0.88rem; }
@media (max-width: 700px) {
  .pri-mod-form-grid { grid-template-columns: 1fr; }
  .pri-mod-span2 { grid-column: span 1; }
  .pri-mod-toolbar input[type="search"] { min-width: 100%; flex: 1 1 100%; }
}

/* Приемници — POS пребарување на артикли */
.pri-as-block {
  margin-bottom: 0.85rem; padding: 0.85rem 1rem; background: linear-gradient(180deg, #f0f7ff 0%, #f8fafc 100%);
  border: 2px solid #93c5fd; border-radius: 10px;
}
.pri-as-label { display: block; font-size: 0.82rem; font-weight: 700; color: #1e40af; margin-bottom: 0.4rem; }
.pri-as-field { position: relative; }
.pri-as-input {
  width: 100%; padding: 0.65rem 0.85rem; border: 2px solid #60a5fa; border-radius: 8px;
  font-size: 1rem; background: #fff; box-sizing: border-box;
}
.pri-as-input:focus { outline: none; border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37,99,235,0.18); }
.pri-as-list {
  position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 60;
  max-height: 240px; overflow-y: auto; margin: 0; padding: 0; list-style: none;
  background: #fff; border: 1px solid #93c5fd; border-radius: 8px; box-shadow: 0 10px 28px rgba(0,0,0,0.14);
}
.pri-as-item { padding: 0.6rem 0.8rem; cursor: pointer; font-size: 0.84rem; border-bottom: 1px solid #eef1f6; }
.pri-as-item:hover, .pri-as-item.is-active { background: #dbeafe; }
.pri-as-meta { display: block; font-size: 0.72rem; color: #64748b; margin-top: 0.15rem; }
.pri-as-empty { padding: 0.75rem; color: #64748b; font-size: 0.82rem; }
.pri-as-stage {
  margin-top: 0.7rem; padding: 0.7rem 0.85rem; background: #fff; border: 1px dashed #60a5fa; border-radius: 8px;
}
.pri-as-preview { font-size: 0.88rem; margin-bottom: 0.55rem; }
.pri-as-em { color: #64748b; font-size: 0.78rem; margin-left: 0.35rem; }
.pri-as-fields { display: flex; flex-wrap: wrap; gap: 0.65rem; align-items: flex-end; }
.pri-as-fields label { display: flex; flex-direction: column; gap: 0.2rem; font-size: 0.72rem; font-weight: 600; color: #475569; }
.pri-as-fields input { width: 120px; padding: 0.45rem 0.55rem; border: 1px solid #d8dee8; border-radius: 6px; }
.pri-as-notfound {
  margin-top: 0.65rem; padding: 0.65rem 0.85rem; background: #fff8f0; border: 1px solid #f0d4a0;
  border-radius: 8px; display: flex; flex-wrap: wrap; gap: 0.65rem; align-items: center; font-size: 0.84rem;
}
.pri-as-new-form {
  margin-top: 0.65rem; padding: 0.85rem; background: #fff; border: 1px solid #d8dee8; border-radius: 8px;
}
.pri-as-new-form strong { display: block; margin-bottom: 0.55rem; font-size: 0.88rem; }
.pri-as-new-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.55rem 0.75rem; margin-bottom: 0.65rem; }
.pri-as-new-grid label { display: flex; flex-direction: column; gap: 0.2rem; font-size: 0.72rem; font-weight: 600; }
.pri-as-new-grid input { padding: 0.4rem 0.55rem; border: 1px solid #d8dee8; border-radius: 6px; }
.pri-as-new-actions { display: flex; gap: 0.5rem; }

/* Модул Влезни фактури */
.vf-mod { max-width: 100%; }
.vf-mod-loading { padding: 2rem; text-align: center; color: var(--domig-workspace-muted); }
.vf-mod-header {
  display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; align-items: flex-start;
  margin-bottom: 0.85rem; padding: 1rem 1.2rem; background: var(--domig-workspace-card);
  border: 1px solid #d8dee8; border-radius: 10px;
}
.vf-mod-header h2 { margin: 0 0 0.2rem; font-size: 1.25rem; }
.vf-mod-sub { margin: 0; font-size: 0.82rem; color: var(--domig-workspace-muted); }
.vf-mod-toolbar { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
.vf-mod-toolbar input[type="search"] { min-width: 200px; padding: 0.45rem 0.65rem; border: 1px solid #d8dee8; border-radius: 6px; }
.vf-mod-toolbar select { padding: 0.45rem 0.65rem; border: 1px solid #d8dee8; border-radius: 6px; }
.vf-mod-stats {
  display: flex; flex-wrap: wrap; gap: 1rem; padding: 0.65rem 1rem; margin-bottom: 0.5rem;
  background: #f7f9fc; border: 1px solid #e2e8f0; border-radius: 8px; font-size: 0.82rem;
}
.vf-mod-prep { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 0.75rem; }
.vf-mod-prep-item {
  padding: 0.3rem 0.6rem; font-size: 0.76rem; background: #f0f7ff;
  border: 1px dashed #b8d4f0; border-radius: 6px; color: var(--domig-workspace-muted);
}
.vf-mod-table-wrap {
  background: var(--domig-workspace-card); border: 1px solid #d8dee8; border-radius: 10px;
  overflow: auto; max-height: calc(100vh - 300px);
}
.vf-mod-table { width: 100%; border-collapse: collapse; font-size: 0.8rem; }
.vf-mod-table th, .vf-mod-table td { padding: 0.55rem 0.7rem; border-bottom: 1px solid #eef1f6; text-align: left; }
.vf-mod-table th { background: #f0f4f9; font-size: 0.68rem; font-weight: 700; text-transform: uppercase; color: var(--domig-workspace-muted); }
.vf-mod-table th.num, .vf-mod-table td.num { text-align: right; }
.vf-mod-table tbody tr:hover { background: #f8fafc; }
.vf-mod-table tbody tr.is-confirmed { background: #f6fff8; }
.vf-mod-table tbody tr.is-cancelled { opacity: 0.55; }
.vf-mod-actions { white-space: nowrap; }
.vf-mod-actions button { padding: 0.25rem 0.5rem; font-size: 0.72rem; margin-right: 0.15rem; }
.vf-mod-badge { padding: 0.15rem 0.5rem; border-radius: 4px; font-size: 0.72rem; font-weight: 600; }
.vf-mod-badge-draft { background: #fff3cd; color: #856404; }
.vf-mod-badge-partial { background: #e8f4fd; color: #1a5a8a; }
.vf-mod-badge-ok { background: #d4edda; color: #155724; }
.vf-mod-badge-cancel { background: #f8d7da; color: #721c24; }
.vf-mod-badge-muted { background: #eef1f6; color: #5a6a7e; }
.vf-mod-arch-hint {
  margin: 0 0 0.75rem; padding: 0.65rem 1rem; font-size: 0.82rem;
  background: #f0f7ff; border: 1px solid #c8daf0; border-radius: 8px; color: #1a4a7a;
}
.vf-mod-fin-read { font-weight: 700; color: #1a2332; }
.vf-mod-fin-total-inp { color: #166534; font-size: 1.05rem; }
.vf-mod-fin-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.75rem;
}
.vf-mod-fin-grid div {
  padding: 0.65rem 0.75rem; background: #fff; border: 1px solid #e2e8f0; border-radius: 8px;
}
.vf-mod-fin-grid span { display: block; font-size: 0.72rem; color: var(--domig-workspace-muted); text-transform: uppercase; font-weight: 700; }
.vf-mod-fin-grid strong { font-size: 1.05rem; color: #1a2332; }
.vf-mod-fin-total { background: #f0fdf4 !important; border-color: #86efac !important; }
.vf-mod-no-stavki { margin: 0.75rem 0 0; font-size: 0.78rem; color: #5a6a7e; font-style: italic; }
@media (max-width: 700px) { .vf-mod-fin-grid { grid-template-columns: 1fr 1fr; } }

/* MAT Line Search — материјални модули */
.mls-block { margin-bottom: 0.85rem; padding: 0.75rem 1rem; background: #f8fafc; border: 1px solid #d8dee8; border-radius: 10px; }
.mls-label { display: block; font-size: 0.78rem; font-weight: 700; color: var(--domig-workspace-muted); margin-bottom: 0.35rem; }
.mls-field { position: relative; }
.mls-input {
  width: 100%; padding: 0.55rem 0.75rem; border: 2px solid #c5d4e8; border-radius: 8px;
  font-size: 0.95rem; background: #fff;
}
.mls-input:focus { outline: none; border-color: #3b82f6; box-shadow: 0 0 0 3px rgba(59,130,246,0.15); }
.mls-dropdown {
  position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 50;
  max-height: 220px; overflow-y: auto; margin: 0; padding: 0; list-style: none;
  background: #fff; border: 1px solid #d8dee8; border-radius: 8px; box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}
.mls-item { padding: 0.55rem 0.75rem; cursor: pointer; font-size: 0.82rem; border-bottom: 1px solid #eef1f6; }
.mls-item:hover, .mls-item.is-active { background: #eff6ff; }
.mls-item-meta { display: block; font-size: 0.72rem; color: #5a6a7e; margin-top: 0.15rem; }
.mls-empty { padding: 0.75rem; color: var(--domig-workspace-muted); font-size: 0.82rem; }
.mls-stage {
  margin-top: 0.65rem; padding: 0.65rem 0.75rem; background: #fff; border: 1px dashed #a8c8e8; border-radius: 8px;
}
.mls-stage-info { font-size: 0.85rem; margin-bottom: 0.5rem; }
.mls-em { color: #5a6a7e; font-size: 0.78rem; margin-left: 0.35rem; }
.mls-stage-fields { display: flex; flex-wrap: wrap; gap: 0.65rem; align-items: flex-end; }
.mls-stage-fields label { display: flex; flex-direction: column; gap: 0.2rem; font-size: 0.72rem; font-weight: 600; color: var(--domig-workspace-muted); }
.mls-stage-fields input { width: 110px; padding: 0.4rem 0.5rem; border: 1px solid #d8dee8; border-radius: 6px; }
.mls-confirm { align-self: flex-end; }
.vf-mod-empty { padding: 2.5rem; text-align: center; color: var(--domig-workspace-muted); }
.vf-mod-editor {
  position: fixed; inset: 0; z-index: 1200; background: rgba(12, 18, 32, 0.45);
  display: flex; align-items: flex-start; justify-content: center; padding: 1.5rem 1rem; overflow-y: auto;
}
.vf-mod-editor-card {
  width: min(680px, 100%); background: var(--domig-workspace-card); border-radius: 12px;
  border: 1px solid #d8dee8; box-shadow: 0 20px 50px rgba(0,0,0,0.2); padding: 1.1rem 1.2rem; margin: auto;
}
.vf-mod-editor-wide { width: min(1080px, 100%); }
.vf-mod-editor-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; gap: 0.5rem; }
.vf-mod-editor-head h3 { margin: 0; font-size: 1.05rem; display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
.vf-mod-fieldset { border: 1px solid #e8ecf2; border-radius: 8px; padding: 0.75rem 1rem 1rem; margin: 0 0 0.85rem; }
.vf-mod-fieldset legend { padding: 0 0.35rem; font-size: 0.78rem; font-weight: 700; color: var(--domig-workspace-muted); }
.vf-mod-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.65rem 1rem; }
.vf-mod-form-grid label { display: flex; flex-direction: column; gap: 0.25rem; font-size: 0.78rem; font-weight: 600; color: var(--domig-workspace-muted); }
.vf-mod-form-grid input, .vf-mod-form-grid select, .vf-mod-form-grid textarea {
  font-weight: 400; padding: 0.45rem 0.55rem; border: 1px solid #d8dee8; border-radius: 6px;
}
.vf-mod-span2 { grid-column: span 2; }
.vf-mod-priem-hint, .vf-mod-book-hint { margin: 0.5rem 0 0; font-size: 0.78rem; color: #5a6a7e; }
.vf-mod-book-hint { color: #1a5a8a; font-weight: 600; }
.vf-mod-sta-toolbar { display: flex; gap: 0.5rem; margin-bottom: 0.5rem; }
.vf-mod-sta-wrap { overflow-x: auto; border: 1px solid #eef1f6; border-radius: 8px; }
.vf-mod-sta-table { width: 100%; border-collapse: collapse; font-size: 0.76rem; min-width: 900px; }
.vf-mod-sta-table th, .vf-mod-sta-table td { padding: 0.35rem 0.4rem; border-bottom: 1px solid #eef1f6; }
.vf-mod-sta-table th { background: #f6f8fb; font-size: 0.66rem; }
.vf-mod-sta-table input, .vf-mod-sta-table select { width: 100%; min-width: 50px; padding: 0.28rem 0.35rem; border: 1px solid #d8dee8; border-radius: 4px; font-size: 0.76rem; }
.vf-mod-sta-table .num { text-align: right; }
.vf-mod-sta-empty td { text-align: center; color: var(--domig-workspace-muted); padding: 1.5rem; }
.vf-mod-total-label { font-weight: 700; }
.vf-mod-total { font-weight: 700; font-size: 0.95rem; }
.vf-mod-hint { margin: 0.5rem 0 0; font-size: 0.8rem; color: var(--domig-workspace-muted); }
.vf-mod-hint.ok { color: #1a7a3a; }
.vf-mod-hint.warn { color: #b45309; }
.vf-mod-form-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; margin-top: 0.5rem; padding-top: 1rem; border-top: 1px solid #eef1f6; }
.vf-mod-spacer { flex: 1; }
.vf-mod-restart-hint { margin-top: 1rem; padding: 1rem; background: #fff8e6; border-radius: 8px; font-size: 0.88rem; }
@media (max-width: 700px) {
  .vf-mod-form-grid { grid-template-columns: 1fr; }
  .vf-mod-span2 { grid-column: span 1; }
  .vf-mod-toolbar input[type="search"] { min-width: 100%; flex: 1 1 100%; }
}

/* Модул Излезни фактури */
.if-mod { max-width: 100%; }
.if-mod-loading { padding: 2rem; text-align: center; color: var(--domig-workspace-muted); }
.if-mod-header {
  display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; align-items: flex-start;
  margin-bottom: 0.85rem; padding: 1rem 1.2rem; background: var(--domig-workspace-card);
  border: 1px solid #d8dee8; border-radius: 10px;
}
.if-mod-header h2 { margin: 0 0 0.2rem; font-size: 1.25rem; }
.if-mod-sub { margin: 0; font-size: 0.82rem; color: var(--domig-workspace-muted); }
.if-mod-toolbar { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
.if-mod-toolbar input[type="search"] { min-width: 200px; padding: 0.45rem 0.65rem; border: 1px solid #d8dee8; border-radius: 6px; }
.if-mod-toolbar select { padding: 0.45rem 0.65rem; border: 1px solid #d8dee8; border-radius: 6px; }
.if-mod-stats {
  display: flex; flex-wrap: wrap; gap: 1rem; padding: 0.65rem 1rem; margin-bottom: 0.5rem;
  background: #f7f9fc; border: 1px solid #e2e8f0; border-radius: 8px; font-size: 0.82rem;
}
.if-mod-prep { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 0.75rem; }
.if-mod-prep-item {
  padding: 0.3rem 0.6rem; font-size: 0.76rem; background: #fff8f0;
  border: 1px dashed #e8c9a0; border-radius: 6px; color: var(--domig-workspace-muted);
}
.if-mod-table-wrap {
  background: var(--domig-workspace-card); border: 1px solid #d8dee8; border-radius: 10px;
  overflow: auto; max-height: calc(100vh - 300px);
}
.if-mod-table { width: 100%; border-collapse: collapse; font-size: 0.8rem; }
.if-mod-table th, .if-mod-table td { padding: 0.55rem 0.7rem; border-bottom: 1px solid #eef1f6; text-align: left; }
.if-mod-table th { background: #f0f4f9; font-size: 0.68rem; font-weight: 700; text-transform: uppercase; color: var(--domig-workspace-muted); }
.if-mod-table th.num, .if-mod-table td.num { text-align: right; }
.if-mod-table tbody tr:hover { background: #f8fafc; }
.if-mod-table tbody tr.is-confirmed { background: #f6fff8; }
.if-mod-table tbody tr.is-cancelled { opacity: 0.55; }
.if-mod-actions { white-space: nowrap; }
.if-mod-actions button { padding: 0.25rem 0.5rem; font-size: 0.72rem; margin-right: 0.15rem; }
.if-mod-badge { padding: 0.15rem 0.5rem; border-radius: 4px; font-size: 0.72rem; font-weight: 600; }
.if-mod-badge-draft { background: #fff3cd; color: #856404; }
.if-mod-badge-ok { background: #d4edda; color: #155724; }
.if-mod-badge-cancel { background: #f8d7da; color: #721c24; }
.qte-badge-sent { background: #cce5ff; color: #004085; }
.qte-badge-expired { background: #e2e3e5; color: #383d41; }
.qte-badge-converted { background: #d1ecf1; color: #0c5460; }
.if-mod-empty { padding: 2.5rem; text-align: center; color: var(--domig-workspace-muted); }
.if-mod-editor {
  position: fixed; inset: 0; z-index: 1200; background: rgba(12, 18, 32, 0.45);
  display: flex; align-items: flex-start; justify-content: center; padding: 1.5rem 1rem; overflow-y: auto;
}
.if-mod-editor-card {
  width: min(680px, 100%); background: var(--domig-workspace-card); border-radius: 12px;
  border: 1px solid #d8dee8; box-shadow: 0 20px 50px rgba(0,0,0,0.2); padding: 1.1rem 1.2rem; margin: auto;
}
.if-mod-editor-wide { width: min(1080px, 100%); }
.if-mod-editor-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; gap: 0.5rem; }
.if-mod-editor-head h3 { margin: 0; font-size: 1.05rem; display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
.if-mod-fieldset { border: 1px solid #e8ecf2; border-radius: 8px; padding: 0.75rem 1rem 1rem; margin: 0 0 0.85rem; }
.if-mod-fieldset legend { padding: 0 0.35rem; font-size: 0.78rem; font-weight: 700; color: var(--domig-workspace-muted); }
.if-mod-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.65rem 1rem; }
.if-mod-form-grid label { display: flex; flex-direction: column; gap: 0.25rem; font-size: 0.78rem; font-weight: 600; color: var(--domig-workspace-muted); }
.if-mod-form-grid input, .if-mod-form-grid select, .if-mod-form-grid textarea {
  font-weight: 400; padding: 0.45rem 0.55rem; border: 1px solid #d8dee8; border-radius: 6px;
}
.if-mod-span2 { grid-column: span 2; }
.if-mod-isprat-hint, .if-mod-book-hint { margin: 0.5rem 0 0; font-size: 0.78rem; color: #5a6a7e; }
.if-mod-book-hint { color: #1a5a8a; font-weight: 600; }
.if-mod-sta-toolbar { display: flex; gap: 0.5rem; margin-bottom: 0.5rem; }
.if-mod-sta-wrap { overflow-x: auto; border: 1px solid #eef1f6; border-radius: 8px; }
.if-mod-sta-table { width: 100%; border-collapse: collapse; font-size: 0.76rem; min-width: 900px; }
.if-mod-sta-table th, .if-mod-sta-table td { padding: 0.35rem 0.4rem; border-bottom: 1px solid #eef1f6; }
.if-mod-sta-table th { background: #f6f8fb; font-size: 0.66rem; }
.if-mod-sta-table input, .if-mod-sta-table select { width: 100%; min-width: 50px; padding: 0.28rem 0.35rem; border: 1px solid #d8dee8; border-radius: 4px; font-size: 0.76rem; }
.if-mod-sta-table .num { text-align: right; }
.if-mod-sta-empty td { text-align: center; color: var(--domig-workspace-muted); padding: 1.5rem; }
.if-mod-total-label { font-weight: 700; }
.if-mod-total { font-weight: 700; font-size: 0.95rem; }
.if-mod-hint { margin: 0.5rem 0 0; font-size: 0.8rem; color: var(--domig-workspace-muted); }
.if-mod-hint.ok { color: #1a7a3a; }
.if-mod-hint.warn { color: #b45309; }
.if-mod-form-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; margin-top: 0.5rem; padding-top: 1rem; border-top: 1px solid #eef1f6; }
.if-mod-spacer { flex: 1; }
.if-mod-restart-hint { margin-top: 1rem; padding: 1rem; background: #fff8e6; border-radius: 8px; font-size: 0.88rem; }
@media (max-width: 700px) {
  .if-mod-form-grid { grid-template-columns: 1fr; }
  .if-mod-span2 { grid-column: span 1; }
  .if-mod-toolbar input[type="search"] { min-width: 100%; flex: 1 1 100%; }
}

/* Модул Продажба → Фактури */
.pf-mod { max-width: 100%; }
.pf-mod-loading { padding: 2rem; text-align: center; color: var(--domig-workspace-muted); }
.pf-mod-header {
  display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; align-items: flex-start;
  margin-bottom: 0.85rem; padding: 1rem 1.2rem; background: var(--domig-workspace-card);
  border: 1px solid #d8dee8; border-radius: 10px;
}
.pf-mod-header h2 { margin: 0 0 0.2rem; font-size: 1.25rem; }
.pf-mod-sub { margin: 0; font-size: 0.82rem; color: var(--domig-workspace-muted); }
.pf-mod-toolbar { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
.pf-mod-toolbar input[type="search"] { min-width: 200px; padding: 0.45rem 0.65rem; border: 1px solid #d8dee8; border-radius: 6px; }
.pf-mod-toolbar select { padding: 0.45rem 0.65rem; border: 1px solid #d8dee8; border-radius: 6px; }
.pf-mod-kpi {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.75rem; margin-bottom: 0.75rem;
}
.pf-mod-kpi-card {
  padding: 0.85rem 1rem; background: linear-gradient(135deg, #f8fafc 0%, #eef3f9 100%);
  border: 1px solid #d8dee8; border-radius: 10px; display: flex; flex-direction: column; gap: 0.2rem;
}
.pf-mod-kpi-warn { background: linear-gradient(135deg, #fff8f0 0%, #ffedd5 100%); border-color: #f0d4a8; }
.pf-mod-kpi-accent { background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%); border-color: #86efac; }
.pf-mod-kpi-label { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; color: var(--domig-workspace-muted); letter-spacing: 0.03em; }
.pf-mod-kpi-val { font-size: 1.35rem; font-weight: 700; color: #1a2332; line-height: 1.2; }
.pf-mod-kpi-sub { font-size: 0.78rem; color: #5a6a7e; }
.pf-mod-prep { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 0.75rem; }
.pf-mod-prep-item {
  padding: 0.3rem 0.6rem; font-size: 0.76rem; background: #f0f7ff;
  border: 1px dashed #a8c8e8; border-radius: 6px; color: var(--domig-workspace-muted);
}
.pf-mod-table-wrap {
  background: var(--domig-workspace-card); border: 1px solid #d8dee8; border-radius: 10px;
  overflow: auto; max-height: calc(100vh - 380px);
}
.pf-mod-table { width: 100%; border-collapse: collapse; font-size: 0.8rem; }
.pf-mod-table th, .pf-mod-table td { padding: 0.55rem 0.7rem; border-bottom: 1px solid #eef1f6; text-align: left; }
.pf-mod-table th { background: #f0f4f9; font-size: 0.68rem; font-weight: 700; text-transform: uppercase; color: var(--domig-workspace-muted); }
.pf-mod-table th.num, .pf-mod-table td.num { text-align: right; }
.pf-mod-table tbody tr:hover { background: #f8fafc; }
.pf-mod-table tbody tr.is-confirmed { background: #f6fff8; }
.pf-mod-table tbody tr.is-cancelled { opacity: 0.55; }
.pf-mod-actions { white-space: nowrap; }
.pf-mod-actions button { padding: 0.25rem 0.5rem; font-size: 0.72rem; margin-right: 0.15rem; }
.pf-mod-badge { padding: 0.15rem 0.5rem; border-radius: 4px; font-size: 0.72rem; font-weight: 600; }
.pf-mod-badge-draft { background: #fff3cd; color: #856404; }
.pf-mod-badge-ok { background: #d4edda; color: #155724; }
.pf-mod-badge-cancel { background: #f8d7da; color: #721c24; }
.pf-mod-empty { padding: 2.5rem; text-align: center; color: var(--domig-workspace-muted); }
.pf-mod-editor {
  position: fixed; inset: 0; z-index: 1200; background: rgba(12, 18, 32, 0.45);
  display: flex; align-items: flex-start; justify-content: center; padding: 1.5rem 1rem; overflow-y: auto;
}
.pf-mod-editor-card {
  width: min(680px, 100%); background: var(--domig-workspace-card); border-radius: 12px;
  border: 1px solid #d8dee8; box-shadow: 0 20px 50px rgba(0,0,0,0.2); padding: 1.1rem 1.2rem; margin: auto;
}
.pf-mod-editor-wide { width: min(1080px, 100%); }
.pf-mod-editor-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; gap: 0.5rem; }
.pf-mod-editor-head h3 { margin: 0; font-size: 1.05rem; display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
.pf-mod-fieldset { border: 1px solid #e8ecf2; border-radius: 8px; padding: 0.75rem 1rem 1rem; margin: 0 0 0.85rem; }
.pf-mod-fieldset legend { padding: 0 0.35rem; font-size: 0.78rem; font-weight: 700; color: var(--domig-workspace-muted); }
.pf-mod-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.65rem 1rem; }
.pf-mod-form-grid label { display: flex; flex-direction: column; gap: 0.25rem; font-size: 0.78rem; font-weight: 600; color: var(--domig-workspace-muted); }
.pf-mod-form-grid input, .pf-mod-form-grid select, .pf-mod-form-grid textarea {
  font-weight: 400; padding: 0.45rem 0.55rem; border: 1px solid #d8dee8; border-radius: 6px;
}
.pf-mod-span2 { grid-column: span 2; }
.pf-mod-integ-hint { margin: 0.5rem 0 0; font-size: 0.78rem; color: #1a5a8a; font-weight: 600; }
.pf-mod-sta-toolbar { display: flex; gap: 0.5rem; margin-bottom: 0.5rem; }
.pf-mod-sta-wrap { overflow-x: auto; border: 1px solid #eef1f6; border-radius: 8px; }
.pf-mod-sta-table { width: 100%; border-collapse: collapse; font-size: 0.76rem; min-width: 820px; }
.pf-mod-sta-table th, .pf-mod-sta-table td { padding: 0.35rem 0.4rem; border-bottom: 1px solid #eef1f6; }
.pf-mod-sta-table th { background: #f6f8fb; font-size: 0.66rem; }
.pf-mod-sta-table input, .pf-mod-sta-table select { width: 100%; min-width: 50px; padding: 0.28rem 0.35rem; border: 1px solid #d8dee8; border-radius: 4px; font-size: 0.76rem; }
.pf-mod-sta-table .num { text-align: right; }
.pf-mod-sta-empty td { text-align: center; color: var(--domig-workspace-muted); padding: 1.5rem; }
.pf-mod-subtotals td { font-size: 0.76rem; color: #5a6a7e; border-bottom: none; }
.pf-mod-total-label { font-weight: 700; }
.pf-mod-total { font-weight: 700; font-size: 0.95rem; }
.pf-mod-hint { margin: 0.5rem 0 0; font-size: 0.8rem; color: var(--domig-workspace-muted); }
.pf-mod-hint.ok { color: #1a7a3a; }
.pf-mod-hint.warn { color: #b45309; }
.pf-mod-form-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; margin-top: 0.5rem; padding-top: 1rem; border-top: 1px solid #eef1f6; }
.pf-mod-spacer { flex: 1; }
.pf-mod-restart-hint { margin-top: 1rem; padding: 1rem; background: #fff8e6; border-radius: 8px; font-size: 0.88rem; }
@media (max-width: 900px) {
  .pf-mod-kpi { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px) {
  .pf-mod-form-grid { grid-template-columns: 1fr; }
  .pf-mod-span2 { grid-column: span 1; }
  .pf-mod-toolbar input[type="search"] { min-width: 100%; flex: 1 1 100%; }
  .pf-mod-kpi { grid-template-columns: 1fr; }
}

/* Модул Испратници */
.isp-mod { max-width: 100%; }
.isp-mod-loading { padding: 2rem; text-align: center; color: var(--domig-workspace-muted); }
.isp-mod-header {
  display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; align-items: flex-start;
  margin-bottom: 0.85rem; padding: 1rem 1.2rem; background: var(--domig-workspace-card);
  border: 1px solid #d8dee8; border-radius: 10px;
}
.isp-mod-header h2 { margin: 0 0 0.2rem; font-size: 1.25rem; }
.isp-mod-sub { margin: 0; font-size: 0.82rem; color: var(--domig-workspace-muted); }
.isp-mod-note { color: #5a6a7e; }
.isp-mod-warn { color: #b45309; font-weight: 600; }
.isp-mod-toolbar { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
.isp-mod-toolbar input[type="search"] { min-width: 200px; padding: 0.45rem 0.65rem; border: 1px solid #d8dee8; border-radius: 6px; }
.isp-mod-toolbar select { padding: 0.45rem 0.65rem; border: 1px solid #d8dee8; border-radius: 6px; }
.isp-mod-stats {
  display: flex; flex-wrap: wrap; gap: 1rem; padding: 0.65rem 1rem; margin-bottom: 0.5rem;
  background: #f7f9fc; border: 1px solid #e2e8f0; border-radius: 8px; font-size: 0.82rem;
}
.isp-mod-prep { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 0.75rem; }
.isp-mod-prep-item {
  padding: 0.3rem 0.6rem; font-size: 0.76rem; background: #fff5f5;
  border: 1px dashed #e8b4b4; border-radius: 6px; color: var(--domig-workspace-muted);
}
.isp-mod-table-wrap {
  background: var(--domig-workspace-card); border: 1px solid #d8dee8; border-radius: 10px;
  overflow: auto; max-height: calc(100vh - 300px);
}
.isp-mod-table { width: 100%; border-collapse: collapse; font-size: 0.8rem; }
.isp-mod-table th, .isp-mod-table td { padding: 0.55rem 0.7rem; border-bottom: 1px solid #eef1f6; text-align: left; }
.isp-mod-table th { background: #f0f4f9; font-size: 0.68rem; font-weight: 700; text-transform: uppercase; color: var(--domig-workspace-muted); }
.isp-mod-table th.num, .isp-mod-table td.num { text-align: right; }
.isp-mod-table tbody tr:hover { background: #f8fafc; }
.isp-mod-table tbody tr.is-confirmed { background: #f6fff8; }
.isp-mod-table tbody tr.is-cancelled { opacity: 0.55; text-decoration: line-through; }
.isp-mod-actions { white-space: nowrap; }
.isp-mod-badge { padding: 0.15rem 0.5rem; border-radius: 4px; font-size: 0.72rem; font-weight: 600; }
.isp-mod-badge-draft { background: #fff3cd; color: #856404; }
.isp-mod-badge-ok { background: #d4edda; color: #155724; }
.isp-mod-badge-cancel { background: #f8d7da; color: #721c24; }
.isp-mod-empty { padding: 2.5rem; text-align: center; color: var(--domig-workspace-muted); }
.isp-mod-editor {
  position: fixed; inset: 0; z-index: 1200; background: rgba(12, 18, 32, 0.45);
  display: flex; align-items: flex-start; justify-content: center; padding: 1.5rem 1rem; overflow-y: auto;
}
.isp-mod-editor-card {
  width: min(680px, 100%); background: var(--domig-workspace-card); border-radius: 12px;
  border: 1px solid #d8dee8; box-shadow: 0 20px 50px rgba(0,0,0,0.2); padding: 1.1rem 1.2rem; margin: auto;
}
.isp-mod-editor-wide { width: min(960px, 100%); }
.isp-mod-editor-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; gap: 0.5rem; }
.isp-mod-editor-head h3 { margin: 0; font-size: 1.05rem; display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
.isp-mod-fieldset { border: 1px solid #e8ecf2; border-radius: 8px; padding: 0.75rem 1rem 1rem; margin: 0 0 0.85rem; }
.isp-mod-fieldset legend { padding: 0 0.35rem; font-size: 0.78rem; font-weight: 700; color: var(--domig-workspace-muted); }
.isp-mod-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.65rem 1rem; }
.isp-mod-form-grid label { display: flex; flex-direction: column; gap: 0.25rem; font-size: 0.78rem; font-weight: 600; color: var(--domig-workspace-muted); }
.isp-mod-form-grid input, .isp-mod-form-grid select, .isp-mod-form-grid textarea {
  font-weight: 400; padding: 0.45rem 0.55rem; border: 1px solid #d8dee8; border-radius: 6px;
}
.isp-mod-span2 { grid-column: span 2; }
.isp-mod-sta-toolbar { display: flex; gap: 0.5rem; margin-bottom: 0.5rem; }
.isp-mod-sta-wrap { overflow-x: auto; border: 1px solid #eef1f6; border-radius: 8px; }
.isp-mod-sta-table { width: 100%; border-collapse: collapse; font-size: 0.78rem; }
.isp-mod-sta-table th, .isp-mod-sta-table td { padding: 0.4rem 0.45rem; border-bottom: 1px solid #eef1f6; }
.isp-mod-sta-table input { width: 100%; min-width: 60px; padding: 0.3rem 0.4rem; border: 1px solid #d8dee8; border-radius: 4px; font-size: 0.78rem; }
.isp-mod-sta-table .num { text-align: right; }
.isp-mod-total-label { font-weight: 700; }
.isp-mod-total { font-weight: 700; font-size: 0.95rem; }
.isp-mod-hint { margin: 0.5rem 0 0; font-size: 0.8rem; }
.isp-mod-hint.ok { color: #1a7a3a; }
.isp-mod-hint.warn { color: #b45309; }
.isp-mod-form-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; margin-top: 0.5rem; padding-top: 1rem; border-top: 1px solid #eef1f6; }
.isp-mod-spacer { flex: 1; }
.isp-mod-restart-hint { margin-top: 1rem; padding: 1rem; background: #fff8e6; border-radius: 8px; font-size: 0.88rem; }
@media (max-width: 700px) {
  .isp-mod-form-grid { grid-template-columns: 1fr; }
  .isp-mod-span2 { grid-column: span 1; }
}

/* Модул Залиха по магацин */
.zal-mod { max-width: 100%; }
.zal-mod-loading { padding: 2rem; text-align: center; color: var(--domig-workspace-muted); }
.zal-mod-header {
  display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; align-items: flex-start;
  margin-bottom: 0.85rem; padding: 1rem 1.2rem; background: var(--domig-workspace-card);
  border: 1px solid #d8dee8; border-radius: 10px;
}
.zal-mod-header h2 { margin: 0 0 0.2rem; font-size: 1.25rem; }
.zal-mod-sub { margin: 0; font-size: 0.82rem; color: var(--domig-workspace-muted); }
.zal-mod-readonly { margin: 0.25rem 0 0; font-size: 0.78rem; color: #5a6a7e; }
.zal-mod-toolbar { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
.zal-mod-toolbar input[type="search"] { min-width: 180px; padding: 0.45rem 0.65rem; border: 1px solid #d8dee8; border-radius: 6px; }
.zal-mod-toolbar select { padding: 0.45rem 0.65rem; border: 1px solid #d8dee8; border-radius: 6px; max-width: 200px; }
.zal-mod-chk { display: flex; align-items: center; gap: 0.35rem; font-size: 0.8rem; white-space: nowrap; }
.zal-mod-stats {
  display: flex; flex-wrap: wrap; gap: 1rem; padding: 0.65rem 1rem; margin-bottom: 0.75rem;
  background: #f0f7ff; border: 1px solid #d0e3f7; border-radius: 8px; font-size: 0.82rem;
}
.zal-mod-table-wrap {
  background: var(--domig-workspace-card); border: 1px solid #d8dee8; border-radius: 10px;
  overflow: auto; max-height: calc(100vh - 300px);
}
.zal-mod-table { width: 100%; border-collapse: collapse; font-size: 0.78rem; }
.zal-mod-table th, .zal-mod-table td { padding: 0.5rem 0.6rem; border-bottom: 1px solid #eef1f6; text-align: left; vertical-align: top; }
.zal-mod-table th { background: #f0f4f9; font-size: 0.66rem; font-weight: 700; text-transform: uppercase; color: var(--domig-workspace-muted); }
.zal-mod-table th.num, .zal-mod-table td.num { text-align: right; }
.zal-mod-table tbody tr:hover { background: #f8fafc; }
.zal-mod-table tbody tr.zal-row-NEG { background: #fff5f5; }
.zal-mod-table tbody tr.zal-row-LOW { background: #fffbeb; }
.zal-mod-badge { padding: 0.12rem 0.45rem; border-radius: 4px; font-size: 0.7rem; font-weight: 600; }
.zal-mod-badge-ok { background: #d4edda; color: #155724; }
.zal-mod-badge-low { background: #fff3cd; color: #856404; }
.zal-mod-badge-zero { background: #e9ecef; color: #495057; }
.zal-mod-badge-neg { background: #f8d7da; color: #721c24; }
.zal-mod-empty { padding: 2.5rem; text-align: center; color: var(--domig-workspace-muted); }
.zal-mod-kart-btn { white-space: nowrap; }
.zal-mod-kart-overlay {
  position: fixed; inset: 0; z-index: 1200; background: rgba(12, 18, 32, 0.45);
  display: flex; align-items: flex-start; justify-content: center; padding: 2rem 1rem; overflow-y: auto;
}
.zal-mod-kart-card {
  width: min(720px, 100%); background: #fff; border-radius: 12px; border: 1px solid #d8dee8;
  box-shadow: 0 20px 50px rgba(0,0,0,0.2); padding: 1.2rem; margin: auto;
}
.zal-mod-kart-wide { width: min(980px, 100%); }
.zal-mod-kart-table-wrap { overflow-x: auto; max-height: 360px; border: 1px solid #eef1f6; border-radius: 8px; }
.zal-mod-total-row { background: #f0f7ff; font-weight: 600; }
.zal-mod-total-label { text-align: right; }
.zal-mod-total-val { font-size: 0.95rem; }
.zal-kart-doc { font-size: 0.68rem; padding: 0.2rem 0.4rem; }
.zal-mod-kart-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; }
.zal-mod-kart-head h3 { margin: 0; font-size: 1rem; }
.zal-mod-kart-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem 1rem; font-size: 0.85rem; margin-bottom: 1rem; }
.zal-mod-kart-table { width: 100%; border-collapse: collapse; font-size: 0.78rem; }
.zal-mod-kart-table th, .zal-mod-kart-table td { padding: 0.4rem; border-bottom: 1px solid #eef1f6; }
.zal-mod-kart-actions { display: flex; gap: 0.5rem; margin-top: 1rem; }
.zal-mod-hint { font-size: 0.78rem; color: var(--domig-workspace-muted); }
.zal-mod-restart-hint { margin-top: 1rem; padding: 1rem; background: #fff8e6; border-radius: 8px; font-size: 0.88rem; }
@media (max-width: 700px) {
  .zal-mod-kart-grid { grid-template-columns: 1fr; }
  .zal-mod-toolbar input[type="search"] { min-width: 100%; flex: 1 1 100%; }
}

/* Модул Попис */
.pop-mod { max-width: 100%; }
.pop-mod-loading { padding: 2rem; text-align: center; color: var(--domig-workspace-muted); }
.pop-mod-header {
  display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; align-items: flex-start;
  margin-bottom: 0.85rem; padding: 1rem 1.2rem; background: var(--domig-workspace-card);
  border: 1px solid #d8dee8; border-radius: 10px;
}
.pop-mod-header h2 { margin: 0 0 0.2rem; font-size: 1.25rem; }
.pop-mod-sub { margin: 0; font-size: 0.82rem; color: var(--domig-workspace-muted); }
.pop-mod-readonly { margin: 0.25rem 0 0; font-size: 0.78rem; color: #5a6a7e; }
.pop-mod-toolbar { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
.pop-mod-toolbar input[type="search"] { min-width: 180px; padding: 0.45rem 0.65rem; border: 1px solid #d8dee8; border-radius: 6px; }
.pop-mod-toolbar select { padding: 0.45rem 0.65rem; border: 1px solid #d8dee8; border-radius: 6px; }
.pop-mod-stats {
  display: flex; flex-wrap: wrap; gap: 1rem; padding: 0.65rem 1rem; margin-bottom: 0.75rem;
  background: #f5f0ff; border: 1px solid #e0d4f7; border-radius: 8px; font-size: 0.82rem;
}
.pop-mod-prep { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 0.75rem; }
.pop-mod-prep-item {
  font-size: 0.75rem; padding: 0.25rem 0.55rem; background: #f8fafc;
  border: 1px dashed #d0d8e4; border-radius: 6px; color: var(--domig-workspace-muted);
}
.pop-mod-table-wrap {
  background: var(--domig-workspace-card); border: 1px solid #d8dee8; border-radius: 10px; overflow: auto;
}
.pop-mod-table { width: 100%; border-collapse: collapse; font-size: 0.78rem; }
.pop-mod-table th, .pop-mod-table td { padding: 0.5rem 0.6rem; border-bottom: 1px solid #eef1f6; text-align: left; vertical-align: top; }
.pop-mod-table th { background: #f0f4f9; font-size: 0.66rem; font-weight: 700; text-transform: uppercase; color: var(--domig-workspace-muted); }
.pop-mod-table tbody tr.is-confirmed { background: #f8fff9; }
.pop-mod-badge { padding: 0.12rem 0.45rem; border-radius: 4px; font-size: 0.7rem; font-weight: 600; }
.pop-mod-badge-ok { background: #d4edda; color: #155724; }
.pop-mod-badge-draft { background: #e9ecef; color: #495057; }
.pop-mod-raz { font-size: 0.72rem; font-weight: 600; }
.pop-mod-raz-plus { color: #155724; }
.pop-mod-raz-minus { color: #721c24; }
.pop-mod-empty { padding: 2rem; text-align: center; color: var(--domig-workspace-muted); }
.pop-mod-editor {
  position: fixed; inset: 0; z-index: 1100; background: rgba(12, 18, 32, 0.45);
  display: flex; align-items: flex-start; justify-content: center; padding: 1.5rem 1rem; overflow-y: auto;
}
.pop-mod-editor-card {
  width: min(1100px, 100%); background: #fff; border-radius: 12px; border: 1px solid #d8dee8;
  box-shadow: 0 20px 50px rgba(0,0,0,0.2); padding: 1.2rem; margin: auto;
}
.pop-mod-editor-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; }
.pop-mod-editor-head h3 { margin: 0; font-size: 1rem; }
.pop-mod-form-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.75rem; margin-bottom: 1rem;
}
.pop-mod-form-grid label { display: flex; flex-direction: column; gap: 0.25rem; font-size: 0.78rem; }
.pop-mod-form-grid input, .pop-mod-form-grid select { padding: 0.45rem 0.6rem; border: 1px solid #d8dee8; border-radius: 6px; }
.pop-mod-span2 { grid-column: span 2; }
.pop-mod-sta-toolbar { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; margin-bottom: 0.75rem; }
.pop-mod-sta-sum { margin-left: auto; font-size: 0.82rem; }
.pop-mod-sta-wrap { overflow: auto; max-height: 50vh; border: 1px solid #eef1f6; border-radius: 8px; margin-bottom: 1rem; }
.pop-mod-sta-table { width: 100%; border-collapse: collapse; font-size: 0.76rem; }
.pop-mod-sta-table th, .pop-mod-sta-table td { padding: 0.4rem 0.5rem; border-bottom: 1px solid #eef1f6; }
.pop-mod-sta-table th.num, .pop-mod-sta-table td.num { text-align: right; }
.pop-mod-sta-table input.pop-sta-real { width: 80px; text-align: right; padding: 0.3rem; border: 1px solid #d8dee8; border-radius: 4px; }
.pop-mod-editor-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.pop-mod-msg { margin-top: 0.75rem; padding: 0.5rem 0.75rem; border-radius: 6px; font-size: 0.82rem; }
.pop-mod-msg.ok { background: #d4edda; color: #155724; }
.pop-mod-msg.err { background: #f8d7da; color: #721c24; }
.pop-mod-restart-hint { margin-top: 1rem; padding: 1rem; background: #fff8e6; border-radius: 8px; font-size: 0.88rem; }
@media (max-width: 700px) {
  .pop-mod-form-grid { grid-template-columns: 1fr; }
  .pop-mod-span2 { grid-column: span 1; }
}

/* Модул Нивелација */
.niv-mod { max-width: 100%; }
.niv-mod-loading { padding: 2rem; text-align: center; color: var(--domig-workspace-muted); }
.niv-mod-header {
  display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; align-items: flex-start;
  margin-bottom: 0.85rem; padding: 1rem 1.2rem; background: var(--domig-workspace-card);
  border: 1px solid #d8dee8; border-radius: 10px;
}
.niv-mod-header h2 { margin: 0 0 0.2rem; font-size: 1.25rem; }
.niv-mod-sub { margin: 0; font-size: 0.82rem; color: var(--domig-workspace-muted); }
.niv-mod-readonly { margin: 0.25rem 0 0; font-size: 0.78rem; color: #5a6a7e; }
.niv-mod-toolbar { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
.niv-mod-toolbar input[type="search"] { min-width: 180px; padding: 0.45rem 0.65rem; border: 1px solid #d8dee8; border-radius: 6px; }
.niv-mod-toolbar select { padding: 0.45rem 0.65rem; border: 1px solid #d8dee8; border-radius: 6px; }
.niv-mod-stats {
  display: flex; flex-wrap: wrap; gap: 1rem; padding: 0.65rem 1rem; margin-bottom: 0.75rem;
  background: #fff8f0; border: 1px solid #f5dfc8; border-radius: 8px; font-size: 0.82rem;
}
.niv-mod-prep { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 0.75rem; }
.niv-mod-prep-item {
  font-size: 0.75rem; padding: 0.25rem 0.55rem; background: #f8fafc;
  border: 1px dashed #d0d8e4; border-radius: 6px; color: var(--domig-workspace-muted);
}
.niv-mod-table-wrap {
  background: var(--domig-workspace-card); border: 1px solid #d8dee8; border-radius: 10px; overflow: auto;
}
.niv-mod-table { width: 100%; border-collapse: collapse; font-size: 0.78rem; }
.niv-mod-table th, .niv-mod-table td { padding: 0.5rem 0.6rem; border-bottom: 1px solid #eef1f6; text-align: left; vertical-align: top; }
.niv-mod-table th { background: #f0f4f9; font-size: 0.66rem; font-weight: 700; text-transform: uppercase; color: var(--domig-workspace-muted); }
.niv-mod-table th.num, .niv-mod-table td.num { text-align: right; }
.niv-mod-table tbody tr.is-confirmed { background: #f8fff9; }
.niv-mod-badge { padding: 0.12rem 0.45rem; border-radius: 4px; font-size: 0.7rem; font-weight: 600; }
.niv-mod-badge-ok { background: #d4edda; color: #155724; }
.niv-mod-badge-draft { background: #e9ecef; color: #495057; }
.niv-mod-empty { padding: 2rem; text-align: center; color: var(--domig-workspace-muted); }
.niv-mod-editor {
  position: fixed; inset: 0; z-index: 1100; background: rgba(12, 18, 32, 0.45);
  display: flex; align-items: flex-start; justify-content: center; padding: 1.5rem 1rem; overflow-y: auto;
}
.niv-mod-editor-card {
  width: min(1150px, 100%); background: #fff; border-radius: 12px; border: 1px solid #d8dee8;
  box-shadow: 0 20px 50px rgba(0,0,0,0.2); padding: 1.2rem; margin: auto;
}
.niv-mod-editor-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; }
.niv-mod-editor-head h3 { margin: 0; font-size: 1rem; }
.niv-mod-form-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.75rem; margin-bottom: 1rem;
}
.niv-mod-form-grid label { display: flex; flex-direction: column; gap: 0.25rem; font-size: 0.78rem; }
.niv-mod-form-grid input, .niv-mod-form-grid select { padding: 0.45rem 0.6rem; border: 1px solid #d8dee8; border-radius: 6px; }
.niv-mod-span2 { grid-column: span 2; }
.niv-mod-sta-toolbar { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; margin-bottom: 0.75rem; }
.niv-mod-masovna { display: flex; align-items: center; gap: 0.35rem; font-size: 0.78rem; }
.niv-mod-masovna input { width: 70px; padding: 0.35rem 0.45rem; border: 1px solid #d8dee8; border-radius: 4px; }
.niv-mod-sta-sum { margin-left: auto; font-size: 0.82rem; }
.niv-mod-sta-wrap { overflow: auto; max-height: 50vh; border: 1px solid #eef1f6; border-radius: 8px; margin-bottom: 1rem; }
.niv-mod-sta-table { width: 100%; border-collapse: collapse; font-size: 0.76rem; }
.niv-mod-sta-table th, .niv-mod-sta-table td { padding: 0.4rem 0.5rem; border-bottom: 1px solid #eef1f6; }
.niv-mod-sta-table th.num, .niv-mod-sta-table td.num { text-align: right; }
.niv-mod-sta-table input { width: 80px; text-align: right; padding: 0.3rem; border: 1px solid #d8dee8; border-radius: 4px; }
.niv-mod-editor-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.niv-mod-msg { margin-top: 0.75rem; padding: 0.5rem 0.75rem; border-radius: 6px; font-size: 0.82rem; }
.niv-mod-msg.ok { background: #d4edda; color: #155724; }
.niv-mod-msg.err { background: #f8d7da; color: #721c24; }
.niv-mod-restart-hint { margin-top: 1rem; padding: 1rem; background: #fff8e6; border-radius: 8px; font-size: 0.88rem; }
@media (max-width: 700px) {
  .niv-mod-form-grid { grid-template-columns: 1fr; }
  .niv-mod-span2 { grid-column: span 1; }
}

@media (max-width: 700px) {
  .kat-mod-form-grid { grid-template-columns: 1fr; }
  .kat-tree-actions {
    width: 100%;
    opacity: 1;
    pointer-events: auto;
  }
  .kat-tree-line {
    flex-wrap: wrap;
    padding-bottom: 0.5rem;
  }
}

/* Материјални документи — преносница, издатница, повратница */
.mdoc-mod { max-width: 100%; }
.mdoc-loading { padding: 2rem; text-align: center; color: var(--domig-workspace-muted); }
.mdoc-header { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.75rem; margin-bottom: 1rem; }
.mdoc-header h2 { margin: 0; font-size: 1.25rem; }
.mdoc-sub { margin: 0; font-size: 0.82rem; color: var(--domig-workspace-muted); }
.mdoc-toolbar { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.mdoc-table { width: 100%; border-collapse: collapse; font-size: 0.82rem; }
.mdoc-table th, .mdoc-table td { padding: 0.5rem 0.65rem; border-bottom: 1px solid #eef1f6; }
.mdoc-table th { background: #f0f4f9; font-size: 0.68rem; text-transform: uppercase; }
.mdoc-badge { display: inline-block; padding: 0.12rem 0.4rem; border-radius: 4px; font-size: 0.68rem; font-weight: 700; }
.mdoc-badge-ok { background: #dcfce7; color: #166534; }
.mdoc-badge-new { background: #dbeafe; color: #1e40af; }
.mdoc-editor { position: fixed; inset: 0; background: rgba(15,23,42,0.45); z-index: 900; display: flex; align-items: flex-start; justify-content: center; padding: 2rem 1rem; overflow: auto; }
.mdoc-card { background: #fff; border-radius: 10px; max-width: 960px; width: 100%; padding: 1.25rem; box-shadow: 0 8px 32px rgba(0,0,0,0.15); }
.mdoc-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; }
.mdoc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.65rem 1rem; margin-bottom: 1rem; }
.mdoc-grid label { display: flex; flex-direction: column; gap: 0.2rem; font-size: 0.78rem; font-weight: 600; }
.mdoc-grid input, .mdoc-grid select { padding: 0.4rem 0.5rem; border: 1px solid #d8dee8; border-radius: 6px; }
.mdoc-span2 { grid-column: span 2; }
.mdoc-sta { width: 100%; border-collapse: collapse; font-size: 0.8rem; margin: 0.75rem 0; }
.mdoc-sta th, .mdoc-sta td { padding: 0.4rem 0.5rem; border-bottom: 1px solid #eef1f6; }
.mdoc-sta .num { text-align: right; }
.mdoc-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1rem; }
.mdoc-msg.ok { color: #1a7a3a; }
.mdoc-msg.err { color: #b45309; }

/* ——— Dashboard v2 ——— */
.domig-dash { max-width: 1400px; margin: 0 auto; }
.domig-dash-header { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: 1rem; margin-bottom: 1.25rem; }
.domig-dash-header h2 { margin: 0; font-size: 1.5rem; }
.domig-dash-date { color: var(--domig-workspace-muted); margin: 0.25rem 0 0; font-size: 0.9rem; }
.domig-dash-section { margin-bottom: 1.5rem; }
.domig-dash-section-title { font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--domig-workspace-muted); margin: 0 0 0.75rem; }
.domig-dash-kpi-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 0.75rem; }
.domig-dash-kpi { background: var(--domig-workspace-card); border: 1px solid #d8dee8; border-radius: 10px; padding: 0.85rem 1rem; box-shadow: 0 1px 3px rgba(0,0,0,0.04); }
.domig-dash-kpi.is-muted { opacity: 0.72; }
.domig-dash-kpi-label { display: block; font-size: 0.72rem; color: var(--domig-workspace-muted); text-transform: uppercase; letter-spacing: 0.04em; }
.domig-dash-kpi-value { display: block; font-size: 1.15rem; font-weight: 700; margin-top: 0.35rem; color: var(--domig-workspace-text); }
.domig-quick-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 0.5rem; }
.domig-quick-btn { display: flex; flex-direction: column; align-items: center; gap: 0.35rem; padding: 0.75rem 0.5rem; border: 1px solid #d8dee8; border-radius: 10px; background: #fff; cursor: pointer; font-size: 0.78rem; font-weight: 600; transition: border-color 0.15s, box-shadow 0.15s; }
.domig-quick-btn:hover { border-color: var(--domig-accent); box-shadow: 0 2px 8px var(--domig-accent-soft); }
.domig-quick-icon { font-size: 1.25rem; }
.domig-dash-split { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
@media (max-width: 900px) { .domig-dash-split { grid-template-columns: 1fr; } }
.domig-alerts { display: flex; flex-direction: column; gap: 0.65rem; }
.domig-alert { background: #fff; border: 1px solid #d8dee8; border-radius: 8px; padding: 0.75rem 1rem; border-left: 4px solid #1d6fd8; }
.domig-alert-warn { border-left-color: #d97706; background: #fffbeb; }
.domig-alert-danger { border-left-color: #dc2626; background: #fef2f2; }
.domig-alert-info { border-left-color: #1d6fd8; }
.domig-alert-head { display: flex; justify-content: space-between; align-items: center; gap: 0.5rem; }
.domig-alert-list { margin: 0.5rem 0 0; padding-left: 1.1rem; font-size: 0.82rem; color: var(--domig-workspace-muted); }
.domig-dash-empty { color: var(--domig-workspace-muted); font-size: 0.88rem; }
.domig-health-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 0.5rem; }

/* ——— Global theme toggle ——— */
body.theme-dark {
  --domig-workspace: #0f1419;
  --domig-workspace-card: #1a2332;
  --domig-workspace-text: #e8edf4;
  --domig-workspace-muted: #94a3b8;
}
body.theme-dark .main,
body.theme-dark .content { background: var(--domig-workspace); color: var(--domig-workspace-text); }
body.theme-dark .header,
body.theme-dark .cfma-titlebar { background: #151d2b; border-color: #2a3548; color: var(--domig-workspace-text); }
body.theme-dark .card,
body.theme-dark .domig-dash-kpi,
body.theme-dark .domig-quick-btn,
body.theme-dark .domig-alert { background: var(--domig-workspace-card); border-color: #2a3548; color: var(--domig-workspace-text); }
body.theme-dark .data-table th { background: #243044; }
body.theme-dark .data-table td { border-color: #2a3548; }
