/* RS-IN /index2 only. Keep all business colors, colgroups and user resizing intact. */
body[data-erp-design] {
  --pv-navy: #102a43; --pv-blue: #2563eb; --pv-ink: #20354d; --pv-muted: #6d8095;
  --pv-border: #dde5ee; --pv-bg: #f2f5fa; --pv-radius: 12px;
  --rs-page-gap: 16px; --rs-card-radius: 12px; --rs-card-border: var(--pv-border);
  --sidebar-width: 228px; --studio-sidebar-width: 228px;
  --line: #dde5ee; --ink: #20354d; --muted: #6d8095;
  --table-header-bg: #183d60; --page-table-header-bg: #183d60;
  --studio-topbar-height: 68px; --topbar-height: 68px;
  font-family: "Pretendard", "Segoe UI", "Malgun Gothic", sans-serif;
  background: var(--pv-bg); color: var(--pv-ink); font-size: 13px;
  font-variant-numeric: tabular-nums; letter-spacing: -.015em;
}
[data-erp-design] [hidden] { display: none !important; }
[data-erp-design] *, [data-erp-design] *::before, [data-erp-design] *::after { box-sizing: border-box; }
[data-erp-design] button, [data-erp-design] input, [data-erp-design] select, [data-erp-design] textarea { font-family: inherit; }
[data-erp-design] button { letter-spacing: -.015em; }
[data-erp-design] button:focus-visible, [data-erp-design] a:focus-visible {
  outline: 3px solid #68a6ff !important; outline-offset: 3px;
}
[data-erp-design] :is(input,select,textarea):focus { border-color: #4e89ee !important; box-shadow: 0 0 0 3px #2563eb14 !important; outline: none; }
[data-erp-design] input::placeholder, [data-erp-design] textarea::placeholder { color: #8e9aab; font-weight: 400; }
[data-erp-design] input[type="checkbox"] { accent-color: #2563eb; flex: 0 0 auto; }

/* Persistent shell. The preview strip is deliberately compact. */
[data-erp-design] .erp-view { background: var(--pv-bg); }
[data-erp-design] .sidebar {
  background: #102a43 !important; color: #e2ebf5;
  border-right: 1px solid #173550; box-shadow: none !important;
}
[data-erp-design] .sidebar-logo {
  height: 76px; min-height: 76px; display: flex; align-items: center;
  justify-content: center !important; text-align: center; padding: 0 16px;
  font-size: 28px; letter-spacing: -.055em; border-bottom: 1px solid #ffffff0e;
}
[data-erp-design] .sidebar-logo span { color: #76a9ff; }
[data-erp-design] .menu-list { padding: 10px 10px 32px; }
[data-erp-design] .menu-parent { min-height: 42px; padding: 0 12px; border-radius: 9px; font-size: 13px; font-weight: 600; color: #c4d3e4; }
[data-erp-design] .menu-parent > .menu-icon { width: 20px; height: 20px; flex-basis: 20px; color: #9fb9d5; }
[data-erp-design] .menu-parent > .menu-icon svg { width: 20px; height: 20px; stroke-width: 1.65; }
/* Vendor originals: keep the approved 64 x 32 slot without changing other menu icons. */
#menuList .vendor-menu-group > .menu-parent { min-height:44px; gap:10px; padding:6px 10px; }
#menuList .menu-parent > .vendor-menu-icon { width:64px; height:32px; flex:0 0 64px; display:inline-flex; align-items:center; justify-content:center; padding:2px 4px; border-radius:6px; overflow:hidden; background:#fff; }
#menuList .menu-parent > .vendor-menu-icon-dark { background:#183d60; }
#menuList .vendor-menu-icon img { display:block; width:auto; height:auto; max-width:100%; max-height:28px; object-fit:contain; }
@media(max-width:820px){body.mobile-app-shell #menuList .vendor-menu-group > .menu-parent{min-height:56px;padding:10px 13px;}}
[data-erp-design] .menu-parent:hover { background: #ffffff0a !important; }
[data-erp-design] .menu-group.is-open > .menu-parent,
[data-erp-design] .menu-parent.active { background: #244463 !important; box-shadow: none !important; color: #fff; }
[data-erp-design] .submenu { padding: 5px 4px 9px 26px; }
[data-erp-design] .submenu::before { left: 20px; background: #54738f44; }
[data-erp-design] .menu-item { height: 34px; min-height: 34px; font-size: 12px; border-radius: 7px; padding-left: 16px; color: #b6c9dc; }
[data-erp-design] .menu-item.active { background: #2563eb !important; box-shadow: 0 3px 9px #06172920; color: #fff; }
[data-erp-design] .menu-item:not(.active):hover { background: #ffffff0a !important; }
/* Mobile cards keep the dark selected backgrounds, with matching light labels. */
@media (max-width: 820px) {
  body.mobile-app-shell[data-erp-design] .menu-group.is-open > .menu-parent,
  body.mobile-app-shell[data-erp-design] .menu-parent.active {
    background: #244463 !important; color: #fff !important;
  }
  body.mobile-app-shell[data-erp-design] .menu-group.is-open > .menu-parent > :is(.menu-icon, b),
  body.mobile-app-shell[data-erp-design] .menu-parent.active > :is(.menu-icon, b) { color: #e4efff; }
  body.mobile-app-shell[data-erp-design] .menu-item.active {
    background: #2563eb !important; color: #fff !important;
  }
  body.mobile-app-shell[data-erp-design] .menu-item.active::before {
    background: #fff; box-shadow: 0 0 0 3px #ffffff26;
  }
}
[data-erp-design] .menu-section-divider { color: #8da9c3; letter-spacing: .06em; font-size: 10px; margin-top: 14px; border-color: #ffffff14; }
[data-erp-design] .topbar {
  height: 68px !important; min-height: 68px !important; padding: 0 24px !important;
  position: sticky; top: 0; z-index: 90;
  background: linear-gradient(110deg, #143653 0%, #1b4c75 70%, #215c86 100%) !important; color: #fff !important;
  border-bottom: 1px solid #244f73; box-shadow: 0 2px 8px #17385b12 !important;
}
[data-erp-design] .topbar-left { gap: 15px; min-width: 0; }
[data-erp-design] #pageTitle { color: #fff !important; gap: 9px; font-size: 21px; letter-spacing: -.045em; white-space: nowrap; }
[data-erp-design] #pageTitle .page-title-current { color: #fff !important; }
[data-erp-design] #pageTitle .page-title-context { display: inline-flex; align-items: center; gap: 8px; color: #e4efff !important; background: #ffffff12 !important; border: 1px solid #ffffff30; border-radius: 6px; font-size: 14px; font-weight: 700; line-height: 1.2; padding: 6px 10px; }
[data-erp-design] #pageTitle .page-title-vendor { padding: 3px 10px 3px 3px; }
[data-erp-design] .page-title-logo { width: 56px; height: 28px; flex: 0 0 56px; display: inline-flex; align-items: center; justify-content: center; padding: 2px 4px; border-radius: 4px; background: #fff; overflow: hidden; }
[data-erp-design] .page-title-logo-dark { background: #183d60; }
[data-erp-design] .page-title-logo img { display: block; width: auto; height: auto; max-width: 100%; max-height: 24px; object-fit: contain; }
[data-erp-design] .page-title-separator { color: #a8c5df !important; }
[data-erp-design] .topbar-right { gap: 10px; }
[data-erp-design] .topbar :is(.notification-button,.icon-button,.logout-button) {
  color: #f1f7ff !important; background: #ffffff0d !important; border: 1px solid #ffffff38 !important;
  border-radius: 9px; box-shadow: none; height: 35px; min-height: 35px;
}
[data-erp-design] .topbar .notification-button { width: 35px; }
[data-erp-design] .topbar :is(.notification-button,.icon-button,.logout-button):hover { background: #ffffff22 !important; color: #fff !important; }
[data-erp-design] .account-box strong { color: #fff !important; font-size: 12px; }
[data-erp-design] .account-box span { color: #c7daec !important; font-size: 10px; }
[data-erp-design] .topbar .avatar { width: 35px; height: 35px; border: 2px solid #e5edf7; box-shadow: none; }
[data-erp-design] .topbar .avatar.mypage-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  width: auto; flex: 0 0 auto; min-height: 35px; padding: 0 10px;
  border: 1px solid #ffffff50; border-radius: 9px; background: #ffffff12;
  color: #fff; box-shadow: none; font-size: 12px; font-weight: 600;
  line-height: 1; white-space: nowrap; cursor: pointer;
}
[data-erp-design] .topbar .mypage-button svg { width: 20px; height: 20px; flex: 0 0 20px; }
[data-erp-design] .topbar .mypage-button:hover { background: #ffffff25; border-color: #ffffff80; }
[data-erp-design].mypage-mode .topbar .mypage-button { background: #ffffff25; border-color: #ffffff80; }
[data-erp-design] .logout-button { padding: 0 11px; font-size: 11px; font-weight: 600; white-space: nowrap; }
[data-erp-design] .content { padding: 18px 22px 24px !important; background: var(--pv-bg) !important; min-width: 0; }
[data-erp-design] .page-actions:has(.action-buttons:empty),
[data-erp-design] .page-actions:not(:has(button:not([hidden]))) { display: none !important; }
[data-erp-design] .pv-review-bar {
  display: flex; align-items: center; gap: 10px; min-height: 32px; margin: -18px -22px 16px; padding: 6px 22px;
  color: #6c7f94; background: #edf3fc; border-bottom: 1px solid #dce6f4; font-size: 11px;
}
[data-erp-design] .pv-review-bar > b { display: inline-flex; align-items: center; gap: 6px; color: #285699; font-size: 10px; letter-spacing: .04em; }
[data-erp-design] .pv-review-bar > b::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: #5089e8; }
[data-erp-design] .pv-review-bar > span { flex: 1; }
[data-erp-design] .pv-review-bar a, [data-erp-design] .pv-review-bar button { color: #42678e; background: none; border: 0; padding: 0; cursor: pointer; font-size: 11px; text-decoration: none; white-space: nowrap; }
[data-erp-design] .pv-review-bar a:hover, [data-erp-design] .pv-review-bar button:hover { color: #2563eb; }
[data-erp-design] .pv-menu-search {
  display: flex; align-items: center; gap: 9px; margin: 14px 16px 3px; padding: 9px 10px;
  border: 1px solid #49637b66; border-radius: 7px; color: #a9c0d7; background: #163550; width: calc(100% - 32px);
  font-size: 11px; text-align: left; cursor: pointer;
}
[data-erp-design] .pv-menu-search svg { width: 15px; height: 15px; }
[data-erp-design] .pv-menu-search kbd { margin-left: auto; color: #869fb8; font-size: 9px; border: 1px solid #6684a544; padding: 1px 4px; border-radius: 3px; }

/* Consistent input sizing without overriding checkbox or table column widths. */
[data-erp-design] :is(.primary-action,.dark-action,.secondary-action,.danger-action,.row-action) {
  min-height: 34px !important; height: auto; border-radius: 7px !important;
  padding: 7px 13px; line-height: 1.3 !important; font-size: 12px; font-weight: 600;
  white-space: nowrap !important; word-break: keep-all !important; flex-shrink: 0;
  text-shadow: none; box-shadow: none; transition: background-color .12s, border-color .12s;
}
[data-erp-design] :is(.primary-action,.dark-action) { background: #1e56b6; border: 1px solid #1e56b6; color: #fff; }
[data-erp-design] :is(.primary-action,.dark-action):hover { background: #194b9f; }
[data-erp-design] .secondary-action { background: #fff; color: #405b78; border: 1px solid #d8e2ed; }
[data-erp-design] .secondary-action:hover { background: #f2f6fb; border-color: #b8cce5; }
[data-erp-design] .danger-action { background: #fff7f7; border: 1px solid #f0cccc; color: #c84545; }
[data-erp-design] button:disabled { opacity: .5; cursor: not-allowed; }
[data-erp-design] :is(.search-panel,.vp-toolbar,.vendor-work-filter,.system-master-search,.assembly-filter-card,.product-inventory-filter) {
  border: 1px solid var(--pv-border); border-radius: 10px; background: #fff; padding: 13px 16px; box-shadow: none !important;
  gap: 12px; min-height: 0;
}
[data-erp-design] :is(.search-panel,.vp-toolbar,.system-master-search) :is(input:not([type=checkbox]):not([type=radio]),select) {
  height: 36px !important; min-height: 36px !important; padding: 0 10px; font-size: 12px; font-weight: 500;
  background-color: #fff; border: 1px solid #d7e0ea; border-radius: 6px; color: #294662;
}
[data-erp-design] :is(.search-panel,.vp-toolbar,.system-master-search) label { min-width: 0; gap: 5px; }
[data-erp-design] :is(.search-panel,.vp-toolbar,.system-master-search) label > span { font-size: 13px; font-weight: 600; color: #294c70; }
[data-erp-design] :is(.vp-toolbar-actions,.search-actions,.system-master-upload-actions,.dialog-actions,.action-buttons,.pv-actions) { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
[data-erp-design] .system-master-upload-actions button { min-width: 0; width: auto; }
[data-erp-design] :is(.system-master-card-head,.card-head,.vendor-material-card-head) { min-height: 54px; height: auto; padding: 12px 16px; gap: 12px; flex-wrap: wrap; }
[data-erp-design] .system-master-card-copy { min-width: 0; }
[data-erp-design] .system-master-card-copy h3 { font-size: 14px; }
[data-erp-design] :is(.system-master-card-copy p,.card-head p) { font-size: 11px; color: #7c8da1; }
[data-erp-design] .customer-form { padding: 14px 16px; gap: 10px; }

/* Tables stay primary. Do not set widths or positions on sticky/rowspan cells. */
[data-erp-design] :is(.table-card,.vp-data-card,.vendor-material-card,.vendor-matching-card,.vendor-work-card,.system-master-form-card) {
  border-color: var(--pv-border); border-radius: 11px; box-shadow: 0 2px 4px #173a5a03;
}
[data-erp-design] :is(table,.rs-polished-table) thead th {
  background-color: #183d60; background-image: none; color: #f5f8fc;
  border-color: #ffffff18; font-size: 11px; font-weight: 600;
}
[data-erp-design] table tbody td { border-color: #e4eaf2; font-size: 12px; line-height: 1.4; }
[data-erp-design] table tbody tr { --pv-row-hover: #f0f6ff; }
[data-erp-design] table tbody tr:hover { background-color: var(--pv-row-hover); }
[data-erp-design] td:is(.actions,.row-actions,.manage-actions,.action-cell,.rs-col-action) {
  display: table-cell !important; vertical-align: middle !important; white-space: nowrap;
}
[data-erp-design] td :is(.row-action,.secondary-action,.danger-action,.primary-action) {
  min-height: 28px !important; padding: 5px 9px !important; font-size: 11px;
}
[data-erp-design] td button + button { margin-left: 4px; }
[data-erp-design] .pv-action-group { display: inline-flex; gap: 6px; align-items: center; flex-wrap: nowrap; }
[data-erp-design] :is(.table-scroll,.vp-table-scroll,.vendor-material-table-wrap,.vendor-matching-table-wrap) {
  scrollbar-width: thin; scrollbar-color: #b6c6d7 #edf2f7;
}
[data-erp-design] :is(.table-scroll,.vp-table-scroll)::-webkit-scrollbar { width: 9px; height: 9px; }
[data-erp-design] :is(.table-scroll,.vp-table-scroll)::-webkit-scrollbar-thumb { background: #b6c6d7; border: 2px solid #edf2f7; border-radius: 9px; }

/* Compact, shared visual rhythm for overview metrics and product selectors. */
[data-erp-design] :is(.vp-metric,.vendor-material-stats article,.vendor-matching-stats article,.summary-card,.match-summary-card) {
  min-height: 64px !important; border-radius: 10px; border-color: var(--pv-border);
  box-shadow: none !important; padding-top: 10px; padding-bottom: 10px;
}
[data-erp-design] .vp-metric strong { font-size: 22px; font-weight: 700; color: #203e5a; }
[data-erp-design] .vp-metric-dot { width: 4px; height: 29px; box-shadow: none; }
[data-erp-design] :is(.vp-metric small,.vendor-material-stats article > span,.vendor-matching-stats article > span) { font-size: 11px; font-weight: 500; }
[data-erp-design] :is(.vendor-material-stats article,.vendor-matching-stats article)::after { display: none; }
[data-erp-design] :is(.vendor-material-stats strong,.vendor-matching-stats strong) { font-size: 22px; line-height: 1.2; }
[data-erp-design] :is(.vendor-material-stats p,.vendor-matching-stats p) { display: none; }
[data-erp-design] :is(.vendor-material-hero,.vendor-matching-hero,.vendor-work-hero) {
  background: #fff !important; border: 1px solid var(--pv-border); border-radius: 11px;
  box-shadow: none !important; padding: 15px 18px !important; gap: 14px; color: #183d60;
  flex-wrap: wrap;
}
[data-erp-design] :is(.vendor-material-hero,.vendor-matching-hero,.vendor-work-hero) h2 { font-size: 18px; color: #183d60 !important; letter-spacing: -.035em; }
[data-erp-design] :is(.vendor-material-hero,.vendor-matching-hero,.vendor-work-hero) p { color: #798b9f !important; font-size: 11px; margin-top: 5px; }
[data-erp-design] :is(.vendor-material-hero,.vendor-matching-hero,.vendor-work-hero) > div:first-child > span { font-size: 9px; color: #5c85b9 !important; letter-spacing: .12em; margin-bottom: 4px; }
[data-erp-design] :is(.vendor-material-lot-control,.vendor-matching-controls) label span { color: #294c70 !important; font-size: 13px; font-weight: 600; }
[data-erp-design] .vendor-material-lot-control .secondary-action { color: #375b80; background: #fff; border: 1px solid #d7e2ee; }
[data-erp-design] .vendor-material-lot-control label { min-width: 170px; }
[data-erp-design] .vendor-material-model-panel { padding: 10px 15px; box-shadow: none; }
[data-erp-design] .vendor-material-model-grid label { grid-template-columns: minmax(90px,auto) 72px 22px auto; gap: 5px; }
[data-erp-design] .vendor-material-model-grid input { width: 72px; max-width: 72px; }
[data-erp-design] .vendor-material-model-grid button { position: static !important; margin-left: 3px; min-width: 34px; }
[data-erp-design] .vendor-material-legend { padding: 8px 15px; gap: 5px; flex-wrap: wrap; }
[data-erp-design] .vendor-material-legend small { font-size: 10px; }
[data-erp-design] :is(.vp-query-pending,.vendor-matching-pending,.vendor-material-pending) { min-height: 240px; background: #fff; padding: 30px; }
[data-erp-design] .vp-query-pending > span { border-radius: 8px; background: #eff5ff; color: #38669c; font-size: 10px; }

/* Dashboard hierarchy: action-led, not oversized decoration. */
[data-erp-design] .desktop-hub-top { gap: 12px; }
[data-erp-design] .desktop-welcome-card {
  min-height: 122px; border-radius: 12px; background: linear-gradient(125deg,#123650,#225984);
  padding: 21px 22px; box-shadow: none;
}
[data-erp-design] .desktop-welcome-card h2 { font-size: 23px; letter-spacing: -.05em; }
[data-erp-design] .desktop-welcome-card h2 { color: #fff !important; }
[data-erp-design] .desktop-welcome-card p { color: #bad3e9 !important; }
[data-erp-design] .desktop-welcome-card small { color: #8ac1fb !important; }
[data-erp-design] .desktop-hub-main-grid { min-height: 270px !important; grid-template-columns: minmax(260px,1.15fr) minmax(240px,1fr) minmax(220px,.85fr); }
[data-erp-design] .desktop-hub-main-grid .desktop-hub-card { min-height: 0; }
[data-erp-design] .desktop-task-list, [data-erp-design] .desktop-upcoming-list, [data-erp-design] .desktop-notice-list { max-height: 214px; overflow: auto; }
[data-erp-design] .desktop-side-stack { min-height: 0; }
[data-erp-design] .desktop-hub-main-grid .desktop-empty { min-height: 100px; }
[data-erp-design] .desktop-month-calendar .calendar-cell { min-height: 64px; }
[data-erp-design] .desktop-month-calendar .calendar-week span { background: #edf3f9; color: #57718f; }
[data-erp-design] .desktop-month-calendar .calendar-week span:first-child { background: #fff2f2; color: #c66d6d; }
[data-erp-design] .desktop-month-calendar .calendar-week span:last-child { background: #edf4ff; color: #5581b3; }
[data-erp-design] .system-log-filter-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }
[data-erp-design] .system-log-filter-actions button { flex: 0 0 auto; width: auto !important; max-width: none; min-width: max-content !important; }
[data-erp-design] #systemLogDeleteAllButton { width: 162px !important; min-width: 162px !important; }
[data-erp-design] .chat-storage-switch { position: relative; }
[data-erp-design] .chat-storage-switch input { left: 0; top: 0; width: 43px; height: 24px; margin: 0; z-index: 1; }
[data-erp-design] .chat-storage-policy-controls { flex-wrap: wrap; }
[data-erp-design] .vendor-material-model-entry { display: grid; grid-template-columns: minmax(90px,auto) 72px 22px auto; align-items: center; gap: 5px; }
[data-erp-design] .vendor-material-model-entry input { width: 72px; max-width: 72px; }
[data-erp-design] .vendor-matching-filters label > span { color: #294c70 !important; font-size: 13px; font-weight: 600; }
[data-erp-design] .vendor-matching-filters { flex-wrap: wrap; gap: 9px; }
[data-erp-design] :is(.vendor-material-hero,.vendor-matching-hero,.vendor-work-hero) { min-height: 0 !important; }
[data-erp-design] .vendor-matching-filters :is(input,select) {
  height: 36px; min-height: 36px; border: 1px solid #d7e0ea !important;
  background: #f9fbfe !important; border-radius: 7px; padding: 0 11px; color: #274968 !important;
}
[data-erp-design] .desktop-welcome-card > span { display: none; }
[data-erp-design] .desktop-welcome-card p { max-width: 100%; }
[data-erp-design] .bom-page .bom-toolbar.bom-info-toolbar.search-panel {
  display: flex !important; flex-wrap: wrap !important; align-items: flex-end !important;
}
[data-erp-design] .bom-info-toolbar > label { flex: 1 1 160px; min-width: 140px !important; }
[data-erp-design] .bom-info-toolbar .bom-calc-box { width: auto !important; max-width: 100%; margin-left: auto !important; }
[data-erp-design] .bom-calc-box label { grid-template-columns: auto 72px !important; }
[data-erp-design] #bomPlanQty { width: 72px !important; }
[data-erp-design] .vendor-matching-filters label { min-width: 150px; }
[data-erp-design] .vendor-matching-list-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }

/* Readable field labels and visibly separate selection controls across pages. */
[data-erp-design] :is(.search-panel,.customer-form,.vendor-material-lot-control,.vendor-matching-controls,[class*="-toolbar"],[class*="-filter"],[role="search"]) label,
[data-erp-design] :is(.search-panel,.customer-form,.vendor-material-lot-control,.vendor-matching-controls,[class*="-toolbar"],[class*="-filter"],[role="search"]) label > span {
  color: #294c70 !important; font-size: 13px !important; font-weight: 600; line-height: 1.45;
}
[data-erp-design] :is(.search-panel,.customer-form,.vendor-material-lot-control,.vendor-matching-controls,[class*="-toolbar"],[class*="-filter"],[role="search"]) select {
  background-color: #edf4fc !important; border: 1px solid #a9bfd8 !important;
  color: #203f60 !important; border-radius: 7px; font-weight: 600;
}
[data-erp-design] .vendor-material-lot-control select { height: 38px; min-height: 38px; }
[data-erp-design] :is(.search-panel,.customer-form,.vendor-material-lot-control,.vendor-matching-controls,[class*="-toolbar"],[class*="-filter"],[role="search"]) select:hover:not(:disabled) {
  background-color: #e5effc !important; border-color: #7198c6 !important;
}
[data-erp-design] :is(.search-panel,.customer-form,.vendor-material-lot-control,.vendor-matching-controls,[class*="-toolbar"],[class*="-filter"],[role="search"]) select:disabled {
  background-color: #f0f2f5 !important; border-color: #d5dde5 !important; color: #738499 !important;
}

/* The corner grip has its own footer space, entirely below the scrollbars. */
[data-erp-design] .rs-table-height-resizable { margin-bottom: 26px !important; }
[data-erp-design] .rs-table-height-handle {
  width: 24px !important; height: 24px !important; min-width: 0;
  border: 1px solid #bccde0; border-radius: 5px; background: #edf3fb;
  cursor: nwse-resize; box-shadow: none;
}
[data-erp-design] .rs-table-height-handle::before {
  inset: 5px !important; width: 12px !important; height: 12px !important;
  border-radius: 0; box-shadow: none; transform: none;
  background: repeating-linear-gradient(135deg, transparent 0 3px, #6f8dac 3px 4.5px, transparent 4.5px 6px);
  clip-path: polygon(100% 0,100% 100%,0 100%);
}
[data-erp-design] .rs-table-height-handle:is(:hover,:focus-visible,.is-active) {
  background: #dceafb; border-color: #5e8fc6;
}
[data-erp-design] .rs-table-height-handle:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }
[data-erp-design] .rs-table-height-handle:is(:hover,:focus-visible,.is-active)::before {
  background: repeating-linear-gradient(135deg, transparent 0 3px, #285e9b 3px 4.5px, transparent 4.5px 6px);
}
[data-erp-design].rs-is-resizing-table-height,
[data-erp-design].rs-is-resizing-table-height * { cursor: nwse-resize !important; }
@media (min-width: 1100px) {
  [data-erp-design] .desktop-hub-top { grid-template-columns: minmax(275px,1.6fr) repeat(4,minmax(115px,1fr)); }
  [data-erp-design] .desktop-welcome-card { grid-column: auto; min-height: 116px; }
  [data-erp-design] .desktop-welcome-card h2 { font-size: 20px; }
  [data-erp-design] .desktop-kpi-card { min-height: 116px; gap: 8px; padding: 12px; }
  [data-erp-design] .desktop-kpi-card > i { width: 29px; height: 29px; }
  [data-erp-design] .desktop-kpi-card strong { font-size: 27px; }
  [data-erp-design] .desktop-side-stack { grid-column: auto; grid-template-columns: minmax(0,1fr); }
  [data-erp-design] .desktop-quick-grid { grid-template-columns: repeat(auto-fit,minmax(140px,1fr)); }
}
[data-erp-design] .desktop-kpi-card { min-height: 122px; border: 1px solid var(--pv-border); border-radius: 12px; box-shadow: none; padding: 15px; }
[data-erp-design] .desktop-kpi-card > i { width: 34px; height: 34px; border-radius: 10px; }
[data-erp-design] .desktop-kpi-card strong { font-size: 29px; letter-spacing: -.035em; }
[data-erp-design] :is(.desktop-quick-card,.desktop-hub-card,.desktop-month-card) { border: 1px solid var(--pv-border); border-radius: 12px; box-shadow: 0 2px 4px #173a5a03; }
[data-erp-design] .desktop-quick-card { padding: 15px 18px; }
[data-erp-design] .desktop-section-head h2, [data-erp-design] .desktop-month-head h2 { font-size: 15px; font-weight: 700; }
[data-erp-design] .desktop-section-head p { color: #8090a3; font-size: 11px; }
[data-erp-design] .desktop-quick-button { min-height: 62px; border-radius: 9px; background: #f7f9fc; border: 1px solid #e6edf5; box-shadow: none; }
[data-erp-design] .desktop-quick-button:hover { border-color: #b8cff0; background: #eff5ff; }
[data-erp-design] .desktop-quick-button i { box-shadow: none; }
[data-erp-design] .desktop-month-head { gap: 12px; flex-wrap: wrap; }
[data-erp-design] .desktop-month-head > div:last-child { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }

/* Dialogs: safe close controls, visible footers and consistent density. */
[data-erp-design] dialog {
  border: 1px solid #d9e4ef; border-radius: 15px !important; box-shadow: 0 24px 85px #102a4344;
  max-width: calc(100vw - 40px); max-height: calc(100dvh - 44px);
}
[data-erp-design] dialog::backdrop { background: #10263f66; backdrop-filter: blur(3px); }
[data-erp-design] dialog :is(.dialog-head,.dialog-header) { padding: 16px 20px; gap: 15px; }
[data-erp-design] dialog :is(.dialog-head,.dialog-header) h3 { font-size: 18px; letter-spacing: -.035em; }
[data-erp-design] dialog :is(.dialog-head,.dialog-header) .icon-button { flex: 0 0 32px; width: 32px; height: 32px; min-height: 32px; padding: 0; }
[data-erp-design] dialog :is(footer,.dialog-actions,.dialog-footer) { gap: 8px; flex-wrap: wrap; }
[data-erp-design] dialog :is(footer,.dialog-actions,.dialog-footer) button { white-space: nowrap; min-width: 60px; flex-shrink: 0; }
[data-erp-design] .pv-dialog { width: 560px; padding: 0; color: #203e5a; background: #fff; }
[data-erp-design] .pv-dialog header { display: flex; justify-content: space-between; align-items: center; padding: 19px 22px; border-bottom: 1px solid #e5ebf2; }
[data-erp-design] .pv-dialog header h2 { margin: 0; font-size: 18px; }
[data-erp-design] .pv-dialog header p { margin: 4px 0 0; font-size: 11px; color: #7b8fa4; }
[data-erp-design] .pv-dialog header button { width: 30px; height: 30px; border: 1px solid #dfe7f0; border-radius: 7px; color: #54718f; background: #fff; cursor: pointer; }
[data-erp-design] .pv-dialog section { padding: 22px; }
[data-erp-design] .pv-dialog ol { margin: 0; padding-left: 19px; }
[data-erp-design] .pv-dialog li { margin-bottom: 15px; font-size: 12px; line-height: 1.7; color: #657b92; }
[data-erp-design] .pv-dialog li strong { display: block; color: #244865; font-size: 13px; }
[data-erp-design] .pv-dialog footer { background: #f4f7fb; padding: 14px 22px; font-size: 11px; color: #6c8196; line-height: 1.6; }
[data-erp-design] #previewMenuInput { width: calc(100% - 40px); margin: 18px 20px 10px; height: 43px; border: 1px solid #d3e1f1; border-radius: 8px; padding: 0 13px; background: #f8fbff; color: #2c4b69; }
[data-erp-design] #previewMenuResults { padding: 0 12px 14px; max-height: 55vh; overflow: auto; }
[data-erp-design] #previewMenuResults button { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; padding: 12px 11px; border: 0; background: transparent; border-radius: 7px; color: #27496b; cursor: pointer; text-align: left; }
[data-erp-design] #previewMenuResults button:hover, [data-erp-design] #previewMenuResults button:focus { background: #edf4ff; }
[data-erp-design] #previewMenuResults small { color: #8b9cb0; font-size: 10px; }
[data-erp-design] .pv-icon { width: 15px; height: 15px; flex-shrink: 0; vertical-align: -3px; margin-right: 5px; pointer-events: none; }
[data-erp-design] #previewToast {
  position: fixed; left: 50%; bottom: 28px; transform: translateX(-50%); z-index: 2147483647;
  max-width: min(560px,calc(100vw - 32px)); padding: 15px 21px; border-radius: 11px; background: #173b5a; color: #fff;
  font-size: 12px; line-height: 1.6; box-shadow: 0 10px 40px #0e254244;
}
[data-erp-design] .login-panel { box-shadow: 0 28px 80px #0d284c33; border-radius: 20px; }
@media (max-width: 1350px) {
  [data-erp-design] .topbar { padding: 0 18px !important; }
  [data-erp-design] #pageTitle { font-size: 19px; }
  [data-erp-design] .account-box { display: none; }
  [data-erp-design] .content { padding: 16px !important; }
  [data-erp-design] .pv-review-bar { margin: -16px -16px 14px; padding-left: 16px; padding-right: 16px; }
  [data-erp-design] .vp-toolbar { flex-wrap: wrap; }
  [data-erp-design] .vp-toolbar-fields { flex: 1 1 640px; }
  [data-erp-design] .vp-toolbar-actions { margin-left: auto; }
  [data-erp-design] .vp-toolbar label { flex: 1 1 130px; }
  [data-erp-design] .vp-toolbar select { min-width: 0 !important; width: 100%; }
  [data-erp-design] .vendor-material-hero > div:first-child p,
  [data-erp-design] .vendor-matching-hero > div:first-child p { display: none; }
  [data-erp-design] .system-master-search { flex-wrap: wrap; }
}
@media (max-width: 820px) {
  body.mobile-app-shell[data-erp-design] #pageTitle .page-title-context,
  body.mobile-app-shell[data-erp-design] #pageTitle .page-title-separator { display: none; }
}
@media (max-width: 800px) {
  [data-erp-design] .topbar { padding: 0 10px !important; height: 60px !important; min-height: 60px !important; }
  [data-erp-design] .topbar-right { gap: 5px; }
  [data-erp-design] #pageTitle { font-size: 17px; }
  [data-erp-design] #pageTitle .page-title-context,
  [data-erp-design] #pageTitle .page-title-separator { display: none; }
  [data-erp-design] .pv-review-bar { gap: 8px; }
  [data-erp-design] .pv-review-bar > span { display: none; }
  [data-erp-design] .pv-review-bar > b { flex: 1; }
  [data-erp-design] .content { padding: 12px !important; }
  [data-erp-design] .pv-review-bar { margin: -12px -12px 12px; padding: 7px 12px; }
  [data-erp-design] dialog { max-width: calc(100vw - 20px); }
  [data-erp-design] .vendor-material-lot-control { width: 100%; justify-content: flex-start; }
  [data-erp-design] .vendor-material-lot-control label { flex: 1 1 145px; min-width: 0; }
}
@media (prefers-reduced-motion: reduce) {
  [data-erp-design] *, [data-erp-design] *::before, [data-erp-design] *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Company/server: shortcut policy is independent of the backup password lock. */
.internal-access-settings .card-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.internal-access-state { flex:none; padding:5px 12px; border-radius:20px; font-size:13px; font-weight:700; }
.internal-access-state.is-on { color:#126347; background:#e5f5ed; }
.internal-access-state.is-off { color:#475569; background:#e8edf3; }
.internal-access-body { padding:18px 22px; color:#274765; }
.internal-access-facts { display:flex; flex-wrap:wrap; gap:12px 28px; font-size:14px; }
.internal-access-facts b { margin-left:10px; color:#123859; }
.internal-access-facts small { margin-left:8px; }
.internal-access-controls { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; margin:18px 0 12px; }
.internal-access-controls > label { display:flex; align-items:center; gap:10px; font-size:15px; font-weight:700; cursor:pointer; }
.internal-access-controls input[type=checkbox] { width:20px; height:20px; accent-color:#1968c6; }
.internal-access-controls > div { display:flex; flex-wrap:wrap; gap:8px; }
.internal-access-body p { font-size:14px; line-height:1.7; margin:0 0 6px; }
.internal-access-body small { font-size:12px; line-height:1.6; color:#506780; }
.internal-access-feedback { font-size:14px; font-weight:600; color:#126347; margin-top:10px; overflow-wrap:anywhere; }
.internal-access-feedback:empty { display:none; }
.internal-access-feedback.is-error { color:#b42318; }
@media(max-width:600px) {
  .internal-access-body { padding:16px; }
  .internal-access-controls > div { width:100%; }
  .internal-access-controls button { flex:1; }
}
