* {
  box-sizing:border-box
}
html {
  color-scheme:light
}
body {
  margin:0;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  color:#243b36;
  background:#f5f6f2;
  font-size:16px;
  line-height:1.6
}
button,input,select,textarea {
  font:inherit
}
button,a,input,select,textarea {
  -webkit-tap-highlight-color:transparent
}
button {
  cursor:pointer
}
button:disabled {
  cursor:not-allowed;
  opacity:.48
}
a {
  color:inherit
}
button:focus-visible,a:focus-visible {
  outline:3px solid #8ca46c;
  outline-offset:3px
}
input:focus,select:focus,textarea:focus {
  outline:2px solid #628674;
  outline-offset:1px
}
button {
  border:0;
  background:none;
  color:inherit
}
svg {
  width:20px;
  height:20px;
  stroke-width:1.7;
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex-shrink:0
}
h1,h2,h3,p {
  margin:0
}
h1 {
  font-size:30px;
  line-height:1.3;
  letter-spacing:-.8px;
  font-weight:650
}
h2 {
  font-size:19px;
  font-weight:650
}
h3 {
  font-size:15px
}
small,.muted {
  color:#7b8680
}
.boot {
  display:grid;
  place-content:center;
  height:100dvh;
  gap:20px;
  letter-spacing:4px
}
.boot span {
  font-size:14px;
  letter-spacing:0
}
.sidebar {
  position:fixed;
  inset:0 auto 0 0;
  width:232px;
  background:#183e36;
  color:#d3e0d9;
  padding:32px 20px;
  display:flex;
  flex-direction:column;
  z-index:10
}
@media(min-width:561px) {
  .sidebar { overflow-y:auto; overflow-x:hidden; overscroll-behavior-y:contain; scrollbar-width:thin; }
  .sidebar>* { flex-shrink:0; }
  .sidebar-bottom { padding-top:24px; }
}
.brand {
  display:flex;
  align-items:center;
  gap:12px;
  padding:0 12px;
  color:#f4f6ed;
  font-weight:650;
  font-size:23px;
  letter-spacing:-.6px
}
.brand img {
  width:38px;
  height:38px
}
.brand-sub {
  font-size:14px;
  letter-spacing:2.4px;
  padding:8px 14px 38px;
  color:#8fad9f
}
.nav-label {
  font-size:14px;
  letter-spacing:1.8px;
  color:#8ba699;
  margin:10px 14px 12px
}
.nav {
  display:grid;
  gap:7px
}
.nav button {
  display:flex;
  align-items:center;
  gap:13px;
  border-radius:7px;
  padding:12px 14px;
  text-align:left;
  color:#b9cdc3;
  font-weight:500
}
.nav button.active {
  background:#dfeecc;
  color:#1d4938
}
.nav button:hover:not(.active) {
  background:#244c41
}
.nav .count {
  margin-left:auto;
  font-size:14px;
  opacity:.75
}
.sidebar-bottom {
  margin-top:auto
}
.team-card {
  border:1px solid #396052;
  border-radius:9px;
  padding:15px;
  margin-bottom:18px
}
.team-card p {
  font-size:14px;
  color:#a6bfb3;
  margin-top:6px
}
.user-block {
  display:flex;
  align-items:center;
  gap:10px;
  padding:14px 8px 0;
  border-top:1px solid #35584a
}
.avatar {
  display:grid;
  place-items:center;
  flex-shrink:0;
  width:35px;
  height:35px;
  border-radius:50%;
  background:#e5eddf;
  color:#345844;
  font-size:14px;
  font-weight:650
}
.user-block .user-info {
  flex:1;
  min-width:0
}
.user-info strong {
  display:block;
  font-size:14px;
  overflow:hidden;
  text-overflow:ellipsis
}
.user-info small {
  font-size:14px;
  color:#a6bfb3
}
.main {
  margin-left:232px;
  min-height:100dvh
}
.topbar {
  height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 40px;
  border-bottom:1px solid #e3e7df;
  background:#fbfcf9;
  gap:15px
}
.breadcrumb {
  color:#859087;
  font-size:14px;
  display:flex;
  align-items:center;
  gap:12px
}
.breadcrumb strong {
  color:#47594d;
  font-weight:500
}
.top-actions {
  display:flex;
  align-items:center;
  gap:20px
}
.live {
  font-size:14px;
  color:#687d6d;
  display:flex;
  align-items:center;
  gap:7px
}
.live:before {
  content:"";
  width:6px;
  height:6px;
  border-radius:50%;
  background:#81a665
}
.live.offline:before {
  background:#c88746
}
.lang {
  font-size:14px;
  border:1px solid #dce2d7;
  border-radius:6px;
  padding:6px 10px
}
.content {
  padding:34px 40px 40px;
  max-width:1640px;
  margin:auto
}
.heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  margin-bottom:26px
}
.eyebrow {
  font-size:14px;
  letter-spacing:2px;
  color:#8b967d;
  margin-bottom:9px
}
.subtitle {
  font-size:14px;
  color:#7b887e;
  margin-top:10px
}
.actions {
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap
}
.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius:7px;
  padding:10px 15px;
  font-size:14px;
  font-weight:550;
  border:1px solid #dce2d7;
  background:#fff;
  text-decoration:none;
  min-height:40px;
  white-space:nowrap
}
.btn svg {
  width:16px;
  height:16px
}
.btn.primary {
  background:#234f40;
  border-color:#234f40;
  color:#fff
}
.btn.primary:hover {
  background:#32634f
}
.btn:hover {
  border-color:#96af9b
}
.btn.soft {
  background:#edf2e8;
  border-color:#edf2e8;
  color:#486649
}
.btn.danger {
  color:#a55648
}
.btn.small {
  padding:6px 10px;
  min-height:32px
}
.stats {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-bottom:28px
}
.stat {
  padding:20px 22px;
  background:white;
  border:1px solid #e2e7dc;
  border-radius:10px;
  position:relative;
  text-align:left
}
.stat-label {
  color:#788579;
  font-size:14px;
  display:flex;
  justify-content:space-between;
  align-items:center
}
.stat-icon {
  background:#f2f5ed;
  border-radius:7px;
  padding:7px;
  display:flex;
  color:#788d6c
}
.stat strong {
  display:block;
  font-size:33px;
  font-weight:550;
  letter-spacing:-1px;
  margin:8px 0 4px;
  line-height:1.2;
  font-variant-numeric:tabular-nums
}
.stat small {
  font-size:14px
}
.stat:first-child {
  background:#edf2e7;
  border-color:#dce5d2
}
.stat:first-child .stat-icon {
  background:#dde9ce
}
.panel {
  background:white;
  border:1px solid #e1e6dc;
  border-radius:11px;
  overflow:hidden
}
.panel-head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:20px 23px
}
.panel-head h2 {
  font-size:16px
}
.panel-head p {
  font-size:14px;
  color:#8a948a;
  margin-top:4px
}
.view-tabs {
  display:flex;
  gap:20px;
  padding:0 23px;
  border-bottom:1px solid #e7eae2;
  overflow:auto
}
.view-tab {
  padding:12px 1px 13px;
  white-space:nowrap;
  font-size:14px;
  color:#879084;
  border-bottom:2px solid transparent
}
.view-tab.active {
  color:#2c5741;
  border-color:#2c5741;
  font-weight:650
}
.filters {
  padding:17px 23px;
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap
}
.search {
  position:relative;
  flex:1;
  min-width:190px;
  max-width:420px
}
.search svg {
  position:absolute;
  top:11px;
  left:12px;
  width:16px;
  height:16px;
  color:#9aa293
}
.search input {
  padding-left:37px;
  width:100%
}
input,select,textarea {
  border:1px solid #dfe4da;
  background:#fff;
  color:#354a3c;
  border-radius:6px;
  padding:10px 11px;
  min-width:0;
  max-width:100%;
  font-size:14px
}
input::placeholder,textarea::placeholder {
  color:#9aa296
}
select {
  max-width:200px
}
textarea {
  min-height:105px;
  resize:vertical
}
input[type=checkbox] {
  accent-color:#315c45;
  width:16px;
  height:16px;
  flex-shrink:0
}
input[type=date] {
  max-width:155px
}
.table-scroll {
  overflow:auto
}
table {
  border-collapse:collapse;
  width:100%;
  text-align:left
}
th {
  background:#f7f8f4;
  color:#8a9487;
  font-size:14px;
  font-weight:500;
  letter-spacing:.3px;
  white-space:nowrap;
  padding:13px 20px;
  border-block:1px solid #e8ece3
}
td {
  padding:18px 20px;
  border-bottom:1px solid #edf0e9;
  font-size:14px;
  vertical-align:middle
}
tbody tr:last-child td {
  border-bottom:0
}
tbody tr:hover {
  background:#fafbf7
}
.po-link {
  font-weight:650;
  color:#2c5140;
  display:block;
  text-align:left;
  padding:0;
  white-space:nowrap
}
.row-id {
  font-size:14px;
  color:#99a194;
  margin-top:4px
}
.product {
  max-width:290px;
  min-width:170px
}
.product-name {
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  font-size:14px;
  font-weight:500;
  line-height:1.55
}
.product small {
  display:block;
  font-size:14px;
  margin-top:5px;
  color:#99a194
}
.badge {
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
  border-radius:5px;
  padding:5px 9px;
  font-size:14px;
  font-weight:550;
  background:#f0f2ed;
  color:#798372
}
.badge:before {
  content:"";
  width:5px;
  height:5px;
  background:currentColor;
  border-radius:50%
}
.badge.production {
  background:#e7efe0;
  color:#59813d
}
.badge.confirming {
  background:#fcf1dc;
  color:#b18535
}
.badge.ordered {
  background:#e9eef9;
  color:#6685a8
}
.badge.inspection,.badge.loading {
  background:#eee9f5;
  color:#8a72a5
}
.badge.completed {
  background:#e3f2e9;
  color:#408362
}
.badge.shipped,.badge.delivered {
  background:#edf1ed;
  color:#71816e
}
.badge.cancelled,.badge.unknown {
  background:#f7e9e5;
  color:#a76f61
}
.port-cell {
  white-space:nowrap
}
.port-name {
  display:flex;
  gap:6px;
  align-items:center
}
.port-name svg {
  width:13px;
  height:13px;
  color:#97a088
}
.date-cell {
  white-space:nowrap;
  font-variant-numeric:tabular-nums
}
.date-cell small {
  display:block;
  margin-top:4px;
  font-size:14px
}
.overdue {
  color:#ad6b50!important
}
.row-action {
  display:flex;
  align-items:center;
  gap:7px;
  white-space:nowrap
}
.icon-btn {
  display:grid;
  place-items:center;
  border:1px solid #e2e7dc;
  border-radius:6px;
  width:32px;
  height:32px;
  color:#7b8a71
}
.icon-btn svg {
  width:15px;
  height:15px
}
.pagination {
  padding:15px 23px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-top:1px solid #e8ece3;
  gap:10px;
  font-size:14px;
  color:#8a9485
}
.pages {
  display:flex;
  align-items:center;
  gap:11px
}
.empty {
  padding:70px 24px;
  text-align:center;
  color:#84917e
}
.empty svg {
  width:38px;
  height:38px;
  margin-bottom:15px
}
.empty p {
  margin-top:6px;
  font-size:14px
}
.footnote {
  margin-top:19px;
  font-size:14px;
  color:#98a08f;
  display:flex;
  gap:7px;
  align-items:center
}
.footnote svg {
  width:13px;
  height:13px
}
.error-box {
  padding:14px 17px;
  background:#fbefe8;
  color:#a56342;
  border:1px solid #efdbcd;
  border-radius:7px;
  font-size:14px;
  margin:12px 0
}
.info-box {
  padding:15px;
  background:#f1f5ec;
  color:#657c57;
  border-radius:7px;
  font-size:14px;
  margin:14px 0;
  line-height:1.8
}
.login {
  min-height:100dvh;
  display:grid;
  grid-template-columns:1fr 1fr
}
.login-art {
  background:#183e36;
  color:#e4efda;
  padding:65px 12%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
  overflow:hidden
}
.login-art .brand {
  padding:0;
  position:absolute;
  top:50px
}
.login-art h1 {
  font-size:48px;
  line-height:1.4;
  max-width:480px;
  font-weight:500;
  letter-spacing:-1px
}
.login-art p {
  color:#b7cbb6;
  margin-top:24px;
  line-height:1.9;
  max-width:360px
}
.login-art .eyebrow {
  color:#a6be8a;
  margin-bottom:25px
}
.art-lines {
  margin-top:65px;
  display:flex;
  gap:9px;
  align-items:center;
  opacity:.75
}
.art-lines span {
  width:40px;
  height:40px;
  border:1px solid #97b881;
  border-radius:50%;
  display:grid;
  place-items:center
}
.art-lines i {
  width:40px;
  height:1px;
  background:#769264
}
.login-form-wrap {
  display:flex;
  align-items:center;
  justify-content:center;
  padding:32px;
  position:relative
}
.login-form-wrap .lang {
  position:absolute;
  top:30px;
  right:32px
}
.login-form {
  width:100%;
  max-width:340px
}
.login-form h2 {
  font-size:28px;
  margin-bottom:8px
}
.login-form .subtitle {
  margin-bottom:30px;
  line-height:1.8
}
.form-field {
  display:flex;
  flex-direction:column;
  gap:7px;
  margin-bottom:16px;
  font-size:14px
}
.form-field label {
  font-weight:550;
  color:#63745e
}
.form-field input,.form-field select,.form-field textarea {
  width:100%;
  max-width:none;
  font-size:14px;
  min-height:42px
}
.login-form .btn {
  width:100%;
  margin-top:10px
}
.login-note {
  margin-top:25px;
  color:#8d9786;
  font-size:14px
}
.login-form .form-field,.login-form input { font-size:16px; }
.captcha-image-row { display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; }
.captcha-image-row img { max-width:100%; height:auto; border:1px solid #dce2d5; border-radius:8px; }
.captcha-refresh { color:#34583e; font:inherit; padding:6px 0; background:none; border:0; text-decoration:underline; cursor:pointer; }
.captcha-refresh:disabled { opacity:.55; cursor:wait; }
#login-captcha-answer { font-size:20px; letter-spacing:4px; text-transform:uppercase; }
#captcha-hint { font-size:14px; color:#63745e; line-height:1.5; }
#captcha-message:empty { display:none; }
#captcha-message { color:#8b402e; font-size:14px; }
.mobile-brand {
  display:none
}
dialog {
  padding:0;
  border:1px solid #dce3d5;
  border-radius:14px;
  box-shadow:0 20px 90px #1b3c3326;
  width:min(760px,calc(100vw - 32px));
  max-height:90dvh;
  background:#fcfdf9;
  color:#2b4536
}
dialog::backdrop {
  background:#15342870;
  backdrop-filter:blur(3px)
}
.dialog-head {
  padding:23px 26px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid #e5eadf;
  gap:14px;
  position:sticky;
  top:0;
  background:#fcfdf9;
  z-index:2
}
.dialog-head .eyebrow {
  margin-bottom:4px
}
.dialog-head h2 {
  font-size:21px
}
.dialog-body {
  padding:23px 26px
}
.dialog-footer {
  display:flex;
  gap:9px;
  justify-content:flex-end;
  padding:17px 26px;
  border-top:1px solid #e5eadf;
  position:sticky;
  bottom:0;
  background:#fcfdf9;
  flex-wrap:wrap
}
.form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 18px
}
.full {
  grid-column:1/-1
}
.detail-hero {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:15px;
  margin-bottom:22px
}
.detail-hero h3 {
  font-size:18px;
  max-width:470px;
  line-height:1.6
}
.detail-hero p {
  font-size:14px;
  color:#89967f;
  margin-top:5px
}
.detail-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:19px;
  background:#f1f5ec;
  padding:19px;
  border-radius:8px;
  margin-bottom:24px
}
.detail-grid dt {
  font-size:14px;
  color:#86937a;
  margin-bottom:7px
}
.detail-grid dd {
  margin:0;
  font-size:14px;
  overflow-wrap:anywhere
}
.detail-section {
  margin-top:24px
}
.detail-section h3 {
  margin-bottom:14px
}
.raw-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px 20px;
  margin-top:16px
}
.raw-grid dt {
  color:#8d9881;
  font-size:14px
}
.raw-grid dd {
  margin:4px 0 0;
  font-size:14px;
  overflow-wrap:anywhere
}
.check-list {
  display:grid;
  gap:8px;
  margin:12px 0
}
.check-list label {
  display:flex;
  align-items:center;
  gap:9px;
  padding:7px 10px;
  background:#f3f6ef;
  border-radius:5px
}
.check-list span {
  font-size:14px
}
.timeline {
  padding:0;
  list-style:none
}
.timeline li {
  padding:0 0 20px 23px;
  border-left:1px solid #dce5d3;
  position:relative;
  margin-left:5px
}
.timeline li:before {
  content:"";
  position:absolute;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#8da575;
  left:-4px;
  top:6px
}
.timeline-header {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  font-size:14px
}
.timeline-header time {
  font-size:14px;
  color:#929c88
}
.timeline p {
  font-size:14px;
  color:#7c8b6f;
  margin-top:4px;
  overflow-wrap:anywhere
}
.change {
  font-size:14px;
  background:#f2f5ed;
  padding:8px 11px;
  margin-top:8px;
  border-radius:5px;
  overflow-wrap:anywhere
}
.change del {
  color:#a29181
}
.change strong {
  color:#4b7040;
  font-weight:500
}
.audit-list {
  padding:25px
}
.settings-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px
}
.settings-card {
  padding:25px
}
.settings-card h2 {
  margin-bottom:12px
}
.settings-card p {
  font-size:14px;
  color:#87957b;
  margin-bottom:20px;
  line-height:1.9
}
.settings-card li {
  margin:10px 0;
  font-size:14px;
  line-height:1.8
}
.upload-zone {
  border:1px dashed #a9b99a;
  border-radius:9px;
  padding:34px;
  text-align:center;
  background:#f7faf2
}
.upload-zone svg {
  width:33px;
  height:33px;
  color:#849d6d;
  margin-bottom:12px
}
.upload-zone input {
  margin-top:17px;
  width:100%
}
.upload-zone p {
  font-size:14px;
  color:#8f9c82;
  margin-top:8px
}
.import-stats {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:16px
}
.import-stats div {
  padding:15px;
  background:#eff4e8;
  border-radius:7px
}
.import-stats strong {
  display:block;
  font-size:25px
}
.import-stats small {
  font-size:14px
}
details summary {
  cursor:pointer;
  color:#728164;
  font-size:14px;
  padding:10px 0
}
.note-content {
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  font-size:14px;
  color:#6f7d65;
  line-height:1.8
}
#toast {
  position:fixed;
  bottom:25px;
  left:50%;
  transform:translateX(-50%);
  background:#234937;
  color:#fff;
  box-shadow:0 8px 25px #243c3429;
  border-radius:8px;
  padding:12px 20px;
  z-index:100;
  font-size:14px;
  max-width:90vw;
  display:none
}
#toast.visible {
  display:block
}
.inline-error {
  color:#ac654a;
  font-size:14px;
  margin-top:12px;
  white-space:pre-wrap
}
.network-banner {
  background:#fff0d9;
  color:#a27940;
  padding:9px 25px;
  text-align:center;
  font-size:14px
}
.loading-line {
  height:3px;
  background:linear-gradient(90deg,#e5efdc,#82a76b,#e5efdc);
  animation:pulse 1s infinite
}
@keyframes pulse {
  50% {
    opacity:.3
  }
}
@media(min-width:1500px) {
  td {
    padding-top:21px;
    padding-bottom:21px
  }
  .content {
    padding-top:40px
  }
}
@media(max-width:1180px) {
  .sidebar {
    width:198px;
    padding:28px 13px
  }
  .main {
    margin-left:198px
  }
  .content {
    padding:28px 24px
  }
  .topbar {
    padding:0 24px
  }
  .stats {
    gap:10px
  }
  .stat {
    padding:17px
  }
  .heading {
    align-items:flex-start
  }
  .heading .actions {
    justify-content:flex-end
  }
  td,th {
    padding-left:14px;
    padding-right:14px
  }
  .product {
    max-width:210px
  }
  .settings-grid {
    grid-template-columns:1fr
  }
}
@media(max-width:800px) {
  .sidebar {
    width:76px;
    padding:25px 12px
  }
  .brand {
    padding:0;
    justify-content:center
  }
  .brand span,.brand-sub,.nav-label,.nav button span,.team-card,.user-info,.user-block>.avatar {
    display:none
  }
  .nav {
    margin-top:38px
  }
  .nav button {
    padding:13px;
    justify-content:center
  }
  .user-block {
    padding:16px 0 0;
    justify-content:center
  }
  .main {
    margin-left:76px
  }
  .topbar {
    height:64px
  }
  .content {
    padding:25px 20px
  }
  .heading {
    flex-wrap:wrap
  }
  .heading .actions {
    justify-content:flex-start
  }
  .stats {
    grid-template-columns:repeat(2,1fr)
  }
  .stat strong {
    font-size:30px
  }
  .login-art {
    padding:60px 12%
  }
  .login-art h1 {
    font-size:35px
  }
  .top-actions {
    gap:10px
  }
  .date-filter {
    display:none
  }
}
@media(max-width:560px) {
  body {
    font-size:14px
  }
  .sidebar {
    inset:auto 0 0;
    width:100%;
    height:calc(68px + env(safe-area-inset-bottom));
    padding:0 5px env(safe-area-inset-bottom);
    border-top:1px solid #dfe5d6;
    background:#fcfdf9;
    color:#79866e;
    display:block
  }
  .sidebar>.brand,.sidebar-bottom {
    display:none
  }
  .nav {
    display:flex;
    margin:0;
    justify-content:space-around;
    height:66px;
    gap:0
  }
  .nav button {
    display:flex;
    flex-direction:column;
    gap:4px;
    flex:1;
    padding:10px 3px 6px;
    border-radius:0;
    color:#889779;
    font-size:14px
  }
  .nav button span {
    display:block
  }
  .nav .count {
    display:none
  }
  .nav button.active {
    background:none;
    color:#2b593e
  }
  .nav button.active svg {
    stroke-width:2.3
  }
  .nav button:hover:not(.active) {
    background:#f2f5ec
  }
  .nav button svg {
    width:21px;
    height:21px
  }
  .main {
    margin-left:0;
    padding-bottom:80px
  }
  .topbar {
    padding:0 18px;
    height:64px
  }
  .breadcrumb {
    display:none
  }
  .mobile-brand {
    display:flex;
    align-items:center;
    gap:8px;
    font-size:18px;
    font-weight:650
  }
  .mobile-brand img {
    width:30px
  }
  .topbar .avatar {
    display:none
  }
  .live {
    font-size:14px
  }
  .content {
    padding:24px 16px
  }
  .heading {
    gap:18px;
    margin-bottom:20px
  }
  .heading .actions {
    width:100%
  }
  .heading .actions .btn {
    flex:1;
    padding:9px 8px
  }
  .eyebrow {
    font-size:14px
  }
  .subtitle {
    font-size:14px;
    margin-top:7px
  }
  h1 {
    font-size:26px
  }
  .stats {
    gap:10px;
    margin-bottom:22px
  }
  .stat {
    padding:15px
  }
  .stat-label {
    font-size:14px
  }
  .stat-icon {
    padding:5px
  }
  .stat-icon svg {
    width:15px;
    height:15px
  }
  .stat strong {
    font-size:29px;
    margin-top:9px
  }
  .stat small {
    font-size:14px
  }
  .panel-head {
    padding:18px 16px
  }
  .view-tabs {
    padding:0 16px;
    gap:22px
  }
  .filters {
    padding:14px;
    gap:8px
  }
  .search {
    min-width:100%;
    max-width:none
  }
  .filters select {
    flex:1;
    max-width:none;
    width:100px
  }
  .date-filter {
    display:none
  }
  .order-table thead {
    display:none
  }
  .order-table,.order-table tbody {
    display:block
  }
  .order-table tr {
    display:grid;
    grid-template-columns:1fr 1fr;
    padding:18px 16px;
    border-bottom:1px solid #e8ede0;
    gap:12px 8px;
    position:relative
  }
  .order-table td {
    padding:0;
    border:0;
    display:block
  }
  .order-table td:nth-child(1) {
    grid-column:1
  }
  .order-table td:nth-child(2) {
    grid-column:1/-1;
    grid-row:2;
    max-width:none
  }
  .order-table td:nth-child(3) {
    grid-column:2;
    grid-row:1;
    text-align:right
  }
  .order-table td:nth-child(4) {
    grid-column:1;
    grid-row:3
  }
  .order-table td:nth-child(5) {
    grid-column:2;
    grid-row:3;
    text-align:right
  }
  .order-table td:nth-child(6) {
    grid-column:1/-1;
    grid-row:4;
    margin-top:2px
  }
  .row-id {
    display:inline;
    margin-left:7px
  }
  .po-link {
    display:inline;
    font-size:14px
  }
  .product-name {
    font-size:14px;
    -webkit-line-clamp:1
  }
  .product small {
    margin-top:3px
  }
  .row-action {
    justify-content:flex-end
  }
  .row-action .btn {
    font-size:14px;
    min-height:32px
  }
  .pagination {
    padding:14px;
    flex-wrap:wrap
  }
  .footnote {
    line-height:1.7;
    align-items:flex-start;
    font-size:14px
  }
  .login {
    display:block
  }
  .login-art {
    min-height:230px;
    padding:75px 28px 30px
  }
  .login-art .brand {
    top:23px;
    font-size:20px
  }
  .login-art .brand span {
    display:block
  }
  .login-art .brand img {
    width:30px
  }
  .login-art .eyebrow,.art-lines,.login-art p {
    display:none
  }
  .login-art h1 {
    font-size:31px;
    max-width:300px
  }
  .login-form-wrap {
    padding:45px 28px
  }
  .login-form-wrap .lang {
    top:14px;
    right:20px
  }
  .login-form h2 {
    font-size:25px
  }
  .login-form .subtitle {
    margin-bottom:24px
  }
  dialog {
    width:calc(100vw - 16px);
    max-height:94dvh;
    border-radius:12px
  }
  .dialog-head {
    padding:19px 18px
  }
  .dialog-body {
    padding:20px 18px
  }
  .dialog-footer {
    padding:14px 18px
  }
  .form-grid {
    gap:0 12px
  }
  .detail-grid {
    grid-template-columns:1fr 1fr;
    padding:15px;
    gap:16px
  }
  .detail-hero {
    flex-direction:column
  }
  .raw-grid {
    grid-template-columns:1fr
  }
  .timeline-header {
    flex-wrap:wrap;
    gap:3px
  }
  .settings-card {
    padding:20px
  }
  .user-table th,.user-table td {
    padding:12px
  }
  .audit-list {
    padding:20px
  }
  .import-stats {
    gap:7px
  }
  .import-stats div {
    padding:12px
  }
  .upload-zone {
    padding:24px 15px
  }
  #toast {
    bottom:85px;
    width:max-content;
    max-width:90vw
  }
  .top-actions .lang {
    padding:5px 8px
  }
  .top-actions {
    gap:9px
  }
}
@media(max-width:560px) {
  input,select,textarea,.form-field input,.form-field select,.form-field textarea {
    font-size:16px
  }
  .badge {
    font-size:14px
  }
  .filters select {
    min-height:42px
  }
  .search input {
    min-height:44px
  }
  .row-action .btn {
    min-height:36px
  }
  .icon-btn {
    min-width:36px;
    min-height:36px
  }
}
@media(max-width:560px) {
  .stat { padding:12px 14px; }
  .stat strong { font-size:26px; margin:5px 0 0; }
  .stat small { display:none; }
  .filters select { flex:1 1 calc(50% - 8px); width:auto; min-width:130px; }
  .panel-head .actions { flex-wrap:nowrap; gap:6px; }
  .panel-head .actions .btn { padding:6px 8px; }
}
.filter-toggle { display:none; }
.back-to-top { display:none; }
@media(max-width:560px) {
  .back-to-top:not([hidden]) { position:fixed; right:16px; bottom:calc(84px + env(safe-area-inset-bottom)); z-index:11; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; width:48px; height:48px; padding:11px; border:1px solid #87a48d; border-radius:13px; background:#214d3d; color:white; box-shadow:0 3px 14px #193c3933; }
  .back-to-top svg { width:22px; height:22px; }
  .back-to-top:focus-visible { outline:3px solid #b8d29c; outline-offset:3px; }
}
.orders-panel { overflow:visible; }
.order-multiselect { position:relative; min-width:140px; max-width:240px; font-size:16px; }
.order-multiselect>summary { display:flex; align-items:center; justify-content:space-between; gap:12px; cursor:pointer; list-style:none; min-height:44px; padding:9px 12px; border:1px solid #dfe4da; border-radius:6px; background:white; }
.order-multiselect>summary::-webkit-details-marker { display:none; }
.order-multiselect>summary span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.order-multiselect>summary svg { width:16px; height:16px; flex-shrink:0; }
.order-multiselect.has-selection>summary { border-color:#7e9f73; background:#f0f6eb; }
.order-multiselect>summary:focus-visible { outline:2px solid #31583b; outline-offset:2px; }
.order-filter-menu { position:absolute; right:0; top:calc(100% + 6px); z-index:12; width:300px; max-width:calc(100vw - 32px); border:1px solid #ccd8c6; border-radius:9px; padding:12px; background:white; box-shadow:0 8px 28px #17392624; }
.order-filter-tools { display:flex; gap:12px; align-items:center; padding-bottom:10px; border-bottom:1px solid #e2e9dd; }
.order-filter-tools strong { margin-right:auto; font-size:15px; }
.order-filter-tools button { color:#31583b; font-size:15px; padding:6px 0; }
.order-filter-options { max-height:280px; overflow:auto; overscroll-behavior:contain; padding-top:6px; }
.order-filter-options label { display:flex; align-items:center; gap:10px; min-height:44px; padding:8px 4px; cursor:pointer; overflow-wrap:anywhere; }
.order-filter-options input { width:18px; height:18px; min-height:18px; flex-shrink:0; accent-color:#31583b; }
.order-filter-options label:hover { background:#f1f6ed; }
.filters>[data-action=clear][hidden] { display:none; }
@media(min-width:561px) and (max-width:1000px) {
  .order-multiselect { flex:1 1 calc(50% - 8px); max-width:none; }
  .order-filter-menu { position:static; margin-top:6px; width:100%; max-width:none; box-shadow:none; }
}
@media(max-width:560px) {
  .stats .stat:nth-child(2), .stats .stat:nth-child(3) { display:none; }
  .filter-toggle { display:grid; width:44px; height:44px; }
  .filters .search { min-width:0; flex:1 1 calc(100% - 60px); }
  .filters:not(.expanded)>select,
  .filters:not(.expanded)>.order-multiselect,
  .filters:not(.expanded)>[data-action=date-filter],
  .filters:not(.expanded)>[data-action=clear] { display:none; }
  .order-multiselect { flex:1 1 100%; max-width:none; min-width:0; }
  .order-filter-menu { position:static; margin-top:6px; width:100%; max-width:none; box-shadow:none; }
}

.group-note { padding:0 23px 16px; color:#788574; font-size:14px; }
.order-group { margin:0 16px 18px; border:1px solid #dce5d5; border-radius:9px; overflow:hidden; }
.order-group-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 18px; background:#edf3e6; }
.order-group-head>div { display:flex; align-items:center; gap:12px; min-width:0; }
.order-group-head span { font-size:14px; color:#65785b; }
.group-po { font-size:17px; color:#294d38; overflow-wrap:anywhere; }
.group-count { flex-shrink:0; }
.order-group .order-table { table-layout:fixed; }
.order-group th,.order-group td { padding:14px 12px; }
.order-group th:nth-child(1) { width:6%; }
.order-group th:nth-child(2) { width:27%; }
.order-group th:nth-child(3) { width:15%; }
.order-group th:nth-child(4) { width:12%; }
.order-group th:nth-child(5) { width:24%; }
.order-group th:nth-child(6) { width:16%; }
.week-date { display:block; white-space:normal; font-variant-numeric:tabular-nums; }
.week-warning { display:block; color:#a66127; }
.detail-grid dd small,.raw-grid dd small { display:block; color:#788574; font-size:14px; margin-top:4px; }
.detail-grid dd .week-warning,.raw-grid dd .week-warning { color:#a66127; }
@media(min-width:561px) and (max-width:1100px) {
  .order-group .order-table { min-width:820px; }
}
@media(max-width:560px) {
  .group-note { padding:0 14px 14px; }
  .order-group { margin:0 10px 16px; }
  .order-group-head { padding:13px 12px; flex-wrap:wrap; }
  .order-group-head>div { gap:8px; }
  .group-po { font-size:16px; }
  .order-group-head span { font-size:14px; }
  .order-group .order-table td { padding:0; min-width:0; }
  .order-group .order-table tr { padding:14px 12px; }
  .order-group .row-id { margin-left:0; }
  .order-group .date-cell { white-space:normal; }
  .week-date { font-size:14px; line-height:1.6; }
}

.company-return { display:inline-block; margin-top:22px; font-size:14px; color:#426450; }
.company-return:hover { text-decoration:underline; }

.material-access { margin-top:24px; border-top:1px solid #e0e6dc; padding-top:20px; }
.material-access h3 { font-size:14px; margin-bottom:9px; }
.material-access p { line-height:1.8; }
.material-all { display:flex; gap:10px; align-items:center; margin:16px 0; font-size:14px; }
.material-options { border:1px solid #dfe6d7; padding:8px 14px; border-radius:8px; display:grid; grid-template-columns:1fr 1fr; gap:0 20px; }
.material-options:disabled { opacity:.45; }
.material-options label { margin:0; }
.member-material-summary { max-width:260px; line-height:1.8; }
.material-label { color:#657d68; }
@media(max-width:560px){.material-options { grid-template-columns:1fr; }.material-all { align-items:flex-start; }}

.audit-filter{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:22px}.audit-filter label{font-size:14px;color:var(--muted)}.audit-filter select{min-width:170px;max-width:100%}

.reminder-banner{margin:16px 32px 0;padding:12px 16px;border:1px solid #e6c789;background:#fff8e9;border-radius:12px;display:flex;gap:12px;align-items:center;justify-content:space-between;color:#775018}.reminder-banner[hidden]{display:none}.reminder-banner>span{display:flex;align-items:center;gap:8px}.reminder-banner svg,.loading-reminder svg{width:16px;height:16px;flex-shrink:0}.loading-reminder{display:flex;align-items:center;gap:6px;background:#fff4dc;color:#805713;font-size:14px;border-radius:6px;padding:6px 8px;margin-top:8px;line-height:1.5}.loading-reminder.overdue{background:#fce9e3;color:#9b3e26}.loading-reminder small{display:block}.arrival-summary{margin-top:9px;color:#315c51;font-size:14px;line-height:1.5}.arrival-summary small{color:#597369}.arrival-summary span{white-space:normal}.detail-hero+.loading-reminder{margin-bottom:16px}@media(max-width:600px){.reminder-banner{margin:12px 16px 0;align-items:flex-start;flex-direction:column;font-size:14px}.reminder-banner>span{flex-wrap:wrap}}

.bulk-toolbar{padding:14px 18px;margin:0 16px 16px;border:1px solid #dce5d5;border-radius:9px;background:#f4f8f0}.bulk-toolbar[hidden]{display:none}.bulk-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.bulk-controls label,.line-selection{display:flex;align-items:center;gap:8px;cursor:pointer}.bulk-controls label{font-size:14px}.bulk-controls strong{font-size:14px;color:#315c51}.bulk-toolbar p{font-size:14px;color:#677660;margin:9px 0 0}.select-line,.select-group,#select-page{width:18px;height:18px;min-width:18px;accent-color:#315c51;cursor:pointer}.line-selection{flex-wrap:wrap;gap:5px}.order-table tr.is-selected{background:#f0f6e9}.bulk-preview{list-style:none;padding:0;margin:18px 0 0}.bulk-preview li{display:flex;flex-wrap:wrap;gap:8px;padding:12px 0;border-bottom:1px solid #e7ecdf;font-size:14px}.bulk-preview li>span:not(.badge){flex:1;min-width:140px}.bulk-preview strong{font-size:14px}@media(max-width:560px){.bulk-toolbar{margin:0 10px 14px;padding:12px}.line-selection{flex-wrap:nowrap}.bulk-controls{gap:12px 8px}.bulk-controls>label{flex-basis:100%}.bulk-preview li>strong{flex-basis:100%}}

[data-action="toggle-bulk"][hidden]{display:none}

.import-field-selection{padding:16px;border:1px solid #dce5d5;border-radius:9px;margin:16px 0}.import-field-selection h3,.import-changes h3{margin-bottom:10px}.import-review-row{border-bottom:1px solid #e2e8dc;padding:14px 0;font-size:14px}.import-review-row header{display:flex;flex-wrap:wrap;gap:6px 14px;margin-bottom:8px}.import-review-row header span{flex-basis:100%}.import-row-choice{width:100%;max-width:100%;font-size:14px}.import-review-row .change{margin-top:7px;overflow-wrap:anywhere}.import-blank-note{padding:9px 12px;border-radius:6px;background:#fff6df;color:#805813;font-size:14px;margin:10px 0}.import-other-rows{margin:18px 0}.import-stats{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:560px){.import-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.import-row-choice{font-size:16px}}

#import-review-pending[hidden]{display:none}

/* Shared shipping information belongs to the PO header. */
.order-group-head{align-items:flex-start;flex-wrap:wrap;gap:12px 20px}
.order-group-head>.group-identity{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.order-group-head>.group-delivery{display:flex;flex:1;min-width:220px;gap:10px 24px;flex-wrap:wrap;align-items:flex-start}
.group-shipment{display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:1.6}
.group-port{display:inline-flex;gap:5px;align-items:center;overflow-wrap:anywhere;max-width:180px}
.group-port svg{width:14px;height:14px;flex-shrink:0}
.group-arrival{display:block;color:#597369;font-size:14px;margin-top:3px}
.order-group th:nth-child(1){width:16%}.order-group th:nth-child(2){width:40%}.order-group th:nth-child(3){width:25%}.order-group th:nth-child(4){width:19%}
.product-number{font-size:14px;font-weight:600;overflow-wrap:anywhere}
.inline-status{width:100%;max-width:240px;font-size:14px;min-height:38px;border:1px solid #a9bba0;background:#f3f7ef;color:#254f41;border-radius:7px;padding:7px 8px;cursor:pointer}
.inline-status:disabled{opacity:.65;cursor:wait}
.approval-note{display:block;color:#996724;font-size:14px;line-height:1.5;margin-top:7px}.approval-note.approved{color:#557249}
.approval-button{border-color:#b9bd93;color:#556239;white-space:normal}
@media(min-width:561px) and (max-width:1100px){.order-group .order-table{min-width:620px}}
@media(max-width:560px){
 .order-group-head>.group-delivery{flex-basis:100%;min-width:0}.group-shipment{flex-wrap:wrap;gap:5px 12px}.group-identity .group-count{margin-left:auto}
 .order-group .order-table tr{display:grid;grid-template-columns:1fr auto;gap:11px 12px}
 .order-group .order-table td:nth-child(1){grid-column:1;grid-row:1;text-align:left}
 .order-group .order-table td:nth-child(2){grid-column:1 / -1;grid-row:2;padding:0}
 .order-group .order-table td:nth-child(3){grid-column:1;grid-row:3;text-align:left;padding:0}
 .order-group .order-table td:nth-child(4){grid-column:2;grid-row:3;text-align:right;padding:0;align-self:start}
 .inline-status{font-size:16px;max-width:100%}.order-group .row-action{flex-wrap:wrap;justify-content:flex-end}.approval-note{max-width:190px}
}

/* Readable order data with a distinct, indented product list. */
.order-group-head{padding:20px;gap:18px 24px}
.order-group-head>.group-identity{align-self:flex-start;flex-wrap:wrap}
.group-po{font-size:24px}.order-group-head .group-count{font-size:14px}
.order-group-head>.group-delivery{flex:1;min-width:340px;display:flex;flex-direction:column;gap:20px}
.group-shipment{display:flex;gap:16px;flex-wrap:wrap;width:100%}
.order-group-head .group-port{font-size:20px;font-weight:700;color:#234b3e;max-width:100%;line-height:1.5}
.group-port svg{width:20px;height:20px}
.group-dates{flex:0 1 auto;width:max-content;min-width:0;display:grid;gap:9px}
.schedule-row{display:grid;grid-template-columns:max-content max-content 54px;gap:8px 8px;align-items:start}
.order-group-head .schedule-label{font-size:15px;color:#426151;padding-top:3px}
.order-group-head .schedule-week{font-size:14px;font-weight:400;line-height:1.6;color:#667768;padding-top:5px;font-variant-numeric:tabular-nums}
.order-group-head .schedule-range{font-size:20px;font-weight:700;color:#203e32;line-height:1.5;display:flex;flex-direction:row;flex-wrap:nowrap;white-space:nowrap;gap:0 4px;font-variant-numeric:tabular-nums}
.schedule-range time{white-space:nowrap}
.order-group>.table-scroll{margin-left:24px;border-left:3px solid #d4e1ca;width:calc(100% - 24px)}
.order-group th{font-size:15px}.order-group td{font-size:16px;padding-top:18px;padding-bottom:18px}
.product-name{font-size:18px;line-height:1.5;font-weight:600}.product-number{font-size:18px}
.quantity-line{display:flex;align-items:baseline;gap:10px;margin-top:7px;color:#2e503d}
.quantity-line span{font-size:15px}.quantity-line strong{font-size:22px;font-weight:750;font-variant-numeric:tabular-nums}
.material-label{font-size:14px}.inline-status{font-size:16px;min-height:44px;padding:8px 10px}
.btn,.btn.small{font-size:15px;min-height:40px}.form-field label,.detail-grid dt,.raw-grid dt{font-size:15px}
.form-field input,.form-field select,.form-field textarea,.detail-grid dd,.raw-grid dd,.note-content{font-size:16px}
.week-label{display:block;font-size:14px;font-weight:400;color:#667768;margin-top:4px}.week-date{font-size:20px;font-weight:700;color:#203e32}
.group-settings{padding:24px;margin-bottom:22px}.group-settings p{margin:12px 0 18px;font-size:16px;line-height:1.7}
.visibility-options{border:0;padding:0;grid-template-columns:1fr 1fr}.visibility-options legend{margin:16px 0;font-size:16px}.visibility-options label{align-items:flex-start}.visibility-options span{font-size:16px}.visibility-options input{margin-top:5px}
@media(max-width:560px){
 .order-group-head{padding:16px 12px}.group-po{font-size:23px}
 .order-group-head>.group-delivery,.group-dates{min-width:0;width:100%;flex-basis:100%}
 .group-shipment{display:block}.group-port{margin-bottom:12px}
 .schedule-row{grid-template-columns:76px minmax(0,1fr) 36px;gap:7px}
 .order-group-head .schedule-label{font-size:14px;overflow-wrap:anywhere}.order-group-head .schedule-range{font-size:19px}
 .order-group-head .schedule-week{font-size:14px}.order-group-head .range-dash{display:none}
 .order-group>.table-scroll{margin-left:12px;width:calc(100% - 12px)}
 .order-group .order-table td:nth-child(3){grid-column:1 / -1;grid-row:3}
 .order-group .order-table td:nth-child(4){grid-column:1 / -1;grid-row:4}
 .inline-status{width:100%;max-width:100%;font-size:16px}.visibility-options{grid-template-columns:1fr}
 .nav{overflow-x:auto;justify-content:flex-start}.nav button{flex:0 0 auto;min-width:60px}.nav button span{font-size:14px}
 .panel-head{flex-wrap:wrap;gap:12px}.panel-head .actions{flex-wrap:wrap}
}

.status-confirm-summary>strong{font-size:20px}.status-confirm-summary p{font-size:16px;margin-top:14px}.status-transition{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:24px;padding:18px;background:#edf3e6;border-radius:8px;font-size:20px}.status-transition strong{color:#245943}



/* Separate each PO clearly while retaining its indented products. */
.order-group{border:1px solid #afc1a6;border-top:5px solid #718d72;margin-bottom:32px;box-shadow:0 3px 8px #294d3810;background:#fff}
.order-group-head{border-bottom:1px solid #c9d7bf}
@media(max-width:560px){.order-group{margin-bottom:28px}.group-dates .schedule-row{grid-template-columns:72px minmax(0,1fr) 34px;gap:6px}}

/* Keep the complete requested-loading date range on one line. */
.group-factory{flex-basis:100%;display:flex;align-items:baseline;gap:8px;max-width:520px;font-size:16px;overflow-wrap:anywhere}
.group-factory>span{flex-shrink:0;color:var(--muted);font-size:14px}.group-factory strong{font-weight:600;line-height:1.5}
.product-factory{font-size:16px;line-height:1.5;margin-top:8px;overflow-wrap:anywhere}.product-factory>span{font-size:14px;color:var(--muted)}
.import-audit-batch{border:1px solid #d3ddcc;border-radius:10px;background:#fafcf8;overflow:hidden}
.import-audit-batch>summary{padding:16px;cursor:pointer;list-style-position:inside}
.import-audit-batch>summary .timeline-header{display:flex;margin-bottom:8px}
.import-audit-file,.import-audit-counts{display:block;margin:8px 0;font-size:16px;overflow-wrap:anywhere}
.import-audit-content{padding:0 16px 8px}.import-audit-content .timeline{margin-top:12px}
.audit-product{font-size:16px;line-height:1.6;margin-top:8px;overflow-wrap:anywhere}
.audit-addition{display:inline-block;font-size:14px;color:#385c2c;background:#e8f0e0;padding:2px 7px;border-radius:4px}
.audit-added-details{margin-top:8px}.audit-added-details>summary{font-size:14px;cursor:pointer}
@media(max-width:560px){.import-audit-batch>summary{padding:12px}.import-audit-content{padding:0 8px 8px}.import-audit-content .timeline li{padding-left:12px}.group-factory{max-width:100%}}
@media(max-width:560px){
 .group-dates .schedule-row{grid-template-columns:minmax(0,1fr) auto;gap:3px 10px}
 .schedule-label{grid-column:1;grid-row:1}.schedule-week{grid-column:2;grid-row:1}
 .order-group-head .schedule-range{grid-column:1 / -1;grid-row:2;flex-direction:row;flex-wrap:nowrap;white-space:nowrap}
 .order-group-head .range-dash{display:inline}
}
@media(max-width:350px){.order-group-head .schedule-range{font-size:18px;gap:0 3px}}
.order-table tr.order-fulfilled,.order-table tr.order-fulfilled td{background:#e5f3e6}
.order-table tr.order-fulfilled .product-name,.order-table tr.order-fulfilled .product-number{color:#23623a}
.fulfilled-dot{display:block;width:18px;height:18px;border-radius:50%;background:#009e45;border:2px solid #fff;box-shadow:0 0 0 3px #afdcbf;margin:12px 0 3px 4px}
.split-section{margin-top:22px;padding-top:18px;border-top:1px solid #d4dece}.split-section p{font-size:16px;line-height:1.7;margin:14px 0}
.split-original{font-size:18px;margin:18px 0}.split-batch{display:inline-block;margin-top:8px;padding:3px 8px;background:#edf0e7;color:#526448;border-radius:5px;font-size:14px}
#split-remaining{font-size:20px;padding:10px 0}

/* Import comparisons keep unchanged values and blocked differences reviewable. */
.import-review-row{font-size:16px;padding:22px 0;border-bottom:3px solid #cbd8c6}.import-review-row header>strong{font-size:19px}.import-row-choice{font-size:16px}.import-row-mode{font-weight:700;margin:10px 0;line-height:1.5}
.import-comparison{border:1px solid #dce3d7;border-radius:8px;overflow:hidden;margin-top:12px;font-size:16px}
.comparison-heading,.comparison-line{display:grid;grid-template-columns:1fr 1.4fr 1.4fr 1.6fr;gap:10px;padding:12px;align-items:start}
.comparison-heading{background:#edf2e9;font-weight:700}.comparison-line+.comparison-line{border-top:1px solid #e0e6dc}.comparison-line>*{min-width:0;overflow-wrap:anywhere}.comparison-different{background:#fff5df}.comparison-different .comparison-value{font-weight:700}.comparison-result{font-size:14px;color:#56654f;line-height:1.6}.result-overwrite,.result-new{color:#136b34}.result-status_blocked,.result-permission_blocked,.result-unresolved{color:#a6381f}.result-blank,.result-unselected,.result-skipped,.result-invalid{color:#86570b}.comparison-more,.import-candidate{margin-top:12px}.comparison-more>summary,.import-candidate>summary{cursor:pointer;font-size:16px;padding:8px 0;font-weight:600}
@media(max-width:640px){.comparison-heading{display:none}.comparison-line{grid-template-columns:1fr 1fr;gap:10px;padding:12px}.comparison-field,.comparison-result{grid-column:1/-1}.comparison-value:before{content:attr(data-label);display:block;font-size:14px;font-weight:400;color:#69735f;margin-bottom:5px}.comparison-value{font-size:17px}.comparison-field{font-size:16px}.comparison-result{border-top:1px dashed #d7d9c9;padding-top:6px}}

#import-commit-form .dialog-footer .btn{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:center;line-height:1.5}

.sync-forecast-option{display:flex;gap:10px;align-items:flex-start;font-weight:700;font-size:16px;line-height:1.6}.sync-forecast-option input{margin-top:6px}.forecast-removals{padding:16px;background:#fff3e5;border:2px solid #d69a63;border-radius:8px;margin:18px 0}.forecast-removal{display:grid;gap:8px;padding:12px 0;border-bottom:1px solid #e4c9ac;font-size:16px;overflow-wrap:anywhere}

.import-field-selection{border:2px solid #54836c;background:#f5faf4}.import-field-selection h3{font-size:20px}.import-field-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0}.import-field-tools strong{font-size:16px}.import-field-selection .material-options label{font-size:16px;min-height:44px;padding:8px 0}.import-field-selection input[type=checkbox],.comparison-select input{width:20px;height:20px;min-width:20px;accent-color:#245947}.comparison-select{display:flex;gap:8px;align-items:flex-start;padding:10px 0 0;font-size:16px;font-weight:600;cursor:pointer}.comparison-select input{margin-top:2px}.comparison-select small{display:block;font-size:14px;font-weight:400;margin-top:4px;color:#596753}

.import-overwrite-row{display:flex;align-items:flex-start;gap:10px;padding:14px;background:#edf5ed;border:1px solid #a9c8ae;border-radius:8px;margin:12px 0;font-size:17px;font-weight:700;cursor:pointer}.import-overwrite-row input{width:22px;height:22px;min-width:22px;margin-top:2px;accent-color:#245947}.import-overwrite-row small{display:block;font-weight:400;font-size:14px;margin-top:5px;line-height:1.6}

/* Keep ambiguous Excel rows and their explicit matching actions easy to find. */
.import-pending-matches{border:2px solid #c98b35;background:#fffaf0;padding:16px;border-radius:10px;margin:16px 0}.import-pending-matches h3{font-size:21px;margin-top:0}.import-match-actions{padding:14px;background:#fff0d5;border-radius:8px;margin-top:12px}.import-match-actions p{font-size:16px;line-height:1.7;margin:0 0 12px}.import-candidate{padding:12px;border:1px solid #d6c8ac;border-radius:8px;background:#fff}.import-candidate-action{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;font-size:17px}.import-candidate-action .btn,.import-match-actions .btn{min-height:44px;font-size:16px;white-space:normal}.import-review-row{scroll-margin-top:16px}.import-review-row:focus{outline:2px solid #54836c;outline-offset:4px}
@media(max-width:640px){.import-pending-matches{padding:10px}.import-candidate{padding:8px}.import-candidate-action .btn{width:100%}}

/* A product has one update decision; comparisons show changed fields only. */
.import-simple-summary{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:18px}.import-simple-summary>span{font-size:16px}.import-simple-note{font-size:16px;line-height:1.7;color:#596753;margin:12px 0}.import-row-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:16px 0}.import-sync-simple{display:flex;align-items:flex-start;gap:8px;font-size:15px;line-height:1.5}.import-sync-simple input{width:20px;height:20px;min-width:20px;margin-top:1px;accent-color:#245947}.import-simple-row{padding:18px 0}.import-simple-row>header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.import-simple-row>header>strong{overflow-wrap:anywhere;flex:1;font-size:19px}.import-row-toggle{display:flex;align-items:center;gap:9px;cursor:pointer;font-size:17px;font-weight:700;min-height:44px;color:#245947}.import-row-toggle input{width:24px;height:24px;accent-color:#245947}.import-differences{margin-top:12px;border:1px solid #d6ddce;border-radius:8px;overflow:hidden}.import-diff,.import-diff-head{display:grid;grid-template-columns:1fr 1.5fr 1.5fr;gap:12px;padding:12px;font-size:16px;line-height:1.6}.import-diff-head{background:#edf2e9;font-weight:600}.import-diff+.import-diff{border-top:1px solid #e2e5dc}.import-diff>*{min-width:0;overflow-wrap:anywhere}.diff-before{color:#795441;background:#fff4e9;border-radius:4px;padding:2px 6px}.diff-after{color:#1e5939;background:#edf7ee;border-radius:4px;padding:2px 6px;font-weight:700}.diff-after small{display:block;font-size:14px;font-weight:400;color:#8b5c16}.import-match-prompt,.import-candidate-title{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:10px 0;font-size:16px;line-height:1.6}.import-match-candidate{border-top:1px solid #ddc9a7;padding:10px 0}.import-pending-matches .import-simple-row:last-child{border-bottom:0}.import-simple-row:focus:not(:focus-visible){outline:none}#import-commit-form[aria-busy=true] .dialog-body{opacity:.65}
@media(max-width:640px){.import-diff-head{display:none}.import-diff{grid-template-columns:1fr 1fr;gap:8px;padding:10px}.import-diff>strong{grid-column:1/-1}.diff-before:before,.diff-after:before{content:attr(data-label);display:block;font-size:14px;font-weight:400;color:#66705f;margin-bottom:4px}.import-candidate-title .btn{width:100%}.import-simple-summary{font-size:17px}.import-simple-row>header>strong{font-size:18px}}
#import-commit-form [hidden]{display:none!important}

.import-simple-row[data-update="false"] .diff-after{background:#f2f2ee;color:#53594e}

dialog:has(#import-commit-form){overflow-anchor:none;scroll-behavior:auto}#import-commit-form .dialog-footer>.inline-error{flex-basis:100%;margin:0;max-height:90px;overflow:auto;font-size:16px}#import-commit-form .dialog-footer>.inline-error:empty{display:none}.import-remaining,.import-empty-selection{margin-right:auto;font-size:15px}.import-empty-selection{flex-basis:100%;color:#66705f}.import-candidate-title .btn:disabled{background:#eceee7;color:#68735e;border-color:#d5dacd;opacity:1;cursor:not-allowed}

.import-split-group{border:2px solid #71947b;border-radius:10px;padding:16px;margin:18px 0;background:#fafcf8}.import-split-total{font-size:19px;font-weight:700;line-height:1.7;margin:14px 0}.import-split-batch{padding:12px 0;border-top:1px solid #d3decd;font-size:17px}.import-split-group[data-update="false"] .diff-after{background:#f2f2ee;color:#53594e}@media(max-width:640px){.import-split-group{padding:12px}.import-split-total{font-size:18px}}

.import-new-status{font-size:18px;line-height:1.6;margin:12px 0}.import-new-status strong{color:#245947}.import-batch-controls{padding:12px 16px;margin:0;border-top:1px solid #d3ddcc}.undo-counts{font-size:19px;font-weight:700;line-height:1.7}

/* Keep each product on one readable line; narrow screens scroll within its PO. */
.order-group .order-table{display:table;table-layout:auto;min-width:1050px;width:100%}
.order-group .order-table thead{display:table-header-group}
.order-group .order-table tbody{display:table-row-group}
.order-group .order-table tr{display:table-row;padding:0}
.order-group .order-table th,.order-group .order-table td{display:table-cell;width:auto;white-space:nowrap;overflow-wrap:normal;text-align:left;padding:12px 14px;vertical-align:middle}
.order-group .order-table .product{max-width:330px;min-width:200px}
.order-group .product-name{display:inline-block;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}
.order-group .product-number{white-space:nowrap;overflow-wrap:normal}
.order-group .line-selection{display:inline-flex;flex-wrap:nowrap;vertical-align:middle}
.order-group .fulfilled-dot{display:inline-block;vertical-align:middle;margin:0 0 0 10px;width:16px;height:16px}
.order-group .quantity-cell strong{font-size:22px;font-variant-numeric:tabular-nums;color:#2e503d}
.order-group .split-batch{margin:0 0 0 10px;vertical-align:middle}
.order-group .loading-reminder{display:inline-flex;vertical-align:middle;margin:0 0 0 10px;white-space:nowrap}
.order-group .inline-status{width:200px;max-width:none;min-height:42px}
.order-group .row-action{display:flex;flex-wrap:nowrap;justify-content:flex-start;white-space:nowrap}
.order-group .order-table td:before{display:none}
.member-factory-summary{max-width:300px;line-height:1.7}

.order-group .product-inline{display:flex;align-items:center;gap:8px;max-width:300px;min-width:0}.order-group .product-inline .product-name{flex:1;min-width:0}.order-group .product-inline .split-batch{flex:none;margin:0}.loading-reminder-compact{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-left:8px;vertical-align:middle;background:#fff1d6;color:#94600b;border-radius:50%}.loading-reminder-compact svg{width:18px;height:18px}

.writeback-change{padding:14px 0;border-bottom:1px solid #dce3d7;font-size:16px;line-height:1.8}.writeback-change strong{display:block}.writeback-change>div{overflow-wrap:anywhere}.panel-head .actions{flex-wrap:wrap}

.writeback-change .diff-before:before,.writeback-change .diff-after:before{display:none}.writeback-change .diff-before,.writeback-change .diff-after{display:inline-block;white-space:normal;margin:4px 0}

/* Order statistics: readable charts, local scrolling, no third-party chart service. */
.analytics-filters {padding:24px;margin-bottom:20px}
.analytics-filter-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.analytics-filter-grid label {display:flex;flex-direction:column;gap:6px;font-size:16px;font-weight:550;min-width:0}
.analytics-filter-grid select,.analytics-filter-grid input,.analytics-filter-bottom input,.analytics-display select,.analytics-context select {min-width:0;width:100%;min-height:44px;border:1px solid #ccd5ce;border-radius:8px;background:#fff;padding:8px 10px;color:#243b36;font-size:16px}
.analytics-filter-bottom {display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:20px}
.analytics-filter-bottom>input {flex:1 1 230px;width:auto}
.analytics-presets {display:flex;flex-wrap:wrap;gap:8px}
.analytics-display,.analytics-context {display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:20px 0}
.analytics-display label,.analytics-context label {display:flex;align-items:center;gap:8px;white-space:nowrap}
.analytics-display select,.analytics-context select {width:auto}
.analytics-cards-select {display:flex;flex-wrap:wrap;gap:12px 20px}
.analytics-cards-select input {width:18px;height:18px;accent-color:#28764a}
.analytics-summary {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.analytics-kpi {display:flex;flex-direction:column;padding:20px 24px;gap:6px;min-width:0}
.analytics-kpi>span {font-size:17px}
.analytics-kpi>strong {font-size:34px;line-height:1.3;font-weight:650;overflow-wrap:anywhere;color:#183e36;font-variant-numeric:tabular-nums}
.analytics-kpi>small {font-size:15px;color:#586e64}
.analytics-context>span {font-size:15px;color:#586e64}
.analytics-notice {padding:12px 16px;background:#fff5dc;border-radius:8px;color:#725929;font-size:16px;margin-bottom:16px}
.analytics-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.analytics-card {min-width:0;padding:24px}
.analytics-card-title {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px;flex-wrap:wrap}
.analytics-card-title h2 {font-size:21px}
.analytics-card-title>span {color:#586e64;font-size:15px}
.analytics-wide {grid-column:1/-1}
.analytics-donut-layout {display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.analytics-donut {position:relative;flex:0 0 220px;margin:0 auto;width:220px;height:220px}
.analytics-donut svg {width:220px;height:220px;stroke:none;stroke-linecap:butt}
.analytics-donut>div {position:absolute;inset:55px;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}
.analytics-donut strong {font-size:24px;line-height:1.3;text-align:center;overflow-wrap:anywhere;max-width:115px}
.analytics-donut span {font-size:15px;color:#586e64;text-align:center}
.analytics-status-legend {flex:1 1 220px;display:grid;gap:8px;min-width:0}
.analytics-status-legend button {width:100%;display:grid;grid-template-columns:12px minmax(0,1fr) auto auto;gap:10px;align-items:center;text-align:left;padding:8px 0;border-bottom:1px solid #edf0eb;font-size:16px}
.analytics-status-legend button:hover {background:#f3f6f0}
.analytics-status-legend button>span:last-child {min-width:54px;text-align:right;color:#586e64;font-size:15px}
.analytics-status-legend i,.analytics-stage-legend i {display:inline-block;width:11px;height:11px;border-radius:3px;flex-shrink:0}
.analytics-group-list {max-height:520px;overflow-y:auto;padding-right:6px}
.analytics-group {padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid #edf0eb}
.analytics-group:last-child {margin-bottom:0}
.analytics-group-heading {display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;flex-wrap:wrap}
.analytics-group-heading button {font-size:18px;font-weight:600;padding:0;text-align:left;overflow-wrap:anywhere}
.analytics-group-heading button:hover {text-decoration:underline}
.analytics-group-heading strong {font-size:18px;font-variant-numeric:tabular-nums}
.analytics-group-heading small {font-size:15px;font-weight:400;color:#586e64}
.analytics-stack {display:flex;overflow:hidden;height:20px;border-radius:5px;background:#edf0eb}
.analytics-stack span {height:100%}
.analytics-group-rates {display:flex;gap:16px;justify-content:space-between;margin-top:8px;font-size:15px;flex-wrap:wrap;color:#586e64}
.analytics-group-rates b {color:#243b36;font-size:17px;margin-left:6px}
.analytics-stage-legend {display:flex;flex-wrap:wrap;gap:8px 16px;font-size:15px;color:#586e64;margin-top:20px}
.analytics-stage-legend span {display:flex;gap:6px;align-items:center}
.analytics-time-scroll {overflow-x:auto;max-width:100%;padding-bottom:8px}
.analytics-time-chart {display:flex;min-width:100%;width:max-content;gap:12px;padding:8px 2px}
.analytics-time-column {flex:1 0 75px;width:75px;text-align:center;display:flex;flex-direction:column;gap:8px;font-size:15px;font-variant-numeric:tabular-nums}
.analytics-time-column>strong {font-weight:550;white-space:nowrap}
.analytics-time-track {height:210px;position:relative;border-bottom:1px solid #becac0;background:repeating-linear-gradient(to top,transparent 0,transparent 51px,#edf0eb 51px,#edf0eb 52px)}
.analytics-time-stack {position:absolute;bottom:0;left:15%;width:70%;display:flex;flex-direction:column-reverse;border-radius:4px 4px 0 0;overflow:hidden}
.analytics-time-stack span {width:100%;flex-shrink:0}
.analytics-table-scroll {overflow:auto;max-width:100%;max-height:560px}
.analytics-table {width:100%;border-collapse:collapse;font-size:16px;min-width:640px}
.analytics-table th,.analytics-table td {padding:12px;text-align:right;white-space:nowrap;border-bottom:1px solid #e3e9e2}
.analytics-table th:first-child {text-align:left}
.analytics-table thead th {background:#f3f6f0;color:#475f53;font-size:15px;position:sticky;top:0;z-index:1}
.analytics-table tbody th {font-weight:500}
.analytics-definitions {padding:18px 24px;margin-top:20px;font-size:16px}
.analytics-definitions summary {cursor:pointer;font-weight:550}
.analytics-definitions ul {padding-left:20px;margin-bottom:0;color:#586e64}
.analytics-definitions li {margin:10px 0}
@media(min-width:1650px) {.analytics-summary{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:1150px) {.analytics-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-grid{grid-template-columns:minmax(0,1fr)}.analytics-wide{grid-column:auto}}
@media(max-width:600px) {
 .analytics-filters,.analytics-card{padding:18px 14px}
 .analytics-filter-grid{gap:14px 10px}
 .analytics-filter-grid label{font-size:15px}
 .analytics-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .analytics-kpi{padding:16px 12px}
 .analytics-kpi>strong{font-size:28px}
 .analytics-kpi>small{font-size:14px}
 .analytics-card-title h2{font-size:20px}
 .analytics-cards-select{gap:12px}
 .analytics-context label{white-space:normal;flex-wrap:wrap}
 .analytics-context select{max-width:100%}
 .analytics-stage-legend{gap:8px 12px}
 .analytics-definitions{padding:16px}
 .analytics-status-legend button{gap:7px}
}
@media(max-width:360px) {.analytics-filter-grid{grid-template-columns:minmax(0,1fr)}.analytics-summary{grid-template-columns:minmax(0,1fr)}}
.analytics-chart-note {font-size:15px;color:#586e64;margin-top:16px}
.analytics-timeline-measure {display:flex;align-items:center;gap:8px;font-size:15px;flex-wrap:wrap}
.analytics-timeline-measure select {max-width:100%;min-height:42px;padding:6px 10px;border:1px solid #ccd5ce;border-radius:8px;background:#fff;color:#243b36;font-size:16px}
.analytics-status-legend {flex-basis:400px;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}
.analytics-group-list {max-height:none;overflow:visible}
@media(max-width:700px) {.analytics-status-legend{grid-template-columns:minmax(0,1fr);flex-basis:220px}}
/* Keep all navigation destinations reachable without shrinking labels. */
@media(max-width:560px) {
  .nav { overflow-x:auto; overflow-y:hidden; justify-content:flex-start; }
  .nav button { flex:0 0 auto; min-width:76px; padding:10px 12px 6px; }
  .nav button span { white-space:nowrap; flex-shrink:0; }
}
.stats-condition-builder {margin-top:22px;border-top:1px solid #dce4db;padding-top:18px}
.condition-heading {display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;margin-bottom:14px}
.condition-heading strong {font-size:18px}
.condition-heading span,.condition-choices>span {font-size:15px;color:#586e64}
.condition-list {display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.condition-chip {display:inline-flex;align-items:center;gap:8px;background:#edf4e8;border:1px solid #c6d6bd;padding:7px 10px;border-radius:8px;max-width:100%;overflow-wrap:anywhere;flex-wrap:wrap;font-size:16px}
.condition-chip button {font-size:23px;line-height:1;width:30px;min-height:30px;margin-left:4px;flex-shrink:0}
.condition-inputs {display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.7fr) minmax(0,1.3fr) auto;gap:12px;align-items:end}
.condition-inputs label,.condition-choices label {display:flex;flex-direction:column;gap:6px;min-width:0;font-size:16px}
.condition-inputs select,.condition-inputs input,.condition-choices select {width:100%;min-width:0;min-height:44px;padding:8px 10px;border:1px solid #ccd5ce;border-radius:8px;background:white;color:#243b36;font-size:16px}
.condition-choices {display:flex;align-items:end;gap:16px;margin-top:12px;flex-wrap:wrap}
.condition-choices label {flex:1 1 320px;max-width:620px}
.audit-search-panel {padding:24px;margin-bottom:20px}
.audit-matched-count {font-size:16px;color:#586e64;margin-bottom:20px}
@media(max-width:1000px){.condition-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.condition-inputs{grid-template-columns:minmax(0,1fr)}.audit-search-panel{padding:18px 14px}.condition-choices label{flex-basis:100%}}
.query-library {padding:16px 22px;margin:20px 0;font-size:16px}
.query-library>summary {cursor:pointer;font-size:18px;font-weight:600}
.query-library-toolbar {display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}
.query-library-columns {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.query-library-columns>section {min-width:0}
.query-library-columns h3 {font-size:18px;margin-bottom:10px}
.query-library-columns [data-query-history],.query-library-columns [data-query-favorites] {max-height:440px;overflow:auto}
.query-library-row {padding:12px 0;border-bottom:1px solid #e1e7dd}
.query-reuse {display:flex;flex-direction:column;gap:6px;text-align:left;width:100%;padding:0;overflow-wrap:anywhere;font-size:16px}
.query-reuse strong {font-weight:550;color:#245947}
.query-reuse:hover strong {text-decoration:underline}
.query-reuse span {font-size:15px}
.query-reuse small,.query-library-note {font-size:14px;color:#586e64}
.query-row-actions {display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.query-library-note {margin-top:14px}
.query-dialog-summary {font-size:16px;overflow-wrap:anywhere;margin-bottom:18px}
@media(max-width:800px){.query-library-columns{grid-template-columns:minmax(0,1fr)}.query-library{padding:16px}}
.analytics-filter-grid select,.condition-inputs select,.condition-choices select {max-width:none}
