/* ===== GTS ERP Shared UI ===== */

@import url('/ERP/assets/vendor/handsontable/handsontable.full.min.css');

:root {
  color-scheme: dark;

  --erp-font-sans: system-ui, "Segoe UI", Roboto, Arial, sans-serif;
  --erp-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", "Courier New", monospace;
  --erp-font-body: 14px/1.4 var(--erp-font-sans);

  --erp-bg: #0b0b0c;
  --erp-bg-raised: #0f1013;
  --erp-surface: #121317;
  --erp-surface-2: #151618;
  --erp-control: #111216;
  --erp-hover: #181a20;
  --erp-border: #202228;
  --erp-border-strong: #2a2d34;

  --erp-text: #e7e7ea;
  --erp-text-strong: #ffffff;
  --erp-muted: #a0a0a7;
  --erp-muted-2: #c7c9d1;

  --erp-accent: #ffcd11;
  --erp-accent-hover: #ffd454;
  --erp-accent-text: #141517;
  --erp-primary: #2f6dff;
  --erp-primary-strong: #1a5fff;
  --erp-success: #1bd760;
  --erp-success-strong: #2e7d32;
  --erp-danger: #ff4c42;
  --erp-danger-soft: #ff7a7a;
  --erp-warning: #fbbf24;
  --erp-info: #60a5fa;

  --erp-radius-sm: 8px;
  --erp-radius-md: 10px;
  --erp-radius-lg: 14px;
  --erp-radius-xl: 16px;
  --erp-radius-pill: 999px;

  --erp-space-1: 4px;
  --erp-space-2: 8px;
  --erp-space-3: 12px;
  --erp-space-4: 16px;
  --erp-space-5: 20px;
  --erp-space-6: 24px;
  --erp-space-8: 32px;

  --erp-shadow-sm: 0 8px 24px rgba(0, 0, 0, .25);
  --erp-shadow-md: 0 16px 40px rgba(0, 0, 0, .35);
  --erp-shadow-lg: 0 24px 60px rgba(0, 0, 0, .55);

  --erp-page-max: 1920px;
  --erp-page-wide: 1920px;
  --erp-page-full: 1920px;

  /* Legacy aliases used by older pages. */
  --cat-yellow: var(--erp-accent);
  --cat-black: var(--erp-bg);
  --ink: var(--erp-text);
  --muted: var(--erp-muted);
  --panel: var(--erp-surface-2);
  --border: var(--erp-border-strong);
  --hover: var(--erp-hover);
  --bg-light: var(--erp-hover);
  --bg: var(--erp-bg);
  --accent: var(--erp-accent-hover);
}

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

html,
body {
  margin: 0;
  padding: 0;
}

html {
  background: var(--erp-bg);
}

body {
  min-height: 100vh;
  background: var(--erp-bg);
  color: var(--erp-text);
  font: var(--erp-font-body);
}

a {
  color: inherit;
}

button,
input,
select,
textarea {
  font: inherit;
}

button {
  cursor: pointer;
}

button:disabled,
input:disabled,
select:disabled,
textarea:disabled {
  opacity: .55;
  cursor: not-allowed;
}

::selection {
  background: rgba(255, 205, 17, .28);
  color: var(--erp-text-strong);
}

.erp-page {
  width: min(var(--erp-page-max), calc(100vw - 32px));
  margin: var(--erp-space-6) auto 48px;
  padding: 0;
}

.erp-page--wide {
  --erp-page-max: var(--erp-page-wide);
}

.erp-page--full {
  --erp-page-max: var(--erp-page-full);
}

.erp-card {
  background: var(--erp-surface);
  border: 1px solid var(--erp-border);
  border-radius: var(--erp-radius-xl);
  padding: var(--erp-space-4);
  box-shadow: var(--erp-shadow-md);
}

.erp-card + .erp-card {
  margin-top: var(--erp-space-4);
}

.erp-h1,
.erp-title {
  margin: 0 0 var(--erp-space-3);
  color: var(--erp-text);
  font-size: 24px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: 0;
}

.erp-h2 {
  margin: 0 0 var(--erp-space-3);
  color: var(--erp-text);
  font-size: 20px;
  line-height: 1.25;
  font-weight: 750;
}

.erp-muted,
:where(.muted) {
  color: var(--erp-muted);
}

.erp-toolbar {
  display: flex;
  gap: var(--erp-space-2);
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: var(--erp-space-3);
  padding: var(--erp-space-3);
  background: var(--erp-bg-raised);
  border: 1px solid var(--erp-border);
  border-radius: var(--erp-radius-lg);
}

.erp-toolbar,
:where(.toolbar) {
  display: flex;
  gap: var(--erp-space-2);
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: var(--erp-space-3);
}

.erp-toolbar .right,
.erp-toolbar-right {
  margin-left: auto;
  display: flex;
  gap: var(--erp-space-2);
  align-items: center;
  flex-wrap: wrap;
}

.erp-toolbar :where(.right),
.erp-toolbar-right,
:where(.toolbar .right) {
  margin-left: auto;
  display: flex;
  gap: var(--erp-space-2);
  align-items: center;
  flex-wrap: wrap;
}

.erp-field,
.erp-input,
.erp-select,
.erp-textarea,
.erp-toolbar input,
.erp-toolbar select,
.erp-toolbar textarea {
  min-height: 40px;
  background: var(--erp-control);
  color: var(--erp-text);
  border: 1px solid var(--erp-border);
  border-radius: var(--erp-radius-md);
  padding: 8px 10px;
}

.erp-form-control,
:where(input:not([type="checkbox"]):not([type="radio"])),
:where(select),
:where(textarea) {
  min-height: 40px;
  background: var(--erp-control);
  color: var(--erp-text);
  border: 1px solid var(--erp-border);
  border-radius: var(--erp-radius-md);
  padding: 8px 10px;
}

.erp-form-control:focus,
:where(input:not([type="checkbox"]):not([type="radio"]):focus),
:where(select:focus),
:where(textarea:focus) {
  outline: none;
  border-color: var(--erp-accent-hover);
  box-shadow: 0 0 0 3px rgba(255, 212, 84, .12);
}

.erp-field:focus,
.erp-input:focus,
.erp-select:focus,
.erp-textarea:focus,
.erp-toolbar input:focus,
.erp-toolbar select:focus,
.erp-toolbar textarea:focus {
  outline: none;
  border-color: var(--erp-accent-hover);
  box-shadow: 0 0 0 3px rgba(255, 212, 84, .12);
}

.erp-btn,
:where(.btn),
:where(.button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--erp-space-2);
  min-height: 40px;
  padding: 8px 12px;
  border: 1px solid var(--erp-border);
  border-radius: var(--erp-radius-md);
  background: var(--erp-control);
  color: var(--erp-text);
  font-weight: 650;
  text-decoration: none;
  white-space: nowrap;
  transition: background .16s ease, border-color .16s ease, color .16s ease, transform .06s ease;
}

:where(button) {
  font-weight: 650;
}

.erp-btn:hover,
:where(.btn:hover),
:where(.button:hover) {
  background: var(--erp-hover);
  border-color: var(--erp-border-strong);
}

.erp-btn:active,
:where(.btn:active),
:where(.button:active) {
  transform: translateY(1px);
}

.erp-btn.primary,
:where(.btn.primary),
:where(.button.primary) {
  background: var(--erp-primary-strong);
  border-color: var(--erp-primary);
  color: #fff;
}

.erp-btn.accent,
:where(.btn.accent),
:where(.button.accent) {
  background: var(--erp-accent);
  border-color: var(--erp-accent);
  color: var(--erp-accent-text);
}

.erp-btn.success,
:where(.btn.success),
:where(.button.success) {
  background: var(--erp-success-strong);
  border-color: #3d8b40;
  color: #fff;
}

.erp-btn.danger,
:where(.btn.danger),
:where(.button.danger) {
  background: #3c1414;
  border-color: #7a2a2a;
  color: var(--erp-danger-soft);
}

.erp-btn.ghost,
:where(.btn.ghost),
:where(.button.ghost) {
  background: var(--erp-bg-raised);
  border-color: var(--erp-border);
  color: var(--erp-text);
}

.erp-table-wrap {
  width: 100%;
  overflow: auto;
  background: var(--erp-surface);
  border: 1px solid var(--erp-border);
  border-radius: var(--erp-radius-lg);
}

.erp-table-wrap,
:where(.table-wrap) {
  width: 100%;
  overflow: auto;
  background: var(--erp-surface);
  border: 1px solid var(--erp-border);
  border-radius: var(--erp-radius-lg);
}

.erp-table {
  width: 100%;
  border-collapse: collapse;
  background: var(--erp-surface);
  color: var(--erp-text);
}

.erp-table,
:where(.table),
:where(table:not(.htCore)) {
  width: 100%;
  border-collapse: collapse;
  background: var(--erp-surface);
  color: var(--erp-text);
}

.erp-table th,
.erp-table td {
  padding: 10px;
  border-bottom: 1px solid var(--erp-border);
  text-align: left;
  font-size: 13px;
}

.erp-table th,
.erp-table td,
:where(.table th),
:where(.table td),
:where(table:not(.htCore) th),
:where(table:not(.htCore) td) {
  padding: 10px;
  border-bottom: 1px solid var(--erp-border);
  text-align: left;
  font-size: 13px;
}

.erp-table th {
  background: var(--erp-bg-raised);
  color: var(--erp-text);
  font-weight: 700;
}

.erp-table th,
:where(.table th),
:where(table:not(.htCore) th) {
  background: var(--erp-bg-raised);
  color: var(--erp-text);
  font-weight: 700;
}

.erp-table tbody tr:hover td {
  background: var(--erp-hover);
}

.erp-table tbody tr:hover td,
:where(.table tbody tr:hover td),
:where(table:not(.htCore) tbody tr:hover td) {
  background: var(--erp-hover);
}

.erp-table .num,
.erp-num,
:where(.num) {
  text-align: right;
}

.erp-status,
:where(.status),
:where(.badge) {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 9px;
  border-radius: var(--erp-radius-pill);
  background: #1b1d22;
  border: 1px solid var(--erp-border-strong);
  color: var(--erp-muted-2);
  font-size: 12px;
  font-weight: 650;
}

.status-yellow,
.erp-status.warn,
:where(.status.warn),
:where(.badge.warn) {
  background: rgba(255, 205, 17, .16);
  border-color: rgba(255, 205, 17, .45);
  color: var(--erp-accent);
}

.status-green,
.erp-status.ok,
:where(.status.ok),
:where(.badge.ok) {
  background: rgba(27, 215, 96, .16);
  border-color: rgba(27, 215, 96, .45);
  color: var(--erp-success);
}

.erp-status.ok,
:where(.status.ok),
:where(.badge.ok) {
  background: rgba(27, 215, 96, .16);
  border-color: rgba(27, 215, 96, .45);
  color: var(--erp-success);
}

.erp-status.warn,
:where(.status.warn),
:where(.badge.warn) {
  background: rgba(255, 205, 17, .16);
  border-color: rgba(255, 205, 17, .45);
  color: var(--erp-accent);
}

.erp-status.danger,
:where(.status.danger),
:where(.badge.danger) {
  background: rgba(255, 76, 66, .14);
  border-color: rgba(255, 76, 66, .42);
  color: var(--erp-danger-soft);
}

.erp-modal-backdrop,
:where(.modal-backdrop),
:where(.modal) {
  background: rgba(0, 0, 0, .62);
}

.erp-modal,
:where(.modal) {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 3000;
}

.erp-modal.open,
:where(.modal.open) {
  display: flex;
}

.erp-modal-card,
:where(.modal-card),
:where(.modal-content) {
  background: var(--erp-surface);
  border: 1px solid var(--erp-border);
  border-radius: var(--erp-radius-xl);
  color: var(--erp-text);
  box-shadow: var(--erp-shadow-lg);
}

.erp-modal-card,
:where(.card) {
  background: var(--erp-surface);
  border: 1px solid var(--erp-border);
  border-radius: var(--erp-radius-xl);
  color: var(--erp-text);
}

.erp-row,
:where(.row) {
  display: flex;
  gap: var(--erp-space-2);
  align-items: center;
  flex-wrap: wrap;
}

.erp-spacer,
:where(.spacer) {
  flex: 1;
}

.erp-pill,
:where(.pill) {
  display: inline-flex;
  align-items: center;
  gap: var(--erp-space-2);
  padding: 6px 10px;
  border-radius: var(--erp-radius-md);
  border: 1px solid var(--erp-border);
  background: var(--erp-bg-raised);
  color: var(--erp-text);
}

.erp-close,
:where(.close) {
  margin-left: auto;
}

.erp-toast,
:where(.toast) {
  background: var(--erp-bg-raised);
  border: 1px solid var(--erp-border);
  color: var(--erp-text);
  border-radius: var(--erp-radius-md);
  box-shadow: var(--erp-shadow-md);
}

.erp-settings-page,
:where(.settings-wrap) {
  width: min(var(--erp-page-max), calc(100vw - 32px));
  margin: var(--erp-space-8) auto 48px;
  padding: 0;
  color: var(--erp-text);
  font-family: var(--erp-font-sans);
}

.erp-settings-page--wide {
  --erp-page-max: var(--erp-page-wide);
}

.erp-settings-card,
:where(.settings-card) {
  background: var(--erp-surface-2);
  border: 1px solid var(--erp-border);
  border-radius: var(--erp-radius-xl);
  padding: var(--erp-space-6);
  box-shadow: var(--erp-shadow-md);
  display: flex;
  flex-direction: column;
  gap: var(--erp-space-5);
}

:where(.settings-card h1) {
  margin: 0;
  color: var(--erp-text);
  font-size: 26px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: 0;
}

:where(.settings-card h2) {
  margin: 0;
  color: var(--erp-text);
  font-size: 20px;
  line-height: 1.25;
  font-weight: 750;
}

:where(.settings-card p) {
  margin: 0;
}

.erp-field-row,
:where(.field-row),
:where(.settings-actions),
:where(.select-row) {
  display: flex;
  gap: var(--erp-space-3);
  flex-wrap: wrap;
  align-items: center;
}

:where(.field) {
  display: flex;
  gap: var(--erp-space-2);
  align-items: center;
}

:where(.field label) {
  color: var(--erp-muted);
  font-size: 13px;
}

:where(.select-row) {
  padding: var(--erp-space-3) var(--erp-space-4);
  background: var(--erp-bg-raised);
  border: 1px solid #24262d;
  border-radius: var(--erp-radius-md);
}

.erp-text-input,
:where(.text-input),
:where(.id-input) {
  flex: 1;
  min-width: 280px;
  min-height: 42px;
  padding: 10px 14px;
  border-radius: var(--erp-radius-md);
  border: 1px solid var(--erp-border-strong);
  background: var(--erp-bg-raised);
  color: var(--erp-text);
}

:where(.field input:not([type="checkbox"]):not([type="radio"])) {
  width: 120px;
}

.erp-text-input:focus,
:where(.text-input:focus),
:where(.id-input:focus) {
  outline: none;
  border-color: var(--erp-accent-hover);
  box-shadow: 0 0 0 3px rgba(255, 212, 84, .12);
}

.erp-action-btn,
:where(.action-btn) {
  min-height: 42px;
  padding: 10px 16px;
  border-radius: var(--erp-radius-md);
  border: 1px solid var(--erp-accent);
  cursor: pointer;
  font-weight: 750;
  background: var(--erp-accent-hover);
  color: var(--erp-accent-text);
}

.erp-action-btn:hover,
:where(.action-btn:hover) {
  opacity: .92;
}

.erp-message,
:where(.loading),
:where(.error-message),
:where(.success-message) {
  padding: 12px 16px;
  border-radius: var(--erp-radius-md);
}

:where(.loading) {
  display: none;
  color: var(--erp-muted);
  text-align: center;
}

:where(.error-message) {
  display: none;
  color: var(--erp-danger-soft);
  background: #3c1414;
  border: 1px solid #7a2a2a;
}

:where(.success-message) {
  display: none;
  color: #7aff7a;
  background: #143c14;
  border: 1px solid #2a7a2a;
}

.erp-results,
:where(.results) {
  display: grid;
  gap: var(--erp-space-3);
}

.erp-result-card,
:where(.result-card),
:where(.section-card) {
  background: var(--erp-bg-raised);
  border: 1px solid #23252b;
  border-radius: var(--erp-radius-lg);
  padding: 14px 16px;
}

.erp-result-title,
:where(.result-title) {
  font-size: 15px;
  font-weight: 750;
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}

.erp-result-pill,
:where(.result-pill) {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  font-size: 11px;
  font-weight: 750;
  text-transform: uppercase;
  padding: 4px 8px;
  border-radius: var(--erp-radius-sm);
  background: #22252c;
  color: var(--erp-accent-hover);
}

.erp-result-meta,
:where(.result-meta) {
  font-size: 13px;
  color: var(--erp-muted-2);
}

.erp-empty-state,
:where(.empty-state) {
  padding: 32px 12px;
  text-align: center;
  color: var(--erp-muted);
  border: 1px dashed var(--erp-border-strong);
  border-radius: var(--erp-radius-lg);
  background: var(--erp-bg-raised);
}

.erp-mono,
code,
pre {
  font-family: var(--erp-font-mono);
}

.erp-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 760px) {
  .erp-page {
    width: calc(100vw - 24px);
    margin-top: 18px;
  }

  .erp-card {
    padding: var(--erp-space-3);
  }

  .erp-toolbar,
  .erp-toolbar .right,
  .erp-toolbar-right {
    align-items: stretch;
  }

  .erp-toolbar > *,
  .erp-toolbar .right > *,
  .erp-toolbar-right > * {
    width: 100%;
  }

  .erp-settings-page,
  :where(.settings-wrap) {
    width: calc(100vw - 24px);
    margin-top: 18px;
  }

  .erp-settings-card,
  :where(.settings-card) {
    padding: var(--erp-space-4);
  }

  .erp-field-row > *,
  :where(.field-row > *),
  :where(.settings-actions > *),
  :where(.select-row > *) {
    width: 100%;
  }

  .erp-text-input,
  :where(.text-input),
  :where(.id-input) {
    min-width: 0;
  }
}

/* ===== Consolidated menu.css ===== */
/* ===== GTS ERP — Base + Menu (full, clean) ===== */
/* 0) Гарантируем, что padding входит в ширину */
*, *::before, *::after { box-sizing: border-box; }

:root{
  --cat-yellow:var(--erp-accent);
  --cat-black:var(--erp-bg);
  --ink:var(--erp-text);
  --muted:var(--erp-muted);
  --panel:var(--erp-surface-2);
  --border:var(--erp-border-strong);
}

html,body{margin:0;padding:0}
body{
  background:var(--erp-bg);
  color:var(--erp-text);
  font:var(--erp-font-body);
}

/* требование пользователя */
body { padding-top: 0vh !important; }

/* ===== Header / Menu ===== */
.erp-header{
  position: sticky;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  background: linear-gradient(180deg,#121315,#0e0f11);
  border-bottom: 1px solid var(--border);
  box-shadow: 0 8px 24px rgba(0,0,0,.25);
  /* важно: дропдауны выходят за пределы шапки */
  overflow: visible;
}

.erp-nav{
  width: 100%;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 16px;
  padding: 10px 16px;
  min-width: 0;
}

.erp-brand{
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
}
.erp-logo{
  display: block;
  text-decoration: none;
  color: #fff;
  flex: 0 0 auto;
}
.erp-logo img{ width:154px; height:48px; display:block }
.erp-logo-badge{ font-weight:700; letter-spacing:.3px }

/* main nav (сразу после логотипа) */
.erp-navlist{
  display: grid;
  grid-auto-flow: row;
  grid-template-columns: repeat(5, minmax(150px, 1fr));
  grid-auto-rows: auto;
  align-items: center;
  justify-content: start;
  column-gap: 8px;
  row-gap: 8px;
  margin-left: 0;
  width: 100%;
  min-width: 0;
}

.erp-mobile-panel{
  display: contents;
}
.erp-mobile-overlay{
  display: none;
}

/* правая часть (Logout и др. действия) */
.erp-actions{
  margin-left: auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(160px, 1fr));
  grid-auto-rows: auto;
  align-items: center;
  gap: 8px;
}
.erp-user-greeting{
  grid-column: 1 / -1;
  text-align: center;
  padding: 8px 12px;
  border-radius: 12px;
  border: 1px solid var(--erp-border);
  background: var(--erp-control);
  font-weight: 600;
  color: #d9dbe3;
}
.erp-actions .erp-btn{
  width: 100%;
  justify-self: stretch;
}

.erp-menu-toggle-bar{
  width: 100%;
  height: 24px;
  border: none;
  border-top: 1px solid var(--erp-border);
  background: #0f1114;
  color: #c7c9d1;
  font-size: 12px;
  letter-spacing: 2px;
  cursor: pointer;
  transition: background .2s ease, color .2s ease;
}
.erp-menu-toggle-bar:hover{
  background: #14161b;
  color: #fff;
}

.erp-header.collapsed .erp-nav{
  padding: 6px 16px;
  justify-content: center;
}
.erp-header.collapsed .erp-brand,
.erp-header.collapsed .erp-navlist,
.erp-header.collapsed .erp-actions{
  display: none !important;
}
.erp-header.collapsed .erp-menu-toggle-bar{
  height: 22px;
}

/* кнопки */
.erp-btn{
  position: relative;
  background:var(--erp-control); color:#fff; border:1px solid var(--erp-border);
  padding:8px 12px; border-radius:12px; cursor:pointer;
  transition: transform .06s ease, background .2s ease, border-color .2s ease;
  white-space: nowrap;
  text-align: center;
}
.erp-btn:hover{ background:#16181d; border-color:var(--erp-border-strong) }
.erp-btn:active{ transform:translateY(1px) }
.erp-navlist .erp-btn{
  width: 100%;
}

.erp-header .erp-btn,
.erp-header .erp-user-greeting,
.erp-header .erp-notify-label {
  font-weight: 400;
}

/* выделение кнопки выхода */
.erp-btn-logout{
  border-color:#2b1f1f;
  background:#141112;
  font-weight: 600;
  letter-spacing: 0.2px;
}
.erp-btn-logout:hover{
  border-color:#6b2b2b;
  background:#1b1415;
}

/* notifications */
.erp-btn-notifications{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-color: #2a2d34;
  background: #121317;
}
.erp-btn-notifications:hover{
  border-color:#3a3f48;
}
.erp-notify-label{
  font-weight: 600;
}
.erp-notify-badge{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 999px;
  background: #ff4c42;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
}

.erp-notify-modal{
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: none;
}
.erp-notify-modal.open{
  display: block;
}
.erp-notify-overlay{
  position: absolute;
  inset: 0;
  background: rgba(8, 9, 12, 0.7);
  backdrop-filter: blur(2px);
}
.erp-notify-panel{
  position: absolute;
  top: 16px;
  right: 16px;
  bottom: 16px;
  width: min(420px, calc(100vw - 32px));
  background: #111216;
  border: 1px solid #2a2d34;
  border-radius: 18px;
  box-shadow: 0 20px 60px rgba(0,0,0,.45);
  display: flex;
  flex-direction: column;
}
.erp-notify-header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
  border-bottom: 1px solid #23262d;
}
.erp-notify-title{
  font-size: 16px;
  font-weight: 700;
}
.erp-notify-close{
  border: 1px solid #2a2d34;
  background: #16181d;
  color: #fff;
  border-radius: 10px;
  width: 32px;
  height: 32px;
  cursor: pointer;
}
.erp-notify-list{
  padding: 8px 12px 16px 12px;
  overflow: auto;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.erp-notify-footer{
  padding: 12px 16px 16px 16px;
  border-top: 1px solid #23262d;
}
.erp-notify-readall{
  width: 100%;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid #2a2d34;
  background: #121317;
  color: #e7e7ea;
  font-weight: 600;
  cursor: pointer;
}
.erp-notify-readall:hover{
  background: #16181d;
}
.erp-notify-empty{
  padding: 16px;
  color: var(--muted);
  text-align: center;
  border: 1px dashed #2a2d34;
  border-radius: 12px;
  background: #121317;
}
.erp-notify-row{
  display: flex;
  gap: 12px;
  padding: 12px;
  border-radius: 12px;
  background: #15171c;
  border: 1px solid #22252c;
  align-items: center;
}
.erp-notify-dot{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #ffcd11;
  margin-top: 6px;
  flex: 0 0 auto;
  align-self: flex-start;
}
.erp-notify-row.read{
  opacity: 0.75;
}
.erp-notify-body{
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.erp-notify-main{
  font-weight: 600;
}
.erp-notify-sub{
  color: var(--muted);
  font-size: 12px;
}
.erp-notify-check{
  margin-left: auto;
  display: flex;
  align-items: center;
  align-self: center;
}
.erp-notify-read{
  width: 22px;
  height: 22px;
  border-radius: 999px;
  border: 2px solid #ffcd11;
  background: transparent;
  cursor: pointer;
  position: relative;
  padding: 0;
  align-self: center;
}
.erp-notify-read::after{
  content: '';
  position: absolute;
  width: 6px;
  height: 12px;
  border-right: 2px solid #ffcd11;
  border-bottom: 2px solid #ffcd11;
  left: 7px;
  top: 3px;
  transform: rotate(45deg);
  opacity: 1;
}
.erp-notify-row.read .erp-notify-read{
  background: #ffcd11;
  border-color: #ffcd11;
}
.erp-notify-row.read .erp-notify-read::after{
  opacity: 1;
  border-color: #ffcd11;
}
.erp-notify-read:disabled{
  cursor: default;
}

.erp-tickets-panel{
  width: min(960px, calc(100vw - 32px));
}
.erp-tickets-toolbar{
  display: grid;
  grid-template-columns: minmax(150px, 190px) minmax(220px, 1fr);
  gap: 10px;
  padding: 12px 16px;
  border-bottom: 1px solid #23262d;
}
.erp-ticket-filter,
.erp-ticket-search,
.erp-ticket-assignment-form select,
.erp-ticket-status-form select,
.erp-ticket-reply textarea{
  min-width: 0;
  border: 1px solid #2a2d34;
  background: #15171c;
  color: #e7e7ea;
  border-radius: 10px;
  padding: 10px 12px;
  font: inherit;
}
.erp-ticket-search{
  width: 100%;
}
.erp-tickets-shell{
  min-height: 0;
  flex: 1 1 auto;
  display: grid;
  grid-template-columns: minmax(280px, 340px) minmax(0, 1fr);
  overflow: hidden;
}
.erp-tickets-list{
  min-width: 0;
  border-right: 1px solid #23262d;
}
.erp-ticket-row{
  width: 100%;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.erp-ticket-row.selected{
  border-color: #ffcd11;
  background: #1d1b12;
}
.erp-ticket-row.is-read-only{
  border-color: #313846;
}
.erp-ticket-row .erp-notify-body{
  min-width: 0;
}
.erp-ticket-row .erp-notify-main,
.erp-ticket-row .erp-notify-sub{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.erp-ticket-status{
  flex: 0 0 auto;
  max-width: 104px;
  padding: 5px 8px;
  border-radius: 999px;
  border: 1px solid #30343d;
  color: #d8d9dd;
  background: #101116;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.1;
  text-align: center;
}
.erp-tickets-detail{
  min-width: 0;
  min-height: 0;
  overflow: auto;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.erp-ticket-detail-header{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
}
.erp-ticket-detail-title{
  font-size: 18px;
  font-weight: 800;
  line-height: 1.25;
}
.erp-ticket-detail-sub{
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
}
.erp-ticket-status-form{
  display: flex;
  gap: 8px;
  align-items: center;
}
.erp-ticket-readonly-note{
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid #303846;
  border-radius: 10px;
  background: #151923;
  color: #cfd6e4;
  font-size: 12px;
  font-weight: 800;
}
.erp-ticket-meta{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.erp-ticket-meta-row{
  min-width: 0;
  padding: 10px;
  border: 1px solid #242832;
  border-radius: 10px;
  background: #14161b;
}
.erp-ticket-meta-row span{
  display: block;
  color: var(--muted);
  font-size: 11px;
  margin-bottom: 4px;
}
.erp-ticket-meta-row strong{
  display: block;
  min-width: 0;
  color: #f3f3f4;
  font-size: 13px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.erp-ticket-timeline{
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.erp-ticket-message{
  padding: 12px;
  border: 1px solid #242832;
  border-radius: 12px;
  background: #15171c;
}
.erp-ticket-message.staff{
  border-color: #2f3b2b;
  background: #141b14;
}
.erp-ticket-message.customer{
  border-color: #2b3442;
  background: #141821;
}
.erp-ticket-message.system{
  color: var(--muted);
  background: #111216;
}
.erp-ticket-message-head{
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 6px;
  font-size: 12px;
  color: var(--muted);
}
.erp-ticket-message-head strong{
  color: #f3f3f4;
}
.erp-ticket-message-body{
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  line-height: 1.45;
}
.erp-ticket-attachments{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}
.erp-ticket-attachments a{
  color: #ffcd11;
  text-decoration: none;
  border: 1px solid #3a3520;
  border-radius: 999px;
  padding: 6px 10px;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.erp-ticket-reply{
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: auto;
}
.erp-ticket-reply textarea{
  width: 100%;
  resize: vertical;
  min-height: 96px;
}
.erp-ticket-action{
  border: 1px solid #2a2d34;
  background: #15171c;
  color: #e7e7ea;
  border-radius: 10px;
  padding: 10px 14px;
  font-weight: 700;
  cursor: pointer;
}
.erp-ticket-action.primary{
  align-self: flex-end;
  background: #ffcd11;
  border-color: #ffcd11;
  color: #111216;
}
.erp-ticket-action:disabled{
  opacity: .55;
  cursor: default;
}

body[data-erp-page="tickets"] .erp-tickets-page{
  width: min(1240px, calc(100vw - 32px));
}
body[data-erp-page="tickets"] .erp-tickets-page-head{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}
body[data-erp-page="tickets"] .erp-tickets-page-stats{
  display: grid;
  grid-template-columns: repeat(2, minmax(96px, 1fr));
  gap: 10px;
  min-width: 220px;
}
body[data-erp-page="tickets"] .erp-tickets-page-stats > div{
  border: 1px solid #242832;
  border-radius: 12px;
  background: #14161b;
  padding: 10px 12px;
}
body[data-erp-page="tickets"] .erp-tickets-page-stats span{
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
}
body[data-erp-page="tickets"] .erp-tickets-page-stats strong{
  display: block;
  margin-top: 3px;
  color: #f3f3f4;
  font-size: 22px;
  line-height: 1.1;
}
body[data-erp-page="tickets"] .erp-tickets-page-card{
  min-height: 0;
  padding: 0;
  overflow: hidden;
}
body[data-erp-page="tickets"] .erp-tickets-toolbar{
  grid-template-columns: minmax(140px, 180px) minmax(150px, 190px) minmax(220px, 1fr) auto;
  padding: 14px 16px;
}
body[data-erp-page="tickets"] .erp-tickets-page-shell{
  height: auto;
  min-height: 0;
  grid-template-columns: 1fr;
}
body[data-erp-page="tickets"] .erp-tickets-list{
  min-height: 0;
  max-height: min(680px, calc(100vh - 246px));
  border-right: 0;
  overflow: auto;
}
body[data-erp-page="tickets"] .erp-ticket-row{
  display: grid;
  grid-template-columns: 10px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 12px;
  cursor: default;
}
body[data-erp-page="tickets"] .erp-ticket-open{
  border: 1px solid #ffcd11;
  border-radius: 10px;
  background: #ffcd11;
  color: #111216;
  font: 800 12px/1 var(--erp-font, inherit);
  padding: 9px 12px;
  cursor: pointer;
  white-space: nowrap;
}
body[data-erp-page="tickets"] .erp-ticket-open:hover{
  filter: brightness(1.04);
}
body.erp-ticket-modal-open{
  overflow: hidden;
}
body[data-erp-page="tickets"] .erp-ticket-detail-modal{
  position: fixed;
  inset: 0;
  z-index: 2400;
  display: none;
}
body[data-erp-page="tickets"] .erp-ticket-detail-modal.open{
  display: block;
}
body[data-erp-page="tickets"] .erp-ticket-detail-modal-overlay{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.62);
}
body[data-erp-page="tickets"] .erp-ticket-detail-modal-panel{
  position: absolute;
  inset: 16px;
  width: min(980px, calc(100vw - 32px));
  height: min(760px, calc(100dvh - 32px));
  margin: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto minmax(0, 1fr);
  border: 1px solid #2a2d34;
  border-radius: 16px;
  background: #101116;
  color: #e7e7ea;
  box-shadow: 0 24px 80px rgba(0,0,0,.55);
  overflow: hidden;
}
body[data-erp-page="tickets"] .erp-ticket-detail-modal-head{
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
  border-bottom: 1px solid #23262d;
  background: #14161b;
}
body[data-erp-page="tickets"] .erp-ticket-detail-modal-head > div{
  min-width: 0;
}
body[data-erp-page="tickets"] .erp-ticket-detail-modal-kicker{
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: .04em;
}
body[data-erp-page="tickets"] .erp-ticket-detail-modal-head h2{
  margin: 3px 0 0;
  font-size: 18px;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body[data-erp-page="tickets"] .erp-ticket-detail-modal-sub{
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body[data-erp-page="tickets"] .erp-ticket-detail-header.is-actions-only{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  flex-wrap: wrap;
}
body[data-erp-page="tickets"] .erp-ticket-assignment-form{
  min-width: min(100%, 360px);
  flex: 1 1 420px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}
body[data-erp-page="tickets"] .erp-ticket-assignment-label{
  flex: 0 0 auto;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
body[data-erp-page="tickets"] .erp-ticket-assignment-form select{
  flex: 1 1 180px;
  max-width: 320px;
}
body[data-erp-page="tickets"] .erp-ticket-assignment-form .erp-ticket-action{
  flex: 0 0 auto;
}
body[data-erp-page="tickets"] .erp-ticket-action.secondary{
  border-color: #30343d;
  background: #15171c;
  color: #e7e7ea;
}
body[data-erp-page="tickets"] .erp-ticket-assignment-status{
  min-width: 100%;
  min-height: 14px;
  color: var(--muted);
  font-size: 11px;
  line-height: 14px;
  text-align: right;
}
body[data-erp-page="tickets"] .erp-ticket-assignment-status.error{
  color: #ff8a8a;
}
body[data-erp-page="tickets"] .erp-ticket-summary-back{
  display: none;
  height: 38px;
  border: 1px solid #30343d;
  border-radius: 10px;
  background: #15171c;
  color: #e7e7ea;
  padding: 0 12px;
  font: 800 12px/1 var(--erp-font, inherit);
  cursor: pointer;
}
body[data-erp-page="tickets"] .erp-ticket-detail-close{
  width: 38px;
  height: 38px;
  border: 1px solid #30343d;
  border-radius: 10px;
  background: #15171c;
  color: #e7e7ea;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
body[data-erp-page="tickets"] .erp-ticket-detail-modal .erp-tickets-detail{
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
  min-height: 0;
  padding: 14px;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  gap: 12px;
  overflow: hidden;
  background: #111216;
}
body[data-erp-page="tickets"] .erp-ticket-chat-list{
  min-height: 0;
  overflow: auto;
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 12px;
  border: 1px solid #242832;
  border-radius: 14px;
  background: #0f1014;
}
body[data-erp-page="tickets"] .erp-ticket-chat-message{
  display: grid;
  gap: 6px;
  justify-self: start;
  width: fit-content;
  max-width: min(78%, 620px);
  padding: 10px 12px;
  border: 1px solid #2b3442;
  border-radius: 16px 16px 16px 6px;
  background: #151b25;
  color: #f3f3f4;
}
body[data-erp-page="tickets"] .erp-ticket-chat-message.is-staff{
  justify-self: end;
  border-color: #d5a900;
  border-radius: 16px 16px 6px 16px;
  background: #ffcd11;
  color: #111216;
}
body[data-erp-page="tickets"] .erp-ticket-chat-message.is-system{
  justify-self: center;
  max-width: calc(100% - 32px);
  padding: 7px 11px;
  border-color: transparent;
  border-radius: 999px;
  background: #1a1c22;
  color: var(--muted);
  text-align: center;
}
body[data-erp-page="tickets"] .erp-ticket-chat-head{
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: inherit;
  opacity: .74;
  font-size: 11px;
  font-weight: 800;
}
body[data-erp-page="tickets"] .erp-ticket-chat-body{
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  line-height: 1.45;
}
body[data-erp-page="tickets"] .erp-ticket-reply{
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px;
  margin-top: 0;
}
body[data-erp-page="tickets"] .erp-ticket-reply-compose{
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 8px;
  padding: 8px;
  border: 1px solid #2a2d34;
  border-radius: 16px;
  background: #15171c;
}
body[data-erp-page="tickets"] .erp-ticket-reply textarea{
  display: block;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
  min-height: 42px;
  max-height: 128px;
  padding: 11px 12px;
  border: 1px solid #30343d;
  border-radius: 12px;
  resize: none;
  overflow: hidden;
  line-height: 1.35;
  background: #0f1014;
}
body[data-erp-page="tickets"] .erp-ticket-reply-actions{
  display: grid;
  grid-template-columns: repeat(2, 42px);
  grid-auto-rows: 42px;
  gap: 8px;
  align-items: end;
}
body[data-erp-page="tickets"] .erp-ticket-attach,
body[data-erp-page="tickets"] .erp-ticket-send{
  display: inline-grid;
  place-items: center;
  align-self: end;
  width: 42px;
  min-width: 0;
  height: 42px;
  padding: 0;
  border-radius: 12px;
  font: 800 12px/1 var(--erp-font, inherit);
  cursor: pointer;
}
body[data-erp-page="tickets"] .erp-ticket-attach{
  position: relative;
  border: 1px solid #30343d;
  background: #0f1014;
  color: #e7e7ea;
}
body[data-erp-page="tickets"] .erp-ticket-send{
  border: 1px solid #ffcd11;
  background: #ffcd11;
  color: #111216;
}
body[data-erp-page="tickets"] .erp-ticket-attach svg,
body[data-erp-page="tickets"] .erp-ticket-send svg{
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
body[data-erp-page="tickets"] .erp-ticket-attach.has-files::after{
  content: attr(data-file-count);
  position: absolute;
  top: 3px;
  right: 3px;
  min-width: 14px;
  height: 14px;
  padding: 0 3px;
  border: 1px solid #15171c;
  border-radius: 999px;
  background: #ffcd11;
  color: #111216;
  font: 800 9px/12px var(--erp-font, inherit);
  pointer-events: none;
  text-align: center;
}
body[data-erp-page="tickets"] .erp-ticket-send:disabled{
  opacity: .55;
  cursor: default;
}
body[data-erp-page="tickets"] .erp-ticket-reply-files-summary{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 18px;
  padding: 0 4px;
  color: var(--muted);
  font-size: 12px;
  line-height: 18px;
}
body[data-erp-page="tickets"] .erp-ticket-reply-files-summary[hidden]{
  display: none;
}
body[data-erp-page="tickets"] .erp-ticket-reply-files-summary span{
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body[data-erp-page="tickets"] .erp-ticket-reply-files-summary button{
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  color: #ffcd11;
  font: 800 11px/1 var(--erp-font, inherit);
  cursor: pointer;
}
body[data-erp-page="tickets"] .erp-ticket-reply-status{
  min-height: 16px;
  padding: 0 4px;
  color: var(--muted);
  font-size: 12px;
  line-height: 16px;
}
body[data-erp-page="tickets"] .erp-ticket-reply-status.error{
  color: #ff8a8a;
}
body[data-erp-page="tickets"] .erp-ticket-reply-readonly{
  padding: 12px 14px;
  border: 1px solid #303846;
  border-radius: 14px;
  background: #151923;
  color: #cfd6e4;
  font-size: 12px;
  font-weight: 800;
}

/* dropdown */
.erp-dd{ position: relative; }
.erp-dd-menu{
  position: absolute; top: calc(100% + 8px); left: 0;
  min-width: 220px;
  background:var(--erp-surface); border:1px solid #22242a; border-radius:14px;
  box-shadow:0 12px 40px rgba(0,0,0,.45);
  padding:6px; display:none;
  z-index: 1100;
  max-height: calc(100vh - 120px);
  overflow: auto;
}
.erp-dd.open .erp-dd-menu{ display:block }

.erp-dd a{
  display:flex; gap:10px; align-items:center;
  padding:10px 12px; border-radius:10px; color:var(--erp-text); text-decoration:none;
}
.erp-dd a:hover{ background:#181a20 }
.erp-dd .sub{ font-size:12px; color:var(--muted) }

/* ===== Page shell ===== */
.erp-page{
  width:min(var(--erp-page-max), calc(100vw - 32px)); margin:24px auto 48px; padding:0;
}
.erp-card{
  background:var(--erp-surface); border:1px solid var(--erp-border); border-radius:16px;
  padding:16px; box-shadow:var(--erp-shadow-md);
}
.erp-h1{ font-size:24px; line-height:1.2; margin:0 0 12px 0; font-weight:800 }
.erp-muted{ color:var(--muted) }

/* badge */
.badge{
  display:inline-block; padding:3px 8px; border-radius:999px;
  background:var(--cat-yellow); color:#000; font-weight:700; font-size:11px;
}

/* ===== Desktop wrap to prevent overlap on narrower/zoomed screens ===== */
@media (max-width: 1200px){
  .erp-nav{
    grid-template-columns: 1fr;
    row-gap: 10px;
  }
  .erp-actions{
    width: 100%;
    justify-content: flex-end;
    margin-left: 0;
  }
}

/* ===== Mobile ===== */
@media (max-width: 760px){
  .erp-nav{
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .erp-mobile-panel{
    display: none;
  }
  .erp-mobile-overlay{
    display: none;
  }
  .erp-header.mobile-open .erp-mobile-overlay{
    display: none;
  }
  .erp-header.mobile-open .erp-mobile-panel{
    position: fixed;
    inset: 0;
    background: #0f1114;
    border: none;
    border-radius: 0;
    padding: 16px 16px 24px 16px;
    z-index: 1950;
    display: grid;
    grid-template-rows: auto auto;
    gap: 16px;
    overflow: auto;
  }
  .erp-header.mobile-open .erp-navlist,
  .erp-header.mobile-open .erp-actions{
    display: grid !important;
  }
  .erp-header.mobile-open .erp-navlist{
    grid-template-columns: 1fr;
    row-gap: 10px;
  }
  .erp-header.mobile-open .erp-actions{
    grid-template-columns: 1fr;
  }
  .erp-header.mobile-open .erp-menu-toggle-bar{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 40px;
    border-radius: 0 0 12px 12px;
    border: 1px solid #1b1d22;
    border-top: none;
    background: #121317;
    z-index: 2000;
    line-height: 38px;
    padding: 0;
    text-align: center;
    color: transparent;
  }

  .erp-header.mobile-open .erp-menu-toggle-bar::after{
    content: '▼';
    display: inline-block;
    font-size: 16px;
    color: #c7c9d1;
  }

  .erp-header.mobile-open .erp-navlist{
    margin-top: 40px;
  }

  .erp-header.mobile-open .erp-actions{
    margin-bottom: 8px;
  }

  .erp-dd-menu{
    position: static;
    min-width: auto;
    box-shadow: none;
    border-radius: 12px;
    margin-top: 6px;
  }
  .erp-dd.open .erp-dd-menu{ display:block }

  .erp-actions .erp-btn-notifications{
    justify-content: center;
    position: relative;
  }
  .erp-actions .erp-btn-notifications .erp-notify-badge{
    position: absolute;
    right: 12px;
  }

  .erp-tickets-panel{
    inset: 8px;
    width: calc(100vw - 16px);
    border-radius: 14px;
  }
  .erp-tickets-toolbar{
    grid-template-columns: 1fr;
    padding: 10px;
  }
  .erp-tickets-shell{
    grid-template-columns: 1fr;
    grid-template-rows: minmax(150px, 36%) minmax(0, 1fr);
  }
  .erp-tickets-list{
    border-right: 0;
    border-bottom: 1px solid #23262d;
    padding: 8px;
  }
  .erp-tickets-detail{
    padding: 10px;
  }
  .erp-ticket-detail-header{
    grid-template-columns: 1fr;
  }
  .erp-ticket-status-form{
    align-items: stretch;
  }
  .erp-ticket-status-form select,
  .erp-ticket-assignment-form select,
  .erp-ticket-status-form button{
    flex: 1 1 auto;
  }
  .erp-ticket-meta{
    grid-template-columns: 1fr;
  }
  .erp-ticket-action.primary{
    align-self: stretch;
  }
  body[data-erp-page="tickets"] .erp-tickets-page{
    width: calc(100vw - 16px);
    margin-top: 12px;
  }
  body[data-erp-page="tickets"] .erp-tickets-page-head{
    display: grid;
    grid-template-columns: 1fr;
    align-items: stretch;
    gap: 12px;
  }
  body[data-erp-page="tickets"] .erp-tickets-page-stats{
    min-width: 0;
  }
  body[data-erp-page="tickets"] .erp-tickets-page-card{
    min-height: 0;
  }
  body[data-erp-page="tickets"] .erp-tickets-toolbar{
    grid-template-columns: 1fr;
  }
  body[data-erp-page="tickets"] .erp-tickets-page-shell{
    height: auto;
    min-height: 0;
    grid-template-columns: 1fr;
  }
  body[data-erp-page="tickets"] .erp-tickets-list{
    max-height: none;
  }
  body[data-erp-page="tickets"] .erp-ticket-row{
    grid-template-columns: 8px minmax(0, 1fr) auto;
    gap: 8px;
  }
  body[data-erp-page="tickets"] .erp-ticket-row .erp-ticket-status{
    display: none;
  }
  body[data-erp-page="tickets"] .erp-ticket-detail-modal-panel{
    inset: 8px;
    width: calc(100vw - 16px);
    height: calc(100dvh - 16px);
    border-radius: 14px;
  }
  body[data-erp-page="tickets"] .erp-ticket-detail-modal .erp-tickets-detail{
    padding: 10px;
    grid-template-rows: auto auto minmax(0, 1fr) auto;
  }
  body[data-erp-page="tickets"] .erp-ticket-detail-header.is-actions-only{
    justify-content: stretch;
  }
  body[data-erp-page="tickets"] .erp-ticket-assignment-form,
  body[data-erp-page="tickets"] .erp-ticket-status-form{
    width: 100%;
    justify-content: stretch;
  }
  body[data-erp-page="tickets"] .erp-ticket-assignment-form select{
    max-width: none;
  }
  body[data-erp-page="tickets"] .erp-ticket-assignment-form .erp-ticket-action,
  body[data-erp-page="tickets"] .erp-ticket-status-form .erp-ticket-action{
    min-height: 40px;
  }
  body[data-erp-page="tickets"] .erp-ticket-assignment-status{
    text-align: left;
  }
  body[data-erp-page="tickets"] .erp-ticket-detail-modal:not(.erp-ticket-chat-focused) .erp-ticket-chat-list{
    cursor: pointer;
  }
  body[data-erp-page="tickets"] .erp-ticket-detail-modal:not(.erp-ticket-chat-focused) .erp-ticket-reply{
    display: none;
  }
  body[data-erp-page="tickets"] .erp-ticket-detail-modal.erp-ticket-chat-focused .erp-ticket-summary-back{
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  body[data-erp-page="tickets"] .erp-ticket-detail-modal.erp-ticket-chat-focused .erp-tickets-detail{
    grid-template-rows: minmax(0, 1fr) auto;
  }
  body[data-erp-page="tickets"] .erp-ticket-detail-modal.erp-ticket-chat-focused .erp-ticket-detail-header,
  body[data-erp-page="tickets"] .erp-ticket-detail-modal.erp-ticket-chat-focused .erp-ticket-meta{
    display: none;
  }
  body[data-erp-page="tickets"] .erp-ticket-chat-message{
    max-width: 88%;
  }
  body[data-erp-page="tickets"] .erp-ticket-reply{
    grid-template-columns: 1fr;
  }
  body[data-erp-page="tickets"] .erp-ticket-reply-compose{
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 6px;
    padding: 6px;
  }
  body[data-erp-page="tickets"] .erp-ticket-reply-actions{
    grid-template-columns: repeat(2, 36px);
    grid-auto-rows: 36px;
    gap: 6px;
  }
  body[data-erp-page="tickets"] .erp-ticket-reply textarea{
    min-height: 36px;
    max-height: 106px;
    padding: 6px 10px;
  }
  body[data-erp-page="tickets"] .erp-ticket-attach,
  body[data-erp-page="tickets"] .erp-ticket-send{
    width: 36px;
    height: 36px;
    min-width: 0;
  }
}

/* чтобы оверлей позиционировался внутри карточки */
#modal .card { position: relative; }

/* оверлей загрузки для модалки заказа */
.modal-loader{
  position:absolute; inset:0;
  display:none; align-items:center; justify-content:center;
  background: rgba(0,0,0,.35);
  z-index: 5;
}
.modal-loader.show{ display:flex; }

.modal-spinner{
  width:48px; height:48px; border-radius:50%;
  border:4px solid rgba(255,255,255,.25);
  border-top-color:#fff;
  animation: spin .9s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }
.erp-dd{ width: 100%; }
.erp-dd > .erp-btn{ width: 100%; }

/* ===== Consolidated tasks/tasks.css ===== */
body[data-erp-page="tasks/index"] .tasks-container {
  padding: 24px;
  max-width: 1800px;
  margin: 0 auto;
}

body[data-erp-page="tasks/index"] .tasks-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 28px;
  flex-wrap: wrap;
  gap: 16px;
}

body[data-erp-page="tasks/index"] .tasks-header h1 {
  margin: 0;
  font-size: 28px;
  font-weight: 700;
  color: var(--ink);
  display: flex;
  align-items: center;
  gap: 12px;
}

body[data-erp-page="tasks/index"] .tasks-actions {
  display: flex;
  gap: 12px;
}

body[data-erp-page="tasks/index"] .tasks-filters {
  display: flex;
  gap: 16px;
  margin-bottom: 28px;
  padding: 20px;
  background: var(--panel);
  border-radius: 12px;
  border: 1px solid var(--border);
  flex-wrap: wrap;
  align-items: flex-end;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

body[data-erp-page="tasks/index"] .filter-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 160px;
  flex: 1;
}

body[data-erp-page="tasks/index"] .filter-group label {
  font-size: 12px;
  color: var(--muted);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

body[data-erp-page="tasks/index"] .filter-group input, body[data-erp-page="tasks/index"] .filter-group select {
  width: 100%;
}

body[data-erp-page="tasks/index"] .kanban-board {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 24px;
  margin-top: 24px;
}

body[data-erp-page="tasks/index"] .kanban-column {
  background: var(--panel);
  border-radius: 12px;
  border: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  min-height: 500px;
  max-height: calc(100vh - 320px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transition: transform 0.2s, box-shadow 0.2s;
}

body[data-erp-page="tasks/index"] .kanban-column:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
}

body[data-erp-page="tasks/index"] .column-header {
  padding: 20px;
  border-bottom: 2px solid var(--border);
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: linear-gradient(180deg, rgba(255, 205, 17, 0.05), transparent);
}

body[data-erp-page="tasks/index"] .column-header h2 {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: var(--ink);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

body[data-erp-page="tasks/index"] .task-count {
  background: var(--cat-yellow);
  color: var(--cat-black);
  padding: 6px 14px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 700;
  min-width: 32px;
  text-align: center;
  box-shadow: 0 2px 4px rgba(255, 205, 17, 0.3);
}

body[data-erp-page="tasks/index"] .task-list {
  flex: 1;
  overflow-y: auto;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

body[data-erp-page="tasks/index"] .task-list::-webkit-scrollbar {
  width: 8px;
}

body[data-erp-page="tasks/index"] .task-list::-webkit-scrollbar-track {
  background: transparent;
}

body[data-erp-page="tasks/index"] .task-list::-webkit-scrollbar-thumb {
  background: var(--border);
  border-radius: 4px;
}

body[data-erp-page="tasks/index"] .task-list::-webkit-scrollbar-thumb:hover {
  background: var(--muted);
}

body[data-erp-page="tasks/index"] .empty-state {
  padding: 40px 20px;
  text-align: center;
  color: var(--muted);
  font-size: 14px;
  font-style: italic;
}

body[data-erp-page="tasks/index"] .task-card {
  background: linear-gradient(135deg, #1a1b1e 0%, #16171a 100%);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 16px;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}

body[data-erp-page="tasks/index"] .task-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--cat-yellow);
  transform: scaleX(0);
  transition: transform 0.3s;
}

body[data-erp-page="tasks/index"] .task-card:hover {
  border-color: var(--cat-yellow);
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(255, 205, 17, 0.2);
}

body[data-erp-page="tasks/index"] .task-card:hover::before {
  transform: scaleX(1);
}

body[data-erp-page="tasks/index"] .task-card-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 10px;
  gap: 12px;
}

body[data-erp-page="tasks/index"] .task-card-title {
  font-weight: 600;
  font-size: 15px;
  color: var(--ink);
  margin: 0;
  flex: 1;
  line-height: 1.5;
  word-break: break-word;
}

body[data-erp-page="tasks/index"] .task-priority {
  padding: 4px 10px;
  border-radius: 6px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  white-space: nowrap;
  letter-spacing: 0.5px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

body[data-erp-page="tasks/index"] .task-priority.low { 
  background: linear-gradient(135deg, #2d4a2d 0%, #1e3320 100%);
  color: #7dd87d;
  border: 1px solid #4a6a4a;
}

body[data-erp-page="tasks/index"] .task-priority.medium { 
  background: linear-gradient(135deg, #4a4a2d 0%, #33331e 100%);
  color: #d8d87d;
  border: 1px solid #6a6a4a;
}

body[data-erp-page="tasks/index"] .task-priority.high { 
  background: linear-gradient(135deg, #4a3d2d 0%, #332e1e 100%);
  color: #d8a87d;
  border: 1px solid #6a5a4a;
}

body[data-erp-page="tasks/index"] .task-priority.urgent { 
  background: linear-gradient(135deg, #4a2d2d 0%, #331e1e 100%);
  color: #d87d7d;
  border: 1px solid #6a4a4a;
}

body[data-erp-page="tasks/index"] .task-card-body {
  font-size: 13px;
  color: var(--muted);
  margin-bottom: 12px;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

body[data-erp-page="tasks/index"] .task-card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  color: var(--muted);
  padding-top: 12px;
  border-top: 1px solid var(--border);
}

body[data-erp-page="tasks/index"] .task-assignee {
  display: flex;
  align-items: center;
  gap: 8px;
}

body[data-erp-page="tasks/index"] .task-assignee-avatar {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--cat-yellow), #ffd633);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  color: var(--cat-black);
  border: 2px solid var(--border);
  flex-shrink: 0;
}

body[data-erp-page="tasks/index"] .task-assignee-avatar img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
}

body[data-erp-page="tasks/index"] .task-card-meta {
  display: flex;
  align-items: center;
  gap: 8px;
}

body[data-erp-page="tasks/index"] .task-due-date {
  color: var(--muted);
  font-size: 11px;
  white-space: nowrap;
}

body[data-erp-page="tasks/index"] .task-due-date.overdue {
  color: #ff6b6b;
  font-weight: 700;
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.7; }
}

body[data-erp-page="tasks/index"] .task-comments-count {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
}

body[data-erp-page="tasks/index"] .modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(4px);
  z-index: 2000;
  align-items: center;
  justify-content: center;
  padding: 20px;
  overflow-y: auto;
  animation: fadeIn 0.2s;
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

body[data-erp-page="tasks/index"] .modal.active {
  display: flex;
}

body[data-erp-page="tasks/index"] .modal-content {
  background: var(--panel);
  border-radius: 16px;
  border: 1px solid var(--border);
  width: 100%;
  max-width: 600px;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.6);
  animation: slideUp 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes slideUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

body[data-erp-page="tasks/index"] .modal-large {
  max-width: 1000px;
}

body[data-erp-page="tasks/index"] .modal-header {
  padding: 24px;
  border-bottom: 1px solid var(--border);
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: sticky;
  top: 0;
  background: var(--panel);
  z-index: 10;
  border-radius: 16px 16px 0 0;
}

body[data-erp-page="tasks/index"] .modal-header h2 {
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  color: var(--ink);
}

body[data-erp-page="tasks/index"] .modal-close {
  background: none;
  border: none;
  color: var(--muted);
  font-size: 32px;
  cursor: pointer;
  padding: 0;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  transition: all 0.2s;
  line-height: 1;
}

body[data-erp-page="tasks/index"] .modal-close:hover {
  background: var(--border);
  color: var(--ink);
  transform: rotate(90deg);
}

body[data-erp-page="tasks/index"] .modal-content form {
  padding: 24px;
}

body[data-erp-page="tasks/index"] .form-group {
  margin-bottom: 20px;
}

body[data-erp-page="tasks/index"] .form-group label {
  display: block;
  margin-bottom: 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--ink);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

body[data-erp-page="tasks/index"] .form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

body[data-erp-page="tasks/index"] .modal-actions {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid var(--border);
}

body[data-erp-page="tasks/index"] .task-details {
  padding: 24px;
}

body[data-erp-page="tasks/index"] .task-details-main {
  max-width: 100%;
}

body[data-erp-page="tasks/index"] .task-details-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 24px;
  gap: 20px;
  padding-bottom: 20px;
  border-bottom: 2px solid var(--border);
}

body[data-erp-page="tasks/index"] .task-details-header h3 {
  margin: 0 0 12px 0;
  font-size: 28px;
  font-weight: 700;
  color: var(--ink);
  line-height: 1.3;
}

body[data-erp-page="tasks/index"] .task-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  font-size: 13px;
  color: var(--muted);
}

body[data-erp-page="tasks/index"] .task-meta span {
  padding: 4px 12px;
  background: var(--border);
  border-radius: 6px;
}

body[data-erp-page="tasks/index"] .task-description {
  padding: 20px;
  background: linear-gradient(135deg, #1a1b1e 0%, #16171a 100%);
  border-radius: 12px;
  border: 1px solid var(--border);
  margin-bottom: 28px;
  white-space: pre-wrap;
  line-height: 1.8;
  color: var(--ink);
  font-size: 14px;
}

body[data-erp-page="tasks/index"] .comments-section {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid var(--border);
}

body[data-erp-page="tasks/index"] .comments-section h4 {
  margin: 0 0 20px 0;
  font-size: 18px;
  font-weight: 700;
  color: var(--ink);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

body[data-erp-page="tasks/index"] .comments-list {
  margin-bottom: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

body[data-erp-page="tasks/index"] .comment-item {
  padding: 16px;
  background: linear-gradient(135deg, #1a1b1e 0%, #16171a 100%);
  border-radius: 10px;
  border: 1px solid var(--border);
  transition: all 0.2s;
}

body[data-erp-page="tasks/index"] .comment-item:hover {
  border-color: var(--cat-yellow);
  transform: translateX(4px);
}

body[data-erp-page="tasks/index"] .comment-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
  gap: 12px;
}

body[data-erp-page="tasks/index"] .comment-author {
  font-weight: 700;
  font-size: 14px;
  color: var(--ink);
}

body[data-erp-page="tasks/index"] .comment-date {
  font-size: 11px;
  color: var(--muted);
  white-space: nowrap;
}

body[data-erp-page="tasks/index"] .comment-content {
  font-size: 14px;
  color: var(--ink);
  line-height: 1.6;
  white-space: pre-wrap;
}

body[data-erp-page="tasks/index"] .comment-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

body[data-erp-page="tasks/index"] .history-section {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid var(--border);
}

body[data-erp-page="tasks/index"] .history-section h4 {
  margin: 0 0 20px 0;
  font-size: 18px;
  font-weight: 700;
  color: var(--ink);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

body[data-erp-page="tasks/index"] .history-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

body[data-erp-page="tasks/index"] .history-item {
  padding: 12px 16px;
  background: linear-gradient(135deg, #1a1b1e 0%, #16171a 100%);
  border-radius: 8px;
  border: 1px solid var(--border);
  font-size: 13px;
  color: var(--muted);
  line-height: 1.6;
}

body[data-erp-page="tasks/index"] .history-item strong {
  color: var(--ink);
  font-weight: 700;
}

body[data-erp-page="tasks/index"] .history-date {
  color: var(--muted);
  margin-left: 8px;
  font-size: 11px;
}

body[data-erp-page="tasks/index"] .users-list {
  margin-bottom: 24px;
  max-height: 400px;
  overflow-y: auto;
  padding: 16px;
}

body[data-erp-page="tasks/index"] .users-list::-webkit-scrollbar {
  width: 8px;
}

body[data-erp-page="tasks/index"] .users-list::-webkit-scrollbar-thumb {
  background: var(--border);
  border-radius: 4px;
}

body[data-erp-page="tasks/index"] .user-item {
  padding: 16px;
  background: linear-gradient(135deg, #1a1b1e 0%, #16171a 100%);
  border-radius: 10px;
  border: 1px solid var(--border);
  margin-bottom: 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: all 0.2s;
}

body[data-erp-page="tasks/index"] .user-item:hover {
  border-color: var(--cat-yellow);
  transform: translateX(4px);
}

body[data-erp-page="tasks/index"] .user-info {
  display: flex;
  align-items: center;
  gap: 16px;
}

body[data-erp-page="tasks/index"] .user-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--cat-yellow), #ffd633);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 18px;
  color: var(--cat-black);
  border: 2px solid var(--border);
  flex-shrink: 0;
}

body[data-erp-page="tasks/index"] .user-avatar img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
}

body[data-erp-page="tasks/index"] .user-details {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

body[data-erp-page="tasks/index"] .user-name {
  font-weight: 700;
  color: var(--ink);
  font-size: 15px;
}

body[data-erp-page="tasks/index"] .user-email {
  font-size: 12px;
  color: var(--muted);
}

body[data-erp-page="tasks/index"] .user-form {
  padding: 24px;
  border-top: 2px solid var(--border);
  background: var(--panel);
}

body[data-erp-page="tasks/index"] .user-form h3 {
  margin: 0 0 20px 0;
  font-size: 18px;
  font-weight: 700;
  color: var(--ink);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

body[data-erp-page="tasks/index"] .task-notification {
  position: fixed;
  top: 80px;
  right: 20px;
  padding: 16px 24px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
  z-index: 3000;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
  transform: translateX(400px);
  opacity: 0;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  max-width: 400px;
}

body[data-erp-page="tasks/index"] .task-notification.show {
  transform: translateX(0);
  opacity: 1;
}

body[data-erp-page="tasks/index"] .task-notification-success {
  background: linear-gradient(135deg, #2d4a2d, #1e3320);
  color: #7dd87d;
  border: 1px solid #4a6a4a;
}

body[data-erp-page="tasks/index"] .task-notification-error {
  background: linear-gradient(135deg, #4a2d2d, #331e1e);
  color: #d87d7d;
  border: 1px solid #6a4a4a;
}

@media (max-width: 1400px) {
body[data-erp-page="tasks/index"] .kanban-board {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
body[data-erp-page="tasks/index"] .tasks-container {
    padding: 16px;
  }

body[data-erp-page="tasks/index"] .kanban-board {
    grid-template-columns: 1fr;
  }

body[data-erp-page="tasks/index"] .tasks-header {
    flex-direction: column;
    align-items: stretch;
  }

body[data-erp-page="tasks/index"] .tasks-actions {
    width: 100%;
  }

body[data-erp-page="tasks/index"] .tasks-actions button {
    flex: 1;
  }

body[data-erp-page="tasks/index"] .tasks-filters {
    flex-direction: column;
  }

body[data-erp-page="tasks/index"] .filter-group {
    min-width: 100%;
  }

body[data-erp-page="tasks/index"] .form-row {
    grid-template-columns: 1fr;
  }

body[data-erp-page="tasks/index"] .task-details-header {
    flex-direction: column;
  }

body[data-erp-page="tasks/index"] .task-notification {
    right: 10px;
    left: 10px;
    max-width: none;
    transform: translateY(-100px);
  }

body[data-erp-page="tasks/index"] .task-notification.show {
    transform: translateY(0);
  }
}

/* ===== Page scoped: admin/server.html ===== */
body[data-erp-page="admin/server"] .dl {
      --dl-panel:#121317;
      --dl-border:#202228;
      --dl-ink:#e7e7ea;
      --dl-muted:#a0a0a7;
    }

body[data-erp-page="admin/server"] .dl .dl-wrap {max-width:1200px;margin:24px auto;padding:0 16px}

body[data-erp-page="admin/server"] .dl h1, body[data-erp-page="admin/server"] .dl h2 {margin:0 0 8px 0}

body[data-erp-page="admin/server"] .dl .muted {color:var(--dl-muted)}

body[data-erp-page="admin/server"] .dl .tabs {
      display:flex;
      gap:10px;
      padding:6px;
      border:1px solid var(--dl-border);
      border-radius:14px;
      background:#0f1013;
      margin-top:24px;
      margin-bottom:16px;
      flex-wrap:wrap;
    }

body[data-erp-page="admin/server"] .dl .tab-button {
      appearance:none;
      border:0;
      border-radius:10px;
      padding:10px 18px;
      color:var(--dl-muted);
      background:rgba(255,255,255,0.04);
      font:600 14px/1 system-ui,Segoe UI,Roboto,Arial,sans-serif;
      cursor:pointer;
      transition:color .2s ease,background .2s ease,box-shadow .2s ease;
    }

body[data-erp-page="admin/server"] .dl .tab-button:hover {color:var(--dl-ink)}

body[data-erp-page="admin/server"] .dl .tab-button.is-active {
      background:var(--dl-panel);
      color:var(--dl-ink);
      box-shadow:0 0 0 1px var(--dl-border),0 6px 12px rgba(0,0,0,0.35);
    }

body[data-erp-page="admin/server"] .dl .tab-panel {display:none;margin-top:24px}

body[data-erp-page="admin/server"] .dl .tab-panel.is-active {display:block}

body[data-erp-page="admin/server"] .dl .sc-block {
      background:var(--dl-panel);
      border:1px solid var(--dl-border);
      border-radius:16px;
      padding:20px;
    }

body[data-erp-page="admin/server"] .dl .sc-row {
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      margin-bottom:16px;
      align-items:center;
    }

body[data-erp-page="admin/server"] .dl .sc-row input, body[data-erp-page="admin/server"] .dl .sc-row button {
      background:#111216;
      color:var(--dl-ink);
      border:1px solid #1f2126;
      border-radius:10px;
      padding:8px 12px;
      transition:background .2s ease,color .2s ease;
    }

body[data-erp-page="admin/server"] .dl .sc-row button {cursor:pointer}

body[data-erp-page="admin/server"] .dl .sc-row button:hover {background:#1a1c21}

body[data-erp-page="admin/server"] .dl .sc-grid {
      display:grid;
      grid-template-columns:minmax(140px,180px) 1fr;
      gap:6px 18px;
      font-size:14px;
    }

body[data-erp-page="admin/server"] .dl .status-dot {
      display:inline-block;
      width:10px;
      height:10px;
      border-radius:50%;
      margin-right:6px;
    }

body[data-erp-page="admin/server"] .dl .sc-error {
      margin-top:16px;
      color:#ff7a7a;
      min-height:18px;
    }

body[data-erp-page="admin/server"] .dl .dl-grid {
      display:grid;
      grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
      gap:16px;
    }

body[data-erp-page="admin/server"] .dl .dl-card {
      background:var(--dl-panel);
      border:1px solid var(--dl-border);
      border-radius:16px;
      padding:12px;
      min-width:0;
    }

body[data-erp-page="admin/server"] .dl .dl-row {display:flex;gap:8px;align-items:center}

body[data-erp-page="admin/server"] .dl .dl-spacer {flex:1}

body[data-erp-page="admin/server"] .dl select, body[data-erp-page="admin/server"] .dl button {
      background:#0f1013;
      color:var(--dl-ink);
      border:1px solid #1f2126;
      border-radius:10px;
      padding:6px 10px;
    }

body[data-erp-page="admin/server"] .dl .dl-logbox {
      font:12px/1.5 ui-monospace,Consolas,Menlo,monospace;
      white-space:pre-wrap;
      background:#0f1013;
      border:1px solid var(--dl-border);
      border-radius:10px;
      max-height:70vh;
      min-height:60vh;
      overflow:auto;
      padding:8px;
    }

@media (max-width:640px) {
body[data-erp-page="admin/server"] .dl .tabs {width:100%;justify-content:space-between}

body[data-erp-page="admin/server"] .dl .tab-button {flex:1;text-align:center}

body[data-erp-page="admin/server"] .dl .sc-grid {grid-template-columns:minmax(120px,160px) 1fr}
}

/* ===== Page scoped: afm-report.html ===== */
body[data-erp-page="afm-report"] { font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, 'Helvetica Neue', Arial; margin: 24px; }

body[data-erp-page="afm-report"] h1 { margin: 0 0 16px; }

body[data-erp-page="afm-report"] .controls { display: grid; grid-template-columns: repeat(6, minmax(140px, 1fr)); gap: 12px; align-items: end; margin-bottom: 16px; }

body[data-erp-page="afm-report"] .controls label { font-size: 12px; color: #444; display: block; margin-bottom: 4px; }

body[data-erp-page="afm-report"] .controls input, body[data-erp-page="afm-report"] .controls select, body[data-erp-page="afm-report"] .controls button { padding: 8px 10px; border: 1px solid #d0d7de; border-radius: 10px; }

body[data-erp-page="afm-report"] .controls button { cursor: pointer; }

body[data-erp-page="afm-report"] table { width: 100%; border-collapse: collapse; }

body[data-erp-page="afm-report"] th, body[data-erp-page="afm-report"] td { padding: 8px 10px; border-bottom: 1px solid #eee; font-size: 14px; }

body[data-erp-page="afm-report"] th { text-align: left; position: sticky; top: 0; background: #fafafa; }

body[data-erp-page="afm-report"] .badge { display: inline-block; padding: 2px 6px; border-radius: 999px; font-size: 11px; margin-right: 6px; background: #eef2ff; }

body[data-erp-page="afm-report"] .LOW_MARGIN { background: #fee2e2; }

body[data-erp-page="afm-report"] .LONG_LEAD { background: #fef08a; }

body[data-erp-page="afm-report"] .VOLUME_HIT { background: #dcfce7; }

/* ===== Page scoped: finances/comission.html ===== */
body[data-erp-page="finances/comission"] * { box-sizing: border-box; }

body[data-erp-page="finances/comission"] .comission-page { max-width: 1320px; }

body[data-erp-page="finances/comission"] .comission-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      margin-bottom: 18px;
    }

body[data-erp-page="finances/comission"] .comission-add {
      width: 40px;
      height: 40px;
      border-radius: 10px;
      border: 1px solid #ffd454;
      background: #ffd454;
      color: #111216;
      font-size: 28px;
      line-height: 1;
      cursor: pointer;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex: 0 0 auto;
    }

body[data-erp-page="finances/comission"] .comission-add:disabled { opacity: .6; cursor: default; }

body[data-erp-page="finances/comission"] .comission-status {
      color: #a0a0a7;
      padding: 14px 0;
    }

body[data-erp-page="finances/comission"] .comission-table {
      width: 100%;
      border-collapse: collapse;
    }

body[data-erp-page="finances/comission"] .comission-table tbody tr {
      cursor: pointer;
    }

body[data-erp-page="finances/comission"] .comission-table tbody tr:hover {
      background: #181a20;
    }

body[data-erp-page="finances/comission"] .comission-table th, body[data-erp-page="finances/comission"] .comission-table td {
      border-bottom: 1px solid #24262d;
      padding: 12px 10px;
      text-align: left;
      vertical-align: top;
    }

body[data-erp-page="finances/comission"] .comission-table th {
      color: #a0a0a7;
      font-size: 12px;
      text-transform: uppercase;
      letter-spacing: .04em;
      font-weight: 700;
    }

body[data-erp-page="finances/comission"] .comission-name {
      font-weight: 800;
      color: #f4f4f5;
      min-width: 180px;
    }

body[data-erp-page="finances/comission"] .cp-list {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
    }

body[data-erp-page="finances/comission"] .cp-chip {
      border: 1px solid #2b2e36;
      background: #101116;
      color: #e7e7ea;
      border-radius: 999px;
      padding: 5px 9px;
      font-size: 12px;
      max-width: 260px;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

body[data-erp-page="finances/comission"] .modal-backdrop {
      position: fixed;
      inset: 0;
      display: none;
      align-items: center;
      justify-content: center;
      background: rgba(0,0,0,.68);
      z-index: 3000;
      padding: 10px;
    }

body[data-erp-page="finances/comission"] .modal-backdrop.open { display: flex; }

body[data-erp-page="finances/comission"] .comission-modal {
      width: min(1460px, calc(100vw - 20px));
      max-height: 92vh;
      overflow: auto;
      background: #141517;
      border: 1px solid #262932;
      border-radius: 14px;
      box-shadow: 0 24px 70px rgba(0,0,0,.55);
      padding: 14px;
    }

body[data-erp-page="finances/comission"] .modal-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 16px;
    }

body[data-erp-page="finances/comission"] .modal-head-actions {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      flex: 0 0 auto;
    }

body[data-erp-page="finances/comission"] .modal-head h2 {
      margin: 0;
      font-size: 20px;
    }

body[data-erp-page="finances/comission"] .modal-close {
      width: 34px;
      height: 34px;
      border: 1px solid #2b2e36;
      border-radius: 8px;
      background: #0f1013;
      color: #e7e7ea;
      font-size: 22px;
      cursor: pointer;
    }

body[data-erp-page="finances/comission"] .field {
      display: grid;
      gap: 7px;
      margin-bottom: 14px;
    }

body[data-erp-page="finances/comission"] .view-fields-row {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 16px;
      align-items: start;
      margin-bottom: 16px;
    }

body[data-erp-page="finances/comission"] .view-fields-row .field {
      margin-bottom: 0;
    }

body[data-erp-page="finances/comission"] .view-fields-row .comission-input, body[data-erp-page="finances/comission"] .view-fields-row .selected-box {
      min-height: 56px;
      border-radius: 12px;
      align-items: center;
    }

body[data-erp-page="finances/comission"] .field label {
      color: #a0a0a7;
      font-size: 12px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .04em;
    }

body[data-erp-page="finances/comission"] .comission-input {
      width: 100%;
      border: 1px solid #2b2e36;
      border-radius: 10px;
      background: #0d0e11;
      color: #f4f4f5;
      padding: 11px 12px;
      font-size: 14px;
    }

body[data-erp-page="finances/comission"] .comission-input:focus {
      outline: 2px solid rgba(255, 212, 84, .35);
      border-color: #ffd454;
    }

body[data-erp-page="finances/comission"] .comission-input[readonly] {
      color: #c9c9ce;
      border-color: #24262d;
      background: #101116;
    }

body[data-erp-page="finances/comission"] .edit-block {
      display: none;
      border: 1px solid #24262d;
      border-radius: 12px;
      background: #101116;
      padding: 14px;
      margin-top: 10px;
    }

body[data-erp-page="finances/comission"] .edit-block.open { display: block; }

body[data-erp-page="finances/comission"] .hidden { display: none !important; }

body[data-erp-page="finances/comission"] .selected-box {
      min-height: 42px;
      border: 1px solid #24262d;
      border-radius: 10px;
      background: #0d0e11;
      padding: 8px;
      display: flex;
      gap: 6px;
      flex-wrap: wrap;
      align-items: center;
    }

body[data-erp-page="finances/comission"] .selected-empty {
      color: #737782;
      font-size: 13px;
      padding: 4px;
    }

body[data-erp-page="finances/comission"] .selected-chip {
      border: 1px solid #3a3d46;
      border-radius: 999px;
      background: #181a20;
      color: #e7e7ea;
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 5px 8px;
      max-width: 100%;
    }

body[data-erp-page="finances/comission"] .selected-chip span {
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

body[data-erp-page="finances/comission"] .selected-chip button {
      border: 0;
      background: transparent;
      color: #a0a0a7;
      cursor: pointer;
      font-size: 16px;
      line-height: 1;
      padding: 0;
    }

body[data-erp-page="finances/comission"] .rate-row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 8px;
      align-items: center;
    }

body[data-erp-page="finances/comission"] .rate-options {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin: 10px 0;
    }

body[data-erp-page="finances/comission"] .rate-option {
      border: 1px solid #2b2e36;
      border-radius: 999px;
      background: #15171c;
      color: #e7e7ea;
      padding: 8px 11px;
      font-weight: 800;
      cursor: pointer;
    }

body[data-erp-page="finances/comission"] .rate-option:hover {
      border-color: #ffd454;
    }

body[data-erp-page="finances/comission"] .customer-results {
      border: 1px solid #24262d;
      border-radius: 10px;
      background: #0d0e11;
      max-height: 300px;
      overflow: auto;
    }

body[data-erp-page="finances/comission"] .customer-row {
      width: 100%;
      border: 0;
      border-bottom: 1px solid #202228;
      background: transparent;
      color: #e7e7ea;
      text-align: left;
      padding: 10px 12px;
      cursor: pointer;
      display: grid;
      grid-template-columns: 22px minmax(0, 1fr);
      gap: 10px;
      align-items: start;
    }

body[data-erp-page="finances/comission"] .customer-row:last-child { border-bottom: 0; }

body[data-erp-page="finances/comission"] .customer-row:hover, body[data-erp-page="finances/comission"] .customer-row.selected { background: #181a20; }

body[data-erp-page="finances/comission"] .check {
      width: 18px;
      height: 18px;
      border: 1px solid #4a4d57;
      border-radius: 5px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: #111216;
      background: #0d0e11;
      margin-top: 1px;
    }

body[data-erp-page="finances/comission"] .customer-row.selected .check {
      background: #ffd454;
      border-color: #ffd454;
    }

body[data-erp-page="finances/comission"] .customer-title {
      font-weight: 700;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

body[data-erp-page="finances/comission"] .customer-sub {
      color: #8f949e;
      font-size: 12px;
      margin-top: 2px;
    }

body[data-erp-page="finances/comission"] .modal-actions {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-top: 18px;
      flex-wrap: wrap;
    }

body[data-erp-page="finances/comission"] .actions-spacer { flex: 1 1 auto; }

body[data-erp-page="finances/comission"] .btn {
      border: 1px solid #2b2e36;
      border-radius: 10px;
      background: #1b1d23;
      color: #e7e7ea;
      padding: 10px 14px;
      font-weight: 700;
      cursor: pointer;
    }

body[data-erp-page="finances/comission"] .btn.primary {
      border-color: #ffd454;
      background: #ffd454;
      color: #111216;
    }

body[data-erp-page="finances/comission"] .btn:disabled { opacity: .55; cursor: default; }

body[data-erp-page="finances/comission"] .error-text {
      color: #ff7878;
      min-height: 18px;
      font-size: 13px;
      margin-top: 8px;
    }

body[data-erp-page="finances/comission"] .modal-body {
      position: relative;
    }

body[data-erp-page="finances/comission"] .modal-loading {
      position: absolute;
      inset: 0;
      display: none;
      align-items: center;
      justify-content: center;
      background: rgba(13, 14, 17, .74);
      border-radius: 12px;
      z-index: 2;
    }

body[data-erp-page="finances/comission"] .modal-loading.open { display: flex; }

body[data-erp-page="finances/comission"] .modal-loading-box {
      border: 1px solid #2b2e36;
      border-radius: 12px;
      background: #111216;
      color: #e7e7ea;
      padding: 14px 18px;
      font-weight: 800;
      box-shadow: 0 18px 50px rgba(0,0,0,.42);
    }

body[data-erp-page="finances/comission"] .shipment-result {
      margin-top: 16px;
      border: 1px solid #24262d;
      border-radius: 12px;
      background: #0d0e11;
      overflow: hidden;
      display: none;
    }

body[data-erp-page="finances/comission"] .shipment-result.open { display: block; }

body[data-erp-page="finances/comission"] .shipment-summary {
      padding: 12px 14px;
      color: #d6d6da;
      border-bottom: 1px solid #24262d;
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
      align-items: center;
    }

body[data-erp-page="finances/comission"] .shipment-filters {
      display: inline-flex;
      gap: 6px;
      flex-wrap: wrap;
      margin-left: auto;
    }

body[data-erp-page="finances/comission"] .shipment-filter {
      border: 1px solid #2b2e36;
      border-radius: 999px;
      background: #15171c;
      color: #d6d6da;
      padding: 6px 10px;
      font-size: 12px;
      font-weight: 800;
      cursor: pointer;
    }

body[data-erp-page="finances/comission"] .shipment-filter.active {
      border-color: #ffd454;
      background: #ffd454;
      color: #111216;
    }

body[data-erp-page="finances/comission"] .shipment-action {
      margin-left: 0;
      min-width: 236px;
    }

body[data-erp-page="finances/comission"] .shipment-action.is-hidden {
      visibility: hidden;
      pointer-events: none;
    }

body[data-erp-page="finances/comission"] .selection-total {
      color: #e7e7ea;
      font-weight: 800;
      min-width: 180px;
    }

body[data-erp-page="finances/comission"] .selection-total.is-hidden {
      visibility: hidden;
    }

body[data-erp-page="finances/comission"] .shipment-table-wrap {
      max-height: 320px;
      overflow-y: auto;
      overflow-x: hidden;
    }

body[data-erp-page="finances/comission"] .shipment-table {
      width: 100%;
      border-collapse: collapse;
      table-layout: fixed;
    }

body[data-erp-page="finances/comission"] .shipment-table th, body[data-erp-page="finances/comission"] .shipment-table td {
      border-bottom: 1px solid #202228;
      padding: 8px 7px;
      text-align: left;
      font-size: 12px;
      line-height: 1.28;
      vertical-align: top;
      overflow-wrap: anywhere;
    }

body[data-erp-page="finances/comission"] .shipment-table th {
      color: #a0a0a7;
      font-size: 10px;
      text-transform: uppercase;
      letter-spacing: .02em;
      font-weight: 700;
      position: sticky;
      top: 0;
      background: #111216;
      white-space: normal;
    }

body[data-erp-page="finances/comission"] .num { text-align: right; white-space: normal; }

body[data-erp-page="finances/comission"] .select-cell {
      text-align: center;
      vertical-align: middle;
    }

body[data-erp-page="finances/comission"] .select-cell input {
      width: 16px;
      height: 16px;
      accent-color: #ffd454;
      cursor: pointer;
    }

body[data-erp-page="finances/comission"] .paid-badge {
      display: inline-flex;
      align-items: center;
      border-radius: 999px;
      padding: 4px 8px;
      font-size: 11px;
      font-weight: 800;
      border: 1px solid #363a43;
      color: #d6d6da;
      background: #15171c;
    }

body[data-erp-page="finances/comission"] .paid-badge.paid {
      border-color: rgba(67, 214, 128, .45);
      color: #8ff0b8;
      background: rgba(67, 214, 128, .11);
    }

body[data-erp-page="finances/comission"] .paid-badge.unpaid {
      border-color: rgba(255, 120, 120, .42);
      color: #ffabab;
      background: rgba(255, 120, 120, .1);
    }

@media (max-width: 720px) {body[data-erp-page="finances/comission"] .view-fields-row {
        grid-template-columns: 1fr;
      }

body[data-erp-page="finances/comission"] .comission-table thead { display: none; }

body[data-erp-page="finances/comission"] .comission-table, body[data-erp-page="finances/comission"] .comission-table tbody, body[data-erp-page="finances/comission"] .comission-table tr, body[data-erp-page="finances/comission"] .comission-table td {
        display: block;
        width: 100%;
      }

body[data-erp-page="finances/comission"] .comission-table tr {
        border: 1px solid #24262d;
        border-radius: 12px;
        margin-bottom: 12px;
        padding: 8px;
      }

body[data-erp-page="finances/comission"] .comission-table td {
        border-bottom: 0;
        padding: 8px;
      }
}

/* ===== Page scoped: finances/purchase-orders-receiving.html ===== */
body[data-erp-page="finances/purchase-orders-receiving"] {
			--panel: #141517;
			--border: #222429;
			--muted: #a0a0a7;
			--ink: #e7e7ea;
		}

body[data-erp-page="finances/purchase-orders-receiving"] .erp-page {
			max-width: 100%;
			width: 100%;
			padding: 16px;
		}

body[data-erp-page="finances/purchase-orders-receiving"] .erp-card {
			background: var(--panel);
			border: 1px solid var(--border);
			border-radius: 16px;
			padding: 16px;
			box-shadow: 0 12px 24px rgba(0,0,0,0.25);
		}

body[data-erp-page="finances/purchase-orders-receiving"] .erp-h1 {
			margin: 0 0 12px;
			font-size: 20px;
		}

body[data-erp-page="finances/purchase-orders-receiving"] .toolbar {
			display: flex;
			gap: 12px;
			align-items: center;
			flex-wrap: wrap;
		}

body[data-erp-page="finances/purchase-orders-receiving"] .erp-input {
			background: #0e0f11;
			color: var(--ink);
			border: 1px solid var(--border);
			border-radius: 10px;
			padding: 8px 10px;
		}

body[data-erp-page="finances/purchase-orders-receiving"] .erp-muted {
			color: var(--muted);
		}

body[data-erp-page="finances/purchase-orders-receiving"] .report-table {
			width: 100%;
			border-collapse: collapse;
			margin-top: 16px;
		}

body[data-erp-page="finances/purchase-orders-receiving"] .report-table th, body[data-erp-page="finances/purchase-orders-receiving"] .report-table td {
			border-bottom: 1px solid var(--border);
			padding: 8px 10px;
			text-align: left;
			vertical-align: top;
			font-size: 13px;
		}

body[data-erp-page="finances/purchase-orders-receiving"] .report-table th {
			color: var(--muted);
			font-weight: 600;
			text-transform: uppercase;
			font-size: 11px;
			letter-spacing: 0.04em;
		}

body[data-erp-page="finances/purchase-orders-receiving"] .report-table .num {
			text-align: right;
			white-space: nowrap;
		}

body[data-erp-page="finances/purchase-orders-receiving"] .modal-table {
			width: 100%;
			border-collapse: collapse;
		}

body[data-erp-page="finances/purchase-orders-receiving"] .po-group {
			background: #101115;
		}

body[data-erp-page="finances/purchase-orders-receiving"] .po-group td {
			padding: 10px;
			font-weight: 600;
		}

body[data-erp-page="finances/purchase-orders-receiving"] .report-row {
			cursor: pointer;
		}

body[data-erp-page="finances/purchase-orders-receiving"] .report-row:hover {
			background: rgba(255, 255, 255, 0.03);
		}

body[data-erp-page="finances/purchase-orders-receiving"] .badge {
			display: inline-block;
			padding: 2px 8px;
			border-radius: 999px;
			font-size: 11px;
			font-weight: 600;
			border: 1px solid transparent;
		}

body[data-erp-page="finances/purchase-orders-receiving"] .badge-ok {
			color: #1bd760;
			border-color: rgba(27, 215, 96, 0.3);
			background: rgba(27, 215, 96, 0.1);
		}

body[data-erp-page="finances/purchase-orders-receiving"] .badge-error {
			color: #ff6b6b;
			border-color: rgba(255, 107, 107, 0.3);
			background: rgba(255, 107, 107, 0.1);
		}

body[data-erp-page="finances/purchase-orders-receiving"] .error-text {
			color: #ff6b6b;
			font-weight: 600;
		}

@media (max-width: 900px) {
body[data-erp-page="finances/purchase-orders-receiving"] .report-table thead {
				display: none;
			}

body[data-erp-page="finances/purchase-orders-receiving"] .report-table, body[data-erp-page="finances/purchase-orders-receiving"] .report-table tbody, body[data-erp-page="finances/purchase-orders-receiving"] .report-table tr, body[data-erp-page="finances/purchase-orders-receiving"] .report-table td {
				display: block;
				width: 100%;
			}

body[data-erp-page="finances/purchase-orders-receiving"] .report-table tr {
				border: 1px solid var(--border);
				border-radius: 12px;
				margin-bottom: 12px;
				overflow: hidden;
			}

body[data-erp-page="finances/purchase-orders-receiving"] .report-table td {
				display: flex;
				justify-content: space-between;
				gap: 12px;
			}

body[data-erp-page="finances/purchase-orders-receiving"] .report-table td::before {
				content: attr(data-label);
				color: var(--muted);
				font-weight: 600;
				text-transform: uppercase;
				font-size: 10px;
				letter-spacing: 0.04em;
			}

body[data-erp-page="finances/purchase-orders-receiving"] .modal-table thead {
				display: table-header-group;
			}

body[data-erp-page="finances/purchase-orders-receiving"] .modal-table {
				display: table;
			}

body[data-erp-page="finances/purchase-orders-receiving"] .modal-table tbody {
				display: table-row-group;
			}

body[data-erp-page="finances/purchase-orders-receiving"] .modal-table tr {
				display: table-row;
			}

body[data-erp-page="finances/purchase-orders-receiving"] .modal-table td {
				display: table-cell;
				width: auto;
			}

body[data-erp-page="finances/purchase-orders-receiving"] .modal-table td::before {
				content: none;
			}
}

body[data-erp-page="finances/purchase-orders-receiving"] .modal {
			position: fixed;
			inset: 0;
			display: none;
			align-items: center;
			justify-content: center;
			background: rgba(0,0,0,0.6);
			z-index: 3000;
		}

body[data-erp-page="finances/purchase-orders-receiving"] .modal-card {
			background: var(--panel);
			border: 1px solid var(--border);
			border-radius: 14px;
			padding: 16px;
			width: min(1100px, 96vw);
			max-height: 90vh;
			overflow: auto;
			box-shadow: 0 10px 30px rgba(0,0,0,0.4);
		}

body[data-erp-page="finances/purchase-orders-receiving"] .modal-header {
			display: flex;
			align-items: center;
			justify-content: space-between;
			margin-bottom: 12px;
		}

body[data-erp-page="finances/purchase-orders-receiving"] .modal-close {
			background: transparent;
			border: none;
			color: var(--muted);
			font-size: 24px;
			cursor: pointer;
		}

/* ===== Page scoped: finances/report.html ===== */
body[data-erp-page="finances/report"] #logisticsModal {
			position: fixed;
			inset: 0;
			background: rgba(0,0,0,0.6);
			display: none;
			align-items: center;
			justify-content: center;
			z-index: 3000;
		}

body[data-erp-page="finances/report"] #logisticsModal .modal-card {
			background: var(--panel);
			border: 1px solid var(--border);
			border-radius: 12px;
			padding: 16px;
			width: min(520px, 95vw);
			box-shadow: 0 10px 30px rgba(0,0,0,0.4);
		}

body[data-erp-page="finances/report"] #logisticsModal h3 {
			margin: 0 0 12px 0;
			font-size: 18px;
			color: var(--ink);
		}

body[data-erp-page="finances/report"] #logisticsModal .field {
			margin-bottom: 12px;
		}

body[data-erp-page="finances/report"] #logisticsModal label {
			display: block;
			font-weight: 600;
			color: var(--muted);
			margin-bottom: 4px;
		}

body[data-erp-page="finances/report"] #logisticsModal input[type="text"], body[data-erp-page="finances/report"] #logisticsModal input[type="file"] {
			width: 100%;
			padding: 8px 10px;
			border: 1px solid var(--border);
			border-radius: 8px;
			background: var(--bg);
			color: var(--ink);
		}

body[data-erp-page="finances/report"] #logisticsModal .readonly {
			background: #121317;
			color: var(--muted);
		}

body[data-erp-page="finances/report"] #logisticsModal .actions {
			display: flex;
			justify-content: flex-end;
			gap: 8px;
			margin-top: 8px;
		}

body[data-erp-page="finances/report"] {
			--hover: #181a20;
			--bg-light: #1a1c20;
		}

body[data-erp-page="finances/report"] .erp-page {
			max-width: 100%;
			width: 100%;
		}

body[data-erp-page="finances/report"] .erp-card {
			max-width: 100%;
			width: 100%;
		}

body[data-erp-page="finances/report"] .invoices-table {
			width: 100%;
			border-collapse: collapse;
			margin-top: 16px;
		}

body[data-erp-page="finances/report"] .invoices-table th, body[data-erp-page="finances/report"] .invoices-table td {
			padding: 12px 8px;
			border-bottom: 1px solid var(--border);
			text-align: left;
		}

body[data-erp-page="finances/report"] .invoices-table th {
			color: var(--muted);
			font-size: 13px;
			font-weight: 600;
		}

body[data-erp-page="finances/report"] .invoices-table td {
			font-size: 14px;
		}

body[data-erp-page="finances/report"] .invoices-table tbody tr {
			cursor: pointer;
			transition: background-color 0.15s;
		}

body[data-erp-page="finances/report"] .invoices-table tbody tr:hover {
			background: var(--bg-light);
		}

body[data-erp-page="finances/report"] .logistics-success {
			color: #2ecc71 !important;
			font-weight: 700;
		}

body[data-erp-page="finances/report"] #shippingInvoiceModal {
			position: fixed;
			inset: 0;
			background: rgba(0,0,0,0.65);
			display: none;
			align-items: center;
			justify-content: center;
			z-index: 3200;
		}

body[data-erp-page="finances/report"] #shippingInvoiceModal .card {
			background: var(--panel);
			border: 1px solid var(--border);
			border-radius: 12px;
			width: min(780px, 95vw);
			max-height: 90vh;
			display: flex;
			flex-direction: column;
			box-shadow: 0 18px 40px rgba(0,0,0,0.45);
		}

body[data-erp-page="finances/report"] #shippingInvoiceModal .card-header {
			display: flex;
			justify-content: space-between;
			align-items: center;
			padding: 14px 16px;
			border-bottom: 1px solid var(--border);
		}

body[data-erp-page="finances/report"] #shippingInvoiceModal .card-body {
			padding: 16px;
			overflow: auto;
		}

body[data-erp-page="finances/report"] #shippingInvoiceModal .card-footer {
			padding: 12px 16px;
			border-top: 1px solid var(--border);
			display: flex;
			justify-content: flex-end;
			gap: 10px;
		}

body[data-erp-page="finances/report"] .shipping-table {
			width: 100%;
			border-collapse: collapse;
			margin-top: 8px;
		}

body[data-erp-page="finances/report"] .shipping-table th, body[data-erp-page="finances/report"] .shipping-table td {
			border-bottom: 1px solid var(--border);
			padding: 10px 8px;
			text-align: left;
		}

body[data-erp-page="finances/report"] .shipping-table input {
			width: 100%;
			padding: 6px 8px;
			border: 1px solid var(--border);
			border-radius: 8px;
			background: var(--bg);
			color: var(--ink);
		}

body[data-erp-page="finances/report"] .shipping-total {
			text-align: right;
			font-weight: 700;
			margin-top: 12px;
			font-size: 15px;
			color: var(--ink);
		}

body[data-erp-page="finances/report"] .shipping-meta {
			display: flex;
			gap: 12px;
			align-items: center;
			margin-top: 12px;
			flex-wrap: wrap;
		}

body[data-erp-page="finances/report"] .shipping-meta input {
			width: 80px;
			padding: 6px 8px;
			border: 1px solid var(--border);
			border-radius: 8px;
			background: var(--bg);
			color: var(--ink);
		}

body[data-erp-page="finances/report"] .freight-invoice-ready {
			background: #2ecc71 !important;
			border-color: #2ecc71 !important;
			color: #0b0d12 !important;
		}

body[data-erp-page="finances/report"] .disabled-btn {
			background: #6b7280 !important;
			border-color: #6b7280 !important;
			color: #e5e7eb !important;
			cursor: not-allowed;
			opacity: 0.8;
		}

body[data-erp-page="finances/report"] .shipped-done {
			cursor: not-allowed !important;
		}

body[data-erp-page="finances/report"] #issueCiModal {
			position: fixed;
			inset: 0;
			background: rgba(0,0,0,0.65);
			display: none;
			align-items: center;
			justify-content: center;
			z-index: 3300;
		}

body[data-erp-page="finances/report"] #issueCiModal .card {
			background: var(--panel);
			border: 1px solid var(--border);
			border-radius: 12px;
			width: min(520px, 95vw);
			max-height: 90vh;
			display: flex;
			flex-direction: column;
			box-shadow: 0 18px 40px rgba(0,0,0,0.45);
		}

body[data-erp-page="finances/report"] #issueCiModal .card-header, body[data-erp-page="finances/report"] #issueCiModal .card-footer {
			padding: 14px 16px;
			border-bottom: 1px solid var(--border);
			display: flex;
			align-items: center;
			justify-content: space-between;
			gap: 10px;
		}

body[data-erp-page="finances/report"] #issueCiModal .card-body {
			padding: 16px;
			overflow: auto;
			display: flex;
			flex-direction: column;
			gap: 10px;
		}

body[data-erp-page="finances/report"] .issue-template {
			border: 1px solid var(--border);
			border-radius: 8px;
			padding: 10px 12px;
			background: var(--bg);
			display: flex;
			justify-content: space-between;
			align-items: center;
			gap: 12px;
			cursor: pointer;
			transition: background 0.15s, border-color 0.15s;
		}

body[data-erp-page="finances/report"] .issue-template:hover {
			background: var(--hover);
			border-color: var(--muted);
		}

body[data-erp-page="finances/report"] .issue-template-title {
			font-weight: 700;
			color: var(--ink);
		}

body[data-erp-page="finances/report"] .issue-template-desc {
			color: var(--muted);
			font-size: 12px;
		}

body[data-erp-page="finances/report"] .freight-card {
			margin-top: 14px;
			padding: 12px;
			border: 1px solid var(--border);
			border-radius: 10px;
			background: var(--bg);
		}

body[data-erp-page="finances/report"] .freight-title {
			font-weight: 700;
			margin-bottom: 8px;
			color: var(--ink);
		}

body[data-erp-page="finances/report"] .freight-row {
			display: flex;
			justify-content: space-between;
			gap: 8px;
			padding: 4px 0;
			color: var(--ink);
		}

body[data-erp-page="finances/report"] .freight-label {
			color: var(--muted);
			font-weight: 600;
		}

body[data-erp-page="finances/report"] .freight-value {
			font-weight: 600;
		}

body[data-erp-page="finances/report"] .freight-source {
			margin-top: 6px;
			font-size: 12px;
			color: var(--muted);
		}

body[data-erp-page="finances/report"] .freight-card.has-data .freight-title, body[data-erp-page="finances/report"] .freight-card.has-data .freight-value {
			color: #2ecc71;
		}

body[data-erp-page="finances/report"] .logistics-btn {
			background: #f5c843 !important;
			color: #0b0d12 !important;
			border: 1px solid #f5c843 !important;
			font-weight: 700;
			border-radius: 999px;
			box-shadow: 0 4px 10px rgba(245, 200, 67, 0.25);
			padding: 6px 14px;
			transition: transform 0.12s ease, box-shadow 0.12s ease, filter 0.12s ease;
		}

body[data-erp-page="finances/report"] .logistics-btn:hover {
			transform: translateY(-1px);
			box-shadow: 0 6px 14px rgba(245, 200, 67, 0.32);
			filter: brightness(1.04);
		}

body[data-erp-page="finances/report"] .invoice-number {
			font-weight: 600;
			color: var(--ink);
		}

body[data-erp-page="finances/report"] .invoice-date {
			color: var(--muted);
			font-size: 13px;
		}

body[data-erp-page="finances/report"] .customer-name {
			font-weight: 500;
		}

body[data-erp-page="finances/report"] .invoice-status {
			color: var(--muted);
			font-size: 13px;
		}

body[data-erp-page="finances/report"] .total-sum {
			font-weight: 600;
			text-align: right;
		}

body[data-erp-page="finances/report"] .toolbar {
			display: flex;
			gap: 12px;
			align-items: center;
			margin-bottom: 20px;
			flex-wrap: wrap;
		}

body[data-erp-page="finances/report"] .toolbar-actions {
			margin-left: auto;
			display: flex;
			align-items: center;
			gap: 8px;
		}

body[data-erp-page="finances/report"] .empty-state {
			text-align: center;
			padding: 60px 20px;
			color: var(--muted);
		}

body[data-erp-page="finances/report"] .empty-state-icon {
			font-size: 48px;
			margin-bottom: 16px;
		}

body[data-erp-page="finances/report"] .empty-state-text {
			font-size: 18px;
			font-weight: 600;
			margin-bottom: 8px;
		}

body[data-erp-page="finances/report"] .empty-state-subtext {
			font-size: 14px;
		}

body[data-erp-page="finances/report"] .modal {
			display: none;
			position: fixed;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background: rgba(0,0,0,0.7);
			z-index: 1000;
		}

body[data-erp-page="finances/report"] .modal-content {
			background: var(--panel);
			margin: 0;
			padding: 0;
			width: 100%;
			height: 100%;
			border-radius: 0;
			overflow: hidden;
			display: flex;
			flex-direction: column;
		}

body[data-erp-page="finances/report"] .modal-header {
			padding: 16px 20px;
			border-bottom: 1px solid var(--border);
			display: flex;
			justify-content: space-between;
			align-items: center;
		}

body[data-erp-page="finances/report"] .modal-title {
			font-size: 18px;
			font-weight: 600;
			color: var(--ink);
		}

body[data-erp-page="finances/report"] .modal-close {
			background: none;
			border: none;
			font-size: 24px;
			cursor: pointer;
			color: var(--muted);
		}

body[data-erp-page="finances/report"] .modal-close:hover {
			color: var(--ink);
		}

body[data-erp-page="finances/report"] .modal-body {
			padding: 20px;
			flex: 1;
			overflow-y: auto;
		}

body[data-erp-page="finances/report"] .items-table {
			width: 100%;
			border-collapse: collapse;
		}

body[data-erp-page="finances/report"] .items-table th, body[data-erp-page="finances/report"] .items-table td {
			padding: 12px 8px;
			border-bottom: 1px solid var(--border);
			text-align: left;
		}

body[data-erp-page="finances/report"] .items-table th {
			color: var(--muted);
			font-size: 13px;
			font-weight: 600;
		}

body[data-erp-page="finances/report"] .items-table td {
			font-size: 14px;
		}

body[data-erp-page="finances/report"] .items-table tbody tr:hover {
			background: var(--bg-light);
		}

body[data-erp-page="finances/report"] .po-table {
			width: 100%;
			border-collapse: collapse;
		}

body[data-erp-page="finances/report"] .po-table th, body[data-erp-page="finances/report"] .po-table td {
			padding: 10px 8px;
			border-bottom: 1px solid var(--border);
			text-align: left;
		}

body[data-erp-page="finances/report"] .po-table th {
			color: var(--muted);
			font-size: 13px;
			font-weight: 600;
		}

body[data-erp-page="finances/report"] .po-group-row td {
			background: var(--bg-light);
			font-weight: 600;
			color: var(--ink);
		}

body[data-erp-page="finances/report"] .po-group-meta {
			display: flex;
			justify-content: space-between;
			gap: 12px;
			flex-wrap: wrap;
			font-size: 13px;
		}

body[data-erp-page="finances/report"] .po-total {
			text-align: right;
			font-weight: 600;
		}

body[data-erp-page="finances/report"] .empty-cell {
			background-color: rgba(255, 59, 48, 0.15);
			color: #ff3b30;
		}

body[data-erp-page="finances/report"] #hotModal, body[data-erp-page="finances/report"] #packingModal {
			display: none;
			position: fixed;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background: rgba(0,0,0,0.8);
			z-index: 1001;
		}

body[data-erp-page="finances/report"] #hotModal.open, body[data-erp-page="finances/report"] #packingModal.open {
			display: block;
		}

body[data-erp-page="finances/report"] .hot-modal-content {
			background: var(--panel);
			margin: 40px auto;
			padding: 0;
			width: calc(100% - 80px);
			height: calc(100% - 80px);
			border-radius: 8px;
			overflow: hidden;
			display: flex;
			flex-direction: column;
		}

body[data-erp-page="finances/report"] .hot-modal-header {
			padding: 16px 20px;
			border-bottom: 1px solid var(--border);
			display: flex;
			justify-content: space-between;
			align-items: center;
		}

body[data-erp-page="finances/report"] .hot-modal-body {
			padding: 20px;
			flex: 1;
			overflow: hidden;
			display: flex;
			flex-direction: column;
		}

body[data-erp-page="finances/report"] #hotBox {
			flex: 1;
			overflow: hidden;
		}

body[data-erp-page="finances/report"] .hot-modal-footer {
			padding: 16px 20px;
			border-top: 1px solid var(--border);
			display: flex;
			gap: 12px;
			justify-content: flex-end;
		}

body[data-erp-page="finances/report"] .erp-btn-secondary {
			background: var(--bg);
			border: 1px solid var(--border);
		}

body[data-erp-page="finances/report"] .erp-btn-secondary:hover {
			background: var(--hover);
		}

body[data-erp-page="finances/report"] .tabs {
			display: flex;
			gap: 4px;
			margin-bottom: 16px;
			border-bottom: 2px solid var(--border);
		}

body[data-erp-page="finances/report"] .tab-btn {
			padding: 10px 20px;
			background: none;
			border: none;
			color: var(--muted);
			cursor: pointer;
			font-weight: 600;
			border-bottom: 2px solid transparent;
			margin-bottom: -2px;
			transition: all 0.2s;
		}

body[data-erp-page="finances/report"] .tab-btn:hover {
			color: var(--ink);
		}

body[data-erp-page="finances/report"] .tab-btn.active {
			color: var(--ink);
			border-bottom-color: var(--ink);
		}

body[data-erp-page="finances/report"] .tab-content {
			display: none;
			flex: 1;
			overflow: hidden;
		}

body[data-erp-page="finances/report"] .tab-content.active {
			display: flex;
			flex-direction: column;
		}

body[data-erp-page="finances/report"] .loading-overlay {
			position: fixed;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background-color: rgba(0,0,0,0.7);
			display: none;
			justify-content: center;
			align-items: center;
			z-index: 5000;
		}

body[data-erp-page="finances/report"] .loading-modal {
			background-color: var(--panel);
			padding: 30px;
			border-radius: 12px;
			text-align: center;
			min-width: 300px;
			border: 1px solid var(--border);
		}

body[data-erp-page="finances/report"] .loading-title {
			margin-bottom: 20px;
			color: var(--ink);
			font-weight: 600;
		}

body[data-erp-page="finances/report"] .loading-detail {
			color: var(--muted);
			font-size: 13px;
			margin-bottom: 16px;
		}

body[data-erp-page="finances/report"] .spinner {
			border: 4px solid rgba(255, 205, 17, 0.1);
			border-top: 4px solid var(--primary);
			border-radius: 50%;
			width: 40px;
			height: 40px;
			animation: spin 1s linear infinite;
			margin: 0 auto;
		}

@keyframes spin {
			0% { transform: rotate(0deg); }
			100% { transform: rotate(360deg); }
		}

@media (max-width: 768px) {
body[data-erp-page="finances/report"] .toolbar {
				flex-direction: column;
				align-items: stretch;
				gap: 8px;
			}

body[data-erp-page="finances/report"] .toolbar-actions {
				margin-left: 0;
				width: 100%;
				justify-content: space-between;
			}

body[data-erp-page="finances/report"] .erp-btn {
				min-height: 44px;
			}

body[data-erp-page="finances/report"] .invoices-table thead {
				display: none;
			}

body[data-erp-page="finances/report"] .invoices-table, body[data-erp-page="finances/report"] .invoices-table tbody, body[data-erp-page="finances/report"] .invoices-table tr, body[data-erp-page="finances/report"] .invoices-table td {
				display: block;
				width: 100%;
			}

body[data-erp-page="finances/report"] .invoices-table tbody tr {
				background: var(--panel);
				border: 1px solid var(--border);
				border-radius: 8px;
				margin-bottom: 12px;
			}

body[data-erp-page="finances/report"] .invoices-table td {
				padding: 10px 12px;
				display: flex;
				justify-content: space-between;
				align-items: baseline;
				gap: 12px;
			}

body[data-erp-page="finances/report"] .invoices-table td::before {
				content: attr(data-label);
				color: var(--muted);
				font-size: 12px;
				font-weight: 600;
			}

body[data-erp-page="finances/report"] .invoices-table .total-sum {
				text-align: left;
			}

body[data-erp-page="finances/report"] .hot-modal-content {
				margin: 0;
				width: 100%;
				height: 100%;
				border-radius: 0;
			}

body[data-erp-page="finances/report"] .modal-content {
				width: 100%;
				height: 100%;
				border-radius: 0;
			}

body[data-erp-page="finances/report"] .modal-body {
				padding: 12px;
				overflow-x: auto;
			}

body[data-erp-page="finances/report"] .modal-header {
				position: sticky;
				top: 0;
				z-index: 2;
				background: var(--panel);
				flex-direction: column;
				align-items: stretch;
				gap: 8px;
			}

body[data-erp-page="finances/report"] .modal-header > div:last-child {
				display: flex !important;
				flex-direction: column !important;
				align-items: stretch !important;
				gap: 8px !important;
			}

body[data-erp-page="finances/report"] .modal-title {
				font-size: 16px;
				white-space: nowrap;
				overflow: hidden;
				text-overflow: ellipsis;
			}

body[data-erp-page="finances/report"] .modal-header .erp-btn {
				width: 100%;
				min-height: 44px;
				max-width: 100%;
				white-space: normal;
				word-break: break-word;
			}

body[data-erp-page="finances/report"] .modal-close {
				align-self: flex-end;
				min-width: 44px;
				min-height: 44px;
				line-height: 1;
			}

body[data-erp-page="finances/report"] .items-table {
				min-width: 720px;
			}

body[data-erp-page="finances/report"] .tabs {
				flex-wrap: wrap;
			}

body[data-erp-page="finances/report"] .tab-btn {
				padding: 10px 12px;
			}
}

/* ===== Page scoped: login.html ===== */
body[data-erp-page="login"] {
      --bg:#0e0f12;
      --panel:#151618;
      --border:#202228;
      --ink:#e7e7ea;
      --muted:#a0a0a7;
      --accent:#ffd454;
    }

body[data-erp-page="login"] {margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,Segoe UI,Roboto,Arial,sans-serif;}

body[data-erp-page="login"] .wrap {max-width:420px;margin:10vh auto;padding:16px}

body[data-erp-page="login"] .erp-h1 {margin:0 0 16px 0;font-size:26px;font-weight:800;}

body[data-erp-page="login"] form {display:grid;gap:10px;background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:16px}

body[data-erp-page="login"] input, body[data-erp-page="login"] button {background:#111216;color:var(--ink);border:1px solid #1f2126;border-radius:10px;padding:10px}

body[data-erp-page="login"] .pass-wrap {position:relative}

body[data-erp-page="login"] .pass-wrap input {width:100%;box-sizing:border-box;padding-right:46px}

body[data-erp-page="login"] .toggle-pass {position:absolute;right:8px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--muted);padding:4px 6px;font-size:18px;line-height:1;cursor:pointer}

body[data-erp-page="login"] .toggle-pass:hover {color:var(--ink)}

body[data-erp-page="login"] input:focus {outline:none;border-color:var(--accent);box-shadow:0 0 0 2px rgba(255,212,84,0.15);}

body[data-erp-page="login"] button {cursor:pointer;font-weight:700;background:var(--accent);color:#141517;border-color:var(--accent)}

body[data-erp-page="login"] button:hover {opacity:0.92}

body[data-erp-page="login"] .err {color:#ff7a7a;min-height:1.2em}

body[data-erp-page="login"] .remember {display:flex;align-items:center;gap:8px;font-size:13px;color:#a0a0a7}

body[data-erp-page="login"] .remember input {width:16px;height:16px;padding:0}

/* ===== Page scoped: purchases/create-receiving.html ===== */
body[data-erp-page="purchases/create-receiving"] .wrap {max-width:1200px;margin:24px auto;padding:0 16px}

body[data-erp-page="purchases/create-receiving"] .wrap {
      max-width: none !important;
      width: 100% !important;
      margin: 0 !important;
      padding: 0 !important;
    }

body[data-erp-page="purchases/create-receiving"] .toolbar {display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}

body[data-erp-page="purchases/create-receiving"] input, body[data-erp-page="purchases/create-receiving"] select, body[data-erp-page="purchases/create-receiving"] button {
      background:#111216;color:#e7e7ea;border:1px solid #1f2126;border-radius:10px;padding:8px 10px
    }

body[data-erp-page="purchases/create-receiving"] #tbl {width:100%;border-collapse:collapse;background:#121317;border:1px solid #202228;border-radius:12px;overflow:hidden;table-layout:fixed}

body[data-erp-page="purchases/create-receiving"] #tbl th, body[data-erp-page="purchases/create-receiving"] #tbl td {padding:10px;border-bottom:1px solid #202228;text-align:left;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

body[data-erp-page="purchases/create-receiving"] #tbl th {background:#0f1013;position:sticky;top:0;z-index:1}

body[data-erp-page="purchases/create-receiving"] tbody tr:hover {background:#16181d}

body[data-erp-page="purchases/create-receiving"] .muted {color:#a0a0a7}

body[data-erp-page="purchases/create-receiving"] .right {display:flex;gap:8px;margin-left:auto}

body[data-erp-page="purchases/create-receiving"] .pager {display:flex;gap:8px;align-items:center}

body[data-erp-page="purchases/create-receiving"] .status {display:inline-block;padding:2px 8px;border-radius:999px;background:#1b1d22}

body[data-erp-page="purchases/create-receiving"] .status-yellow {background:rgba(255,205,17,0.2);color:#ffcd11;border:1px solid rgba(255,205,17,0.35)}

body[data-erp-page="purchases/create-receiving"] .status-green {background:rgba(27,215,96,0.18);color:#1bd760;border:1px solid rgba(27,215,96,0.35)}

body[data-erp-page="purchases/create-receiving"] .num {text-align:right}

body[data-erp-page="purchases/create-receiving"] .check-col {width:44px;text-align:center}

body[data-erp-page="purchases/create-receiving"] .col-number {width:160px}

body[data-erp-page="purchases/create-receiving"] .col-date {width:170px}

body[data-erp-page="purchases/create-receiving"] .col-sum {width:120px}

body[data-erp-page="purchases/create-receiving"] .col-status {width:180px}

body[data-erp-page="purchases/create-receiving"] .col-brand {width:160px}

body[data-erp-page="purchases/create-receiving"] .modal {position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;align-items:center;justify-content:center;z-index:2000}

body[data-erp-page="purchases/create-receiving"] .modal.open {display:flex}

body[data-erp-page="purchases/create-receiving"] .overlay {position:fixed;inset:0;background:rgba(0,0,0,.65);display:none;z-index:3000}

body[data-erp-page="purchases/create-receiving"] .overlay.open {display:block}

body[data-erp-page="purchases/create-receiving"] .card {
      width:min(520px,95vw);
      max-height:80vh;
      overflow:hidden;
      background:#121317;border:1px solid #202228;border-radius:16px;padding:16px;
      position: relative;
    }

body[data-erp-page="purchases/create-receiving"] .row {display:flex;gap:8px;align-items:center;flex-wrap:wrap}

body[data-erp-page="purchases/create-receiving"] .btn {cursor:pointer}

body[data-erp-page="purchases/create-receiving"] .btn.ghost {background:#0f1013;border-color:#1f2126}

body[data-erp-page="purchases/create-receiving"] .btn.primary {background:#1a5fff;border-color:#2f6dff;color:#fff}

body[data-erp-page="purchases/create-receiving"] .btn.lxks {background:#1f6fff;border-color:#2f7dff;color:#fff}

body[data-erp-page="purchases/create-receiving"] .close {margin-left:auto}

body[data-erp-page="purchases/create-receiving"] .spacer {flex:1}

body[data-erp-page="purchases/create-receiving"] #poFilterHot {height:420px;margin-top:12px;overflow:hidden}

body[data-erp-page="purchases/create-receiving"] #poFilterHot .ht_master .wtHolder, body[data-erp-page="purchases/create-receiving"] #poFilterHot .ht_clone_left .wtHolder {
      max-height:420px !important;
    }

body[data-erp-page="purchases/create-receiving"] .receiving-group {border:1px solid #202228;border-radius:12px;margin-top:12px;overflow:hidden}

body[data-erp-page="purchases/create-receiving"] .receiving-header {display:flex;gap:16px;flex-wrap:wrap;align-items:center;padding:10px 12px;background:#0f1013}

body[data-erp-page="purchases/create-receiving"] .receiving-header strong {color:#e7e7ea}

body[data-erp-page="purchases/create-receiving"] .receiving-actions {margin-left:auto;display:flex;gap:8px;align-items:center}

body[data-erp-page="purchases/create-receiving"] .receiving-group-search {display:flex;align-items:center;gap:8px}

body[data-erp-page="purchases/create-receiving"] .receiving-group-search input {min-width:180px}

body[data-erp-page="purchases/create-receiving"] .receiving-search {display:flex;align-items:center;gap:8px;margin-left:12px}

body[data-erp-page="purchases/create-receiving"] .receiving-search input {min-width:220px}

body[data-erp-page="purchases/create-receiving"] .receiving-table {width:100%;border-collapse:collapse}

body[data-erp-page="purchases/create-receiving"] .receiving-table th, body[data-erp-page="purchases/create-receiving"] .receiving-table td {
      padding:8px 10px;
      border-bottom:1px solid #202228;
      text-align:left;
      font-size:13px;
      white-space:normal;
      overflow:visible;
      text-overflow:clip;
    }

body[data-erp-page="purchases/create-receiving"] .receiving-table th {color:#a0a0a7;font-weight:600;background:#121317}

body[data-erp-page="purchases/create-receiving"] .receiving-table .num {text-align:right}

body[data-erp-page="purchases/create-receiving"] .receiving-table .recv-qty {width:100%;max-width:120px}

body[data-erp-page="purchases/create-receiving"] .receiving-table .recv-qty.over {color:#ff6b6b;border-color:#8d2f2f}

body[data-erp-page="purchases/create-receiving"] #receivingContent {
      max-height:70vh;
      overflow:auto;
      padding-right:4px;
    }

body[data-erp-page="purchases/create-receiving"] #receivingPreviewContent {
      max-height:70vh;
      overflow:auto;
      padding-right:4px;
    }

body[data-erp-page="purchases/create-receiving"] .receiving-table .flag-col {width:40px;text-align:center;white-space:normal;overflow:visible;text-overflow:clip}

body[data-erp-page="purchases/create-receiving"] .dropzone {
      border:1px dashed #2a2d34;
      background:#0f1013;
      border-radius:12px;
      padding:18px;
      text-align:center;
      color:#a0a0a7;
    }

body[data-erp-page="purchases/create-receiving"] .dropzone.dragover {
      border-color:#2f6dff;
      background:rgba(26,95,255,0.08);
      color:#e7e7ea;
    }

body[data-erp-page="purchases/create-receiving"] .dropzone .title {color:#e7e7ea;font-weight:600;margin-bottom:6px}

body[data-erp-page="purchases/create-receiving"] .dropzone .hint {font-size:12px}

body[data-erp-page="purchases/create-receiving"] .file-row {display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}

body[data-erp-page="purchases/create-receiving"] .file-name {color:#e7e7ea}

body[data-erp-page="purchases/create-receiving"] .preview-table {width:100%;border-collapse:collapse;margin-top:12px}

body[data-erp-page="purchases/create-receiving"] .preview-table th, body[data-erp-page="purchases/create-receiving"] .preview-table td {padding:8px 10px;border-bottom:1px solid #202228;text-align:left;font-size:13px}

body[data-erp-page="purchases/create-receiving"] .preview-table th {color:#a0a0a7;font-weight:600;background:#0f1013;position:sticky;top:0}

body[data-erp-page="purchases/create-receiving"] .badge {display:inline-block;padding:2px 8px;border-radius:999px;background:#1b1d22}

body[data-erp-page="purchases/create-receiving"] .badge-ok {background:rgba(27,215,96,0.18);color:#1bd760;border:1px solid rgba(27,215,96,0.35)}

body[data-erp-page="purchases/create-receiving"] .badge-no {background:rgba(255,107,107,0.18);color:#ff6b6b;border:1px solid rgba(255,107,107,0.35)}

body[data-erp-page="purchases/create-receiving"] #lxksPreviewContent {max-height:60vh;overflow:auto}

/* ===== Page scoped: purchases/esd.html ===== */
body[data-erp-page="purchases/esd"] {
			--hover: #181a20;
			--bg-light: #1a1c20;
		}

body[data-erp-page="purchases/esd"] .erp-page {
			padding: 24px;
			max-width: 1600px;
			margin: 0 auto;
		}

body[data-erp-page="purchases/esd"] .erp-card {
				background: var(--panel);
				border: 1px solid var(--border);
				border-radius: 12px;
				padding: 24px;
				position: relative;
			}

body[data-erp-page="purchases/esd"] .erp-h1 {
			margin: 0 0 24px 0;
			color: var(--ink);
			font-size: 24px;
			font-weight: 600;
		}

body[data-erp-page="purchases/esd"] .tabs {
			display: flex;
			gap: 8px;
			margin-bottom: 24px;
			border-bottom: 1px solid var(--border);
		}

body[data-erp-page="purchases/esd"] .tab {
			padding: 12px 24px;
			background: transparent;
			border: none;
			border-bottom: 2px solid transparent;
			color: var(--muted);
			font-size: 14px;
			font-weight: 500;
			cursor: pointer;
			transition: all 0.15s;
		}

body[data-erp-page="purchases/esd"] .tab:hover {
			color: var(--ink);
		}

body[data-erp-page="purchases/esd"] .tab.active {
			color: var(--primary);
			border-bottom-color: var(--primary);
		}

body[data-erp-page="purchases/esd"] .tab-content {
			display: none;
		}

body[data-erp-page="purchases/esd"] .tab-content.active {
			display: block;
		}

body[data-erp-page="purchases/esd"] .esd-table {
			width: 100%;
			border-collapse: collapse;
			margin-top: 16px;
		}

body[data-erp-page="purchases/esd"] .esd-table th, body[data-erp-page="purchases/esd"] .esd-table td {
			padding: 12px 8px;
			border-bottom: 1px solid var(--border);
			text-align: left;
			font-size: 14px;
		}

body[data-erp-page="purchases/esd"] .esd-table th {
			color: var(--muted);
			font-size: 13px;
			font-weight: 600;
			position: sticky;
			top: 0;
			background: var(--panel);
			z-index: 1;
		}

body[data-erp-page="purchases/esd"] .esd-table td {
			color: var(--ink);
		}

body[data-erp-page="purchases/esd"] .esd-table tbody tr {
			transition: background-color 0.15s;
		}

body[data-erp-page="purchases/esd"] .esd-table tbody tr:hover {
			background: var(--bg-light);
		}

body[data-erp-page="purchases/esd"] .esd-table .num {
			text-align: right;
		}

body[data-erp-page="purchases/esd"] .esd-table .overdue {
			color: #ff6b6b;
			font-weight: 600;
		}

body[data-erp-page="purchases/esd"] .toolbar {
			display: flex;
			gap: 12px;
			align-items: center;
			margin-bottom: 20px;
			flex-wrap: wrap;
		}

body[data-erp-page="purchases/esd"] .empty-state {
			text-align: center;
			padding: 60px 20px;
			color: var(--muted);
		}

body[data-erp-page="purchases/esd"] .empty-state-icon {
			font-size: 48px;
			margin-bottom: 16px;
		}

body[data-erp-page="purchases/esd"] .empty-state-text {
			font-size: 18px;
			font-weight: 600;
			margin-bottom: 8px;
		}

body[data-erp-page="purchases/esd"] .empty-state-subtext {
			font-size: 14px;
		}

body[data-erp-page="purchases/esd"] .loading {
				text-align: center;
				padding: 40px;
				color: var(--muted);
			}

body[data-erp-page="purchases/esd"] .esd-loading-overlay,
body[data-erp-page="sales/esd"] .esd-loading-overlay {
				position: absolute;
				inset: 0;
				z-index: 100;
				display: none;
				align-items: center;
				justify-content: center;
				padding: 24px;
				background: rgba(8, 9, 11, .72);
				backdrop-filter: blur(2px);
				border-radius: 12px;
			}

body[data-erp-page="purchases/esd"] .esd-loading-overlay.show,
body[data-erp-page="sales/esd"] .esd-loading-overlay.show {
				display: flex;
			}

body[data-erp-page="purchases/esd"] .esd-loading-overlay[hidden],
body[data-erp-page="sales/esd"] .esd-loading-overlay[hidden] {
				display: none;
			}

body[data-erp-page="purchases/esd"] .esd-loading-card,
body[data-erp-page="sales/esd"] .esd-loading-card {
				width: min(360px, calc(100vw - 64px));
				padding: 24px;
				text-align: center;
				background: #121317;
				border: 1px solid #2a2d34;
				border-radius: 12px;
				box-shadow: 0 18px 50px rgba(0, 0, 0, .45);
			}

body[data-erp-page="purchases/esd"] .esd-loading-spinner,
body[data-erp-page="sales/esd"] .esd-loading-spinner {
				width: 34px;
				height: 34px;
				margin: 0 auto 14px;
				border: 3px solid #2a2d34;
				border-top-color: #ffd454;
				border-radius: 50%;
				animation: spin .8s linear infinite;
			}

body[data-erp-page="purchases/esd"] .esd-loading-title,
body[data-erp-page="sales/esd"] .esd-loading-title {
				color: var(--ink);
				font-size: 16px;
				font-weight: 700;
				margin-bottom: 6px;
			}

body[data-erp-page="purchases/esd"] .esd-loading-text,
body[data-erp-page="sales/esd"] .esd-loading-text {
				color: var(--muted);
				font-size: 13px;
			}

@media (max-width: 768px) {
body[data-erp-page="purchases/esd"] .erp-page {
				padding: 16px;
			}

body[data-erp-page="purchases/esd"] .esd-table {
				font-size: 12px;
			}

body[data-erp-page="purchases/esd"] .esd-table th, body[data-erp-page="purchases/esd"] .esd-table td {
				padding: 8px 4px;
			}
}

/* ===== Page scoped: purchases/list.html ===== */
body[data-erp-page="purchases/list"] .wrap {max-width:1200px;margin:24px auto;padding:0 16px}

body[data-erp-page="purchases/list"] .wrap {
      max-width: none !important;
      width: 100% !important;
      margin: 0 !important;
      padding: 0 !important;
    }

body[data-erp-page="purchases/list"] .toolbar {display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}

body[data-erp-page="purchases/list"] input, body[data-erp-page="purchases/list"] select, body[data-erp-page="purchases/list"] button {
      background:#111216;color:#e7e7ea;border:1px solid #1f2126;border-radius:10px;padding:8px 10px
    }

body[data-erp-page="purchases/list"] table {width:100%;border-collapse:collapse;background:#121317;border:1px solid #202228;border-radius:12px;overflow:hidden}

body[data-erp-page="purchases/list"] th, body[data-erp-page="purchases/list"] td {padding:10px;border-bottom:1px solid #202228;text-align:left;font-size:13px}

body[data-erp-page="purchases/list"] th {background:#0f1013;position:sticky;top:0;z-index:1}

body[data-erp-page="purchases/list"] tbody tr:hover {background:#16181d;cursor:pointer}

body[data-erp-page="purchases/list"] .muted {color:#a0a0a7}

body[data-erp-page="purchases/list"] .right {display:flex;gap:8px;margin-left:auto}

body[data-erp-page="purchases/list"] .pager {display:flex;gap:8px;align-items:center}

body[data-erp-page="purchases/list"] .status {display:inline-block;padding:2px 8px;border-radius:999px;background:#1b1d22}

body[data-erp-page="purchases/list"] .status-yellow {background:rgba(255,205,17,0.2);color:#ffcd11;border:1px solid rgba(255,205,17,0.35)}

body[data-erp-page="purchases/list"] .status-green {background:rgba(27,215,96,0.18);color:#1bd760;border:1px solid rgba(27,215,96,0.35)}

body[data-erp-page="purchases/list"] .num {text-align:right}

body[data-erp-page="purchases/list"] .modal {position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;align-items:center;justify-content:center;z-index:2000}

body[data-erp-page="purchases/list"] .modal.open {display:flex}

body[data-erp-page="purchases/list"] .card {
      width:min(900px,95vw);
      max-height:85vh;
      overflow:auto;
      background:#121317;border:1px solid #202228;border-radius:16px;padding:16px;
      position: relative;
    }

body[data-erp-page="purchases/list"] .card h2 {margin:0 0 6px 0}

body[data-erp-page="purchases/list"] .close {margin-left:auto}

body[data-erp-page="purchases/list"] .grid {display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;margin-bottom:10px}

body[data-erp-page="purchases/list"] .grid div {color:#a0a0a7}

body[data-erp-page="purchases/list"] .row {display:flex;gap:8px;align-items:center;flex-wrap:wrap}

body[data-erp-page="purchases/list"] .modal-actions {display:flex;flex-direction:column;gap:8px;margin:6px 0 10px 0}

body[data-erp-page="purchases/list"] .modal-actions .row {justify-content:flex-end}

body[data-erp-page="purchases/list"] .pill {padding:6px 10px;border-radius:10px;border:1px solid #1f2126;background:#0f1013;display:flex;align-items:center;gap:8px}

body[data-erp-page="purchases/list"] .btn {cursor:pointer}

body[data-erp-page="purchases/list"] .btn.primary {background:#1a5fff;border-color:#2f6dff;color:#fff}

body[data-erp-page="purchases/list"] .btn.ghost {background:#0f1013;border-color:#1f2126}

body[data-erp-page="purchases/list"] .btn.success {background:#2e7d32;border-color:#3d8b40;color:#fff}

body[data-erp-page="purchases/list"] .btn.esd {background:#2f6dff;border-color:#3f7bff;color:#fff}

body[data-erp-page="purchases/list"] .btn.print {background:#145e5e;border-color:#1f7a7a;color:#e7e7ea}

body[data-erp-page="purchases/list"] .btn.edit {background:#3a3f4a;border-color:#4b5160;color:#e7e7ea}

body[data-erp-page="purchases/list"] .btn.split {background:#8a5a00;border-color:#b87700;color:#fff}

body[data-erp-page="purchases/list"] .spacer {flex:1}

body[data-erp-page="purchases/list"] .split-search {
      position:relative;display:flex;align-items:center;
    }

body[data-erp-page="purchases/list"] .split-search input {
      padding-right:28px;min-width:180px
    }

body[data-erp-page="purchases/list"] .split-search .clear-btn {
      position:absolute;right:6px;top:50%;transform:translateY(-50%);
      width:18px;height:18px;border-radius:50%;border:1px solid #2a2d36;
      background:#0f1013;color:#a0a0a7;display:none;align-items:center;justify-content:center;
      padding:0;cursor:pointer;font-size:12px;line-height:1;
    }

body[data-erp-page="purchases/list"] .split-search .clear-btn.show {display:flex}

body[data-erp-page="purchases/list"] .split-actions {display:flex;justify-content:flex-end;gap:8px;margin-top:10px}

body[data-erp-page="purchases/list"] #hotModal .card {
      width:min(1400px,98vw);
      max-height:90vh;
      display:flex;flex-direction:column;overflow:hidden;
    }

body[data-erp-page="purchases/list"] #hot {position:relative;flex:1;min-height:420px;margin-top:10px;width:100%}

body[data-erp-page="purchases/list"] .modal-loader {
      position:absolute;inset:0;display:none;align-items:center;justify-content:center;
      background:rgba(0,0,0,.35);backdrop-filter: blur(2px);
    }

body[data-erp-page="purchases/list"] .modal-loader.show {display:flex}

body[data-erp-page="purchases/list"] .modal-spinner {width:36px;height:36px;border:3px solid #2a2d36;border-top-color:#6aa1ff;border-radius:50%;animation:spin .8s linear infinite}

@keyframes spin {to{transform:rotate(360deg)}}

body[data-erp-page="purchases/list"] .toast {
      position:fixed;left:50%;bottom:24px;transform:translateX(-50%);
      background:#0f1013;border:1px solid #1f2126;color:#e7e7ea;border-radius:10px;padding:8px 12px;z-index:3000;display:none;
    }

body[data-erp-page="purchases/list"] .toast.show {display:block}

body[data-erp-page="purchases/list"] .supplier-input { position:relative; display:inline-block }

body[data-erp-page="purchases/list"] .supplier-dropdown {
      position:absolute; top:100%; left:0; right:0; z-index:1000;
      background:#1a1d23; border:1px solid #2f3340; border-radius:8px;
      max-height:300px; overflow-y:auto; display:none;
      box-shadow:0 4px 12px rgba(0,0,0,0.3);
    }

body[data-erp-page="purchases/list"] .supplier-dropdown.show { display:block }

body[data-erp-page="purchases/list"] .supplier-dropdown .item {
      padding:8px 12px; cursor:pointer; border-bottom:1px solid #2f3340;
      display:flex; align-items:center; gap:8px;
    }

body[data-erp-page="purchases/list"] .supplier-dropdown .item:last-child { border-bottom:none }

body[data-erp-page="purchases/list"] .supplier-dropdown .item:hover, body[data-erp-page="purchases/list"] .supplier-dropdown .item.active {
      background:#2f3340; color:#fff;
    }

body[data-erp-page="purchases/list"] .supplier-dropdown .item[data-empty="1"] {
      color:#666; cursor:default; font-style:italic;
    }

body[data-erp-page="purchases/list"] .supplier-dropdown .item[data-empty="1"]:hover {
      background:transparent;
    }

body[data-erp-page="purchases/list"] #saveProgressModal {position:fixed;inset:0;background:rgba(0,0,0,.7);display:none;align-items:center;justify-content:center;z-index:10000}

body[data-erp-page="purchases/list"] #saveProgressModal.show {display:flex}

body[data-erp-page="purchases/list"] #saveProgressModal .modal-content {max-width:300px;text-align:center;background:#121317;border:1px solid #202228;border-radius:16px;padding:20px}

body[data-erp-page="purchases/list"] .spinner {border:3px solid #f3f3f3;border-top:3px solid #2f6dff;border-radius:50%;width:30px;height:30px;animation:spin 1s linear infinite;margin:0 auto}

body[data-erp-page="purchases/list"] #saveProgressText {margin-top:15px;color:#a0a0a7}

/* ===== Page scoped: purchases/need-to-release.html ===== */
body[data-erp-page="purchases/need-to-release"] {
			--hover: #181a20;
			--bg-light: #1a1c20;
		}

body[data-erp-page="purchases/need-to-release"] .orders-table {
			width: 100%;
			border-collapse: collapse;
			margin-top: 16px;
		}

body[data-erp-page="purchases/need-to-release"] .orders-table th, body[data-erp-page="purchases/need-to-release"] .orders-table td {
			padding: 12px 8px;
			border-bottom: 1px solid var(--border);
			text-align: left;
		}

body[data-erp-page="purchases/need-to-release"] .orders-table th {
			color: var(--muted);
			font-size: 13px;
			font-weight: 600;
		}

body[data-erp-page="purchases/need-to-release"] .orders-table td {
			font-size: 14px;
		}

body[data-erp-page="purchases/need-to-release"] .orders-table tbody tr {
			transition: background-color 0.15s;
		}

body[data-erp-page="purchases/need-to-release"] .orders-table tbody tr:hover {
			background: var(--bg-light);
		}

body[data-erp-page="purchases/need-to-release"] .order-number {
			font-weight: 600;
			color: var(--ink);
		}

body[data-erp-page="purchases/need-to-release"] .order-date {
			color: var(--muted);
			font-size: 13px;
		}

body[data-erp-page="purchases/need-to-release"] .supplier-select, body[data-erp-page="purchases/need-to-release"] .status-select {
			width: 100%;
			min-width: 200px;
			padding: 6px 8px;
			background: var(--panel);
			border: 1px solid var(--border);
			border-radius: 6px;
			color: var(--ink);
			font-size: 14px;
		}

body[data-erp-page="purchases/need-to-release"] .supplier-select:focus, body[data-erp-page="purchases/need-to-release"] .status-select:focus {
			outline: none;
			border-color: var(--primary);
		}

body[data-erp-page="purchases/need-to-release"] .when-released-input {
			width: 100%;
			min-width: 150px;
			padding: 6px 8px;
			background: var(--panel);
			border: 1px solid var(--border);
			border-radius: 6px;
			color: var(--ink);
			font-size: 14px;
		}

body[data-erp-page="purchases/need-to-release"] .when-released-input:focus {
			outline: none;
			border-color: var(--primary);
		}

body[data-erp-page="purchases/need-to-release"] .when-released-input::-webkit-calendar-picker-indicator {
			cursor: pointer;
			filter: invert(1);
			padding: 4px;
			margin-left: 4px;
		}

body[data-erp-page="purchases/need-to-release"] .when-released-input::-moz-calendar-picker-indicator {
			cursor: pointer;
			filter: invert(1);
			padding: 4px;
		}

body[data-erp-page="purchases/need-to-release"] .save-btn {
			padding: 6px 16px;
			background: var(--primary);
			color: white;
			border: none;
			border-radius: 6px;
			cursor: pointer;
			font-size: 14px;
			font-weight: 500;
			transition: background-color 0.15s;
		}

body[data-erp-page="purchases/need-to-release"] .save-btn:hover {
			background: var(--primary-hover, #4a90e2);
		}

body[data-erp-page="purchases/need-to-release"] .save-btn:disabled {
			background: var(--muted);
			cursor: not-allowed;
			opacity: 0.6;
		}

body[data-erp-page="purchases/need-to-release"] .save-btn.saving {
			background: var(--muted);
			cursor: wait;
		}

body[data-erp-page="purchases/need-to-release"] .toolbar {
			display: flex;
			gap: 12px;
			align-items: center;
			margin-bottom: 20px;
			flex-wrap: wrap;
		}

body[data-erp-page="purchases/need-to-release"] .empty-state {
			text-align: center;
			padding: 60px 20px;
			color: var(--muted);
		}

body[data-erp-page="purchases/need-to-release"] .empty-state-icon {
			font-size: 48px;
			margin-bottom: 16px;
		}

body[data-erp-page="purchases/need-to-release"] .empty-state-text {
			font-size: 18px;
			font-weight: 600;
			margin-bottom: 8px;
		}

body[data-erp-page="purchases/need-to-release"] .empty-state-subtext {
			font-size: 14px;
		}

@media (max-width: 768px) {
body[data-erp-page="purchases/need-to-release"] .toolbar {
				flex-direction: column;
				align-items: stretch;
				gap: 8px;
			}

body[data-erp-page="purchases/need-to-release"] .erp-btn {
				min-height: 44px;
			}

body[data-erp-page="purchases/need-to-release"] .orders-table thead {
				display: none;
			}

body[data-erp-page="purchases/need-to-release"] .orders-table, body[data-erp-page="purchases/need-to-release"] .orders-table tbody, body[data-erp-page="purchases/need-to-release"] .orders-table tr, body[data-erp-page="purchases/need-to-release"] .orders-table td {
				display: block;
				width: 100%;
			}

body[data-erp-page="purchases/need-to-release"] .orders-table tbody tr {
				background: var(--panel);
				border: 1px solid var(--border);
				border-radius: 8px;
				margin-bottom: 12px;
				padding: 12px;
			}

body[data-erp-page="purchases/need-to-release"] .orders-table td {
				padding: 10px 12px;
				display: flex;
				justify-content: space-between;
				align-items: baseline;
				gap: 12px;
			}

body[data-erp-page="purchases/need-to-release"] .orders-table td::before {
				content: attr(data-label);
				color: var(--muted);
				font-size: 12px;
				font-weight: 600;
			}
}

/* ===== Page scoped: purchases/pay-balance.html ===== */
body[data-erp-page="purchases/pay-balance"] .wrap {max-width:none;width:100%;margin:0;padding:0 16px}

body[data-erp-page="purchases/pay-balance"] .toolbar {display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;align-items:center}

body[data-erp-page="purchases/pay-balance"] input, body[data-erp-page="purchases/pay-balance"] select, body[data-erp-page="purchases/pay-balance"] button {
      background:#111216;color:#e7e7ea;border:1px solid #1f2126;border-radius:10px;padding:8px 10px
    }

body[data-erp-page="purchases/pay-balance"] .muted {color:#a0a0a7}

body[data-erp-page="purchases/pay-balance"] .spacer {flex:1}

body[data-erp-page="purchases/pay-balance"] .pager {display:flex;gap:8px;align-items:center}

body[data-erp-page="purchases/pay-balance"] .table {width:100%;border-collapse:collapse;background:#121317;border:1px solid #202228;border-radius:12px;overflow:hidden;table-layout:auto}

body[data-erp-page="purchases/pay-balance"] .table th, body[data-erp-page="purchases/pay-balance"] .table td {padding:10px;border-bottom:1px solid #202228;text-align:left;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

body[data-erp-page="purchases/pay-balance"] .table th {background:#0f1013;position:sticky;top:0;z-index:1}

body[data-erp-page="purchases/pay-balance"] tbody tr:hover {background:#16181d;cursor:pointer}

body[data-erp-page="purchases/pay-balance"] .num {text-align:right}

body[data-erp-page="purchases/pay-balance"] .status {display:inline-block;padding:2px 8px;border-radius:999px;background:#1b1d22}

body[data-erp-page="purchases/pay-balance"] .status-yellow {background:rgba(255,205,17,0.2);color:#ffcd11;border:1px solid rgba(255,205,17,0.35)}

body[data-erp-page="purchases/pay-balance"] .status-green {background:rgba(27,215,96,0.18);color:#1bd760;border:1px solid rgba(27,215,96,0.35)}

body[data-erp-page="purchases/pay-balance"] .modal {position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;align-items:center;justify-content:center;z-index:3000}

body[data-erp-page="purchases/pay-balance"] .modal.open {display:flex}

body[data-erp-page="purchases/pay-balance"] .card {
      width:min(900px,95vw);
      max-height:85vh;
      overflow:auto;
      background:#121317;border:1px solid #202228;border-radius:16px;padding:16px;
    }

body[data-erp-page="purchases/pay-balance"] .row {display:flex;gap:8px;align-items:center;flex-wrap:wrap}

body[data-erp-page="purchases/pay-balance"] .row .spacer {flex:1}

body[data-erp-page="purchases/pay-balance"] .btn {cursor:pointer}

body[data-erp-page="purchases/pay-balance"] .result-table {width:100%;border-collapse:collapse;margin-top:12px}

body[data-erp-page="purchases/pay-balance"] .result-table th, body[data-erp-page="purchases/pay-balance"] .result-table td {padding:8px;border-bottom:1px solid #202228;text-align:left;font-size:13px}

body[data-erp-page="purchases/pay-balance"] .result-table th {color:#a0a0a7}

/* ===== Page scoped: purchases/release-order.html ===== */
body[data-erp-page="purchases/release-order"] {
			--hover: #181a20;
			--bg-light: #1a1c20;
		}

body[data-erp-page="purchases/release-order"] .invoices-table {
			width: 100%;
			border-collapse: collapse;
			margin-top: 16px;
		}

body[data-erp-page="purchases/release-order"] .invoices-table th, body[data-erp-page="purchases/release-order"] .invoices-table td {
			padding: 12px 8px;
			border-bottom: 1px solid var(--border);
			text-align: left;
		}

body[data-erp-page="purchases/release-order"] .invoices-table th {
			color: var(--muted);
			font-size: 13px;
			font-weight: 600;
		}

body[data-erp-page="purchases/release-order"] .invoices-table td {
			font-size: 14px;
		}

body[data-erp-page="purchases/release-order"] .invoices-table tbody tr {
			cursor: pointer;
			transition: background-color 0.15s;
		}

body[data-erp-page="purchases/release-order"] .invoices-table tbody tr:hover {
			background: var(--bg-light);
		}

body[data-erp-page="purchases/release-order"] .invoice-number {
			font-weight: 600;
			color: var(--ink);
		}

body[data-erp-page="purchases/release-order"] .invoice-date {
			color: var(--muted);
			font-size: 13px;
		}

body[data-erp-page="purchases/release-order"] .customer-order-number {
			font-weight: 500;
			color: var(--ink);
		}

body[data-erp-page="purchases/release-order"] .customer-name {
			font-weight: 500;
		}

body[data-erp-page="purchases/release-order"] .total-sum {
			font-weight: 600;
			text-align: right;
		}

body[data-erp-page="purchases/release-order"] .cust-ref {
			color: var(--muted);
			font-size: 13px;
		}

body[data-erp-page="purchases/release-order"] .toolbar {
			display: flex;
			gap: 12px;
			align-items: center;
			margin-bottom: 20px;
			flex-wrap: wrap;
		}

body[data-erp-page="purchases/release-order"] .empty-state {
			text-align: center;
			padding: 60px 20px;
			color: var(--muted);
		}

body[data-erp-page="purchases/release-order"] .empty-state-icon {
			font-size: 48px;
			margin-bottom: 16px;
		}

body[data-erp-page="purchases/release-order"] .empty-state-text {
			font-size: 18px;
			font-weight: 600;
			margin-bottom: 8px;
		}

body[data-erp-page="purchases/release-order"] .empty-state-subtext {
			font-size: 14px;
		}

body[data-erp-page="purchases/release-order"] .confirm-modal {
			position: fixed;
			top: 0;
			left: 0;
			right: 0;
			bottom: 0;
			background: rgba(0, 0, 0, 0.7);
			display: none;
			align-items: center;
			justify-content: center;
			z-index: 10001;
		}

body[data-erp-page="purchases/release-order"] .confirm-modal.show {
			display: flex;
		}

body[data-erp-page="purchases/release-order"] .confirm-modal-content {
			background: #121317;
			border: 1px solid #202228;
			border-radius: 16px;
			padding: 24px;
			text-align: center;
			min-width: 300px;
			max-width: 400px;
		}

body[data-erp-page="purchases/release-order"] .confirm-modal-content h3 {
			margin: 0 0 16px 0;
			color: #e7e7ea;
			font-size: 18px;
		}

body[data-erp-page="purchases/release-order"] .confirm-modal-content p {
			margin: 0 0 20px 0;
			color: #a0a0a7;
			font-size: 14px;
		}

body[data-erp-page="purchases/release-order"] .confirm-modal-buttons {
			display: flex;
			gap: 12px;
			justify-content: center;
		}

body[data-erp-page="purchases/release-order"] .confirm-modal-buttons button {
			min-width: 100px;
		}

body[data-erp-page="purchases/release-order"] .loading-overlay {
			position: fixed;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background: rgba(0, 0, 0, 0.7);
			display: none;
			align-items: center;
			justify-content: center;
			z-index: 10002;
		}

body[data-erp-page="purchases/release-order"] .loading-overlay.show {
			display: flex;
		}

body[data-erp-page="purchases/release-order"] .loading-card {
			background: #121317;
			border: 1px solid #202228;
			border-radius: 16px;
			padding: 24px 28px;
			text-align: center;
			min-width: 280px;
		}

body[data-erp-page="purchases/release-order"] .loading-title {
			color: #e7e7ea;
			font-size: 16px;
			font-weight: 600;
			margin-bottom: 14px;
		}

body[data-erp-page="purchases/release-order"] .loading-spinner {
			border: 4px solid rgba(255, 205, 17, 0.1);
			border-top: 4px solid var(--primary);
			border-radius: 50%;
			width: 40px;
			height: 40px;
			animation: spin 1s linear infinite;
			margin: 0 auto;
		}

@keyframes spin {
			0% { transform: rotate(0deg); }
			100% { transform: rotate(360deg); }
		}

@media (max-width: 768px) {
body[data-erp-page="purchases/release-order"] .toolbar {
				flex-direction: column;
				align-items: stretch;
				gap: 8px;
			}

body[data-erp-page="purchases/release-order"] .erp-btn {
				min-height: 44px;
			}

body[data-erp-page="purchases/release-order"] .invoices-table thead {
				display: none;
			}

body[data-erp-page="purchases/release-order"] .invoices-table, body[data-erp-page="purchases/release-order"] .invoices-table tbody, body[data-erp-page="purchases/release-order"] .invoices-table tr, body[data-erp-page="purchases/release-order"] .invoices-table td {
				display: block;
				width: 100%;
			}

body[data-erp-page="purchases/release-order"] .invoices-table tbody tr {
				background: var(--panel);
				border: 1px solid var(--border);
				border-radius: 8px;
				margin-bottom: 12px;
			}

body[data-erp-page="purchases/release-order"] .invoices-table td {
				padding: 10px 12px;
				display: flex;
				justify-content: space-between;
				align-items: baseline;
				gap: 12px;
			}

body[data-erp-page="purchases/release-order"] .invoices-table td::before {
				content: attr(data-label);
				color: var(--muted);
				font-size: 12px;
				font-weight: 600;
			}

body[data-erp-page="purchases/release-order"] .invoices-table .total-sum {
				text-align: left;
			}
}

/* ===== Page scoped: report/log_analysis.html ===== */
body[data-erp-page="report/log_analysis"] * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

body[data-erp-page="report/log_analysis"] {
            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            padding: 20px;
            min-height: 100vh;
        }

body[data-erp-page="report/log_analysis"] .container {
            max-width: 1400px;
            margin: 0 auto;
            background: white;
            border-radius: 12px;
            box-shadow: 0 20px 60px rgba(0,0,0,0.3);
            overflow: hidden;
        }

body[data-erp-page="report/log_analysis"] .header {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            color: white;
            padding: 30px;
            text-align: center;
        }

body[data-erp-page="report/log_analysis"] .header h1 {
            font-size: 2.5em;
            margin-bottom: 10px;
        }

body[data-erp-page="report/log_analysis"] .header .date {
            opacity: 0.9;
            font-size: 1.1em;
        }

body[data-erp-page="report/log_analysis"] .content {
            padding: 40px;
        }

body[data-erp-page="report/log_analysis"] .section {
            margin-bottom: 40px;
        }

body[data-erp-page="report/log_analysis"] .section-title {
            font-size: 1.8em;
            color: #333;
            margin-bottom: 20px;
            padding-bottom: 10px;
            border-bottom: 3px solid #667eea;
        }

body[data-erp-page="report/log_analysis"] .stats-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 20px;
            margin-bottom: 30px;
        }

body[data-erp-page="report/log_analysis"] .stat-card {
            background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
            padding: 25px;
            border-radius: 10px;
            text-align: center;
            box-shadow: 0 4px 6px rgba(0,0,0,0.1);
            transition: transform 0.3s;
        }

body[data-erp-page="report/log_analysis"] .stat-card:hover {
            transform: translateY(-5px);
        }

body[data-erp-page="report/log_analysis"] .stat-value {
            font-size: 2.5em;
            font-weight: bold;
            color: #667eea;
            margin-bottom: 10px;
        }

body[data-erp-page="report/log_analysis"] .stat-label {
            font-size: 1em;
            color: #666;
            text-transform: uppercase;
            letter-spacing: 1px;
        }

body[data-erp-page="report/log_analysis"] .error-list {
            background: #fff5f5;
            border-left: 4px solid #e53e3e;
            padding: 20px;
            border-radius: 5px;
            margin-top: 20px;
        }

body[data-erp-page="report/log_analysis"] .error-item {
            padding: 15px;
            margin-bottom: 10px;
            background: white;
            border-radius: 5px;
            box-shadow: 0 2px 4px rgba(0,0,0,0.1);
        }

body[data-erp-page="report/log_analysis"] .error-time {
            color: #e53e3e;
            font-weight: bold;
            margin-bottom: 5px;
        }

body[data-erp-page="report/log_analysis"] .error-message {
            color: #333;
            line-height: 1.6;
        }

body[data-erp-page="report/log_analysis"] .warning {
            background: #fffbf0;
            border-left: 4px solid #f6ad55;
            padding: 15px;
            border-radius: 5px;
            margin-top: 20px;
        }

body[data-erp-page="report/log_analysis"] .warning-title {
            color: #c05621;
            font-weight: bold;
            margin-bottom: 10px;
        }

body[data-erp-page="report/log_analysis"] .table {
            width: 100%;
            border-collapse: collapse;
            margin-top: 20px;
            background: white;
            box-shadow: 0 2px 4px rgba(0,0,0,0.1);
        }

body[data-erp-page="report/log_analysis"] .table th {
            background: #667eea;
            color: white;
            padding: 15px;
            text-align: left;
            font-weight: 600;
        }

body[data-erp-page="report/log_analysis"] .table td {
            padding: 12px 15px;
            border-bottom: 1px solid #e2e8f0;
        }

body[data-erp-page="report/log_analysis"] .table tr:hover {
            background: #f7fafc;
        }

body[data-erp-page="report/log_analysis"] .badge {
            display: inline-block;
            padding: 4px 12px;
            border-radius: 20px;
            font-size: 0.85em;
            font-weight: 600;
        }

body[data-erp-page="report/log_analysis"] .badge-error {
            background: #fed7d7;
            color: #c53030;
        }

body[data-erp-page="report/log_analysis"] .badge-warning {
            background: #feebc8;
            color: #c05621;
        }

body[data-erp-page="report/log_analysis"] .badge-success {
            background: #c6f6d5;
            color: #22543d;
        }

body[data-erp-page="report/log_analysis"] .badge-info {
            background: #bee3f8;
            color: #2c5282;
        }

body[data-erp-page="report/log_analysis"] .error-category {
            margin-bottom: 20px;
        }

body[data-erp-page="report/log_analysis"] .error-category-title {
            font-weight: bold;
            font-size: 1.2em;
            color: #333;
            margin-bottom: 10px;
        }

/* ===== Page scoped: sales/create.html ===== */
body[data-erp-page="sales/create"] .wrap {max-width:1200px;margin:24px auto;padding:0 16px}

body[data-erp-page="sales/create"] .form-grid {display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}

body[data-erp-page="sales/create"] .form-group {display:flex;flex-direction:column;gap:6px}

body[data-erp-page="sales/create"] label {font-weight:500;color:#e7e7ea}

body[data-erp-page="sales/create"] input, body[data-erp-page="sales/create"] select, body[data-erp-page="sales/create"] button {
      background:#111216;color:#e7e7ea;border:1px solid #1f2126;border-radius:10px;padding:8px 10px
    }

body[data-erp-page="sales/create"] .btn {cursor:pointer}

body[data-erp-page="sales/create"] .btn.primary {background:#1a5fff;border-color:#2f6dff;color:#fff}

body[data-erp-page="sales/create"] .btn.ghost {background:#0f1013;border-color:#1f2126}

body[data-erp-page="sales/create"] #hot {height:400px;margin:20px 0;width:100%}

body[data-erp-page="sales/create"] .toolbar {display:flex;justify-content:flex-end;margin-bottom:12px}

body[data-erp-page="sales/create"] .toast {
      position:fixed;left:50%;bottom:24px;transform:translateX(-50%);
      background:#0f1013;border:1px solid #1f2126;color:#e7e7ea;border-radius:10px;padding:8px 12px;z-index:3000;display:none;
    }

body[data-erp-page="sales/create"] .toast.show {display:block}

body[data-erp-page="sales/create"] .searchable-select {
      position: relative;
    }

body[data-erp-page="sales/create"] .searchable-select input {
      width: 100%;
      box-sizing: border-box;
    }

body[data-erp-page="sales/create"] .searchable-select .options {
      position: absolute;
      top: 100%;
      left: 0;
      right: 0;
      background: #121317;
      border: 1px solid #202228;
      border-top: none;
      border-radius: 0 0 10px 10px;
      max-height: 200px;
      overflow-y: auto;
      z-index: 1000;
      display: none;
    }

body[data-erp-page="sales/create"] .searchable-select .options.show {
      display: block;
    }

body[data-erp-page="sales/create"] .searchable-select .option {
      padding: 8px 10px;
      cursor: pointer;
    }

body[data-erp-page="sales/create"] .searchable-select .option:hover {
      background: #16181d;
    }

body[data-erp-page="sales/create"] .save-overlay {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: rgba(0, 0, 0, 0.7);
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 10000;
      display: none;
    }

body[data-erp-page="sales/create"] .save-overlay.show {
      display: flex;
    }

body[data-erp-page="sales/create"] .save-overlay-content {
      background: #121317;
      border: 1px solid #202228;
      border-radius: 16px;
      padding: 20px;
      text-align: center;
      min-width: 200px;
    }

body[data-erp-page="sales/create"] .save-spinner {
      border: 3px solid #2a2d36;
      border-top: 3px solid #6aa1ff;
      border-radius: 50%;
      width: 30px;
      height: 30px;
      animation: spin 1s linear infinite;
      margin: 0 auto 15px;
    }

@keyframes spin {
      0% { transform: rotate(0deg); }
      100% { transform: rotate(360deg); }
    }

body[data-erp-page="sales/create"] .save-text {
      color: #e7e7ea;
      font-size: 14px;
    }

body[data-erp-page="sales/create"] .confirm-modal {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: rgba(0, 0, 0, 0.7);
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 10001;
      display: none;
    }

body[data-erp-page="sales/create"] .confirm-modal.show {
      display: flex;
    }

body[data-erp-page="sales/create"] .confirm-modal-content {
      background: #121317;
      border: 1px solid #202228;
      border-radius: 16px;
      padding: 24px;
      text-align: center;
      min-width: 300px;
      max-width: 400px;
    }

body[data-erp-page="sales/create"] .confirm-modal-content h3 {
      margin: 0 0 16px 0;
      color: #e7e7ea;
      font-size: 18px;
    }

body[data-erp-page="sales/create"] .confirm-modal-content p {
      margin: 0 0 20px 0;
      color: #a0a0a7;
      font-size: 14px;
    }

body[data-erp-page="sales/create"] .confirm-modal-buttons {
      display: flex;
      gap: 12px;
      justify-content: center;
    }

body[data-erp-page="sales/create"] .confirm-modal-buttons button {
      min-width: 100px;
    }

body[data-erp-page="sales/create"] .checkbox-group {
      justify-content: flex-end;
    }

body[data-erp-page="sales/create"] .checkbox-row {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      min-height: 38px;
      padding: 8px 10px;
      border: 1px solid #1f2126;
      border-radius: 10px;
      background: #111216;
      width: fit-content;
    }

body[data-erp-page="sales/create"] .checkbox-row input[type=checkbox] {
      width: 16px;
      height: 16px;
      margin: 0;
      accent-color: #2f6dff;
      cursor: pointer;
    }

body[data-erp-page="sales/create"] .checkbox-row span {
      color: #e7e7ea;
      font-size: 13px;
      letter-spacing: .2px;
      user-select: none;
    }

/* ===== Page scoped: sales/esd.html ===== */
body[data-erp-page="sales/esd"] {
			--hover: #181a20;
			--bg-light: #1a1c20;
		}

body[data-erp-page="sales/esd"] .erp-page {
			padding: 24px;
			max-width: 100%;
			margin: 0 auto;
			width: 100%;
		}

body[data-erp-page="sales/esd"] .erp-card {
				background: var(--panel);
				border: 1px solid var(--border);
				border-radius: 12px;
				padding: 24px;
				position: relative;
			}

body[data-erp-page="sales/esd"] .erp-h1 {
			margin: 0 0 24px 0;
			color: var(--ink);
			font-size: 24px;
			font-weight: 600;
		}

body[data-erp-page="sales/esd"] .toolbar {
			display: flex;
			gap: 12px;
			align-items: center;
			margin-bottom: 20px;
			flex-wrap: wrap;
		}

body[data-erp-page="sales/esd"] .empty-state {
			text-align: center;
			padding: 60px 20px;
			color: var(--muted);
		}

body[data-erp-page="sales/esd"] .empty-state-icon {
			font-size: 48px;
			margin-bottom: 16px;
		}

body[data-erp-page="sales/esd"] .empty-state-text {
			font-size: 18px;
			font-weight: 600;
			margin-bottom: 8px;
		}

body[data-erp-page="sales/esd"] .empty-state-subtext {
			font-size: 14px;
		}

body[data-erp-page="sales/esd"] .loading {
			text-align: center;
			padding: 40px;
			color: var(--muted);
		}

body[data-erp-page="sales/esd"] .esd-table {
			width: 100%;
			border-collapse: collapse;
			border: 1px solid var(--border);
		}

body[data-erp-page="sales/esd"] .esd-table th, body[data-erp-page="sales/esd"] .esd-table td {
			padding: 12px;
			text-align: left;
			border: 1px solid var(--border);
		}

body[data-erp-page="sales/esd"] .esd-table thead tr {
			background: var(--hover);
		}

body[data-erp-page="sales/esd"] .esd-table tbody tr.order-header-row td {
			font-weight: bold;
			background: var(--hover);
		}

body[data-erp-page="sales/esd"] .esd-table tbody tr.empty-row td {
			text-align: center;
		}

@media (max-width: 768px) {
body[data-erp-page="sales/esd"] .erp-page {
				padding: 16px;
			}
}

/* ===== Page scoped: sales/list.html ===== */
body[data-erp-page="sales/list"] .wrap {max-width:1200px;margin:24px auto;padding:0 16px}

body[data-erp-page="sales/list"] .wrap {
      max-width: none !important;
      width: 100% !important;
      margin: 0 !important;
      padding: 0 !important;
    }

body[data-erp-page="sales/list"] .toolbar {display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}

body[data-erp-page="sales/list"] input, body[data-erp-page="sales/list"] select, body[data-erp-page="sales/list"] button {
      background:#111216;color:#e7e7ea;border:1px solid #1f2126;border-radius:10px;padding:8px 10px
    }

body[data-erp-page="sales/list"] table {width:100%;border-collapse:collapse;background:#121317;border:1px solid #202228;border-radius:12px;overflow:hidden}

body[data-erp-page="sales/list"] th, body[data-erp-page="sales/list"] td {padding:10px;border-bottom:1px solid #202228;text-align:left;font-size:13px}

body[data-erp-page="sales/list"] th {background:#0f1013;position:sticky;top:0;z-index:1}

body[data-erp-page="sales/list"] tbody tr:hover {background:#16181d;cursor:pointer}

body[data-erp-page="sales/list"] .muted {color:#a0a0a7}

body[data-erp-page="sales/list"] .right {display:flex;gap:8px;margin-left:auto}

body[data-erp-page="sales/list"] .pager {display:flex;gap:8px;align-items:center}

body[data-erp-page="sales/list"] .status {display:inline-block;padding:2px 8px;border-radius:999px;background:#1b1d22}

body[data-erp-page="sales/list"] .status-new {background:#3a2c12;color:#e68116;border:1px solid #6a4a16}

body[data-erp-page="sales/list"] .status-updated {background:#3a2c12;color:#e68116;border:1px solid #6a4a16}

body[data-erp-page="sales/list"] .status-quotation-in-process {background:#1b1d22;color:#999999;border:1px solid #2a2d36}

body[data-erp-page="sales/list"] .status-ready-to-be-uploaded {background:#1b1d22;color:#999999;border:1px solid #2a2d36}

body[data-erp-page="sales/list"] .status-order-released {background:#3a2f12;color:#bdae00;border:1px solid #6a5316}

body[data-erp-page="sales/list"] .status-partially-arrived {background:#14243a;color:#85c6de;border:1px solid #1f4c7a}

body[data-erp-page="sales/list"] .status-arrived {background:#112836;color:#009fe3;border:1px solid #1b5f7a}

body[data-erp-page="sales/list"] .status-quoted {background:#15331f;color:#008739;border:1px solid #1f5c33}

body[data-erp-page="sales/list"] .status-shipped {background:#15331f;color:#008739;border:1px solid #1f5c33}

body[data-erp-page="sales/list"] .status-cancelled {background:#3a1414;color:#e92919;border:1px solid #7a1f1f}

body[data-erp-page="sales/list"] .status-cant-be-offered {background:#3a1414;color:#e92919;border:1px solid #7a1f1f}

body[data-erp-page="sales/list"] .status-need-to-check {background:#2b1b3a;color:#a466bd;border:1px solid #4c2a6a}

body[data-erp-page="sales/list"] .status-unknown {background:#1b1d22;color:#c0c0c7;border:1px solid #2a2d36}

body[data-erp-page="sales/list"] .num {text-align:right}

body[data-erp-page="sales/list"] .htHidden { display: none !important; }

body[data-erp-page="sales/list"] .handsontable td {
      background-color: #ffffff !important;
      color: #000000 !important;
    }

body[data-erp-page="sales/list"] .handsontable th {
      background-color: #f5f5f5 !important;
      color: #000000 !important;
    }

body[data-erp-page="sales/list"] .htDimmed {
      background-color: #f0f0f0 !important;
      color: #666666 !important;
    }

body[data-erp-page="sales/list"] .htContextMenu {
      z-index: 3000 !important;
    }

body[data-erp-page="sales/list"] .htBrandDropdown + .htDropdownMenu, body[data-erp-page="sales/list"] .handsontable .htBrandDropdown ~ .htDropdownMenu {
      right: 0 !important;
      left: auto !important;
    }

body[data-erp-page="sales/list"] .handsontable .htDropdownMenu.htBrandDropdownMenu {
      right: 0 !important;
      left: auto !important;
    }

body[data-erp-page="sales/list"] #hot {
      width: 100%;
      height: 500px;
      overflow: hidden;
    }

body[data-erp-page="sales/list"] .handsontable table {
      background: transparent !important;
      border: none !important;
      border-radius: 0 !important;
    }

body[data-erp-page="sales/list"] .handsontable th, body[data-erp-page="sales/list"] .handsontable td {
      position: static !important;
      z-index: auto !important;
    }

body[data-erp-page="sales/list"] .handsontable .htDropdownMenu.htBrandDropdownMenu {
      right: 0 !important;
      left: auto !important;
    }

body[data-erp-page="sales/list"] .modal {position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;align-items:center;justify-content:center;z-index:2000}

body[data-erp-page="sales/list"] .modal.open {display:flex}

body[data-erp-page="sales/list"] .card {
      width:min(900px,95vw);
      max-height:85vh;
      overflow:auto;
      background:#121317;border:1px solid #202228;border-radius:16px;padding:16px;
      position: relative; 
    }

body[data-erp-page="sales/list"] .card h2 {margin:0 0 6px 0}

body[data-erp-page="sales/list"] .close {margin-left:auto}

body[data-erp-page="sales/list"] .grid {display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;margin-bottom:10px}

body[data-erp-page="sales/list"] .grid div {color:#a0a0a7}

body[data-erp-page="sales/list"] .row {display:flex;gap:8px;align-items:center;flex-wrap:wrap}

body[data-erp-page="sales/list"] .pill {padding:6px 10px;border-radius:10px;border:1px solid #1f2126;background:#0f1013;display:flex;align-items:center;gap:8px}

body[data-erp-page="sales/list"] .btn {cursor:pointer}

body[data-erp-page="sales/list"] .btn.primary {background:#1a5fff;border-color:#2f6dff;color:#fff}

body[data-erp-page="sales/list"] .btn.ghost {background:#0f1013;border-color:#1f2126}

body[data-erp-page="sales/list"] .btn.success {background:#2e7d32;border-color:#3d8b40;color:#fff}

body[data-erp-page="sales/list"] .spacer {flex:1}

body[data-erp-page="sales/list"] #hotModal .card {
      width:min(1400px,98vw);
      max-height:90vh;
      display:flex;
      flex-direction:column;
      overflow:hidden;
    }

body[data-erp-page="sales/list"] #hotModal .row {flex-wrap:wrap}

body[data-erp-page="sales/list"] #hotModal .card > .row:first-child {
      flex-wrap: nowrap;
      min-width: 0;
    }

body[data-erp-page="sales/list"] #hotModal .card > .row:first-child h2 {
      min-width: 0;
      max-width: 100%;
      margin: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

body[data-erp-page="sales/list"] #hot {
      position:relative;
      flex:1 1 auto;
      min-height:320px;
      margin-top:10px;
      width:100%;
      max-width:100%;
      min-width:0;
      box-sizing:border-box;
      border:1px solid #cfd6e2;
      border-radius:16px;
      overflow:hidden;
      background:#f8fafc;
    }

body[data-erp-page="sales/list"] #hot .handsontable {
      height:100%;
    }

body[data-erp-page="sales/list"] #hot .handsontable td {
      background:#fff !important;
      color:#111827 !important;
      border-color:#d9dee8 !important;
      font-size:12px;
      line-height:1.28;
    }

body[data-erp-page="sales/list"] #hot .handsontable th {
      background:#e5e9f0 !important;
      color:#374151 !important;
      border-color:#cfd6e2 !important;
      font-size:11px;
      font-weight:800;
      letter-spacing:0;
    }

body[data-erp-page="sales/list"] #hot .handsontable td.htDimmed,
body[data-erp-page="sales/list"] #hot .handsontable th.htDimmed {
      background:#eef2f7 !important;
      color:#4b5563 !important;
    }

body[data-erp-page="sales/list"] #hot .wtHolder {
      background:#f8fafc;
      overflow-x:hidden !important;
      overscroll-behavior:contain;
      scrollbar-gutter:stable;
    }

body[data-erp-page="sales/list"] #hot .wtHider {
      background:#f8fafc;
      padding-bottom:0;
      box-sizing:content-box;
    }

body[data-erp-page="sales/list"] .ui-overlay {
      position: fixed;
      inset: 0;
      display: none;
      align-items: center;
      justify-content: center;
      background: rgba(0, 0, 0, 0.62);
      backdrop-filter: blur(2px);
      z-index: 10000;
    }

body[data-erp-page="sales/list"] .ui-overlay.show { display: flex; }

body[data-erp-page="sales/list"] .ui-overlay.local {
      position: absolute;
      z-index: 20;
      background: rgba(0, 0, 0, 0.35);
    }

body[data-erp-page="sales/list"] .ui-overlay-card {
      background: #121317;
      border: 1px solid #202228;
      border-radius: 16px;
      padding: 20px;
      text-align: center;
      max-width: 320px;
      width: min(92vw, 320px);
      box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
    }

body[data-erp-page="sales/list"] .ui-overlay-title {
      margin: 0 0 12px 0;
      color: #e7e7ea;
      font-size: 16px;
      font-weight: 600;
    }

body[data-erp-page="sales/list"] .ui-overlay-text {
      margin: 12px 0 0;
      color: #a0a0a7;
    }

body[data-erp-page="sales/list"] .ui-overlay-spinner {
      width: 30px;
      height: 30px;
      border: 3px solid #2a2d36;
      border-top-color: #2f6dff;
      border-radius: 50%;
      animation: spin 1s linear infinite;
      margin: 0 auto;
    }

@keyframes spin {to{transform:rotate(360deg)}}

body[data-erp-page="sales/list"] .toast {
      position: fixed;
      top: 50%;
      left: 50%;
      transform: translate(-50%,-50%);
      background:#0f1013;
      border:1px solid #1f2126;
      color:#e7e7ea;
      border-radius:12px;
      padding:12px 16px;
      z-index: 3000;
      box-shadow: 0 12px 32px rgba(0,0,0,.45);
      max-width: 80vw;
      text-align: center;

      
      opacity: 0;
      visibility: hidden;
      transition: opacity .18s ease-out, visibility 0s linear .18s;
    }

body[data-erp-page="sales/list"] .toast.show {
      opacity: 1;
      visibility: visible;
      transition: opacity .18s ease-out;
    }

/* ===== Page scoped: settings/audit-shipment.html ===== */
body[data-erp-page="settings/audit-shipment"] {color-scheme:dark;}

body[data-erp-page="settings/audit-shipment"] {background:#0e0f12;}

body[data-erp-page="settings/audit-shipment"] .settings-wrap {max-width:1200px;margin:32px auto;padding:0 16px;color:#e7e7ea;font-family:system-ui,Segoe UI,Roboto,Arial,sans-serif;}

body[data-erp-page="settings/audit-shipment"] .settings-card {background:#151618;border:1px solid #202228;border-radius:16px;padding:24px;box-shadow:0 18px 42px rgba(0,0,0,.45);display:flex;flex-direction:column;gap:20px;}

body[data-erp-page="settings/audit-shipment"] h1 {margin:0;font-size:26px;font-weight:800;}

body[data-erp-page="settings/audit-shipment"] .muted {color:#a0a0a7;font-size:14px;}

body[data-erp-page="settings/audit-shipment"] .field-row {display:flex;gap:12px;flex-wrap:wrap;align-items:center;}

body[data-erp-page="settings/audit-shipment"] .id-input {flex:1;min-width:280px;padding:12px 14px;border-radius:12px;border:1px solid #2a2c33;background:#0f1013;color:#e7e7ea;font-size:14px;}

body[data-erp-page="settings/audit-shipment"] .id-input:focus {outline:2px solid #ffd454;border-color:#ffd454;}

body[data-erp-page="settings/audit-shipment"] .action-btn {padding:12px 18px;border-radius:12px;border:0;cursor:pointer;font-weight:700;background:#ffd454;color:#141517;transition:opacity 0.2s;}

body[data-erp-page="settings/audit-shipment"] .action-btn:hover {opacity:.9;}

body[data-erp-page="settings/audit-shipment"] .action-btn:disabled {opacity:.6;cursor:not-allowed;}

body[data-erp-page="settings/audit-shipment"] .error-message {color:#ff7a7a;padding:12px 16px;border-radius:12px;background:#3c1414;border:1px solid #7a2a2a;min-height:18px;display:none;}

body[data-erp-page="settings/audit-shipment"] .loading {color:#a0a0a7;padding:12px 16px;text-align:center;display:none;}

body[data-erp-page="settings/audit-shipment"] .result-summary {display:grid;gap:8px;color:#c5c7cf;font-size:14px;}

body[data-erp-page="settings/audit-shipment"] .result-summary strong {color:#f0f1f5;font-weight:600;}

body[data-erp-page="settings/audit-shipment"] .modal-backdrop {position:fixed;inset:0;background:rgba(5,6,10,.72);display:none;align-items:center;justify-content:center;z-index:999;}

body[data-erp-page="settings/audit-shipment"] .modal {width:min(980px,92vw);max-height:86vh;background:#121316;border:1px solid #252730;border-radius:16px;box-shadow:0 24px 60px rgba(0,0,0,.6);display:flex;flex-direction:column;overflow:hidden;}

body[data-erp-page="settings/audit-shipment"] .modal-header {display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid #22242b;}

body[data-erp-page="settings/audit-shipment"] .modal-title {font-size:18px;font-weight:700;color:#f0f1f5;}

body[data-erp-page="settings/audit-shipment"] .modal-close {background:transparent;border:0;color:#cfd2da;font-size:18px;cursor:pointer;padding:6px 8px;border-radius:10px;}

body[data-erp-page="settings/audit-shipment"] .modal-close:hover {background:#1f2128;}

body[data-erp-page="settings/audit-shipment"] .modal-body {padding:18px 22px;overflow:auto;display:grid;gap:16px;}

body[data-erp-page="settings/audit-shipment"] .audit-section {display:grid;gap:10px;}

body[data-erp-page="settings/audit-shipment"] .audit-section h3 {margin:0;font-size:16px;color:#f0f1f5;}

body[data-erp-page="settings/audit-shipment"] .audit-list {border:1px solid #23252b;border-radius:12px;background:#0f1013;padding:10px;display:grid;gap:8px;}

body[data-erp-page="settings/audit-shipment"] .audit-pill {display:inline-flex;gap:8px;align-items:center;border-radius:999px;background:#22252c;color:#ffd454;font-size:11px;font-weight:700;padding:2px 8px;text-transform:uppercase;}

body[data-erp-page="settings/audit-shipment"] .audit-row {display:grid;gap:6px;padding:8px;border-bottom:1px solid #1f2128;}

body[data-erp-page="settings/audit-shipment"] .audit-row:last-child {border-bottom:none;}

body[data-erp-page="settings/audit-shipment"] .audit-subtitle {font-size:12px;color:#8b909a;}

body[data-erp-page="settings/audit-shipment"] .audit-ids {font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;white-space:pre-wrap;word-break:break-all;color:#cbd0da;}

body[data-erp-page="settings/audit-shipment"] .audit-table-simple {width:100%;border-collapse:collapse;font-size:13px;}

body[data-erp-page="settings/audit-shipment"] .audit-table-simple th, body[data-erp-page="settings/audit-shipment"] .audit-table-simple td {padding:10px 12px;border-bottom:1px solid #22242b;text-align:left;vertical-align:top;}

body[data-erp-page="settings/audit-shipment"] .audit-table-simple th {color:#9ea2ad;font-weight:600;background:#0f1013;position:sticky;top:0;z-index:1;}

body[data-erp-page="settings/audit-shipment"] .diff-pos {color:#7aff7a;font-weight:600;}

body[data-erp-page="settings/audit-shipment"] .diff-neg {color:#ff7a7a;font-weight:600;}

body[data-erp-page="settings/audit-shipment"] .diff-zero {color:#a0a0a7;}

body[data-erp-page="settings/audit-shipment"] .audit-table {width:100%;border-collapse:collapse;font-size:13px;}

body[data-erp-page="settings/audit-shipment"] .audit-table th, body[data-erp-page="settings/audit-shipment"] .audit-table td {padding:10px 12px;border-bottom:1px solid #22242b;text-align:left;vertical-align:top;}

body[data-erp-page="settings/audit-shipment"] .audit-table th {color:#9ea2ad;font-weight:600;background:#0f1013;position:sticky;top:0;z-index:1;}

body[data-erp-page="settings/audit-shipment"] .audit-tag {display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:999px;background:#22252c;color:#ffd454;font-size:11px;font-weight:700;text-transform:uppercase;}

body[data-erp-page="settings/audit-shipment"] .audit-empty {padding:20px;text-align:center;color:#9ea2ad;border:1px dashed #2b2e36;border-radius:12px;background:#101215;}

body[data-erp-page="settings/audit-shipment"] .audit-value {white-space:pre-wrap;word-break:break-all;color:#e7e7ea;}

body[data-erp-page="settings/audit-shipment"] details.audit-details {border:1px solid #23252b;border-radius:10px;padding:8px;background:#0f1013;}

body[data-erp-page="settings/audit-shipment"] details.audit-details summary {cursor:pointer;color:#c5c7cf;font-weight:600;}

body[data-erp-page="settings/audit-shipment"] details.audit-details pre {margin:8px 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;white-space:pre-wrap;word-break:break-all;}

body[data-erp-page="settings/audit-shipment"] .section-grid {display:grid;gap:16px;}

body[data-erp-page="settings/audit-shipment"] .section-card {border:1px solid #23252b;border-radius:14px;padding:16px;background:#101215;display:grid;gap:12px;}

body[data-erp-page="settings/audit-shipment"] .section-actions {display:flex;gap:10px;flex-wrap:wrap;align-items:center;}

body[data-erp-page="settings/audit-shipment"] .section-actions .action-btn {min-width:180px;}

@media (max-width:720px) {
body[data-erp-page="settings/audit-shipment"] .modal {width:94vw;}

body[data-erp-page="settings/audit-shipment"] .audit-table th, body[data-erp-page="settings/audit-shipment"] .audit-table td {padding:8px;}
}

/* ===== Page scoped: settings/brands-lib.html ===== */
body[data-erp-page="settings/brands-lib"] .settings-wrap {max-width:1100px;margin:32px auto;padding:0 16px;color:#e7e7ea;font-family:system-ui,Segoe UI,Roboto,Arial,sans-serif;}

body[data-erp-page="settings/brands-lib"] .settings-card {background:#151618;border:1px solid #202228;border-radius:16px;padding:24px;box-shadow:0 18px 42px rgba(0,0,0,.45);display:flex;flex-direction:column;gap:24px;}

body[data-erp-page="settings/brands-lib"] h1 {margin:0;font-size:26px;font-weight:800;}

body[data-erp-page="settings/brands-lib"] h2 {margin:0;font-size:20px;font-weight:700;}

body[data-erp-page="settings/brands-lib"] .muted {color:#a0a0a7;font-size:14px;}

body[data-erp-page="settings/brands-lib"] .settings-actions {display:flex;flex-wrap:wrap;gap:12px;align-items:center;}

body[data-erp-page="settings/brands-lib"] .settings-actions button {padding:12px 18px;border-radius:12px;border:0;cursor:pointer;font-weight:700;background:#ffd454;color:#141517;}

body[data-erp-page="settings/brands-lib"] .settings-actions button[disabled] {opacity:.6;cursor:not-allowed;}

body[data-erp-page="settings/brands-lib"] .settings-actions button.btn-delete {background:#dc3545;color:#fff;}

body[data-erp-page="settings/brands-lib"] .settings-actions button.btn-delete:hover {background:#c82333;}

body[data-erp-page="settings/brands-lib"] .select-row {display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:12px 16px;background:#101215;border:1px solid #24262d;border-radius:12px;}

body[data-erp-page="settings/brands-lib"] .select-row input {padding:10px 12px;border-radius:10px;border:1px solid #2a2c33;background:#0f1013;color:#e7e7ea;font-size:14px;}

body[data-erp-page="settings/brands-lib"] .select-row input:focus {outline:none;border-color:#ffd454;box-shadow:0 0 0 2px rgba(255,212,84,0.1);}

body[data-erp-page="settings/brands-lib"] .select-row button {padding:12px 18px;border-radius:12px;border:0;cursor:pointer;font-weight:700;background:#ffd454;color:#141517;white-space:nowrap;}

body[data-erp-page="settings/brands-lib"] .select-row button:hover {opacity:0.9;}

body[data-erp-page="settings/brands-lib"] .select-row button[disabled] {opacity:.6;cursor:not-allowed;}

body[data-erp-page="settings/brands-lib"] #clearSearch {background:#dc3545;color:#fff;}

body[data-erp-page="settings/brands-lib"] #clearSearch:hover {background:#c82333;}

body[data-erp-page="settings/brands-lib"] table {width:100%;border-collapse:collapse;font-size:13px;}

body[data-erp-page="settings/brands-lib"] thead th {background:#101215;color:#a0a0a7;text-align:left;padding:10px;border-bottom:1px solid #23252b;font-weight:600;position:sticky;top:0;}

body[data-erp-page="settings/brands-lib"] tbody td {padding:10px;border-bottom:1px solid #1e2026;}

body[data-erp-page="settings/brands-lib"] tbody tr:hover td {background:#191c23;}

body[data-erp-page="settings/brands-lib"] .table-wrap {border:1px solid #23252b;border-radius:14px;overflow:hidden;max-height:600px;overflow-y:auto;background:#0f1013;}

body[data-erp-page="settings/brands-lib"] .actions-cell {display:flex;gap:8px;}

body[data-erp-page="settings/brands-lib"] .actions-cell button {padding:6px 12px;border-radius:8px;border:0;cursor:pointer;font-weight:600;font-size:12px;background:#ffd454;color:#141517;}

body[data-erp-page="settings/brands-lib"] .actions-cell button:hover {opacity:0.9;}

body[data-erp-page="settings/brands-lib"] .actions-cell button.btn-delete {background:#dc3545;color:#fff;}

body[data-erp-page="settings/brands-lib"] .actions-cell button.btn-delete:hover {background:#c82333;}

body[data-erp-page="settings/brands-lib"] .editable {cursor:pointer;padding:4px 8px;border-radius:6px;transition:background 0.2s;}

body[data-erp-page="settings/brands-lib"] .editable:hover {background:#1a1d24;}

body[data-erp-page="settings/brands-lib"] .editing input {width:100%;padding:4px 8px;border-radius:6px;border:1px solid #ffd454;background:#0f1013;color:#e7e7ea;font-size:13px;box-shadow:0 0 0 2px rgba(255,212,84,0.1);}

body[data-erp-page="settings/brands-lib"] .toast {position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#0f1013;border:1px solid #1f2126;color:#e7e7ea;border-radius:10px;padding:12px 16px;z-index:3000;display:none;box-shadow:0 8px 24px rgba(0,0,0,.5);}

body[data-erp-page="settings/brands-lib"] .toast.show {display:block;}

body[data-erp-page="settings/brands-lib"] .toast.success {border-color:#2e7d32;}

body[data-erp-page="settings/brands-lib"] .toast.error {border-color:#8d2f2f;}

/* ===== Page scoped: settings/check-reserve.html ===== */
body[data-erp-page="settings/check-reserve"] {color-scheme:dark;}

body[data-erp-page="settings/check-reserve"] {background:#0e0f12;}

body[data-erp-page="settings/check-reserve"] .settings-wrap {max-width:1200px;margin:32px auto;padding:0 16px;color:#e7e7ea;font-family:system-ui,Segoe UI,Roboto,Arial,sans-serif;}

body[data-erp-page="settings/check-reserve"] .settings-card {background:#151618;border:1px solid #202228;border-radius:16px;padding:24px;box-shadow:0 18px 42px rgba(0,0,0,.45);display:flex;flex-direction:column;gap:20px;}

body[data-erp-page="settings/check-reserve"] h1 {margin:0;font-size:26px;font-weight:800;}

body[data-erp-page="settings/check-reserve"] .muted {color:#a0a0a7;font-size:14px;}

body[data-erp-page="settings/check-reserve"] .field-row {display:flex;gap:12px;flex-wrap:wrap;align-items:center;}

body[data-erp-page="settings/check-reserve"] .text-input {flex:1;min-width:280px;padding:12px 14px;border-radius:12px;border:1px solid #2a2c33;background:#0f1013;color:#e7e7ea;font-size:14px;}

body[data-erp-page="settings/check-reserve"] .text-input:focus {outline:2px solid #ffd454;border-color:#ffd454;}

body[data-erp-page="settings/check-reserve"] .action-btn {padding:12px 18px;border-radius:12px;border:0;cursor:pointer;font-weight:700;background:#ffd454;color:#141517;transition:opacity 0.2s;}

body[data-erp-page="settings/check-reserve"] .action-btn:hover {opacity:.9;}

body[data-erp-page="settings/check-reserve"] .action-btn:disabled {opacity:.6;cursor:not-allowed;}

body[data-erp-page="settings/check-reserve"] .error-message {color:#ff7a7a;padding:12px 16px;border-radius:12px;background:#3c1414;border:1px solid #7a2a2a;min-height:18px;display:none;}

body[data-erp-page="settings/check-reserve"] .loading {color:#a0a0a7;padding:12px 16px;text-align:center;display:none;}

body[data-erp-page="settings/check-reserve"] .results {display:grid;gap:12px;}

body[data-erp-page="settings/check-reserve"] .result-card {background:#0f1013;border:1px solid #23252b;border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:6px;cursor:pointer;transition:transform .15s ease,border-color .15s ease;}

body[data-erp-page="settings/check-reserve"] .result-card:hover {transform:translateY(-2px);border-color:#3a3d45;}

body[data-erp-page="settings/check-reserve"] .result-title {font-size:15px;font-weight:700;display:flex;gap:10px;align-items:center;}

body[data-erp-page="settings/check-reserve"] .result-pill {font-size:11px;font-weight:700;text-transform:uppercase;padding:4px 8px;border-radius:8px;background:#22252c;color:#ffd454;}

body[data-erp-page="settings/check-reserve"] .result-meta {font-size:13px;color:#c5c7cf;}

body[data-erp-page="settings/check-reserve"] .empty-state {padding:32px 12px;text-align:center;color:#a0a0a7;border:1px dashed #2b2e36;border-radius:14px;background:#101215;}

body[data-erp-page="settings/check-reserve"] .modal {position:fixed;inset:0;background:rgba(10,10,12,.7);display:none;align-items:center;justify-content:center;padding:16px;z-index:9999;}

body[data-erp-page="settings/check-reserve"] .modal.open {display:flex;}

body[data-erp-page="settings/check-reserve"] .modal-card {background:#151618;border:1px solid #202228;border-radius:18px;max-width:1000px;width:100%;max-height:85vh;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.6);display:flex;flex-direction:column;}

body[data-erp-page="settings/check-reserve"] .modal-header {display:flex;align-items:flex-start;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #23252b;gap:12px;}

body[data-erp-page="settings/check-reserve"] .modal-title {font-size:18px;font-weight:800;margin:0;}

body[data-erp-page="settings/check-reserve"] .modal-sub {font-size:13px;color:#a0a0a7;margin-top:4px;}

body[data-erp-page="settings/check-reserve"] .btn-ghost {padding:8px 12px;border-radius:10px;border:1px solid #2a2c33;background:#0f1013;color:#e7e7ea;cursor:pointer;}

body[data-erp-page="settings/check-reserve"] .btn-ghost:hover {border-color:#ffd454;color:#ffd454;}

body[data-erp-page="settings/check-reserve"] .modal-body {padding:16px;overflow:auto;}

body[data-erp-page="settings/check-reserve"] .summary {display:flex;gap:18px;flex-wrap:wrap;margin-bottom:12px;color:#c5c7cf;font-size:13px;}

body[data-erp-page="settings/check-reserve"] .summary strong {color:#f0f1f5;font-weight:700;}

body[data-erp-page="settings/check-reserve"] .table-wrap {border:1px solid #23252b;border-radius:12px;overflow:hidden;}

body[data-erp-page="settings/check-reserve"] table {width:100%;border-collapse:collapse;font-size:13px;}

body[data-erp-page="settings/check-reserve"] th, body[data-erp-page="settings/check-reserve"] td {padding:10px 12px;border-bottom:1px solid #23252b;text-align:left;}

body[data-erp-page="settings/check-reserve"] th {background:#101215;color:#cfd1d9;font-weight:700;}

body[data-erp-page="settings/check-reserve"] tr:last-child td {border-bottom:0;}

body[data-erp-page="settings/check-reserve"] .status {font-weight:800;text-transform:uppercase;font-size:11px;padding:4px 8px;border-radius:8px;display:inline-block;}

body[data-erp-page="settings/check-reserve"] .status.matched {background:#153c25;color:#7cffb0;border:1px solid #1f6f3e;}

body[data-erp-page="settings/check-reserve"] .status.unmatched {background:#3c1a1a;color:#ff9a9a;border:1px solid #7a2a2a;}

/* ===== Page scoped: settings/edit-logic.html ===== */
body[data-erp-page="settings/edit-logic"] .settings-wrap {max-width:1400px;margin:32px auto;padding:0 16px;color:#e7e7ea;font-family:system-ui,Segoe UI,Roboto,Arial,sans-serif;line-height:1.6;}

body[data-erp-page="settings/edit-logic"] .settings-card {background:#151618;border:1px solid #202228;border-radius:16px;padding:24px;box-shadow:0 18px 42px rgba(0,0,0,.45);margin-bottom:24px;}

body[data-erp-page="settings/edit-logic"] h1 {margin:0 0 24px 0;font-size:26px;font-weight:800;}

body[data-erp-page="settings/edit-logic"] h2 {margin:24px 0 16px 0;font-size:20px;font-weight:700;color:#ffd454;border-bottom:2px solid #2a2c33;padding-bottom:8px;}

body[data-erp-page="settings/edit-logic"] h3 {margin:16px 0 8px 0;font-size:16px;font-weight:600;color:#6aa1ff;}

body[data-erp-page="settings/edit-logic"] .muted {color:#a0a0a7;font-size:14px;}

body[data-erp-page="settings/edit-logic"] .flow-step {background:#0f1013;border:1px solid #23252b;border-radius:12px;padding:16px;margin-bottom:16px;position:relative;}

body[data-erp-page="settings/edit-logic"] .flow-step::before {content:counter(step-counter);counter-increment:step-counter;position:absolute;left:-12px;top:16px;background:#ffd454;color:#141517;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;}

body[data-erp-page="settings/edit-logic"] .flow-container {counter-reset:step-counter;padding-left:24px;}

body[data-erp-page="settings/edit-logic"] .code-block {background:#0a0b0d;border:1px solid #1a1c20;border-radius:8px;padding:12px;margin:8px 0;font-family:'Courier New',monospace;font-size:13px;color:#a0a0a7;overflow-x:auto;}

body[data-erp-page="settings/edit-logic"] .code-block code {color:#6aa1ff;}

body[data-erp-page="settings/edit-logic"] .highlight {background:#2a1f0f;border-left:3px solid #ffd454;padding:8px 12px;margin:8px 0;border-radius:4px;}

body[data-erp-page="settings/edit-logic"] .warning {background:#3c1f14;border-left:3px solid #f87171;padding:8px 12px;margin:8px 0;border-radius:4px;}

body[data-erp-page="settings/edit-logic"] .info {background:#1a3a4d;border-left:3px solid #60a5fa;padding:8px 12px;margin:8px 0;border-radius:4px;}

body[data-erp-page="settings/edit-logic"] .success {background:#1a4d2e;border-left:3px solid #4ade80;padding:8px 12px;margin:8px 0;border-radius:4px;}

body[data-erp-page="settings/edit-logic"] table {border-collapse:collapse;width:100%;margin:12px 0;font-size:13px;}

body[data-erp-page="settings/edit-logic"] table th {background:#101215;color:#a0a0a7;text-align:left;padding:10px;border-bottom:1px solid #23252b;font-weight:600;}

body[data-erp-page="settings/edit-logic"] table td {padding:10px;border-bottom:1px solid #1e2026;}

body[data-erp-page="settings/edit-logic"] table tr:hover td {background:#191c23;}

body[data-erp-page="settings/edit-logic"] .badge {display:inline-block;padding:4px 8px;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase;margin-left:8px;}

body[data-erp-page="settings/edit-logic"] .badge-mode {background:#1a3a4d;color:#60a5fa;}

body[data-erp-page="settings/edit-logic"] .badge-api {background:#4d1a1a;color:#f87171;}

body[data-erp-page="settings/edit-logic"] .badge-opt {background:#1a4d2e;color:#4ade80;}

body[data-erp-page="settings/edit-logic"] ul, body[data-erp-page="settings/edit-logic"] ol {margin:8px 0;padding-left:24px;}

body[data-erp-page="settings/edit-logic"] li {margin:4px 0;}

body[data-erp-page="settings/edit-logic"] .section {margin-top:32px;}

/* ===== Page scoped: settings/edit-metrics.html ===== */
body[data-erp-page="settings/edit-metrics"] .settings-wrap {max-width:1600px;margin:32px auto;padding:0 16px;color:#e7e7ea;font-family:system-ui,Segoe UI,Roboto,Arial,sans-serif;}

body[data-erp-page="settings/edit-metrics"] .settings-card {background:#151618;border:1px solid #202228;border-radius:16px;padding:24px;box-shadow:0 18px 42px rgba(0,0,0,.45);display:flex;flex-direction:column;gap:24px;margin-bottom:24px;}

body[data-erp-page="settings/edit-metrics"] h1 {margin:0;font-size:26px;font-weight:800;}

body[data-erp-page="settings/edit-metrics"] h2 {margin:0;font-size:20px;font-weight:700;margin-bottom:16px;}

body[data-erp-page="settings/edit-metrics"] .muted {color:#a0a0a7;font-size:14px;}

body[data-erp-page="settings/edit-metrics"] .settings-actions {display:flex;flex-wrap:wrap;gap:12px;align-items:center;}

body[data-erp-page="settings/edit-metrics"] .settings-actions button {padding:12px 18px;border-radius:12px;border:0;cursor:pointer;font-weight:700;background:#ffd454;color:#141517;}

body[data-erp-page="settings/edit-metrics"] .settings-actions button:hover {background:#ffc020;}

body[data-erp-page="settings/edit-metrics"] .settings-actions button[disabled] {opacity:.6;cursor:not-allowed;}

body[data-erp-page="settings/edit-metrics"] .error-message {color:#ff7a7a;padding:12px 16px;border-radius:12px;background:#3c1414;border:1px solid #7a2a2a;margin-bottom:16px;min-height:18px;}

body[data-erp-page="settings/edit-metrics"] .loading {color:#a0a0a7;padding:12px 16px;text-align:center;}

body[data-erp-page="settings/edit-metrics"] .metrics-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px;}

body[data-erp-page="settings/edit-metrics"] .metric-card {background:#0f1013;border:1px solid #23252b;border-radius:12px;padding:20px;}

body[data-erp-page="settings/edit-metrics"] .metric-label {color:#a0a0a7;font-size:13px;margin-bottom:8px;text-transform:uppercase;letter-spacing:0.5px;}

body[data-erp-page="settings/edit-metrics"] .metric-value {color:#e7e7ea;font-size:32px;font-weight:700;margin-bottom:4px;}

body[data-erp-page="settings/edit-metrics"] .metric-unit {color:#6a6a75;font-size:14px;margin-left:4px;}

body[data-erp-page="settings/edit-metrics"] .metric-sub {color:#6a6a75;font-size:12px;margin-top:4px;}

body[data-erp-page="settings/edit-metrics"] .table-wrap {border:1px solid #23252b;border-radius:14px;overflow:hidden;background:#0f1013;margin-top:16px;overflow-x:auto;}

body[data-erp-page="settings/edit-metrics"] .metrics-table {width:100%;border-collapse:collapse;font-size:13px;min-width:800px;}

body[data-erp-page="settings/edit-metrics"] .metrics-table thead th {background:#101215;color:#a0a0a7;text-align:left;padding:12px;border-bottom:1px solid #23252b;font-weight:600;position:sticky;top:0;z-index:1;}

body[data-erp-page="settings/edit-metrics"] .metrics-table tbody td {padding:12px;border-bottom:1px solid #1e2026;}

body[data-erp-page="settings/edit-metrics"] .metrics-table tbody tr:hover td {background:#191c23;}

body[data-erp-page="settings/edit-metrics"] .metrics-table tbody tr:last-child td {border-bottom:0;}

body[data-erp-page="settings/edit-metrics"] .badge {display:inline-block;padding:4px 8px;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase;}

body[data-erp-page="settings/edit-metrics"] .badge-success {background:#1a4d2e;color:#4ade80;}

body[data-erp-page="settings/edit-metrics"] .badge-warning {background:#4d3a1a;color:#fbbf24;}

body[data-erp-page="settings/edit-metrics"] .badge-error {background:#4d1a1a;color:#f87171;}

body[data-erp-page="settings/edit-metrics"] .badge-info {background:#1a3a4d;color:#60a5fa;}

body[data-erp-page="settings/edit-metrics"] .section {margin-top:24px;}

body[data-erp-page="settings/edit-metrics"] .no-data {text-align:center;padding:40px;color:#6a6a75;}

body[data-erp-page="settings/edit-metrics"] .refresh-info {color:#6a6a75;font-size:12px;margin-top:8px;}

body[data-erp-page="settings/edit-metrics"] .text-right {text-align:right;}

body[data-erp-page="settings/edit-metrics"] .text-center {text-align:center;}

/* ===== Page scoped: settings/esd-co-check.html ===== */
body[data-erp-page="settings/esd-co-check"] { color:#e7e7ea; font-family:system-ui,Segoe UI,Roboto,Arial,sans-serif; background: var(--bg, #0e0f12); }

body[data-erp-page="settings/esd-co-check"] .settings-wrap {max-width:1200px;margin:32px auto;padding:0 16px;}

body[data-erp-page="settings/esd-co-check"] .settings-card {background:#151618;border:1px solid #202228;border-radius:16px;padding:24px;box-shadow:0 18px 42px rgba(0,0,0,.45);}

body[data-erp-page="settings/esd-co-check"] h1 {margin:0 0 12px 0;font-size:26px;font-weight:800;}

body[data-erp-page="settings/esd-co-check"] .muted {color:#a0a0a7;font-size:14px;}

body[data-erp-page="settings/esd-co-check"] .toolbar {display:flex;gap:12px;align-items:center;margin:14px 0 18px 0;flex-wrap:wrap;}

body[data-erp-page="settings/esd-co-check"] .field {display:flex;gap:8px;align-items:center;}

body[data-erp-page="settings/esd-co-check"] .field label {color:#a0a0a7;font-size:13px;}

body[data-erp-page="settings/esd-co-check"] .field input {padding:10px 12px;border-radius:10px;border:1px solid #2a2c33;background:#0f1013;color:#e7e7ea;font-size:14px; width: 120px;}

body[data-erp-page="settings/esd-co-check"] .count {color:#a0a0a7;}

body[data-erp-page="settings/esd-co-check"] .order {border:1px solid #23252b;border-radius:14px;overflow:hidden;margin-top:14px;}

body[data-erp-page="settings/esd-co-check"] .order-header {padding:12px 14px;background:#101215;border-bottom:1px solid #23252b;display:flex;gap:12px;align-items:center;flex-wrap:wrap;}

body[data-erp-page="settings/esd-co-check"] .order-title {font-weight:800;}

body[data-erp-page="settings/esd-co-check"] .chip {display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid #2a2c33;background:#0f1013;color:#e7e7ea;}

body[data-erp-page="settings/esd-co-check"] table {width:100%;border-collapse:collapse;font-size:13px;}

body[data-erp-page="settings/esd-co-check"] thead th {background:#101215;color:#a0a0a7;text-align:left;padding:10px;border-bottom:1px solid #23252b;font-weight:600;position:sticky;top:0;}

body[data-erp-page="settings/esd-co-check"] tbody td {padding:10px;border-bottom:1px solid #1e2026;}

body[data-erp-page="settings/esd-co-check"] tbody tr:hover td {background:#191c23;}

body[data-erp-page="settings/esd-co-check"] .mono {font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;}

/* ===== Page scoped: settings/esd-co-po-report.html ===== */
body[data-erp-page="settings/esd-co-po-report"] { color:#e7e7ea; font-family:system-ui,Segoe UI,Roboto,Arial,sans-serif; background: var(--bg, #0e0f12); }

body[data-erp-page="settings/esd-co-po-report"] .settings-wrap {max-width:1400px;margin:32px auto;padding:0 16px;}

body[data-erp-page="settings/esd-co-po-report"] .settings-card {background:#151618;border:1px solid #202228;border-radius:16px;padding:24px;box-shadow:0 18px 42px rgba(0,0,0,.45);}

body[data-erp-page="settings/esd-co-po-report"] h1 {margin:0 0 12px 0;font-size:26px;font-weight:800;}

body[data-erp-page="settings/esd-co-po-report"] .muted {color:#a0a0a7;font-size:14px;}

body[data-erp-page="settings/esd-co-po-report"] .toolbar {display:flex;gap:12px;align-items:center;margin:14px 0 18px 0;flex-wrap:wrap;}

body[data-erp-page="settings/esd-co-po-report"] .field {display:flex;gap:8px;align-items:center;}

body[data-erp-page="settings/esd-co-po-report"] .field label {color:#a0a0a7;font-size:13px;}

body[data-erp-page="settings/esd-co-po-report"] .field input {padding:10px 12px;border-radius:10px;border:1px solid #2a2c33;background:#0f1013;color:#e7e7ea;font-size:14px; width: 120px;}

body[data-erp-page="settings/esd-co-po-report"] .count {color:#a0a0a7;}

body[data-erp-page="settings/esd-co-po-report"] .table-wrap {overflow:auto;max-width:100%;}

body[data-erp-page="settings/esd-co-po-report"] table {width:100%;border-collapse:collapse;font-size:13px;min-width:1200px;}

body[data-erp-page="settings/esd-co-po-report"] thead th {background:#101215;color:#a0a0a7;text-align:left;padding:10px;border-bottom:1px solid #23252b;font-weight:600;position:sticky;top:0;}

body[data-erp-page="settings/esd-co-po-report"] tbody td {padding:10px;border-bottom:1px solid #1e2026;}

body[data-erp-page="settings/esd-co-po-report"] tbody tr:hover td {background:#191c23;}

body[data-erp-page="settings/esd-co-po-report"] .mono {font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;}

body[data-erp-page="settings/esd-co-po-report"] .status {display:inline-block;padding:2px 8px;border-radius:999px;border:1px solid #2a2c33;background:#0f1013;}

body[data-erp-page="settings/esd-co-po-report"] .status-ok {color:#1bd760;border-color:rgba(27,215,96,0.35);background:rgba(27,215,96,0.12);}

body[data-erp-page="settings/esd-co-po-report"] .status-missing {color:#ffcd11;border-color:rgba(255,205,17,0.35);background:rgba(255,205,17,0.12);}

body[data-erp-page="settings/esd-co-po-report"] .status-mismatch {color:#ff6b6b;border-color:rgba(255,107,107,0.35);background:rgba(255,107,107,0.12);}

body[data-erp-page="settings/esd-co-po-report"] .status-conflict {color:#9aa4ff;border-color:rgba(154,164,255,0.35);background:rgba(154,164,255,0.12);}

/* ===== Page scoped: settings/id-lookup.html ===== */
body[data-erp-page="settings/id-lookup"] {color-scheme:dark;}

body[data-erp-page="settings/id-lookup"] {background:#0e0f12;}

body[data-erp-page="settings/id-lookup"] .settings-wrap {max-width:1100px;margin:32px auto;padding:0 16px;color:#e7e7ea;font-family:system-ui,Segoe UI,Roboto,Arial,sans-serif;}

body[data-erp-page="settings/id-lookup"] .settings-card {background:#151618;border:1px solid #202228;border-radius:16px;padding:24px;box-shadow:0 18px 42px rgba(0,0,0,.45);display:flex;flex-direction:column;gap:20px;}

body[data-erp-page="settings/id-lookup"] h1 {margin:0;font-size:26px;font-weight:800;}

body[data-erp-page="settings/id-lookup"] .muted {color:#a0a0a7;font-size:14px;}

body[data-erp-page="settings/id-lookup"] .field-row {display:flex;gap:12px;flex-wrap:wrap;align-items:center;}

body[data-erp-page="settings/id-lookup"] .id-input {flex:1;min-width:280px;padding:12px 14px;border-radius:12px;border:1px solid #2a2c33;background:#0f1013;color:#e7e7ea;font-size:14px;}

body[data-erp-page="settings/id-lookup"] .id-input:focus {outline:2px solid #ffd454;border-color:#ffd454;}

body[data-erp-page="settings/id-lookup"] .action-btn {padding:12px 18px;border-radius:12px;border:0;cursor:pointer;font-weight:700;background:#ffd454;color:#141517;transition:opacity 0.2s;}

body[data-erp-page="settings/id-lookup"] .action-btn:hover {opacity:.9;}

body[data-erp-page="settings/id-lookup"] .action-btn:disabled {opacity:.6;cursor:not-allowed;}

body[data-erp-page="settings/id-lookup"] .error-message {color:#ff7a7a;padding:12px 16px;border-radius:12px;background:#3c1414;border:1px solid #7a2a2a;min-height:18px;display:none;}

body[data-erp-page="settings/id-lookup"] .success-message {color:#7aff7a;padding:12px 16px;border-radius:12px;background:#143c14;border:1px solid #2a7a2a;min-height:18px;display:none;}

body[data-erp-page="settings/id-lookup"] .loading {color:#a0a0a7;padding:12px 16px;text-align:center;display:none;}

body[data-erp-page="settings/id-lookup"] .results {display:grid;gap:12px;}

body[data-erp-page="settings/id-lookup"] .result-card {background:#0f1013;border:1px solid #23252b;border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:6px;}

body[data-erp-page="settings/id-lookup"] .result-title {font-size:15px;font-weight:700;display:flex;gap:10px;align-items:center;}

body[data-erp-page="settings/id-lookup"] .result-pill {font-size:11px;font-weight:700;text-transform:uppercase;padding:4px 8px;border-radius:8px;background:#22252c;color:#ffd454;}

body[data-erp-page="settings/id-lookup"] .result-meta {font-size:13px;color:#c5c7cf;}

body[data-erp-page="settings/id-lookup"] .result-meta strong {color:#f0f1f5;font-weight:600;}

body[data-erp-page="settings/id-lookup"] .result-meta a {color:#ffd454;text-decoration:none;}

body[data-erp-page="settings/id-lookup"] .result-meta a:hover {text-decoration:underline;}

body[data-erp-page="settings/id-lookup"] .empty-state {padding:32px 12px;text-align:center;color:#a0a0a7;border:1px dashed #2b2e36;border-radius:14px;background:#101215;}

/* ===== Page scoped: settings/ms-metrics.html ===== */
body[data-erp-page="settings/ms-metrics"] .settings-wrap {max-width:1600px;margin:32px auto;padding:0 16px;color:#e7e7ea;font-family:system-ui,Segoe UI,Roboto,Arial,sans-serif;}

body[data-erp-page="settings/ms-metrics"] .settings-card {background:#151618;border:1px solid #202228;border-radius:16px;padding:24px;box-shadow:0 18px 42px rgba(0,0,0,.45);display:flex;flex-direction:column;gap:24px;margin-bottom:24px;}

body[data-erp-page="settings/ms-metrics"] h1 {margin:0;font-size:26px;font-weight:800;}

body[data-erp-page="settings/ms-metrics"] h2 {margin:0;font-size:20px;font-weight:700;margin-bottom:16px;}

body[data-erp-page="settings/ms-metrics"] .muted {color:#a0a0a7;font-size:14px;}

body[data-erp-page="settings/ms-metrics"] .settings-actions {display:flex;flex-wrap:wrap;gap:12px;align-items:center;}

body[data-erp-page="settings/ms-metrics"] .settings-actions button {padding:12px 18px;border-radius:12px;border:0;cursor:pointer;font-weight:700;background:#ffd454;color:#141517;}

body[data-erp-page="settings/ms-metrics"] .settings-actions button:hover {background:#ffc020;}

body[data-erp-page="settings/ms-metrics"] .settings-actions button[disabled] {opacity:.6;cursor:not-allowed;}

body[data-erp-page="settings/ms-metrics"] .error-message {color:#ff7a7a;padding:12px 16px;border-radius:12px;background:#3c1414;border:1px solid #7a2a2a;margin-bottom:16px;min-height:18px;}

body[data-erp-page="settings/ms-metrics"] .loading {color:#a0a0a7;padding:12px 16px;text-align:center;}

body[data-erp-page="settings/ms-metrics"] .metrics-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px;}

body[data-erp-page="settings/ms-metrics"] .metric-card {background:#0f1013;border:1px solid #23252b;border-radius:12px;padding:20px;}

body[data-erp-page="settings/ms-metrics"] .metric-label {color:#a0a0a7;font-size:13px;margin-bottom:8px;text-transform:uppercase;letter-spacing:0.5px;}

body[data-erp-page="settings/ms-metrics"] .metric-value {color:#e7e7ea;font-size:32px;font-weight:700;margin-bottom:4px;}

body[data-erp-page="settings/ms-metrics"] .metric-unit {color:#6a6a75;font-size:14px;margin-left:4px;}

body[data-erp-page="settings/ms-metrics"] .metric-sub {color:#6a6a75;font-size:12px;margin-top:4px;}

body[data-erp-page="settings/ms-metrics"] .table-wrap {border:1px solid #23252b;border-radius:14px;overflow:hidden;background:#0f1013;margin-top:16px;overflow-x:auto;}

body[data-erp-page="settings/ms-metrics"] .metrics-table {width:100%;border-collapse:collapse;font-size:13px;min-width:900px;}

body[data-erp-page="settings/ms-metrics"] .metrics-table thead th {background:#101215;color:#a0a0a7;text-align:left;padding:12px;border-bottom:1px solid #23252b;font-weight:600;position:sticky;top:0;z-index:1;}

body[data-erp-page="settings/ms-metrics"] .metrics-table tbody td {padding:12px;border-bottom:1px solid #1e2026;}

body[data-erp-page="settings/ms-metrics"] .metrics-table tbody tr:hover td {background:#191c23;}

body[data-erp-page="settings/ms-metrics"] .metrics-table tbody tr:last-child td {border-bottom:0;}

body[data-erp-page="settings/ms-metrics"] .badge {display:inline-block;padding:4px 8px;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase;}

body[data-erp-page="settings/ms-metrics"] .badge-success {background:#1a4d2e;color:#4ade80;}

body[data-erp-page="settings/ms-metrics"] .badge-warning {background:#4d3a1a;color:#fbbf24;}

body[data-erp-page="settings/ms-metrics"] .badge-error {background:#4d1a1a;color:#f87171;}

body[data-erp-page="settings/ms-metrics"] .badge-info {background:#1a3a4d;color:#60a5fa;}

body[data-erp-page="settings/ms-metrics"] .section {margin-top:24px;}

body[data-erp-page="settings/ms-metrics"] .no-data {text-align:center;padding:40px;color:#6a6a75;}

body[data-erp-page="settings/ms-metrics"] .tip-list {display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;}

body[data-erp-page="settings/ms-metrics"] .tip {background:#0f1013;border:1px solid #23252b;border-radius:12px;padding:16px;}

body[data-erp-page="settings/ms-metrics"] .tip h3 {margin:0 0 8px;font-size:14px;}

body[data-erp-page="settings/ms-metrics"] .tip p {margin:0;color:#a0a0a7;font-size:13px;line-height:1.5;}

body[data-erp-page="settings/ms-metrics"] .text-right {text-align:right;}

/* ===== Page scoped: settings/price_policy.html ===== */
body[data-erp-page="settings/price_policy"] .settings-wrap {max-width:1200px;margin:32px auto;padding:0 16px;color:#e7e7ea;font-family:system-ui,Segoe UI,Roboto,Arial,sans-serif;}

body[data-erp-page="settings/price_policy"] .settings-card {background:#151618;border:1px solid #202228;border-radius:16px;padding:24px;box-shadow:0 18px 42px rgba(0,0,0,.45);display:flex;flex-direction:column;gap:24px;}

body[data-erp-page="settings/price_policy"] h1 {margin:0;font-size:26px;font-weight:800;}

body[data-erp-page="settings/price_policy"] h2 {margin:0;font-size:20px;font-weight:700;}

body[data-erp-page="settings/price_policy"] .muted {color:#a0a0a7;font-size:14px;}

body[data-erp-page="settings/price_policy"] .settings-actions {display:flex;flex-wrap:wrap;gap:12px;align-items:center;}

body[data-erp-page="settings/price_policy"] .settings-actions button {padding:12px 18px;border-radius:12px;border:0;cursor:pointer;font-weight:700;background:#ffd454;color:#141517;}

body[data-erp-page="settings/price_policy"] .settings-actions button[disabled] {opacity:.6;cursor:not-allowed;}

body[data-erp-page="settings/price_policy"] .settings-actions button.btn-delete {background:#dc3545;color:#fff;}

body[data-erp-page="settings/price_policy"] .settings-actions button.btn-delete:hover {background:#c82333;}

body[data-erp-page="settings/price_policy"] .error-message {color:#ff7a7a;padding:12px 16px;border-radius:12px;background:#3c1414;border:1px solid #7a2a2a;margin-bottom:16px;min-height:18px;}

body[data-erp-page="settings/price_policy"] .loading {color:#a0a0a7;padding:12px 16px;text-align:center;}

body[data-erp-page="settings/price_policy"] .price-table {width:100%;border-collapse:collapse;font-size:13px;margin-top:16px;}

body[data-erp-page="settings/price_policy"] .price-table thead th {background:#101215;color:#a0a0a7;text-align:left;padding:12px;border-bottom:1px solid #23252b;font-weight:600;}

body[data-erp-page="settings/price_policy"] .price-table tbody td {padding:12px;border-bottom:1px solid #1e2026;}

body[data-erp-page="settings/price_policy"] .price-table tbody tr:hover td {background:#191c23;}

body[data-erp-page="settings/price_policy"] .price-table select, body[data-erp-page="settings/price_policy"] .price-table input[type="number"] {width:100%;padding:8px 10px;border-radius:8px;border:1px solid #2a2c33;background:#0f1013;color:#e7e7ea;font-size:13px;}

body[data-erp-page="settings/price_policy"] .price-table select:focus, body[data-erp-page="settings/price_policy"] .price-table input[type="number"]:focus {outline:none;border-color:#ffd454;box-shadow:0 0 0 2px rgba(255,212,84,0.1);}

body[data-erp-page="settings/price_policy"] .table-wrap {border:1px solid #23252b;border-radius:14px;overflow:hidden;background:#0f1013;}

/* ===== Page scoped: settings/projects.html ===== */
body[data-erp-page="settings/projects"] .settings-wrap {max-width:1100px;margin:32px auto;padding:0 16px;color:#e7e7ea;font-family:system-ui,Segoe UI,Roboto,Arial,sans-serif;}

body[data-erp-page="settings/projects"] .settings-card {background:#151618;border:1px solid #202228;border-radius:16px;padding:24px;box-shadow:0 18px 42px rgba(0,0,0,.45);display:flex;flex-direction:column;gap:24px;}

body[data-erp-page="settings/projects"] h1 {margin:0;font-size:26px;font-weight:800;}

body[data-erp-page="settings/projects"] h2 {margin:0;font-size:20px;font-weight:700;}

body[data-erp-page="settings/projects"] .muted {color:#a0a0a7;font-size:14px;}

body[data-erp-page="settings/projects"] .settings-actions {display:flex;flex-wrap:wrap;gap:12px;align-items:center;}

body[data-erp-page="settings/projects"] .settings-actions button {padding:12px 18px;border-radius:12px;border:0;cursor:pointer;font-weight:700;background:#ffd454;color:#141517;}

body[data-erp-page="settings/projects"] .settings-actions button[disabled] {opacity:.6;cursor:not-allowed;}

body[data-erp-page="settings/projects"] .note {padding:12px 16px;border-radius:12px;background:#101215;border:1px solid #24262d;font-size:14px;line-height:1.5;}

body[data-erp-page="settings/projects"] .select-row {display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:12px 16px;background:#101215;border:1px solid #24262d;border-radius:12px;}

body[data-erp-page="settings/projects"] select {padding:10px 12px;border-radius:10px;border:1px solid #2a2c33;background:#0f1013;color:#e7e7ea;font-size:14px;}

body[data-erp-page="settings/projects"] table {width:100%;border-collapse:collapse;font-size:13px;}

body[data-erp-page="settings/projects"] thead th {background:#101215;color:#a0a0a7;text-align:left;padding:10px;border-bottom:1px solid #23252b;font-weight:600;position:sticky;top:0;}

body[data-erp-page="settings/projects"] tbody td {padding:10px;border-bottom:1px solid #1e2026;}

body[data-erp-page="settings/projects"] tbody tr:hover td {background:#191c23;}

body[data-erp-page="settings/projects"] .table-wrap {border:1px solid #23252b;border-radius:14px;overflow:hidden;max-height:480px;overflow-y:auto;background:#0f1013;}

body[data-erp-page="settings/projects"] .badge {align-self:flex-start;background:#1f4b2f;color:#d9f5d9;border:1px solid #2c6c43;border-radius:999px;padding:2px 10px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;}

body[data-erp-page="settings/projects"] .summary {display:flex;flex-wrap:wrap;gap:12px;font-size:13px;color:#a0a0a7;}

/* ===== Page scoped: settings/receivings-confirm.html ===== */
body[data-erp-page="settings/receivings-confirm"] {color-scheme:dark;}

body[data-erp-page="settings/receivings-confirm"] {background:#0e0f12;}

body[data-erp-page="settings/receivings-confirm"] .settings-wrap {max-width:1200px;margin:32px auto;padding:0 16px;color:#e7e7ea;font-family:system-ui,Segoe UI,Roboto,Arial,sans-serif;}

body[data-erp-page="settings/receivings-confirm"] .settings-card {background:#151618;border:1px solid #202228;border-radius:16px;padding:24px;box-shadow:0 18px 42px rgba(0,0,0,.45);display:flex;flex-direction:column;gap:20px;}

body[data-erp-page="settings/receivings-confirm"] h1 {margin:0;font-size:26px;font-weight:800;}

body[data-erp-page="settings/receivings-confirm"] .muted {color:#a0a0a7;font-size:14px;}

body[data-erp-page="settings/receivings-confirm"] .field-row {display:flex;gap:12px;flex-wrap:wrap;align-items:center;}

body[data-erp-page="settings/receivings-confirm"] .text-input {flex:1;min-width:280px;padding:12px 14px;border-radius:12px;border:1px solid #2a2c33;background:#0f1013;color:#e7e7ea;font-size:14px;}

body[data-erp-page="settings/receivings-confirm"] .text-input:focus {outline:2px solid #ffd454;border-color:#ffd454;}

body[data-erp-page="settings/receivings-confirm"] .action-btn {padding:12px 18px;border-radius:12px;border:0;cursor:pointer;font-weight:700;background:#ffd454;color:#141517;transition:opacity 0.2s;}

body[data-erp-page="settings/receivings-confirm"] .action-btn:hover {opacity:.9;}

body[data-erp-page="settings/receivings-confirm"] .action-btn:disabled {opacity:.6;cursor:not-allowed;}

body[data-erp-page="settings/receivings-confirm"] .error-message {color:#ff7a7a;padding:12px 16px;border-radius:12px;background:#3c1414;border:1px solid #7a2a2a;min-height:18px;display:none;}

body[data-erp-page="settings/receivings-confirm"] .loading {color:#a0a0a7;padding:12px 16px;text-align:center;display:none;}

body[data-erp-page="settings/receivings-confirm"] .results {display:grid;gap:12px;}

body[data-erp-page="settings/receivings-confirm"] .result-card {background:#0f1013;border:1px solid #23252b;border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:6px;cursor:pointer;transition:transform .15s ease,border-color .15s ease;}

body[data-erp-page="settings/receivings-confirm"] .result-card:hover {transform:translateY(-2px);border-color:#3a3d45;}

body[data-erp-page="settings/receivings-confirm"] .result-title {font-size:15px;font-weight:700;display:flex;gap:10px;align-items:center;}

body[data-erp-page="settings/receivings-confirm"] .result-pill {font-size:11px;font-weight:700;text-transform:uppercase;padding:4px 8px;border-radius:8px;background:#22252c;color:#ffd454;}

body[data-erp-page="settings/receivings-confirm"] .result-meta {font-size:13px;color:#c5c7cf;}

body[data-erp-page="settings/receivings-confirm"] .empty-state {padding:32px 12px;text-align:center;color:#a0a0a7;border:1px dashed #2b2e36;border-radius:14px;background:#101215;}

body[data-erp-page="settings/receivings-confirm"] .details-card {background:#0f1013;border:1px solid #23252b;border-radius:16px;padding:18px;display:none;flex-direction:column;gap:14px;}

body[data-erp-page="settings/receivings-confirm"] .details-title {font-size:18px;font-weight:800;margin:0;display:flex;align-items:center;gap:10px;}

body[data-erp-page="settings/receivings-confirm"] .details-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;font-size:13px;color:#c5c7cf;}

body[data-erp-page="settings/receivings-confirm"] .details-grid strong {color:#f0f1f5;font-weight:700;}

body[data-erp-page="settings/receivings-confirm"] .reason-list {display:grid;gap:10px;}

body[data-erp-page="settings/receivings-confirm"] .reason-card {border:1px solid #2a2c33;border-radius:12px;padding:12px;background:#111216;}

body[data-erp-page="settings/receivings-confirm"] .reason-title {font-weight:800;font-size:14px;display:flex;gap:8px;align-items:center;}

body[data-erp-page="settings/receivings-confirm"] .reason-count {font-size:12px;background:#22252c;color:#ffd454;border-radius:8px;padding:2px 6px;}

body[data-erp-page="settings/receivings-confirm"] .reason-sample {font-size:12px;color:#a0a0a7;margin-top:6px;white-space:pre-wrap;}

body[data-erp-page="settings/receivings-confirm"] .ok-pill {background:#153c25;color:#7cffb0;border:1px solid #1f6f3e;font-size:11px;font-weight:800;text-transform:uppercase;padding:4px 8px;border-radius:8px;}

/* ===== Page scoped: settings/users.html ===== */
body[data-erp-page="settings/users"] { color:#e7e7ea; font-family:system-ui,Segoe UI,Roboto,Arial,sans-serif; background: var(--bg, #0e0f12); }

body[data-erp-page="settings/users"] .settings-wrap {max-width:1200px;margin:32px auto;padding:0 16px;}

body[data-erp-page="settings/users"] .settings-card {background:#151618;border:1px solid #202228;border-radius:16px;padding:24px;box-shadow:0 18px 42px rgba(0,0,0,.45);}

body[data-erp-page="settings/users"] h1 {margin:0 0 16px 0;font-size:26px;font-weight:800;}

body[data-erp-page="settings/users"] .muted {color:#a0a0a7;font-size:14px;}

body[data-erp-page="settings/users"] table {width:100%;border-collapse:collapse;font-size:13px;margin-top:16px;}

body[data-erp-page="settings/users"] thead th {background:#101215;color:#a0a0a7;text-align:left;padding:10px;border-bottom:1px solid #23252b;font-weight:600;position:sticky;top:0;}

body[data-erp-page="settings/users"] tbody td {padding:10px;border-bottom:1px solid #1e2026;}

body[data-erp-page="settings/users"] tbody tr:hover td {background:#191c23;}

body[data-erp-page="settings/users"] .badge {display:inline-block;padding:4px 8px;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase;}

body[data-erp-page="settings/users"] .badge-archived {background:#3c1f14;color:#f87171;border:1px solid #f87171;}

body[data-erp-page="settings/users"] .toolbar {display:flex;gap:12px;align-items:center;margin-bottom:12px;}

body[data-erp-page="settings/users"] .count {color:#a0a0a7;}

body[data-erp-page="settings/users"] .status-chip {display:inline-block;padding:4px 10px;border-radius:8px;font-size:12px;font-weight:700;}

body[data-erp-page="settings/users"] .status-active {background:#1a4d2e;color:#4ade80;border:1px solid #2c6c43;}

body[data-erp-page="settings/users"] .status-inactive {background:#3c1f14;color:#f87171;border:1px solid #f87171;}

body[data-erp-page="settings/users"] .modal {position:fixed;inset:0;background:rgba(0,0,0,0.6);display:none;align-items:center;justify-content:center;z-index:4000;}

body[data-erp-page="settings/users"] .modal-card {background:#151618;border:1px solid #202228;border-radius:12px;min-width:320px;max-width:520px;padding:18px;box-shadow:0 18px 40px rgba(0,0,0,0.45);}

body[data-erp-page="settings/users"] .modal-card h2 {margin:0 0 12px 0;}

body[data-erp-page="settings/users"] .form-row {display:flex;flex-direction:column;gap:6px;margin-bottom:12px;}

body[data-erp-page="settings/users"] .form-row label {color:#a0a0a7;font-size:13px;}

body[data-erp-page="settings/users"] .form-row input, body[data-erp-page="settings/users"] .form-row select {padding:10px 12px;border-radius:10px;border:1px solid #2a2c33;background:#0f1013;color:#e7e7ea;font-size:14px;}

body[data-erp-page="settings/users"] .actions {display:flex;justify-content:flex-end;gap:10px;}

body[data-erp-page="settings/users"] .erp-btn-secondary {background:#23252b;color:#e7e7ea;}

/* ===== Page scoped: settings/webhooks.html ===== */
body[data-erp-page="settings/webhooks"] .settings-wrap {max-width:1200px;margin:32px auto;padding:0 16px;color:#e7e7ea;font-family:system-ui,Segoe UI,Roboto,Arial,sans-serif;}

body[data-erp-page="settings/webhooks"] .settings-card {background:#151618;border:1px solid #202228;border-radius:16px;padding:24px;box-shadow:0 18px 42px rgba(0,0,0,.45);display:flex;flex-direction:column;gap:24px;}

body[data-erp-page="settings/webhooks"] h1 {margin:0;font-size:26px;font-weight:800;}

body[data-erp-page="settings/webhooks"] h2 {margin:0;font-size:20px;font-weight:700;}

body[data-erp-page="settings/webhooks"] .muted {color:#a0a0a7;font-size:14px;}

body[data-erp-page="settings/webhooks"] .error-message {color:#ff7a7a;padding:12px 16px;border-radius:12px;background:#3c1414;border:1px solid #7a2a2a;margin-bottom:16px;min-height:18px;}

body[data-erp-page="settings/webhooks"] .success-message {color:#7aff7a;padding:12px 16px;border-radius:12px;background:#143c14;border:1px solid #2a7a2a;margin-bottom:16px;min-height:18px;}

body[data-erp-page="settings/webhooks"] .loading {color:#a0a0a7;padding:12px 16px;text-align:center;}

body[data-erp-page="settings/webhooks"] .webhooks-table {width:100%;border-collapse:collapse;font-size:13px;margin-top:16px;}

body[data-erp-page="settings/webhooks"] .webhooks-table thead th {background:#101215;color:#a0a0a7;text-align:left;padding:12px;border-bottom:1px solid #23252b;font-weight:600;}

body[data-erp-page="settings/webhooks"] .webhooks-table tbody td {padding:12px;border-bottom:1px solid #1e2026;}

body[data-erp-page="settings/webhooks"] .webhooks-table tbody tr:hover td {background:#191c23;}

body[data-erp-page="settings/webhooks"] .webhooks-table tbody tr:last-child td {border-bottom:none;}

body[data-erp-page="settings/webhooks"] .provider-row td {background:#0d0e12;color:#ffd454;font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:11px;border-bottom:1px solid #23252b;}

body[data-erp-page="settings/webhooks"] .status-badge {display:inline-block;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:700;text-transform:uppercase;}

body[data-erp-page="settings/webhooks"] .status-enabled {background:#1a3a1a;color:#7aff7a;border:1px solid #2a7a2a;}

body[data-erp-page="settings/webhooks"] .status-disabled {background:#3a1a1a;color:#ff7a7a;border:1px solid #7a2a2a;}

body[data-erp-page="settings/webhooks"] .action-badge {display:inline-block;padding:4px 8px;border-radius:6px;font-size:11px;font-weight:600;background:#2a2c33;color:#e7e7ea;}

body[data-erp-page="settings/webhooks"] .url-cell {max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

body[data-erp-page="settings/webhooks"] .webhook-modal .modal {max-width:640px;}

body[data-erp-page="settings/webhooks"] .webhook-modal .form-group textarea {width:100%;min-height:80px;}

body[data-erp-page="settings/webhooks"] .webhook-modal .meta-row {display:grid;gap:10px;grid-template-columns:1fr 1fr;}

body[data-erp-page="settings/webhooks"] .webhook-modal .meta-actions {display:flex;gap:10px;justify-content:flex-end;margin-top:16px;}

body[data-erp-page="settings/webhooks"] .webhook-modal .meta-actions .refresh-btn {padding:10px 18px;}

body[data-erp-page="settings/webhooks"] .url-cell a {color:#ffd454;text-decoration:none;}

body[data-erp-page="settings/webhooks"] .url-cell a:hover {text-decoration:underline;}

body[data-erp-page="settings/webhooks"] .table-wrap {border:1px solid #23252b;border-radius:14px;overflow:hidden;background:#0f1013;}

body[data-erp-page="settings/webhooks"] .empty-state {text-align:center;padding:48px 24px;color:#a0a0a7;}

body[data-erp-page="settings/webhooks"] .empty-state-icon {font-size:48px;margin-bottom:16px;}

body[data-erp-page="settings/webhooks"] .refresh-btn {padding:12px 18px;border-radius:12px;border:0;cursor:pointer;font-weight:700;background:#ffd454;color:#141517;transition:opacity 0.2s;}

body[data-erp-page="settings/webhooks"] .refresh-btn:hover {opacity:0.9;}

body[data-erp-page="settings/webhooks"] .refresh-btn:disabled {opacity:.6;cursor:not-allowed;}

body[data-erp-page="settings/webhooks"] .settings-actions {display:flex;flex-wrap:wrap;gap:12px;align-items:center;}

body[data-erp-page="settings/webhooks"] .toggle-btn {padding:6px 12px;border-radius:10px;border:1px solid #1f2126;font-size:12px;font-weight:600;cursor:pointer;background:#0f1013;color:#e7e7ea;}

body[data-erp-page="settings/webhooks"] .toggle-btn.enabled {background:#1a3a1a;color:#7aff7a;border-color:#2a7a2a;}

body[data-erp-page="settings/webhooks"] .toggle-btn.disabled {background:#3a1a1a;color:#ff7a7a;border-color:#7a2a2a;}

body[data-erp-page="settings/webhooks"] .tabs {display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;}

body[data-erp-page="settings/webhooks"] .tab-btn {padding:10px 16px;border-radius:12px;border:1px solid #1f2126;background:#0f1013;color:#e7e7ea;font-weight:600;cursor:pointer;}

body[data-erp-page="settings/webhooks"] .tab-btn.active {background:#ffd454;color:#141517;border-color:#ffd454;}

body[data-erp-page="settings/webhooks"] .tab-panel {margin-top:16px;}

body[data-erp-page="settings/webhooks"] .tab-panel.hidden {display:none;}

body[data-erp-page="settings/webhooks"] .rules-section {margin-top:0;}

body[data-erp-page="settings/webhooks"] .rules-table td .muted {font-size:12px;}

body[data-erp-page="settings/webhooks"] .modal-overlay {position:fixed;inset:0;background:rgba(0,0,0,0.7);display:none;align-items:center;justify-content:center;z-index:10000;}

body[data-erp-page="settings/webhooks"] .modal-overlay.show {display:flex !important;}

body[data-erp-page="settings/webhooks"] .modal {background:#121317;border:1px solid #202228;border-radius:16px;padding:24px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;color:#e7e7ea;font-family:system-ui,Segoe UI,Roboto,Arial,sans-serif;}

body[data-erp-page="settings/webhooks"] .modal h2 {margin:0 0 16px 0;color:#e7e7ea;}

body[data-erp-page="settings/webhooks"] .form-group {margin-bottom:16px;}

body[data-erp-page="settings/webhooks"] .form-group label {display:block;margin-bottom:6px;font-weight:600;color:#e7e7ea;}

body[data-erp-page="settings/webhooks"] .form-group input, body[data-erp-page="settings/webhooks"] .form-group select {width:100%;padding:10px 12px;background:#0f1013;color:#e7e7ea;border:1px solid #1f2126;border-radius:8px;font-size:14px;box-sizing:border-box;}

body[data-erp-page="settings/webhooks"] .form-group input:focus, body[data-erp-page="settings/webhooks"] .form-group select:focus {outline:none;border-color:#ffd454;box-shadow:0 0 0 2px rgba(255,212,84,0.1);}

body[data-erp-page="settings/webhooks"] .form-group .checkbox-group {display:flex;align-items:center;gap:8px;}

body[data-erp-page="settings/webhooks"] .form-group .checkbox-group input[type="checkbox"] {width:auto;}

body[data-erp-page="settings/webhooks"] .form-group .help-text {font-size:12px;color:#a0a0a7;margin-top:4px;}

body[data-erp-page="settings/webhooks"] .form-actions {display:flex;gap:12px;justify-content:flex-end;margin-top:24px;}

body[data-erp-page="settings/webhooks"] .form-actions button {padding:10px 18px;background:#0f1013;color:#e7e7ea;border:1px solid #1f2126;border-radius:10px;cursor:pointer;transition:background .2s ease;}

body[data-erp-page="settings/webhooks"] .form-actions button:hover {background:#1a1c21;}

body[data-erp-page="settings/webhooks"] .form-actions button.btn-cancel {background:transparent;border-color:#1f2126;}

body[data-erp-page="settings/webhooks"] .form-actions button.btn-cancel:hover {background:#1a1c21;}

body[data-erp-page="settings/webhooks"] .form-actions button.refresh-btn {background:#ffd454;color:#141517;font-weight:700;border-color:#ffd454;}

body[data-erp-page="settings/webhooks"] .form-actions button.refresh-btn:hover {opacity:0.9;}

/* ===== Page scoped: shipments/export.html ===== */
body[data-erp-page="shipments/export"] {
			--hover: #181a20;
			--bg-light: #1a1c20;
		}

body[data-erp-page="shipments/export"] .erp-page {
			padding: 24px;
			max-width: 1600px;
			margin: 0 auto;
		}

body[data-erp-page="shipments/export"] .erp-card {
			background: var(--panel);
			border: 1px solid var(--border);
			border-radius: 12px;
			padding: 24px;
			margin-bottom: 24px;
		}

body[data-erp-page="shipments/export"] .erp-h1 {
			margin: 0 0 24px 0;
			color: var(--ink);
			font-size: 24px;
			font-weight: 600;
		}

body[data-erp-page="shipments/export"] .toolbar {
			display: flex;
			gap: 12px;
			align-items: center;
			margin-bottom: 20px;
			flex-wrap: wrap;
		}

body[data-erp-page="shipments/export"] .toolbar .right {
			display: flex;
			gap: 8px;
			margin-left: auto;
			align-items: center;
		}

body[data-erp-page="shipments/export"] input[type="search"], body[data-erp-page="shipments/export"] input[type="text"], body[data-erp-page="shipments/export"] select {
			background: #111216;
			color: #e7e7ea;
			border: 1px solid #1f2126;
			border-radius: 10px;
			padding: 8px 10px;
			font-size: 14px;
		}

body[data-erp-page="shipments/export"] input[type="search"]:focus, body[data-erp-page="shipments/export"] input[type="text"]:focus, body[data-erp-page="shipments/export"] select:focus {
			outline: none;
			border-color: var(--primary);
		}

body[data-erp-page="shipments/export"] table {
			width: 100%;
			border-collapse: collapse;
			background: var(--panel);
			border: 1px solid var(--border);
			border-radius: 12px;
			overflow: hidden;
		}

body[data-erp-page="shipments/export"] th, body[data-erp-page="shipments/export"] td {
			padding: 12px;
			border-bottom: 1px solid var(--border);
			text-align: left;
			font-size: 14px;
		}

body[data-erp-page="shipments/export"] th {
			background: var(--bg);
			color: var(--muted);
			font-weight: 600;
			position: sticky;
			top: 0;
			z-index: 1;
		}

body[data-erp-page="shipments/export"] td {
			color: var(--ink);
		}

body[data-erp-page="shipments/export"] tbody tr:hover {
			background: var(--hover);
			cursor: pointer;
		}

body[data-erp-page="shipments/export"] .muted {
			color: var(--muted);
		}

body[data-erp-page="shipments/export"] .status {
			display: inline-block;
			padding: 2px 8px;
			border-radius: 999px;
			background: #1b1d22;
			font-size: 12px;
		}

body[data-erp-page="shipments/export"] .num {
			text-align: right;
		}

body[data-erp-page="shipments/export"] .text-right {
			text-align: right;
		}

body[data-erp-page="shipments/export"] #hsCatalogTab .tab-footer {
      display:flex; justify-content:space-between; align-items:center; gap:12px;
    }

body[data-erp-page="shipments/export"] .hs-footer-left {
      flex:1; display:flex; align-items:center; gap:10px; min-width:0;
    }

body[data-erp-page="shipments/export"] .hs-footer-left input[type="search"] {
      flex:1; min-width:240px; padding:8px 10px; border:1px solid #ddd; border-radius:4px;
      height:36px; 
    }

body[data-erp-page="shipments/export"] .hs-footer-left .btn-secondary { height:36px; }

body[data-erp-page="shipments/export"] .hs-footer-right {
      flex:0 0 auto; display:flex; align-items:center;
    }

body[data-erp-page="shipments/export"] .hs-footer-right .btn-green { height:36px; }

body[data-erp-page="shipments/export"] .handsontable .search-match { background:#fff3cd !important }

body[data-erp-page="shipments/export"] .muted { color:#888; font-size:12px }

@media (max-width:768px) {
body[data-erp-page="shipments/export"] #hsCatalogTab .tab-footer { flex-direction:column; align-items:stretch; }

body[data-erp-page="shipments/export"] .hs-footer-left { width:100%; }

body[data-erp-page="shipments/export"] .hs-footer-right .btn-green { width:100%; }
}

body[data-erp-page="shipments/export"] * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

body[data-erp-page="shipments/export"] .hot-container {
      overflow: auto !important;
    }

body[data-erp-page="shipments/export"] .handsontable .wtHolder {
      overflow: auto !important;
    }

body[data-erp-page="shipments/export"] #loadBtn {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
    }

body[data-erp-page="shipments/export"] .handsontable .ht_master .wtHolder {
      overflow: auto !important;
    }

body[data-erp-page="shipments/export"] .handsontable .ht_clone_left .wtHolder {
      overflow: hidden !important;
      position: relative;
    }

body[data-erp-page="shipments/export"] .handsontable .ht_clone_top .wtHolder {
      overflow: hidden !important;
      position: relative;
    }

body[data-erp-page="shipments/export"] .handsontable .ht_clone_top_left_corner {
      border-right: none;
      border-bottom: none;
    }

body[data-erp-page="shipments/export"] .hs-footer-bar {
      display:flex; align-items:center; justify-content:space-between; gap:12px;
    }

body[data-erp-page="shipments/export"] .hs-searchbar {
      display:flex; gap:8px; align-items:center; flex:1;
      min-width: 240px;
    }

body[data-erp-page="shipments/export"] .hs-searchbar input[type="search"] {
      flex:1; padding:8px 10px; border:1px solid #ddd; border-radius:4px
    }

body[data-erp-page="shipments/export"] .muted { color:#888; font-size:12px }

body[data-erp-page="shipments/export"] .handsontable .search-match { background:#fff3cd !important }

@media (max-width: 768px) {
body[data-erp-page="shipments/export"] .hs-footer-bar { flex-direction:column; align-items:stretch }

body[data-erp-page="shipments/export"] .hs-searchbar { width:100% }

body[data-erp-page="shipments/export"] .hs-footer-bar .btn-green { width:100% }
}

body[data-erp-page="shipments/export"] .pagination {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 20px;
      margin: 20px 0;
      padding: 10px 0;
      border-top: 1px solid var(--border);
    }

body[data-erp-page="shipments/export"] .btn-secondary.view-btn {
      padding: 8px 15px;
      height: 36px;
      display: flex;
      align-items: center;
      justify-content: center;
    }

body[data-erp-page="shipments/export"] .pagination-info {
      margin: 0 15px;
      font-weight: 500;
    }

body[data-erp-page="shipments/export"] .modal {
			position:fixed;
			inset:0;
			background:rgba(0,0,0,.6);
			display:none;
			align-items:center;
			justify-content:center;
			z-index:2000
		}

body[data-erp-page="shipments/export"] .modal.open {display:flex}

body[data-erp-page="shipments/export"] .modal .erp-card {
			width:min(900px,95vw);
			max-height:85vh;
			overflow:auto;
			background:var(--panel);
			border:1px solid var(--border);
			border-radius:16px;
			padding:16px;
			position:relative
		}

body[data-erp-page="shipments/export"] .modal .card h2 {margin:0 0 6px 0}

body[data-erp-page="shipments/export"] .modal .close {margin-left:auto}

body[data-erp-page="shipments/export"] .modal .grid {display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;margin-bottom:10px}

body[data-erp-page="shipments/export"] .modal .grid div {color:#a0a0a7}

body[data-erp-page="shipments/export"] .modal .row {display:flex;gap:8px;align-items:center;flex-wrap:wrap}

body[data-erp-page="shipments/export"] .modal .pill {padding:6px 10px;border-radius:10px;border:1px solid #1f2126;background:#0f1013;display:flex;align-items:center;gap:8px}

body[data-erp-page="shipments/export"] .modal .spacer {flex:1}

body[data-erp-page="shipments/export"] .hidden {
			display: none !important;
		}

body[data-erp-page="shipments/export"] .text-center {
			text-align: center;
		}

body[data-erp-page="shipments/export"] .card-header {
			display: flex;
			justify-content: space-between;
			align-items: center;
			margin-bottom: 16px;
			padding-bottom: 16px;
			border-bottom: 1px solid var(--border);
		}

body[data-erp-page="shipments/export"] .card-header span {
			font-size: 18px;
			font-weight: 600;
			color: var(--ink);
		}

body[data-erp-page="shipments/export"] .card-body {
			overflow-x: auto;
		}

body[data-erp-page="shipments/export"] .toolbar {
			display: flex;
			gap: 12px;
			align-items: center;
			margin-bottom: 20px;
			flex-wrap: wrap;
		}

body[data-erp-page="shipments/export"] .shipment-search {
			display: flex;
			gap: 8px;
			align-items: center;
			flex: 1;
			min-width: 240px;
		}

body[data-erp-page="shipments/export"] .shipment-search input[type="search"] {
			flex: 1;
			background: #111216;
			color: #e7e7ea;
			border: 1px solid #1f2126;
			border-radius: 10px;
			padding: 8px 10px;
		}

body[data-erp-page="shipments/export"] .btn {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			gap: 8px;
			padding: 8px 12px;
			border-radius: 10px;
			border: 1px solid #1f2126;
			background: #111216;
			color: #e7e7ea;
			cursor: pointer;
			font-size: 14px;
			font-weight: 500;
			transition: background 0.2s ease, border-color 0.2s ease;
		}

body[data-erp-page="shipments/export"] .btn:hover:not(:disabled) {
			background: #16181d;
			border-color: #2a2d34;
		}

body[data-erp-page="shipments/export"] .btn.primary {
			background: var(--primary);
			border-color: var(--primary);
			color: #fff;
		}

body[data-erp-page="shipments/export"] .btn.primary:hover:not(:disabled) {
			background: #2F6DFF;
			border-color: #2F6DFF;
		}

body[data-erp-page="shipments/export"] .btn.success {
			background: #2e7d32;
			border-color: #3d8b40;
			color: #fff;
		}

body[data-erp-page="shipments/export"] .btn.success:hover:not(:disabled) {
			background: #3d8b40;
		}

body[data-erp-page="shipments/export"] .btn.ghost {
			background: transparent;
			border-color: transparent;
		}

body[data-erp-page="shipments/export"] .btn.ghost:hover:not(:disabled) {
			background: rgba(255, 255, 255, 0.05);
		}

body[data-erp-page="shipments/export"] .btn:disabled {
			opacity: 0.6;
			cursor: not-allowed;
		}

body[data-erp-page="shipments/export"] .invoices-table {
			width: 100%;
			border-collapse: collapse;
			background: #121317;
			border: 1px solid #202228;
			border-radius: 12px;
			overflow: hidden;
		}

body[data-erp-page="shipments/export"] .invoices-table th, body[data-erp-page="shipments/export"] .invoices-table td {
			padding: 10px;
			border-bottom: 1px solid #202228;
			text-align: left;
			font-size: 13px;
		}

body[data-erp-page="shipments/export"] .invoices-table th {
			background: #0F1013;
			position: sticky;
			top: 0;
			z-index: 1;
			color: #A0A0A7;
			font-weight: 600;
		}

body[data-erp-page="shipments/export"] .invoices-table tbody tr:hover {
			background: #16181D;
			cursor: pointer;
		}

body[data-erp-page="shipments/export"] .invoice-number {
			font-weight: 600;
			color: #E7E7EA;
		}

body[data-erp-page="shipments/export"] .invoice-date {
			color: #A0A0A7;
			font-size: 13px;
		}

body[data-erp-page="shipments/export"] .invoice-status {
			color: #A0A0A7;
			font-size: 13px;
		}

body[data-erp-page="shipments/export"] .invoice-shipment {
			color: #E7E7EA;
			font-size: 13px;
		}

body[data-erp-page="shipments/export"] .card-body {
			padding: 0;
			overflow-x: auto;
		}

body[data-erp-page="shipments/export"] .cursor-pointer {
			cursor: pointer;
		}

body[data-erp-page="shipments/export"] .modal {
			display: none;
			position: fixed;
			z-index: 1000;
			left: 0;
			top: 0;
			width: 100vw;
			height: 100vh;
			background-color: rgba(0,0,0,0.7);
			overflow: hidden;
			margin: 0;
			padding: 0;
		}

body[data-erp-page="shipments/export"] .modal-content {
			display: flex;
			flex-direction: column;
			height: 100vh;
			width: 100vw;
			margin: 0;
			border-radius: 0;
			max-height: none;
			overflow: hidden;
			background-color: var(--panel);
		}

body[data-erp-page="shipments/export"] .modal-header {
			background-color: var(--panel);
			color: var(--ink);
			padding: 16px 20px;
			border-bottom: 1px solid var(--border);
			display: flex;
			justify-content: space-between;
			align-items: center;
			flex-shrink: 0;
		}

body[data-erp-page="shipments/export"] .modal-title {
			font-size: 18px;
			font-weight: 600;
			color: var(--ink);
		}

body[data-erp-page="shipments/export"] .close {
			color: var(--muted);
			float: right;
			font-size: 28px;
			font-weight: bold;
			cursor: pointer;
			margin-left: 15px;
			line-height: 1;
			transition: color 0.2s;
			background: none;
			border: none;
		}

body[data-erp-page="shipments/export"] .close:hover {
			color: var(--ink);
		}

body[data-erp-page="shipments/export"] .tabs {
			display: flex;
			border-bottom: 2px solid var(--border);
			background-color: var(--bg);
			flex-shrink: 0;
		}

body[data-erp-page="shipments/export"] .tab-btn {
			padding: 12px 20px;
			background: none;
			border: none;
			cursor: pointer;
			font-weight: 600;
			color: var(--muted);
			border-bottom: 2px solid transparent;
			margin-bottom: -2px;
			transition: all 0.2s;
		}

body[data-erp-page="shipments/export"] .tab-btn:hover {
			color: var(--ink);
		}

body[data-erp-page="shipments/export"] .tab-btn.active {
			color: var(--ink);
			border-bottom-color: var(--ink);
		}

body[data-erp-page="shipments/export"] .tab-btn.excel-btn {
			background-color: #4caf50;
			color: white;
			border-bottom: none;
		}

body[data-erp-page="shipments/export"] .tab-btn.excel-btn:hover {
			background-color: #3d8b40;
		}

body[data-erp-page="shipments/export"] .tab-content {
			display: none;
			flex: 1;
			overflow: hidden;
			flex-direction: column;
		}

body[data-erp-page="shipments/export"] .tab-content.active {
			display: flex;
		}

body[data-erp-page="shipments/export"] .tab-body {
			flex: 1;
			overflow-y: auto;
			padding: 20px;
			position: relative;
		}

body[data-erp-page="shipments/export"] .hot-container {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      height: 100%;
      width: 100%;
    }

body[data-erp-page="shipments/export"] .handsontable {
      color: #000 !important;
    }

body[data-erp-page="shipments/export"] .handsontable th {
			background-color: var(--bg) !important;
			color: var(--muted) !important;
			font-weight: 600 !important;
			text-align: center !important;
		}

body[data-erp-page="shipments/export"] .handsontable td {
      vertical-align: middle !important;
      color: #000 !important;
    }

body[data-erp-page="shipments/export"] .handsontable .htInvalid {
      background-color: #ffebee !important;
    }

body[data-erp-page="shipments/export"] .handsontable .htBold {
      font-weight: bold !important;
    }

body[data-erp-page="shipments/export"] .handsontable .htTotals {
      background-color: #f5f5f5 !important;
      font-weight: bold !important;
    }

body[data-erp-page="shipments/export"] .handsontable .handsontableInput {
      color: #000 !important;
    }

body[data-erp-page="shipments/export"] .tab-footer {
			flex-shrink: 0;
			padding: 15px 20px;
			background: var(--panel);
			border-top: 1px solid var(--border);
		}

body[data-erp-page="shipments/export"] .text-yellow {
      color: var(--cat-yellow);
    }

body[data-erp-page="shipments/export"] .mb-20 {
      margin-bottom: 20px;
    }

body[data-erp-page="shipments/export"] .mt-20 {
      margin-top: 20px;
    }

body[data-erp-page="shipments/export"] .form-grid {
			display: grid;
			grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
			gap: 16px;
			margin-bottom: 20px;
		}

body[data-erp-page="shipments/export"] .form-field {
			display: flex;
			flex-direction: column;
			gap: 6px;
		}

body[data-erp-page="shipments/export"] .form-actions {
			display: flex;
			gap: 10px;
			justify-content: flex-end;
			flex-wrap: wrap;
			margin-top: 10px;
		}

body[data-erp-page="shipments/export"] .form-field.full {
			grid-column: 1 / -1;
		}

body[data-erp-page="shipments/export"] .form-label {
			font-weight: 600;
			color: var(--muted);
			letter-spacing: 0.02em;
		}

body[data-erp-page="shipments/export"] .form-input, body[data-erp-page="shipments/export"] .form-textarea, body[data-erp-page="shipments/export"] input[type="text"], body[data-erp-page="shipments/export"] input[type="number"], body[data-erp-page="shipments/export"] input[type="search"], body[data-erp-page="shipments/export"] textarea, body[data-erp-page="shipments/export"] select {
			width: 100%;
			padding: 10px 12px;
			border-radius: 10px;
			border: 1px solid var(--border);
			background-color: var(--bg);
			color: var(--ink);
			font: inherit;
			transition: border-color 0.2s ease, box-shadow 0.2s ease;
		}

body[data-erp-page="shipments/export"] .form-input:focus, body[data-erp-page="shipments/export"] .form-textarea:focus, body[data-erp-page="shipments/export"] input[type="text"]:focus, body[data-erp-page="shipments/export"] input[type="number"]:focus, body[data-erp-page="shipments/export"] input[type="search"]:focus, body[data-erp-page="shipments/export"] textarea:focus, body[data-erp-page="shipments/export"] select:focus {
			outline: none;
			border-color: var(--primary);
			box-shadow: 0 0 0 3px rgba(255, 205, 17, 0.15);
		}

body[data-erp-page="shipments/export"] .form-textarea, body[data-erp-page="shipments/export"] textarea {
			resize: vertical;
			min-height: 120px;
		}

body[data-erp-page="shipments/export"] .tab-body--form {
			background-color: var(--bg);
			border-bottom: 1px solid var(--border);
		}

body[data-erp-page="shipments/export"] .loading-overlay {
      position: fixed;
      inset: 0;
      background: rgba(0, 0, 0, 0.7);
      display: none;
      align-items: center;
      justify-content: center;
      z-index: 2000;
    }

body[data-erp-page="shipments/export"] .loading-overlay.show {
      display: flex;
    }

body[data-erp-page="shipments/export"] .loading-modal {
      background: var(--panel);
      border: 1px solid var(--border);
      border-radius: 16px;
      padding: 32px;
      text-align: center;
      min-width: 300px;
    }

body[data-erp-page="shipments/export"] .loading-title {
      color: var(--ink);
      font-size: 18px;
      font-weight: 600;
      margin-bottom: 16px;
    }

body[data-erp-page="shipments/export"] .spinner {
      width: 40px;
      height: 40px;
      border: 4px solid var(--border);
      border-top-color: var(--primary);
      border-radius: 50%;
      animation: spin 1s linear infinite;
      margin: 0 auto;
    }

@keyframes spin {
      to { transform: rotate(360deg); }
    }

@media (max-width: 768px) {
body[data-erp-page="shipments/export"] .erp-page {
        padding: 16px;
      }

body[data-erp-page="shipments/export"] .toolbar {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
      }

body[data-erp-page="shipments/export"] .shipment-search {
        flex-direction: column;
        gap: 8px;
        min-width: auto;
      }

body[data-erp-page="shipments/export"] .shipment-search input {
        width: 100%;
      }
}

/* ===== Page scoped: shipments/list.html ===== */
body[data-erp-page="shipments/list"] #logisticsModal {
			position: fixed;
			inset: 0;
			background: rgba(0,0,0,0.6);
			display: none;
			align-items: flex-start;
			justify-content: center;
			overflow-y: auto;
			padding: 16px 0;
			z-index: 3000;
		}

body[data-erp-page="shipments/list"] #logisticsModal .modal-card {
			background: var(--panel);
			border: 1px solid var(--border);
			border-radius: 12px;
			padding: 16px;
			width: min(620px, calc(100vw - 32px));
			max-height: calc(100vh - 32px);
			overflow-y: auto;
			overflow-x: hidden;
			margin: 0 auto;
			box-shadow: 0 10px 30px rgba(0,0,0,0.4);
		}

body[data-erp-page="shipments/list"] #logisticsModal .modal-header {
			display: flex;
			justify-content: space-between;
			align-items: center;
			margin-bottom: 16px;
		}

body[data-erp-page="shipments/list"] #logisticsModal h3 {
			margin: 0;
			font-size: 18px;
			color: var(--ink);
		}

body[data-erp-page="shipments/list"] #logisticsModal .modal-close-btn {
			background: none;
			border: none;
			font-size: 28px;
			line-height: 1;
			color: var(--muted);
			cursor: pointer;
			padding: 0;
			width: 32px;
			height: 32px;
			display: flex;
			align-items: center;
			justify-content: center;
			border-radius: 4px;
			transition: background-color 0.15s, color 0.15s;
		}

body[data-erp-page="shipments/list"] #logisticsModal .modal-close-btn:hover {
			background: var(--hover);
			color: var(--ink);
		}

body[data-erp-page="shipments/list"] #logisticsModal .field {
			display: grid;
			grid-template-columns: 136px minmax(0, 1fr);
			align-items: center;
			gap: 8px 14px;
			margin-bottom: 12px;
		}

body[data-erp-page="shipments/list"] #logisticsModal label {
			display: block;
			font-weight: 600;
			color: var(--muted);
			margin-bottom: 0;
			min-width: 0;
		}

body[data-erp-page="shipments/list"] #logisticsModal input[type="text"], body[data-erp-page="shipments/list"] #logisticsModal input[type="file"] {
			width: 100%;
			min-width: 0;
			box-sizing: border-box;
			padding: 8px 10px;
			border: 1px solid var(--border);
			border-radius: 8px;
			background: var(--bg);
			color: var(--ink);
		}

body[data-erp-page="shipments/list"] #logisticsModal .logistics-dropzone {
			position: relative;
			box-sizing: border-box;
			border: 2px dashed var(--border);
			border-radius: 10px;
			padding: 18px 12px;
			background: var(--bg);
			text-align: center;
			color: var(--muted);
			transition: border-color 0.15s, background-color 0.15s, color 0.15s;
			cursor: pointer;
		}

body[data-erp-page="shipments/list"] #logisticsModal .logistics-dropzone:focus-visible {
			outline: 2px solid #2ecc71;
			outline-offset: 2px;
		}

body[data-erp-page="shipments/list"] #logisticsModal .logistics-dropzone.is-dragover,
body[data-erp-page="shipments/list"] #logisticsModal .logistics-dropzone.is-pasted {
			border-color: #2ecc71;
			background: rgba(46, 204, 113, 0.12);
			color: #2ecc71;
		}

body[data-erp-page="shipments/list"] #logisticsModal .logistics-file-input {
			position: absolute;
			inset: 0;
			opacity: 0;
			cursor: pointer;
		}

body[data-erp-page="shipments/list"] #logisticsModal .readonly {
			background: #121317;
			color: var(--muted);
		}

body[data-erp-page="shipments/list"] #logisticsModal .field > :not(label) {
			grid-column: 2;
			min-width: 0;
		}

body[data-erp-page="shipments/list"] #logisticsModal .logistics-action-row {
			display: flex;
			flex-wrap: wrap;
			gap: 8px;
			margin-top: 8px;
			min-width: 0;
		}

body[data-erp-page="shipments/list"] #logisticsModal .logistics-action-row .erp-btn {
			flex: 1 1 180px !important;
			min-width: 0;
			max-width: 100%;
			white-space: normal;
			text-align: center;
		}

body[data-erp-page="shipments/list"] #logisticsModal .actions {
			display: flex;
			justify-content: flex-end;
			gap: 8px;
			margin-top: 8px;
		}

@media (max-width: 640px) {
			body[data-erp-page="shipments/list"] #logisticsModal {
				padding: 12px;
			}

			body[data-erp-page="shipments/list"] #logisticsModal .modal-card {
				width: 100%;
			}

			body[data-erp-page="shipments/list"] #logisticsModal .field {
				grid-template-columns: minmax(0, 1fr);
			}

			body[data-erp-page="shipments/list"] #logisticsModal .field > :not(label) {
				grid-column: 1;
			}
		}

body[data-erp-page="shipments/list"] .erp-modal {
			position: fixed;
			inset: 0;
			background: rgba(0,0,0,0.6);
			display: none;
			align-items: center;
			justify-content: center;
			z-index: 3001;
		}

body[data-erp-page="shipments/list"] .erp-modal-content {
			background: var(--panel);
			border: 1px solid var(--border);
			border-radius: 12px;
			padding: 0;
			width: min(500px, 95vw);
			box-shadow: 0 10px 30px rgba(0,0,0,0.4);
		}

body[data-erp-page="shipments/list"] .erp-modal-header {
			display: flex;
			justify-content: space-between;
			align-items: center;
			padding: 16px;
			border-bottom: 1px solid var(--border);
		}

body[data-erp-page="shipments/list"] .erp-modal-header h3 {
			margin: 0;
			font-size: 18px;
			color: var(--ink);
		}

body[data-erp-page="shipments/list"] .erp-modal-close {
			background: none;
			border: none;
			font-size: 28px;
			line-height: 1;
			color: var(--muted);
			cursor: pointer;
			padding: 0;
			width: 32px;
			height: 32px;
			display: flex;
			align-items: center;
			justify-content: center;
			border-radius: 4px;
			transition: background-color 0.15s, color 0.15s;
		}

body[data-erp-page="shipments/list"] .erp-modal-close:hover {
			background: var(--hover);
			color: var(--ink);
		}

body[data-erp-page="shipments/list"] .erp-modal-body {
			padding: 16px;
		}

body[data-erp-page="shipments/list"] .erp-modal-body .field {
			margin-bottom: 16px;
		}

body[data-erp-page="shipments/list"] .erp-modal-body .field:last-child {
			margin-bottom: 0;
		}

body[data-erp-page="shipments/list"] .erp-modal-body label {
			display: block;
			font-weight: 600;
			color: var(--muted);
			margin-bottom: 6px;
			font-size: 13px;
		}

body[data-erp-page="shipments/list"] .erp-modal-body .erp-input {
			width: 100%;
			padding: 8px 10px;
			border: 1px solid var(--border);
			border-radius: 8px;
			background: var(--bg);
			color: var(--ink);
			font-size: 14px;
		}

body[data-erp-page="shipments/list"] .erp-modal-body select.erp-input {
			cursor: pointer;
		}

body[data-erp-page="shipments/list"] .erp-modal-body select.erp-input option {
			background: var(--panel);
			color: var(--ink);
		}

body[data-erp-page="shipments/list"] .erp-modal-footer {
			display: flex;
			justify-content: flex-end;
			gap: 8px;
			padding: 16px;
			border-top: 1px solid var(--border);
		}

body[data-erp-page="shipments/list"] {
			--hover: #181a20;
			--bg-light: #1a1c20;
		}

body[data-erp-page="shipments/list"] .erp-page {
			max-width: 100%;
			width: 100%;
		}

body[data-erp-page="shipments/list"] .erp-card {
			max-width: 100%;
			width: 100%;
		}

body[data-erp-page="shipments/list"] .invoices-table {
			width: 100%;
			border-collapse: collapse;
			margin-top: 16px;
		}

body[data-erp-page="shipments/list"] .invoices-table th, body[data-erp-page="shipments/list"] .invoices-table td {
			padding: 12px 8px;
			border-bottom: 1px solid var(--border);
			text-align: left;
		}

body[data-erp-page="shipments/list"] .invoices-table th {
			color: var(--muted);
			font-size: 13px;
			font-weight: 600;
		}

body[data-erp-page="shipments/list"] .invoices-table td {
			font-size: 14px;
		}

body[data-erp-page="shipments/list"] .invoices-table tbody tr {
			cursor: pointer;
			transition: background-color 0.15s;
		}

body[data-erp-page="shipments/list"] .invoices-table tbody tr:hover {
				background: var(--bg-light);
			}

body[data-erp-page="shipments/list"] .load-more-wrap {
				display: flex;
				justify-content: center;
				align-items: center;
				gap: 12px;
				margin: 20px 0;
				padding: 10px 0;
				border-top: 1px solid var(--border);
			}

body[data-erp-page="shipments/list"] .load-more-status {
				font-weight: 500;
			}

body[data-erp-page="shipments/list"] .coo-mismatch {
				background: #3a261c !important;
				color: #f4d3a6 !important;
		}

body[data-erp-page="shipments/list"] .logistics-success {
			color: #2ecc71 !important;
			font-weight: 700;
		}

body[data-erp-page="shipments/list"] #shippingInvoiceModal {
			position: fixed;
			inset: 0;
			background: rgba(0,0,0,0.65);
			display: none;
			align-items: center;
			justify-content: center;
			z-index: 3200;
		}

body[data-erp-page="shipments/list"] #shippingInvoiceModal .card {
			background: var(--panel);
			border: 1px solid var(--border);
			border-radius: 12px;
			width: min(780px, 95vw);
			max-height: 90vh;
			display: flex;
			flex-direction: column;
			box-shadow: 0 18px 40px rgba(0,0,0,0.45);
		}

body[data-erp-page="shipments/list"] #shippingInvoiceModal .card-header {
			display: flex;
			justify-content: space-between;
			align-items: center;
			padding: 14px 16px;
			border-bottom: 1px solid var(--border);
		}

body[data-erp-page="shipments/list"] #shippingInvoiceModal .card-body {
			padding: 16px;
			overflow: auto;
		}

body[data-erp-page="shipments/list"] #shippingInvoiceModal .card-footer {
			padding: 12px 16px;
			border-top: 1px solid var(--border);
			display: flex;
			justify-content: flex-end;
			gap: 10px;
		}

body[data-erp-page="shipments/list"] .shipping-table {
			width: 100%;
			border-collapse: collapse;
			margin-top: 8px;
		}

body[data-erp-page="shipments/list"] .shipping-table th, body[data-erp-page="shipments/list"] .shipping-table td {
			border-bottom: 1px solid var(--border);
			padding: 10px 8px;
			text-align: left;
		}

body[data-erp-page="shipments/list"] .shipping-table input {
			width: 100%;
			padding: 6px 8px;
			border: 1px solid var(--border);
			border-radius: 8px;
			background: var(--bg);
			color: var(--ink);
		}

body[data-erp-page="shipments/list"] .shipping-total {
			text-align: right;
			font-weight: 700;
			margin-top: 12px;
			font-size: 15px;
			color: var(--ink);
		}

body[data-erp-page="shipments/list"] .shipping-meta {
			display: flex;
			gap: 12px;
			align-items: center;
			margin-top: 12px;
			flex-wrap: wrap;
		}

body[data-erp-page="shipments/list"] .shipping-meta input {
			width: 80px;
			padding: 6px 8px;
			border: 1px solid var(--border);
			border-radius: 8px;
			background: var(--bg);
			color: var(--ink);
		}

body[data-erp-page="shipments/list"] .freight-invoice-ready {
			background: #2ecc71 !important;
			border-color: #2ecc71 !important;
			color: #0b0d12 !important;
		}

body[data-erp-page="shipments/list"] .disabled-btn {
			background: #6b7280 !important;
			border-color: #6b7280 !important;
			color: #e5e7eb !important;
			cursor: not-allowed;
			opacity: 0.8;
		}

body[data-erp-page="shipments/list"] .shipped-done {
			cursor: not-allowed !important;
		}

body[data-erp-page="shipments/list"] #packedStatusBtn {
			background: #1a5fff;
			border-color: #2f6dff;
			color: #fff;
			justify-content: center;
			text-align: center;
		}

body[data-erp-page="shipments/list"] #documentsBtn {
			justify-content: center;
			text-align: center;
		}

body[data-erp-page="shipments/list"] #issueCiModal {
			position: fixed;
			inset: 0;
			background: rgba(0,0,0,0.65);
			display: none;
			align-items: center;
			justify-content: center;
			z-index: 3300;
		}

body[data-erp-page="shipments/list"] #issueCiModal .card {
			background: var(--panel);
			border: 1px solid var(--border);
			border-radius: 12px;
			width: min(520px, 95vw);
			max-height: 90vh;
			display: flex;
			flex-direction: column;
			box-shadow: 0 18px 40px rgba(0,0,0,0.45);
		}

body[data-erp-page="shipments/list"] #issueCiModal .card-header, body[data-erp-page="shipments/list"] #issueCiModal .card-footer {
			padding: 14px 16px;
			border-bottom: 1px solid var(--border);
			display: flex;
			align-items: center;
			justify-content: space-between;
			gap: 10px;
		}

body[data-erp-page="shipments/list"] #issueCiModal .card-body {
			padding: 16px;
			overflow: auto;
			display: flex;
			flex-direction: column;
			gap: 10px;
		}

body[data-erp-page="shipments/list"] .issue-template {
			border: 1px solid var(--border);
			border-radius: 8px;
			padding: 10px 12px;
			background: var(--bg);
			display: flex;
			justify-content: space-between;
			align-items: center;
			gap: 12px;
			cursor: pointer;
			transition: background 0.15s, border-color 0.15s;
		}

body[data-erp-page="shipments/list"] .issue-template:hover {
			background: var(--hover);
			border-color: var(--muted);
		}

body[data-erp-page="shipments/list"] .issue-template-title {
			font-weight: 700;
			color: var(--ink);
		}

body[data-erp-page="shipments/list"] .issue-template-desc {
			color: var(--muted);
			font-size: 12px;
		}

body[data-erp-page="shipments/list"] .freight-card {
			margin-top: 14px;
			padding: 12px;
			border: 1px solid var(--border);
			border-radius: 10px;
			background: var(--bg);
			box-sizing: border-box;
			width: 100%;
		}

body[data-erp-page="shipments/list"] .freight-title {
			font-weight: 700;
			margin-bottom: 8px;
			color: var(--ink);
		}

body[data-erp-page="shipments/list"] .freight-row {
			display: flex;
			justify-content: space-between;
			gap: 8px;
			padding: 4px 0;
			color: var(--ink);
		}

body[data-erp-page="shipments/list"] .freight-label {
			color: var(--muted);
			font-weight: 600;
			min-width: 0;
		}

body[data-erp-page="shipments/list"] .freight-value {
			font-weight: 600;
			min-width: 0;
			text-align: right;
			overflow-wrap: anywhere;
		}

body[data-erp-page="shipments/list"] .freight-source {
			margin-top: 6px;
			font-size: 12px;
			color: var(--muted);
		}

body[data-erp-page="shipments/list"] .freight-card.has-data .freight-title, body[data-erp-page="shipments/list"] .freight-card.has-data .freight-value {
			color: #2ecc71;
		}

body[data-erp-page="shipments/list"] .freight-label.not-found, body[data-erp-page="shipments/list"] .freight-value.not-found {
			color: #e74c3c !important;
		}

body[data-erp-page="shipments/list"] .logistics-btn {
			background: #f5c843 !important;
			color: #0b0d12 !important;
			border: 1px solid #f5c843 !important;
			font-weight: 700;
			border-radius: 999px;
			box-shadow: 0 4px 10px rgba(245, 200, 67, 0.25);
			padding: 6px 14px;
			transition: transform 0.12s ease, box-shadow 0.12s ease, filter 0.12s ease;
		}

body[data-erp-page="shipments/list"] .logistics-btn:hover {
			transform: translateY(-1px);
			box-shadow: 0 6px 14px rgba(245, 200, 67, 0.32);
			filter: brightness(1.04);
		}

body[data-erp-page="shipments/list"] .invoice-number {
			font-weight: 600;
			color: var(--ink);
		}

body[data-erp-page="shipments/list"] .invoice-date {
			color: var(--muted);
			font-size: 13px;
		}

body[data-erp-page="shipments/list"] .customer-name {
			font-weight: 500;
		}

body[data-erp-page="shipments/list"] .invoice-status {
			color: var(--muted);
			font-size: 13px;
		}

body[data-erp-page="shipments/list"] .total-sum {
			font-weight: 600;
			text-align: right;
		}

body[data-erp-page="shipments/list"] .toolbar {
			display: flex;
			gap: 12px;
			align-items: center;
			margin-bottom: 20px;
			flex-wrap: wrap;
		}

body[data-erp-page="shipments/list"] .empty-state {
			text-align: center;
			padding: 60px 20px;
			color: var(--muted);
		}

body[data-erp-page="shipments/list"] .empty-state-icon {
			font-size: 48px;
			margin-bottom: 16px;
		}

body[data-erp-page="shipments/list"] .empty-state-text {
			font-size: 18px;
			font-weight: 600;
			margin-bottom: 8px;
		}

body[data-erp-page="shipments/list"] .empty-state-subtext {
			font-size: 14px;
		}

body[data-erp-page="shipments/list"] .modal {
			display: none;
			position: fixed;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background: rgba(0,0,0,0.7);
			z-index: 1000;
		}

body[data-erp-page="shipments/list"] .modal-content {
			background: var(--panel);
			margin: 0;
			padding: 0;
			width: 100%;
			height: 100%;
			border-radius: 0;
			overflow: hidden;
			display: flex;
			flex-direction: column;
		}

body[data-erp-page="shipments/list"] .modal-header {
			padding: 16px 20px;
			border-bottom: 1px solid var(--border);
			display: flex;
			justify-content: space-between;
			align-items: center;
		}

body[data-erp-page="shipments/list"] .modal-title {
			font-size: 18px;
			font-weight: 600;
			color: var(--ink);
		}

body[data-erp-page="shipments/list"] .modal-close {
			background: none;
			border: none;
			font-size: 24px;
			cursor: pointer;
			color: var(--muted);
		}

body[data-erp-page="shipments/list"] .modal-close:hover {
			color: var(--ink);
		}

body[data-erp-page="shipments/list"] .modal-body {
			padding: 20px;
			flex: 1;
			overflow-y: auto;
		}

body[data-erp-page="shipments/list"] .items-table {
			width: 100%;
			border-collapse: collapse;
		}

body[data-erp-page="shipments/list"] .items-table th, body[data-erp-page="shipments/list"] .items-table td {
			padding: 12px 8px;
			border-bottom: 1px solid var(--border);
			text-align: left;
		}

body[data-erp-page="shipments/list"] .items-table th {
			color: var(--muted);
			font-size: 13px;
			font-weight: 600;
		}

body[data-erp-page="shipments/list"] .items-table td {
			font-size: 14px;
		}

body[data-erp-page="shipments/list"] .items-table tbody tr:hover {
			background: var(--bg-light);
		}

body[data-erp-page="shipments/list"] .empty-cell {
			background-color: rgba(255, 59, 48, 0.15);
			color: #ff3b30;
		}

body[data-erp-page="shipments/list"] #hotModal, body[data-erp-page="shipments/list"] #packingModal, body[data-erp-page="shipments/list"] #splitModal {
			display: none;
			position: fixed;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background: rgba(0,0,0,0.8);
		}

body[data-erp-page="shipments/list"] #packingModal, body[data-erp-page="shipments/list"] #splitModal { z-index: 1001; }

body[data-erp-page="shipments/list"] #hotModal { z-index: 1003; }

body[data-erp-page="shipments/list"] #hotModal.open, body[data-erp-page="shipments/list"] #packingModal.open, body[data-erp-page="shipments/list"] #splitModal.open {
			display: block;
		}

body[data-erp-page="shipments/list"] .split-modal-body {
			display: flex;
			flex-direction: column;
			gap: 12px;
		}

body[data-erp-page="shipments/list"] .split-rows {
			display: flex;
			flex-direction: column;
			gap: 8px;
			max-height: 320px;
			overflow-y: auto;
			padding-right: 4px;
		}

body[data-erp-page="shipments/list"] .split-row {
			display: grid;
			grid-template-columns: 1fr auto;
			gap: 8px;
			align-items: center;
		}

body[data-erp-page="shipments/list"] .split-row input {
			padding: 6px 8px;
			border: 1px solid var(--border);
			border-radius: 6px;
		}

body[data-erp-page="shipments/list"] .split-summary {
			font-size: 13px;
			color: var(--muted);
		}

body[data-erp-page="shipments/list"] .hot-modal-content {
			background: var(--panel);
			margin: 40px auto;
			padding: 0;
			width: calc(100% - 80px);
			height: calc(100% - 80px);
			border-radius: 8px;
			overflow: hidden;
			display: flex;
			flex-direction: column;
		}

body[data-erp-page="shipments/list"] .hot-modal-header {
			padding: 16px 20px;
			border-bottom: 1px solid var(--border);
			display: flex;
			justify-content: space-between;
			align-items: center;
		}

body[data-erp-page="shipments/list"] .hot-modal-body {
			padding: 20px;
			flex: 1;
			overflow: hidden;
			display: flex;
			flex-direction: column;
		}

body[data-erp-page="shipments/list"] #hotBox {
			flex: 1;
			overflow: hidden;
		}

body[data-erp-page="shipments/list"] .hot-modal-footer {
			padding: 16px 20px;
			border-top: 1px solid var(--border);
			display: flex;
			gap: 12px;
			justify-content: flex-end;
		}

body[data-erp-page="shipments/list"] .modal-actions {
			display: flex;
			gap: 8px;
			align-items: center;
			flex-wrap: nowrap;
			white-space: nowrap;
			width: 100%;
		}

body[data-erp-page="shipments/list"] .packing-toolbar-left.modal-actions {
			flex-wrap: nowrap;
			white-space: nowrap;
		}

body[data-erp-page="shipments/list"] .modal-actions .erp-btn {
			flex: 1 1 0;
		}

body[data-erp-page="shipments/list"] .modal-actions .erp-btn {
			font-size: 12px;
			padding: 6px 10px;
			min-height: 32px;
			font-family: inherit;
		}

body[data-erp-page="shipments/list"] .erp-btn-secondary {
			background: var(--bg);
			border: 1px solid var(--border);
		}

body[data-erp-page="shipments/list"] .erp-btn-secondary:hover {
			background: var(--hover);
		}

body[data-erp-page="shipments/list"] .tabs {
			display: flex;
			gap: 4px;
			margin-bottom: 16px;
			border-bottom: 2px solid var(--border);
		}

body[data-erp-page="shipments/list"] .tab-btn {
			padding: 10px 20px;
			background: none;
			border: none;
			color: var(--muted);
			cursor: pointer;
			font-weight: 600;
			border-bottom: 2px solid transparent;
			margin-bottom: -2px;
			transition: all 0.2s;
		}

body[data-erp-page="shipments/list"] .tab-btn:hover {
			color: var(--ink);
		}

body[data-erp-page="shipments/list"] .tab-btn.active {
			color: var(--ink);
			border-bottom-color: var(--ink);
		}

body[data-erp-page="shipments/list"] .packing-toolbar {
			display: flex;
			gap: 12px;
			align-items: center;
			justify-content: space-between;
			padding: 6px 2px 12px;
			flex-wrap: wrap;
		}

body[data-erp-page="shipments/list"] .packing-toolbar-left {
			display: flex;
			gap: 8px;
			align-items: center;
			flex-wrap: wrap;
		}

body[data-erp-page="shipments/list"] .progress-wrap {
			display: flex;
			align-items: center;
			gap: 10px;
			min-width: 220px;
		}

body[data-erp-page="shipments/list"] .progress-bar {
			flex: 1;
			height: 8px;
			background: #1a1c20;
			border: 1px solid #2b2f38;
			border-radius: 999px;
			overflow: hidden;
		}

body[data-erp-page="shipments/list"] .progress-fill {
			height: 100%;
			background: #2f7dff;
		}

body[data-erp-page="shipments/list"] .progress-text {
			color: var(--muted);
			font-size: 12px;
			white-space: nowrap;
		}

body[data-erp-page="shipments/list"] .active-dot {
			width: 10px;
			height: 10px;
			border-radius: 50%;
			display: inline-block;
		}

body[data-erp-page="shipments/list"] .active-dot.on {
			background: #2f7dff;
			box-shadow: 0 0 0 3px rgba(47,125,255,.15);
		}

body[data-erp-page="shipments/list"] .active-dot.off {
			background: #2b2f38;
		}

body[data-erp-page="shipments/list"] .active-chip {
			display: inline-flex;
			align-items: center;
			gap: 6px;
			padding: 2px 8px;
			border-radius: 999px;
			font-size: 12px;
			background: #15181d;
			border: 1px solid #2a2f38;
			color: var(--muted);
		}

body[data-erp-page="shipments/list"] .active-chip.on {
			color: #e7f1ff;
			border-color: #2f7dff;
		}

body[data-erp-page="shipments/list"] .active-chip-list {
			display: flex;
			gap: 6px;
			align-items: center;
		}

body[data-erp-page="shipments/list"] .active-cell {
			display: flex;
			align-items: center;
			gap: 8px;
		}

body[data-erp-page="shipments/list"] .tab-content {
			display: none;
			flex: 1;
			overflow: hidden;
		}

body[data-erp-page="shipments/list"] .tab-content.active {
			display: flex;
			flex-direction: column;
		}

body[data-erp-page="shipments/list"] .loading-overlay {
			position: fixed;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background-color: rgba(0,0,0,0.7);
			display: none;
			justify-content: center;
			align-items: center;
			z-index: 5000;
		}

body[data-erp-page="shipments/list"] .loading-modal {
			background-color: var(--panel);
			padding: 30px;
			border-radius: 12px;
			text-align: center;
			min-width: 300px;
			border: 1px solid var(--border);
		}

body[data-erp-page="shipments/list"] .loading-title {
			margin-bottom: 20px;
			color: var(--ink);
			font-weight: 600;
		}

body[data-erp-page="shipments/list"] .spinner {
			border: 4px solid rgba(255, 205, 17, 0.1);
			border-top: 4px solid var(--primary);
			border-radius: 50%;
			width: 40px;
			height: 40px;
			animation: spin 1s linear infinite;
			margin: 0 auto;
		}

@keyframes spin {
			0% { transform: rotate(0deg); }
			100% { transform: rotate(360deg); }
		}

@media (max-width: 768px) {
body[data-erp-page="shipments/list"] .toolbar {
				flex-direction: column;
				align-items: stretch;
				gap: 8px;
			}

body[data-erp-page="shipments/list"] .erp-btn {
				min-height: 44px;
			}

body[data-erp-page="shipments/list"] .invoices-table thead {
				display: none;
			}

body[data-erp-page="shipments/list"] .invoices-table, body[data-erp-page="shipments/list"] .invoices-table tbody, body[data-erp-page="shipments/list"] .invoices-table tr, body[data-erp-page="shipments/list"] .invoices-table td {
				display: block;
				width: 100%;
			}

body[data-erp-page="shipments/list"] .invoices-table tbody tr {
				background: var(--panel);
				border: 1px solid var(--border);
				border-radius: 8px;
				margin-bottom: 12px;
			}

body[data-erp-page="shipments/list"] .invoices-table td {
				padding: 10px 12px;
				display: flex;
				justify-content: space-between;
				align-items: baseline;
				gap: 12px;
			}

body[data-erp-page="shipments/list"] .invoices-table td::before {
				content: attr(data-label);
				color: var(--muted);
				font-size: 12px;
				font-weight: 600;
			}

body[data-erp-page="shipments/list"] .invoices-table .total-sum {
				text-align: left;
			}

body[data-erp-page="shipments/list"] .hot-modal-content {
				margin: 0;
				width: 100%;
				height: 100%;
				border-radius: 0;
			}

body[data-erp-page="shipments/list"] .modal-content {
				width: 100%;
				height: 100%;
				border-radius: 0;
			}

body[data-erp-page="shipments/list"] .modal-body {
				padding: 12px;
				overflow-x: auto;
			}

body[data-erp-page="shipments/list"] .modal-header {
				position: sticky;
				top: 0;
				z-index: 2;
				background: var(--panel);
				flex-direction: column;
				align-items: stretch;
				gap: 8px;
			}

body[data-erp-page="shipments/list"] .modal-header > div:last-child {
				display: flex !important;
				flex-direction: column !important;
				align-items: stretch !important;
				gap: 8px !important;
			}

body[data-erp-page="shipments/list"] .modal-title {
				font-size: 16px;
				white-space: nowrap;
				overflow: hidden;
				text-overflow: ellipsis;
			}

body[data-erp-page="shipments/list"] .modal-header .erp-btn {
				width: 100%;
				min-height: 44px;
				max-width: 100%;
				white-space: normal;
				word-break: break-word;
			}

body[data-erp-page="shipments/list"] .modal-close {
				align-self: flex-end;
				min-width: 44px;
				min-height: 44px;
				line-height: 1;
			}

body[data-erp-page="shipments/list"] .items-table {
				min-width: 720px;
			}

body[data-erp-page="shipments/list"] .tabs {
				flex-wrap: wrap;
			}

body[data-erp-page="shipments/list"] .tab-btn {
				padding: 10px 12px;
			}
}

/* ===== Page scoped: shipments/so_ready.html ===== */
body[data-erp-page="shipments/so_ready"] {
			--card-bg: #121317;
			--border: #202228;
			--primary: #FFCD11;
			--primary-light: rgba(255, 205, 17, 0.1);
			--text: #e7e7ea;
			--muted: #A0A0A7;
			--bg: #0b0b0c;
			--bg-light: #1a1c20;
		}

body[data-erp-page="shipments/so_ready"] .erp-card {
			max-width: none !important;
			width: 100% !important;
		}

body[data-erp-page="shipments/so_ready"] .erp-page {
			max-width: none !important;
			width: 100% !important;
			margin: 0 !important;
			padding: 0 !important;
		}

body[data-erp-page="shipments/so_ready"] .mosaic-grid { 
			display: grid; 
			grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); 
			gap: 16px; 
			margin-top: 16px;
		}

body[data-erp-page="shipments/so_ready"] .customer-card { 
			background: var(--card-bg); 
			border: 1px solid var(--border); 
			border-radius: 12px; 
			padding: 16px; 
			cursor: pointer; 
			transition: all 0.2s ease;
			position: relative;
		}

body[data-erp-page="shipments/so_ready"] .customer-card:hover { 
			border-color: var(--primary); 
			box-shadow: 0 4px 12px rgba(0,0,0,0.1); 
			transform: translateY(-2px);
		}

body[data-erp-page="shipments/so_ready"] .customer-card.selected { 
			border-color: var(--primary); 
			background: var(--primary-light); 
		}

body[data-erp-page="shipments/so_ready"] .customer-header { 
			display: flex; 
			justify-content: space-between; 
			align-items: flex-start; 
			margin-bottom: 12px;
		}

body[data-erp-page="shipments/so_ready"] .customer-name { 
			font-weight: 600; 
			font-size: 16px; 
			color: var(--text); 
			margin-bottom: 4px;
		}

body[data-erp-page="shipments/so_ready"] .customer-profile { 
			font-size: 13px; 
			color: var(--muted); 
			background: var(--bg-light); 
			padding: 4px 8px; 
			border-radius: 6px;
		}

body[data-erp-page="shipments/so_ready"] .customer-stats { 
			display: flex; 
			justify-content: space-between; 
			margin-bottom: 12px;
		}

body[data-erp-page="shipments/so_ready"] .stat-item { 
			text-align: center;
		}

body[data-erp-page="shipments/so_ready"] .stat-label { 
			font-size: 12px; 
			color: var(--muted); 
			margin-bottom: 2px;
		}

body[data-erp-page="shipments/so_ready"] .stat-value { 
			font-weight: 600; 
			font-size: 14px;
		}

body[data-erp-page="shipments/so_ready"] .stat-value.positive { color: #2e7d32; }

body[data-erp-page="shipments/so_ready"] .stat-value.negative { color: #d32f2f; }

body[data-erp-page="shipments/so_ready"] .stat-value.neutral { color: var(--text); }

body[data-erp-page="shipments/so_ready"] .orders-count { 
			font-size: 12px; 
			color: var(--muted); 
			text-align: center;
		}

body[data-erp-page="shipments/so_ready"] .customer-card .status-indicator {
			position: absolute;
			top: 12px;
			right: 12px;
			width: 8px;
			height: 8px;
			border-radius: 50%;
		}

body[data-erp-page="shipments/so_ready"] .status-indicator.arrived { background: #2e7d32; }

body[data-erp-page="shipments/so_ready"] .status-indicator.partial { background: #f57c00; }

body[data-erp-page="shipments/so_ready"] .status-indicator.mixed { background: #1976d2; }

body[data-erp-page="shipments/so_ready"] .modal { 
			display: none; 
			position: fixed; 
			top: 0; 
			left: 0; 
			width: 100%; 
			height: 100%; 
			background: rgba(0,0,0,0.7); 
			z-index: 1000;
		}

body[data-erp-page="shipments/so_ready"] .modal-content { 
			background: var(--card-bg); 
			margin: 0; 
			padding: 0; 
			width: 100%; 
			height: 100%; 
			border-radius: 0; 
			overflow: hidden;
			display: flex;
			flex-direction: column;
		}

body[data-erp-page="shipments/so_ready"] .modal-header { 
			padding: 16px 20px; 
			border-bottom: 1px solid var(--border); 
			display: flex; 
			justify-content: space-between; 
			align-items: center;
		}

body[data-erp-page="shipments/so_ready"] .modal-title { 
			font-size: 18px; 
			font-weight: 600; 
			color: var(--text);
		}

body[data-erp-page="shipments/so_ready"] .modal-close { 
			background: none; 
			border: none; 
			font-size: 24px; 
			cursor: pointer; 
			color: var(--muted);
		}

body[data-erp-page="shipments/so_ready"] .modal-body { 
			padding: 20px; 
			flex: 1;
			overflow-y: auto;
		}

body[data-erp-page="shipments/so_ready"] .orders-table { 
			width: 100%; 
			border-collapse: collapse;
		}

body[data-erp-page="shipments/so_ready"] .orders-table th, body[data-erp-page="shipments/so_ready"] .orders-table td { 
			padding: 12px 8px; 
			border-bottom: 1px solid var(--border); 
			text-align: left;
		}

body[data-erp-page="shipments/so_ready"] .orders-table th { 
			color: var(--muted); 
			font-size: 13px; 
			font-weight: 600;
		}

body[data-erp-page="shipments/so_ready"] .orders-table td { 
			font-size: 14px;
		}

body[data-erp-page="shipments/so_ready"] .status-badge { 
			display: inline-block; 
			padding: 4px 8px; 
			border-radius: 6px; 
			font-size: 12px; 
			font-weight: 600;
		}

body[data-erp-page="shipments/so_ready"] .status-arrived { background: #e8f5e8; color: #2e7d32; }

body[data-erp-page="shipments/so_ready"] .status-partial { background: #fff3e0; color: #f57c00; }

body[data-erp-page="shipments/so_ready"] .toolbar { 
			display: flex; 
			gap: 12px; 
			align-items: center; 
			margin-bottom: 16px;
			flex-wrap: wrap;
		}

body[data-erp-page="shipments/so_ready"] input[type="checkbox"] {
			width: 18px;
			height: 18px;
			cursor: pointer;
			accent-color: #2196f3;
		}

body[data-erp-page="shipments/so_ready"] input[type="checkbox"]:disabled {
			cursor: not-allowed;
			opacity: 0.5;
		}

body[data-erp-page="shipments/so_ready"] .order-checkbox {
			margin: 0;
		}

body[data-erp-page="shipments/so_ready"] #createShipmentBtn:disabled {
			opacity: 0.5;
			cursor: not-allowed;
		}

body[data-erp-page="shipments/so_ready"] .loading-overlay {
			display: none;
			position: fixed;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background: rgba(0, 0, 0, 0.7);
			z-index: 10000;
			justify-content: center;
			align-items: center;
		}

body[data-erp-page="shipments/so_ready"] .loading-overlay.active {
			display: flex;
		}

body[data-erp-page="shipments/so_ready"] .loading-content {
			background: var(--card-bg);
			border-radius: 12px;
			padding: 40px;
			text-align: center;
			box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
			min-width: 300px;
		}

body[data-erp-page="shipments/so_ready"] .loading-spinner {
			width: 60px;
			height: 60px;
			margin: 0 auto 20px;
			border: 4px solid var(--border);
			border-top-color: #2196f3;
			border-radius: 50%;
			animation: spin 1s linear infinite;
		}

@keyframes spin {
			to { transform: rotate(360deg); }
		}

body[data-erp-page="shipments/so_ready"] .loading-text {
			font-size: 18px;
			font-weight: 600;
			color: var(--text);
			margin-bottom: 10px;
		}

body[data-erp-page="shipments/so_ready"] .loading-subtext {
			font-size: 14px;
			color: var(--muted);
		}

/* ===== Page scoped: test.html ===== */
body[data-erp-page="test"] {
            --bmw-blue: #0066CC;
            --bmw-blue-dark: #003d7a;
            --bmw-blue-light: #1a8cff;
            --bmw-white: #ffffff;
            --bmw-black: #000000;
            --bmw-gray-light: #f5f5f5;
            --bmw-gray: #e0e0e0;
            --bmw-gray-dark: #333333;
        }

body[data-erp-page="test"] * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

body[data-erp-page="test"] {
            font-family: 'Montserrat', sans-serif;
            margin: 0;
            padding: 0;
            overflow-x: hidden;
            background-color: var(--bmw-white);
            color: var(--bmw-black);
            line-height: 1.6;
        }

body[data-erp-page="test"] .bmw-header {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            background: var(--bmw-white);
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
            z-index: 1000;
            padding: 20px 0;
        }

body[data-erp-page="test"] .bmw-logo-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 40px;
            display: flex;
            align-items: center;
            justify-content: space-between;
        }

body[data-erp-page="test"] .bmw-logo {
            display: flex;
            align-items: center;
            gap: 15px;
        }

body[data-erp-page="test"] .bmw-logo-circle {
            width: 60px;
            height: 60px;
            border-radius: 50%;
            background: linear-gradient(135deg, var(--bmw-blue) 0%, var(--bmw-blue-dark) 100%);
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 900;
            font-size: 24px;
            color: var(--bmw-white);
            box-shadow: 0 4px 15px rgba(0, 102, 204, 0.3);
        }

body[data-erp-page="test"] .bmw-logo-text {
            font-size: 28px;
            font-weight: 700;
            color: var(--bmw-black);
            letter-spacing: 2px;
        }

body[data-erp-page="test"] .bmw-tagline {
            font-size: 14px;
            color: var(--bmw-gray-dark);
            font-weight: 400;
            text-transform: uppercase;
            letter-spacing: 1px;
        }

body[data-erp-page="test"] .full-width-block {
            width: 100vw;
            position: relative;
            left: 50%;
            right: 50%;
            margin-left: -50vw;
            margin-right: -50vw;
            padding: 100px 0;
            display: flex;
            align-items: center;
            min-height: 60vh;
            box-sizing: border-box;
        }

body[data-erp-page="test"] .content-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 40px;
            width: 100%;
            box-sizing: border-box;
        }

body[data-erp-page="test"] .hero-block {
            background: linear-gradient(135deg, var(--bmw-blue-dark) 0%, var(--bmw-blue) 50%, var(--bmw-blue-light) 100%);
            color: var(--bmw-white);
            min-height: 80vh;
            position: relative;
            overflow: hidden;
            padding-top: 150px;
        }

body[data-erp-page="test"] .hero-block::before {
            content: '';
            position: absolute;
            top: 0;
            right: -200px;
            width: 800px;
            height: 800px;
            background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
            border-radius: 50%;
        }

body[data-erp-page="test"] .hero-content {
            position: relative;
            z-index: 1;
            max-width: 700px;
        }

body[data-erp-page="test"] .hero-title {
            font-size: 4.5rem;
            font-weight: 900;
            margin-bottom: 30px;
            line-height: 1.1;
            text-transform: uppercase;
            letter-spacing: 3px;
        }

body[data-erp-page="test"] .hero-subtitle {
            font-size: 1.5rem;
            font-weight: 300;
            margin-bottom: 20px;
            opacity: 0.95;
        }

body[data-erp-page="test"] .hero-text {
            font-size: 1.2rem;
            font-weight: 400;
            margin-bottom: 40px;
            line-height: 1.8;
            opacity: 0.9;
        }

body[data-erp-page="test"] .divider {
            width: 100%;
            height: 4px;
            background: linear-gradient(90deg, transparent, var(--bmw-blue), transparent);
            position: relative;
        }

body[data-erp-page="test"] .divider::after {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 60px;
            height: 60px;
            background: var(--bmw-blue);
            border-radius: 50%;
            border: 4px solid var(--bmw-white);
            box-shadow: 0 0 0 4px var(--bmw-blue);
        }

body[data-erp-page="test"] .brands-block {
            background: var(--bmw-gray-dark);
            color: var(--bmw-white);
        }

body[data-erp-page="test"] .brands-content {
            text-align: center;
        }

body[data-erp-page="test"] .section-title {
            font-size: 3rem;
            font-weight: 700;
            margin-bottom: 20px;
            text-transform: uppercase;
            letter-spacing: 2px;
        }

body[data-erp-page="test"] .section-subtitle {
            font-size: 1.2rem;
            font-weight: 300;
            margin-bottom: 50px;
            opacity: 0.9;
            max-width: 800px;
            margin-left: auto;
            margin-right: auto;
        }

body[data-erp-page="test"] .bmw-emphasis {
            color: var(--bmw-blue-light);
            font-weight: 700;
        }

body[data-erp-page="test"] .brands-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 30px;
            margin-top: 50px;
        }

body[data-erp-page="test"] .brand-item {
            padding: 30px;
            background: rgba(255, 255, 255, 0.05);
            border: 2px solid rgba(255, 255, 255, 0.1);
            border-radius: 8px;
            transition: all 0.3s ease;
            text-align: center;
        }

body[data-erp-page="test"] .brand-item:hover {
            transform: translateY(-10px);
            background: rgba(255, 255, 255, 0.1);
            border-color: var(--bmw-blue-light);
            box-shadow: 0 10px 30px rgba(0, 102, 204, 0.3);
        }

body[data-erp-page="test"] .brand-item h3 {
            font-size: 1.5rem;
            font-weight: 600;
            color: var(--bmw-white);
        }

body[data-erp-page="test"] .brand-item.bmw-featured {
            background: linear-gradient(135deg, rgba(0, 102, 204, 0.2), rgba(0, 61, 122, 0.3));
            border-color: var(--bmw-blue-light);
            position: relative;
        }

body[data-erp-page="test"] .brand-item.bmw-featured::before {
            content: '★';
            position: absolute;
            top: 10px;
            right: 15px;
            color: var(--bmw-blue-light);
            font-size: 1.5rem;
        }

body[data-erp-page="test"] .assortment-block {
            background: var(--bmw-white);
            position: relative;
        }

body[data-erp-page="test"] .assortment-content {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 60px;
            align-items: center;
        }

body[data-erp-page="test"] .assortment-text {
            color: var(--bmw-black);
        }

body[data-erp-page="test"] .assortment-list {
            list-style: none;
            margin: 30px 0;
        }

body[data-erp-page="test"] .assortment-list li {
            padding: 15px 0;
            padding-left: 30px;
            position: relative;
            font-size: 1.1rem;
            border-bottom: 1px solid var(--bmw-gray);
        }

body[data-erp-page="test"] .assortment-list li::before {
            content: '→';
            position: absolute;
            left: 0;
            color: var(--bmw-blue);
            font-weight: 700;
            font-size: 1.3rem;
        }

body[data-erp-page="test"] .assortment-list li:last-child {
            border-bottom: none;
        }

body[data-erp-page="test"] .assortment-visual {
            background: linear-gradient(135deg, var(--bmw-blue-dark), var(--bmw-blue));
            height: 400px;
            border-radius: 20px;
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 20px 60px rgba(0, 102, 204, 0.3);
            overflow: hidden;
        }

body[data-erp-page="test"] .assortment-visual::before {
            content: 'BMW';
            font-size: 150px;
            font-weight: 900;
            color: rgba(255, 255, 255, 0.1);
            position: absolute;
            z-index: 0;
        }

body[data-erp-page="test"] .assortment-visual::after {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 200px;
            height: 200px;
            border: 4px solid rgba(255, 255, 255, 0.3);
            border-radius: 50%;
            z-index: 1;
        }

body[data-erp-page="test"] .advantages-block {
            background: var(--bmw-gray-light);
            color: var(--bmw-black);
        }

body[data-erp-page="test"] .advantages-container {
            width: 100%;
        }

body[data-erp-page="test"] .advantages-title {
            text-align: center;
            margin-bottom: 60px;
        }

body[data-erp-page="test"] .advantages-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 40px;
        }

body[data-erp-page="test"] .advantage-item {
            background: var(--bmw-white);
            padding: 40px;
            border-radius: 12px;
            border-left: 4px solid var(--bmw-blue);
            box-shadow: 0 5px 20px rgba(0,0,0,0.08);
            transition: all 0.3s ease;
        }

body[data-erp-page="test"] .advantage-item:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 30px rgba(0, 102, 204, 0.2);
            border-left-color: var(--bmw-blue-light);
        }

body[data-erp-page="test"] .advantage-icon {
            font-size: 2.5rem;
            color: var(--bmw-blue);
            margin-bottom: 20px;
            font-weight: 700;
        }

body[data-erp-page="test"] .advantage-text h3 {
            font-size: 1.3rem;
            font-weight: 700;
            margin-bottom: 15px;
            color: var(--bmw-black);
        }

body[data-erp-page="test"] .advantage-text p {
            color: var(--bmw-gray-dark);
            line-height: 1.7;
        }

body[data-erp-page="test"] .advantages-button {
            text-align: center;
            margin-top: 60px;
        }

body[data-erp-page="test"] .block-button {
            display: inline-block;
            padding: 18px 45px;
            background: var(--bmw-blue);
            color: var(--bmw-white);
            text-decoration: none;
            border-radius: 0;
            font-weight: 600;
            font-size: 1rem;
            text-transform: uppercase;
            letter-spacing: 2px;
            transition: all 0.3s ease;
            border: 2px solid var(--bmw-blue);
            position: relative;
            overflow: hidden;
        }

body[data-erp-page="test"] .block-button::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: var(--bmw-white);
            transition: left 0.3s ease;
            z-index: 0;
        }

body[data-erp-page="test"] .block-button span {
            position: relative;
            z-index: 1;
        }

body[data-erp-page="test"] .block-button:hover {
            color: var(--bmw-blue);
        }

body[data-erp-page="test"] .block-button:hover::before {
            left: 0;
        }

body[data-erp-page="test"] .block-button.outline {
            background: transparent;
            color: var(--bmw-blue);
            border-color: var(--bmw-blue);
        }

body[data-erp-page="test"] .block-button.outline::before {
            background: var(--bmw-blue);
        }

body[data-erp-page="test"] .block-button.outline:hover {
            color: var(--bmw-white);
        }

body[data-erp-page="test"] .hero-block .block-button {
            background: var(--bmw-white);
            color: var(--bmw-blue);
            border-color: var(--bmw-white);
        }

body[data-erp-page="test"] .hero-block .block-button::before {
            background: transparent;
        }

body[data-erp-page="test"] .hero-block .block-button:hover {
            background: transparent;
            color: var(--bmw-white);
            border-color: var(--bmw-white);
        }

body[data-erp-page="test"] .contacts-block {
            background: var(--bmw-black);
            color: var(--bmw-white);
        }

body[data-erp-page="test"] .contacts-content {
            text-align: center;
        }

body[data-erp-page="test"] .contacts-info {
            max-width: 600px;
            margin: 40px auto;
        }

body[data-erp-page="test"] .contact-item {
            padding: 20px;
            margin-bottom: 20px;
            background: rgba(255, 255, 255, 0.05);
            border-left: 3px solid var(--bmw-blue);
            text-align: left;
        }

body[data-erp-page="test"] .contact-item strong {
            color: var(--bmw-blue-light);
            font-weight: 700;
            display: block;
            margin-bottom: 5px;
        }

@media (max-width: 1024px) {
body[data-erp-page="test"] .hero-title {
                font-size: 3.5rem;
            }

body[data-erp-page="test"] .assortment-content {
                grid-template-columns: 1fr;
            }

body[data-erp-page="test"] .section-title {
                font-size: 2.5rem;
            }
}

@media (max-width: 768px) {
body[data-erp-page="test"] .full-width-block {
                padding: 60px 0;
            }

body[data-erp-page="test"] .hero-block {
                min-height: 70vh;
                padding-top: 120px;
            }

body[data-erp-page="test"] .hero-title {
                font-size: 2.5rem;
                letter-spacing: 1px;
            }

body[data-erp-page="test"] .hero-subtitle {
                font-size: 1.2rem;
            }

body[data-erp-page="test"] .content-container {
                padding: 0 20px;
            }

body[data-erp-page="test"] .section-title {
                font-size: 2rem;
            }

body[data-erp-page="test"] .brands-grid {
                grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
                gap: 20px;
            }

body[data-erp-page="test"] .advantages-grid {
                grid-template-columns: 1fr;
            }

body[data-erp-page="test"] .bmw-logo-container {
                flex-direction: column;
                gap: 10px;
                text-align: center;
            }
}

@media (max-width: 480px) {
body[data-erp-page="test"] .hero-title {
                font-size: 2rem;
            }

body[data-erp-page="test"] .hero-subtitle {
                font-size: 1rem;
            }

body[data-erp-page="test"] .block-button {
                padding: 15px 30px;
                font-size: 0.9rem;
            }
}

/* ===== Page scoped: tools/awb-tracking.html ===== */
body[data-erp-page="tools/awb-tracking"] {
      color-scheme: dark;
    }

body[data-erp-page="tools/awb-tracking"] {
      background: #0e0f12;
      margin: 0;
      color: #e7e7ea;
      font-family: system-ui, Segoe UI, Roboto, Arial, sans-serif;
    }

body[data-erp-page="tools/awb-tracking"] .settings-wrap {
      max-width: 1200px;
      margin: 32px auto;
      padding: 0 16px;
    }

body[data-erp-page="tools/awb-tracking"] .settings-card {
      background: #151618;
      border: 1px solid #202228;
      border-radius: 16px;
      padding: 24px;
      box-shadow: 0 18px 42px rgba(0, 0, 0, .45);
      display: flex;
      flex-direction: column;
      gap: 20px;
    }

body[data-erp-page="tools/awb-tracking"] h1 {
      margin: 0;
      font-size: 26px;
      font-weight: 800;
      display: flex;
      align-items: center;
      gap: 12px;
    }

body[data-erp-page="tools/awb-tracking"] .muted {
      color: #a0a0a7;
      font-size: 14px;
    }

body[data-erp-page="tools/awb-tracking"] .field-row {
      display: flex;
      gap: 12px;
      flex-wrap: wrap;
      align-items: center;
    }

body[data-erp-page="tools/awb-tracking"] .id-input {
      flex: 1;
      min-width: 280px;
      padding: 12px 14px;
      border-radius: 12px;
      border: 1px solid #2a2c33;
      background: #0f1013;
      color: #e7e7ea;
      font-size: 16px;
      font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
      letter-spacing: 1px;
    }

body[data-erp-page="tools/awb-tracking"] .id-input:focus {
      outline: 2px solid #ffd454;
      border-color: #ffd454;
    }

body[data-erp-page="tools/awb-tracking"] .action-btn {
      padding: 12px 24px;
      border-radius: 12px;
      border: 0;
      cursor: pointer;
      font-weight: 700;
      background: #ffd454;
      color: #141517;
      transition: all 0.2s;
      font-size: 15px;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      text-decoration: none;
    }

body[data-erp-page="tools/awb-tracking"] .action-btn:hover {
      opacity: .9;
      transform: translateY(-1px);
    }

body[data-erp-page="tools/awb-tracking"] .action-btn:active {
      transform: translateY(0);
    }

body[data-erp-page="tools/awb-tracking"] .action-btn.secondary {
      background: #2a2c33;
      color: #e7e7ea;
    }

body[data-erp-page="tools/awb-tracking"] .action-btn.danger {
      background: #3c1414;
      color: #ff7a7a;
      border: 1px solid #7a2a2a;
    }

body[data-erp-page="tools/awb-tracking"] .awb-history {
      display: grid;
      gap: 1px;
      background: #202228;
      border: 1px solid #202228;
      border-radius: 12px;
      overflow: hidden;
      margin-top: 20px;
    }

body[data-erp-page="tools/awb-tracking"] .awb-row {
      display: grid;
      grid-template-columns: 1fr 1.5fr 1fr auto;
      gap: 16px;
      padding: 16px;
      background: #151618;
      align-items: center;
      transition: background 0.1s;
    }

body[data-erp-page="tools/awb-tracking"] .awb-row:hover {
      background: #1a1c20;
    }

body[data-erp-page="tools/awb-tracking"] .awb-header {
      background: #1f2128;
      font-weight: 600;
      color: #9ea2ad;
      font-size: 13px;
      text-transform: uppercase;
      letter-spacing: 0.5px;
    }

body[data-erp-page="tools/awb-tracking"] .awb-code {
      font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
      font-size: 16px;
      color: #ffd454;
      font-weight: 700;
    }

body[data-erp-page="tools/awb-tracking"] .awb-carrier {
      display: flex;
      gap: 8px;
      align-items: center;
      font-weight: 500;
    }

body[data-erp-page="tools/awb-tracking"] .awb-meta {
      font-size: 13px;
      color: #8b909a;
    }

body[data-erp-page="tools/awb-tracking"] .carrier-logo {
      width: 20px;
      height: 20px;
      border-radius: 4px;
      background: #2a2c33;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 10px;
      color: #8b909a;
    }

body[data-erp-page="tools/awb-tracking"] .actions-cell {
      display: flex;
      gap: 8px;
    }

body[data-erp-page="tools/awb-tracking"] .icon-btn {
      background: transparent;
      border: 0;
      color: #8b909a;
      cursor: pointer;
      padding: 8px;
      border-radius: 8px;
      transition: all 0.2s;
    }

body[data-erp-page="tools/awb-tracking"] .icon-btn:hover {
      background: #2a2c33;
      color: #e7e7ea;
    }

body[data-erp-page="tools/awb-tracking"] .icon-btn.delete:hover {
      background: #3c1414;
      color: #ff7a7a;
      border: 1px solid #7a2a2a;
    }

body[data-erp-page="tools/awb-tracking"] .empty-state {
      padding: 40px;
      text-align: center;
      color: #8b909a;
      font-size: 15px;
      background: #151618;
    }

@media (max-width: 700px) {
body[data-erp-page="tools/awb-tracking"] .awb-header {
        display: none;
      }

body[data-erp-page="tools/awb-tracking"] .awb-row {
        grid-template-columns: 1fr auto;
        gap: 12px;
      }

body[data-erp-page="tools/awb-tracking"] .awb-carrier, body[data-erp-page="tools/awb-tracking"] .awb-meta {
        grid-column: 1/-1;
      }

body[data-erp-page="tools/awb-tracking"] .actions-cell {
        grid-column: 2;
        grid-row: 1;
      }
}

/* ===== Page scoped: tools/price-list-parser.html ===== */
body[data-erp-page="tools/price-list-parser"] { color-scheme: dark; }

body[data-erp-page="tools/price-list-parser"] * { box-sizing: border-box; }

body[data-erp-page="tools/price-list-parser"] {
      background: #0e0f12;
      margin: 0;
      color: #e7e7ea;
      font-family: system-ui, Segoe UI, Roboto, Arial, sans-serif;
    }

body[data-erp-page="tools/price-list-parser"] .settings-wrap {
      max-width: 1600px;
      margin: 32px auto;
      padding: 0 16px 48px;
    }

body[data-erp-page="tools/price-list-parser"] .settings-card {
      background: #151618;
      border: 1px solid #202228;
      border-radius: 16px;
      padding: 24px;
      box-shadow: 0 18px 42px rgba(0,0,0,.45);
      display: flex;
      flex-direction: column;
      gap: 20px;
    }

body[data-erp-page="tools/price-list-parser"] h1 {
      margin: 0;
      font-size: 26px;
      font-weight: 800;
      display: flex;
      align-items: center;
      gap: 12px;
    }

body[data-erp-page="tools/price-list-parser"] .muted {
      color: #a0a0a7;
      font-size: 14px;
      margin: -12px 0 0;
    }

body[data-erp-page="tools/price-list-parser"] .progress-block {
      background: #0f1013;
      border: 1px solid #202228;
      border-radius: 12px;
      padding: 16px 20px;
    }

body[data-erp-page="tools/price-list-parser"] .progress-header {
      display: flex;
      justify-content: space-between;
      align-items: baseline;
      margin-bottom: 10px;
    }

body[data-erp-page="tools/price-list-parser"] .progress-label { font-size: 13px; color: #8b909a; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }

body[data-erp-page="tools/price-list-parser"] .progress-pct { font-size: 24px; font-weight: 800; color: #ffd454; }

body[data-erp-page="tools/price-list-parser"] .progress-track {
      width: 100%; height: 8px;
      background: #23252d;
      border-radius: 6px; overflow: hidden;
    }

body[data-erp-page="tools/price-list-parser"] .progress-bar {
      height: 100%;
      background: linear-gradient(90deg, #ffd454, #f59e0b);
      border-radius: 6px;
      transition: width .5s ease;
      width: 0%;
    }

body[data-erp-page="tools/price-list-parser"] .progress-sub { margin-top: 8px; font-size: 12px; color: #6b7280; }

body[data-erp-page="tools/price-list-parser"] .controls {
      display: flex;
      align-items: center;
      gap: 10px;
      flex-wrap: wrap;
    }

body[data-erp-page="tools/price-list-parser"] .id-input {
      flex: 1;
      min-width: 220px;
      max-width: 360px;
      padding: 10px 14px;
      border-radius: 12px;
      border: 1px solid #2a2c33;
      background: #0f1013;
      color: #e7e7ea;
      font-size: 14px;
      font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    }

body[data-erp-page="tools/price-list-parser"] .id-input:focus { outline: 2px solid #ffd454; border-color: #ffd454; }

body[data-erp-page="tools/price-list-parser"] .action-btn {
      padding: 10px 20px;
      border-radius: 12px;
      border: 0;
      cursor: pointer;
      font-weight: 700;
      background: #ffd454;
      color: #141517;
      transition: all .2s;
      font-size: 14px;
      display: inline-flex;
      align-items: center;
      gap: 6px;
      white-space: nowrap;
      text-decoration: none;
    }

body[data-erp-page="tools/price-list-parser"] .action-btn:hover { opacity: .9; transform: translateY(-1px); }

body[data-erp-page="tools/price-list-parser"] .action-btn:active { transform: translateY(0); }

body[data-erp-page="tools/price-list-parser"] .action-btn:disabled { opacity: .4; cursor: default; transform: none; }

body[data-erp-page="tools/price-list-parser"] .action-btn.secondary {
      background: #2a2c33;
      color: #e7e7ea;
    }

body[data-erp-page="tools/price-list-parser"] .action-btn.danger {
      background: #3c1414;
      color: #ff7a7a;
      border: 1px solid #7a2a2a;
    }

body[data-erp-page="tools/price-list-parser"] .parser-panel {
      background: #0f1013;
      border: 1px solid #202228;
      border-radius: 12px;
      padding: 16px 20px;
      display: flex;
      flex-direction: column;
      gap: 14px;
    }

body[data-erp-page="tools/price-list-parser"] .parser-top {
      display: flex;
      align-items: center;
      gap: 14px;
      flex-wrap: wrap;
    }

body[data-erp-page="tools/price-list-parser"] .parser-status-dot {
      width: 10px; height: 10px;
      border-radius: 50%;
      background: #4b5563;
      flex-shrink: 0;
    }

body[data-erp-page="tools/price-list-parser"] .parser-status-dot.running { background: #22c55e; animation: pulse 1.2s ease-in-out infinite; }

body[data-erp-page="tools/price-list-parser"] .parser-status-dot.error { background: #ef4444; }

body[data-erp-page="tools/price-list-parser"] .parser-status-dot.done { background: #3b82f6; }

@keyframes pulse {
      0%, 100% { opacity: 1; }
      50%       { opacity: .35; }
    }

body[data-erp-page="tools/price-list-parser"] .parser-status-label {
      font-size: 13px;
      font-weight: 600;
      color: #9ea2ad;
      text-transform: uppercase;
      letter-spacing: .04em;
      flex: 1;
    }

body[data-erp-page="tools/price-list-parser"] .parser-metrics {
      display: flex;
      gap: 20px;
      flex-wrap: wrap;
    }

body[data-erp-page="tools/price-list-parser"] .metric {
      display: flex;
      flex-direction: column;
      gap: 2px;
    }

body[data-erp-page="tools/price-list-parser"] .metric-label { font-size: 10px; color: #6b7280; text-transform: uppercase; letter-spacing: .05em; }

body[data-erp-page="tools/price-list-parser"] .metric-value { font-size: 18px; font-weight: 700; color: #fff; font-family: ui-monospace, monospace; }

body[data-erp-page="tools/price-list-parser"] .metric-value.accent { color: #ffd454; }

body[data-erp-page="tools/price-list-parser"] .parser-current {
      font-size: 12px;
      color: #6b7280;
      font-family: ui-monospace, monospace;
      min-height: 16px;
    }

body[data-erp-page="tools/price-list-parser"] .parser-log {
      background: #08090b;
      border: 1px solid #1a1c23;
      border-radius: 8px;
      padding: 10px 12px;
      font-family: ui-monospace, monospace;
      font-size: 11px;
      color: #6b7280;
      max-height: 116px;
      overflow-y: auto;
      display: flex;
      flex-direction: column;
      gap: 2px;
    }

body[data-erp-page="tools/price-list-parser"] .parser-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 14px;
    }

@media (max-width: 1100px) {body[data-erp-page="tools/price-list-parser"] .parser-grid { grid-template-columns: 1fr; }
}

body[data-erp-page="tools/price-list-parser"] .parser-panel.worker-panel {
      padding: 14px 16px;
      gap: 12px;
    }

body[data-erp-page="tools/price-list-parser"] .parser-panel.worker-panel .parser-status-label {
      flex: 0 1 auto;
      min-width: 92px;
    }

body[data-erp-page="tools/price-list-parser"] .worker-actions {
      display: flex;
      gap: 8px;
      margin-left: auto;
    }

body[data-erp-page="tools/price-list-parser"] .worker-actions .action-btn {
      padding: 8px 12px;
      border-radius: 10px;
      font-size: 12px;
    }

body[data-erp-page="tools/price-list-parser"] .parser-panel.worker-panel .parser-metrics {
      gap: 14px;
      flex: 1;
    }

body[data-erp-page="tools/price-list-parser"] .parser-panel.worker-panel .metric-value {
      font-size: 16px;
    }

body[data-erp-page="tools/price-list-parser"] .parser-panel.worker-panel .parser-log {
      max-height: 136px;
    }

body[data-erp-page="tools/price-list-parser"] .log-line { color: #8b909a; }

body[data-erp-page="tools/price-list-parser"] .log-line.err { color: #f87171; }

body[data-erp-page="tools/price-list-parser"] .log-line.warn { color: #fbbf24; }

body[data-erp-page="tools/price-list-parser"] .page-info { font-size: 13px; color: #8b909a; }

body[data-erp-page="tools/price-list-parser"] .col-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 12px;
    }

@media (max-width: 1200px) {body[data-erp-page="tools/price-list-parser"] .col-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {body[data-erp-page="tools/price-list-parser"] .col-grid { grid-template-columns: 1fr; }
}

body[data-erp-page="tools/price-list-parser"] .col-block {
      display: grid;
      gap: 1px;
      background: #202228;
      border: 1px solid #202228;
      border-radius: 12px;
      overflow: hidden;
    }

body[data-erp-page="tools/price-list-parser"] .col-header {
      display: grid;
      grid-template-columns: 32px 1fr 1fr 88px;
      gap: 6px;
      padding: 8px 10px;
      background: #1f2128;
      font-weight: 600;
      color: #9ea2ad;
      font-size: 11px;
      text-transform: uppercase;
      letter-spacing: .05em;
    }

body[data-erp-page="tools/price-list-parser"] .col-row {
      display: grid;
      grid-template-columns: 32px 1fr 1fr 88px;
      gap: 6px;
      padding: 4px 10px;
      background: #151618;
      align-items: center;
      transition: background .1s;
    }

body[data-erp-page="tools/price-list-parser"] .col-row:hover { background: #1a1c20; }

body[data-erp-page="tools/price-list-parser"] .td-num { color: #4b5563; font-size: 11px; text-align: right; }

body[data-erp-page="tools/price-list-parser"] .td-pn {
      font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
      font-size: 12px;
      color: #ffd454;
      font-weight: 600;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

body[data-erp-page="tools/price-list-parser"] .td-actual { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 11px; overflow: hidden; }

body[data-erp-page="tools/price-list-parser"] .actual-pn { color: #60a5fa; display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

body[data-erp-page="tools/price-list-parser"] .actual-pn.direct { color: #4b5563; }

body[data-erp-page="tools/price-list-parser"] .actual-many {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      cursor: default;
      position: relative;
    }

body[data-erp-page="tools/price-list-parser"] .many-badge {
      background: #312e81;
      color: #a5b4fc;
      border: 1px solid #4338ca;
      border-radius: 5px;
      font-size: 10px;
      font-weight: 700;
      padding: 1px 6px;
      letter-spacing: .04em;
    }

body[data-erp-page="tools/price-list-parser"] .many-tooltip {
      display: none;
      position: absolute;
      left: 0; top: calc(100% + 4px);
      z-index: 999;
      background: #1a1c23;
      border: 1px solid #2a2d38;
      border-radius: 8px;
      padding: 8px 10px;
      min-width: 200px;
      max-width: 280px;
      box-shadow: 0 8px 24px rgba(0,0,0,.6);
    }

body[data-erp-page="tools/price-list-parser"] .actual-many:hover .many-tooltip { display: block; }

body[data-erp-page="tools/price-list-parser"] .tooltip-row {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 12px;
      padding: 3px 0;
      border-bottom: 1px solid #23252d;
      font-size: 11px;
    }

body[data-erp-page="tools/price-list-parser"] .tooltip-row:last-child { border-bottom: none; }

body[data-erp-page="tools/price-list-parser"] .tooltip-pn { color: #60a5fa; font-weight: 600; }

body[data-erp-page="tools/price-list-parser"] .tooltip-qty { color: #ffd454; font-weight: 700; white-space: nowrap; }

body[data-erp-page="tools/price-list-parser"] .td-price { display: flex; align-items: center; }

body[data-erp-page="tools/price-list-parser"] .price-value {
      width: 100%;
      color: #e7e7ea;
      font-size: 12px;
      font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
      padding: 3px 7px;
      text-align: right;
    }

body[data-erp-page="tools/price-list-parser"] .empty-state {
      padding: 40px;
      text-align: center;
      color: #8b909a;
      font-size: 15px;
      background: #151618;
      grid-column: 1 / -1;
    }

body[data-erp-page="tools/price-list-parser"] .many-badge { cursor: pointer; }

body[data-erp-page="tools/price-list-parser"] .modal-overlay {
      display: none;
      position: fixed; inset: 0;
      background: rgba(0,0,0,.65);
      z-index: 1000;
      align-items: center;
      justify-content: center;
    }

body[data-erp-page="tools/price-list-parser"] .modal-overlay.open { display: flex; }

body[data-erp-page="tools/price-list-parser"] .modal-box {
      background: #1a1c23;
      border: 1px solid #2a2d38;
      border-radius: 12px;
      padding: 20px 24px;
      min-width: 280px;
      max-width: 420px;
      max-height: 80vh;
      overflow-y: auto;
      box-shadow: 0 16px 48px rgba(0,0,0,.7);
    }

body[data-erp-page="tools/price-list-parser"] .modal-title {
      font-size: 13px;
      font-weight: 700;
      color: #9ea2ad;
      text-transform: uppercase;
      letter-spacing: .05em;
      margin-bottom: 12px;
    }

body[data-erp-page="tools/price-list-parser"] .modal-pn-orig { font-family: ui-monospace, monospace; font-size: 12px; color: #ffd454; margin-bottom: 14px; }

body[data-erp-page="tools/price-list-parser"] .modal-row {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 16px;
      padding: 6px 0;
      border-bottom: 1px solid #23252d;
      font-size: 12px;
      font-family: ui-monospace, monospace;
    }

body[data-erp-page="tools/price-list-parser"] .modal-row:last-child { border-bottom: none; }

body[data-erp-page="tools/price-list-parser"] .modal-row-pn { color: #60a5fa; font-weight: 600; }

body[data-erp-page="tools/price-list-parser"] .modal-row-qty { color: #ffd454; font-weight: 700; }

body[data-erp-page="tools/price-list-parser"] .modal-close {
      margin-top: 16px;
      width: 100%;
      padding: 8px;
      background: #2a2c33;
      border: 0;
      border-radius: 8px;
      color: #e7e7ea;
      font-size: 13px;
      cursor: pointer;
    }

body[data-erp-page="tools/price-list-parser"] .modal-close:hover { background: #3a3c45; }

body[data-erp-page="tools/price-list-parser"] .chunk-control {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-left: 12px;
    }

body[data-erp-page="tools/price-list-parser"] .chunk-input {
      width: 84px;
      padding: 10px 12px;
      border-radius: 12px;
      border: 1px solid #2b2f39;
      background: #121318;
      color: #f3f4f6;
      font-size: 14px;
      outline: none;
    }

body[data-erp-page="tools/price-list-parser"] .chunk-input:focus {
      border-color: #f6c453;
      box-shadow: 0 0 0 3px rgba(246,196,83,.12);
    }

/* ===== Page scoped: tools/wecom-test.html ===== */
body[data-erp-page="tools/wecom-test"] {
      color-scheme: dark;
    }

body[data-erp-page="tools/wecom-test"] {
      background: #0e0f12;
      margin: 0;
      color: #e7e7ea;
      font-family: system-ui, Segoe UI, Roboto, Arial, sans-serif;
    }

body[data-erp-page="tools/wecom-test"] .page-wrap {
      max-width: 1080px;
      margin: 32px auto;
      padding: 0 16px;
    }

body[data-erp-page="tools/wecom-test"] .card {
      background: #151618;
      border: 1px solid #202228;
      border-radius: 16px;
      padding: 24px;
      box-shadow: 0 18px 42px rgba(0, 0, 0, .45);
      display: flex;
      flex-direction: column;
      gap: 16px;
    }

body[data-erp-page="tools/wecom-test"] h1 {
      margin: 0;
      font-size: 26px;
      font-weight: 800;
      display: flex;
      align-items: center;
      gap: 10px;
    }

body[data-erp-page="tools/wecom-test"] .muted {
      color: #a0a0a7;
      font-size: 14px;
      line-height: 1.4;
    }

body[data-erp-page="tools/wecom-test"] .grid {
      display: grid;
      gap: 12px;
      grid-template-columns: repeat(2, minmax(240px, 1fr));
    }

body[data-erp-page="tools/wecom-test"] .field {
      display: flex;
      flex-direction: column;
      gap: 6px;
    }

body[data-erp-page="tools/wecom-test"] .field.full {
      grid-column: 1 / -1;
    }

body[data-erp-page="tools/wecom-test"] label {
      font-size: 13px;
      color: #a9adb7;
      font-weight: 600;
      letter-spacing: .2px;
    }

body[data-erp-page="tools/wecom-test"] input, body[data-erp-page="tools/wecom-test"] textarea {
      width: 100%;
      box-sizing: border-box;
      padding: 12px 14px;
      border-radius: 10px;
      border: 1px solid #2a2c33;
      background: #0f1013;
      color: #e7e7ea;
      font-size: 14px;
    }

body[data-erp-page="tools/wecom-test"] textarea {
      min-height: 120px;
      resize: vertical;
      font-family: inherit;
    }

body[data-erp-page="tools/wecom-test"] input:focus, body[data-erp-page="tools/wecom-test"] textarea:focus {
      outline: 2px solid #4da3ff;
      border-color: #4da3ff;
    }

body[data-erp-page="tools/wecom-test"] .row {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      align-items: center;
    }

body[data-erp-page="tools/wecom-test"] .btn {
      padding: 11px 18px;
      border-radius: 10px;
      border: 0;
      cursor: pointer;
      font-weight: 700;
      font-size: 14px;
      transition: all .15s ease;
      background: #2a2c33;
      color: #f4f5f8;
    }

body[data-erp-page="tools/wecom-test"] .btn.primary {
      background: #4da3ff;
      color: #0f1013;
    }

body[data-erp-page="tools/wecom-test"] .btn:hover:not(:disabled) {
      transform: translateY(-1px);
      opacity: .95;
    }

body[data-erp-page="tools/wecom-test"] .btn:disabled {
      opacity: .5;
      cursor: not-allowed;
    }

body[data-erp-page="tools/wecom-test"] .state {
      font-size: 13px;
      color: #9aa0ac;
    }

body[data-erp-page="tools/wecom-test"] .state.ok {
      color: #6ce3a8;
    }

body[data-erp-page="tools/wecom-test"] .state.err {
      color: #ff8c8c;
    }

body[data-erp-page="tools/wecom-test"] pre {
      margin: 0;
      background: #0d0e11;
      border: 1px solid #202228;
      border-radius: 12px;
      padding: 14px;
      white-space: pre-wrap;
      word-break: break-word;
      font-size: 12px;
      line-height: 1.45;
      color: #d4d8df;
      max-height: 340px;
      overflow: auto;
    }

@media (max-width: 760px) {
body[data-erp-page="tools/wecom-test"] .grid {
        grid-template-columns: 1fr;
      }
}

/* ===== Page scoped: warehouse/metrics.html ===== */
body[data-erp-page="warehouse/metrics"] .metrics-head { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }

body[data-erp-page="warehouse/metrics"] .metrics-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; margin-top:16px; }

body[data-erp-page="warehouse/metrics"] .metric-card { background:var(--panel); border:1px solid var(--border); border-radius:10px; padding:14px; }

body[data-erp-page="warehouse/metrics"] .metric-title { color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.08em; }

body[data-erp-page="warehouse/metrics"] .metric-value { font-size:20px; font-weight:600; margin-top:6px; }

body[data-erp-page="warehouse/metrics"] .metrics-table { width:100%; border-collapse:collapse; margin-top:16px; }

body[data-erp-page="warehouse/metrics"] .metrics-table th, body[data-erp-page="warehouse/metrics"] .metrics-table td { padding:12px 8px; border-bottom:1px solid var(--border); text-align:left; }

body[data-erp-page="warehouse/metrics"] .metrics-table th { color:var(--muted); font-size:13px; font-weight:600; }

body[data-erp-page="warehouse/metrics"] .metrics-table td { font-size:14px; }

body[data-erp-page="warehouse/metrics"] .type-pill { display:inline-flex; align-items:center; gap:6px; padding:2px 8px; border-radius:999px; font-size:12px; }

body[data-erp-page="warehouse/metrics"] .type-shipment { background:#1e2a38; color:#7cc3ff; border:1px solid #2b3a4d; }

body[data-erp-page="warehouse/metrics"] .type-receiving { background:#1f2e24; color:#8fe0a2; border:1px solid #2f4336; }

body[data-erp-page="warehouse/metrics"] .progress-wrap { display:flex; align-items:center; gap:10px; min-width:160px; }

body[data-erp-page="warehouse/metrics"] .progress-bar { flex:1; height:8px; background:#1a1c20; border:1px solid #2b2f38; border-radius:999px; overflow:hidden; }

body[data-erp-page="warehouse/metrics"] .progress-fill { height:100%; background:#2f7dff; }

body[data-erp-page="warehouse/metrics"] .progress-text { color:var(--muted); font-size:12px; white-space:nowrap; }

body[data-erp-page="warehouse/metrics"] .active-dot { width:10px; height:10px; border-radius:50%; display:inline-block; }

body[data-erp-page="warehouse/metrics"] .active-dot.on { background:#2f7dff; box-shadow:0 0 0 3px rgba(47,125,255,.15); }

body[data-erp-page="warehouse/metrics"] .active-dot.off { background:#2b2f38; }

body[data-erp-page="warehouse/metrics"] .active-chip { display:inline-flex; align-items:center; gap:6px; padding:2px 8px; border-radius:999px; font-size:12px; background:#15181d; border:1px solid #2a2f38; color:var(--muted); }

body[data-erp-page="warehouse/metrics"] .active-chip.on { color:#e7f1ff; border-color:#2f7dff; }

body[data-erp-page="warehouse/metrics"] .active-cell { display:flex; align-items:center; gap:10px; }

body[data-erp-page="warehouse/metrics"] .active-chip-list { display:flex; flex-direction:column; gap:6px; }

body[data-erp-page="warehouse/metrics"] .active-more { font-size:12px; color:var(--muted); }

body[data-erp-page="warehouse/metrics"] .metrics-actions { display:flex; gap:8px; }

body[data-erp-page="warehouse/metrics"] .metrics-dialog { border:none; border-radius:12px; padding:16px; background:#11141a; color:#e5e7eb; width:min(720px, 92vw); }

body[data-erp-page="warehouse/metrics"] .metrics-dialog::backdrop { background:rgba(0,0,0,.6); }

body[data-erp-page="warehouse/metrics"] .metrics-dialog h3 { margin:0 0 8px 0; font-size:16px; }

body[data-erp-page="warehouse/metrics"] .metrics-dialog pre { margin:0; white-space:pre-wrap; font-size:13px; color:#cbd5e1; }

body[data-erp-page="warehouse/metrics"] .metrics-dialog .dialog-actions { display:flex; justify-content:flex-end; margin-top:12px; }

/* ===== Page scoped: warehouse/receivings/list.html ===== */
body[data-erp-page="warehouse/receivings/list"] .wrap {max-width:none;width:100%;margin:0;padding:0 16px}

body[data-erp-page="warehouse/receivings/list"] .toolbar {display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;align-items:center}

body[data-erp-page="warehouse/receivings/list"] input, body[data-erp-page="warehouse/receivings/list"] select, body[data-erp-page="warehouse/receivings/list"] button {
      background:#111216;color:#e7e7ea;border:1px solid #1f2126;border-radius:10px;padding:8px 10px
    }

body[data-erp-page="warehouse/receivings/list"] .muted {color:#a0a0a7}

body[data-erp-page="warehouse/receivings/list"] .spacer {flex:1}

body[data-erp-page="warehouse/receivings/list"] .pager {display:flex;gap:8px;align-items:center}

body[data-erp-page="warehouse/receivings/list"] .table {width:100%;border-collapse:collapse;background:#121317;border:1px solid #202228;border-radius:12px;overflow:hidden;table-layout:auto}

body[data-erp-page="warehouse/receivings/list"] .table th, body[data-erp-page="warehouse/receivings/list"] .table td {padding:10px;border-bottom:1px solid #202228;text-align:left;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

body[data-erp-page="warehouse/receivings/list"] .table th {background:#0f1013;position:sticky;top:0;z-index:1}

body[data-erp-page="warehouse/receivings/list"] tbody tr:hover {background:#16181d}

body[data-erp-page="warehouse/receivings/list"] #receivingsTable tbody tr {cursor:pointer}

body[data-erp-page="warehouse/receivings/list"] .num {text-align:right}

body[data-erp-page="warehouse/receivings/list"] #receivingsTable {direction:ltr}

body[data-erp-page="warehouse/receivings/list"] #receivingsTable th, body[data-erp-page="warehouse/receivings/list"] #receivingsTable td {
      text-align:left !important;
    }

body[data-erp-page="warehouse/receivings/list"] #receivingsTable td.num, body[data-erp-page="warehouse/receivings/list"] #receivingsTable th.num {
      text-align:right !important;
    }

body[data-erp-page="warehouse/receivings/list"] .status {display:inline-block;padding:2px 8px;border-radius:999px;background:#1b1d22}

body[data-erp-page="warehouse/receivings/list"] .status-yellow {background:rgba(255,205,17,0.2);color:#ffcd11;border:1px solid rgba(255,205,17,0.35)}

body[data-erp-page="warehouse/receivings/list"] .status-green {background:rgba(27,215,96,0.18);color:#1bd760;border:1px solid rgba(27,215,96,0.35)}

body[data-erp-page="warehouse/receivings/list"] #receivingConfirm, body[data-erp-page="warehouse/receivings/list"] #receivingCreateExcel, body[data-erp-page="warehouse/receivings/list"] #receivingSave, body[data-erp-page="warehouse/receivings/list"] #receivingDetailsClose {cursor:pointer}

body[data-erp-page="warehouse/receivings/list"] .modal {position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;align-items:center;justify-content:center;z-index:3000}

body[data-erp-page="warehouse/receivings/list"] .modal.open {display:flex}

body[data-erp-page="warehouse/receivings/list"] .card {
      width:100%;
      max-width:100vw;
      height:100vh;
      max-height:100vh;
      overflow:hidden;
      background:#121317;border:1px solid #202228;border-radius:0;padding:16px;
    }

body[data-erp-page="warehouse/receivings/list"] .row {display:flex;gap:10px;align-items:center;flex-wrap:wrap}

body[data-erp-page="warehouse/receivings/list"] .row .spacer {flex:1}

body[data-erp-page="warehouse/receivings/list"] .close {margin-left:auto}

body[data-erp-page="warehouse/receivings/list"] .details-grid {display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:8px 16px;margin-top:8px}

body[data-erp-page="warehouse/receivings/list"] .details-label {color:#a0a0a7}

body[data-erp-page="warehouse/receivings/list"] .details-value {color:#e7e7ea}

body[data-erp-page="warehouse/receivings/list"] .details-scroll {max-height:70vh;overflow:hidden;margin-top:12px}

body[data-erp-page="warehouse/receivings/list"] #receivingDetailsHot {height:70vh}

body[data-erp-page="warehouse/receivings/list"] #receivingListHot {height:60vh}

body[data-erp-page="warehouse/receivings/list"] .list-totals {display:flex;gap:16px;align-items:center;justify-content:flex-end;margin-top:8px;color:#a0a0a7;font-size:13px}

body[data-erp-page="warehouse/receivings/list"] .list-totals strong {color:#e7e7ea}

body[data-erp-page="warehouse/receivings/list"] .details-totals {display:flex;gap:16px;align-items:center;justify-content:flex-end;margin-top:8px;color:#a0a0a7;font-size:13px}

body[data-erp-page="warehouse/receivings/list"] .details-totals strong {color:#e7e7ea}

body[data-erp-page="warehouse/receivings/list"] .btn-danger {
      background:rgba(255,77,79,0.12);
      border:1px solid rgba(255,77,79,0.35);
      color:#ff4d4f;
      border-radius:10px;
      padding:4px 10px;
      font-size:12px;
      line-height:1.2;
      cursor:pointer;
      transition:background .15s ease,border-color .15s ease,color .15s ease;
    }

body[data-erp-page="warehouse/receivings/list"] .btn-danger:hover {
      background:rgba(255,77,79,0.2);
      border-color:rgba(255,77,79,0.6);
      color:#ff5c5e;
    }

body[data-erp-page="warehouse/receivings/list"] .btn-danger:active {
      background:rgba(255,77,79,0.28);
    }

body[data-erp-page="warehouse/receivings/list"] .btn-primary {
      background:#1a1c22;
      border:1px solid #2c2f37;
      color:#e7e7ea;
      border-radius:10px;
      padding:6px 10px;
      font-size:12px;
      line-height:1.2;
      cursor:pointer;
      transition:background .15s ease,border-color .15s ease,color .15s ease;
    }

body[data-erp-page="warehouse/receivings/list"] .btn-primary:hover {
      background:#22252c;
      border-color:#3b3f49;
      color:#ffffff;
    }

body[data-erp-page="warehouse/receivings/list"] .btn-success {
      background:rgba(27,215,96,0.16);
      border:1px solid rgba(27,215,96,0.45);
      color:#1bd760;
    }

body[data-erp-page="warehouse/receivings/list"] .btn-info {
      background:rgba(76,144,255,0.16);
      border:1px solid rgba(76,144,255,0.45);
      color:#4c90ff;
    }

body[data-erp-page="warehouse/receivings/list"] .btn-warning {
      background:rgba(255,205,17,0.16);
      border:1px solid rgba(255,205,17,0.45);
      color:#ffcd11;
    }

body[data-erp-page="warehouse/receivings/list"] .btn-primary:disabled {
      opacity:.5;
      cursor:not-allowed;
    }

body[data-erp-page="warehouse/receivings/list"] .btn-secondary {
      background:#15161b;
      border:1px solid #2a2c33;
      color:#cfd0d7;
      border-radius:10px;
      padding:6px 10px;
      font-size:12px;
      line-height:1.2;
      cursor:pointer;
      transition:background .15s ease,border-color .15s ease,color .15s ease;
    }

body[data-erp-page="warehouse/receivings/list"] .btn-secondary:hover {
      background:#1b1d23;
      border-color:#3a3d47;
      color:#f1f2f6;
    }

body[data-erp-page="warehouse/receivings/list"] .replace-card {
      width:min(900px, 100%);
      max-height:90vh;
      background:#121317;
      border:1px solid #202228;
      border-radius:12px;
      padding:16px;
      overflow:hidden;
    }

body[data-erp-page="warehouse/receivings/list"] .replace-row {
      display:flex;
      gap:10px;
      align-items:center;
      flex-wrap:wrap;
      margin-top:8px;
    }

body[data-erp-page="warehouse/receivings/list"] .replace-row label {
      display:flex;
      flex-direction:column;
      gap:6px;
      min-width:220px;
      flex:1;
    }

body[data-erp-page="warehouse/receivings/list"] .replace-results {
      margin-top:12px;
      border:1px solid #202228;
      border-radius:10px;
      background:#0f1013;
      max-height:40vh;
      overflow:auto;
    }

body[data-erp-page="warehouse/receivings/list"] .replace-item {
      display:flex;
      gap:10px;
      align-items:center;
      justify-content:space-between;
      padding:8px 10px;
      border-bottom:1px solid #202228;
    }

body[data-erp-page="warehouse/receivings/list"] .replace-item:last-child {border-bottom:none}

body[data-erp-page="warehouse/receivings/list"] .replace-item button {
      font-size:11px;
      padding:4px 8px;
    }

body[data-erp-page="warehouse/receivings/list"] .replace-item.selected {
      background:rgba(27,215,96,0.14);
      border-left:3px solid #1bd760;
    }

body[data-erp-page="warehouse/receivings/list"] .replace-empty {
      padding:10px;
      color:#a0a0a7;
    }

body[data-erp-page="warehouse/receivings/list"] .replace-actions {
      display:flex;
      gap:8px;
      justify-content:flex-end;
      margin-top:12px;
    }

body[data-erp-page="warehouse/receivings/list"] .overlay {position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;align-items:center;justify-content:center;z-index:4000}

body[data-erp-page="warehouse/receivings/list"] .overlay.open {display:flex}

body[data-erp-page="warehouse/receivings/list"] .htContextMenu, body[data-erp-page="warehouse/receivings/list"] .htDropdownMenu {
      z-index:5001 !important;
    }

body[data-erp-page="warehouse/receivings/list"] #barcodeModal { display:none; position:fixed; inset:0; background: rgba(0,0,0,0.8); z-index: 3500; }

body[data-erp-page="warehouse/receivings/list"] #barcodeModal.open { display:block; }

body[data-erp-page="warehouse/receivings/list"] .barcode-modal-content { background:#121317; width: min(100%, 1000px); height: 100%; margin: 0 auto; display:flex; flex-direction: column; border-left:1px solid #202228; border-right:1px solid #202228; }

body[data-erp-page="warehouse/receivings/list"] .barcode-modal-header { padding: 12px 16px; border-bottom:1px solid #202228; display:flex; gap:8px; align-items:center; justify-content: space-between; }

body[data-erp-page="warehouse/receivings/list"] .barcode-modal-body { padding: 16px; overflow:auto; flex:1; }

body[data-erp-page="warehouse/receivings/list"] .barcode-grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; }

body[data-erp-page="warehouse/receivings/list"] .barcode-card { border:1px solid #202228; border-radius:8px; padding:12px; background:#0f1013; display:flex; flex-direction: column; gap:8px; align-items:center; }

body[data-erp-page="warehouse/receivings/list"] .barcode-label { font-size: 12px; color:#a0a0a7; word-break: break-all; text-align:center; }

/* ===== Page scoped: warehouse/shipments/list.html ===== */
body[data-erp-page="warehouse/shipments/list"] { --hover:#181a20; --bg-light:#1a1c20; }

body[data-erp-page="warehouse/shipments/list"] .invoices-table { width:100%; border-collapse:collapse; margin-top:16px; }

body[data-erp-page="warehouse/shipments/list"] .invoices-table th, body[data-erp-page="warehouse/shipments/list"] .invoices-table td { padding:12px 8px; border-bottom:1px solid var(--border); text-align:left; }

body[data-erp-page="warehouse/shipments/list"] .invoices-table th { color:var(--muted); font-size:13px; font-weight:600; }

body[data-erp-page="warehouse/shipments/list"] .invoices-table td { font-size:14px; }

body[data-erp-page="warehouse/shipments/list"] .invoices-table tbody tr { cursor:pointer; transition: background-color .15s; }

body[data-erp-page="warehouse/shipments/list"] .invoices-table tbody tr:hover { background:var(--bg-light); }

body[data-erp-page="warehouse/shipments/list"] .toolbar { display:flex; gap:12px; align-items:center; margin-bottom:20px; flex-wrap:wrap; }

body[data-erp-page="warehouse/shipments/list"] .invoice-number { font-weight:600; color:var(--ink); }

body[data-erp-page="warehouse/shipments/list"] .invoice-date { color:var(--muted); font-size:13px; }

body[data-erp-page="warehouse/shipments/list"] .customer-name { font-weight:500; }

body[data-erp-page="warehouse/shipments/list"] .invoice-status { color:var(--muted); font-size:13px; }

@media (max-width: 768px) {
body[data-erp-page="warehouse/shipments/list"] .toolbar { flex-direction:column; align-items:stretch; gap:8px; }

body[data-erp-page="warehouse/shipments/list"] .erp-btn { min-height:44px; }

body[data-erp-page="warehouse/shipments/list"] .invoices-table thead { display:none; }

body[data-erp-page="warehouse/shipments/list"] .invoices-table, body[data-erp-page="warehouse/shipments/list"] .invoices-table tbody, body[data-erp-page="warehouse/shipments/list"] .invoices-table tr, body[data-erp-page="warehouse/shipments/list"] .invoices-table td { display:block; width:100%; }

body[data-erp-page="warehouse/shipments/list"] .invoices-table tbody tr { background:var(--panel); border:1px solid var(--border); border-radius:8px; margin-bottom:12px; }

body[data-erp-page="warehouse/shipments/list"] .invoices-table td { padding:10px 12px; display:flex; justify-content:space-between; align-items:baseline; gap:12px; }

body[data-erp-page="warehouse/shipments/list"] .invoices-table td::before { content:attr(data-label); color:var(--muted); font-size:12px; font-weight:600; }
}

/* ===== Page scoped: warehouse/shipments/packing.html ===== */
body[data-erp-page="warehouse/shipments/packing"] {
			--hover: #181a20;
			--bg-light: #1a1c20;
		}

body[data-erp-page="warehouse/shipments/packing"] .packing-page {
			display: flex;
			flex-direction: column;
			gap: 16px;
		}

body[data-erp-page="warehouse/shipments/packing"] .packing-page .header-bar {
			display: flex;
			justify-content: space-between;
			align-items: center;
			gap: 12px;
			flex-wrap: wrap;
		}

body[data-erp-page="warehouse/shipments/packing"] .packing-page .badge {
			display: inline-flex;
			align-items: center;
			gap: 6px;
			padding: 4px 8px;
			border: 1px solid var(--border);
			border-radius: 6px;
			color: var(--muted);
			font-size: 12px;
		}

body[data-erp-page="warehouse/shipments/packing"] .packing-page .tabs {
			display: flex;
			gap: 4px;
			border-bottom: 2px solid var(--border);
		}

body[data-erp-page="warehouse/shipments/packing"] .packing-page .tab-btn { padding: 10px 16px; background: none; border: none; color: var(--muted); font-weight: 600; cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -2px; }

body[data-erp-page="warehouse/shipments/packing"] .packing-page .tab-btn.active { color: var(--ink); border-bottom-color: var(--ink); }

body[data-erp-page="warehouse/shipments/packing"] .packing-page .tab-content { display: none; }

body[data-erp-page="warehouse/shipments/packing"] .packing-page .tab-content.active { display: block; }

body[data-erp-page="warehouse/shipments/packing"] .packing-page .panel { display: flex; flex-direction: column; gap: 12px; }

body[data-erp-page="warehouse/shipments/packing"] .packing-page .field-row { display: flex; gap: 8px; align-items: center; }

body[data-erp-page="warehouse/shipments/packing"] .packing-page .field-row input[type="text"], body[data-erp-page="warehouse/shipments/packing"] .packing-page .field-row input[type="number"], body[data-erp-page="warehouse/shipments/packing"] .packing-page .field-row select { width: 100%; }

body[data-erp-page="warehouse/shipments/packing"] .packing-page .loading-overlay { position: relative; }

body[data-erp-page="warehouse/shipments/packing"] .packing-page .loading-overlay::after {
			content: '';
			position: absolute; inset: 0;
			display: none;
			background: rgba(0,0,0,.35);
			z-index: 2;
		}

body[data-erp-page="warehouse/shipments/packing"] .packing-page .loading-overlay.show::after { display: block; }

body[data-erp-page="warehouse/shipments/packing"] .packing-page .loading-spinner {
			position: absolute; z-index: 3; inset: 0; display: none;
			align-items: center; justify-content: center;
		}

body[data-erp-page="warehouse/shipments/packing"] .packing-page .loading-overlay.show .loading-spinner { display: flex; }

body[data-erp-page="warehouse/shipments/packing"] .packing-page .loading-spinner .dot { width: 10px; height: 10px; border-radius: 50%; background: #fff; opacity: .85; animation: pb 1s infinite ease-in-out; margin: 0 4px; }

body[data-erp-page="warehouse/shipments/packing"] .packing-page .loading-spinner .dot:nth-child(2) { animation-delay: .15s }

body[data-erp-page="warehouse/shipments/packing"] .packing-page .loading-spinner .dot:nth-child(3) { animation-delay: .3s }

@keyframes pb { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1); } }

body[data-erp-page="warehouse/shipments/packing"] .packing-page .list { display: flex; flex-direction: column; border: 1px solid var(--border); border-radius: 8px; overflow: hidden; }

body[data-erp-page="warehouse/shipments/packing"] .packing-page .list-item { display: grid; grid-template-columns: 1fr auto; gap: 8px; padding: 10px 12px; border-bottom: 1px solid var(--border); }

body[data-erp-page="warehouse/shipments/packing"] .packing-page .item-row { grid-template-columns: minmax(0, 1fr) auto; }

body[data-erp-page="warehouse/shipments/packing"] .packing-page .item-main { padding-right: 12px; border-right: 1px solid var(--border); }

body[data-erp-page="warehouse/shipments/packing"] .packing-page .item-actions { padding-left: 12px; display:flex; gap:6px; align-items:center; }

body[data-erp-page="warehouse/shipments/packing"] .packing-page .list-item:last-child { border-bottom: none; }

body[data-erp-page="warehouse/shipments/packing"] .packing-page .item-meta { color: var(--muted); font-size: 12px; }

body[data-erp-page="warehouse/shipments/packing"] #tsdScan {
			width: 100%;
			height: 42px;
			font-size: 18px;
			border: 1px solid var(--border);
			border-radius: 6px;
			padding: 8px 12px;
			background: var(--bg);
			color: var(--ink);
			margin-bottom: 8px;
		}

body[data-erp-page="warehouse/shipments/packing"] #scanLogPanel { border:1px solid var(--border); border-radius:8px; padding:8px; display:flex; flex-direction:column; gap:8px; }

body[data-erp-page="warehouse/shipments/packing"] #scanLogView { height: 180px; overflow:auto; background: var(--bg); border:1px solid var(--border); border-radius:6px; padding:8px; font-size:12px; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }

body[data-erp-page="warehouse/shipments/packing"] .packing-page .box-card { border: 1px solid var(--border); border-radius: 8px; padding: 12px; display: flex; flex-direction: column; gap: 8px; }

body[data-erp-page="warehouse/shipments/packing"] .packing-page .loc-header { background: rgba(255,255,255,0.02); border: 1px solid var(--border); border-radius: 8px; padding: 10px 12px; margin: 8px 12px; }

body[data-erp-page="warehouse/shipments/packing"] .packing-page .box-header { background: rgba(255,255,255,0.04); border: 1px dashed var(--border); border-radius: 8px; padding: 8px 12px; margin: 6px 12px; }

body[data-erp-page="warehouse/shipments/packing"] .packing-page .group-sep { height: 1px; background: var(--border); margin: 6px 0; opacity: .6; }

body[data-erp-page="warehouse/shipments/packing"] .packing-page .item-row { border-left: 3px solid transparent; }

body[data-erp-page="warehouse/shipments/packing"] .packing-page .item-row:hover { border-left-color: #3a6df0; background: rgba(58,109,240,0.06); }

body[data-erp-page="warehouse/shipments/packing"] .packing-page .scan-hit { outline: 2px solid #3a6df0; background: rgba(58,109,240,0.10); }

@media (max-width: 768px) {
body[data-erp-page="warehouse/shipments/packing"] .packing-page .header-bar { flex-direction: column; align-items: stretch; }

body[data-erp-page="warehouse/shipments/packing"] .packing-page .erp-btn { min-height: 44px; }
}

body[data-erp-page="warehouse/shipments/packing"] #barcodeModal { display:none; position:fixed; inset:0; background: rgba(0,0,0,0.8); z-index: 2000; }

body[data-erp-page="warehouse/shipments/packing"] #barcodeModal.open { display:block; }

body[data-erp-page="warehouse/shipments/packing"] .barcode-modal-content { background: var(--panel); width: min(100%, 1000px); height: 100%; margin: 0 auto; display:flex; flex-direction: column; }

body[data-erp-page="warehouse/shipments/packing"] .barcode-modal-header { padding: 12px 16px; border-bottom:1px solid var(--border); display:flex; gap:8px; align-items:center; justify-content: space-between; }

body[data-erp-page="warehouse/shipments/packing"] .barcode-modal-body { padding: 16px; overflow:auto; flex:1; }

body[data-erp-page="warehouse/shipments/packing"] .barcode-grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; }

body[data-erp-page="warehouse/shipments/packing"] .barcode-card { border:1px solid var(--border); border-radius:8px; padding:12px; background: var(--bg); display:flex; flex-direction: column; gap:8px; align-items:center; }

body[data-erp-page="warehouse/shipments/packing"] .barcode-label { font-size: 12px; color: var(--muted); word-break: break-all; text-align:center; }

body[data-erp-page="warehouse/shipments/packing"] #boxEditModal { display:none; position:fixed; inset:0; background: rgba(0,0,0,0.8); z-index: 2001; }

body[data-erp-page="warehouse/shipments/packing"] #boxEditModal.open { display:block; }

body[data-erp-page="warehouse/shipments/packing"] .box-edit-content { background: var(--panel); width: min(100%, 520px); margin: 10vh auto; border-radius: 10px; border:1px solid var(--border); display:flex; flex-direction: column; overflow:hidden; }

body[data-erp-page="warehouse/shipments/packing"] .box-edit-header { padding: 12px 16px; border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content: space-between; }

body[data-erp-page="warehouse/shipments/packing"] .box-edit-body { padding: 16px; display:flex; flex-direction: column; gap: 10px; }

body[data-erp-page="warehouse/shipments/packing"] .box-edit-footer { padding: 12px 16px; border-top:1px solid var(--border); display:flex; gap:8px; justify-content: flex-end; }

/* ===== Page scoped: warehouse/shipments/scanner_test.html ===== */
body[data-erp-page="warehouse/shipments/scanner_test"] { --ok:#2ecc71; --warn:#f1c40f; --err:#e74c3c; }

body[data-erp-page="warehouse/shipments/scanner_test"] .page { display:flex; flex-direction:column; gap:12px; }

body[data-erp-page="warehouse/shipments/scanner_test"] .card { border:1px solid var(--border); border-radius:8px; padding:12px; }

body[data-erp-page="warehouse/shipments/scanner_test"] .row { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }

body[data-erp-page="warehouse/shipments/scanner_test"] .grid { display:grid; grid-template-columns: 1fr 1fr; gap:12px; }

body[data-erp-page="warehouse/shipments/scanner_test"] .kv { display:grid; grid-template-columns: 160px 1fr; gap:6px 10px; align-items:center; }

body[data-erp-page="warehouse/shipments/scanner_test"] .badge { display:inline-flex; align-items:center; gap:6px; padding:4px 8px; border:1px solid var(--border); border-radius:6px; font-size:12px; color:var(--muted); }

body[data-erp-page="warehouse/shipments/scanner_test"] .mono { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }

body[data-erp-page="warehouse/shipments/scanner_test"] #log { height: 280px; overflow:auto; background: var(--bg); border:1px solid var(--border); border-radius:8px; padding:8px; font-size:12px; }

body[data-erp-page="warehouse/shipments/scanner_test"] .ok { color: var(--ok); }

body[data-erp-page="warehouse/shipments/scanner_test"] .warn { color: var(--warn); }

body[data-erp-page="warehouse/shipments/scanner_test"] .err { color: var(--err); }

body[data-erp-page="warehouse/shipments/scanner_test"] #scanInput { width: 100%; font-size:18px; height:42px; }

body[data-erp-page="warehouse/shipments/scanner_test"] .small { font-size:12px; color: var(--muted); }

/* ===== Page scoped: warehouse/shipments/scanner_test2.html ===== */
body[data-erp-page="warehouse/shipments/scanner_test2"] * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            -webkit-tap-highlight-color: transparent;
        }

body[data-erp-page="warehouse/shipments/scanner_test2"] {
            font-family: Arial, sans-serif;
            background: linear-gradient(135deg, #1a2980, #26d0ce);
            height: 100vh;
            display: flex;
            justify-content: center;
            align-items: center;
            color: #fff;
            overflow: hidden;
            touch-action: manipulation;
            user-select: none;
        }

body[data-erp-page="warehouse/shipments/scanner_test2"] .screen {
            text-align: center;
            padding: 32px;
        }

body[data-erp-page="warehouse/shipments/scanner_test2"] .icon {
            font-size: 80px;
            margin-bottom: 24px;
        }

body[data-erp-page="warehouse/shipments/scanner_test2"] .title {
            font-size: 32px;
            font-weight: bold;
            margin-bottom: 8px;
        }

body[data-erp-page="warehouse/shipments/scanner_test2"] .subtitle {
            font-size: 18px;
            opacity: 0.9;
        }

body[data-erp-page="warehouse/shipments/scanner_test2"] .modal {
            position: fixed;
            inset: 0;
            background: rgba(0, 0, 0, 0.9);
            display: none; 
            justify-content: center;
            align-items: center;
            z-index: 1000;
        }

body[data-erp-page="warehouse/shipments/scanner_test2"] .modal-content {
            background: #fff;
            color: #000;
            padding: 32px 24px;
            border-radius: 16px;
            max-width: 90vw;
            width: 500px;
            text-align: center;
        }

body[data-erp-page="warehouse/shipments/scanner_test2"] .modal-title {
            font-size: 24px;
            margin-bottom: 12px;
            color: #28a745;
        }

body[data-erp-page="warehouse/shipments/scanner_test2"] .barcode {
            font-family: "Courier New", monospace;
            font-size: 28px;
            font-weight: bold;
            padding: 16px;
            margin: 16px 0;
            border-radius: 10px;
            background: #f5f5f5;
            word-wrap: break-word;
        }

body[data-erp-page="warehouse/shipments/scanner_test2"] .modal-hint {
            font-size: 14px;
            color: #555;
        }

body[data-erp-page="warehouse/shipments/scanner_test2"] .debug {
            position: fixed;
            bottom: 8px;
            left: 8px;
            font-size: 12px;
            opacity: 0.6;
        }

/* ===== ERP width unification ===== */
:root {
  --erp-page-max: 1920px;
  --erp-page-wide: 1920px;
  --erp-page-full: 1920px;
  --erp-content-width: min(1920px, calc(100vw - 32px));
}

body[data-erp-page]:not([data-erp-page="login"]):not([data-erp-page="test"]) > .erp-page,
body[data-erp-page]:not([data-erp-page="login"]):not([data-erp-page="test"]) > .wrap,
body[data-erp-page="tasks/index"] .tasks-container,
body[data-erp-page]:not([data-erp-page="login"]):not([data-erp-page="test"]) .settings-wrap,
body[data-erp-page]:not([data-erp-page="login"]):not([data-erp-page="test"]) .erp-settings-page {
  width: var(--erp-content-width) !important;
  max-width: var(--erp-content-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body[data-erp-page]:not([data-erp-page="login"]):not([data-erp-page="test"]) > .erp-page,
body[data-erp-page]:not([data-erp-page="login"]):not([data-erp-page="test"]) > .wrap,
body[data-erp-page="tasks/index"] .tasks-container {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body[data-erp-page]:not([data-erp-page="login"]):not([data-erp-page="test"]) .erp-card,
body[data-erp-page]:not([data-erp-page="login"]):not([data-erp-page="test"]) .settings-card,
body[data-erp-page]:not([data-erp-page="login"]):not([data-erp-page="test"]) .table-wrap,
body[data-erp-page]:not([data-erp-page="login"]):not([data-erp-page="test"]) .erp-table-wrap,
body[data-erp-page]:not([data-erp-page="login"]):not([data-erp-page="test"]) .hot-container,
body[data-erp-page]:not([data-erp-page="login"]):not([data-erp-page="test"]) .report-table-wrap,
body[data-erp-page]:not([data-erp-page="login"]):not([data-erp-page="test"]) .shipment-table-wrap {
  width: 100% !important;
  max-width: none !important;
}

body[data-erp-page]:not([data-erp-page="login"]):not([data-erp-page="test"]) .erp-card {
  overflow: visible;
}

@media (max-width: 760px) {
  :root { --erp-content-width: calc(100vw - 24px); }
}

/* ===== Sales order modal refinements ===== */
body[data-erp-page="sales/list"] .order-card {
  width: min(1600px, calc(100vw - 32px));
  max-height: calc(100vh - 32px);
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  gap: 18px;
  padding: 18px 24px 22px;
}

body[data-erp-page="sales/list"] .order-modal-header {
  display: grid;
  grid-template-columns: minmax(320px, 1fr) auto;
  gap: 18px;
  align-items: start;
  border-bottom: 1px solid var(--erp-border);
  padding-bottom: 16px;
}

body[data-erp-page="sales/list"] .order-kicker,
body[data-erp-page="sales/list"] .order-summary-item span {
  display: block;
  color: var(--erp-muted-2);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

body[data-erp-page="sales/list"] .order-title-line,
body[data-erp-page="sales/list"] .order-actions,
body[data-erp-page="sales/list"] .currency-editor {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

body[data-erp-page="sales/list"] .order-title-line h2 {
  margin: 4px 0 0;
  font-size: 28px;
  line-height: 1.15;
}

body[data-erp-page="sales/list"] .order-actions {
  justify-content: flex-end;
}

body[data-erp-page="sales/list"] .order-summary {
  display: grid;
  grid-template-columns: repeat(6, minmax(150px, 1fr));
  gap: 18px 26px;
  align-items: end;
}

body[data-erp-page="sales/list"] .order-summary-item strong {
  display: block;
  margin-top: 6px;
  color: var(--erp-text-strong);
  font-size: 18px;
  line-height: 1.25;
}

body[data-erp-page="sales/list"] .currency-item {
  grid-column: span 2;
}

body[data-erp-page="sales/list"] .currency-editor select {
  min-width: 260px;
  height: 42px;
}

body[data-erp-page="sales/list"] .currency-save-state {
  min-height: 16px;
  color: var(--erp-muted);
}

body[data-erp-page="sales/list"] #mTbl {
  width: 100%;
  table-layout: fixed;
}

body[data-erp-page="sales/list"] #mTbl th,
body[data-erp-page="sales/list"] #mTbl td {
  padding: 14px 16px;
}

@media (max-width: 1100px) {
  body[data-erp-page="sales/list"] .order-modal-header,
  body[data-erp-page="sales/list"] .order-summary {
    grid-template-columns: 1fr 1fr;
  }

  body[data-erp-page="sales/list"] .order-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 700px) {
  body[data-erp-page="sales/list"] .order-card {
    width: calc(100vw - 20px);
    padding: 14px;
  }

  body[data-erp-page="sales/list"] .order-modal-header,
  body[data-erp-page="sales/list"] .order-summary {
    grid-template-columns: 1fr;
  }

  body[data-erp-page="sales/list"] .currency-item {
    grid-column: auto;
  }
}

/* ===== Ready shipments modal refinements ===== */
body[data-erp-page="shipments/so_ready"] .contract-help {
  margin-bottom: 14px;
  color: var(--erp-muted-2);
}

body[data-erp-page="shipments/so_ready"] .contract-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 16px;
}

body[data-erp-page="shipments/so_ready"] .contract-radio-cell {
  width: 44px;
  text-align: center;
}

body[data-erp-page="shipments/so_ready"] .contract-name {
  color: var(--erp-text-strong);
  font-weight: 700;
}

body[data-erp-page="shipments/so_ready"] .contract-description,
body[data-erp-page="shipments/so_ready"] .contract-empty {
  color: var(--erp-muted);
  font-size: 12px;
  margin-top: 4px;
}

/* ===== Sales create width override ===== */
body[data-erp-page="sales/create"] {
  --erp-content-width: min(1120px, calc(100vw - 32px));
}

@media (max-width: 760px) {
  body[data-erp-page="sales/create"] {
    --erp-content-width: calc(100vw - 24px);
  }
}

/* ===== Handsontable isolation ===== */
body[data-erp-page] .handsontable,
body[data-erp-page] .htContextMenu,
body[data-erp-page] .htDropdownMenu,
body[data-erp-page] .htFiltersConditionsMenu {
  color: #373737;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, "Helvetica Neue", Arial, sans-serif;
  font-size: 13px;
  font-weight: 400;
}

body[data-erp-page] .handsontable div,
body[data-erp-page] .handsontable input,
body[data-erp-page] .handsontable table,
body[data-erp-page] .handsontable tbody,
body[data-erp-page] .handsontable td,
body[data-erp-page] .handsontable textarea,
body[data-erp-page] .handsontable th,
body[data-erp-page] .handsontable thead {
  box-sizing: content-box;
}

body[data-erp-page] .handsontable table.htCore,
body[data-erp-page] .htContextMenu table.htCore,
body[data-erp-page] .htDropdownMenu table.htCore,
body[data-erp-page] .htFiltersConditionsMenu table.htCore {
  border-collapse: separate;
  border-spacing: 0;
  border-width: 0;
  border-radius: 0;
  cursor: default;
  margin: 0;
  max-height: none;
  max-width: none;
  outline-width: 0;
  overflow: visible;
  table-layout: fixed;
  background: transparent;
  color: #373737;
}

body[data-erp-page] .handsontable tr,
body[data-erp-page] .handsontable tbody tr:hover {
  background: #fff;
  cursor: default;
}

body[data-erp-page] .handsontable td,
body[data-erp-page] .handsontable th {
  background-color: #fff;
  border-bottom: 1px solid #ccc;
  border-left-width: 0;
  border-right: 1px solid #ccc;
  border-top-width: 0;
  color: #373737;
  empty-cells: show;
  font-size: 13px;
  font-weight: 400;
  height: 22px;
  line-height: 21px;
  outline-width: 0;
  overflow: hidden;
  padding: 0 4px;
  position: static;
  text-align: left;
  top: auto;
  vertical-align: top;
  white-space: pre-wrap;
  z-index: auto;
}

body[data-erp-page] .handsontable th {
  background-color: #f0f0f0;
  color: #222;
  text-align: center;
  white-space: nowrap;
}

body[data-erp-page] .handsontable thead th {
  padding: 0;
}

body[data-erp-page] .handsontable thead th .relative {
  padding: 2px 4px;
}

body[data-erp-page] .handsontable span.colHeader {
  display: inline-block;
  line-height: 1.1;
}

body[data-erp-page] .handsontable td:first-of-type,
body[data-erp-page] .handsontable th:first-child,
body[data-erp-page] .handsontable th:nth-child(2) {
  border-left: 1px solid #ccc;
}

body[data-erp-page] .handsontable tr:first-child td,
body[data-erp-page] .handsontable tr:first-child th {
  border-top: 1px solid #ccc;
}

body[data-erp-page] .handsontable .htDimmed {
  color: #777;
}

body[data-erp-page] .handsontableInput {
  background-color: #fff;
  border: none;
  border-radius: 0;
  box-shadow: inset 0 0 0 2px #5292f7;
  color: #000;
  display: block;
  font-family: inherit;
  font-size: inherit;
  line-height: 21px;
  margin: 0;
  outline-width: 0;
  padding: 1px 5px 0;
  resize: none;
}

body[data-erp-page] .htContextMenu table tbody tr,
body[data-erp-page] .htDropdownMenu table tbody tr,
body[data-erp-page] .htFiltersConditionsMenu table tbody tr,
body[data-erp-page] .htContextMenu table tbody tr:hover,
body[data-erp-page] .htDropdownMenu table tbody tr:hover,
body[data-erp-page] .htFiltersConditionsMenu table tbody tr:hover {
  background: #fff;
  cursor: default;
}

body[data-erp-page] .htContextMenu table tbody tr td,
body[data-erp-page] .htDropdownMenu table tbody tr td,
body[data-erp-page] .htFiltersConditionsMenu table tbody tr td {
  background: #fff;
  border-width: 0;
  color: #323232;
  cursor: pointer;
  font-size: 13px;
  height: 22px;
  line-height: 21px;
  overflow: hidden;
  padding: 4px 6px 0;
  position: static;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-erp-page] .htContextMenu table tbody tr td.current,
body[data-erp-page] .htContextMenu table tbody tr td.zeroclipboard-is-hover,
body[data-erp-page] .htDropdownMenu table tbody tr td.current,
body[data-erp-page] .htDropdownMenu table tbody tr td.zeroclipboard-is-hover,
body[data-erp-page] .htFiltersConditionsMenu table tbody tr td.current,
body[data-erp-page] .htFiltersConditionsMenu table tbody tr td.zeroclipboard-is-hover {
  background: #f3f3f3;
}

body[data-erp-page] .htContextMenu table tbody tr td.htSeparator,
body[data-erp-page] .htDropdownMenu table tbody tr td.htSeparator,
body[data-erp-page] .htFiltersConditionsMenu table tbody tr td.htSeparator {
  border-top: 1px solid #e6e6e6;
  cursor: default;
  height: 0;
  padding: 0;
}
