
/* CSS block 1: unnamed */

  :root {
    --sidebar-bg: #1e3a5f;
    --sidebar-text: #e2e8f0;
    --sidebar-active-bg: rgba(255,255,255,0.08);
    --sidebar-hover-bg: rgba(255,255,255,0.04);
    --primary: #2563eb;
    --primary-hover: #1d4ed8;
    --success: #16a34a;
    --danger: #dc2626;
    --warning: #d97706;
    --surface: #ffffff;
    --surface-muted: #f8fafc;
    --border: #e2e8f0;
    --text: #0f172a;
    --text-muted: #64748b;
    --radius: 8px;
    --shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
    --shadow: 0 1px 3px rgba(0,0,0,0.1), 0 1px 2px rgba(0,0,0,0.06);
    --shadow-lg: 0 4px 6px rgba(0,0,0,0.07), 0 2px 4px rgba(0,0,0,0.06);
  }

  * { margin:0; padding:0; box-sizing: border-box; }

  body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 14px;
    color: var(--text);
    background: var(--surface-muted);
    display: flex;
    min-height: 100vh;
    line-height: 1.5;
  }

  /* ========== SIDEBAR ========== */
  .sidebar { width: 300px; background: var(--sidebar-bg); color: var(--sidebar-text);
    display: flex; flex-direction: column; flex-shrink: 0; position: sticky; top: 0;
    height: 100vh; overflow-y: auto; }
  .sidebar-brand { padding: 24px 22px 20px; border-bottom: 1px solid rgba(255,255,255,0.1); }
  .sidebar-brand .logo { font-size: 24px; font-weight: 600; color: #fff; letter-spacing: -0.3px;
    display: flex; align-items: center; gap: 12px; }
  .sidebar-brand .logo .icon { font-size: 32px; }
  .sidebar-brand .sub { font-size: 12.5px; color: #94a3b8; margin-top: 6px;
    letter-spacing: 0.5px; text-transform: uppercase; font-weight: 400; }
  .sidebar-nav { flex: 1; padding: 16px 14px 12px; }
  .nav-section-title { font-size: 12px; font-weight: 500; text-transform: uppercase;
    letter-spacing: 0.9px; color: #64748b; padding: 20px 14px 10px; }
  .nav-item { display: flex; align-items: center; gap: 12px; padding: 11px 14px;
    border-radius: 9px; color: var(--sidebar-text); text-decoration: none; cursor: pointer;
    font-size: 15.5px; transition: background 0.15s, color 0.15s; user-select: none; line-height: 1.5; font-weight: 400; letter-spacing: 0.1px; }
  .nav-item:hover { background: var(--sidebar-hover-bg); }
  .nav-item.active { background: var(--sidebar-active-bg); color: #fff; font-weight: 500; }
  .nav-item .nav-icon { font-size: 20px; width: 26px; text-align: center; opacity: 0.9; }
  .nav-item .nav-label { flex: 1; }
  .nav-item .nav-badge { font-size: 11px; background: rgba(255,255,255,0.14);
    padding: 2px 8px; border-radius: 10px; color: #94a3b8; }
  .nav-sub { padding-left: 36px; }
  .nav-sub .nav-item { font-size: 14.5px; padding: 8px 14px; opacity: 0.9; font-weight: 400; }
  .nav-sub .nav-item:hover { opacity: 1; }
  .nav-sub .nav-item.active { opacity: 1; font-weight: 500; }
  .menu-group { margin: 7px 0; }
  .menu-group-toggle { width:100%; display:flex; align-items:center; gap:12px; min-height:50px; padding:12px 14px; border:0; border-radius:11px; background:transparent; color:#cbd5e1; cursor:pointer; font:inherit; text-align:left; }
  .menu-group-toggle:hover, .menu-group.open > .menu-group-toggle { background:rgba(255,255,255,.08); color:#fff; }
  .menu-group-icon { width:28px; text-align:center; font-size:21px; }
  .menu-group-label { flex:1; font-size:15.5px; font-weight:500; letter-spacing: 0.1px; }
  .menu-group-arrow { font-size:12px; transition:transform .18s ease; opacity: 0.85; }
  .menu-group.open .menu-group-arrow { transform:rotate(90deg); }
  .menu-group-body { display:none; padding:5px 0 10px 20px; margin-left:25px; border-left:1px solid rgba(148,163,184,.20); }
  .menu-group.open .menu-group-body { display:block; }
  .menu-group-body .nav-item { min-height:40px; padding:9px 12px; margin:3px 0; font-size:14.5px; color:#aebbd0; border-radius: 8px; font-weight: 400; }
  .menu-group-body .nav-item .nav-icon { font-size:17px; width:22px; }
  .menu-group-body .nav-item.active { color:#fff; background: rgba(255,255,255,0.1); }
  .sidebar-menu-search { padding:10px 12px 4px; position:relative; }
  .sidebar-menu-search-box { display:flex;align-items:center;gap:7px;min-height:39px;padding:0 9px;border:1px solid rgba(148,163,184,.24);border-radius:9px;background:rgba(255,255,255,.06);color:#94a3b8; }
  .sidebar-menu-search-box:focus-within { border-color:rgba(96,165,250,.75);background:rgba(255,255,255,.09);box-shadow:0 0 0 3px rgba(59,130,246,.12); }
  .sidebar-menu-search input { width:100%;min-width:0;border:0;outline:0;background:transparent;color:#fff;font:inherit;font-size:12.5px; }
  .sidebar-menu-search input::placeholder { color:#8090a8; }
  .sidebar-menu-search-clear { display:none;border:0;background:transparent;color:#aebbd0;cursor:pointer;padding:3px;line-height:1; }
  .sidebar-menu-search.has-query .sidebar-menu-search-clear { display:inline-flex; }
  .sidebar-menu-search-status { min-height:18px;padding:4px 2px 0;color:#8090a8;font-size:10.5px; }
  .sidebar-menu-search mark { background:transparent;color:inherit; }
  .sidebar.compact .menu-group-label, .sidebar.compact .menu-group-arrow, .sidebar.compact .menu-group-body { display:none !important; }
  .sidebar-footer { padding: 18px 20px; border-top: 1px solid rgba(255,255,255,0.1);
    font-size: 13.5px; color: #94a3b8; display: flex; align-items: center; gap: 12px; }
  .sidebar-footer .avatar { width: 36px; height: 36px; border-radius: 50%;
    background: #3b82f6; color: #fff; display: flex; align-items: center;
    justify-content: center; font-size: 14px; font-weight: 500; }

  /* ========== MAIN ========== */
  .main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
  .topbar { height: 52px; background: var(--surface); border-bottom: 1px solid var(--border);
    display: flex; align-items: center; padding: 0 24px; gap: 16px;
    position: sticky; top: 0; z-index: 10; }
  .topbar .page-title { font-size: 17px; font-weight: 600; color: var(--text); }
  .topbar .page-sub { font-size: 12px; color: var(--text-muted); margin-left: 8px; }
  .topbar .spacer { flex: 1; }
  .topbar .topbar-actions { display: flex; gap: 8px; }
  /* Keep the shared sidebar control compact and prevent stray text/newlines overflowing. */
  .topbar .topbar-actions { flex: 0 0 auto; white-space: nowrap; }
  #btn-expand-sidebar { width: 40px; min-width: 40px; padding: 8px !important; justify-content: center; overflow: hidden; white-space: nowrap; font-size: 0 !important; line-height: 1; }
  #btn-expand-sidebar::before { content: '☰'; display: inline-block; font-size: 16px; line-height: 1; }
  .content { flex: 1; padding: 24px; overflow-y: auto; }

  /* ========== BUTTONS ========== */
  .btn { display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px;
    border-radius: 6px; font-size: 13px; font-weight: 500; cursor: pointer;
    border: 1px solid transparent; transition: all 0.15s; font-family: inherit; }
  .btn-primary { background: var(--primary); color: #fff; border-color: var(--primary); }
  .btn-primary:hover { background: var(--primary-hover); }
  .btn-secondary { background: var(--surface); color: var(--text); border-color: var(--border); }
  .btn-secondary:hover { background: var(--surface-muted); }
  .btn-danger { background: var(--danger); color: #fff; }
  .btn-danger:hover { background: #b91c1c; }
  .btn-success { background: var(--success); color: #fff; }
  .btn-sm { padding: 4px 10px; font-size: 12px; }
  .btn-icon { width: 28px; height: 28px; padding: 0; display: inline-flex;
    align-items: center; justify-content: center; border-radius: 6px;
    border: 1px solid var(--border); background: var(--surface); cursor: pointer; font-size: 14px; }
  .btn-icon:hover { background: var(--surface-muted); }
  .btn-icon.danger:hover { background: #fef2f2; border-color: #fecaca; color: var(--danger); }

  /* ========== CARDS / TABLES ========== */
  .card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
  .kpi-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; margin-bottom: 24px; }
  .kpi-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius);
    padding: 16px 18px; box-shadow: var(--shadow-sm); }
  .kpi-card .kpi-label { font-size: 12px; color: var(--text-muted); margin-bottom: 4px; }
  .kpi-card .kpi-value { font-size: 24px; font-weight: 700; color: var(--text); }
  .kpi-card .kpi-sub { font-size: 11px; color: var(--text-muted); margin-top: 2px; }
  .kpi-card.accent { border-left: 3px solid var(--primary); }
  .kpi-card.success { border-left: 3px solid var(--success); }
  .kpi-card.warning { border-left: 3px solid var(--warning); }
  .kpi-card.danger { border-left: 3px solid var(--danger); }

  .table-container { background: var(--surface); border: 1px solid var(--border);
    border-radius: var(--radius); box-shadow: var(--shadow-sm); overflow: hidden; }
  .table-header { padding: 14px 18px; border-bottom: 1px solid var(--border);
    display: flex; align-items: center; justify-content: space-between; gap: 12px; background: var(--surface); }
  .table-header h3 { font-size: 15px; font-weight: 600; }
  .table-header .table-actions { display: flex; gap: 8px; }
  .table-wrapper { overflow-x: auto; }
  table { width: 100%; border-collapse: collapse; font-size: 13px; }
  thead { background: #f1f5f9; border-bottom: 1px solid var(--border); }
  thead th { padding: 9px 14px; text-align: left; font-weight: 600; font-size: 11.5px;
    text-transform: uppercase; color: var(--text-muted); letter-spacing: 0.3px; white-space: nowrap; }
  thead th.text-right { text-align: right; }
  tbody tr { border-bottom: 1px solid var(--border); }
  tbody tr:nth-child(even) { background: var(--surface-muted); }
  tbody tr:hover { background: #f1f5f9; }
  tbody td { padding: 10px 14px; vertical-align: middle; }
  tbody td.text-right { text-align: right; }
  .action-cell { white-space: nowrap; display: flex; gap: 4px; }

  .badge-customer { background: #dbeafe; color: #1e40af; }
  .badge-supplier { background: #fef3c7; color: #92400e; }
  .badge-individual { background: #e0e7ff; color: #3730a3; }
  .badge-juristic { background: #fce7f3; color: #9d174d; }
  .badge-status { display: inline-block; font-size: 11px; padding: 2px 8px;
    border-radius: 10px; font-weight: 500; }
  .status-active { background: #dcfce7; color: #166534; }
  .status-pending { background: #fef9c3; color: #854d0e; }
  .status-closed { background: #f1f5f9; color: #475569; }
  .status-cancelled { background: #fef2f2; color: #991b1b; }
  .status-new { background: #dbeafe; color: #1e40af; }
  .status-draft { background: #e0e7ff; color: #3730a3; }
  .status-inactive { background: #f1f5f9; color: #475569; }
  .status-credit { background: #ffedd5; color: #9a3412; }
  .status-progress { background: #dbeafe; color: #1d4ed8; }
  .booking-section { border: 1px solid var(--border); border-radius: 8px; padding: 14px 16px; background: var(--surface-muted); }
  .booking-section + .booking-section { margin-top: 14px; }
  .booking-section h4 { font-size: 14px; margin-bottom: 12px; color: var(--text); }
  .booking-credit-box { grid-column: 1 / -1; padding: 10px 12px; border: 1px solid var(--border); border-radius: 6px; background: #fff; font-size: 12px; }
  .booking-credit-box.credit-alert { border-color: #fecaca; background: #fef2f2; color: #991b1b; }
  .booking-actions-cell { text-align: center; min-width: 76px; }
  .booking-number-link { border: 0; padding: 0; background: transparent; color: #2563eb; font: inherit; font-weight: 700; text-align: left; cursor: pointer; }
  .booking-number-link:hover, .booking-number-link:focus { text-decoration: underline; }
  .booking-more-button { font-size: 19px; line-height: 1; }
  .booking-actions-popup { position: fixed; z-index: 10000050; min-width: 205px; max-height: min(70vh, 420px); overflow-y: auto; padding: 5px; background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; box-shadow: 0 14px 32px rgba(15,23,42,.18); }
  .booking-popup-item { display: block; width: 100%; border: 0; border-radius: 6px; background: transparent; color: #1e293b; text-align: left; padding: 9px 11px; font: inherit; font-size: 13px; cursor: pointer; }
  .booking-popup-item:hover, .booking-popup-item:focus { background: #f1f5f9; }
  .booking-popup-item.danger { color: #b91c1c; }
  .booking-conflict { background: #fff7ed !important; }
  .production-progress-bar { height: 7px; border-radius: 999px; background: #e2e8f0; overflow: hidden; margin-top: 5px; min-width: 90px; }
  .production-progress-bar span { display: block; height: 100%; background: var(--success); }
  .production-trip-loaded { background: #f0fdf4 !important; }

  /* ========== FORM ========== */
  .form-panel { background: var(--surface); border: 1px solid var(--border);
    border-radius: var(--radius); box-shadow: var(--shadow-sm); padding: 20px 22px; margin-top: 16px; }
  .form-panel h3 { font-size: 15px; font-weight: 600; margin-bottom: 16px; }
  .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; }
  .form-grid.full { grid-template-columns: 1fr; }
  .form-group { display: flex; flex-direction: column; gap: 4px; }
  .form-group label { font-size: 12px; font-weight: 500; color: var(--text-muted); }
  .form-group input, .form-group select, .form-group textarea {
    padding: 7px 10px; border: 1px solid var(--border); border-radius: 6px; font-size: 13px;
    font-family: inherit; background: var(--surface); color: var(--text); transition: border 0.15s; }
  .form-group input:focus, .form-group select:focus, .form-group textarea:focus {
    outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px rgba(37,99,235,0.1); }
  .form-group textarea { resize: vertical; min-height: 60px; }
  .form-actions { margin-top: 18px; display: flex; gap: 10px; justify-content: flex-end; }
  .form-group .field-note { font-size: 11px; color: var(--text-muted); margin-top: 2px; }

  /* ========== EMPTY STATE ========== */
  .empty-state { padding: 40px 20px; text-align: center; color: var(--text-muted); }
  .empty-state .empty-icon { font-size: 36px; margin-bottom: 8px; opacity: 0.5; }
  .empty-state p { font-size: 13px; }

  /* ========== PAGE HIDE ========== */
  .page { display: none; }
  .page.active { display: block; }

  /* ========== FILTER BAR ========== */
  .filter-bar { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius);
    padding: 10px 14px; margin-bottom: 16px; display: flex; gap: 16px; align-items: center;
    flex-wrap: wrap; box-shadow: var(--shadow-sm); }
  .filter-bar > div { display: flex; align-items: center; gap: 6px; }
  .filter-bar strong { font-size: 12px; color: var(--text-muted); }
  .filter-bar input, .filter-bar select { padding: 5px 9px; border: 1px solid var(--border);
    border-radius: 5px; font-size: 12.5px; font-family: inherit; }

  /* ========== STATS ROW ========== */
  .stats-row { display: flex; gap: 12px; margin-top: 14px; font-size: 12px;
    color: var(--text-muted); flex-wrap: wrap; }
  .stats-row .stat-item { background: var(--surface); border: 1px solid var(--border);
    padding: 8px 12px; border-radius: 6px; display: flex; align-items: center; gap: 6px; }
  .stats-row .stat-value { font-weight: 600; color: var(--text); }

  /* ========== SETTINGS CARD ========== */
  .settings-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; margin-bottom: 24px; }
  .settings-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius);
    padding: 18px 20px; box-shadow: var(--shadow-sm); display: flex; flex-direction: column; gap: 10px; }
  .settings-card .sc-icon { font-size: 28px; opacity: 0.9; }
  .settings-card .sc-title { font-size: 15px; font-weight: 600; }
  .settings-card .sc-desc { font-size: 12px; color: var(--text-muted); }
  .settings-card .sc-stats { display: flex; gap: 16px; font-size: 12px; flex-wrap: wrap; }
  .settings-card .sc-stat { background: var(--surface-muted); border: 1px solid var(--border);
    padding: 6px 10px; border-radius: 6px; }
  .settings-card .sc-stat .sc-stat-label { color: var(--text-muted); }
  .settings-card .sc-stat .sc-stat-value { font-weight: 600; }
  .settings-card .sc-status { font-size: 11px; }
  .settings-card .sc-actions { display: flex; gap: 8px; margin-top: 4px; }
  .settings-card.system-owner { border-left: 3px solid var(--warning); }
  .settings-card.locked { opacity: 0.65; }

  /* ========== SEARCH ========== */
  .search-box { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius);
    padding: 10px 14px; margin-bottom: 18px; display: flex; gap: 12px; align-items: center;
    box-shadow: var(--shadow-sm); }
  .search-box input { flex: 1; padding: 8px 12px; border: 1px solid var(--border);
    border-radius: 6px; font-size: 13px; font-family: inherit; }
  .search-box input:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px rgba(37,99,235,0.1); }
  .search-box .search-hint { font-size: 12px; color: var(--text-muted); }

  /* ========== ORG TREE ========== */
  .org-tree { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius);
    padding: 16px 20px; box-shadow: var(--shadow-sm); margin-top: 16px; font-family: inherit; }
  .org-tree .tree-node { padding: 6px 0 6px 18px; border-left: 2px solid var(--border); margin-left: 14px; }
  .org-tree .tree-root { font-weight: 600; padding: 8px 0; font-size: 14px; }
  .org-tree .tree-indent { margin-left: 18px; color: var(--text-muted); font-size: 13px; }
  .org-tree .tree-row { display: flex; align-items: center; gap: 8px; padding: 4px 0; }
  .org-tree .tree-badge { font-size: 10px; padding: 1px 6px; border-radius: 10px; background: var(--surface-muted); color: var(--text-muted); }

  /* ========== MODAL ========== */
  .modal-overlay { position: fixed; inset: 0; background: rgba(15,23,42,0.5);
    display: none; align-items: center; justify-content: center; z-index: 100;
    backdrop-filter: blur(2px); }
  .modal-overlay.open { display: flex; }
  .modal { background: var(--surface); border-radius: var(--radius); box-shadow: var(--shadow-lg);
    width: 90%; max-width: 560px; max-height: 85vh; overflow-y: auto; padding: 22px 24px; }
  .modal-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
  .modal-header h3 { font-size: 16px; font-weight: 600; }
  .modal-close { background: none; border: none; font-size: 20px; cursor: pointer;
    color: var(--text-muted); padding: 4px; line-height: 1; }
  .modal-close:hover { color: var(--text); }
  .modal-actions { margin-top: 18px; display: flex; justify-content: flex-end; gap: 10px; }

  /* ========== JOURNAL DETAIL WORKSPACE ========== */
  #journal-detail-modal { align-items: center; justify-content: center; padding: 18px; }
  #journal-detail-modal .journal-detail-workspace { width: min(96vw, 1500px); max-width: none; height: min(92vh, 980px);
    max-height: 92vh; padding: 0; overflow: hidden; display: flex; flex-direction: column; border-radius: 12px; }
  .journal-detail-toolbar { flex: 0 0 auto; min-height: 70px; padding: 12px 22px; border-bottom: 1px solid var(--border);
    display: flex; align-items: center; gap: 16px; background: #fff; }
  .journal-detail-heading { min-width: 0; }
  .journal-detail-heading h3 { margin: 0; font-size: 19px; }
  .journal-detail-heading small { display: block; margin-top: 4px; color: var(--text-muted); }
  .journal-detail-toolbar-actions { margin-left: auto; display: flex; align-items: center; gap: 8px; }
  .journal-detail-content { flex: 1 1 auto; overflow: auto; padding: 18px 22px 90px; background: var(--surface-muted); }
  .journal-detail-card { background: #fff; border: 1px solid var(--border); border-radius: 10px; box-shadow: var(--shadow-sm); margin-bottom: 14px; }
  .journal-detail-meta { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .journal-detail-field { min-width: 0; padding: 14px 16px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
  .journal-detail-field:nth-child(4n) { border-right: 0; }
  .journal-detail-field.wide { grid-column: span 2; }
  .journal-detail-field label { display: block; margin-bottom: 5px; color: var(--text-muted); font-size: 11px; font-weight: 600; }
  .journal-detail-field strong, .journal-detail-field span { display: block; overflow-wrap: anywhere; }
  .journal-detail-section-title { padding: 12px 16px; border-bottom: 1px solid var(--border); display: flex; align-items: center;
    justify-content: space-between; gap: 12px; }
  .journal-detail-table { min-width: 900px; }
  .journal-detail-table th { position: sticky; top: 0; z-index: 2; background: var(--surface-muted); }
  .journal-detail-table td { vertical-align: top; }
  .journal-detail-table .journal-account-code { font-weight: 700; color: var(--text); white-space: nowrap; }
  .journal-detail-summary { display: grid; grid-template-columns: repeat(3, minmax(160px, 1fr)); gap: 10px; padding: 14px 16px; }
  .journal-detail-total { padding: 12px 14px; border-radius: 8px; background: var(--surface-muted); text-align: right; }
  .journal-detail-total span { display: block; color: var(--text-muted); font-size: 11px; }
  .journal-detail-total strong { display: block; margin-top: 3px; font-size: 20px; }
  .journal-detail-footer { flex: 0 0 auto; min-height: 66px; padding: 11px 22px; border-top: 1px solid var(--border);
    background: #fff; display: flex; align-items: center; justify-content: space-between; gap: 12px; box-shadow: 0 -5px 18px rgba(15,23,42,.06); }
  .journal-detail-footer-note { color: var(--text-muted); font-size: 11px; }
  .journal-detail-footer-actions { display: flex; gap: 8px; }

  /* ========== INVOICE DETAIL WORKSPACE ========== */
  #invoice-detail-view-modal { align-items: center; justify-content: center; padding: 18px; }
  #invoice-detail-view-modal .invoice-detail-workspace { width: min(96vw, 1580px); max-width: none; height: min(92vh, 1020px); max-height: 92vh; padding: 0; overflow: hidden; display: flex; flex-direction: column; border-radius: 12px; }
  .invoice-detail-toolbar { flex: 0 0 auto; min-height: 72px; padding: 12px 22px; border-bottom: 1px solid var(--border); display: flex; align-items: center; gap: 14px; background: #fff; }
  .invoice-detail-toolbar h3 { margin: 0; font-size: 20px; }
  .invoice-detail-toolbar small { display: block; margin-top: 4px; color: var(--text-muted); }
  .invoice-detail-actions { margin-left: auto; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
  .invoice-detail-content { flex: 1 1 auto; overflow: auto; padding: 18px 22px 92px; background: var(--surface-muted); }
  .invoice-detail-card { background: #fff; border: 1px solid var(--border); border-radius: 10px; box-shadow: var(--shadow-sm); margin-bottom: 14px; overflow: hidden; }
  .invoice-detail-card-title { padding: 12px 16px; border-bottom: 1px solid var(--border); display: flex; justify-content: space-between; align-items: center; gap: 10px; }
  .invoice-detail-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
  .invoice-detail-field { min-width: 0; padding: 13px 16px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
  .invoice-detail-field:nth-child(4n) { border-right: 0; }
  .invoice-detail-field.wide { grid-column: span 2; }
  .invoice-detail-field label { display: block; font-size: 11px; color: var(--text-muted); font-weight: 600; margin-bottom: 5px; }
  .invoice-detail-field strong,.invoice-detail-field span { display: block; overflow-wrap: anywhere; }
  .invoice-detail-table { min-width: 1050px; }
  .invoice-detail-table th { position: sticky; top: 0; z-index: 2; background: var(--surface-muted); }
  .invoice-detail-totals { margin-left: auto; width: min(100%,480px); padding: 12px 16px 16px; }
  .invoice-total-row { display: flex; justify-content: space-between; gap: 20px; padding: 7px 0; border-bottom: 1px dashed var(--border); }
  .invoice-total-row.grand { margin-top: 5px; padding: 12px 0; border: 0; font-size: 18px; font-weight: 700; color: var(--primary); }
  .invoice-related-list { display: flex; gap: 8px; flex-wrap: wrap; padding: 14px 16px; }
  .invoice-related-chip { border: 1px solid var(--border); background: var(--surface-muted); border-radius: 18px; padding: 6px 10px; font-size: 11px; }
  .invoice-detail-footer { flex: 0 0 auto; min-height: 68px; padding: 11px 22px; border-top: 1px solid var(--border); background: #fff; display: flex; align-items: center; justify-content: space-between; gap: 12px; box-shadow: 0 -5px 18px rgba(15,23,42,.06); }
  .invoice-detail-footer-actions { display: flex; gap: 8px; flex-wrap: wrap; }
  @media (max-width:900px){
    #invoice-detail-view-modal { padding: 0; }
    #invoice-detail-view-modal .invoice-detail-workspace { width: 100vw; height: 100vh; max-height: none; border-radius: 0; }
    .invoice-detail-toolbar,.invoice-detail-footer { padding-left: 14px; padding-right: 14px; }
    .invoice-detail-content { padding: 12px 12px 92px; }
    .invoice-detail-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .invoice-detail-field:nth-child(4n){border-right:1px solid var(--border)}
    .invoice-detail-field:nth-child(2n){border-right:0}
  }
  @media (max-width: 900px) {
    #journal-detail-modal { padding: 0; }
    #journal-detail-modal .journal-detail-workspace { width: 100vw; height: 100vh; max-height: none; border-radius: 0; }
    .journal-detail-toolbar, .journal-detail-footer { padding-left: 14px; padding-right: 14px; }
    .journal-detail-content { padding: 12px 12px 88px; }
    .journal-detail-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .journal-detail-field:nth-child(4n) { border-right: 1px solid var(--border); }
    .journal-detail-field:nth-child(2n) { border-right: 0; }
    .journal-detail-summary { grid-template-columns: 1fr; }
    .journal-detail-footer-note { display: none; }
    .journal-detail-footer { justify-content: flex-end; }
  }

  /* ========== QUOTATION WORKSPACE ========== */
  #quotation-modal { align-items: stretch; justify-content: stretch; background: var(--surface-muted); backdrop-filter: none; }
  #quotation-modal .quotation-workspace { width: 100%; max-width: none; height: 100vh; max-height: none; border-radius: 0; padding: 0; overflow: hidden; display: flex; flex-direction: column; }
  #quotation-form { height: 100%; display: flex; flex-direction: column; }
  .quotation-toolbar { min-height: 64px; padding: 10px 24px; border-bottom: 1px solid var(--border); display: flex; align-items: center; gap: 14px; background: #fff; }
  .quotation-toolbar-title { min-width: 230px; }
  .quotation-toolbar-title h3 { font-size: 18px; margin: 0; }
  .quotation-toolbar-title small { color: var(--text-muted); }
  .quotation-toolbar-actions { margin-left: auto; display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
  .quotation-body { flex: 1; overflow-y: auto; padding: 20px 24px 90px; }
  .quotation-layout { max-width: 1500px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 3fr) minmax(280px, 1fr); gap: 18px; }
  .quotation-main, .quotation-side { display: flex; flex-direction: column; gap: 16px; }
  .quotation-section { background: #fff; border: 1px solid var(--border); border-radius: 10px; box-shadow: var(--shadow-sm); }
  .quotation-section-head { padding: 13px 16px; border-bottom: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
  .quotation-section-head h4 { font-size: 14px; }
  .quotation-section-body { padding: 16px; }
  .quotation-grid-4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px 16px; }
  .quotation-grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
  .quotation-span-2 { grid-column: span 2; }
  .quotation-items { width: 100%; min-width: 1040px; }
  .quotation-items input, .quotation-items select { width: 100%; padding: 7px 8px; border: 1px solid var(--border); border-radius: 5px; font: inherit; background: #fff; }
  .quotation-items .q-line-no { width: 48px; text-align: center; color: var(--text-muted); }
  .quotation-items .q-line-qty, .quotation-items .q-line-price, .quotation-items .q-line-discount { text-align: right; }
  .quotation-items .q-line-total { text-align: right; white-space: nowrap; font-weight: 600; }
  .quotation-summary-row { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; color: var(--text-muted); }
  .quotation-summary-row strong { color: var(--text); }
  .quotation-summary-row.grand { border-top: 1px solid var(--border); margin-top: 6px; padding-top: 12px; font-size: 17px; color: var(--text); }
  .quotation-status-note { padding: 10px 12px; border-radius: 7px; background: #eff6ff; color: #1e40af; font-size: 12px; margin-top: 12px; }

  /* ========== DEPOSIT RECEIPT WORKSPACE ========== */
  #deposit-modal { align-items: stretch; justify-content: stretch; background: var(--surface-muted); backdrop-filter: none; }
  #deposit-modal .deposit-workspace { width: 100%; max-width: none; height: 100vh; max-height: none; border-radius: 0; padding: 0; overflow: hidden; display: flex; flex-direction: column; }
  #so-modal .deposit-workspace { width: 100%; max-width: none; height: 100vh; max-height: none; border-radius: 0; padding: 0; overflow: hidden; display: flex; flex-direction: column; }
  #booking-modal .booking-workspace { width: 100%; max-width: none; height: 100vh; max-height: none; border-radius: 0; padding: 0; overflow: hidden; display: flex; flex-direction: column; }
  #booking-modal .booking-workspace .modal-header { flex: 0 0 auto; padding: 14px 20px; }
  #booking-modal .booking-workspace form { flex: 1; overflow: auto; padding: 18px 24px 90px; background: var(--bg); }
  #booking-modal .booking-workspace .form-actions { position: fixed; left: 0; right: 0; bottom: 0; z-index: 5; background: #fff; border-top: 1px solid var(--border); padding: 12px 24px; }
  .erp-list-toolbar { display:flex; flex-wrap:wrap; gap:8px; align-items:center; padding:10px 12px; margin-bottom:8px; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); }
  .erp-list-toolbar input { min-width:240px; }
  .erp-list-toolbar .spacer { flex:1; }
  .erp-pagination { display:flex; flex-wrap:wrap; gap:8px; align-items:center; justify-content:flex-end; padding:12px; border-top:1px solid var(--border); background:#fff; }
  .erp-pagination .page-info { font-size:12px; color:var(--text-muted); margin-right:auto; }
  .calendar-month-grid { display:grid; grid-template-columns:repeat(7,minmax(140px,1fr)); border:1px solid var(--border); border-radius:8px; overflow:auto; background:#fff; }
  .calendar-day-head { padding:8px; text-align:center; font-weight:600; background:#f8fafc; border-right:1px solid var(--border); }
  .calendar-day-cell { min-height:130px; padding:7px; border-top:1px solid var(--border); border-right:1px solid var(--border); }
  .calendar-day-cell.outside { background:#f8fafc; color:var(--text-muted); }
  .calendar-day-number { font-weight:700; margin-bottom:5px; }
  .calendar-booking-card { display:block; padding:5px 6px; margin:4px 0; border-left:3px solid var(--primary); border-radius:4px; background:#eff6ff; font-size:11px; cursor:pointer; }
  #deposit-form { height: 100%; display: flex; flex-direction: column; }
  .deposit-toolbar { min-height: 64px; padding: 10px 24px; border-bottom: 1px solid var(--border); display: flex; align-items: center; gap: 14px; background: #fff; }
  .deposit-toolbar-title { min-width: 270px; }
  .deposit-toolbar-title h3 { font-size: 18px; margin: 0; }
  .deposit-toolbar-title small { color: var(--text-muted); }
  .deposit-toolbar-actions { margin-left: auto; display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
  .deposit-body { flex: 1; overflow-y: auto; padding: 20px 24px 90px; }
  .deposit-layout { max-width: 1500px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 3fr) minmax(300px, 1fr); gap: 18px; }
  .deposit-main, .deposit-side { display: flex; flex-direction: column; gap: 16px; }
  .deposit-section { background: #fff; border: 1px solid var(--border); border-radius: 10px; box-shadow: var(--shadow-sm); }
  .deposit-section-head { padding: 13px 16px; border-bottom: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
  .deposit-section-head h4 { font-size: 14px; }
  .deposit-section-body { padding: 16px; }
  .deposit-grid-4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px 16px; }
  .deposit-grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
  .deposit-span-2 { grid-column: span 2; }
  .deposit-amount-card { padding: 14px; border-radius: 9px; background: #eff6ff; border: 1px solid #bfdbfe; margin-bottom: 12px; }
  .deposit-amount-card span { display: block; color: #64748b; font-size: 12px; }
  .deposit-amount-card strong { display: block; margin-top: 4px; color: #1e3a8a; font-size: 22px; }
  .deposit-summary-row { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; color: var(--text-muted); border-bottom: 1px solid #eef2f7; }
  .deposit-summary-row strong { color: var(--text); }

  /* ========== CONTEXT-PRESERVING DOCUMENT PANELS ========== */
  /* Keep the source list/calendar visible while users create or edit documents. */
  #quotation-modal, #so-modal,
  #booking-modal, #deposit-modal, #invoice-modal, #receipt-modal,
  #credit-note-modal, #debit-note-modal, #tax-invoice-modal,
  #bill-modal {
    justify-content: flex-end;
    align-items: stretch;
    background: rgba(15, 23, 42, .16);
    backdrop-filter: none;
  }
  #quotation-modal::before, #so-modal::before,
  #booking-modal::before, #deposit-modal::before, #invoice-modal::before,
  #receipt-modal::before, #credit-note-modal::before, #debit-note-modal::before,
  #tax-invoice-modal::before, #bill-modal::before {
    content: "รายการเอกสารยังคงอยู่ด้านหลัง";
    position: fixed;
    left: 276px;
    bottom: 18px;
    z-index: 1;
    padding: 7px 11px;
    border: 1px solid rgba(148, 163, 184, .6);
    border-radius: 999px;
    background: rgba(255, 255, 255, .94);
    color: var(--text-muted);
    font-size: 11px;
    box-shadow: var(--shadow-sm);
    pointer-events: none;
  }

  /* Complex documents use a split workspace and reserve a readable context rail. */
  #quotation-modal .quotation-workspace,
  #so-modal .deposit-workspace {
    width: calc(100vw - 340px);
    max-width: none;
    height: 100vh;
    max-height: none;
    margin: 0;
    border-radius: 14px 0 0 14px;
    box-shadow: -12px 0 34px rgba(15, 23, 42, .18);
    animation: documentPanelIn .22s ease-out;
  }

  /* Medium documents use a right-hand drawer. */
  #booking-modal .booking-workspace,
  #deposit-modal .deposit-workspace {
    width: min(900px, calc(100vw - 340px));
    max-width: 900px;
    height: 100vh;
    max-height: none;
    margin: 0;
    border-radius: 14px 0 0 14px;
    box-shadow: -12px 0 34px rgba(15, 23, 42, .18);
    animation: documentPanelIn .22s ease-out;
  }
  #invoice-modal .modal, #receipt-modal .modal,
  #credit-note-modal .modal, #debit-note-modal .modal,
  #tax-invoice-modal .modal, #bill-modal .modal {
    width: min(820px, calc(100vw - 340px));
    max-width: 820px !important;
    height: 100vh;
    max-height: none;
    margin: 0;
    padding: 22px 24px 92px;
    border-radius: 14px 0 0 14px;
    box-shadow: -12px 0 34px rgba(15, 23, 42, .18);
    animation: documentPanelIn .22s ease-out;
  }
  #bill-modal .modal {
    width: min(920px, calc(100vw - 340px));
    max-width: 920px !important;
  }
  /* Invoice is a complex accounting document: use a wide workspace like Deposit. */
  #invoice-modal .invoice-workspace {
    width: min(1320px, calc(100vw - 260px));
    max-width: 1320px !important;
    height: 100vh;
    max-height: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    border-radius: 14px 0 0 14px;
  }
  #invoice-form { height: 100%; display: flex; flex-direction: column; min-width: 0; }
  .invoice-toolbar { min-height: 64px; padding: 10px 24px; border-bottom: 1px solid var(--border); display: flex; align-items: center; gap: 14px; background: #fff; flex: 0 0 auto; }
  .invoice-toolbar-title { min-width: 300px; }
  .invoice-toolbar-title h3 { font-size: 18px; margin: 0; }
  .invoice-toolbar-title small { color: var(--text-muted); }
  .invoice-toolbar-actions { margin-left: auto; display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
  .invoice-body { flex: 1; overflow-y: auto; overflow-x: hidden; padding: 20px 24px 90px; background: var(--bg); }
  #invoice-form > .invoice-body > .invoice-grid { max-width: 1260px; margin: 0 auto; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: start; }
  #invoice-form > .invoice-body > .invoice-grid > .form-group.full { grid-column: 1 / -1; }
  #invoice-form > .invoice-body > .invoice-grid > .form-grid { grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #invoice-direct-fields > .form-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  #invoice-direct-fields > .form-grid > .form-group.full { grid-column: span 2; }
  #invoice-modal textarea { width: 100%; }
  #invoice-modal .invoice-control-wide { min-height: 42px; display: flex; align-items: center; }
  #booking-modal .booking-workspace .form-actions {
    position: sticky;
    left: auto;
    right: auto;
    bottom: 0;
    margin: 18px -24px -90px;
    padding: 12px 24px;
  }
  #booking-modal .booking-workspace .modal-header,
  #invoice-modal .modal-header, #receipt-modal .modal-header,
  #credit-note-modal .modal-header, #debit-note-modal .modal-header,
  #tax-invoice-modal .modal-header, #bill-modal .modal-header {
    position: sticky;
    top: 0;
    z-index: 6;
    background: #fff;
  }
  @keyframes documentPanelIn {
    from { transform: translateX(36px); opacity: .35; }
    to { transform: translateX(0); opacity: 1; }
  }

  /* ========== QUOTATION A4 PRINT DOCUMENT ========== */
  #quotation-print-sheet, #deposit-print-sheet { display: none; }
  @media print {
    @page { size: A4 portrait; margin: 10mm; }
    body.printing-quotation > *:not(#quotation-print-sheet) { display: none !important; }
    body.printing-quotation { margin: 0; background: #fff; color: #111827; font-family: "Sarabun", "Noto Sans Thai", Arial, sans-serif; }
    body.printing-quotation #quotation-print-sheet { display: block !important; width: 190mm; min-height: 277mm; margin: 0 auto; background: #fff; font-size: 11px; line-height: 1.45; }
    /* ใบแจ้งหนี้ใช้โทนอำพันแยกจากใบเสนอราคา โดยจำกัดเฉพาะช่วงพิมพ์ Invoice */
    body.printing-invoice .qprint-header { border-bottom-color: #c2410c; }
    body.printing-invoice .qprint-brand h1 { color: #c2410c; }
    body.printing-invoice .qprint-card-title { background: #fff7ed !important; color: #9a3412 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    body.printing-invoice .qprint-table th { background: #9a3412 !important; border-color: #9a3412 !important; }
    body.printing-invoice .qprint-summary .grand td { color: #9a3412; border-top-color: #9a3412; }
    body.printing-invoice .qprint-amount-text { background: #fff7ed !important; color: #7c2d12; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    /* ใบกำกับภาษีใช้โทนม่วงคราม แยกจากใบเสนอราคา ใบแจ้งหนี้ และใบสั่งขาย */
    body.printing-tax-invoice .qprint-header { border-bottom-color: #6d28d9; }
    body.printing-tax-invoice .qprint-brand h1,
    body.printing-tax-invoice .qprint-title h2 { color: #5b21b6; }
    body.printing-tax-invoice .qprint-card { border-color: #c4b5fd; }
    body.printing-tax-invoice .qprint-card-title { background: #f5f3ff !important; color: #5b21b6 !important; border-bottom-color: #c4b5fd; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    body.printing-tax-invoice .qprint-table th { background: #6d28d9 !important; border-color: #6d28d9 !important; }
    body.printing-tax-invoice .qprint-summary .grand td { color: #5b21b6; border-top-color: #6d28d9; }
    body.printing-tax-invoice .qprint-amount-text { background: #f5f3ff !important; color: #4c1d95; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    /* ใบเสร็จรับเงินใช้โทนเขียวเข้ม แยกจากสีของใบเสนอราคา ใบแจ้งหนี้ ใบกำกับภาษี และใบสั่งขาย */
    body.printing-receipt .qprint-header { border-bottom-color: #166534; }
    body.printing-receipt .qprint-brand h1,
    body.printing-receipt .qprint-title h2 { color: #166534; }
    body.printing-receipt .qprint-card { border-color: #bbf7d0; }
    body.printing-receipt .qprint-card-title { background: #f0fdf4 !important; color: #166534 !important; border-bottom-color: #bbf7d0; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    body.printing-receipt .qprint-table th { background: #166534 !important; border-color: #166534 !important; }
    body.printing-receipt .qprint-summary .grand td { color: #166534; border-top-color: #166534; }
    body.printing-receipt .qprint-amount-text { background: #f0fdf4 !important; color: #14532d; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    /* ใบสั่งขายใช้โทนเขียวอมฟ้า แยกจากใบเสนอราคาและใบแจ้งหนี้ */
    body.printing-sales-order .qprint-header { border-bottom-color: #0f766e; }
    body.printing-sales-order .qprint-brand h1,
    body.printing-sales-order .qprint-title h2 { color: #0f766e; }
    body.printing-sales-order .qprint-card { border-color: #99f6e4; }
    body.printing-sales-order .qprint-card-title { background: #ecfdf5 !important; color: #0f766e !important; border-bottom-color: #99f6e4; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    body.printing-sales-order .qprint-table th { background: #0f766e !important; border-color: #0f766e !important; }
    body.printing-sales-order .qprint-summary .grand td { color: #0f766e; border-top-color: #0f766e; }
    body.printing-sales-order .qprint-amount-text { background: #ecfdf5 !important; color: #115e59; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    /* ใบวางบิลใช้โทนแดงไวน์ แยกจากเอกสารขายชนิดอื่น */
    body.printing-bill .qprint-header { border-bottom-color: #9f1239; }
    body.printing-bill .qprint-brand h1,
    body.printing-bill .qprint-title h2 { color: #881337; }
    body.printing-bill .qprint-card { border-color: #fecdd3; }
    body.printing-bill .qprint-card-title { background: #fff1f2 !important; color: #881337 !important; border-bottom-color: #fecdd3; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    body.printing-bill .qprint-table th { background: #9f1239 !important; border-color: #9f1239 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    body.printing-bill .qprint-summary .grand td { color: #881337; border-top-color: #9f1239; }
    body.printing-bill .qprint-amount-text { background: #fff1f2 !important; color: #4c0519; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    body.printing-deposit > *:not(#deposit-print-sheet) { display: none !important; }
    body.printing-deposit { margin: 0; background: #fff; color: #111827; font-family: "Sarabun", "Noto Sans Thai", Arial, sans-serif; }
    body.printing-deposit #deposit-print-sheet { display: block !important; width: 190mm; min-height: 277mm; margin: 0 auto; background: #fff; font-size: 11px; line-height: 1.45; }
    body.printing-deposit .qprint-title h2 { font-size: 0; }
    body.printing-deposit .qprint-title h2::after { content: "ใบรับเงินมัดจำ / ใบกำกับภาษี"; font-size: 20px; }
    .qprint-header { display: grid; grid-template-columns: 1fr 72mm; gap: 8mm; padding-bottom: 5mm; border-bottom: 2px solid #1d4ed8; }
    .qprint-brand h1 { margin: 0 0 1mm; color: #1d4ed8; font-size: 20px; }
    .qprint-brand .en { font-size: 10px; color: #64748b; margin-bottom: 2mm; }
    .qprint-title { text-align: right; }
    .qprint-title h2 { margin: 0; font-size: 24px; letter-spacing: .5px; color: #0f172a; }
    .qprint-title .subtitle { font-size: 12px; color: #64748b; margin-bottom: 3mm; }
    .qprint-doc-row { display: grid; grid-template-columns: 30mm 1fr; border-bottom: 1px solid #cbd5e1; padding: 1mm 0; }
    .qprint-doc-row span:first-child { color: #64748b; }
    .qprint-info { display: grid; grid-template-columns: 1.3fr .7fr; gap: 5mm; margin: 5mm 0; }
    .qprint-card { border: 1px solid #cbd5e1; border-radius: 2mm; overflow: hidden; }
    .qprint-card-title { background: #eff6ff; color: #1e3a8a; font-weight: 700; padding: 2mm 3mm; border-bottom: 1px solid #cbd5e1; }
    .qprint-card-body { padding: 3mm; min-height: 21mm; }
    .qprint-grid { display: grid; grid-template-columns: 27mm 1fr; gap: 1mm 2mm; }
    .qprint-label { color: #64748b; }
    .qprint-table { width: 100%; border-collapse: collapse; margin-top: 3mm; }
    .qprint-table th { background: #1e3a8a !important; color: #fff !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; padding: 2.5mm 2mm; border: 1px solid #1e3a8a; font-size: 10px; }
    .qprint-table td { padding: 2.5mm 2mm; border: 1px solid #cbd5e1; vertical-align: top; }
    .qprint-table .num { text-align: right; white-space: nowrap; }
    .qprint-table .center { text-align: center; }
    .qprint-bottom { display: grid; grid-template-columns: 1fr 72mm; gap: 6mm; margin-top: 4mm; break-inside: avoid; }
    .qprint-note { border: 1px solid #cbd5e1; border-radius: 2mm; padding: 3mm; min-height: 35mm; }
    .qprint-note b { display: block; margin-bottom: 2mm; }
    .qprint-summary { border-collapse: collapse; width: 100%; }
    .qprint-summary td { padding: 1.5mm 2mm; border-bottom: 1px solid #e2e8f0; }
    .qprint-summary td:last-child { text-align: right; white-space: nowrap; }
    .qprint-summary .grand td { color: #1e3a8a; font-size: 14px; font-weight: 700; border-top: 2px solid #1e3a8a; border-bottom: 0; padding-top: 2.5mm; }
    .qprint-amount-text { margin-top: 3mm; padding: 2mm 3mm; text-align: center; background: #f1f5f9 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; border-radius: 1.5mm; font-weight: 600; }
    .qprint-signatures { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10mm; margin-top: 15mm; break-inside: avoid; }
    .qprint-signature { text-align: center; border-top: 1px solid #64748b; padding-top: 2mm; }
    .qprint-footer { margin-top: 7mm; padding-top: 2mm; border-top: 1px solid #cbd5e1; color: #64748b; display: flex; justify-content: space-between; font-size: 9px; }
  }

  /* ========== TOAST ========== */
  .toast { position: fixed; bottom: 24px; right: 24px; background: var(--text); color: #fff;
    padding: 10px 16px; border-radius: 6px; font-size: 13px; box-shadow: var(--shadow-lg);
    z-index: 200; display: none; max-width: 360px; }
  .toast.show { display: block; animation: slideIn 0.25s ease; }
  @keyframes slideIn { from { transform: translateY(10px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }

  /* ========== RESPONSIVE ========== */
  @media (max-width: 900px) {
    .sidebar { width: 64px; }
    .sidebar .nav-label, .sidebar .sub, .sidebar-footer .name, .sidebar .nav-badge { display: none; }
    .sidebar .nav-item { justify-content: center; padding: 10px; }
    .sidebar .sidebar-brand .sub, .sidebar .sidebar-footer .text { display: none; }
    .sidebar .sidebar-brand { justify-content: center; padding: 14px 8px; }
      .sidebar .sidebar-logo-symbol { width:46px; height:24px; }
    .sidebar .sidebar-logo-symbol img { width:46px; height:46px; transform:translateY(-4px); }
    .sidebar .sidebar-logo-name,.sidebar .sidebar-logo-erp { display:none; }
    .sidebar-menu-search { display:none; }
    .form-grid { grid-template-columns: 1fr; }
    .settings-grid { grid-template-columns: 1fr; }
    .search-box { flex-direction: column; }
    .quotation-layout { grid-template-columns: 1fr; }
    .quotation-grid-4, .quotation-grid-2 { grid-template-columns: 1fr; }
    .quotation-span-2 { grid-column: auto; }
    .quotation-toolbar { padding: 10px 14px; }
    .quotation-toolbar-actions .btn-secondary { display: none; }
    .quotation-body { padding: 14px 14px 90px; }
    .deposit-layout { grid-template-columns: 1fr; }
    .deposit-grid-4, .deposit-grid-2 { grid-template-columns: 1fr; }
    .deposit-span-2 { grid-column: auto; }
    .deposit-toolbar { padding: 10px 14px; }
    .deposit-toolbar-actions .btn-secondary { display: none; }
    .deposit-body { padding: 14px 14px 90px; }
    .invoice-toolbar { padding: 10px 14px; }
    .invoice-toolbar-title { min-width: 0; }
    .invoice-toolbar-actions .btn-secondary { display: none; }
    .invoice-body { padding: 14px 14px 90px; }
    #invoice-form > .invoice-body > .invoice-grid,
    #invoice-form > .invoice-body > .invoice-grid > .form-grid,
    #invoice-direct-fields > .form-grid { grid-template-columns: 1fr; }
    #invoice-form > .invoice-body > .invoice-grid > .form-group.full,
    #invoice-direct-fields > .form-grid > .form-group.full { grid-column: auto; }
    #quotation-modal::before, #so-modal::before,
    #booking-modal::before, #deposit-modal::before, #invoice-modal::before,
    #receipt-modal::before, #credit-note-modal::before, #debit-note-modal::before,
    #tax-invoice-modal::before, #bill-modal::before { display: none; }
    #quotation-modal .quotation-workspace, #so-modal .deposit-workspace,
    #booking-modal .booking-workspace, #deposit-modal .deposit-workspace,
    #invoice-modal .modal, #receipt-modal .modal,
    #credit-note-modal .modal, #debit-note-modal .modal,
    #tax-invoice-modal .modal, #bill-modal .modal {
      width: 100vw;
      max-width: none !important;
      border-radius: 0;
    }
  }

  /* ========== V30 CLEAN - All enhancements combined safely ========== */
  .v25-badge { background: linear-gradient(135deg,#7c3aed,#2563eb); color:#fff; padding:2px 8px; border-radius:999px; font-size:10px; font-weight:700; margin-left:8px; vertical-align:middle; }
  .global-search-overlay { position:fixed; inset:0; background:rgba(15,23,42,0.45); backdrop-filter:blur(8px); z-index:9999; display:none; align-items:flex-start; justify-content:center; padding-top:12vh; }
  .global-search-overlay.open { display:flex; }
  .global-search-box { width:min(640px,92vw); background:#fff; border-radius:16px; box-shadow:0 24px 80px rgba(0,0,0,0.3); overflow:hidden; border:1px solid #e2e8f0; }
  .global-search-input { width:100%; padding:18px 20px; border:none; border-bottom:1px solid #e2e8f0; font-size:15px; outline:none; }
  .global-search-results { max-height:52vh; overflow-y:auto; }
  .global-search-item { padding:12px 20px; display:flex; align-items:center; gap:12px; cursor:pointer; border-bottom:1px solid #f8fafc; }
  .global-search-item:hover { background:#f8fafc; }
  .quick-action-fab { position:fixed; bottom:24px; right:24px; width:56px; height:56px; border-radius:50%; background:#2563eb; color:#fff; border:none; box-shadow:0 8px 24px rgba(37,99,235,0.45); cursor:pointer; font-size:22px; z-index:90; display:flex; align-items:center; justify-content:center; }
  .quick-action-menu { position:fixed; bottom:90px; right:24px; background:#fff; border:1px solid #e2e8f0; border-radius:12px; box-shadow:0 12px 32px rgba(0,0,0,0.15); padding:8px; z-index:91; display:none; width:240px; }
  .quick-action-menu.open { display:block; }
  .qa-item { padding:10px 12px; border-radius:8px; cursor:pointer; display:flex; gap:10px; align-items:center; font-size:13px; }
  .qa-item:hover { background:#f8fafc; }
  .v25-toolbar { display:flex; gap:8px; align-items:center; padding:12px 16px; background:linear-gradient(135deg,#eff6ff,#f5f3ff); border:1px solid #dbeafe; border-radius:10px; margin-bottom:16px; flex-wrap:wrap; }
  .chart-bar-v25 { display:flex; align-items:flex-end; gap:4px; height:90px; margin-top:8px; }
  .chart-bar-v25 .bar { flex:1; background:linear-gradient(to top,#2563eb,#60a5fa); border-radius:4px 4px 0 0; min-height:3px; }
  .v26-pipeline { display:flex; gap:0; background:#fff; border:1px solid #e2e8f0; border-radius:12px; overflow:hidden; margin-bottom:16px; }
  .v26-step { flex:1; padding:14px 16px; position:relative; border-right:1px solid #e2e8f0; }
  .v26-step:last-child{ border-right:none; }
  .v26-step.active{ background:#eff6ff; }
  .v26-step.completed{ background:#f0fdf4; }
  .v26-step .num{ width:28px; height:28px; border-radius:50%; background:#e2e8f0; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:12px; margin-bottom:6px; }
  .v26-step.active .num{ background:#2563eb; color:#fff; }
  .v26-step.completed .num{ background:#16a34a; color:#fff; }
  .v26-step .label{ font-weight:600; font-size:13px; }
  .v26-step .sub{ font-size:11px; color:#64748b; }
  .v26-auto-flow{ background:linear-gradient(135deg,#f0fdf4,#eff6ff); border:1px solid #bbf7d0; border-radius:10px; padding:14px 16px; margin-bottom:14px; }
  .calendar-day-cell.drag-over { background:#dbeafe !important; border:2px dashed #2563eb !important; }
  .calendar-booking-card[draggable="true"] { cursor:grab; }
  .calendar-booking-card.dragging { opacity:0.4; }
  .v27-auto-invoice-badge { background:linear-gradient(135deg,#7c3aed,#2563eb); color:#fff; padding:3px 8px; border-radius:999px; font-size:10px; font-weight:700; }
  .v27-invoice-toast { position:fixed; bottom:100px; right:24px; background:#111827; color:#fff; padding:14px 18px; border-radius:12px; box-shadow:0 12px 32px rgba(0,0,0,0.3); z-index:9999; display:flex; gap:12px; align-items:center; max-width:360px; }
  .v28-unified-toggle { display:flex; align-items:center; gap:12px; padding:12px 16px; background:linear-gradient(135deg,#fffbeb,#fef3c7); border:1px solid #fcd34d; border-radius:10px; margin-bottom:14px; flex-wrap:wrap; }
  .v28-switch { position:relative; width:48px; height:26px; background:#e5e7eb; border-radius:999px; cursor:pointer; transition:background 0.2s; }
  .v28-switch.on { background:#16a34a; }
  .v28-switch::after { content:''; position:absolute; top:2px; left:2px; width:22px; height:22px; background:#fff; border-radius:50%; box-shadow:0 1px 3px rgba(0,0,0,0.2); transition:transform 0.2s; }
  .v28-switch.on::after { transform:translateX(22px); }
  .v29-capacity-panel { display:grid; grid-template-columns: repeat(auto-fit, minmax(200px,1fr)); gap:12px; margin:12px 0; }
  .v29-plant-card { background:#fff; border:1px solid #e2e8f0; border-radius:10px; padding:12px; }
  .v29-plant-card.over { border-color:#fca5a5; background:#fef2f2; }
  .capacity-bar { height:6px; background:#e2e8f0; border-radius:999px; overflow:hidden; margin-top:4px; }
  .capacity-bar .fill{ height:100%; background:#2563eb; transition:width 0.3s; }
  .capacity-bar .fill.over{ background:#dc2626; }
  .v29-truck-grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(120px,1fr)); gap:8px; }
  .v29-truck-chip { padding:8px 10px; border-radius:8px; border:1px solid #e2e8f0; font-size:11px; text-align:center; }
  .v29-truck-chip.available { background:#f0fdf4; border-color:#bbf7d0; }
  .v29-truck-chip.busy { background:#fef3c7; border-color:#fde68a; }
  .v29-credit-warning { background:linear-gradient(135deg,#fef2f2,#fee2e2); border:1px solid #fca5a5; color:#991b1b; padding:10px 14px; border-radius:8px; margin:10px 0; font-size:12px; display:flex; gap:8px; align-items:center; }
  .v29-credit-ok { background:linear-gradient(135deg,#f0fdf4,#dcfce7); border:1px solid #bbf7d0; color:#166534; padding:10px 14px; border-radius:8px; margin:10px 0; font-size:12px; }


  /* ========== V31 PRIORITY 3 - LOGIN + INDEXEDDB + PWA ========== */
  .v31-login-overlay { position:fixed; inset:0; background:linear-gradient(135deg,#1e3a5f 0%,#0f172a 100%); z-index:10000; display:flex; align-items:center; justify-content:center; padding:20px; }
  .v31-login-box { width:min(400px,92vw); background:#fff; border-radius:16px; box-shadow:0 24px 80px rgba(0,0,0,0.4); overflow:hidden; }
  .v31-login-header { background:linear-gradient(135deg,#2563eb,#1e40af); color:#fff; padding:24px; text-align:center; }
  .v31-login-body { padding:24px; }
  .v31-login-input { width:100%; padding:12px 14px; border:1px solid #e2e8f0; border-radius:8px; font-size:14px; margin-bottom:12px; outline:none; }
  .v31-login-input:focus { border-color:#2563eb; box-shadow:0 0 0 3px rgba(37,99,235,0.1); }
  .v31-role-badge { padding:3px 8px; border-radius:999px; font-size:10px; font-weight:700; }
  .v31-role-admin { background:#fef3c7; color:#92400e; }
  .v31-role-sales { background:#dbeafe; color:#1e40af; }
  .v31-role-production { background:#dcfce7; color:#166534; }
  .v31-role-accounting { background:#f5f3ff; color:#6b21a8; }
  .v31-secure-bar { display:flex; align-items:center; gap:10px; padding:8px 14px; background:linear-gradient(135deg,#f0fdf4,#eff6ff); border:1px solid #bbf7d0; border-radius:8px; margin-bottom:12px; font-size:12px; }
  .v31-pwa-prompt { position:fixed; bottom:20px; left:20px; right:20px; max-width:400px; margin:0 auto; background:#111827; color:#fff; padding:16px; border-radius:12px; box-shadow:0 12px 32px rgba(0,0,0,0.3); z-index:9998; display:none; }
  .v31-pwa-prompt.show { display:block; animation: slideUp 0.3s ease; }
  @keyframes slideUp { from{ transform:translateY(20px); opacity:0; } to{ transform:translateY(0); opacity:1; } }


  .v33-backend-panel { background:#f0fdf4; border:1px solid #bbf7d0; border-radius:10px; padding:14px; margin:12px 0; }


  /* V34 SALES COMPLETE */
  .v34-sales-pipeline { display:flex; gap:10px; overflow-x:auto; padding:12px 0; }
  .v34-pipe-col { min-width:200px; flex:1; background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; padding:10px; }
  .v34-pipe-header { font-weight:700; font-size:12px; padding:6px 8px; border-radius:6px; margin-bottom:8px; display:flex; justify-content:space-between; }
  .v34-pipe-card { background:#fff; border:1px solid #e2e8f0; border-radius:8px; padding:10px; margin-bottom:8px; cursor:pointer; font-size:12px; }
  .v34-pipe-card:hover { border-color:#2563eb; box-shadow:0 2px 8px rgba(37,99,235,0.1); }
  .v34-price-box { background:linear-gradient(135deg,#eff6ff,#dbeafe); border:1px solid #bfdbfe; border-radius:8px; padding:12px; margin:10px 0; }
  .v34-deposit-badge { background:#fef3c7; color:#92400e; padding:3px 8px; border-radius:999px; font-size:10px; font-weight:700; }
  .v34-sales-complete-bar { background:linear-gradient(135deg,#f0fdf4,#dcfce7); border:1px solid #bbf7d0; border-radius:10px; padding:12px 16px; display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin-bottom:14px; }


  /* V35 FREIGHT CONDITIONS */
  .v35-freight-panel { background:linear-gradient(135deg,#fffbeb,#fef3c7); border:1px solid #fcd34d; border-radius:10px; padding:14px; margin:12px 0; }
  .v35-rule-card { background:#fff; border:1px solid #e2e8f0; border-radius:8px; padding:12px; margin-bottom:10px; }
  .v35-rule-active { border-color:#16a34a; background:#f0fdf4; }
  .v35-freight-badge { padding:3px 8px; border-radius:999px; font-size:10px; font-weight:700; }
  .v35-badge-volume { background:#fef3c7; color:#92400e; }
  .v35-badge-distance { background:#dbeafe; color:#1e40af; }
  .v35-badge-free { background:#dcfce7; color:#166534; }


  /* V36 BOOKING COMPLETE 100% */
  .v36-booking-extra { display:grid; grid-template-columns:1fr 1fr 1fr; gap:8px; margin:10px 0; }
  .v36-extra-field { background:#f8fafc; border:1px solid #e2e8f0; border-radius:8px; padding:10px; }
  .v36-extra-field label { font-size:11px; font-weight:600; color:#475569; display:block; margin-bottom:4px; }
  .v36-extra-field input { width:100%; padding:6px 8px; border:1px solid #e2e8f0; border-radius:6px; font-size:12px; }
  .v36-freight-badge-calendar { position:absolute; top:2px; right:2px; background:#dc2626; color:#fff; font-size:9px; padding:2px 4px; border-radius:4px; font-weight:700; }
  .v36-summary-bar { background:linear-gradient(135deg,#eff6ff,#f0fdf4); border:1px solid #bfdbfe; border-radius:10px; padding:12px; margin:12px 0; display:flex; gap:16px; flex-wrap:wrap; font-size:12px; }


  /* V37 SALES PIPELINE COMPLETE 100% */
  .v37-sales-complete { background:linear-gradient(135deg,#f0fdf4,#eff6ff); border:2px solid #16a34a; border-radius:12px; padding:16px; margin:12px 0; }
  .v37-flow { display:flex; gap:0; align-items:center; overflow-x:auto; padding:8px 0; }
  .v37-step { flex:1; min-width:110px; text-align:center; padding:10px 6px; background:#fff; border:1px solid #e2e8f0; position:relative; }
  .v37-step:first-child { border-radius:10px 0 0 10px; }
  .v37-step:last-child { border-radius:0 10px 10px 0; }
  .v37-step.completed { background:#dcfce7; border-color:#16a34a; }
  .v37-step.active { background:#dbeafe; border-color:#2563eb; border-width:2px; }
  .v37-step .icon { font-size:20px; }
  .v37-step .label { font-size:11px; font-weight:600; margin-top:4px; }
  .v37-step .count { font-size:10px; color:#64748b; }
  .v37-step::after { content:'→'; position:absolute; right:-10px; top:50%; transform:translateY(-50%); z-index:2; background:#fff; border:1px solid #e2e8f0; border-radius:50%; width:20px; height:20px; display:flex; align-items:center; justify-content:center; font-size:10px; }
  .v37-step:last-child::after { display:none; }


  /* V38 ACCOUNTING LINK */
  .v38-journal-panel { background:linear-gradient(135deg,#f5f3ff,#eff6ff); border:1px solid #c4b5fd; border-radius:10px; padding:14px; margin:12px 0; }
  .v38-journal-entry { background:#fff; border:1px solid #e2e8f0; border-radius:8px; padding:10px; margin-bottom:8px; font-size:12px; }
  .v38-debit { color:#dc2626; font-weight:600; }
  .v38-credit { color:#16a34a; font-weight:600; }
  .v38-auto-badge { background:#8b5cf6; color:#fff; padding:2px 6px; border-radius:4px; font-size:10px; }


  /* V39 FIX DEPOSIT RECEIPT */
  .v39-fix-badge { background:#fef3c7; border:1px solid #f59e0b; color:#92400e; padding:4px 8px; border-radius:6px; font-size:11px; }
  .v39-rv-panel { background:linear-gradient(135deg,#f0fdf4,#dcfce7); border:1px solid #86efac; border-radius:10px; padding:12px; margin:10px 0; }

  /* ============================================================
     MELON BIZ 2026 — MODERN ERP DESIGN SYSTEM
     Visual-only refactor: preserves existing IDs, data and workflows.
     ============================================================ */
  :root {
    --sidebar-bg: #0b1220;
    --sidebar-text: #cbd5e1;
    --sidebar-active-bg: linear-gradient(135deg, rgba(37,99,235,.95), rgba(79,70,229,.92));
    --sidebar-hover-bg: rgba(255,255,255,.07);
    --primary: #2563eb;
    --primary-hover: #1d4ed8;
    --success: #10b981;
    --danger: #ef4444;
    --warning: #f59e0b;
    --surface: #ffffff;
    --surface-muted: #f4f7fb;
    --border: #e5eaf1;
    --text: #111827;
    --text-muted: #64748b;
    --radius: 12px;
    --shadow-sm: 0 1px 2px rgba(15,23,42,.03), 0 3px 10px rgba(15,23,42,.025);
    --shadow: 0 8px 24px rgba(15,23,42,.07);
    --shadow-lg: 0 24px 60px rgba(15,23,42,.18);
  }

  html { background: var(--surface-muted); scroll-behavior: smooth; }
  body {
    font-family: "Noto Sans Thai", "Leelawadee UI", "Tahoma", "Segoe UI", sans-serif;
    font-size: 14px; line-height: 1.55; letter-spacing: .005em;
    background:
      radial-gradient(circle at 92% 0%, rgba(37,99,235,.055), transparent 25rem),
      var(--surface-muted);
  }
  button, input, select, textarea { font-family: inherit; }
  ::selection { background: #bfdbfe; color: #172554; }
  * { scrollbar-width: thin; scrollbar-color: #cbd5e1 transparent; }
  *::-webkit-scrollbar { width: 8px; height: 8px; }
  *::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 999px; }

  .sidebar {
    width: 268px; background:
      radial-gradient(circle at 15% 4%, rgba(59,130,246,.22), transparent 15rem),
      linear-gradient(180deg, #101a2f 0%, #0b1220 48%, #080e1a 100%);
    border-right: 1px solid rgba(255,255,255,.05);
    box-shadow: 8px 0 30px rgba(15,23,42,.08); z-index: 30;
  }
  .sidebar-brand { padding: 22px 18px 18px; border-bottom: 1px solid rgba(255,255,255,.08); }
  .sidebar-brand .logo { font-size: 21px; font-weight: 800; letter-spacing: -.4px; }
  .sidebar-brand .logo .icon {
    width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center;
    border-radius: 12px; font-size: 21px; background: linear-gradient(135deg,#22c55e,#0ea5e9);
    box-shadow: 0 8px 22px rgba(14,165,233,.24), inset 0 1px 0 rgba(255,255,255,.3);
  }
  .sidebar-brand .sub { margin: 7px 0 0 48px; color: #8492aa; text-transform: none; letter-spacing: .15px; }
  .sidebar-brand .logo.app-brand { display:flex; justify-content:center; width:100%; line-height:0; }
  .sidebar-brand { background:transparent; }
  .sidebar-brand .logo.app-brand { display:flex; justify-content:center; width:100%; line-height:normal; }
  .sidebar-logo-lockup { display:flex; flex-direction:column; align-items:center; color:#fff; }
  .sidebar-logo-symbol { width:96px; height:50px; overflow:hidden; position:relative; }
  .sidebar-logo-symbol img { display:block; width:96px; height:96px; object-fit:contain; transform:translateY(-8px); filter:drop-shadow(0 5px 9px rgba(34,197,94,.18)); }
  .sidebar-logo-name { margin-top:2px; color:#fff; font-size:19px; line-height:1; font-weight:700; letter-spacing:-.35px; }
  .sidebar-logo-erp { margin-top:5px; color:#e2e8f0; font-size:9px; line-height:1; font-weight:700; letter-spacing:5px; padding-left:5px; }
  .sidebar-brand .sub.app-brand-sub { margin:10px 0 0; text-align:center; color:#94a3b8; font-size:10px; }
  .v31-login-header { background:linear-gradient(145deg,#f8fafc,#ecfdf3); color:#334155; }
  .v31-login-brand-logo { display:block; width:150px; height:150px; object-fit:contain; margin:0 auto 8px; background:transparent; filter:drop-shadow(0 8px 16px rgba(15,23,42,.14)); }
  .sidebar-nav { padding: 14px 12px 20px; }
  .nav-section-title { padding: 20px 12px 7px; color: #64748b; font-size: 10px; font-weight: 800; letter-spacing: 1.15px; }
  .nav-item { min-height: 40px; padding: 9px 11px; margin: 2px 0; border-radius: 10px; color: #cbd5e1; gap: 11px; }
  .nav-item:hover { background: rgba(255,255,255,.065); color: #fff; transform: translateX(1px); }
  .nav-item.active { background: var(--sidebar-active-bg); color:#fff; box-shadow: 0 8px 20px rgba(37,99,235,.22); }
  .nav-item .nav-icon { width: 22px; font-size: 17px; filter: saturate(.9); }
  .nav-item .nav-badge { margin-left: auto; color:#dbeafe; background: rgba(148,163,184,.18); font-weight: 700; min-width: 22px; text-align:center; }
  .nav-item.active .nav-badge { color:#fff; background:rgba(255,255,255,.18); }
  .nav-sub { padding-left: 26px; border-left: 1px solid rgba(148,163,184,.15); margin-left: 22px; }
  .nav-sub .nav-item { min-height: 33px; padding: 6px 10px; color:#9eacc1; }
  .sidebar-footer { position: sticky; bottom: 0; background: rgba(8,14,26,.92); backdrop-filter: blur(12px); padding:14px 16px; }
  .sidebar-footer .avatar { width:34px; height:34px; background:linear-gradient(135deg,#2563eb,#7c3aed); box-shadow:0 5px 14px rgba(37,99,235,.25); }

  .main { background: transparent; }
  .topbar {
    height: 72px; padding: 0 28px; gap: 18px; background: rgba(255,255,255,.88);
    backdrop-filter: blur(16px); border-bottom: 1px solid rgba(226,232,240,.85);
    box-shadow: 0 1px 0 rgba(255,255,255,.8); z-index:20;
  }
  .topbar-title-wrap { display:flex; flex-direction:column; min-width:0; }
  .topbar .page-title { font-size:18px; font-weight:750; letter-spacing:-.25px; line-height:1.2; }
  .topbar .page-sub { margin:4px 0 0; max-width:660px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11.5px; }
  .topbar-context { display:flex; align-items:center; gap:8px; padding:6px 10px; background:#f8fafc; border:1px solid var(--border); border-radius:10px; color:var(--text-muted); font-size:11.5px; white-space:nowrap; }
  .topbar-context .live-dot { width:7px; height:7px; background:#22c55e; border-radius:50%; box-shadow:0 0 0 3px #dcfce7; }
  .content { padding: 26px 28px 42px; max-width: 1920px; width:100%; margin:0 auto; }
  .page-header { min-height:58px; }
  .page-header h2 { font-size:22px; line-height:1.25; letter-spacing:-.35px; color:#0f172a; }

  .btn { min-height: 36px; padding: 8px 14px; border-radius: 9px; font-weight: 650; box-shadow: 0 1px 2px rgba(15,23,42,.03); }
  .btn:hover { transform: translateY(-1px); box-shadow: 0 5px 14px rgba(15,23,42,.08); }
  .btn:active { transform: translateY(0); }
  .btn-primary { background:linear-gradient(135deg,#2563eb,#4f46e5); border-color:#2563eb; box-shadow:0 5px 14px rgba(37,99,235,.18); }
  .btn-primary:hover { background:linear-gradient(135deg,#1d4ed8,#4338ca); }
  .btn-secondary { background:#fff; border-color:#dfe5ec; }
  .btn-sm { min-height:32px; padding:6px 11px; }
  .btn-icon { width:34px; height:34px; border-radius:9px; }

  .card, .table-container, .form-panel, .settings-card, .filter-bar, .search-box, .org-tree {
    border-color: var(--border); box-shadow: var(--shadow-sm); border-radius: var(--radius);
  }
  .card:hover, .settings-card:hover { border-color:#d4dce7; box-shadow:0 10px 26px rgba(15,23,42,.07); }
  .kpi-grid { gap:14px; margin-bottom:20px; }
  .kpi-card { position:relative; overflow:hidden; min-height:116px; padding:18px 19px; border:1px solid var(--border); border-radius:14px; box-shadow:var(--shadow-sm); }
  .kpi-card::after { content:""; position:absolute; width:72px; height:72px; right:-26px; top:-28px; border-radius:50%; background:currentColor; opacity:.055; }
  .kpi-card.accent,.kpi-card.success,.kpi-card.warning,.kpi-card.danger { border-left-width:1px; }
  .kpi-card .kpi-label { font-size:12px; font-weight:650; }
  .kpi-card .kpi-value { margin-top:7px; font-size:27px; letter-spacing:-.6px; }
  .table-header { min-height:58px; padding:14px 18px; background:linear-gradient(180deg,#fff,#fcfdff); }
  .table-header h3 { font-size:15px; letter-spacing:-.1px; }
  .table-wrapper { background:#fff; }
  thead { background:#f7f9fc; }
  thead th { padding:11px 14px; color:#526176; font-size:11px; letter-spacing:.35px; }
  tbody tr { border-color:#edf0f4; transition:background .15s; }
  tbody tr:nth-child(even) { background:#fbfcfe; }
  tbody tr:hover { background:#f2f7ff; }
  tbody td { padding:11px 14px; }

  .filter-bar, .search-box, .erp-list-toolbar { padding:12px 14px; background:rgba(255,255,255,.92); }
  .filter-bar input, .filter-bar select, .search-box input, .erp-list-toolbar input,
  .form-group input, .form-group select, .form-group textarea {
    min-height:38px; border-color:#dbe2ea; border-radius:9px; background:#fff; transition:border-color .15s,box-shadow .15s,background .15s;
  }
  .filter-bar input:focus, .filter-bar select:focus, .search-box input:focus,
  .form-group input:focus, .form-group select:focus, .form-group textarea:focus {
    border-color:#60a5fa; box-shadow:0 0 0 3px rgba(59,130,246,.12); background:#fff;
  }
  .form-group label { font-size:11.5px; font-weight:700; color:#526176; }
  .form-panel { padding:21px 22px; }
  .booking-section { border-color:#e4e9f0; border-radius:12px; background:#f8fafc; }
  .badge-status { padding:4px 9px; border-radius:999px; font-weight:700; }
  .settings-grid { grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:14px; }
  .settings-card { position:relative; padding:20px; gap:11px; transition:transform .2s,border-color .2s,box-shadow .2s; }
  .settings-card:hover { transform:translateY(-2px); }
  .settings-card .sc-icon { width:46px; height:46px; display:flex; align-items:center; justify-content:center; border-radius:13px; background:#eff6ff; font-size:23px; }

  .modal-overlay { background:rgba(10,18,32,.52); backdrop-filter:blur(5px); }
  .modal { border:1px solid rgba(255,255,255,.65); border-radius:16px; box-shadow:var(--shadow-lg); }
  .modal-header { padding-bottom:13px; border-bottom:1px solid var(--border); }
  .modal-close { width:34px; height:34px; display:flex; align-items:center; justify-content:center; border-radius:9px; background:#f1f5f9; }
  .modal-close:hover { background:#e2e8f0; }
  .quotation-section,.deposit-section,.journal-detail-card,.invoice-detail-card { border-radius:13px; box-shadow:var(--shadow-sm); }
  .quotation-body,.deposit-body,.journal-detail-content,.invoice-detail-content { background:#f4f7fb; }

  @media (max-width:1200px) {
    .sidebar { width:242px; }
    .content { padding:22px; }
    .topbar { padding:0 22px; }
    .topbar-context { display:none; }
  }
  @media (max-width:900px) {
    .sidebar { width:72px; }
    .sidebar-brand .logo .icon { width:38px; height:38px; }
    .sidebar-brand .logo { justify-content:center; }
      .sidebar-brand .sidebar-logo-symbol { width:48px; height:25px; }
    .sidebar-brand .sidebar-logo-symbol img { width:48px; height:48px; transform:translateY(-4px); }
    .sidebar-brand .sidebar-logo-name,.sidebar-brand .sidebar-logo-erp { display:none; }
    .sidebar-brand .sub { display:none; }
    .content { padding:18px 14px 34px; }
    .topbar { height:64px; padding:0 14px; }
    .topbar .page-sub { max-width:48vw; }
    .page-header { align-items:flex-start !important; gap:12px; flex-wrap:wrap; }
  }
  @media (max-width:640px) {
    .topbar .page-sub { display:none; }
    .topbar .page-title { font-size:16px; }
    .kpi-grid { grid-template-columns:1fr 1fr; }
    .form-grid { grid-template-columns:1fr; }
    .search-box { flex-wrap:wrap; }
    .search-box .search-hint { display:none; }
  }



/* CSS block 2: id="prod-hide" */
button[data-test="demo"], button[title*="ทดสอบ"]{display:none}

/* CSS block 3: id="v46-procurement-job-modern-css" */

#procurement-view-jobs .filter-bar{gap:14px;padding:12px 16px}
#procurement-view-jobs .filter-bar input{min-width:250px}
.procurement-job-modern{border-radius:12px;overflow:visible}
.procurement-job-modern .table-wrapper{overflow:visible}
.procurement-job-modern tbody td{padding-top:14px;padding-bottom:14px;vertical-align:middle}
.pj-id-link,.pj-link{border:0;background:transparent;padding:0;color:#2563eb;font:inherit;font-weight:700;cursor:pointer;text-align:left}
.pj-id-link:hover,.pj-link:hover{text-decoration:underline}
.pj-sub,.pj-muted{display:block;margin-top:3px;font-size:11px;color:var(--text-muted);font-weight:400}
.pj-po-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;border-radius:8px;padding:6px 10px;cursor:pointer;font:inherit;font-size:12px}
.pj-po-chip:hover{background:#dbeafe}
.pj-actions{display:flex;align-items:center;gap:6px;white-space:nowrap}
.pj-more-wrap{position:relative}
.pj-more-trigger{min-width:36px;padding-left:10px;padding-right:10px;font-size:17px;line-height:1}
.procurement-job-more{display:none;position:absolute;right:0;top:calc(100% + 6px);z-index:60;width:220px;padding:6px;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 30px rgba(15,23,42,.16)}
.procurement-job-more.open{display:grid}
.procurement-job-more button{border:0;background:transparent;text-align:left;padding:9px 10px;border-radius:7px;cursor:pointer;font:inherit;font-size:12px;color:var(--text)}
.procurement-job-more button:hover{background:var(--surface-muted)}


/* CSS block 4: unnamed */

  .master-help{padding:10px 12px;border:1px solid #bfdbfe;background:#eff6ff;color:#1e3a8a;border-radius:8px;font-size:12px;margin:10px 0}
  .price-source-contract{color:#7c3aed}.price-source-customer_po{color:#0369a1}.price-source-quotation{color:#047857}.price-source-manual{color:#9a3412}


/* CSS block 5: unnamed */
.status-price{background:#fff7ed;color:#9a3412}.sales-hold-note{font-size:11px;color:#9a3412;margin-top:4px}

/* CSS block 6: unnamed */

  .fulfillment-progress{height:7px;background:#e2e8f0;border-radius:999px;overflow:hidden;margin-top:5px}.fulfillment-progress span{display:block;height:100%;background:#2563eb}.fulfillment-alert{color:#b91c1c;font-weight:700}


/* CSS block 7: unnamed */

  .dex-critical{color:#b91c1c;font-weight:700}.dex-warning{color:#b45309}.dex-ok{color:#15803d}.dex-compare{font-size:12px}.dex-compare td{vertical-align:top}


/* CSS block 8: unnamed */

  .mdi-source-table input[type="text"]{min-width:150px}.mdi-source-table tr.is-used{opacity:.58}.mdi-summary{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px;margin-top:8px}.mdi-summary>div{padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface-muted)}.mdi-summary small{display:block;color:var(--text-muted)}


/* CSS block 9: unnamed */

  .pod-ops-preview{padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface-muted);font-size:12px}.pod-ops-preview strong{color:var(--primary)}


/* CSS block 10: id="melonbiz-sticky-shell" */

  .sales-action-bar {
    display:flex; align-items:center; gap:8px; flex-wrap:wrap;
    margin:12px 0 10px;
  }
  .sales-action-bar .btn { white-space:nowrap; }
  .sales-tab-bar {
    display:flex; align-items:center; gap:7px; flex-wrap:wrap;
    margin:0 0 12px;
    padding:12px 0;
    border-top:1px solid var(--border);
    border-bottom:1px solid var(--border);
  }
  .sales-tab-bar .btn {
    min-height:36px; padding:7px 13px; white-space:nowrap;
    color:#334155; background:#fff; border-color:#dfe5ec;
    box-shadow:0 1px 2px rgba(15,23,42,.04);
  }
  .sales-tab-bar .btn:hover { color:#1d4ed8; border-color:#93c5fd; background:#f8fbff; }
  .sales-tab-bar .btn.active-tab {
    color:#0f172a; background:#fff; border-color:#0f172a;
    box-shadow:0 0 0 1px #0f172a,0 3px 10px rgba(15,23,42,.08);
  }
  html, body { height:100%; overflow:hidden; }
  body { min-height:100vh; }
  .main { height:100vh; min-height:0; overflow:hidden; }
  .topbar { flex:0 0 auto; position:relative; top:auto; }
  .content { min-height:0; overflow-y:auto; position:relative; overscroll-behavior:contain; }
  .sidebar-brand {
    position:sticky; top:0; z-index:32;
    background:linear-gradient(180deg,rgba(16,26,47,.99),rgba(14,24,44,.98));
    box-shadow:0 1px 0 rgba(255,255,255,.05);
  }
  .v31-secure-bar {
    position:sticky; top:0; z-index:18;
    box-shadow:0 8px 18px rgba(15,23,42,.08);
    backdrop-filter:blur(14px);
  }
  @media (max-width:768px) {
    .v31-secure-bar { flex-wrap:wrap; }
    .sales-action-bar, .sales-tab-bar { gap:6px; }
    .sales-action-bar .btn, .sales-tab-bar .btn { flex:1 1 auto; justify-content:center; }
  }
  .org-profile-tabs { display:flex;gap:7px;flex-wrap:wrap;margin:0 0 14px;padding:5px;background:var(--surface-muted);border:1px solid var(--border);border-radius:11px; }
  .org-profile-tabs .btn { min-height:38px;flex:0 1 auto;justify-content:center; }
  .org-profile-panel { margin-top:0; }
  @media (max-width:768px) { .org-profile-tabs .btn { flex:1 1 100%; } }


/* CSS block 11: id="melonbiz-lucide-standard" */

  .mb-icon { display:inline-flex; align-items:center; justify-content:center; width:1em; height:1em; flex:0 0 auto; color:currentColor; vertical-align:-0.14em; }
  .mb-icon svg { display:block; width:100%; height:100%; stroke-width:1.9; }
  .nav-icon { display:inline-flex; align-items:center; justify-content:center; }
  .nav-icon .mb-icon, .nav-icon svg { width:19px; height:19px; vertical-align:0; }
  .menu-group-body .nav-icon .mb-icon, .menu-group-body .nav-icon svg { width:18px; height:18px; }
  .sc-icon .mb-icon, .sc-icon svg, .card .mb-icon, .card .mb-icon svg, .empty-icon .mb-icon, .empty-icon svg { width:22px; height:22px; }
  .btn .mb-icon, .btn svg.mb-icon, button .mb-icon, button svg.mb-icon { width:17px; height:17px; vertical-align:-0.18em; }
  .btn, button { align-items:center; }
  h2 > .mb-icon, h3 > .mb-icon, .tree-root > .mb-icon { width:20px; height:20px; margin-right:5px; }
  .stat-value > .mb-icon, .badge-status > .mb-icon, .sc-stat-value > .mb-icon { width:15px; height:15px; }
  .mb-icon + .mb-icon { margin-left:2px; }
  .sidebar-logo-lockup .mb-icon { display:none !important; }


/* CSS block 12: unnamed */

.booking-search-option{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;border:0;border-bottom:1px solid var(--border);background:var(--surface);color:var(--text);text-align:left;cursor:pointer}
.booking-search-option:hover,.booking-search-option:focus{background:var(--surface-muted);outline:none}
.booking-search-option span,.booking-search-empty{font-size:11px;color:var(--text-muted)}
.booking-search-empty{padding:12px}


/* CSS block 13: id="final-qt-optiona-fix" */

/* === QT Action === */
.qt-link{color:#2563eb;font-weight:700;cursor:pointer}.qt-link:hover{text-decoration:underline}
.qt-progress{display:flex;gap:6px;flex-wrap:wrap}.qt-chip{font-size:11px;padding:2px 7px;border-radius:999px;background:#f1f5f9;border:1px solid #e2e8f0;white-space:nowrap}.qt-chip.dep{background:#fef9c3;border-color:#fde68a}.qt-chip.bk{background:#dbeafe;border-color:#bfdbfe}.qt-chip.so{background:#dcfce7;border-color:#bbf7d0}
.action-compact{display:flex;align-items:center;gap:4px;flex-wrap:nowrap}.icon-mini{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid transparent;background:#fff;cursor:pointer;font-size:14px}.icon-mini:hover{background:#f1f5f9;border-color:#e2e8f0}
.qt-dropdown{position:relative}.qt-dropdown-menu{position:fixed !important;min-width:240px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 16px 40px rgba(0,0,0,.18);padding:6px;z-index:10001 !important;display:none;max-height:72vh;overflow-y:auto}
.qt-dropdown.open .qt-dropdown-menu{display:block !important}
.qt-dd-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;font-size:13px}.qt-dd-item:hover{background:#f8fafc}.qt-dd-item.danger{color:#dc2626}
.qt-overlay{position:fixed;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(2px);z-index:10000 !important;display:none !important}.qt-overlay.open{display:block !important}
.qt-slide{position:fixed;top:0;right:0;width:min(760px,94vw);height:100vh;background:#fff;z-index:10002 !important;transform:translateX(100%);transition:.3s cubic-bezier(.2,.8,.2,1);display:flex !important;flex-direction:column;box-shadow:-8px 0 32px rgba(0,0,0,.18)}.qt-slide.open{transform:translateX(0) !important}
.qt-slide-hd{padding:16px 20px;border-bottom:1px solid #e2e8f0;display:flex;gap:12px;align-items:center}.qt-slide-bd{flex:1;overflow:auto;padding:18px 20px}.qt-slide-ft{padding:12px 20px;border-top:1px solid #e2e8f0;background:#f8fafc;display:flex;gap:8px;flex-wrap:wrap}
.qt-kv{display:grid;grid-template-columns:130px 1fr;gap:8px 14px;font-size:13px}.qt-kv b{color:#64748b;font-weight:500}
.qt-modal{position:fixed;inset:0;z-index:10003 !important;display:none !important;align-items:center;justify-content:center;background:rgba(15,23,42,.45);padding:20px}.qt-modal.open{display:flex !important}.qt-modal-box{background:#fff;border-radius:16px;max-width:860px;width:100%;max-height:92vh;overflow:auto;box-shadow:0 16px 48px rgba(0,0,0,.22)}.qt-modal-hd{padding:14px 18px;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center}.qt-modal-bd{padding:16px 18px}
.qt-timeline{display:flex;align-items:center;gap:0;overflow:auto;padding:10px 0}.qt-tnode{display:flex;flex-direction:column;align-items:center;min-width:92px}.qt-tdot{width:30px;height:30px;border-radius:50%;background:#e2e8f0;display:flex;align-items:center;justify-content:center;border:2px solid #fff;box-shadow:0 0 0 2px #e2e8f0;font-size:13px}.qt-tnode.done .qt-tdot{background:#dcfce7;border-color:#86efac}.qt-tline{height:2px;background:#e2e8f0;flex:1;min-width:18px}.qt-tlabel{font-size:11px;margin-top:6px;text-align:center;color:#64748b;line-height:1.2}
/* === Option A Minimal === */
.option-a-top-collapse{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin:8px 0 10px;overflow:hidden}.option-a-collapse-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;cursor:pointer;background:#f1f5f9;user-select:none}.option-a-collapse-header:hover{background:#e2e8f0}.option-a-collapse-body{padding:10px 12px;display:none}.option-a-collapse-body.open{display:block}.option-a-merged-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin:10px 0}.option-a-merged-bar .primary-actions{display:flex;gap:6px;align-items:center}.option-a-merged-bar .spacer{flex:1}.option-a-height-badge{font-size:11px;background:#dcfce7;color:#166534;padding:2px 8px;border-radius:999px;border:1px solid #bbf7d0}
/* === Critical fixes for clipping === */
#page_sales .table-wrapper, #sales-overview-qu .table-wrapper, #sales-overview-qu .table-container, .table-container .table-wrapper { overflow: visible !important; }
#page_sales table { position: relative; }
#page_sales .action-cell, #page_sales .action-compact { overflow: visible !important; position: relative; z-index: 2; }
#page_sales .sales-action-bar, #page_sales .sales-tab-bar { display: none !important; } /* ซ่อนของเดิม รวมใน merged bar แทน - ไม่ลบ DOM */
#page_sales #sales-control-kpis, #page_sales #sales-control-alert { display: none !important; }


/* CSS block 14: id="v36-scroll-fix" */

/* Fix: เลื่อนดูข้างล่างไม่ได้ */
html, body {
  overflow-y: auto !important;
  height: auto !important;
  max-height: none !important;
}
.main-content, .content-wrapper, #pr-section, .procurement-section {
  overflow: visible !important;
  max-height: none !important;
  height: auto !important;
}
/* PR table container must allow scroll and dropdown visible */
#purchase-request-body, #pr-summary-cards {
  overflow: visible !important;
}
/* Ensure table wrapper can scroll vertically */
.table-responsive, .card:has(#purchase-request-body) {
  overflow-y: auto !important;
  overflow-x: auto !important;
  max-height: none !important;
  padding-bottom: 300px !important; /* space for dropdown */
}
/* Dropdown should be above all and not clipped */
.pr-dropdown {
  position: fixed !important; /* change from absolute to fixed when opened to avoid clipping */
  z-index: 99999 !important;
}
/* When dropdown is inside table, make sure parent td allows overflow */
td:has(.pr-dropdown) {
  overflow: visible !important;
  position: relative !important;
}
/* Fix cards row not blocking */
#pr-summary-cards {
  margin-bottom: 20px !important;
  position: relative !important;
  z-index: 1 !important;
}


/* CSS block 15: id="v40-po-modern-style" */

#procurement-view-po .table-container{border-radius:12px;overflow:visible}
#procurement-view-po .table-wrapper{overflow:visible}
#procurement-view-po #purchase-order-body td{padding-top:13px;padding-bottom:13px}
.po-doc-link{border:0;background:transparent;padding:0;color:#2563eb;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}
.po-doc-meta{font-size:11px;color:var(--text-muted);margin-top:2px}.po-doc-source{font-size:10px;color:var(--text-muted);margin-top:2px}
.po-type-pill{display:inline-block;padding:3px 9px;border-radius:999px;background:#f1f5f9;font-size:11px;font-weight:600}.po-type-pill.freight{background:#ede9fe;color:#6d28d9}.po-type-pill.raw_material{background:#eff6ff;color:#1d4ed8}.po-type-pill.repair_service{background:#e0f2fe;color:#0369a1}.po-type-pill.expense{background:#fee2e2;color:#b91c1c}.po-type-pill.spare_stock,.po-type-pill.spare_direct{background:#fef3c7;color:#92400e}.po-type-pill.fixed_asset{background:#ecfccb;color:#3f6212}
.po-action-wrap{display:flex;align-items:center;justify-content:flex-end;gap:7px;position:relative}.po-primary-action{min-width:88px;justify-content:center}.po-more-btn{width:34px;height:32px;border:1px solid var(--border);border-radius:8px;background:#fff;cursor:pointer;font-size:18px;line-height:1}.po-more-btn:hover{background:#f8fafc}
.po-row-menu{position:absolute;right:0;top:38px;width:230px;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 30px rgba(15,23,42,.16);z-index:60;padding:6px;display:none;text-align:left}.po-row-menu.open{display:block}.po-row-menu button{display:flex;width:100%;gap:9px;align-items:center;border:0;background:transparent;padding:9px 10px;border-radius:7px;cursor:pointer;font:inherit;font-size:12px;color:var(--text)}.po-row-menu button:hover{background:#f8fafc}.po-row-menu .danger{color:var(--danger)}.po-menu-sep{height:1px;background:var(--border);margin:5px 4px}
#po-detail-modal{padding:18px}.po-detail-workspace{width:min(96vw,1450px)!important;max-width:none!important;height:min(92vh,950px);max-height:92vh!important;padding:0!important;overflow:hidden!important;display:flex;flex-direction:column;border-radius:14px!important}.po-detail-head{display:flex;align-items:center;gap:14px;padding:15px 20px;border-bottom:1px solid var(--border)}.po-detail-title{min-width:0}.po-detail-title h3{font-size:20px;margin:0}.po-detail-title small{display:block;color:var(--text-muted);margin-top:3px}.po-detail-head-actions{margin-left:auto;display:flex;gap:8px}.po-detail-tabs{display:flex;gap:4px;padding:0 20px;border-bottom:1px solid var(--border);background:#fff;overflow-x:auto}.po-detail-tab{border:0;background:transparent;padding:12px 14px;font:inherit;font-weight:600;color:var(--text-muted);cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent}.po-detail-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.po-detail-body{flex:1;overflow:auto;background:#f8fafc;padding:18px 20px}.po-detail-pane{display:none}.po-detail-pane.active{display:block}.po-detail-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:14px}.po-detail-card{background:#fff;border:1px solid var(--border);border-radius:11px;overflow:hidden;box-shadow:var(--shadow-sm);margin-bottom:14px}.po-detail-card h4{padding:12px 15px;border-bottom:1px solid var(--border);margin:0;font-size:14px}.po-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:5px 15px 14px}.po-info-row{padding:9px 4px;border-bottom:1px solid #f1f5f9}.po-info-row span{display:block;color:var(--text-muted);font-size:11px}.po-info-row strong{display:block;margin-top:2px}.po-summary-row{display:flex;justify-content:space-between;padding:10px 15px;border-bottom:1px solid #f1f5f9}.po-summary-row.grand{font-size:16px;font-weight:700;color:var(--primary)}.po-detail-footer{display:flex;justify-content:space-between;align-items:center;padding:11px 20px;border-top:1px solid var(--border);background:#fff}.po-related-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;border-bottom:1px solid #f1f5f9}.po-related-item:last-child{border-bottom:0}
@media(max-width:900px){#po-detail-modal{padding:0}.po-detail-workspace{width:100vw!important;height:100vh;max-height:none!important;border-radius:0!important}.po-detail-grid{grid-template-columns:1fr}.po-info-grid{grid-template-columns:1fr}}


/* CSS block 16: unnamed */

#pr-print-sheet{display:none}
@media print{
  body.printing-pr > *:not(#pr-print-sheet){display:none!important}
  body.printing-pr{margin:0;background:#fff;color:#111827;font-family:"Sarabun","Noto Sans Thai",Arial,sans-serif}
  body.printing-pr #pr-print-sheet{display:block!important;width:190mm;min-height:277mm;margin:0 auto;background:#fff;font-size:11px;line-height:1.45}
  body.printing-pr .qprint-title h2{font-size:22px}
  body.printing-pr .prprint-purpose{white-space:pre-wrap}
  body.printing-pr .prprint-status{font-weight:700;color:#1e3a8a}
}


/* CSS block 17: unnamed */

#po-print-sheet{display:none}
@media print{
  body.printing-po > *:not(#po-print-sheet){display:none!important}
  body.printing-po{margin:0;background:#fff;color:#111827;font-family:"Sarabun","Noto Sans Thai",Arial,sans-serif}
  body.printing-po #po-print-sheet{display:block!important;width:190mm;min-height:277mm;margin:0 auto;background:#fff;font-size:11px;line-height:1.45}
  body.printing-po .qprint-title h2{font-size:22px}
}


/* CSS block 18: id="procurement-job-detail-v48-style" */

#procurement-job-detail-modal{align-items:center;justify-content:center;padding:18px}
#procurement-job-detail-modal .pj-detail-workspace{width:min(96vw,1580px);max-width:none;height:min(92vh,1020px);max-height:92vh;padding:0;overflow:hidden;display:flex;flex-direction:column;border-radius:14px}
.pj-detail-head{flex:0 0 auto;min-height:82px;padding:14px 22px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:14px;background:#fff}.pj-detail-title{min-width:0}.pj-detail-title h3{margin:0;font-size:21px}.pj-detail-title small{display:block;margin-top:4px;color:var(--text-muted)}.pj-detail-head-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.pj-detail-tabs{flex:0 0 auto;display:flex;gap:24px;padding:0 22px;border-bottom:1px solid var(--border);background:#fff;overflow-x:auto}.pj-detail-tab{border:0;background:transparent;padding:14px 2px 12px;white-space:nowrap;font:inherit;font-weight:600;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent}.pj-detail-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.pj-detail-body{flex:1 1 auto;overflow:auto;padding:18px 22px 92px;background:var(--surface-muted)}.pj-detail-pane{display:none}.pj-detail-pane.active{display:block}.pj-detail-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:16px}.pj-detail-card{background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-sm);margin-bottom:14px;overflow:hidden}.pj-detail-card h4{margin:0;padding:13px 16px;border-bottom:1px solid var(--border);font-size:14px}.pj-detail-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:2px 16px 14px}.pj-detail-field{padding:12px 0;border-bottom:1px solid #eef2f7}.pj-detail-field:nth-child(odd){padding-right:18px}.pj-detail-field label{display:block;color:var(--text-muted);font-size:11px;margin-bottom:4px}.pj-detail-field strong{display:block;overflow-wrap:anywhere}.pj-kpi{display:flex;justify-content:space-between;gap:12px;padding:11px 16px;border-bottom:1px solid #eef2f7}.pj-kpi strong{font-size:16px}.pj-flow{padding:16px}.pj-flow-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pj-flow-step{padding:7px 10px;border-radius:999px;background:#f1f5f9;font-size:11px;font-weight:600}.pj-flow-step.done{background:#dcfce7;color:#166534}.pj-related-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid #eef2f7}.pj-related-row:last-child{border-bottom:0}.pj-related-row small{display:block;color:var(--text-muted)}.pj-detail-footer{flex:0 0 auto;min-height:66px;padding:11px 22px;border-top:1px solid var(--border);background:#fff;display:flex;align-items:center;justify-content:space-between;box-shadow:0 -5px 18px rgba(15,23,42,.06)}
@media(max-width:900px){#procurement-job-detail-modal{padding:0}#procurement-job-detail-modal .pj-detail-workspace{width:100vw;height:100vh;max-height:none;border-radius:0}.pj-detail-grid{grid-template-columns:1fr}.pj-detail-info{grid-template-columns:1fr}.pj-detail-body{padding:12px 12px 88px}.pj-detail-tabs{gap:16px;padding:0 14px}.pj-detail-head,.pj-detail-footer{padding-left:14px;padding-right:14px}}


/* CSS block 19: id="goods-receipt-detail-v49-style" */

#goods-receipt-detail-modal{align-items:center;justify-content:center;padding:18px}.gr-detail-workspace{width:min(96vw,1580px)!important;max-width:none!important;height:min(92vh,1020px);max-height:92vh!important;padding:0!important;overflow:hidden!important;display:flex;flex-direction:column;border-radius:14px!important}.gr-detail-head{min-height:82px;padding:14px 22px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:14px;background:#fff}.gr-detail-title h3{margin:0;font-size:21px}.gr-detail-title small{display:block;margin-top:4px;color:var(--text-muted)}.gr-detail-head-actions{margin-left:auto;display:flex;gap:8px}.gr-detail-tabs{display:flex;gap:24px;padding:0 22px;border-bottom:1px solid var(--border);background:#fff;overflow-x:auto}.gr-detail-tab{border:0;background:transparent;padding:14px 2px 12px;white-space:nowrap;font:inherit;font-weight:600;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent}.gr-detail-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.gr-detail-body{flex:1;overflow:auto;padding:18px 22px 92px;background:var(--surface-muted)}.gr-detail-pane{display:none}.gr-detail-pane.active{display:block}.gr-detail-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:16px}.gr-detail-card{background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-sm);margin-bottom:14px;overflow:hidden}.gr-detail-card h4{margin:0;padding:13px 16px;border-bottom:1px solid var(--border);font-size:14px}.gr-detail-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:2px 16px 14px}.gr-detail-field{padding:12px 0;border-bottom:1px solid #eef2f7}.gr-detail-field:nth-child(odd){padding-right:18px}.gr-detail-field label{display:block;color:var(--text-muted);font-size:11px;margin-bottom:4px}.gr-detail-related{display:flex;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid #eef2f7}.gr-detail-related small{display:block;color:var(--text-muted)}.gr-detail-footer{min-height:66px;padding:11px 22px;border-top:1px solid var(--border);background:#fff;display:flex;align-items:center;justify-content:space-between;box-shadow:0 -5px 18px rgba(15,23,42,.06)}.gr-more{position:relative;display:inline-block}.gr-more-menu{display:none;position:absolute;right:0;top:calc(100% + 5px);z-index:50;min-width:210px;background:#fff;border:1px solid var(--border);border-radius:9px;box-shadow:var(--shadow-lg);padding:6px}.gr-more.open .gr-more-menu{display:block}.gr-more-menu button{display:block;width:100%;border:0;background:transparent;text-align:left;padding:8px 10px;border-radius:6px;cursor:pointer;font:inherit;font-size:12px}.gr-more-menu button:hover{background:var(--surface-muted)}
@media(max-width:900px){#goods-receipt-detail-modal{padding:0}.gr-detail-workspace{width:100vw!important;height:100vh!important;max-height:none!important;border-radius:0!important}.gr-detail-grid,.gr-detail-info{grid-template-columns:1fr}.gr-detail-body{padding:12px 12px 88px}.gr-detail-head,.gr-detail-footer{padding-left:14px;padding-right:14px}.gr-detail-tabs{gap:16px;padding:0 14px}}


/* CSS block 20: id="v51-matching-modern-css" */

.matching-modern-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.matching-modern-head strong{font-size:15px}.matching-modern-head div div{font-size:12px;color:var(--text-muted);margin-top:3px}.matching-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;margin:12px 0 16px}.matching-kpi{background:#fff;border:1px solid var(--border);border-radius:10px;padding:13px 15px}.matching-kpi span{display:block;font-size:11px;color:var(--text-muted)}.matching-kpi strong{display:block;font-size:21px;margin-top:3px}.matching-modern-table .doc-link{border:0;background:none;padding:0;color:var(--primary);font:inherit;font-weight:700;cursor:pointer;text-align:left}.matching-ref{font-size:11px;color:var(--text-muted);line-height:1.55}.matching-diff{font-size:10px;margin-top:3px}.matching-actions{display:flex;align-items:center;gap:6px;white-space:nowrap}.matching-more{position:relative}.matching-more-menu{display:none;position:absolute;right:0;top:34px;z-index:30;min-width:190px;padding:6px;background:#fff;border:1px solid var(--border);border-radius:9px;box-shadow:var(--shadow-lg)}.matching-more.open .matching-more-menu{display:block}.matching-more-menu button{display:block;width:100%;border:0;background:none;text-align:left;padding:8px 9px;border-radius:6px;cursor:pointer;font:inherit;font-size:12px}.matching-more-menu button:hover{background:var(--surface-muted)}#matching-detail-modal{align-items:center;justify-content:center;padding:18px}#matching-detail-modal .matching-detail-workspace{width:min(96vw,1500px);max-width:none;height:min(92vh,980px);max-height:92vh;padding:0;overflow:hidden;display:flex;flex-direction:column;border-radius:14px}.matching-detail-toolbar{padding:14px 20px;border-bottom:1px solid var(--border);display:flex;gap:14px;align-items:center}.matching-detail-toolbar h3{margin:0;font-size:20px}.matching-detail-toolbar small{display:block;color:var(--text-muted);margin-top:3px}.matching-detail-toolbar-actions{margin-left:auto;display:flex;gap:8px}.matching-detail-tabs{display:flex;gap:4px;padding:0 20px;border-bottom:1px solid var(--border);overflow:auto}.matching-detail-tab{border:0;background:none;padding:12px 13px;cursor:pointer;font:inherit;font-weight:600;color:var(--text-muted);white-space:nowrap;border-bottom:2px solid transparent}.matching-detail-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.matching-detail-content{flex:1;overflow:auto;background:var(--surface-muted);padding:18px 20px}.matching-detail-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:16px}.matching-detail-card{background:#fff;border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:14px}.matching-detail-card h4{padding:12px 15px;border-bottom:1px solid var(--border);margin:0;font-size:14px}.matching-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.matching-field{padding:12px 15px;border-bottom:1px solid #eef2f7}.matching-field label{display:block;font-size:10px;color:var(--text-muted);margin-bottom:4px}.matching-field strong{display:block}.match-compare-row{display:grid;grid-template-columns:1.3fr repeat(4,minmax(110px,1fr));gap:8px;padding:10px 14px;border-bottom:1px solid #eef2f7;align-items:center}.match-compare-row.head{font-size:11px;font-weight:700;background:#f8fafc}.match-compare-row .num{text-align:right}.match-flow{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:15px}.match-flow span{padding:7px 10px;border:1px solid var(--border);border-radius:999px;background:#fff;font-size:11px}.matching-detail-footer{padding:11px 20px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;background:#fff}@media(max-width:900px){.matching-kpi-grid{grid-template-columns:repeat(2,1fr)}.matching-detail-grid{grid-template-columns:1fr}.matching-field-grid{grid-template-columns:1fr}.match-compare-row{min-width:760px}}


/* CSS block 21: id="v52-ap-modern-style" */

.ap-modern-head{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 12px}.ap-modern-head strong{font-size:16px}.ap-modern-head div div{font-size:12px;color:var(--text-muted);margin-top:3px}.ap-doc-link{border:0;background:transparent;padding:0;color:var(--primary);font:inherit;font-weight:700;cursor:pointer;text-align:left}.ap-doc-link:hover{text-decoration:underline}.ap-actions{display:flex;align-items:center;gap:6px;white-space:nowrap}.ap-more{position:relative}.ap-more-menu{display:none;position:absolute;right:0;top:34px;z-index:40;min-width:205px;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-lg);padding:5px}.ap-more.open .ap-more-menu{display:block}.ap-more-menu button{display:block;width:100%;border:0;background:#fff;padding:8px 10px;text-align:left;border-radius:6px;cursor:pointer;font:inherit;font-size:12px}.ap-more-menu button:hover{background:var(--surface-muted)}
#ap-detail-modal{align-items:center;justify-content:center;padding:18px}#ap-detail-modal .ap-detail-workspace{width:min(96vw,1500px);max-width:none;height:min(92vh,980px);max-height:92vh;padding:0;overflow:hidden;display:flex;flex-direction:column;border-radius:12px}.ap-detail-head{padding:14px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px}.ap-detail-head h3{margin:0;font-size:20px}.ap-detail-head small{display:block;color:var(--text-muted);margin-top:3px}.ap-detail-head-actions{margin-left:auto;display:flex;gap:8px}.ap-detail-tabs{display:flex;gap:18px;padding:0 20px;border-bottom:1px solid var(--border);overflow:auto}.ap-detail-tab{border:0;background:transparent;padding:12px 0;cursor:pointer;font:inherit;font-weight:600;color:var(--text-muted);white-space:nowrap}.ap-detail-tab.active{color:var(--primary);border-bottom:2px solid var(--primary)}.ap-detail-body{flex:1;overflow:auto;padding:16px 20px;background:var(--surface-muted)}.ap-detail-pane{display:none}.ap-detail-pane.active{display:block}.ap-detail-card{background:#fff;border:1px solid var(--border);border-radius:10px;margin-bottom:14px;overflow:hidden}.ap-detail-card h4{margin:0;padding:12px 15px;border-bottom:1px solid var(--border)}.ap-detail-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.ap-detail-field{padding:12px 15px;border-bottom:1px solid #eef2f7}.ap-detail-field label{display:block;font-size:11px;color:var(--text-muted);margin-bottom:4px}.ap-detail-related{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 15px;border-bottom:1px solid #eef2f7}.ap-detail-footer{padding:11px 20px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;background:#fff}


/* CSS block 22: id="v53-ap-payment-modern-style" */

.payment-modern-head{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 12px}.payment-modern-head strong{font-size:16px}.payment-modern-head>div>div{font-size:12px;color:var(--text-muted);margin-top:3px}.payment-kpis{margin-bottom:14px}.payment-doc-link{border:0;background:transparent;padding:0;color:var(--primary);font:inherit;font-weight:700;cursor:pointer;text-align:left}.payment-doc-link:hover{text-decoration:underline}.payment-actions{display:flex;align-items:center;gap:6px;white-space:nowrap}.payment-more{position:relative}.payment-more-menu{display:none;position:absolute;right:0;top:34px;z-index:45;min-width:220px;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-lg);padding:5px}.payment-more.open .payment-more-menu{display:block}.payment-more-menu button{display:block;width:100%;border:0;background:#fff;padding:8px 10px;text-align:left;border-radius:6px;cursor:pointer;font:inherit;font-size:12px}.payment-more-menu button:hover{background:var(--surface-muted)}
#payment-detail-modal{align-items:center;justify-content:center;padding:18px}#payment-detail-modal .payment-detail-workspace{width:min(96vw,1500px);max-width:none;height:min(92vh,980px);max-height:92vh;padding:0;overflow:hidden;display:flex;flex-direction:column;border-radius:12px}.payment-detail-head{padding:14px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px}.payment-detail-head h3{margin:0;font-size:20px}.payment-detail-head small{display:block;color:var(--text-muted);margin-top:3px}.payment-detail-head-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.payment-detail-tabs{display:flex;gap:18px;padding:0 20px;border-bottom:1px solid var(--border);overflow:auto}.payment-detail-tab{border:0;background:transparent;padding:12px 0;cursor:pointer;font:inherit;font-weight:600;color:var(--text-muted);white-space:nowrap}.payment-detail-tab.active{color:var(--primary);border-bottom:2px solid var(--primary)}.payment-detail-body{flex:1;overflow:auto;padding:16px 20px;background:var(--surface-muted)}.payment-detail-pane{display:none}.payment-detail-pane.active{display:block}.payment-detail-card{background:#fff;border:1px solid var(--border);border-radius:10px;margin-bottom:14px;overflow:hidden}.payment-detail-card h4{margin:0;padding:12px 15px;border-bottom:1px solid var(--border)}.payment-detail-info{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.payment-detail-field{padding:12px 15px;border-right:1px solid #eef2f7;border-bottom:1px solid #eef2f7}.payment-detail-field label{display:block;font-size:11px;color:var(--text-muted);margin-bottom:4px}.payment-detail-related{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 15px;border-bottom:1px solid #eef2f7}.payment-detail-footer{padding:11px 20px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;background:#fff}.payment-flow{display:flex;gap:8px;flex-wrap:wrap;padding:15px}.payment-flow span{padding:7px 10px;border-radius:999px;background:#f1f5f9;border:1px solid var(--border);font-size:11px}.payment-flow span.done{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.payment-flow span.current{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8;font-weight:700}
@media(max-width:900px){#payment-detail-modal{padding:0}#payment-detail-modal .payment-detail-workspace{width:100vw;height:100vh;max-height:none;border-radius:0}.payment-detail-info{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-detail-head,.payment-detail-footer{padding-left:14px;padding-right:14px}.payment-detail-body{padding:12px}}


/* CSS block 23: unnamed */

/* V54 — Bank Reconciliation + AP Month-End refinement */
.bank-v54-doc{border:0;background:transparent;color:var(--primary);font:inherit;font-weight:700;cursor:pointer;padding:0;text-align:left}
.bank-v54-doc:hover{text-decoration:underline}
.bank-v54-actions{display:flex;gap:6px;align-items:center;white-space:nowrap}
.bank-v54-menu{position:relative;display:inline-block}.bank-v54-menu>button{font-size:18px;line-height:1}
.bank-v54-menu-box{display:none;position:absolute;right:0;top:34px;z-index:80;min-width:210px;padding:6px;background:#fff;border:1px solid var(--border);border-radius:9px;box-shadow:var(--shadow-lg)}
.bank-v54-menu.open .bank-v54-menu-box{display:block}.bank-v54-menu-box button{display:block;width:100%;padding:8px 10px;border:0;background:transparent;text-align:left;border-radius:6px;cursor:pointer;font:inherit;font-size:12px}.bank-v54-menu-box button:hover{background:var(--surface-muted)}
#bank-v54-detail-modal .modal{width:min(94vw,1080px);max-width:1080px;padding:0;overflow:hidden}#bank-v54-detail-modal .bank-v54-head{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border)}#bank-v54-detail-modal .bank-v54-head .spacer{flex:1}.bank-v54-body{padding:18px 20px;max-height:75vh;overflow:auto;background:var(--surface-muted)}.bank-v54-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#fff;border:1px solid var(--border);border-radius:10px;overflow:hidden}.bank-v54-field{padding:12px 14px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.bank-v54-field label{display:block;font-size:11px;color:var(--text-muted);margin-bottom:4px}.bank-v54-field strong{overflow-wrap:anywhere}.bank-v54-section{margin-top:14px;background:#fff;border:1px solid var(--border);border-radius:10px;padding:14px}.ap-close-v54-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.ap-close-v54-card{padding:12px 14px;background:#fff;border:1px solid var(--border);border-radius:9px}.ap-close-v54-card span{display:block;font-size:11px;color:var(--text-muted)}.ap-close-v54-card strong{display:block;margin-top:3px;font-size:18px}
@media(max-width:900px){.bank-v54-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ap-close-v54-summary{grid-template-columns:1fr 1fr}}


/* CSS block 24: id="payment-v58-print-style" */

#payment-print-sheet{display:none}
@media print{
  @page{size:A4 portrait;margin:10mm}
  body.printing-payment > *:not(#payment-print-sheet){display:none!important}
  body.printing-payment{margin:0;background:#fff;color:#111827;font-family:"Sarabun","Noto Sans Thai",Arial,sans-serif}
  body.printing-payment #payment-print-sheet{display:block!important;width:190mm;min-height:277mm;margin:0 auto;background:#fff;font-size:11px;line-height:1.45}
  body.printing-payment .qprint-header{display:grid;grid-template-columns:1fr 72mm;gap:8mm;padding-bottom:5mm;border-bottom:2px solid #1d4ed8}
  body.printing-payment .qprint-brand h1{margin:0 0 1mm;color:#1d4ed8;font-size:20px}
  body.printing-payment .qprint-brand .en{font-size:10px;color:#64748b;margin-bottom:2mm}
  body.printing-payment .qprint-title{text-align:right}
  body.printing-payment .qprint-title h2{margin:0;font-size:22px;color:#0f172a}
  body.printing-payment .qprint-title .subtitle{font-size:11px;color:#64748b;margin-bottom:3mm}
  body.printing-payment .qprint-doc-row{display:grid;grid-template-columns:30mm 1fr;border-bottom:1px solid #cbd5e1;padding:1mm 0}
  body.printing-payment .qprint-doc-row span:first-child{color:#64748b}
  body.printing-payment .qprint-info{display:grid;grid-template-columns:1.3fr .7fr;gap:5mm;margin:5mm 0}
  body.printing-payment .qprint-card{border:1px solid #cbd5e1;border-radius:2mm;overflow:hidden}
  body.printing-payment .qprint-card-title{background:#eff6ff!important;color:#1e3a8a;font-weight:700;padding:2mm 3mm;border-bottom:1px solid #cbd5e1;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body.printing-payment .qprint-card-body{padding:3mm;min-height:21mm}
  body.printing-payment .qprint-grid{display:grid;grid-template-columns:30mm 1fr;gap:1mm 2mm}
  body.printing-payment .qprint-label{color:#64748b}
  body.printing-payment .qprint-table{width:100%;border-collapse:collapse;margin-top:3mm}
  body.printing-payment .qprint-table th{background:#1e3a8a!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact;padding:2.5mm 2mm;border:1px solid #1e3a8a;font-size:10px}
  body.printing-payment .qprint-table td{padding:2.5mm 2mm;border:1px solid #cbd5e1;vertical-align:top}
  body.printing-payment .qprint-table .num{text-align:right;white-space:nowrap}
  body.printing-payment .qprint-table .center{text-align:center}
  body.printing-payment .qprint-bottom{display:grid;grid-template-columns:1fr 72mm;gap:6mm;margin-top:4mm;break-inside:avoid}
  body.printing-payment .qprint-note{border:1px solid #cbd5e1;border-radius:2mm;padding:3mm;min-height:32mm}
  body.printing-payment .qprint-note b{display:block;margin-bottom:2mm}
  body.printing-payment .qprint-summary{border-collapse:collapse;width:100%}
  body.printing-payment .qprint-summary td{padding:1.5mm 2mm;border-bottom:1px solid #e2e8f0}
  body.printing-payment .qprint-summary td:last-child{text-align:right;white-space:nowrap}
  body.printing-payment .qprint-summary .grand td{color:#1e3a8a;font-size:14px;font-weight:700;border-top:2px solid #1e3a8a;border-bottom:0;padding-top:2.5mm}
  body.printing-payment .qprint-signatures{display:grid;grid-template-columns:repeat(4,1fr);gap:7mm;margin-top:15mm;break-inside:avoid}
  body.printing-payment .qprint-signature{text-align:center;border-top:1px solid #64748b;padding-top:2mm}
  body.printing-payment .qprint-footer{margin-top:7mm;padding-top:2mm;border-top:1px solid #cbd5e1;color:#64748b;display:flex;justify-content:space-between;font-size:9px}
}


/* CSS block 25: id="p2p-related-v62-style" */

.p2p-related-strip{margin:12px 0;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
.p2p-related-strip h4{margin:0 0 9px}
.p2p-related-flow{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.p2p-related-doc{border:1px solid var(--border);background:var(--surface);border-radius:9px;padding:7px 9px;cursor:pointer;text-align:left}
.p2p-related-doc:hover{border-color:var(--primary);background:var(--primary-soft)}
.p2p-related-doc small{display:block;color:var(--text-muted);font-size:9px}.p2p-related-doc strong{font-size:11px}
.p2p-related-arrow{color:var(--text-muted);font-size:12px}


/* CSS block 26: id="purchase-adjustment-v63-style" */

.padj-link{color:var(--primary);cursor:pointer;text-decoration:none}.padj-link:hover{text-decoration:underline}
.padj-credit{font-size:10px;color:var(--warning,#b7791f);font-weight:700}


/* CSS block 27: id="purchase-wht-v64-style" */

.wht-v64-tabs{display:flex;gap:6px;margin:0 0 12px}.wht-v64-tabs button.active{background:var(--primary);color:#fff}
.wht-v64-link{cursor:pointer;color:var(--primary)}.wht-v64-history{margin-top:14px}
@media print{
 body.printing-wht-cert *{visibility:hidden!important}
 body.printing-wht-cert #wht-v64-print-sheet,body.printing-wht-cert #wht-v64-print-sheet *{visibility:visible!important}
 body.printing-wht-cert #wht-v64-print-sheet{display:block!important;position:absolute;left:0;top:0;width:210mm;min-height:297mm;margin:0;padding:12mm;background:#fff}
}


/* CSS block 28: id="bank-pv-v65-style" */

.bank-pv-v65-link{border:0;background:transparent;padding:0;color:var(--primary);font:inherit;font-weight:700;cursor:pointer;text-align:left}
.bank-pv-v65-link:hover{text-decoration:underline}.bank-pv-v65-card{margin-top:12px}


/* CSS block 29: id="ap-close-v66-style" */

.ap-close-v66-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ap-close-v66-lock{font-size:11px;color:var(--text-muted);margin-top:6px}
.ap-close-v66-doc{border:0;background:transparent;color:var(--primary);font:inherit;font-weight:700;cursor:pointer;padding:0}.ap-close-v66-doc:hover{text-decoration:underline}


/* CSS block 30: id="p2p-e2e-v67-style" */

#p2p-e2e-v67{margin-top:12px}.e2e-v67-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0}
.e2e-v67-step{border:1px solid var(--border);border-radius:10px;padding:10px;background:var(--surface)}
.e2e-v67-step.pass{border-left:4px solid var(--success)}.e2e-v67-step.fail{border-left:4px solid var(--danger)}.e2e-v67-step.warn{border-left:4px solid var(--warning)}
.e2e-v67-step small{display:block;color:var(--text-muted);margin-top:4px}.e2e-v67-result{font-weight:800}


/* CSS block 31: id="wht-rd-v68-style" */

@media print{
 body.printing-wht-cert #wht-v64-print-sheet{padding:5mm!important;width:210mm!important;min-height:297mm!important;font-family:"Tahoma","Noto Sans Thai",sans-serif!important;color:#000!important}
}
.wht68{font-family:"Tahoma","Noto Sans Thai",sans-serif;font-size:8.5px;line-height:1.2;color:#000;background:#fff}
.wht68 *{box-sizing:border-box}.wht68 .copies{font-size:8px;margin:0 0 2mm 2mm}.wht68 .outer{border:1.4px solid #000;border-radius:2px;padding:2.2mm}
.wht68 .title{position:relative;text-align:center;padding:0 28mm 1.5mm}.wht68 .title h1{font-size:14px;margin:0;font-weight:700}.wht68 .title div{font-size:9px}
.wht68 .book{position:absolute;right:0;top:0;width:28mm;text-align:left;line-height:1.6}
.wht68 .party{border:1px solid #000;border-radius:5px;padding:1.5mm 2mm;margin-bottom:1.2mm;min-height:22mm}
.wht68 .party-top{display:grid;grid-template-columns:1fr 70mm;gap:2mm}.wht68 .line{border-bottom:1px dotted #777;min-height:4mm;padding:0 1mm}
.wht68 .taxrow{display:flex;align-items:center;gap:1mm;margin-bottom:1mm}.wht68 .taxboxes{display:flex;gap:.4mm}.wht68 .taxboxes i{display:inline-flex;width:4.2mm;height:4.2mm;border:1px solid #000;align-items:center;justify-content:center;font-style:normal;font-size:8px}
.wht68 .subnote{font-size:6.8px;color:#222;margin-left:8mm}.wht68 .filing{border:1px solid #000;border-radius:5px;padding:1.2mm 2mm;margin-bottom:1.2mm;display:grid;grid-template-columns:52mm 1fr;gap:2mm;align-items:center}
.wht68 .checks{display:flex;flex-wrap:wrap;gap:1.5mm 5mm}.wht68 .check{display:inline-flex;align-items:center;gap:1mm}.wht68 .box{width:4mm;height:4mm;border:1px solid #000;display:inline-flex;align-items:center;justify-content:center;font-weight:bold}
.wht68 table{width:100%;border-collapse:collapse}.wht68 .income th,.wht68 .income td{border:1px solid #000;padding:1mm;vertical-align:top}.wht68 .income th{text-align:center;font-size:8px}
.wht68 .income .desc{width:55%}.wht68 .income .date{width:14%}.wht68 .income .amt{width:16%}.wht68 .income .tax{width:15%}
.wht68 .income td{height:5mm}.wht68 .income .long{height:48mm;line-height:1.35}.wht68 .rd-lines{font-size:7.6px}
.wht68 .sumrow td{font-weight:700}.wht68 .words{display:grid;grid-template-columns:35mm 1fr;border:1px solid #000;border-top:0;min-height:6mm}.wht68 .words>div{padding:1mm}
.wht68 .funds{border:1px solid #000;border-top:0;padding:1mm;font-size:7.3px}.wht68 .payer{border:1px solid #000;border-top:0;padding:1mm;display:flex;gap:4mm;align-items:center;flex-wrap:wrap}
.wht68 .bottom{display:grid;grid-template-columns:43% 57%;border:1px solid #000;border-top:0;min-height:22mm}.wht68 .warning{padding:2mm;border-right:1px solid #000}.wht68 .certify{padding:2mm;text-align:center}
.wht68 .signature{margin:4mm auto 1mm;border-bottom:1px dotted #000;width:55mm;height:4mm}.wht68 .stamp{float:right;width:20mm;font-size:7px}
.wht68 .footnote{font-size:6.7px;line-height:1.25;margin-top:1.5mm}.wht68 .num{text-align:right;white-space:nowrap}.wht68 .center{text-align:center}


/* CSS block 32: id="wht-rd-v69-full-a4" */

/* V69: make the RD WHT certificate occupy the A4 page like the official reference. */
@media print{
 @page{size:A4 portrait;margin:5mm!important}
 body.printing-wht-cert{margin:0!important;padding:0!important;background:#fff!important}
 body.printing-wht-cert #wht-v64-print-sheet{
   position:static!important;left:auto!important;top:auto!important;
   width:200mm!important;min-height:287mm!important;height:auto!important;
   margin:0 auto!important;padding:0!important;overflow:visible!important;
   transform:none!important;zoom:1!important;
 }
 body.printing-wht-cert #wht-v64-print-sheet .wht68{width:200mm!important;min-height:286mm!important}
}
.wht68{font-size:9.7px!important;line-height:1.27!important;width:200mm;margin:0 auto}
.wht68 .copies{font-size:8.7px!important;line-height:1.35!important;margin:0 0 1.8mm 1mm!important}
.wht68 .outer{padding:2mm!important;border-width:1.2px!important;min-height:266mm!important}
.wht68 .title{padding:0 31mm 1.6mm!important;min-height:12mm}
.wht68 .title h1{font-size:16px!important;line-height:1.2!important}
.wht68 .title div{font-size:9.5px!important}.wht68 .book{width:31mm!important;font-size:8.7px!important;line-height:1.55!important}
.wht68 .party{padding:1.5mm 2mm!important;margin-bottom:1.1mm!important;min-height:25mm!important}
.wht68 .party-top{grid-template-columns:1fr 76mm!important;gap:2.5mm!important}.wht68 .line{min-height:4.7mm!important;padding-top:.5mm!important}
.wht68 .taxrow{gap:1mm!important;margin-bottom:1.1mm!important;font-size:8.4px!important}.wht68 .taxboxes{gap:.35mm!important}
.wht68 .taxboxes i{width:4.45mm!important;height:4.45mm!important;font-size:8.6px!important}
.wht68 .subnote{font-size:7.2px!important;line-height:1.25!important}
.wht68 .filing{padding:1.5mm 2mm!important;margin-bottom:1.1mm!important;grid-template-columns:52mm 1fr!important;min-height:14mm!important}
.wht68 .checks{gap:1.4mm 5mm!important}.wht68 .check{font-size:8.6px!important}.wht68 .box{width:4.3mm!important;height:4.3mm!important}
.wht68 .income th,.wht68 .income td{padding:1.15mm!important}.wht68 .income th{font-size:9px!important;line-height:1.25!important;height:11mm!important;vertical-align:middle!important}
.wht68 .income .desc{width:55%!important}.wht68 .income .date{width:14%!important}.wht68 .income .amt{width:16%!important}.wht68 .income .tax{width:15%!important}
.wht68 .income .long{height:101mm!important;line-height:1.43!important}.wht68 .rd-lines{font-size:8.45px!important;line-height:1.43!important}
.wht68 .income tbody tr:not(:first-child):not(.sumrow) td{height:8mm!important;vertical-align:middle!important}
.wht68 .sumrow td{height:7mm!important;font-size:9.4px!important;vertical-align:middle!important}
.wht68 .words{grid-template-columns:42mm 1fr!important;min-height:7mm!important}.wht68 .words>div{padding:1.25mm!important}
.wht68 .funds{padding:1.2mm!important;min-height:7mm!important;font-size:7.8px!important;line-height:1.35!important}
.wht68 .payer{padding:1.2mm!important;min-height:8mm!important;gap:3mm!important;font-size:8.4px!important}
.wht68 .bottom{min-height:29mm!important}.wht68 .warning,.wht68 .certify{padding:2mm!important;font-size:8.2px!important;line-height:1.35!important}
.wht68 .signature{margin:5mm auto 1.2mm!important;width:62mm!important}.wht68 .stamp{width:22mm!important;font-size:7.2px!important}
.wht68 .footnote{font-size:7px!important;line-height:1.3!important;margin-top:1.5mm!important;padding:0 1mm!important}


/* CSS block 33: unnamed */

#page_dashboard.dashboard-v88{padding:24px 26px;background:linear-gradient(180deg,#f5f8fd 0%,#eef4fb 100%);min-height:100%;box-sizing:border-box}
.dash88-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.dash88-header h2{font-size:31px;letter-spacing:-.7px;margin:0;color:#102546}.dash88-sub{color:#60718a;font-size:14px;margin-top:3px}.dash88-date{display:inline-flex;gap:7px;align-items:center;color:#5f718a;font-size:12px;margin-top:12px}.dash88-banner{min-height:116px;border-radius:18px;background:linear-gradient(108deg,#ecf4ff 0%,#f8fbff 47%,#d6e8fb 100%);position:relative;overflow:hidden;padding:23px 32px;display:flex;align-items:center;justify-content:space-between;border:1px solid #dceafb}.dash88-banner:after{content:'🏭  🚚  🚚';font-size:57px;letter-spacing:2px;position:absolute;right:48px;bottom:5px;opacity:.62;filter:saturate(.8)}.dash88-quote{font-size:22px;font-weight:700;color:#26405f;line-height:1.35;text-align:center;margin-left:auto;margin-right:250px;position:relative;z-index:1}.dash88-weather{position:relative;z-index:2;background:rgba(255,255,255,.87);padding:17px 21px;border-radius:16px;box-shadow:0 7px 18px rgba(43,85,132,.1);min-width:116px;text-align:center;color:#17335b}.dash88-weather b{font-size:23px}.dash88-weather small{display:block;margin-top:3px;color:#71819a}.dash88-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:16px 0}.dash88-card{background:#fff;border:1px solid #e5edf7;border-radius:16px;padding:16px 17px;box-shadow:0 5px 16px rgba(30,68,110,.065);min-height:83px;position:relative}.dash88-card:before{content:attr(data-icon);display:grid;place-items:center;width:48px;height:48px;border-radius:14px;position:absolute;left:16px;top:17px;font-size:23px;color:white;background:linear-gradient(145deg,#2676ff,#1756dd);box-shadow:0 6px 12px rgba(39,111,238,.25)}.dash88-card.green:before{background:linear-gradient(145deg,#19c987,#05a86a)}.dash88-card.purple:before{background:linear-gradient(145deg,#ad67ff,#7840e5)}.dash88-card.orange:before{background:linear-gradient(145deg,#ffac31,#f17c12)}.dash88-card-content{padding-left:61px}.dash88-label{font-size:13px;color:#31445f;font-weight:700}.dash88-value{font-size:26px;font-weight:800;color:#112746;margin-top:5px;white-space:nowrap}.dash88-note{font-size:11px;color:#7788a0;margin-top:5px}.dash88-grid{display:grid;grid-template-columns:1.25fr 1.1fr .85fr;gap:14px;margin-top:14px}.dash88-panel{background:#fff;border:1px solid #e5edf7;border-radius:16px;box-shadow:0 5px 16px rgba(30,68,110,.055);overflow:hidden}.dash88-panel h3{margin:0;font-size:16px;color:#1b314f}.dash88-panel-head{display:flex;justify-content:space-between;align-items:center;padding:16px 17px 9px}.dash88-link{border:0;background:transparent;color:#2676ff;font-weight:700;font-size:12px;cursor:pointer}.dash88-bars{height:196px;padding:12px 20px 15px;display:flex;align-items:flex-end;gap:15px;border-bottom:1px solid #edf1f6;margin:0 16px}.dash88-bar-wrap{display:flex;flex:1;min-width:0;align-items:center;flex-direction:column;gap:6px;height:100%;justify-content:flex-end}.dash88-bar{width:100%;max-width:47px;background:linear-gradient(180deg,#7db7ff,#3b80e7);border-radius:7px 7px 2px 2px;min-height:4px}.dash88-bar-wrap span{font-size:11px;color:#71819a}.dash88-legend{padding:10px 20px 14px;text-align:center;font-size:12px;color:#6380a1}.dash88-donut-row{display:flex;align-items:center;justify-content:center;gap:22px;padding:16px 15px 20px}.dash88-donut{width:148px;height:148px;border-radius:50%;background:conic-gradient(#397ff0 0 var(--a),#16b977 var(--a) var(--b),#ffb12e var(--b) 100%);position:relative}.dash88-donut:after{content:attr(data-total);position:absolute;inset:27px;background:#fff;border-radius:50%;display:grid;place-items:center;text-align:center;white-space:pre-line;font-size:13px;font-weight:800;color:#1b3151}.dash88-legend-list{display:grid;gap:10px;font-size:12px;color:#435673}.dash88-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:7px}.dash88-docs{padding:0 17px 12px}.dash88-doc{display:flex;align-items:center;gap:9px;padding:8px 0;border-bottom:1px solid #eef2f6;font-size:12px;color:#364a67}.dash88-doc:last-child{border-bottom:0}.dash88-doc i{font-style:normal;font-size:16px}.dash88-count{margin-left:auto;border-radius:20px;padding:2px 10px;background:#edf4ff;color:#2468d8;font-weight:800}.dash88-lower{display:grid;grid-template-columns:1.05fr 1.2fr .8fr;gap:14px;margin-top:14px}.dash88-table{padding:0 16px 14px}.dash88-table table{width:100%;border-collapse:collapse;font-size:12px}.dash88-table th{background:#f4f7fb;color:#61728b;text-align:left;padding:8px;font-weight:700}.dash88-table td{padding:9px 8px;border-bottom:1px solid #edf1f6;color:#31435e}.dash88-table tr:last-child td{border-bottom:0}.dash88-alerts{padding:0 17px 14px}.dash88-alert{display:flex;gap:9px;padding:10px 0;border-bottom:1px solid #eef2f6;font-size:12px;color:#41516b}.dash88-alert:last-child{border-bottom:0}.dash88-finance{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.dash88-fin{background:rgba(255,255,255,.8);border:1px solid #e3ebf6;border-radius:13px;padding:12px 14px}.dash88-fin span{display:block;color:#718199;font-size:11px}.dash88-fin strong{font-size:16px;color:#18365d;margin-top:5px;display:block}@media(max-width:1180px){.dash88-grid,.dash88-lower{grid-template-columns:1fr 1fr}.dash88-grid>.dash88-panel:last-child,.dash88-lower>.dash88-panel:last-child{grid-column:span 2}.dash88-quote{margin-right:160px}}@media(max-width:760px){#page_dashboard.dashboard-v88{padding:16px}.dash88-kpis,.dash88-finance,.dash88-grid,.dash88-lower{grid-template-columns:1fr}.dash88-grid>.dash88-panel:last-child,.dash88-lower>.dash88-panel:last-child{grid-column:auto}.dash88-banner{padding:18px}.dash88-quote{font-size:17px;margin:0}.dash88-banner:after{display:none}.dash88-weather{display:none}.dash88-header h2{font-size:25px}}


/* CSS block 34: id="receipt-tax-invoice-page-alignment" */

  #page_sales.sales-document-focus .page-header h2 { margin-bottom: 4px; }
  #page_sales.sales-document-focus .page-header [data-sales-document-subtitle] { color: var(--text-muted); }
  #page_sales.sales-document-focus #option-a-merged .primary-actions { gap: 8px; }


/* CSS block 35: id="deposit-receipt-print-color" */

  /* ใบรับเงินมัดจำใช้สีม่วงเข้ม แยกจากเอกสารขายประเภทอื่น */
  body.printing-deposit .qprint-header { border-bottom-color:#7e22ce; }
  body.printing-deposit .qprint-brand h1 { color:#7e22ce; }
  body.printing-deposit .qprint-title h2 { color:#6b21a8; }
  body.printing-deposit .qprint-card { border-color:#d8b4fe; }
  body.printing-deposit .qprint-card-title { background:#faf5ff !important;color:#6b21a8 !important;border-bottom-color:#d8b4fe;-webkit-print-color-adjust:exact;print-color-adjust:exact; }
  body.printing-deposit .qprint-table th { background:#7e22ce !important;border-color:#7e22ce !important;-webkit-print-color-adjust:exact;print-color-adjust:exact; }
  body.printing-deposit .qprint-summary .grand td { color:#6b21a8;border-top-color:#7e22ce; }
  body.printing-deposit .qprint-amount-text { background:#faf5ff !important;color:#581c87;-webkit-print-color-adjust:exact;print-color-adjust:exact; }


/* CSS block 36: id="crf-tabs-style-v42" */

.crf-tabs-v42{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 0;padding:0 0 10px;border-bottom:1px solid var(--border,#dbe1e8)}
.crf-tab-v42{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--border,#dbe1e8);border-radius:7px;background:var(--surface,#fff);color:var(--text,#1f2937);font:inherit;cursor:pointer}
.crf-tab-v42:hover{border-color:var(--primary,#2563eb)}.crf-tab-v42.is-active{background:var(--primary,#2563eb);border-color:var(--primary,#2563eb);color:#fff}
.crf-tab-count-v42{min-width:20px;padding:1px 6px;border-radius:99px;background:rgba(127,127,127,.16);font-size:11px;text-align:center}.crf-tab-v42.is-active .crf-tab-count-v42{background:rgba(255,255,255,.2)}
.crf-tab-panel-v42[hidden]{display:none!important}


/* CSS block 37: id="delivery-tabs-style-v43" */

.db-tabs-v43{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 0;padding:0 0 10px;border-bottom:1px solid var(--border,#dbe1e8)}
.db-tab-v43{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--border,#dbe1e8);border-radius:7px;background:var(--surface,#fff);color:var(--text,#1f2937);font:inherit;cursor:pointer}
.db-tab-v43:hover{border-color:var(--primary,#2563eb)}.db-tab-v43.is-active{background:var(--primary,#2563eb);border-color:var(--primary,#2563eb);color:#fff}
.db-tab-count-v43{min-width:20px;padding:1px 6px;border-radius:99px;background:rgba(127,127,127,.16);font-size:11px;text-align:center}.db-tab-v43.is-active .db-tab-count-v43{background:rgba(255,255,255,.2)}
.db-tab-panel-v43[hidden]{display:none!important}.db-pagebar-v43{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding:10px 12px;border-top:1px solid var(--border,#e5e7eb);font-size:12px;color:var(--text-muted,#64748b)}.db-pagebar-v43 select{padding:5px 7px;border:1px solid var(--border,#d1d5db);border-radius:6px;background:var(--surface,#fff);color:var(--text,#1f2937)}.db-pagebar-v43 button{padding:5px 10px;border:1px solid var(--border,#d1d5db);border-radius:6px;background:var(--surface,#fff);color:var(--text,#1f2937);cursor:pointer}.db-pagebar-v43 button:disabled{opacity:.45;cursor:default}


/* CSS block 38: id="v80-document-print-style" */

  #v80-document-print-sheet{display:none}
  @media print{
    body.v80-document-print > *:not(#v80-document-print-sheet){display:none!important}
    body.v80-document-print #v80-document-print-sheet{display:block!important;background:white;color:#172033;width:190mm;margin:0 auto;font:12px/1.55 "Sarabun",Arial,sans-serif}
    #v80-document-print-sheet header{border-bottom:2px solid #175d71;padding-bottom:12px;display:flex;justify-content:space-between;gap:24px}
    #v80-document-print-sheet h1{font-size:18px;margin:0}#v80-document-print-sheet h2{font-size:20px;margin:0;text-align:right}
    #v80-document-print-sheet .v80-meta{margin:16px 0;display:grid;grid-template-columns:1fr 1fr;gap:7px 20px}
    #v80-document-print-sheet table{width:100%;border-collapse:collapse;margin:10px 0}
    #v80-document-print-sheet th,#v80-document-print-sheet td{padding:7px;border:1px solid #cbd5e1;text-align:left;vertical-align:top}
    #v80-document-print-sheet th{background:#edf5f7!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
    #v80-document-print-sheet .v80-num{text-align:right}#v80-document-print-sheet .v80-sign{display:flex;justify-content:space-between;margin-top:48px;gap:16px}#v80-document-print-sheet .v80-sign span{width:32%;text-align:center;border-top:1px solid #64748b;padding-top:8px}
    #v80-document-print-sheet tr{break-inside:avoid} @page{size:A4;margin:12mm}
  }

