* { box-sizing: border-box; }
html { min-height: 100%; background: #f4f8ff; }
body {
  min-height: 100vh;
  margin: 0;
  color: #111827;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at 12% 8%, rgba(63, 142, 255, .26), transparent 30%),
    radial-gradient(circle at 88% 12%, rgba(120, 216, 255, .28), transparent 32%),
    linear-gradient(145deg, #f7fbff 0%, #eef5ff 48%, #f8fbff 100%);
}
a { color: inherit; text-decoration: none; }
.topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 22px;
  color: #0f172a;
  font-size: 14px;
  background: rgba(255, 255, 255, .72);
  border-bottom: 1px solid rgba(255, 255, 255, .72);
  box-shadow: 0 18px 42px rgba(15, 23, 42, .08);
  backdrop-filter: blur(22px) saturate(180%);
}
.top-left, .top-right { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.top-left span, .top-right span {
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.58);
  color: #334155;
  font-weight: 700;
}
.top-recharge-link {
  min-height: 32px;
  display: inline-grid;
  place-items: center;
  padding: 6px 12px;
  border: 1px solid rgba(37, 99, 235, .24);
  border-radius: 999px;
  color: #fff;
  font-size: 14px;
  font-weight: 850;
  background: linear-gradient(135deg, #3b82f6, #2563eb);
  box-shadow: 0 12px 22px rgba(37, 99, 235, .20), inset 0 1px 0 rgba(255,255,255,.25);
  white-space: nowrap;
}
.top-recharge-link:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 26px rgba(37, 99, 235, .24), inset 0 1px 0 rgba(255,255,255,.28);
}
.mobile-menu-state { display: none; }
.mobile-menu-toggle {
  display: none;
  width: 42px;
  height: 42px;
  place-items: center;
  gap: 4px;
  padding: 0;
  border: 1px solid rgba(147, 197, 253, .52);
  border-radius: 15px;
  background: rgba(239, 246, 255, .88);
  color: #2563eb;
  box-shadow: 0 12px 26px rgba(37, 99, 235, .10), inset 0 1px 0 rgba(255,255,255,.90);
}
.mobile-menu-toggle span {
  width: 17px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  transition: transform .18s ease, opacity .18s ease;
}
.mobile-menu-toggle[aria-expanded="true"] span:nth-child(1),
.mobile-menu-state:checked + .topbar .mobile-menu-toggle span:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}
.mobile-menu-toggle[aria-expanded="true"] span:nth-child(2),
.mobile-menu-state:checked + .topbar .mobile-menu-toggle span:nth-child(2) {
  opacity: 0;
}
.mobile-menu-toggle[aria-expanded="true"] span:nth-child(3),
.mobile-menu-state:checked + .topbar .mobile-menu-toggle span:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}
.inventory-topbar {
  height: auto;
  min-height: 70px;
  padding-top: 9px;
  padding-bottom: 9px;
}
.inventory-top-brief {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  min-height: 48px;
  padding: 5px 12px 5px 5px;
  border: 1px solid rgba(191, 219, 254, .62);
  border-radius: 18px;
  background: rgba(255, 255, 255, .68);
  box-shadow: 0 12px 28px rgba(37, 99, 235, .08);
}
.inventory-top-brief a {
  min-height: 38px;
  display: grid;
  place-items: center;
  padding: 0 13px;
  border-radius: 14px;
  color: #1d4ed8;
  background: rgba(239, 246, 255, .96);
  font-size: 14px;
  font-weight: 920;
}
.inventory-top-brief strong {
  display: block;
  color: #0f172a;
  font-size: 18px;
  font-weight: 950;
  line-height: 1.1;
}
.inventory-top-brief small {
  display: block;
  margin-top: 3px;
  color: #64748b;
  font-size: 12px;
  font-weight: 820;
  line-height: 1.2;
}
.shell { display: grid; grid-template-columns: 252px 1fr; min-height: calc(100vh - 58px); gap: 18px; padding: 18px; }
.mobile-menu-backdrop { display: none; }
.sidebar {
  align-self: start;
  position: sticky;
  top: 76px;
  padding: 16px;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 28px;
  background:
    radial-gradient(circle at 20% 0%, rgba(96,165,250,.18), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.72), rgba(248,251,255,.58));
  box-shadow: 0 28px 80px rgba(37, 99, 235, .10), inset 0 1px 0 rgba(255,255,255,.90);
  backdrop-filter: blur(26px) saturate(185%);
}
.quick-order-search {
  position: relative;
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0 0 16px;
  padding: 7px;
  border: 1px solid rgba(255,255,255,.78);
  border-radius: 18px;
  background: rgba(255,255,255,.72);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.86),
    0 14px 32px rgba(37, 99, 235, .08);
}
.quick-order-search input {
  height: 38px;
  padding: 8px 38px 8px 12px;
  border: 1px solid rgba(148, 163, 184, .24);
  border-radius: 13px;
  background: rgba(248,251,255,.82);
  color: #1f2937;
  font-size: 13px;
  font-weight: 650;
  box-shadow: none;
}
.quick-order-search input::placeholder {
  color: rgba(100, 116, 139, .62);
  font-weight: 500;
}
.quick-order-search button {
  position: absolute;
  right: 12px;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  padding: 0;
  border-radius: 10px;
  color: #2563eb;
  background: rgba(59, 130, 246, .12);
  box-shadow: none;
  font-size: 16px;
  line-height: 1;
  transition: transform .16s ease, background .16s ease;
}
.quick-order-search button:hover {
  transform: translateY(-1px);
  background: rgba(59, 130, 246, .20);
}
.quick-order-search button:active {
  transform: scale(.94);
}
.menu-title {
  padding: 10px 10px 8px;
  color: #172033;
  font-size: 15px;
  font-weight: 860;
  letter-spacing: 0;
}
.menu-item {
  position: relative;
  min-height: 46px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  margin: 5px 0;
  padding: 6px 11px 6px 7px;
  border: 1px solid transparent;
  border-radius: 18px;
  color: #475569;
  font-size: 15px;
  font-weight: 720;
  letter-spacing: 0;
  transition: transform .16s ease, color .16s ease, background .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.menu-item::before {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: #64748b;
  background: rgba(255,255,255,.68);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.82), 0 8px 18px rgba(15,23,42,.04);
  font-size: 15px;
  font-weight: 700;
}
.menu-item[href="/services"]::before { content: "▤"; }
.menu-item[href="/query"]::before { content: "↗"; }
.menu-item[href="/orders"]::before { content: "⌁"; }
.menu-item[href="#"]::before { content: "¥"; }
.menu-item[href="/support"]::before { content: "✉"; }
.menu-item[href="/balance-logs"]::before { content: "≡"; }
.menu-item[href="/inventory"]::before { content: "▣"; }
.menu-item[href="/batch-tool"]::before { content: "⌘"; }
.menu-item[href="/member"]::before { content: "♙"; }
.menu-item:hover {
  color: #1d4ed8;
  border-color: rgba(147,197,253,.44);
  background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(239,246,255,.66));
  box-shadow: 0 12px 24px rgba(37,99,235,.09), inset 0 1px 0 rgba(255,255,255,.90);
  transform: translateX(2px);
}
.menu-item:hover::before {
  color: #fff;
  background: linear-gradient(145deg, #60a5fa, #3b82f6);
  box-shadow: 0 10px 20px rgba(59,130,246,.20), inset 0 1px 0 rgba(255,255,255,.28);
}
.content { min-width: 0; width: 100%; }
.batch-full-content {
  min-width: 0;
  width: 100%;
  min-height: calc(100vh - 58px);
  padding: 18px;
}
.inventory-full-content {
  min-width: 0;
  width: 100%;
  min-height: 100vh;
  padding: 10px;
  background: #f5f7fb;
  overflow: hidden;
}

.desktop-app {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 760px;
  display: grid;
  grid-template-columns: 232px minmax(0, 1fr);
  overflow: hidden;
  color: #0b1736;
  background: linear-gradient(135deg, #edf4ff 0%, #f8fbff 46%, #eef4fc 100%);
  transition: grid-template-columns .22s ease;
}

.desktop-app-compact {
  grid-template-columns: 76px minmax(0, 1fr);
}

.desktop-app svg {
  width: 1em;
  height: 1em;
  display: block;
}

.desktop-sidebar {
  position: relative;
  min-width: 0;
  height: 100vh;
  min-height: 760px;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  overflow: hidden;
  padding: 24px 12px 30px;
  color: #fff;
  background:
    linear-gradient(180deg, rgba(61, 137, 255, .24), rgba(4, 38, 105, 0) 26%),
    linear-gradient(154deg, #184893 0%, #0a3477 39%, #06265d 72%, #031b46 100%);
  box-shadow: inset -1px 0 0 rgba(255, 255, 255, .16), 24px 0 48px rgba(16, 42, 95, .10);
  transition: transform .22s ease, box-shadow .22s ease;
}

.desktop-sidebar::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(255,255,255,.10), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.10), transparent 80%);
}

.desktop-app-compact .desktop-sidebar {
  padding: 18px 8px;
  box-shadow: inset -1px 0 0 rgba(255, 255, 255, .14), 12px 0 30px rgba(16, 42, 95, .08);
}

.desktop-brand {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 52px;
  padding: 0 14px 18px;
}

.desktop-app-compact .desktop-brand {
  justify-content: center;
  gap: 0;
  min-height: 42px;
  padding: 0 0 18px;
}

.desktop-logo {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  color: #fff;
  filter: drop-shadow(0 10px 18px rgba(7, 92, 255, .26));
}

.desktop-logo svg {
  width: 40px;
  height: 40px;
}

.desktop-logo img {
  display: block;
  width: 42px;
  height: 42px;
  object-fit: contain;
}

.desktop-app-compact .desktop-logo,
.desktop-app-compact .desktop-logo svg {
  width: 34px;
  height: 34px;
}

.desktop-app-compact .desktop-logo img {
  width: 36px;
  height: 36px;
}

.desktop-brand strong {
  min-width: 0;
  color: #f8fbff;
  font-size: 18px;
  font-weight: 880;
  line-height: 1.1;
  letter-spacing: 0;
  white-space: nowrap;
}

.desktop-app-compact .desktop-brand strong {
  display: none;
}

.desktop-nav {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 14px;
  padding-top: 14px;
}

.desktop-app-compact .desktop-nav {
  gap: 10px;
  padding-top: 10px;
}

.desktop-nav-item {
  width: 100%;
  appearance: none;
  min-height: 54px;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 0 15px;
  border: 1px solid transparent;
  border-radius: 15px;
  color: rgba(246, 250, 255, .86);
  background: transparent;
  text-align: left;
  font-family: inherit;
  font-size: 16px;
  font-weight: 840;
  line-height: 1;
  letter-spacing: 0;
  cursor: pointer;
  transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.desktop-app-compact .desktop-nav-item {
  min-height: 54px;
  grid-template-columns: 1fr;
  justify-items: center;
  gap: 0;
  padding: 0;
  border-radius: 14px;
}

.desktop-app-compact .desktop-nav-item span {
  display: none;
}

.desktop-nav-item svg {
  width: 25px;
  height: 25px;
}

.desktop-app-compact .desktop-nav-item svg {
  width: 26px;
  height: 26px;
}

.desktop-nav-item svg path,
.desktop-nav-item svg circle {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.85;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.desktop-nav-item.active {
  color: #fff;
  background: linear-gradient(135deg, #4a99ff 0%, #1269f2 100%);
  border-color: rgba(138, 197, 255, .56);
  box-shadow: 0 18px 36px rgba(20, 105, 238, .38), inset 0 1px 0 rgba(255,255,255,.34);
}

.desktop-nav-item:hover {
  transform: translateX(2px);
  background: rgba(46, 113, 229, .42);
  border-color: rgba(138, 197, 255, .26);
}

.desktop-app-compact .desktop-nav-item:hover {
  transform: none;
}

.desktop-nav-item.active:hover {
  background: linear-gradient(135deg, #4b96ff 0%, #1269ee 100%);
}

.desktop-cube-wrap {
  position: relative;
  z-index: 1;
  align-self: end;
  display: grid;
  place-items: center;
  min-height: 240px;
  margin: 0 0 6px;
}

.desktop-app-compact .desktop-cube-wrap {
  display: none;
}

.desktop-cube-wrap::before {
  content: "";
  position: absolute;
  width: 190px;
  height: 190px;
  bottom: 4px;
  background:
    linear-gradient(135deg, rgba(47, 141, 255, .38), rgba(12, 72, 174, .05)),
    linear-gradient(45deg, rgba(33, 135, 255, .24) 25%, transparent 25%, transparent 50%, rgba(33, 135, 255, .18) 50%, rgba(33, 135, 255, .18) 75%, transparent 75%);
  background-size: auto, 36px 36px;
  transform: perspective(260px) rotateX(62deg) rotateZ(-34deg);
  border-radius: 22px;
  filter: blur(.2px);
}

.desktop-cube {
  position: relative;
  width: 118px;
  height: 118px;
  display: grid;
  place-items: center;
  border-radius: 30px;
  background: linear-gradient(145deg, rgba(52, 145, 255, .50), rgba(26, 91, 214, .18));
  box-shadow:
    0 24px 34px rgba(0, 101, 255, .33),
    inset 0 1px 0 rgba(255,255,255,.42),
    inset 0 -18px 28px rgba(16, 77, 199, .26);
}

.desktop-cube span {
  position: absolute;
  width: 86px;
  height: 86px;
  border: 1px solid rgba(155, 211, 255, .68);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(55, 154, 255, .62), rgba(93, 193, 255, .20));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.55), 0 14px 24px rgba(10, 87, 213, .30);
  transform: perspective(220px) rotateX(58deg) rotateZ(-45deg);
}

.desktop-cube span:nth-child(1) { top: 10px; }
.desktop-cube span:nth-child(2) { top: 35px; opacity: .82; }
.desktop-cube span:nth-child(3) { top: 60px; opacity: .66; }

.desktop-main {
  grid-column: 2;
  min-width: 0;
  height: 100vh;
  min-height: 760px;
  display: grid;
  grid-template-rows: 62px minmax(0, 1fr);
  overflow: hidden;
  background: linear-gradient(180deg, #f7faff 0%, #f1f6fd 100%);
}

.desktop-topbar {
  height: 62px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  padding: 0 22px 0 30px;
  background: rgba(255, 255, 255, .94);
  border-bottom: 1px solid rgba(222, 232, 247, .78);
  box-shadow: 0 10px 24px rgba(20, 43, 86, .04);
  backdrop-filter: blur(18px) saturate(145%);
}

.desktop-top-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 40px;
  padding: 4px;
  border: 1px solid rgba(220, 230, 245, .62);
  border-radius: 999px;
  background: rgba(248, 251, 255, .72);
  color: #14234c;
  font-size: 14px;
  font-weight: 780;
  white-space: nowrap;
}

.desktop-user-chip,
.desktop-balance-chip,
.desktop-status-chip {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 32px;
}

.desktop-user-menu-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.desktop-user-chip {
  padding: 0 8px 0 0;
  border: 0;
  border-radius: 999px;
  color: #14234c;
  background: transparent;
  box-shadow: none;
  font: inherit;
  font-weight: 820;
  line-height: 1;
}

.desktop-user-chip:hover {
  background: rgba(230, 240, 255, .72);
  box-shadow: none;
  transform: none;
}

.desktop-user-chip svg {
  width: 28px;
  height: 28px;
  padding: 5px;
  border-radius: 50%;
  color: #0f74ff;
  background: linear-gradient(180deg, #e9f3ff, #cfe2ff);
}

.desktop-user-chip svg path,
.desktop-user-chip svg circle,
.desktop-balance-chip svg path,
.desktop-status-chip svg path {
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.desktop-user-chip i {
  width: 6px;
  height: 6px;
  margin-left: 2px;
  border-right: 2px solid #48608c;
  border-bottom: 2px solid #48608c;
  transform: rotate(45deg) translateY(-2px);
  transition: transform .16s ease;
}

.desktop-user-chip.open i {
  transform: rotate(225deg) translate(-2px, -1px);
}

.desktop-user-dropdown {
  position: absolute;
  top: 42px;
  right: 0;
  z-index: 80;
  width: 126px;
  padding: 6px;
  border: 1px solid rgba(211, 224, 244, .86);
  border-radius: 12px;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 18px 36px rgba(15, 35, 80, .16);
  opacity: 0;
  pointer-events: none;
  transform: translateY(-4px);
  transition: opacity .16s ease, transform .16s ease;
}

.desktop-user-dropdown.open {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.desktop-user-dropdown button {
  width: 100%;
  height: 34px;
  padding: 0 12px;
  border: 0;
  border-radius: 9px;
  color: #dc2626;
  background: transparent;
  box-shadow: none;
  font-size: 13px;
  font-weight: 860;
  line-height: 1;
  text-align: left;
}

.desktop-user-dropdown button:hover {
  background: #fff1f2;
  box-shadow: none;
  transform: none;
}

.desktop-balance-chip {
  min-height: 32px;
  padding: 0 10px;
  border-radius: 999px;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(218, 228, 244, .78);
}

.desktop-balance-chip svg {
  width: 28px;
  height: 28px;
  padding: 5px;
  border-radius: 9px;
  color: #0f7bff;
  background: linear-gradient(135deg, #1f86ff, #1269e8);
  stroke: #fff;
}

.desktop-balance-chip span {
  color: #33445f;
  font-size: 13px;
  font-weight: 820;
}

.desktop-balance-chip strong {
  color: #0873ff;
  font-size: 15px;
  font-weight: 900;
}

.desktop-recharge-button {
  height: 32px;
  padding: 0 14px;
  border: 1px solid rgba(25, 118, 255, .18);
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(180deg, #3b8cff, #146ff2);
  box-shadow: 0 8px 18px rgba(37, 99, 235, .18);
  font-size: 13px;
  font-weight: 880;
  line-height: 1;
}

.desktop-recharge-button:hover {
  background: linear-gradient(180deg, #267dff, #0f63df);
  transform: translateY(-1px);
}

.desktop-recharge-button:active {
  transform: translateY(0);
}

.desktop-status-chip {
  gap: 8px;
  min-height: 32px;
  padding: 0 14px 0 10px;
  border-radius: 999px;
  border: 1px solid transparent;
}

.desktop-status-chip.connected {
  color: #078a42;
  background: linear-gradient(180deg, #e5faee, #d7f6e5);
  border-color: rgba(34, 197, 94, .18);
}

.desktop-status-chip.disconnected {
  color: #dc2626;
  background: linear-gradient(180deg, #fff0f0, #fee2e2);
  border-color: rgba(239, 68, 68, .18);
}

.desktop-status-chip svg {
  width: 22px;
  height: 22px;
  padding: 3px;
  border-radius: 50%;
  color: #fff;
}

.desktop-status-chip.connected svg {
  background: #13b85f;
}

.desktop-status-chip.disconnected svg {
  background: #ef4444;
}

.desktop-status-chip strong {
  font-size: 13px;
  font-weight: 880;
}

.desktop-content {
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  padding: 20px 22px 22px;
  background: linear-gradient(180deg, #f5f8fd 0%, #eef4fb 100%);
}

.desktop-panel {
  grid-column: 1 / -1;
  grid-row: 2;
  display: none;
}

.desktop-panel-active {
  display: block;
}

.device-workbench-card {
  position: relative;
  height: 430px;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  padding: 24px 31px 23px;
  overflow: hidden;
  border: 1px solid rgba(184, 211, 245, .92);
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(216, 235, 255, .92), rgba(248, 251, 255, .96) 45%, rgba(255, 255, 255, .96) 100%);
  box-shadow:
    0 18px 38px rgba(28, 83, 151, .08),
    inset 0 1px 0 rgba(255, 255, 255, .92);
}

.device-workbench-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(115deg, rgba(58, 144, 255, .11), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.20), transparent 52%);
}

.device-workbench-title {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 32px;
}

.device-workbench-title svg {
  width: 25px;
  height: 25px;
  padding: 3px;
  color: #1878ff;
  border: 1px dashed rgba(23, 120, 255, .46);
  border-radius: 5px;
  background: rgba(235, 245, 255, .72);
}

.device-workbench-title svg rect,
.device-workbench-title svg path {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.device-workbench-title h1 {
  margin: 0;
  color: #071943;
  font-size: 22px;
  font-weight: 930;
  line-height: 1.1;
  letter-spacing: 0;
}

.device-workbench-body {
  position: relative;
  z-index: 1;
  min-height: 0;
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  align-items: center;
  gap: 34px;
  padding: 12px 3px 7px 20px;
}

.device-visual-panel {
  position: relative;
  height: 270px;
  display: grid;
  place-items: center;
}

.device-phone {
  position: relative;
  z-index: 2;
  width: 100px;
  height: 214px;
  border: 4px solid #0a1124;
  border-radius: 24px;
  background: #091328;
  box-shadow:
    0 22px 34px rgba(8, 46, 104, .24),
    inset 0 0 0 1px rgba(255,255,255,.10);
}

.device-phone::before,
.device-phone::after {
  content: "";
  position: absolute;
  right: -7px;
  width: 2px;
  border-radius: 999px;
  background: #0a1124;
}

.device-phone::before { top: 67px; height: 34px; }
.device-phone::after { top: 107px; height: 28px; }

.device-screen {
  position: absolute;
  inset: 5px;
  overflow: hidden;
  border-radius: 19px;
  background:
    radial-gradient(circle at 48% 85%, rgba(10, 45, 136, .95), transparent 32%),
    radial-gradient(circle at 38% 25%, rgba(60, 124, 255, .94), transparent 42%),
    linear-gradient(180deg, #72a8ff 0%, #0756ed 43%, #002b96 100%);
}

.device-screen::before {
  content: "";
  position: absolute;
  width: 132px;
  height: 132px;
  left: 14px;
  bottom: -48px;
  border: 13px solid rgba(86, 159, 255, .58);
  border-radius: 50%;
  transform: rotate(-38deg);
}

.device-screen::after {
  content: "";
  position: absolute;
  inset: auto 18px 5px;
  height: 2px;
  border-radius: 999px;
  background: rgba(255,255,255,.72);
}

.device-notch {
  position: absolute;
  z-index: 3;
  top: 8px;
  left: 50%;
  width: 46px;
  height: 12px;
  border-radius: 0 0 10px 10px;
  background: #080d1a;
  transform: translateX(-50%);
}

.device-check {
  position: absolute;
  z-index: 4;
  right: -29px;
  bottom: 3px;
  width: 39px;
  height: 39px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(135deg, #35d58a, #13ad61);
  box-shadow: 0 10px 20px rgba(13, 156, 89, .32);
}

.device-check.offline {
  background: linear-gradient(135deg, #94a3b8, #64748b);
  box-shadow: 0 10px 20px rgba(71, 85, 105, .22);
}

.device-check svg {
  width: 24px;
  height: 24px;
}

.device-check svg path {
  fill: none;
  stroke: currentColor;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.device-glow {
  position: absolute;
  z-index: 1;
  bottom: 26px;
  left: 50%;
  width: 230px;
  height: 62px;
  transform: translateX(-50%);
}

.device-glow span {
  position: absolute;
  left: 50%;
  top: 50%;
  border: 5px solid rgba(59, 137, 250, .20);
  border-radius: 50%;
  transform: translate(-50%, -50%) perspective(220px) rotateX(64deg);
}

.device-glow span:nth-child(1) { width: 128px; height: 64px; }
.device-glow span:nth-child(2) { width: 168px; height: 82px; border-color: rgba(35, 127, 255, .16); }
.device-glow span:nth-child(3) { width: 210px; height: 100px; border-color: rgba(35, 127, 255, .10); }

.device-info-panel {
  min-width: 0;
  display: grid;
  gap: 20px;
  padding: 20px 20px 20px;
  border-radius: 12px;
  background: rgba(255, 255, 255, .92);
  box-shadow:
    0 14px 28px rgba(25, 64, 115, .08),
    inset 0 1px 0 rgba(255,255,255,.92);
}

.device-info-grid {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: 0;
}

.device-info-grid::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  background: rgba(219, 226, 239, .92);
}

.device-info-grid div {
  min-height: 52px;
  display: grid;
  grid-template-columns: 146px minmax(0, 1fr);
  align-items: center;
  margin: 0;
  padding: 0 20px;
  border-bottom: 1px solid rgba(218, 225, 238, .92);
}

.device-info-grid div:nth-last-child(-n + 2) {
  border-bottom: 0;
}

.device-info-grid dt {
  margin: 0;
  color: #07183d;
  font-size: 15px;
  font-weight: 860;
  line-height: 1.1;
}

.device-info-grid dd {
  margin: 0;
  color: #0b1531;
  font-size: 16px;
  font-weight: 770;
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.device-info-grid .device-good {
  color: #0dbb45;
  font-weight: 930;
}

.desktop-action-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.desktop-action {
  min-width: 0;
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  padding: 0 16px;
  border: 0;
  border-radius: 7px;
  color: #fff;
  font-size: 17px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.26), 0 14px 22px rgba(18, 91, 210, .14);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.desktop-action svg {
  width: 24px;
  height: 24px;
}

.desktop-action svg rect,
.desktop-action svg path,
.desktop-action svg circle {
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.desktop-action.blue {
  background: linear-gradient(135deg, #2589ff 0%, #0469f4 100%);
}

.desktop-action.green {
  background: linear-gradient(135deg, #24c66f 0%, #04a85d 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.24), 0 14px 22px rgba(11, 161, 88, .16);
}

.desktop-action.purple {
  background: linear-gradient(135deg, #8f4df7 0%, #7136ef 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.24), 0 14px 22px rgba(104, 58, 222, .16);
}

.desktop-action:hover {
  transform: translateY(-2px);
  filter: saturate(1.05) brightness(1.02);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.30), 0 17px 28px rgba(18, 91, 210, .20);
}

.desktop-action:disabled {
  cursor: not-allowed;
  opacity: .55;
  filter: grayscale(.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 10px 16px rgba(71, 85, 105, .10);
}

.desktop-action:disabled:hover {
  transform: none;
}

.desktop-action:active {
  transform: translateY(0);
}

.desktop-tip {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 2px 0 0 305px;
  color: #60708f;
  font-size: 14px;
  font-weight: 740;
  line-height: 1.2;
}

.desktop-tip svg {
  width: 20px;
  height: 20px;
  color: #1d7dff;
}

.desktop-tip svg circle,
.desktop-tip svg path {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.desktop-detail-content {
  padding: 18px;
}

.desktop-device-page {
  height: 100%;
  min-height: 0;
  display: grid;
  grid-template-columns: 285px minmax(0, 1fr);
  gap: 16px;
}

.desktop-device-side,
.desktop-device-detail {
  border: 1px solid rgba(209, 222, 241, .90);
  background: rgba(255,255,255,.97);
  box-shadow:
    0 22px 50px rgba(33, 66, 120, .10),
    inset 0 1px 0 rgba(255,255,255,.92);
}

.desktop-device-side {
  min-height: 0;
  display: grid;
  grid-template-rows: minmax(286px, 1fr) auto auto;
  gap: 14px;
  padding: 22px 18px;
  border-radius: 14px;
}

.desktop-phone-hero {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 292px;
  overflow: hidden;
  border: 1px solid rgba(215, 229, 247, .72);
  border-radius: 14px;
  background:
    radial-gradient(circle at 50% 73%, rgba(84, 156, 255, .18), transparent 34%),
    linear-gradient(180deg, #f7fbff 0%, #edf5ff 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.92), 0 18px 34px rgba(40, 88, 145, .07);
}

.desktop-phone-hero.connected {
  background:
    radial-gradient(circle at 50% 73%, rgba(22, 163, 74, .16), transparent 34%),
    linear-gradient(180deg, #f7fbff 0%, #eef7ff 100%);
}

.desktop-detail-phone {
  width: 116px;
  height: 246px;
}

.desktop-wallpaper-inline-image {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  display: block;
  object-fit: cover;
  object-position: center;
  border: 0;
  border-radius: 13px;
  background: #eef4ff;
  box-shadow: none;
}

.desktop-device-fallback-image {
  width: min(74%, 190px);
  height: min(88%, 260px);
  object-fit: contain;
  object-position: center;
  border-radius: 0;
  background: transparent;
}

.desktop-wallpaper-inline-status {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 15px;
  z-index: 2;
  display: flex;
  justify-content: center;
  color: #72819a;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  pointer-events: none;
}

.desktop-phone-hero .wallpaper-check {
  right: 16px;
  bottom: 16px;
}

.desktop-phone-hero:not(.connected) .device-phone,
.desktop-phone-hero:not(.connected) .device-check,
.desktop-phone-hero:not(.connected) .device-glow {
  display: none;
}

.desktop-side-status {
  display: grid;
  gap: 8px;
  text-align: center;
}

.desktop-side-status span {
  justify-self: center;
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  place-items: center;
  padding: 0 13px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 900;
}

.desktop-side-status span.online {
  color: #07883e;
  background: #ddf8e8;
}

.desktop-side-status span.offline {
  color: #b91c1c;
  background: #fee2e2;
}

.desktop-side-status strong {
  color: #12805c;
  font-size: 21px;
  font-weight: 780;
  line-height: 1.1;
  letter-spacing: 0;
  text-shadow: 0 1px 0 rgba(255,255,255,.75);
}

.desktop-side-status small {
  min-height: 36px;
  color: #65758f;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
}

.desktop-side-actions {
  display: grid;
  gap: 10px;
}

.desktop-side-actions .desktop-action {
  min-height: 45px;
  border-radius: 9px;
  font-size: 15px;
}

.desktop-action.slate {
  color: #18335f;
  border: 1px solid rgba(188, 205, 232, .9);
  background: linear-gradient(180deg, #ffffff, #f3f7ff);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.82), 0 12px 20px rgba(30, 64, 122, .08);
}

.desktop-device-detail {
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
  border-radius: 12px;
}

.desktop-device-head {
  min-height: 50px;
  display: flex;
  align-items: center;
  padding: 7px 24px;
  border-bottom: 1px solid rgba(218, 228, 244, .96);
  background:
    linear-gradient(120deg, rgba(229, 241, 255, .98), rgba(255,255,255,.98) 55%),
    radial-gradient(circle at 14% 20%, rgba(57, 137, 255, .12), transparent 30%);
}

.desktop-device-head h1 {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  color: #0f8f5f;
  font-size: 25px;
  font-weight: 780;
  line-height: 1.12;
  letter-spacing: 0;
  text-shadow: 0 1px 0 rgba(255,255,255,.78);
}

.desktop-device-color-chip {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 8px;
  border: 1px solid rgba(191, 219, 254, .9);
  border-radius: 999px;
  color: #1d4ed8;
  background: rgba(239, 246, 255, .92);
  font-size: 12px;
  font-style: normal;
  font-weight: 860;
  line-height: 1;
}

.desktop-detail-scroll {
  min-height: 0;
  overflow: auto;
  padding: 15px 18px 18px;
  background: #f8faff;
}

.desktop-detail-section {
  margin-bottom: 14px;
  overflow: hidden;
  border: 1px solid rgba(220, 229, 244, .96);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 12px 24px rgba(31, 67, 126, .05);
}

.desktop-detail-section h2 {
  margin: 0;
  padding: 10px 14px;
  color: #0f2a56;
  font-size: 15px;
  font-weight: 920;
  line-height: 1;
  background: linear-gradient(180deg, #f8fbff, #eef5ff);
  border-bottom: 1px solid rgba(220, 229, 244, .96);
}

.desktop-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  padding: 0;
}

.desktop-detail-grid.compact {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.desktop-detail-grid.single {
  grid-template-columns: 1fr;
}

.desktop-detail-section.two {
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
  gap: 14px;
  border: 0;
  background: transparent;
}

.desktop-detail-section.two > div {
  overflow: hidden;
  border: 1px solid rgba(220, 229, 244, .96);
  border-radius: 10px;
  background: #fff;
}

.desktop-detail-item {
  min-width: 0;
  min-height: 38px;
  display: grid;
  grid-template-columns: 116px minmax(0, 1fr);
  align-items: center;
  overflow: hidden;
  border-right: 1px solid rgba(226, 232, 240, .96);
  border-bottom: 1px solid rgba(226, 232, 240, .96);
  border-radius: 0;
  background: #fff;
}

.desktop-detail-grid.compact .desktop-detail-item {
  grid-template-columns: 142px minmax(0, 1fr);
}

.desktop-detail-grid.single .desktop-detail-item,
.desktop-detail-item:nth-child(2n) {
  border-right: 0;
}

.desktop-detail-grid.compact .desktop-detail-item:nth-child(2n) {
  border-right: 1px solid rgba(226, 232, 240, .96);
}

.desktop-detail-grid.compact .desktop-detail-item:nth-child(3n) {
  border-right: 0;
}

.desktop-detail-item span {
  min-height: 38px;
  display: flex;
  align-items: center;
  padding: 0 11px;
  color: #5c6c86;
  background: #f8fafc;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.15;
}

.desktop-detail-item strong {
  min-width: 0;
  padding: 0 12px;
  color: #0e1d3d;
  font-size: 13px;
  font-weight: 760;
  line-height: 1.15;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.desktop-site-content {
  padding: 12px;
  overflow: hidden;
  background: linear-gradient(180deg, #f6f9ff 0%, #f0f5fc 100%);
}

.desktop-site-content .inventory-page,
.desktop-site-content .batch-tool-page {
  width: 100%;
  height: 100%;
  min-height: 0;
}

.desktop-site-content .inventory-page {
  grid-template-columns: 210px minmax(0, 1fr);
  gap: 10px;
}

.desktop-site-content .inventory-subnav {
  border-radius: 14px;
}

.desktop-site-content .inventory-back-query,
.desktop-site-content .batch-tool-header {
  display: none;
}

.desktop-site-content .inventory-workspace {
  grid-template-rows: 48px minmax(0, 1fr);
  gap: 8px;
}

.desktop-site-content .inventory-module-topbar {
  height: 48px;
  grid-template-columns: minmax(0, 1fr);
  padding: 0 12px;
  border-radius: 12px;
}

.desktop-site-content .inventory-menu-toggle,
.desktop-site-content .inventory-language-button,
.desktop-site-content .inventory-user-chip,
.desktop-site-content .inventory-logout-button {
  display: none;
}

.desktop-site-content .inventory-top-wallet {
  display: none;
}

.desktop-site-content .inventory-content {
  padding: 0;
}

.desktop-site-content .batch-tool-page {
  display: grid;
  grid-template-rows: minmax(0, 1fr);
  gap: 0;
}

.desktop-site-content .batch-tool-header {
  min-height: 50px;
  grid-template-columns: minmax(0, 1fr);
  padding: 8px 14px;
  border-radius: 14px;
}

.desktop-site-content .batch-tool-shell {
  height: 100%;
  min-height: 0;
  border-radius: 14px;
}

.desktop-app .batch-tool-header,
.desktop-app .batch-tool-shell,
.desktop-app .batch-service-panel,
.desktop-app .inventory-subnav,
.desktop-app .inventory-workspace,
.desktop-app .inventory-module-topbar,
.desktop-app .inventory-content {
  backdrop-filter: none !important;
}

.desktop-app .batch-tool-header,
.desktop-app .batch-tool-shell,
.desktop-app .inventory-subnav,
.desktop-app .inventory-module-topbar,
.desktop-app .inventory-card,
.desktop-app .inventory-stat-grid article {
  box-shadow: 0 8px 22px rgba(15, 23, 42, .05) !important;
}

.desktop-app *,
.desktop-app *::before,
.desktop-app *::after {
  transition-duration: .08s !important;
}

.desktop-hidden-action {
  display: none !important;
}

.desktop-inbound-sheet {
  margin-top: 8px;
  overflow: visible;
  background: transparent;
}

.desktop-inbound-table-shell {
  overflow: hidden;
  border: 1px solid rgba(218, 228, 244, .96);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 20px rgba(15, 23, 42, .04);
}

.desktop-inbound-table {
  width: 100%;
  min-width: 0;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  background: #fff;
}

.desktop-inbound-table th,
.desktop-inbound-table td {
  border-right: 1px solid #e2e9f3;
  border-bottom: 1px solid #e2e9f3;
  text-align: left;
  vertical-align: middle;
}

.desktop-inbound-table th:last-child,
.desktop-inbound-table td:last-child {
  border-right: 0;
}

.desktop-inbound-table tbody tr:last-child td {
  border-bottom: 0;
}

.desktop-inbound-table th {
  height: 30px;
  padding: 0 10px;
  color: #53657f;
  background: linear-gradient(180deg, #f8fbff, #eef5ff);
  font-size: 12px;
  font-weight: 860;
  line-height: 1;
  white-space: nowrap;
}

.desktop-inbound-table td {
  height: 40px;
  padding: 5px 7px;
  color: #111827;
  background: #fff;
}

.desktop-inbound-table th:nth-child(1),
.desktop-inbound-table td:nth-child(1) {
  width: 138px;
}

.desktop-inbound-table th:nth-child(2),
.desktop-inbound-table td:nth-child(2) {
  width: 164px;
}

.desktop-inbound-table th:nth-child(4),
.desktop-inbound-table td:nth-child(4),
.desktop-inbound-table th:nth-child(5),
.desktop-inbound-table td:nth-child(5) {
  width: 86px;
  text-align: center;
}

.desktop-inbound-sheet input {
  width: 100%;
  height: 30px;
  margin: 0;
  padding: 0 9px;
  border: 1px solid #d7e1ee;
  border-radius: 6px;
  background: #fbfdff;
  color: #111827;
  font-family: inherit;
  font-size: 13px;
  font-weight: 740;
  outline: none;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .72);
}

.desktop-inbound-sheet input:focus {
  border-color: #7db4ff;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(45, 125, 255, .12);
}

.desktop-inbound-button-cell {
  padding: 5px 6px !important;
  text-align: center !important;
}

.desktop-inbound-button-cell button {
  width: 68px;
  min-width: 68px;
  height: 30px;
  padding: 0 10px;
  border: 1px solid #cfd8e6;
  border-radius: 7px;
  font-size: 12px;
  font-weight: 860;
  line-height: 1;
  white-space: nowrap;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .76), 0 6px 12px rgba(15, 23, 42, .05);
  cursor: pointer;
}

.desktop-inbound-button-cell .secondary {
  color: #334155;
  background: linear-gradient(180deg, #ffffff, #f5f8fc);
}

.desktop-inbound-button-cell .primary {
  color: #fff;
  border-color: #16a34a;
  background: linear-gradient(180deg, #22c55e, #16a34a);
}

.desktop-inbound-button-cell .primary:hover {
  border-color: #15803d;
  background: linear-gradient(180deg, #16a34a, #15803d);
}

.desktop-inbound-button-cell button:disabled {
  opacity: .58;
  cursor: not-allowed;
}

.desktop-inbound-messages {
  display: grid;
  gap: 2px;
  margin-top: 6px;
}

.desktop-inbound-message {
  min-height: 0;
  padding: 0 2px;
  color: #2563eb;
  font-size: 11px;
  font-weight: 760;
  line-height: 1.3;
}

.desktop-query-message {
  min-height: 0;
  padding: 0 2px;
  color: #475569;
  font-size: 11px;
  font-weight: 760;
  line-height: 1.3;
}

.desktop-inbound-message:empty,
.desktop-query-message:empty {
  display: none;
}

.desktop-query-result-section {
  margin-top: 8px;
  padding: 10px;
  border: 1px solid #dfe6ef;
  background: #fff;
}

.desktop-query-result-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}

.desktop-query-result-head h2 {
  margin: 0;
  color: #0f172a;
  font-size: 14px;
  font-weight: 900;
}

.desktop-query-result-head span {
  overflow: hidden;
  color: #2563eb;
  font-size: 12px;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.desktop-query-result-section .result-table-shell {
  max-height: 300px;
}

.desktop-query-processing {
  position: relative;
  display: inline-grid;
  width: 88px;
  height: 20px;
  overflow: hidden;
  place-items: center;
  border: 1px solid rgba(22, 165, 104, .3);
  border-radius: 5px;
  background: #dff6ea;
  color: #0f8f5f;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  vertical-align: middle;
}

.desktop-query-processing::before {
  position: absolute;
  inset: 0 auto 0 -42%;
  width: 42%;
  background: linear-gradient(90deg, rgba(22, 165, 104, 0), rgba(22, 165, 104, .32), rgba(22, 165, 104, 0));
  content: "";
  animation: desktop-query-processing-sweep 1.45s ease-in-out infinite;
}

.desktop-query-processing > span {
  position: relative;
  z-index: 1;
}

@keyframes desktop-query-processing-sweep {
  to {
    transform: translateX(340%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .desktop-query-processing::before {
    inset: 0;
    width: 100%;
    background: rgba(22, 165, 104, .12);
    animation: none;
  }
}

.panel {
  padding: 18px;
  margin-bottom: 16px;
  border: 1px solid rgba(255,255,255,.78);
  border-radius: 24px;
  background: rgba(255,255,255,.72);
  box-shadow: 0 22px 60px rgba(15, 23, 42, .08);
  backdrop-filter: blur(20px) saturate(170%);
}
.panel h1, .panel h2 { margin-top: 0; letter-spacing: 0; }
.login-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 32px;
  background:
    radial-gradient(circle at 14% 8%, rgba(59,130,246,.14), transparent 28%),
    radial-gradient(circle at 88% 12%, rgba(14,165,233,.10), transparent 26%),
    linear-gradient(145deg, #f8fbff 0%, #edf5fc 52%, #f9fcff 100%);
}
.login-shell-card {
  width: min(1080px, 94vw);
  min-height: 620px;
  display: grid;
  grid-template-columns: minmax(0, .94fr) minmax(440px, 1.06fr);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.82);
  border-radius: 28px;
  background: rgba(255,255,255,.92);
  box-shadow:
    0 32px 90px rgba(38,69,104,.14),
    inset 0 1px 0 rgba(255,255,255,.86);
  backdrop-filter: blur(24px) saturate(150%);
}
.login-brand-panel {
  position: relative;
  display: grid;
  align-content: end;
  gap: 16px;
  padding: 48px;
  color: #fff;
  background:
    linear-gradient(150deg, rgba(37,99,235,.94), rgba(14,165,233,.84)),
    radial-gradient(circle at 22% 18%, rgba(255,255,255,.28), transparent 26%);
}
.login-brand-panel::before,
.login-brand-panel::after {
  content: "";
  position: absolute;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  filter: blur(.2px);
}
.login-brand-panel::before {
  width: 180px;
  height: 180px;
  top: 42px;
  right: -54px;
}
.login-brand-panel::after {
  width: 96px;
  height: 96px;
  top: 150px;
  left: 48px;
}
.login-brand-mark {
  position: relative;
  z-index: 1;
  width: 68px;
  height: 68px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.36);
  border-radius: 22px;
  background: rgba(255,255,255,.18);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.38), 0 18px 38px rgba(15,23,42,.16);
  font-weight: 950;
  letter-spacing: 0;
}
.login-brand-panel h1 {
  position: relative;
  z-index: 1;
  max-width: 380px;
  margin: 0;
  font-size: 34px;
  line-height: 1.12;
  letter-spacing: 0;
}
.login-brand-panel p {
  position: relative;
  z-index: 1;
  max-width: 420px;
  margin: 0;
  color: rgba(255,255,255,.82);
  font-size: 15px;
  font-weight: 650;
  line-height: 1.65;
}
.login-feature-row {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.login-feature-row span {
  padding: 7px 10px;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 999px;
  background: rgba(255,255,255,.15);
  color: rgba(255,255,255,.88);
  font-size: 12px;
  font-weight: 780;
}
.login-form-card {
  display: grid;
  align-content: center;
  gap: 14px;
  padding: 42px 54px;
  background: rgba(255,255,255,.96);
}
.wechat-login-primary {
  display: grid;
  gap: 10px;
  padding: 18px;
  border: 1px solid rgba(203, 213, 225, .76);
  border-radius: 16px;
  background: #f8fbff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.96);
}
.wechat-login-primary p {
  margin: 0;
  color: #52657e;
  font-size: 12px;
  font-weight: 720;
  line-height: 1.5;
  text-align: center;
}
.wechat-qr-row {
  display: grid;
  place-items: center;
  gap: 10px;
}
.wechat-qr-frame {
  position: relative;
  width: 148px;
  height: 148px;
  padding: 8px;
  border: 1px solid rgba(226,232,240,.92);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(30,64,175,.08);
}
.wechat-qr-frame.qr-empty::after {
  content: "请刷新页面";
  position: absolute;
  inset: 8px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  color: #7b8da4;
  background: #f4f8fc;
  font-size: 12px;
  font-weight: 760;
}
.wechat-qr-frame.qr-empty img {
  display: none;
}
.wechat-qr-frame img {
  display: block;
  width: 100%;
  height: 100%;
}
.wechat-qr-refresh,
.desktop-return-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 14px;
  border: 0;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, #38a6ff, #0f62f0);
  box-shadow: 0 8px 18px rgba(37,99,235,.18);
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
}
.wechat-qr-refresh:hover,
.desktop-return-link:hover {
  filter: brightness(1.03);
}
.wechat-one-click {
  width: min(100%, 280px);
  padding: 14px 18px;
  border-radius: 14px;
  background: #07c160;
  color: #fff;
  font-size: 15px;
  font-weight: 850;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 14px 30px rgba(7, 193, 96, .22);
}
.login-divider {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 2px 0;
  color: #7b8da4;
  font-size: 12px;
  font-weight: 760;
}
.login-divider::before,
.login-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: rgba(148, 163, 184, .34);
}
.password-login-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.password-login-form button {
  grid-column: 1 / -1;
}
.login-eyebrow {
  width: fit-content;
  margin: 0;
  padding: 5px 10px;
  border-radius: 999px;
  color: #168447;
  background: #eaf8ef;
  font-size: 12px;
  font-weight: 900;
}
.login-form-card h2 {
  margin: 0;
  color: #0f172a;
  font-size: 16px;
  letter-spacing: 0;
}
.login-form-card > span {
  margin: -8px 0 6px;
  color: #64748b;
  font-size: 14px;
  font-weight: 700;
}
.login-form-card label {
  display: grid;
  gap: 8px;
  color: #334155;
  font-size: 13px;
  font-weight: 850;
}
.login-form-card input {
  height: 46px;
  border-color: #d9e4f0;
  border-radius: 12px;
  background: #fbfdff;
  box-shadow: inset 0 1px 1px rgba(15,23,42,.03);
}
.login-form-card button {
  min-height: 48px;
  margin-top: 2px;
  border-radius: 12px;
  font-size: 14px;
  background: linear-gradient(180deg, #4b97ff, #1778f2);
  box-shadow: 0 18px 38px rgba(24,119,242,.25);
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}
.login-form-card button:hover {
  transform: translateY(-2px);
  filter: brightness(1.03);
  box-shadow: 0 22px 46px rgba(24,119,242,.30);
}
.login-form-card button:active {
  transform: translateY(0) scale(.98);
}
.login-record-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px 14px;
  margin-top: 2px;
  color: #8191a5;
  font-size: 11px;
  font-weight: 760;
  line-height: 1.45;
  text-align: center;
}
.login-record-links a {
  color: inherit;
  text-decoration: none;
}
.login-record-links a:hover {
  color: #2563eb;
}
.breadcrumb { color: #64748b; margin-bottom: 12px; font-weight: 800; }
.notice {
  overflow: hidden;
  position: relative;
  padding: 11px 16px 11px 26px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.84), rgba(248,251,255,.66)),
    radial-gradient(circle at left, rgba(255, 199, 87, .18), transparent 34%);
  border: 1px solid rgba(226, 232, 240, .78);
  border-radius: 16px;
  margin-bottom: 14px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.86), 0 10px 28px rgba(15, 23, 42, .055);
  white-space: nowrap;
}
.notice::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 50%;
  width: 4px;
  height: 22px;
  border-radius: 999px;
  background: linear-gradient(180deg, #fbbf24, #f59e0b);
  transform: translateY(-50%);
  box-shadow: 0 6px 12px rgba(245, 158, 11, .18);
}
.marquee-track {
  display: inline-block;
  min-width: max-content;
  padding-left: 100%;
  color: #8a4b00;
  font-weight: 800;
  animation: notice-marquee 18s linear infinite;
}
.marquee-track span {
  flex: 0 0 auto;
}
.marquee-notice:hover .marquee-track {
  animation-play-state: paused;
}
@keyframes notice-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-100%); }
}
.search-row {
  display: flex;
  gap: 10px;
  margin-bottom: 7px;
}
.search-row input {
  height: 40px;
  padding-left: 16px;
  border-color: rgba(59, 130, 246, .32);
  border-radius: 18px;
  background: rgba(255,255,255,.92);
}
input, select, textarea {
  width: 100%;
  padding: 11px 13px;
  border: 1px solid rgba(148, 163, 184, .34);
  border-radius: 15px;
  background: rgba(255,255,255,.78);
  color: #0f172a;
  font: inherit;
  outline: none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
}
input:focus, textarea:focus { border-color: rgba(0, 122, 255, .58); box-shadow: 0 0 0 4px rgba(0,122,255,.12); }
textarea { min-height: 170px; resize: vertical; }
button {
  padding: 10px 18px;
  border: 0;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(180deg, #2f95ff, #007aff);
  cursor: pointer;
  font: inherit;
  font-weight: 800;
  box-shadow: 0 12px 24px rgba(0, 122, 255, .22);
}
button.secondary { color: #0f172a; background: rgba(255,255,255,.72); border: 1px solid rgba(148,163,184,.3); box-shadow: none; }
.language-toggle,
.top-logout {
  padding: 6px 11px;
  color: #0b63ce;
  background: rgba(0,122,255,.10);
  border: 1px solid rgba(0,122,255,.16);
  box-shadow: none;
}
.top-logout {
  color: #b42318;
  background: rgba(255, 255, 255, .62);
  border-color: rgba(244, 63, 94, .18);
}
.top-logout:hover { background: rgba(255, 241, 242, .9); }
.category { margin: 20px 0 10px; font-size: 17px; font-weight: 900; color: #0f172a; }
.category-grid {
  display: grid;
  gap: 9px;
  width: 100%;
  max-width: none;
  margin: 0;
}
.category-block {
  overflow: hidden;
  border: 1px solid rgba(203, 213, 225, .48);
  border-radius: 18px;
  background: rgba(255,255,255,.50);
}
.category-block.expanded {
  border-color: rgba(59, 130, 246, .28);
  box-shadow: 0 16px 34px rgba(37, 99, 235, .07);
}
.category-card {
  position: relative;
  min-height: 52px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 8px 46px 8px 34px;
  border: 1px solid rgba(255,255,255,.88);
  border-radius: 18px;
  color: #243244;
  background:
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(248,251,255,.78)),
    radial-gradient(circle at right, rgba(96,165,250,.10), transparent 34%);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.72), 0 8px 18px rgba(15, 23, 42, .035);
  text-align: center;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.category-card::before {
  content: "";
  position: absolute;
  left: 16px;
  width: 5px;
  height: 24px;
  border-radius: 999px;
  background: linear-gradient(180deg, #60a5fa, #2563eb);
  box-shadow: 0 6px 12px rgba(37, 99, 235, .16);
}
.category-card:hover {
  transform: translateY(-1px);
  border-color: rgba(59,130,246,.30);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.82), 0 10px 22px rgba(15,23,42,.07);
}
.category-title { display: grid; justify-items: center; gap: 2px; }
.category-card span {
  display: block;
  color: #253248;
  font-size: 14px;
  font-weight: 680;
  letter-spacing: 0;
}
.category-card strong {
  display: block;
  color: #ef4444;
  font-size: 11px;
  font-weight: 760;
}
.category-card em {
  position: absolute;
  right: 16px;
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 999px;
  color: #64748b;
  background: rgba(148, 163, 184, .12);
  font-size: 18px;
  line-height: 1;
  font-style: normal;
  font-weight: 800;
}
.category-block.expanded .category-card {
  border-color: rgba(59,130,246,.34);
  background:
    linear-gradient(180deg, rgba(245,249,255,.98), rgba(235,244,255,.88)),
    radial-gradient(circle at right, rgba(59,130,246,.12), transparent 34%);
}
.category-block.expanded .category-card span {
  color: #1f2f46;
  font-weight: 720;
}
.category-block.expanded .category-card strong {
  color: #dc2626;
}
.category-block.expanded .category-card em {
  color: #fff;
  background: #3b82f6;
}
.category-head { display: flex; align-items: center; gap: 14px; margin-bottom: 12px; }
.category-head .category { margin: 0; }
.category-head p { margin: 3px 0 0; color: #64748b; font-weight: 800; }
.category-services {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 12px 16px 16px;
  background: rgba(255,255,255,.62);
}
.service-tile {
  position: relative;
  min-height: 76px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: center;
  align-items: center;
  justify-items: center;
  gap: 7px;
  padding: 8px 10px;
  border: 1px solid rgba(226,232,240,.9);
  border-radius: 14px;
  color: #0f172a;
  background: rgba(255,255,255,.78);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.65), 0 7px 16px rgba(15,23,42,.055);
  text-align: center;
  transform: translateY(0) scale(1);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
.service-tile-main {
  min-width: 0;
  display: grid;
  gap: 7px;
  justify-items: center;
  padding: 0;
  color: inherit;
  background: transparent;
  box-shadow: none;
  text-align: center;
}
.service-tile-main:hover {
  background: transparent;
  box-shadow: none;
}
.service-tile:hover {
  transform: translateY(-3px) scale(1.012);
  border-color: rgba(59, 130, 246, .42);
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(239,246,255,.90));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.80), 0 16px 30px rgba(37, 99, 235, .14);
}
.service-tile:active {
  transform: translateY(-1px) scale(.995);
}
.service-tile-title { font-size: 14px; font-weight: 950; line-height: 1.3; }
.service-badges { display: flex; justify-content: center; gap: 6px; flex-wrap: wrap; }
.service-search-results {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.service-search-tile {
  min-height: 70px;
}
.favorite-button {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(250, 204, 21, .38);
  border-radius: 50%;
  color: #94a3b8;
  background: rgba(255,255,255,.76);
  box-shadow: none;
  font-size: 18px;
  line-height: 1;
}
.favorite-button.active {
  color: #d97706;
  background: rgba(254,243,199,.88);
  border-color: rgba(245,158,11,.42);
}
.points-badge, .time-badge { padding: 4px 7px; border-radius: 8px; font-size: 12px; font-weight: 900; }
.points-badge { color: #1d4ed8; background: rgba(59,130,246,.14); }
.time-badge { color: #059669; background: rgba(34,197,94,.16); }
.empty-category {
  grid-column: 1 / -1;
  min-height: 54px;
  display: grid;
  place-items: center;
  border: 1px dashed rgba(148, 163, 184, .55);
  border-radius: 13px;
  color: #64748b;
  background: rgba(255,255,255,.58);
  font-size: 13px;
  font-weight: 850;
}
.service-list { display: grid; gap: 10px; }
.service-card {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 14px;
  align-items: center;
  padding: 14px;
  border: 1px solid rgba(226, 232, 240, .9);
  border-radius: 20px;
  background: rgba(255,255,255,.76);
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.service-card:hover { transform: translateY(-1px); border-color: rgba(0,122,255,.42); box-shadow: 0 18px 34px rgba(15, 23, 42, .10); }
.service-name { font-weight: 900; }
.service-meta { color: #64748b; font-size: 13px; margin-top: 4px; }
.submit-chip { display: inline-flex; margin-top: 8px; padding: 5px 9px; border-radius: 999px; background: rgba(0,122,255,.10); color: #0866c6; font-size: 12px; font-weight: 900; }
.price { color: #ff3b30; font-weight: 900; }
.submit-head { display: flex; justify-content: space-between; gap: 14px; align-items: flex-start; }
.submit-method { margin: 6px 0 0; color: #0866c6; font-weight: 900; }
.submit-page {
  display: grid;
  gap: 14px;
}
.submit-service-picker {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.78);
  border-radius: 24px;
  background: rgba(255,255,255,.70);
  box-shadow: 0 20px 52px rgba(15, 23, 42, .075);
  backdrop-filter: blur(22px) saturate(175%);
}
.submit-service-search input {
  height: 48px;
  padding: 0 16px;
  border-radius: 18px;
  border-color: rgba(59, 130, 246, .30);
  background: rgba(255,255,255,.90);
  font-size: 15px;
  font-weight: 680;
}
.submit-service-search input::placeholder {
  color: rgba(100,116,139,.58);
  font-weight: 520;
}
.submit-service-results {
  display: grid;
  gap: 9px;
  max-height: 340px;
  overflow-y: auto;
  padding-right: 4px;
  overscroll-behavior: contain;
}
.submit-service-results::-webkit-scrollbar {
  width: 8px;
}
.submit-service-results::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(96, 165, 250, .42);
}
.submit-service-flat-list {
  display: grid;
  gap: 8px;
}
.submit-service-group {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid rgba(226,232,240,.72);
  border-radius: 18px;
  background: rgba(248,251,255,.58);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.76);
}
.submit-service-group-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 4px;
}
.submit-service-group-title span {
  color: #172033;
  font-size: 14px;
  font-weight: 820;
}
.submit-service-group-title strong {
  color: #ef4444;
  font-size: 12px;
  font-weight: 760;
}
.submit-service-group-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.submit-search-hint {
  grid-column: 1 / -1;
  min-height: 50px;
  display: grid;
  place-items: center;
  border: 1px dashed rgba(148,163,184,.40);
  border-radius: 16px;
  color: #64748b;
  background: rgba(248,251,255,.64);
  font-size: 13px;
  font-weight: 760;
}
.submit-service-option {
  width: 100%;
  min-height: 58px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "name price";
  align-items: center;
  gap: 8px 12px;
  padding: 12px 14px;
  border: 1px solid rgba(226,232,240,.82);
  border-radius: 14px;
  color: #172033;
  background:
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(248,251,255,.80));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.82), 0 9px 20px rgba(15,23,42,.045);
  text-align: left;
  transform: translateY(0);
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.submit-service-option:hover {
  transform: translateY(-2px);
  border-color: rgba(59,130,246,.40);
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(239,246,255,.88));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.88), 0 16px 30px rgba(37,99,235,.12);
}
.submit-service-option:active {
  transform: translateY(0) scale(.99);
}
.submit-service-option.selected {
  border-color: rgba(37,99,235,.48);
  background:
    linear-gradient(180deg, rgba(239,246,255,.98), rgba(219,234,254,.76));
  box-shadow: inset 0 0 0 1px rgba(59,130,246,.20), 0 16px 32px rgba(37,99,235,.14);
}
.submit-service-option span {
  grid-area: name;
  overflow: visible;
  color: #111827;
  font-size: 14px;
  font-weight: 850;
  line-height: 1.35;
  white-space: normal;
  word-break: break-word;
}
.submit-service-option em {
  grid-area: category;
  overflow: hidden;
  color: #64748b;
  font-size: 12px;
  font-style: normal;
  font-weight: 650;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.submit-service-option strong {
  grid-area: price;
  justify-self: end;
  display: grid;
  gap: 3px;
  padding: 6px 9px;
  border-radius: 12px;
  color: #075fc7;
  background: rgba(59,130,246,.12);
  font-size: 12px;
  font-weight: 850;
  white-space: nowrap;
  text-align: right;
}
.submit-service-option strong b,
.submit-service-option strong small {
  display: block;
  font: inherit;
  line-height: 1.05;
}
.submit-service-option strong small {
  color: #2563eb;
  font-size: 11px;
}
.submit-inline-panel {
  position: relative;
  max-height: calc(100vh - 150px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.78);
  border-radius: 26px;
  background: rgba(255,255,255,.72);
  box-shadow: 0 24px 70px rgba(15,23,42,.09);
  backdrop-filter: blur(24px) saturate(175%);
}
.submit-modal-body.inline {
  flex: 1 1 auto;
  min-height: 0;
  padding: 12px;
  overflow: auto;
  background:
    linear-gradient(180deg, rgba(255,255,255,.76), rgba(255,255,255,.88));
}
.submit-empty-state {
  min-height: 230px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 8px;
  border: 1px dashed rgba(148,163,184,.46);
  border-radius: 24px;
  background: rgba(255,255,255,.58);
  color: #64748b;
  text-align: center;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.74);
}
.submit-empty-state strong {
  color: #172033;
  font-size: 18px;
  font-weight: 850;
}
.submit-empty-state span {
  font-size: 13px;
  font-weight: 650;
}
.batch-tool-page {
  min-height: calc(100vh - 94px);
  display: grid;
  gap: 10px;
}
.batch-tool-header {
  min-height: 42px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 8px 12px;
  border: 1px solid rgba(255,255,255,.78);
  border-radius: 18px;
  background:
    radial-gradient(circle at 10% 20%, rgba(96,165,250,.18), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,.78), rgba(248,251,255,.62));
  box-shadow: 0 12px 30px rgba(15,23,42,.06), inset 0 1px 0 rgba(255,255,255,.90);
  backdrop-filter: blur(22px) saturate(180%);
}
.batch-tool-header button {
  min-height: 30px;
  padding: 5px 12px;
  border-radius: 12px;
  color: #1d4ed8;
  background: rgba(255,255,255,.82);
  box-shadow: 0 8px 18px rgba(37,99,235,.09), inset 0 1px 0 rgba(255,255,255,.92);
  font-size: 13px;
}
.batch-tool-header h1 {
  margin: 0;
  color: #111827;
  font-size: 17px;
  font-weight: 900;
}
.batch-tool-header p {
  margin: 1px 0 0;
  color: #64748b;
  font-size: 12px;
  font-weight: 720;
}
.batch-tool-shell {
  min-height: calc(100vh - 148px);
  display: grid;
  grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
  gap: 0;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.78);
  border-radius: 28px;
  background:
    radial-gradient(circle at 16% 10%, rgba(96,165,250,.18), transparent 32%),
    linear-gradient(135deg, rgba(255,255,255,.74), rgba(241,247,255,.64));
  box-shadow: 0 26px 76px rgba(15,23,42,.10), inset 0 1px 0 rgba(255,255,255,.90);
  backdrop-filter: blur(24px) saturate(180%);
}
.batch-mobile-service-backdrop,
.batch-mobile-service-head,
.batch-mobile-service-card,
.batch-mobile-view-tabs,
.batch-mobile-input-card {
  display: none;
}
.batch-service-panel {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  gap: 7px;
  padding: 10px;
  border-right: 1px solid rgba(203,213,225,.46);
  background: rgba(255,255,255,.56);
}
.batch-service-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
  padding: 5px;
  border-radius: 18px;
  background: rgba(226,232,240,.42);
}
.batch-service-tabs button {
  min-height: 38px;
  padding: 8px 10px;
  border-radius: 14px;
  color: #475569;
  background: transparent;
  box-shadow: none;
  font-size: 14px;
  font-weight: 820;
}
.batch-service-tabs button.active {
  color: #1d4ed8;
  background: rgba(255,255,255,.86);
  box-shadow: 0 10px 20px rgba(37,99,235,.10), inset 0 1px 0 rgba(255,255,255,.92);
}
.batch-service-panel > input {
  height: 38px;
  border-radius: 16px;
  background: rgba(255,255,255,.86);
  font-size: 14px;
  font-weight: 680;
}
.batch-service-tree {
  min-height: 0;
  display: grid;
  align-content: start;
  gap: 8px;
  overflow-y: auto;
  padding-right: 4px;
}
.batch-service-tree::-webkit-scrollbar,
.batch-table-shell::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
.batch-service-tree::-webkit-scrollbar-thumb,
.batch-table-shell::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(96,165,250,.42);
}
.batch-service-group {
  border: 1px solid rgba(203,213,225,.50);
  border-radius: 16px;
  background: rgba(255,255,255,.62);
  overflow: hidden;
}
.batch-service-group.expanded {
  border-color: rgba(59,130,246,.30);
  box-shadow: 0 14px 28px rgba(37,99,235,.08);
}
.batch-category-button {
  width: 100%;
  min-height: 50px;
  display: grid;
  grid-template-columns: 25px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  padding: 7px 12px;
  border-radius: 0;
  color: #1f2a3d;
  background: linear-gradient(180deg, rgba(255,255,255,.86), rgba(248,251,255,.68));
  box-shadow: none;
  text-align: left;
}
.batch-category-button span {
  color: #3b82f6;
  font-size: 15px;
  font-weight: 900;
}
.batch-category-button strong {
  overflow: hidden;
  font-size: 15px;
  font-weight: 820;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.batch-category-button em {
  min-width: 30px;
  height: 26px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #ef4444;
  background: rgba(254,226,226,.72);
  font-size: 14px;
  font-style: normal;
  font-weight: 850;
}
.batch-product-list {
  display: grid;
  gap: 2px;
  padding: 4px 5px 5px;
  background: rgba(248,251,255,.72);
}
.batch-product-list.favorites-only {
  padding: 0;
  background: transparent;
}
.batch-product-button {
  min-height: 28px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1px;
  align-items: center;
  justify-items: stretch;
  padding: 3px 7px;
  border: 1px solid rgba(226,232,240,.68);
  border-radius: 13px;
  color: #334155;
  background: rgba(255,255,255,.78);
  box-shadow: none;
  text-align: left;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.batch-product-main {
  min-width: 0;
  display: grid;
  gap: 1px;
  justify-items: start;
  padding: 0;
  color: inherit;
  background: transparent;
  box-shadow: none;
  text-align: left;
}
.batch-product-main:hover {
  background: transparent;
  box-shadow: none;
}
.batch-favorite-button {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(250,204,21,.36);
  border-radius: 50%;
  color: #94a3b8;
  background: rgba(255,255,255,.78);
  box-shadow: none;
  font-size: 13px;
  line-height: 1;
}
.batch-favorite-button.active {
  color: #d97706;
  background: rgba(254,243,199,.88);
  border-color: rgba(245,158,11,.42);
}
.batch-product-button:hover {
  transform: translateY(-.5px);
  border-color: rgba(59,130,246,.36);
  background: rgba(239,246,255,.88);
  box-shadow: 0 12px 22px rgba(37,99,235,.10);
}
.batch-product-button.active {
  border-color: rgba(37,99,235,.50);
  background: linear-gradient(180deg, rgba(239,246,255,.98), rgba(219,234,254,.82));
  box-shadow: inset 3px 0 0 #3b82f6, 0 14px 26px rgba(37,99,235,.12);
}
.batch-product-button span {
  overflow: hidden;
  width: 100%;
  color: #172033;
  font-size: 11px;
  font-weight: 820;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.batch-product-meta {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 2px;
}
.batch-product-button em {
  display: inline-flex;
  align-items: center;
  min-height: 14px;
  max-width: 100%;
  padding: 0 4px;
  border-radius: 999px;
  color: #64748b;
  background: rgba(241,245,249,.82);
  font-size: 9px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.1;
}
.batch-product-button em.price {
  color: #dc2626;
  background: rgba(254,226,226,.72);
}
.batch-no-service {
  padding: 12px;
  color: #94a3b8;
  font-size: 13px;
  font-weight: 760;
  text-align: center;
}
.batch-workbench {
  min-width: 0;
  display: grid;
  grid-template-rows: auto auto auto minmax(0, 1fr);
  gap: 8px;
  padding: 10px 10px 10px 8px;
}
.batch-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.batch-toolbar button {
  position: relative;
  overflow: hidden;
  min-height: 40px;
  padding: 8px 16px;
  border: 1px solid rgba(255,255,255,.74);
  border-radius: 16px;
  color: #172033;
  background:
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(241,245,249,.76));
  box-shadow:
    0 12px 26px rgba(15,23,42,.07),
    inset 0 1px 0 rgba(255,255,255,.94);
  font-size: 14px;
  isolation: isolate;
}
.batch-toolbar .batch-action-button {
  transform: translateY(0) scale(1);
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease, border-color .2s ease;
}
.batch-toolbar .batch-action-button::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(120deg, transparent 18%, rgba(255,255,255,.55) 44%, transparent 68%);
  opacity: 0;
  transform: translateX(-120%);
}
.batch-toolbar .batch-action-button:hover {
  transform: translateY(-2px);
  border-color: rgba(96,165,250,.38);
  box-shadow:
    0 18px 34px rgba(37,99,235,.16),
    inset 0 1px 0 rgba(255,255,255,.96);
}
.batch-toolbar .batch-action-button:hover::before {
  opacity: 1;
  animation: batch-button-sheen .72s ease;
}
.batch-toolbar .batch-action-button:active {
  transform: translateY(1px) scale(.955);
  filter: saturate(1.08) brightness(.98);
}
.batch-toolbar .batch-action-button::after {
  content: "";
  position: absolute;
  inset: 50%;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: rgba(255,255,255,.5);
  opacity: 0;
  transform: translate(-50%, -50%) scale(1);
  pointer-events: none;
}
.batch-toolbar .batch-action-button:active::after {
  animation: batch-button-ripple .42s ease-out;
}
@keyframes batch-button-ripple {
  0% {
    opacity: .72;
    transform: translate(-50%, -50%) scale(1);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(12);
  }
}
@keyframes batch-button-sheen {
  0% { transform: translateX(-120%); }
  100% { transform: translateX(120%); }
}
.batch-toolbar button:not(.soft):not(.ghost) {
  color: #fff;
  border-color: rgba(147,197,253,.55);
  background:
    linear-gradient(180deg, #60a5fa, #2563eb);
  box-shadow:
    0 16px 30px rgba(37,99,235,.24),
    inset 0 1px 0 rgba(255,255,255,.28);
}
.batch-toolbar button.ghost {
  border: 1px dashed rgba(30,41,59,.34);
  background: rgba(255,255,255,.50);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
}
.batch-toolbar button.favorite-action.active {
  color: #92400e;
  background:
    linear-gradient(180deg, rgba(255,251,235,.96), rgba(254,243,199,.82));
  border: 1px solid rgba(245,158,11,.34);
  box-shadow:
    0 14px 28px rgba(245,158,11,.16),
    inset 0 1px 0 rgba(255,255,255,.88);
}
.batch-import-card {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(147,197,253,.46);
  border-radius: 20px;
  background: rgba(239,246,255,.78);
}
.batch-import-card textarea {
  min-height: 130px;
  border-radius: 16px;
  background: rgba(255,255,255,.86);
}
.batch-import-card div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  color: #475569;
  font-size: 13px;
  font-weight: 780;
}
.batch-import-backdrop {
  position: fixed;
  inset: 0;
  z-index: 60;
  display: grid;
  place-items: center;
  padding: 20px;
  background:
    radial-gradient(circle at 48% 42%, rgba(219,234,254,.20), transparent 28%),
    rgba(15,23,42,.46);
  backdrop-filter: blur(8px) saturate(1.05);
}
.batch-import-modal {
  position: relative;
  width: min(760px, calc(100vw - 36px));
  display: grid;
  grid-template-columns: minmax(0, 1fr) 218px;
  gap: 18px;
  padding: 24px;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,251,255,.94));
  box-shadow:
    0 28px 80px rgba(15,23,42,.28),
    inset 0 1px 0 rgba(255,255,255,.90);
}
.batch-import-close {
  position: absolute;
  top: 14px;
  right: 16px;
  z-index: 2;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(148,163,184,.20);
  border-radius: 999px;
  color: #475569;
  background: rgba(255,255,255,.68);
  box-shadow: 0 8px 20px rgba(15,23,42,.08);
  font-size: 20px;
  line-height: 1;
  transition: transform .16s ease, background .16s ease, color .16s ease;
}
.batch-import-close:hover {
  transform: rotate(90deg) scale(1.04);
  color: #1d4ed8;
  background: rgba(239,246,255,.92);
}
.batch-import-main {
  min-width: 0;
  display: grid;
  gap: 10px;
}
.batch-import-main textarea {
  min-height: 340px;
  padding: 18px 20px;
  border: 1px solid rgba(203,213,225,.72);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,252,.90));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    0 14px 30px rgba(15,23,42,.045);
  font-size: 14px;
  font-weight: 720;
  line-height: 1.5;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.batch-import-main textarea:focus,
.batch-note-field textarea:focus {
  border-color: rgba(59,130,246,.46);
  background: #fff;
  box-shadow:
    0 0 0 4px rgba(59,130,246,.10),
    0 16px 34px rgba(37,99,235,.08);
}
.batch-import-main textarea::placeholder,
.batch-note-field textarea::placeholder {
  color: #7c8797;
}
.batch-import-main p {
  margin: 0;
  padding-left: 2px;
  color: #1d4ed8;
  font-size: 13px;
  font-weight: 850;
}
.batch-import-side {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 10px;
}
.batch-import-side > button,
.batch-file-button {
  position: relative;
  overflow: hidden;
  min-height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(148,163,184,.42);
  border-radius: 14px;
  color: #1f2937;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,252,.86));
  box-shadow:
    0 10px 22px rgba(15,23,42,.07),
    inset 0 1px 0 rgba(255,255,255,.92);
  font-size: 15px;
  font-weight: 900;
  text-align: center;
  transition: transform .17s ease, box-shadow .17s ease, border-color .17s ease;
}
.batch-import-side > button:hover,
.batch-file-button:hover {
  transform: translateY(-1px);
  border-color: rgba(59,130,246,.40);
  box-shadow:
    0 16px 30px rgba(37,99,235,.13),
    inset 0 1px 0 rgba(255,255,255,.94);
}
.batch-import-side > button:active,
.batch-file-button:active {
  transform: translateY(1px) scale(.98);
}
.batch-import-side > button:first-child {
  color: #fff;
  border-color: rgba(147,197,253,.62);
  background:
    linear-gradient(180deg, #60a5fa, #2563eb);
  box-shadow:
    0 16px 30px rgba(37,99,235,.24),
    inset 0 1px 0 rgba(255,255,255,.28);
}
.batch-file-button {
  cursor: pointer;
}
.batch-file-button input {
  display: none;
}
.batch-note-field {
  display: grid;
  gap: 6px;
  margin-top: 4px;
  color: #1f2937;
  font-size: 13px;
  font-weight: 850;
}
.batch-note-field textarea {
  min-height: 104px;
  padding: 12px 14px;
  border: 1px solid rgba(203,213,225,.72);
  border-radius: 14px;
  background: rgba(255,255,255,.82);
  font-size: 13px;
  line-height: 1.5;
}
.batch-import-counts {
  display: grid;
  gap: 5px;
  margin-top: 6px;
  padding: 12px 14px;
  border: 1px solid rgba(219,234,254,.78);
  border-radius: 16px;
  color: #1f2937;
  background:
    linear-gradient(180deg, rgba(239,246,255,.72), rgba(255,255,255,.64));
  font-size: 13px;
  font-weight: 760;
}
.batch-import-counts strong {
  margin-bottom: 2px;
  font-size: 14px;
  font-weight: 900;
}
.batch-import-counts span {
  color: #2563eb;
  font-size: 15px;
  font-weight: 850;
}
.batch-import-counts label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 2px;
  color: #334155;
}
.batch-import-counts input {
  width: 15px;
  height: 15px;
}
.batch-selected-service {
  min-height: 42px;
  display: grid;
  align-content: center;
  gap: 2px;
  padding: 6px 8px;
  border: 1px solid rgba(226,232,240,.70);
  border-radius: 18px;
  background: rgba(255,255,255,.70);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.86);
}
.batch-selected-service h2 {
  margin: 0;
  color: #0f3f9f;
  font-size: 15px;
  font-weight: 900;
}
.batch-selected-service p {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin: 0;
  color: #475569;
  font-size: 12px;
  font-weight: 780;
}
.batch-selected-service p span {
  padding-right: 8px;
  border-right: 1px solid rgba(148,163,184,.36);
}
.batch-selected-service p span:last-child {
  border-right: 0;
}
.batch-price {
  color: #ef4444;
}
.batch-table-shell {
  min-height: 460px;
  overflow: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.batch-table-shell::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}
.batch-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}
.batch-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  height: 34px;
  padding: 6px 9px;
  color: #475569;
  background: transparent;
  border-bottom: 1px solid rgba(203,213,225,.54);
  font-size: 12px;
  font-weight: 850;
  text-align: left;
  line-height: 1.2;
}
.batch-table td {
  height: 34px;
  padding: 6px 9px;
  border-bottom: 1px solid rgba(226,232,240,.64);
  color: #334155;
  font-size: 12px;
  font-weight: 720;
  line-height: 1.2;
}
.batch-table tbody tr {
  transition: background .16s ease;
}
.batch-table tbody tr.selected {
  background: rgba(147,197,253,.35);
}
.batch-table tbody tr:hover {
  background: rgba(219,234,254,.28);
}
.batch-table th:first-child,
.batch-table td:first-child {
  width: 38px;
  text-align: center;
}
.batch-table th:nth-child(2),
.batch-table td:nth-child(2) {
  width: 48px;
  color: #64748b;
}
.batch-status {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 2px 7px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 850;
  line-height: 1.15;
}
.batch-status.pending {
  color: #64748b;
  background: rgba(241,245,249,.82);
}
.batch-status.processing {
  color: #1d4ed8;
  background: rgba(219,234,254,.76);
}
.batch-status.success {
  color: #15803d;
  background: rgba(220,252,231,.78);
}
.batch-status.failed {
  color: #dc2626;
  background: rgba(254,226,226,.78);
}
.batch-result-text {
  display: block;
  max-width: 260px;
  overflow: hidden;
  color: #334155;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.batch-result-red,
.batch-result-green {
  display: inline-flex;
  white-space: nowrap;
  font-weight: 900;
  line-height: 1.2;
}
.batch-result-red {
  color: #ef4444;
}
.batch-result-green {
  color: #15803d;
}
.batch-result-muted {
  color: #94a3b8;
}
.batch-result-error {
  color: #dc2626;
  font-weight: 850;
}
.batch-context-layer {
  position: fixed;
  inset: 0;
  z-index: 90;
  background: transparent;
}
.batch-context-menu {
  position: fixed;
  z-index: 91;
  min-width: 172px;
  padding: 6px;
  border: 1px solid rgba(100,116,139,.42);
  border-radius: 6px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 14px 34px rgba(15,23,42,.18);
}
.batch-context-menu button {
  width: 100%;
  min-height: 34px;
  padding: 7px 12px;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: #111827;
  font-size: 13px;
  font-weight: 760;
  text-align: left;
}
.batch-context-menu button:hover {
  background: rgba(59,130,246,.12);
  color: #1d4ed8;
}
.batch-empty-state {
  min-height: 420px;
  display: grid;
  place-items: center;
  color: #64748b;
  font-size: 14px;
  font-weight: 780;
  text-align: center;
}
.support-page {
  display: grid;
  gap: 16px;
}
.support-crumb {
  min-height: 54px;
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 0 18px;
  border: 1px solid rgba(255,255,255,.78);
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(248,251,255,.72));
  box-shadow: 0 16px 42px rgba(15,23,42,.07), inset 0 1px 0 rgba(255,255,255,.82);
  color: #475569;
  backdrop-filter: blur(20px) saturate(170%);
}
.support-crumb span,
.support-crumb strong {
  color: #64748b;
  font-size: 20px;
  font-style: normal;
}
.support-crumb em {
  color: #334155;
  font-style: normal;
  font-size: 16px;
  font-weight: 760;
}
.support-card {
  min-height: 100%;
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 14px;
  padding: 24px;
  border: 1px solid rgba(255,255,255,.78);
  border-radius: 26px;
  background:
    radial-gradient(circle at 50% 0%, rgba(59,130,246,.12), transparent 32%),
    linear-gradient(180deg, rgba(255,255,255,.88), rgba(248,250,252,.78));
  box-shadow: 0 22px 60px rgba(15,23,42,.08), inset 0 1px 0 rgba(255,255,255,.84);
  text-align: center;
  backdrop-filter: blur(18px) saturate(160%);
}
.support-hero-grid,
.support-ticket-workspace {
  display: grid;
  grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr);
  gap: 16px;
  align-items: stretch;
}
.support-ticket-workspace {
  grid-template-columns: minmax(320px, .86fr) minmax(0, 1.14fr);
}
.support-card-kicker,
.ticket-panel-kicker {
  width: fit-content;
  margin: 0 0 4px;
  padding: 4px 10px;
  border-radius: 999px;
  color: #2563eb;
  background: rgba(37,99,235,.10);
  font-size: 12px;
  font-weight: 850;
}
.support-card-kicker {
  margin: 0 auto 2px;
}
.support-card p {
  margin: 0;
  color: #475569;
  font-size: 14px;
  font-weight: 720;
}
.support-card h1 {
  margin: 0;
  color: #111827;
  font-size: 23px;
  font-weight: 880;
}
.support-card h2 {
  margin: 0;
  color: #1f2937;
  font-size: 16px;
  font-weight: 760;
}
.support-card h3 {
  margin: 0;
  color: #111827;
  font-size: 16px;
  font-weight: 760;
}
.support-qr-image,
.support-qr-placeholder {
  width: 132px;
  height: 132px;
  border-radius: 22px;
}
.support-qr-image {
  object-fit: contain;
  padding: 8px;
  border: 6px solid rgba(239, 68, 68, .68);
  background: #fff;
  box-shadow: 0 20px 42px rgba(15,23,42,.15);
}
.support-qr-placeholder,
.support-empty {
  display: grid;
  place-items: center;
  color: #64748b;
  border: 1px dashed rgba(148,163,184,.52);
  background: rgba(248,250,252,.82);
  font-weight: 850;
}
.support-empty {
  min-width: 320px;
  min-height: 160px;
  border-radius: 18px;
}
.support-ticket-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr);
  gap: 16px;
  margin-top: 2px;
}
.support-ticket-panel {
  padding: 18px;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 26px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.86), rgba(248,251,255,.70));
  box-shadow: 0 22px 56px rgba(15,23,42,.08), inset 0 1px 0 rgba(255,255,255,.82);
  backdrop-filter: blur(22px) saturate(170%);
}
.support-ticket-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 15px;
}
.support-ticket-head h2 {
  margin: 0;
  color: #172033;
  font-size: 19px;
  font-weight: 860;
}
.support-ticket-head span {
  display: block;
  margin-top: 4px;
  color: #6b7280;
  font-size: 12px;
  font-weight: 680;
}
.ticket-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.wide-field { grid-column: 1 / -1; }
.support-ticket-panel label {
  color: #334155;
  font-size: 13px;
  font-weight: 820;
}
.support-ticket-panel input,
.support-ticket-panel select,
.support-ticket-panel textarea {
  margin-top: 7px;
  border-color: rgba(203,213,225,.78);
  background: rgba(255,255,255,.86);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.78), 0 8px 22px rgba(15,23,42,.04);
}
.support-ticket-panel textarea {
  min-height: 118px;
}
.support-ticket-create .actions {
  margin-top: 12px;
  justify-content: flex-end;
}
.support-ticket-create .actions button {
  min-width: 150px;
  min-height: 44px;
}
.ticket-attachment-preview,
.ticket-message-image {
  max-width: 180px;
  max-height: 150px;
  object-fit: contain;
  margin-top: 10px;
  border: 1px solid rgba(226,232,240,.86);
  border-radius: 14px;
  background: #fff;
}
.ticket-list {
  display: grid;
  gap: 10px;
  max-height: 430px;
  overflow: auto;
  padding-right: 2px;
}
.ticket-list-item {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 76px auto;
  grid-template-rows: auto auto;
  gap: 4px 10px;
  align-items: center;
  padding: 13px 14px;
  border: 1px solid rgba(226,232,240,.82);
  border-radius: 18px;
  color: #172033;
  background:
    linear-gradient(90deg, rgba(59,130,246,.12), transparent 4px),
    rgba(255,255,255,.78);
  box-shadow: 0 10px 28px rgba(15,23,42,.045);
  text-align: left;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.ticket-list-item:hover {
  transform: translateY(-2px);
  border-color: rgba(59,130,246,.42);
  background:
    linear-gradient(90deg, rgba(0,122,255,.36), transparent 4px),
    rgba(239,246,255,.90);
  box-shadow: 0 16px 38px rgba(37,99,235,.10);
}
.ticket-list-item strong {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
  overflow: hidden;
  color: #2563eb;
  font-size: 13px;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ticket-list-item span {
  grid-column: 1;
  grid-row: 2;
  min-width: 0;
  overflow: hidden;
  color: #334155;
  font-size: 13px;
  font-weight: 720;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ticket-list-item small {
  grid-column: 2;
  grid-row: 1 / 3;
  color: #94a3b8;
  font-size: 11px;
  font-weight: 760;
  line-height: 1.2;
  white-space: pre-line;
}
.ticket-status {
  grid-column: 3;
  grid-row: 1 / 3;
  display: inline-flex;
  justify-content: center;
  min-width: 62px;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 12px;
  font-style: normal;
  font-weight: 850;
}
.ticket-status.pending { color: #b42318; background: rgba(255,59,48,.13); }
.ticket-status.processing { color: #075fc7; background: rgba(0,122,255,.14); }
.ticket-status.replied { color: #7c3aed; background: rgba(124,58,237,.13); }
.ticket-status.completed { color: #087443; background: rgba(52,199,89,.15); }
.ticket-status.closed { color: #64748b; background: rgba(100,116,139,.12); }
.ticket-empty-state {
  min-height: 154px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 7px;
  border: 1px dashed rgba(148,163,184,.42);
  border-radius: 20px;
  color: #64748b;
  background:
    radial-gradient(circle at 50% 0%, rgba(59,130,246,.10), transparent 36%),
    rgba(255,255,255,.58);
  text-align: center;
}
.ticket-empty-state strong {
  color: #172033;
  font-size: 16px;
}
.ticket-empty-state span {
  font-size: 13px;
  font-weight: 680;
}
.ticket-detail-panel { margin-top: 0; }
.ticket-detail-empty {
  min-height: 320px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 8px;
  text-align: center;
  color: #64748b;
}
.ticket-detail-empty strong {
  color: #172033;
  font-size: 18px;
}
.ticket-detail-empty span {
  font-size: 13px;
  font-weight: 720;
}
.ticket-close-button {
  white-space: nowrap;
}
.ticket-detail-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: -4px 0 14px;
}
.ticket-detail-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 5px 10px;
  border: 1px solid rgba(226,232,240,.78);
  border-radius: 999px;
  color: #64748b;
  background: rgba(255,255,255,.70);
  font-size: 12px;
  font-weight: 760;
}
.ticket-thread {
  display: grid;
  gap: 12px;
  margin-bottom: 16px;
  padding: 14px;
  border: 1px solid rgba(226,232,240,.72);
  border-radius: 22px;
  background: rgba(248,250,252,.58);
  max-height: 360px;
  overflow: auto;
}
.ticket-message {
  max-width: min(720px, 86%);
  padding: 14px 15px;
  border: 1px solid rgba(226,232,240,.78);
  border-radius: 18px;
  background: rgba(255,255,255,.76);
  box-shadow: 0 10px 24px rgba(15,23,42,.045);
}
.ticket-message.user {
  justify-self: end;
  border-color: rgba(59,130,246,.18);
  border-bottom-right-radius: 8px;
  background: rgba(239,246,255,.86);
}
.ticket-message.admin {
  border-color: rgba(59,130,246,.22);
  border-bottom-left-radius: 8px;
  background: rgba(255,255,255,.90);
}
.ticket-message > div {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}
.ticket-message strong {
  color: #172033;
  font-size: 13px;
}
.ticket-message span {
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
}
.ticket-message p {
  margin: 0;
  color: #334155;
  line-height: 1.55;
  white-space: pre-wrap;
}
.ticket-reply-box {
  display: grid;
  gap: 11px;
  padding: 14px;
  border: 1px solid rgba(226,232,240,.76);
  border-radius: 22px;
  background: rgba(255,255,255,.66);
}
.ticket-reply-box textarea { min-height: 112px; }
.submit-backdrop {
  position: fixed;
  inset: 0;
  z-index: 70;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px;
  background:
    radial-gradient(circle at 22% 18%, rgba(255,255,255,.28), transparent 26%),
    linear-gradient(135deg, rgba(62, 77, 99, .34), rgba(83, 102, 119, .42));
  backdrop-filter: blur(26px) saturate(175%);
}
.submit-modal {
  position: relative;
  width: min(1010px, 94vw);
  max-height: calc(100vh - 28px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 24px;
  background: rgba(255,255,255,.74);
  box-shadow:
    0 34px 90px rgba(15, 23, 42, .26),
    inset 0 1px 0 rgba(255,255,255,.72);
  backdrop-filter: blur(30px) saturate(180%);
}
.submit-userbar {
  flex: 0 0 auto;
  min-height: 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 15px;
  color: #fff;
  background:
    linear-gradient(180deg, rgba(54, 137, 255, .92), rgba(35, 112, 229, .92)),
    radial-gradient(circle at left, rgba(255,255,255,.18), transparent 36%);
}
.submit-userline {
  margin-bottom: 2px;
  font-size: 15px;
  font-weight: 780;
}
.submit-balance-line {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 700;
}
.submit-recharge,
.submit-back-button {
  padding: 6px 11px;
  color: #fff;
  background: rgba(255,255,255,.18);
  border: 1px solid rgba(255,255,255,.24);
  box-shadow: none;
  backdrop-filter: blur(10px);
  transform: translateY(0) scale(1);
  transition: transform .16s ease, background .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.submit-recharge:hover,
.submit-back-button:hover {
  transform: translateY(-1px) scale(1.025);
  background: rgba(255,255,255,.26);
  border-color: rgba(255,255,255,.34);
  box-shadow: 0 10px 20px rgba(15, 23, 42, .14);
}
.submit-recharge:active,
.submit-back-button:active {
  transform: translateY(0) scale(.96);
  background: rgba(255,255,255,.18);
  box-shadow: inset 0 2px 5px rgba(15, 23, 42, .12);
}
.submit-back-button {
  border-radius: 10px;
  font-size: 14px;
}
.submit-recharge {
  border-radius: 999px;
  font-size: 13px;
}
.submit-modal-badge {
  display: inline-flex;
  padding: 4px 9px;
  border-radius: 999px;
  color: #075fc7;
  background: rgba(0,122,255,.14);
  font-size: 12px;
  font-weight: 900;
}
.submit-modal-body {
  flex: 1 1 auto;
  min-height: 0;
  display: grid;
  gap: 6px;
  padding: 8px 10px 10px;
  overflow: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(37, 99, 235, .55) rgba(203, 213, 225, .35);
  background:
    linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.86));
}
.submit-modal-body::-webkit-scrollbar {
  width: 7px;
}
.submit-modal-body::-webkit-scrollbar-track {
  border-radius: 999px;
  background: rgba(203, 213, 225, .35);
}
.submit-modal-body::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(37, 99, 235, .55);
}
.submit-modal-body p { margin: 0; color: #475569; font-weight: 850; }
.submit-service-card {
  padding: 5px 9px;
  border: 1px solid rgba(226,232,240,.68);
  border-left: 4px solid rgba(58, 166, 255, .82);
  border-radius: 15px;
  background: rgba(255,255,255,.70);
  box-shadow:
    0 8px 22px rgba(15, 23, 42, .05),
    inset 0 1px 0 rgba(255,255,255,.82);
  backdrop-filter: blur(18px) saturate(160%);
}
.submit-service-card h2 {
  margin: 0 0 1px;
  font-size: 14px;
  line-height: 1.2;
  color: #172033;
  font-weight: 760;
}
.submit-service-card div {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #526173;
  font-size: 11.5px;
  font-weight: 650;
}
.submit-service-card i {
  width: 1px;
  height: 12px;
  background: #d1d5db;
}
.submit-order-grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 12px;
  align-items: start;
}
.submit-left-panel,
.submit-right-panel {
  min-width: 0;
}
.submit-left-panel h3,
.submit-right-panel h3,
.submit-input-label > span {
  display: block;
  margin: 0 0 8px;
  color: #26354b;
  font-size: 14px;
  font-weight: 760;
}
.submit-section-title {
  display: inline-flex;
  align-items: center;
  margin: 0 0 7px;
  padding: 4px 9px;
  border-radius: 999px;
  color: #2563eb;
  background: rgba(37, 99, 235, .09);
  font-size: 12px;
  font-weight: 760;
}
.submit-preview-card {
  min-height: 208px;
  padding: 12px;
  border: 1px solid rgba(226,232,240,.78);
  border-radius: 18px;
  background: rgba(255,255,255,.62);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.78);
  backdrop-filter: blur(16px) saturate(150%);
}
.submit-example-box {
  position: relative;
  min-height: 176px;
  padding: 22px 18px 16px;
  border: 1px solid rgba(219, 229, 255, .86);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(250,252,255,.94), rgba(245,248,255,.88));
  color: #5b6472;
  line-height: 1.46;
  font-size: 12.5px;
  word-break: break-word;
}
.submit-preview-note {
  padding: 0 0 10px;
  margin-bottom: 12px;
  border-bottom: 1px solid #edf0f7;
  color: #223047;
  text-align: center;
  font-size: 12.5px;
  font-weight: 760;
}
.submit-example-float {
  position: absolute;
  top: -16px;
  right: 18px;
  padding: 7px 15px;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, #4f8cff, #7664f6);
  font-size: 12px;
  font-weight: 780;
  box-shadow: 0 8px 16px rgba(59,130,246,.18);
}
.example-line {
  margin: 0 0 6px;
  color: #5b6472;
  font-weight: 650;
}
.example-line.red { color: #dc2626; }
.example-line.green { color: #168a2f; }
.submit-empty-info {
  display: grid;
  min-height: 176px;
  place-items: center;
  color: #94a3b8;
  font-weight: 800;
}
.submit-notice-card {
  margin-top: 12px;
  padding: 13px 15px;
  border: 1px solid rgba(226,232,240,.78);
  border-radius: 18px;
  background: rgba(255,255,255,.62);
  color: #4b5563;
  line-height: 1.55;
  font-size: 13px;
}
.submit-notice-card h4 {
  position: relative;
  margin: 0 0 10px;
  padding-left: 12px;
  color: #26354b;
  font-size: 14px;
  font-weight: 760;
}
.submit-notice-card h4::before {
  content: "";
  position: absolute;
  left: 0;
  top: 3px;
  bottom: 3px;
  width: 4px;
  border-radius: 999px;
  background: #f5b400;
}
.submit-right-panel textarea {
  min-height: 162px;
  border-radius: 18px;
  border-color: rgba(203, 213, 225, .72);
  background: rgba(255,255,255,.68);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.78),
    0 8px 24px rgba(15,23,42,.035);
  backdrop-filter: blur(14px);
}
.submit-input-label textarea {
  min-height: 162px;
  font-size: 14px;
}
.ios-log-upload-card {
  display: grid;
  gap: 10px;
  padding: 16px;
  border: 1px solid rgba(88, 139, 255, .28);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.86), rgba(239,246,255,.72));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.78),
    0 10px 26px rgba(37,99,235,.08);
}
.ios-log-upload-card strong {
  color: #172033;
  font-size: 15px;
}
.ios-log-upload-card span,
.ios-log-upload-card em {
  color: #5b6b82;
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
}
.ios-log-upload-card input[type="file"] {
  width: 100%;
  padding: 11px;
  border: 1px dashed rgba(37,99,235,.36);
  border-radius: 14px;
  background: rgba(255,255,255,.78);
  color: #26354b;
  font-weight: 720;
}
.submit-credit-line {
  margin: 3px 0 12px;
  color: #526173;
  font-size: 13px;
  font-weight: 720;
}
.submit-note-label {
  display: grid;
  gap: 7px;
  margin-bottom: 14px;
  color: #26354b;
  font-size: 14px;
  font-weight: 720;
}
.submit-note-label textarea {
  min-height: 58px;
}
.submit-agree-line {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 6px 0 14px;
  color: #3f4f63;
  font-size: 13px;
  font-weight: 700;
}
.submit-agree-line input {
  width: 22px;
  height: 22px;
  accent-color: #2f80ed;
}
.product-info-box {
  padding: 12px 13px;
  border: 1px solid rgba(226,232,240,.88);
  border-radius: 16px;
  background: rgba(255,255,255,.66);
  color: #334155;
}
.product-info-box h3 {
  margin: 0 0 8px;
  color: #0f172a;
  font-size: 15px;
}
.product-info-box div {
  max-height: 150px;
  overflow: auto;
  line-height: 1.55;
  word-break: break-word;
}
.product-info-box p { margin: 0 0 6px; }
.submit-modal-actions {
  display: flex;
  justify-content: stretch;
  gap: 12px;
  padding: 0;
  border-top: 0;
}
.submit-modal > .submit-modal-actions,
.submit-inline-panel > .submit-modal-actions {
  flex: 0 0 auto;
  padding: 10px 12px 12px;
  border-top: 1px solid rgba(226,232,240,.72);
  background:
    linear-gradient(180deg, rgba(255,255,255,.88), rgba(248,251,255,.96));
  box-shadow: 0 -14px 30px rgba(15, 23, 42, .06);
}
.submit-modal-actions button:first-child {
  flex: 1;
  border-radius: 16px;
  font-size: 15px;
  min-height: 48px;
  background: linear-gradient(180deg, #4b97ff, #1778f2);
  box-shadow: 0 14px 30px rgba(24, 119, 242, .24);
  transform: translateY(0) scale(1);
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}
.submit-modal-actions button:first-child:hover {
  transform: translateY(-2px) scale(1.01);
  filter: brightness(1.04);
  box-shadow: 0 18px 38px rgba(24, 119, 242, .30);
}
.submit-modal-actions button:first-child:active {
  transform: translateY(0) scale(.975);
  filter: brightness(.98);
  box-shadow: 0 8px 18px rgba(24, 119, 242, .22);
}
.submit-modal-actions button.secondary {
  min-width: 92px;
  border-radius: 16px;
  background: rgba(255,255,255,.68);
  border: 1px solid rgba(203,213,225,.62);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
  transform: translateY(0) scale(1);
  transition: transform .16s ease, background .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.submit-modal-actions button.secondary:hover {
  transform: translateY(-2px) scale(1.02);
  background: rgba(255,255,255,.86);
  border-color: rgba(148,163,184,.48);
  box-shadow: 0 12px 24px rgba(15, 23, 42, .10), inset 0 1px 0 rgba(255,255,255,.9);
}
.submit-modal-actions button.secondary:active {
  transform: translateY(0) scale(.96);
  background: rgba(241,245,249,.84);
  box-shadow: inset 0 2px 6px rgba(15,23,42,.10);
}
.stats { display: flex; gap: 12px; flex-wrap: wrap; margin: 12px 0; }
.stats span { padding: 8px 11px; border-radius: 999px; background: rgba(255,255,255,.72); font-weight: 800; }
.message { margin-top: 12px; color: #b42318; white-space: pre-wrap; }
table { width: 100%; border-collapse: separate; border-spacing: 0; overflow: hidden; background: rgba(255,255,255,.76); border-radius: 18px; }
th, td { padding: 10px 11px; border-bottom: 1px solid rgba(226,232,240,.86); text-align: left; vertical-align: top; }
th { color: #475569; background: rgba(248,250,252,.82); font-size: 13px; }
.json-cell { max-width: 580px; white-space: pre-wrap; word-break: break-word; }
pre { margin: 0; white-space: pre-wrap; }
.order-result-shell {
  padding: 10px;
  border-radius: 18px;
}
.order-result-shell > h1 {
  margin: 0 0 8px;
  font-size: 28px;
  line-height: 1.1;
}
.order-result-page {
  display: grid;
  gap: 8px;
}
.order-result-hero,
.order-result-card,
.order-result-footer,
.order-result-image-card {
  border: 1px solid rgba(219,234,254,.92);
  border-radius: 14px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 10px 28px rgba(15, 23, 42, .06);
}
.order-result-hero {
  padding: 12px;
  background:
    linear-gradient(135deg, rgba(37,99,235,.96), rgba(96,165,250,.78)),
    #2563eb;
  color: #fff;
}
.order-result-hero span {
  display: block;
  font-size: 11px;
  font-weight: 900;
  opacity: .86;
}
.order-result-hero h2 {
  margin: 5px 0 8px;
  color: #fff;
  font-size: 19px;
  line-height: 1.16;
}
.order-result-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.order-result-meta em {
  padding: 4px 7px;
  border-radius: 999px;
  background: rgba(255,255,255,.18);
  font-style: normal;
  font-size: 12px;
  font-weight: 900;
}
.order-result-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.order-result-actions button,
.order-result-support {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 11px;
  border-radius: 10px;
  border: 0;
  background: linear-gradient(135deg, #1d7dff, #1762ee);
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 8px 18px rgba(37,99,235,.18);
}
.order-result-card {
  padding: 11px;
}
.order-result-card h3 {
  margin: 0 0 8px;
  color: #0f172a;
  font-size: 20px;
}
.order-result-grid,
.order-result-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}
.order-result-fields {
  margin-top: 8px;
}
.order-result-grid > div,
.order-result-field {
  padding: 8px 9px;
  border: 1px solid rgba(226,232,240,.9);
  border-radius: 11px;
  background: rgba(248,250,252,.82);
}
.order-result-grid span,
.order-result-field span {
  display: block;
  margin-bottom: 3px;
  color: #64748b;
  font-size: 11px;
  font-weight: 900;
}
.order-result-grid strong,
.order-result-field strong {
  display: block;
  color: #0f172a;
  font-size: 13px;
  line-height: 1.28;
  word-break: break-word;
}
.order-result-field.red strong { color: #d92d20; }
.order-result-field.green strong { color: #079455; }
.order-result-footer {
  padding: 9px 11px;
  text-align: center;
  color: #475569;
  font-size: 12px;
  font-weight: 800;
}
.order-result-footer p {
  margin: 0 0 4px;
}
.order-result-footer a {
  color: #1762ee;
  text-decoration: none;
}
.order-result-image-card {
  display: grid;
  gap: 6px;
  padding: 10px;
}
.order-result-image-card strong {
  color: #0f172a;
  font-size: 14px;
}
.order-result-image-card span {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}
.order-result-image-card img {
  width: 100%;
  max-width: 420px;
  border-radius: 12px;
  border: 1px solid rgba(226,232,240,.9);
  background: #fff;
  justify-self: center;
}
.result-backdrop {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(15, 23, 42, .30);
  backdrop-filter: blur(16px) saturate(170%);
}
.result-modal {
  width: min(480px, 94vw);
  max-height: 82vh;
  overflow: auto;
  border: 1px solid rgba(255,255,255,.78);
  border-radius: 28px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 30px 90px rgba(15, 23, 42, .25);
  backdrop-filter: blur(28px) saturate(180%);
}
.result-modal.wide {
  width: min(980px, 94vw);
}
.result-header { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; padding: 17px 18px 12px; border-bottom: 1px solid rgba(226,232,240,.72); }
.result-header h2 { margin: 7px 0 0; font-size: 21px; color: #0f172a; }
.result-badge { display: inline-flex; padding: 4px 9px; border-radius: 999px; font-size: 12px; font-weight: 900; }
.result-badge.success { color: #087443; background: rgba(52, 199, 89, .18); }
.result-badge.processing { color: #075fc7; background: rgba(0, 122, 255, .16); }
.result-badge.error { color: #b42318; background: rgba(255, 59, 48, .14); }
.modal-close { width: 34px; height: 34px; padding: 0; border-radius: 999px; background: rgba(15, 23, 42, .07); color: #64748b; box-shadow: none; font-size: 24px; line-height: 1; }
.result-body { display: grid; grid-template-columns: 1fr; gap: 12px; padding: 14px 18px 18px; }
.device-preview { min-height: 132px; display: flex; flex-direction: column; gap: 8px; align-items: center; justify-content: center; border: 1px solid rgba(226,232,240,.82); border-radius: 20px; background: rgba(248,250,252,.72); overflow: hidden; padding: 12px; }
.official-device-image { width: 128px; height: 128px; object-fit: contain; }
.device-preview-name { color: #0f172a; font-size: 14px; line-height: 1.3; text-align: center; word-break: break-word; }
.official-image-empty { padding: 14px; color: #64748b; font-weight: 800; text-align: center; }
.result-content { min-width: 0; }
.result-grid { display: grid; grid-template-columns: 1fr; gap: 8px; }
.result-row { padding: 9px 11px; border: 1px solid rgba(226,232,240,.86); border-radius: 15px; background: rgba(255,255,255,.74); }
.result-row span { display: block; margin-bottom: 3px; color: #64748b; font-size: 12px; font-weight: 800; }
.result-row strong { display: block; color: #0f172a; font-size: 14px; word-break: break-word; }
.result-row.red { border-color: rgba(255, 59, 48, .28); background: rgba(255, 59, 48, .08); }
.result-row.red strong { color: #d92d20; }
.result-row.green { border-color: rgba(52, 199, 89, .30); background: rgba(52, 199, 89, .09); }
.result-row.green strong { color: #079455; }
.result-pre { padding: 13px; border: 1px solid rgba(226,232,240,.86); border-radius: 16px; background: rgba(248,250,252,.74); color: #0f172a; max-height: 310px; overflow: auto; }
.result-table-shell {
  max-height: 430px;
  overflow: auto;
  border: 1px solid rgba(226,232,240,.88);
  border-radius: 16px;
  background: rgba(255,255,255,.82);
}
.result-table {
  width: max-content;
  min-width: 100%;
  border-radius: 0;
  background: transparent;
}
.result-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: rgba(248,250,252,.96);
  color: #475569;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}
.result-table td {
  color: #0f172a;
  font-size: 12px;
  font-weight: 780;
  white-space: nowrap;
}
.result-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 10px; padding: 0 18px 18px; }
.result-action-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 16px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
}
.result-action-link.ghost {
  border: 1px solid rgba(15, 23, 42, .12);
  background: rgba(255,255,255,.72);
  color: #334155;
}
.result-action-link.primary {
  background: #0f172a;
  color: #fff;
  box-shadow: 0 12px 26px rgba(15, 23, 42, .18);
}
.home-popup-backdrop {
  position: fixed;
  inset: 0;
  z-index: 75;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 22px;
  background: rgba(15, 23, 42, .18);
}
.home-popup-modal {
  width: min(380px, 92vw);
  display: grid;
  justify-items: center;
  gap: 14px;
  padding: 30px 24px 24px;
  border: 1px solid rgba(255,255,255,.82);
  border-radius: 34px;
  background: rgba(255,255,255,.93);
  box-shadow: 0 34px 90px rgba(15,23,42,.28);
  text-align: center;
  animation: popup-enter .18s ease-out;
}
.home-popup-icon {
  width: 84px;
  height: 84px;
  display: grid;
  place-items: center;
  margin-top: -70px;
  border-radius: 26px;
  background: linear-gradient(180deg, #dbeafe, #bfdbfe);
  box-shadow: 0 18px 34px rgba(37,99,235,.25);
  font-size: 46px;
}
.home-popup-image {
  max-width: 150px;
  max-height: 126px;
  object-fit: contain;
  margin-top: -76px;
  filter: drop-shadow(0 18px 24px rgba(37,99,235,.20));
}
.home-popup-modal h2 {
  margin: 0;
  color: #111827;
  font-size: 22px;
  font-weight: 900;
}
.home-popup-content {
  width: 100%;
  min-height: 210px;
  padding: 23px 20px;
  border-radius: 22px;
  background: #f3f6fb;
  color: #334155;
  line-height: 1.9;
  font-size: 15px;
  font-weight: 750;
  word-break: break-word;
}
.home-popup-close {
  width: 84%;
  min-height: 48px;
  margin-top: 5px;
  border-radius: 999px;
  background: linear-gradient(180deg, #4b97ff, #1d7df2);
}
@keyframes popup-enter {
  from { opacity: 0; transform: translateY(12px) scale(.97); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.orders-page {
  display: grid;
  gap: 10px;
}
.orders-hero {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: stretch;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,.78);
  border-radius: 22px;
  background:
    radial-gradient(circle at 8% 0%, rgba(59,130,246,.20), transparent 28%),
    linear-gradient(135deg, rgba(255,255,255,.82), rgba(239,246,255,.74));
  box-shadow: 0 14px 34px rgba(15,23,42,.06);
  backdrop-filter: blur(22px) saturate(170%);
}
.orders-eyebrow {
  margin: 0 0 6px;
  color: #2563eb;
  font-size: 12px;
  font-weight: 850;
}
.orders-hero h1 {
  margin: 0 0 4px;
  color: #172033;
  font-size: 22px;
  letter-spacing: 0;
}
.orders-hero p {
  margin: 0;
  color: #64748b;
  font-weight: 650;
}
.orders-total-card {
  min-width: 150px;
  display: grid;
  align-content: center;
  gap: 6px;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,.76);
  border-radius: 18px;
  background: rgba(255,255,255,.72);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.86), 0 16px 36px rgba(37,99,235,.10);
}
.orders-total-card span,
.orders-filter-card label span {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}
.orders-total-card strong {
  color: #0f172a;
  font-size: 23px;
  font-weight: 850;
}
.orders-filter-card {
  display: grid;
  grid-template-columns: minmax(180px, .9fr) minmax(260px, 1.25fr) minmax(150px, .65fr) auto;
  gap: 10px;
  align-items: end;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 20px;
  background: rgba(255,255,255,.70);
  box-shadow: 0 12px 28px rgba(15,23,42,.055);
  backdrop-filter: blur(20px) saturate(170%);
}
.orders-filter-card label {
  display: grid;
  gap: 7px;
}
.orders-filter-card input,
.orders-filter-card select {
  height: 40px;
  border-radius: 12px;
  background: rgba(255,255,255,.82);
}
.orders-filter-actions {
  display: flex;
  gap: 9px;
  align-items: center;
  justify-content: flex-end;
}
.orders-filter-actions button {
  min-height: 40px;
  padding: 9px 16px;
}
.orders-list-card {
  padding: 0;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 20px;
  background: rgba(255,255,255,.68);
  box-shadow: 0 14px 36px rgba(15,23,42,.06);
  backdrop-filter: blur(20px) saturate(170%);
  overflow: hidden;
}
.orders-list-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 13px 16px;
  border-bottom: 1px solid rgba(226,232,240,.82);
  background: rgba(255,255,255,.58);
}
.orders-list-head h2 {
  margin: 0;
  color: #172033;
  font-size: 16px;
}
.orders-list-head span {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}
.order-record-table {
  min-width: 980px;
  overflow-x: auto;
}
.order-record-header {
  display: grid;
  grid-template-columns: 120px 78px minmax(130px, 1fr) minmax(330px, 2.1fr) 116px 76px;
  gap: 14px;
  align-items: center;
  padding: 11px 16px;
  color: #334155;
  background: rgba(248,250,252,.92);
  border-bottom: 1px solid rgba(226,232,240,.90);
  font-size: 13px;
  font-weight: 850;
}
.order-record-card {
  display: grid;
  grid-template-columns: 120px 78px minmax(130px, 1fr) minmax(330px, 2.1fr) 116px 76px;
  gap: 14px;
  align-items: start;
  padding: 10px 16px;
  border-bottom: 1px solid rgba(226,232,240,.90);
  background: rgba(255,255,255,.76);
  box-shadow: none;
  transition: background .16s ease;
}
.order-record-card:nth-child(odd) {
  background: rgba(241,245,249,.62);
}
.order-record-card:hover {
  background: rgba(235,244,255,.84);
}
.order-record-service,
.order-record-input {
  min-width: 0;
  display: grid;
  gap: 4px;
}
.order-record-service a {
  color: #0f172a;
  font-size: 14px;
  font-weight: 800;
  word-break: break-word;
}
.order-record-product {
  color: #475569;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.3;
  word-break: break-word;
}
.order-record-input strong {
  color: #334155;
  font-size: 14px;
  font-weight: 680;
  word-break: break-word;
}
.order-record-input span {
  color: #64748b;
  font-size: 12px;
  line-height: 1.35;
}
.order-record-result {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #475569;
  font-size: 13px;
  line-height: 1.35;
  white-space: normal;
  word-break: break-word;
  overflow: visible;
}
.order-record-result pre {
  max-height: none;
  overflow: visible;
  white-space: pre-wrap;
}
.order-record-time {
  color: #475569;
  font-size: 13px;
  line-height: 1.28;
  white-space: pre-line;
}
.order-record-money {
  color: #334155;
  font-size: 14px;
  font-weight: 760;
}
.order-record-status {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.order-status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 26px;
  padding: 4px 10px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 760;
}
.order-status-pill.success { color: #087443; background: rgba(52,199,89,.16); }
.order-status-pill.failed { color: #b42318; background: rgba(255,59,48,.14); }
.order-status-pill.processing { color: #075fc7; background: rgba(0,122,255,.15); }
.order-status-pill.queued { color: #8a4b00; background: rgba(255,199,87,.20); }
.order-status-pill.refunded { color: #7c2d12; background: rgba(251,146,60,.20); }
.refunded-inline {
  display: inline-flex;
  width: fit-content;
  margin-top: 4px;
  padding: 3px 8px;
  border-radius: 999px;
  color: #7c2d12;
  background: rgba(251,146,60,.18);
  font-size: 12px;
  font-weight: 850;
}
.orders-empty {
  min-height: 130px;
  display: grid;
  place-items: center;
  border: 1px dashed rgba(148,163,184,.52);
  border-radius: 18px;
  color: #64748b;
  background: rgba(255,255,255,.58);
  font-weight: 800;
}
.balance-page {
  display: grid;
  gap: 14px;
}
.recharge-page {
  display: grid;
  width: min(100%, 390px);
  margin: 0 auto;
  gap: 6px;
  padding: 6px 8px 74px;
}
.recharge-amount-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 54px;
  align-items: center;
  min-height: 72px;
  overflow: hidden;
  padding: 12px 14px;
  border-radius: 14px;
  color: #fff;
  background:
    radial-gradient(circle at 84% 24%, rgba(255,255,255,.34), transparent 24%),
    linear-gradient(135deg, #1488ff 0%, #2478f2 45%, #85bfff 100%);
  box-shadow: 0 10px 22px rgba(37,99,235,.22);
  position: relative;
}
.recharge-amount-card::after {
  content: "";
  position: absolute;
  inset: auto -16px -28px 18%;
  height: 48px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  transform: rotate(-8deg);
}
.recharge-amount-card span {
  display: block;
  font-size: 11px;
  font-weight: 850;
  opacity: .94;
}
.recharge-amount-card strong {
  display: block;
  margin-top: 4px;
  font-size: 30px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: 0;
}
.recharge-amount-card em {
  display: inline-flex;
  margin-top: 7px;
  padding: 3px 8px;
  border-radius: 8px;
  background: rgba(255,255,255,.15);
  font-style: normal;
  font-size: 11px;
  font-weight: 900;
}
.recharge-amount-card i {
  width: 48px;
  height: 48px;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: inset 0 0 22px rgba(255,255,255,.18);
  position: relative;
}
.recharge-amount-card i::before {
  content: "";
  position: absolute;
  left: 19px;
  top: 11px;
  width: 10px;
  height: 25px;
  border-radius: 5px;
  background: rgba(255,255,255,.35);
  transform: skewX(-18deg);
}
.recharge-panel {
  display: grid;
  gap: 7px;
  padding: 9px 10px;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 14px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 8px 18px rgba(37,99,235,.07);
}
.recharge-panel h2 {
  margin: 0;
  color: #111827;
  font-size: 13px;
  font-weight: 950;
  letter-spacing: 0;
}
.recharge-field {
  display: block;
  position: relative;
  color: transparent;
  font-size: 0;
}
.recharge-field input {
  width: 100%;
  height: 34px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  padding: 0 42px 0 11px;
  color: #111827;
  font-size: 15px;
  font-weight: 950;
  outline: none;
  background: #fff;
}
.recharge-field input:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 2px rgba(37,99,235,.10);
}
.recharge-field span {
  position: absolute;
  right: 11px;
  top: 50%;
  transform: translateY(-50%);
  color: #6b7280;
  font-size: 12px;
  font-weight: 850;
}
.recharge-presets,
.recharge-channel {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}
.recharge-channel {
  grid-template-columns: 1fr;
}
.recharge-presets button {
  min-height: 30px;
  border: 1px solid #dbe3ef;
  border-radius: 8px;
  color: #111827;
  background: #fff;
  font-size: 12px;
  font-weight: 900;
  position: relative;
}
.recharge-presets button.active {
  border-color: #2563eb;
  color: #1d4ed8;
  background: #eef4ff;
  box-shadow: inset 0 0 0 1px rgba(37,99,235,.18);
}
.recharge-presets button.active::after {
  content: "✓";
  position: absolute;
  top: -6px;
  right: -5px;
  display: grid;
  place-items: center;
  width: 16px;
  height: 16px;
  border-radius: 999px;
  color: #fff;
  background: #2563eb;
  font-size: 10px;
  font-weight: 950;
}
.recharge-channel button {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 6px 8px;
  border: 1px solid #e5e7eb;
  border-radius: 9px;
  text-align: left;
  background: #fff;
}
.recharge-channel button strong,
.recharge-channel button em {
  display: block;
}
.recharge-channel button strong {
  color: #111827;
  font-size: 12px;
  font-weight: 950;
}
.recharge-channel button em {
  margin-top: 1px;
  color: #64748b;
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
}
.recharge-channel button i {
  width: 16px;
  height: 16px;
  border: 2px solid #d1d5db;
  border-radius: 999px;
}
.recharge-channel button.active {
  border-color: rgba(37,99,235,.42);
  box-shadow: inset 0 0 0 1px rgba(37,99,235,.08);
}
.recharge-channel button.active i {
  border: 5px solid #2563eb;
}
.recharge-channel-icon {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  color: #fff;
  font-size: 10px;
  font-weight: 950;
}
.recharge-channel-icon.wechat { background: #22c55e; }
.recharge-channel-icon.alipay {
    background: linear-gradient(135deg, #1677ff 0%, #009fe8 100%);
    color: #fff;
}
.recharge-channel button.disabled {
  opacity: .58;
  background: #fafafa;
}
.recharge-summary {
  display: grid;
  gap: 0;
}
.recharge-summary div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 24px;
  border-bottom: 1px dashed #e5e7eb;
  color: #6b7280;
  background: transparent;
}
.recharge-summary div:last-child { border-bottom: 0; }
.recharge-summary span {
  color: #6b7280;
  font-size: 11px;
  font-weight: 850;
}
.recharge-summary strong {
  color: #111827;
  font-size: 12px;
  font-weight: 900;
}
.recharge-summary-pay {
  margin-top: 3px;
  padding-top: 4px;
}
.recharge-summary-pay strong {
  color: #1d4ed8;
  font-size: 15px;
}
.recharge-back-link {
  display: inline-flex;
  justify-self: center;
  align-items: center;
  min-height: 22px;
  color: #2563eb;
  text-decoration: none;
  font-size: 12px;
  font-weight: 900;
}
.recharge-message {
  min-height: 14px;
  max-width: 100%;
  text-align: center;
  color: #2563eb;
  font-weight: 850;
  font-size: 11px;
  overflow-wrap: anywhere;
  line-height: 1.45;
}
.recharge-bottom-bar {
  position: fixed;
  left: 50%;
  bottom: 0;
  z-index: 40;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(132px, 1fr);
  align-items: center;
  gap: 10px;
  width: min(100%, 410px);
  transform: translateX(-50%);
  padding: 8px 14px max(8px, env(safe-area-inset-bottom));
  border-radius: 14px 14px 0 0;
  background: rgba(255,255,255,.96);
  box-shadow: 0 -12px 28px rgba(15,23,42,.10);
}
.recharge-bottom-bar span {
  display: block;
  color: #6b7280;
  font-size: 10px;
  font-weight: 850;
}
.recharge-bottom-bar strong {
  display: block;
  margin-top: 1px;
  color: #1d4ed8;
  font-size: 22px;
  line-height: 1;
  font-weight: 950;
}
.recharge-bottom-bar button {
  height: 42px;
  border: 0;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, #38a6ff, #0f62f0);
  box-shadow: 0 8px 18px rgba(37,99,235,.22);
  font-size: 15px;
  font-weight: 950;
}
.recharge-bottom-bar button:disabled {
  opacity: .7;
  box-shadow: none;
}
.recharge-page > .desktop-return-link,
.balance-page > .desktop-return-link {
  justify-self: start;
  margin: 2px 0 0;
}
@media (min-width: 981px) {
  .recharge-page {
    width: min(100%, 520px) !important;
    max-width: 520px !important;
    gap: 8px;
    padding-top: 16px;
  }
  .recharge-amount-card {
    min-height: 88px;
    padding: 16px 18px;
  }
  .recharge-amount-card strong {
    font-size: 32px;
  }
  .recharge-panel {
    padding: 12px 14px;
    border-radius: 16px;
  }
  .recharge-presets {
    gap: 8px;
  }
  .recharge-presets button {
    min-height: 36px;
  }
  .recharge-channel button {
    min-height: 46px;
    padding: 8px 10px;
  }
  .recharge-bottom-bar {
    width: min(100%, 520px) !important;
    grid-template-columns: minmax(0, .75fr) minmax(150px, 1fr);
  }
}
.recharge-success {
  padding: 12px;
  border: 1px solid rgba(22,163,74,.25);
  border-radius: 12px;
  color: #166534;
  background: #f0fdf4;
}
.recharge-success h2,
.recharge-success p {
  margin: 0 0 6px;
}
.wechat-native-pay-mask {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(15,23,42,.46);
  backdrop-filter: blur(8px);
}
.wechat-native-pay-dialog {
  position: relative;
  display: grid;
  justify-items: center;
  width: min(100%, 340px);
  gap: 10px;
  padding: 18px;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(15,23,42,.24);
}
.wechat-native-pay-dialog h2 {
  margin: 0;
  color: #0f172a;
  font-size: 20px;
  font-weight: 950;
  letter-spacing: 0;
}
.wechat-native-pay-dialog p {
  margin: -3px 0 2px;
  color: #64748b;
  font-size: 13px;
  font-weight: 800;
  text-align: center;
}
.wechat-native-close {
  position: absolute;
  top: 8px;
  right: 10px;
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 999px;
  color: #64748b;
  background: #f1f5f9;
  font-size: 20px;
  line-height: 1;
}
.wechat-native-qr {
  display: grid;
  place-items: center;
  width: 230px;
  height: 230px;
  padding: 5px;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  background: #fff;
}
.wechat-native-qr svg {
  width: 220px;
  height: 220px;
  display: block;
}
.wechat-native-qr-empty {
  display: grid;
  place-items: center;
  width: 220px;
  height: 220px;
  color: #64748b;
  font-size: 13px;
  font-weight: 850;
}
.wechat-native-pay-meta {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}
.wechat-native-pay-meta div {
  min-width: 0;
  padding: 8px 10px;
  border-radius: 10px;
  background: #f8fafc;
}
.wechat-native-pay-meta div.full {
  grid-column: 1 / -1;
}
.wechat-native-pay-meta span {
  display: block;
  color: #64748b;
  font-size: 11px;
  font-weight: 850;
}
.wechat-native-pay-meta strong {
  display: block;
  margin-top: 2px;
  overflow-wrap: anywhere;
  color: #0f172a;
  font-size: 13px;
  font-weight: 950;
}
.wechat-native-pay-meta div:first-child strong {
  color: #1d4ed8;
  font-size: 18px;
}
.wechat-native-pay-dialog em {
  color: #64748b;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
  text-align: center;
}
.balance-hero {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: stretch;
  padding: 20px;
  border: 1px solid rgba(255,255,255,.76);
  border-radius: 26px;
  background:
    radial-gradient(circle at 12% 0%, rgba(96,165,250,.22), transparent 28%),
    linear-gradient(135deg, rgba(255,255,255,.82), rgba(239,246,255,.72));
  box-shadow: 0 24px 70px rgba(15,23,42,.08);
  backdrop-filter: blur(22px) saturate(170%);
}
.balance-eyebrow {
  margin: 0 0 6px;
  color: #2563eb;
  font-size: 12px;
  font-weight: 850;
}
.balance-hero h1 {
  margin: 0 0 8px;
  color: #172033;
  font-size: 25px;
  letter-spacing: 0;
}
.balance-hero p {
  margin: 0;
  color: #64748b;
  font-weight: 650;
}
.balance-total-card {
  min-width: 210px;
  display: grid;
  align-content: center;
  gap: 6px;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.74);
  border-radius: 22px;
  background: rgba(255,255,255,.72);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.86), 0 16px 36px rgba(37,99,235,.10);
}
.balance-total-card span,
.balance-stats span {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}
.balance-total-card strong {
  color: #0f172a;
  font-size: 28px;
  font-weight: 850;
}
.balance-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.balance-stats div {
  padding: 14px 16px;
  border: 1px solid rgba(226,232,240,.72);
  border-radius: 20px;
  background: rgba(255,255,255,.68);
  box-shadow: 0 12px 30px rgba(15,23,42,.05);
}
.balance-stats strong {
  display: block;
  margin-top: 6px;
  color: #172033;
  font-size: 18px;
}
.balance-list-card {
  padding: 16px;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 24px;
  background: rgba(255,255,255,.68);
  box-shadow: 0 20px 60px rgba(15,23,42,.07);
  backdrop-filter: blur(20px) saturate(170%);
}
.balance-list-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-bottom: 12px;
}
.balance-list-head h2 {
  margin: 0;
  color: #172033;
  font-size: 18px;
}
.balance-list-head span {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}
.balance-log-list {
  display: grid;
  gap: 10px;
}
.balance-log-row {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 13px;
  border: 1px solid rgba(226,232,240,.74);
  border-radius: 18px;
  background: rgba(255,255,255,.76);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.84);
}
.balance-log-icon {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: #fff;
  font-size: 22px;
  font-weight: 850;
}
.balance-log-icon.debit { background: linear-gradient(180deg, #fb7185, #ef4444); }
.balance-log-icon.credit { background: linear-gradient(180deg, #34d399, #10b981); }
.balance-log-title {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.balance-log-title strong {
  color: #172033;
  font-size: 15px;
}
.balance-log-title span {
  padding: 3px 8px;
  border-radius: 999px;
  color: #2563eb;
  background: rgba(37,99,235,.09);
  font-size: 11px;
  font-weight: 850;
}
.balance-log-main p {
  margin: 5px 0;
  color: #64748b;
  font-size: 13px;
  font-weight: 650;
}
.balance-log-main em {
  color: #94a3b8;
  font-size: 12px;
  font-style: normal;
}
.balance-log-money {
  display: grid;
  justify-items: end;
  gap: 4px;
}
.balance-log-money strong {
  font-size: 17px;
  font-weight: 900;
}
.balance-log-money strong.debit { color: #ef4444; }
.balance-log-money strong.credit { color: #10b981; }
.balance-log-money span {
  color: #64748b;
  font-size: 12px;
  font-weight: 750;
}
.balance-empty {
  padding: 28px;
  border: 1px dashed rgba(148,163,184,.58);
  border-radius: 18px;
  color: #64748b;
  text-align: center;
  font-weight: 800;
}
.member-page {
  display: grid;
  gap: 14px;
}
.member-grid {
  display: grid;
  grid-template-columns: minmax(0, 1080px);
  gap: 16px;
  align-items: start;
  justify-content: center;
}
.member-left-column,
.member-right-column {
  display: grid;
  gap: 14px;
}
.member-account-card,
.member-credentials-card,
.member-list-card,
.member-hero-card,
.member-side-card {
  border: 1px solid rgba(255,255,255,.78);
  border-radius: 20px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 16px 42px rgba(15,23,42,.06), inset 0 1px 0 rgba(255,255,255,.86);
  backdrop-filter: blur(20px) saturate(170%);
}
.member-hero-card {
  min-height: 148px;
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 24px;
  border-radius: 26px;
  background:
    radial-gradient(circle at 12% 15%, rgba(96,165,250,.28), transparent 30%),
    linear-gradient(135deg, rgba(255,255,255,.92), rgba(239,246,255,.80));
  box-shadow: 0 24px 58px rgba(37,99,235,.10), inset 0 1px 0 rgba(255,255,255,.96);
}
.member-avatar-xl {
  width: 78px;
  height: 78px;
  display: grid;
  place-items: center;
  border-radius: 24px;
  color: #fff;
  background: linear-gradient(145deg, #60a5fa, #2563eb 55%, #7c3aed);
  box-shadow: 0 18px 36px rgba(37,99,235,.26), inset 0 1px 0 rgba(255,255,255,.34);
  font-size: 34px;
  font-weight: 900;
}
.member-hero-main {
  display: grid;
  gap: 8px;
}
.member-hero-main span {
  width: fit-content;
  padding: 5px 10px;
  border-radius: 999px;
  color: #2563eb;
  background: rgba(219,234,254,.82);
  font-size: 13px;
  font-weight: 850;
}
.member-hero-main h1 {
  margin: 0;
  color: #111827;
  font-size: 30px;
  line-height: 1.05;
  font-weight: 920;
}
.member-hero-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.member-hero-tags em {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  padding: 5px 10px;
  border: 1px solid rgba(191,219,254,.78);
  border-radius: 999px;
  color: #475569;
  background: rgba(255,255,255,.74);
  font-size: 13px;
  font-style: normal;
  font-weight: 780;
}
.member-hero-tags em:empty {
  display: none;
}
.member-hero-card > a {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 14px;
  border-radius: 14px;
  color: #fff;
  background: linear-gradient(180deg, #60a5fa, #3b82f6);
  box-shadow: 0 14px 28px rgba(59,130,246,.22);
  font-weight: 850;
}
.member-account-card {
  padding: 18px;
}
.member-credentials-card {
  display: grid;
  gap: 12px;
  padding: 18px;
}
.member-credentials-card p {
  margin: -10px 0 2px;
  color: #64748b;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.55;
}
.member-credentials-card label {
  display: grid;
  gap: 7px;
  color: #334155;
  font-size: 13px;
  font-weight: 820;
}
.member-credentials-card input {
  min-height: 46px;
  border-radius: 14px;
  background: rgba(248,251,255,.88);
}
.member-credentials-card button {
  min-height: 46px;
  border-radius: 14px;
  background: linear-gradient(180deg, #4b97ff, #1778f2);
  font-weight: 850;
}
.member-card-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
}
.member-card-head h2 {
  margin: 0;
  color: #172033;
  font-size: 18px;
}
.member-card-head a {
  color: #3b82f6;
  font-size: 14px;
  font-weight: 850;
}
.member-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 20px;
  text-align: center;
}
.member-stats div {
  display: grid;
  gap: 5px;
}
.member-stats strong {
  color: #111827;
  font-size: 25px;
  font-weight: 900;
}
.member-stats span {
  color: #64748b;
  font-size: 12px;
  font-weight: 780;
}
.member-vip-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid rgba(251,191,36,.56);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,251,235,.86), rgba(255,247,237,.76));
}
.member-vip-box.active {
  border-color: rgba(52,199,89,.32);
  background: rgba(240,253,244,.80);
}
.member-vip-box div {
  display: grid;
  gap: 5px;
}
.member-vip-box strong {
  color: #92400e;
  font-size: 14px;
}
.member-vip-box.active strong {
  color: #087443;
}
.member-vip-box span {
  color: #b45309;
  font-size: 13px;
  font-weight: 760;
}
.member-vip-box.active span {
  color: #166534;
}
.member-warm-button {
  min-width: 76px;
  min-height: 38px;
  padding: 8px 14px;
  border-radius: 12px;
  background: linear-gradient(180deg, #d98b35, #c76f1c);
  box-shadow: 0 12px 24px rgba(199,111,28,.18);
}
.member-action-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 6px;
}
.member-action-row a {
  min-height: 54px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  font-size: 18px;
  font-weight: 900;
}
.member-bill-button {
  color: #e11d48;
  background: rgba(255,228,230,.86);
}
.member-recharge-button {
  color: #fff;
  background: linear-gradient(180deg, #5b96f5, #357ce8);
  box-shadow: 0 14px 28px rgba(53,124,232,.22);
}
.member-list-card {
  overflow: hidden;
}
.member-list-item {
  min-height: 64px;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 13px 18px;
  border-bottom: 1px solid rgba(226,232,240,.72);
  color: #172033;
  transition: background .16s ease, transform .16s ease;
}
.member-list-item:last-child {
  border-bottom: 0;
}
.member-list-item:hover {
  background: rgba(239,246,255,.72);
}
.member-list-icon {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #64748b;
  background: rgba(241,245,249,.92);
  font-weight: 900;
}
.member-list-item strong {
  font-size: 15px;
  font-weight: 850;
}
.member-list-item em {
  color: #94a3b8;
  font-size: 28px;
  font-style: normal;
  line-height: 1;
}
.member-side-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.member-side-card {
  padding: 18px 22px;
}
.member-side-title {
  justify-content: flex-start;
  color: #64748b;
  font-size: 15px;
  font-weight: 850;
}
.member-side-card h2 {
  margin: 16px 0 4px;
  color: #111827;
  font-size: 34px;
  font-weight: 520;
}
.member-detail-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 18px;
  margin-top: 22px;
}
.member-detail-row {
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border-bottom: 1px solid rgba(226,232,240,.76);
}
.member-detail-row:nth-last-child(-n + 2) {
  border-bottom: 0;
}
.member-detail-row:last-child {
  border-bottom: 0;
}
.member-detail-row span {
  color: #64748b;
  font-size: 14px;
  font-weight: 760;
}
.member-detail-row strong {
  color: #334155;
  font-size: 15px;
  font-weight: 850;
  text-align: right;
  word-break: break-word;
}
.inventory-page {
  min-height: calc(100vh - 92px);
  display: grid;
  gap: 12px;
}
.inventory-loading {
  min-height: 360px;
  display: grid;
  place-items: center;
  color: #475569;
  font-size: 18px;
  font-weight: 900;
}
.inventory-subscribe {
  padding: 28px;
  border: 1px solid rgba(191, 219, 254, .72);
  border-radius: 28px;
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 22px 60px rgba(45, 106, 196, .12);
}
.inventory-subscribe-head {
  max-width: 760px;
  margin-bottom: 24px;
}
.inventory-subscribe-head span {
  display: inline-grid;
  place-items: center;
  height: 28px;
  padding: 0 12px;
  border-radius: 999px;
  color: #1d4ed8;
  background: #dbeafe;
  font-size: 12px;
  font-weight: 950;
}
.inventory-subscribe-head h1 {
  margin: 14px 0 10px;
  color: #10203b;
  font-size: 34px;
  font-weight: 950;
}
.inventory-subscribe-head p {
  margin: 0;
  color: #64748b;
  line-height: 1.8;
  font-weight: 780;
}
.inventory-plan-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.inventory-plan-card {
  min-height: 158px;
  display: grid;
  gap: 8px;
  align-content: start;
  padding: 18px;
  border: 1px solid rgba(191, 219, 254, .72);
  border-radius: 18px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 14px 30px rgba(15, 23, 42, .06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.inventory-plan-card:hover {
  border-color: rgba(59, 130, 246, .45);
  box-shadow: 0 18px 40px rgba(37, 99, 235, .12);
  transform: translateY(-2px);
}
.inventory-plan-card strong {
  color: #0f172a;
  font-size: 17px;
  font-weight: 950;
}
.inventory-plan-card h2 {
  margin: 0;
  color: #1d4ed8;
  font-size: 30px;
  font-weight: 950;
}
.inventory-plan-card p {
  margin: 0 0 12px;
  color: #64748b;
  font-weight: 780;
}
.inventory-plan-card button {
  width: 100%;
  min-height: 42px;
  margin-top: auto;
  border-radius: 14px;
  background: linear-gradient(180deg, #3b82f6, #2563eb);
  box-shadow: 0 12px 24px rgba(37, 99, 235, .18);
}
.inventory-locked {
  display: grid;
  gap: 12px;
}
.inventory-locked-head {
  padding: 22px 24px;
  border: 1px solid rgba(147, 197, 253, .62);
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(248, 251, 255, .88));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .88);
}
.inventory-locked-head span {
  color: #1d4ed8;
  font-size: 14px;
  font-weight: 950;
}
.inventory-locked-head strong {
  display: block;
  margin-top: 7px;
  color: #10203b;
  font-size: 28px;
  font-weight: 950;
}
.inventory-locked-head p {
  max-width: 880px;
  margin: 8px 0 12px;
  color: #64748b;
  line-height: 1.65;
  font-weight: 780;
}
.inventory-locked-head em {
  display: inline-grid;
  place-items: center;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  color: #b45309;
  background: #fffbeb;
  font-size: 13px;
  font-style: normal;
  font-weight: 950;
}
.inventory-lock-panel {
  display: flex;
  align-items: center;
  min-height: 70px;
  padding: 15px 18px;
  border: 1px solid rgba(251, 191, 36, .42);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255, 251, 235, .88), rgba(255, 247, 237, .74));
}
.inventory-lock-panel strong {
  color: #92400e;
  font-size: 16px;
  font-weight: 950;
}
.inventory-lock-panel p {
  margin: 6px 0 0;
  color: #b45309;
  font-weight: 820;
}
.inventory-shell {
  display: grid;
  grid-template-columns: 252px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}
.inventory-subnav,
.inventory-content {
  border: 1px solid rgba(191, 219, 254, .58);
  border-radius: 24px;
  background: rgba(255, 255, 255, .86);
  box-shadow: 0 20px 50px rgba(37, 99, 235, .09);
}
.inventory-subnav {
  align-self: start;
  position: sticky;
  top: 74px;
  display: grid;
  gap: 7px;
  padding: 16px;
}
.inventory-subnav h2 {
  margin: 0;
  color: #0f172a;
  font-size: 21px;
  font-weight: 950;
}
.inventory-subnav p {
  margin: 0 0 10px;
  color: #64748b;
  font-size: 13px;
  font-weight: 780;
}
.inventory-subnav button {
  position: relative;
  min-height: 44px;
  border: 0;
  border-radius: 15px;
  color: #475569;
  background: rgba(248, 250, 252, .58);
  text-align: left;
  font-weight: 900;
  cursor: pointer;
  padding: 0 14px 0 20px;
  transition: background .16s ease, color .16s ease, transform .16s ease, box-shadow .16s ease;
}
.inventory-subnav button::before {
  content: "";
  position: absolute;
  left: 9px;
  top: 13px;
  bottom: 13px;
  width: 3px;
  border-radius: 999px;
  background: rgba(148, 163, 184, .45);
}
.inventory-subnav button:hover,
.inventory-subnav button.active {
  color: #1d4ed8;
  background: linear-gradient(180deg, rgba(239, 246, 255, .96), rgba(219, 234, 254, .78));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .86), 0 10px 22px rgba(37, 99, 235, .08);
  transform: translateX(2px);
}
.inventory-subnav button:hover::before,
.inventory-subnav button.active::before {
  background: #3b82f6;
}
.inventory-content {
  min-height: calc(100vh - 166px);
  padding: 16px;
}
.inventory-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 16px;
}
.inventory-stat-grid article,
.inventory-card {
  border: 1px solid rgba(226, 232, 240, .86);
  border-radius: 20px;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 12px 30px rgba(15, 23, 42, .06);
}
.inventory-stat-grid article {
  padding: 18px;
}
.inventory-stat-grid span {
  color: #64748b;
  font-size: 13px;
  font-weight: 850;
}
.inventory-stat-grid strong {
  display: block;
  margin-top: 8px;
  color: #0f172a;
  font-size: 28px;
  font-weight: 950;
}
.inventory-two-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.inventory-card {
  padding: 18px;
}
.inventory-preview-card {
  display: grid;
  gap: 14px;
}
.inventory-card-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.inventory-card-title-row h2 {
  margin-bottom: 0;
}
.inventory-locked-action,
.inventory-row-actions button {
  min-height: 34px;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(180deg, #3b82f6, #2563eb);
  box-shadow: 0 10px 20px rgba(37, 99, 235, .14);
}
.inventory-preview-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.inventory-preview-form label {
  display: grid;
  gap: 7px;
  color: #475569;
  font-size: 13px;
  font-weight: 860;
}
.inventory-preview-form input {
  min-height: 42px;
  border-color: rgba(203, 213, 225, .78);
  border-radius: 14px;
  background: rgba(248, 250, 252, .72);
}
.inventory-card h2 {
  margin: 0 0 14px;
  color: #10203b;
  font-size: 18px;
  font-weight: 950;
}
.inventory-placeholder-list {
  display: grid;
  gap: 10px;
}
.inventory-placeholder-list div {
  min-height: 46px;
  display: flex;
  align-items: center;
  padding: 0 14px;
  border-radius: 14px;
  color: #64748b;
  background: #f8fafc;
  font-weight: 800;
}
.inventory-table-shell {
  overflow: auto;
}
.inventory-table-shell table {
  min-width: 1120px;
}
.inventory-preview-table {
  min-width: 820px;
}
.inventory-row-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.inventory-row-actions button {
  min-height: 30px;
  padding: 4px 10px;
  font-size: 13px;
}
.inventory-row-actions button.danger {
  color: #dc2626;
  background: #fee2e2;
  box-shadow: none;
}
.inventory-transaction-type {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  color: #475467;
  background: #f2f4f7;
  font-size: 12px;
  font-weight: 950;
  white-space: nowrap;
}
.inventory-transaction-type.inbound {
  color: #047857;
  background: #d1fae5;
}
.inventory-transaction-type.outbound {
  color: #b42318;
  background: #fee4e2;
}
.inventory-transaction-type.return-inbound {
  color: #92400e;
  background: #fef3c7;
}

/* Inventory workspace redesign: optimized for 1440 x 900 notebooks. */
.inventory-page {
  width: 100%;
  height: calc(100vh - 20px);
  min-height: 740px;
  display: grid;
  grid-template-columns: clamp(200px, 15vw, 220px) minmax(0, 1fr);
  gap: 10px;
  overflow: hidden;
  color: #101828;
}
.inventory-loading {
  grid-column: 1 / -1;
  min-height: 100%;
  border-radius: 14px;
  background: #fff;
}
.inventory-subnav {
  position: relative;
  top: auto;
  height: 100%;
  min-width: 0;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  padding: 0;
  border: 1px solid rgba(226, 232, 240, .78);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .04);
  overflow: hidden;
}
.inventory-brand {
  flex: 0 0 auto;
  height: 58px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 12px;
  padding: 0 15px;
  border-bottom: 1px solid rgba(226, 232, 240, .78);
}
.inventory-brand-logo {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: #eff6ff;
}
.inventory-brand-logo svg {
  width: 23px;
  height: 23px;
}
.inventory-brand strong {
  color: #0f172a;
  font-size: 18px;
  font-weight: 950;
}
.inventory-brand em {
  color: #111827;
  font-style: normal;
  font-weight: 900;
  font-size: 15px;
  transform: translateY(-1px);
}
.inventory-back-query {
  margin: 10px 11px 4px;
  min-height: 36px;
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  border-radius: 10px;
  color: #2563eb;
  background: #f3f8ff;
  font-size: 13px;
  font-weight: 880;
  text-decoration: none;
  box-shadow: inset 0 0 0 1px rgba(59, 130, 246, .1);
  transition: background .14s ease, color .14s ease, transform .14s ease, box-shadow .14s ease;
}
.inventory-back-query span {
  font-size: 15px;
  font-weight: 950;
  transform: translateY(-1px);
}
.inventory-back-query strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.inventory-back-query:hover {
  color: #1d4ed8;
  background: #eaf2ff;
  box-shadow: inset 0 0 0 1px rgba(59, 130, 246, .2);
}
.inventory-back-query:active {
  transform: scale(.985);
}
.inventory-subscription-mini {
  display: none;
}
.inventory-subscription-mini span {
  display: block;
  color: #94a3b8;
  font-size: 11px;
  font-weight: 800;
}
.inventory-subscription-mini strong {
  display: block;
  margin-top: 2px;
  color: #334155;
  font-size: 13px;
  font-weight: 900;
}
.inventory-nav-list {
  flex: 1 1 auto;
  align-content: start;
  display: grid;
  gap: 3px;
  padding: 8px 11px 14px;
}
.inventory-subnav button {
  --nav-color: #2563eb;
  --nav-soft: #eff6ff;
  --nav-ring: rgba(37, 99, 235, .18);
  width: 100%;
  min-width: 0;
  min-height: 42px;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: center;
  justify-items: start;
  gap: 10px;
  margin: 0;
  padding: 0 10px;
  border: 0;
  border-radius: 10px;
  color: #344054;
  background: transparent;
  box-shadow: none;
  font-size: 14px;
  font-weight: 780;
  line-height: 1;
  transition: transform .14s ease, background .14s ease, color .14s ease, box-shadow .14s ease;
}
.inventory-subnav button::before {
  display: none;
}
.inventory-subnav button span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border: 1px solid var(--nav-ring);
  border-radius: 9px;
  color: var(--nav-color);
  background: var(--nav-soft);
  font-size: 15px;
  line-height: 1;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .78);
  transition: color .14s ease, background .14s ease, border-color .14s ease, transform .14s ease, box-shadow .14s ease;
}
.inventory-subnav button span svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.inventory-subnav button span svg.filled {
  fill: currentColor;
  stroke: none;
}
.inventory-subnav button strong {
  font: inherit;
  text-align: left;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.inventory-subnav button:hover {
  color: #111827;
  background: linear-gradient(90deg, var(--nav-soft), rgba(255, 255, 255, .88));
  box-shadow: inset 0 0 0 1px var(--nav-ring);
  transform: none;
}
.inventory-subnav button.active {
  color: #0f172a;
  background: linear-gradient(90deg, var(--nav-soft), rgba(255, 255, 255, .98));
  box-shadow: inset 3px 0 0 var(--nav-color), inset 0 0 0 1px var(--nav-ring);
  transform: none;
}
.inventory-subnav button:active {
  transform: scale(.985);
}
.inventory-subnav button:hover span,
.inventory-subnav button.active span {
  color: #fff;
  border-color: transparent;
  background: var(--nav-color);
  box-shadow: 0 8px 18px var(--nav-ring), inset 0 1px 0 rgba(255, 255, 255, .28);
  transform: translateY(-1px);
}
.inventory-subnav button.inventory-nav-home {
  --nav-color: #2563eb;
  --nav-soft: #eaf2ff;
  --nav-ring: rgba(37, 99, 235, .18);
}
.inventory-subnav button.inventory-nav-inbound {
  --nav-color: #0ea5e9;
  --nav-soft: #e0f7ff;
  --nav-ring: rgba(14, 165, 233, .18);
}
.inventory-subnav button.inventory-nav-outbound {
  --nav-color: #f97316;
  --nav-soft: #fff3e8;
  --nav-ring: rgba(249, 115, 22, .18);
}
.inventory-subnav button.inventory-nav-stock {
  --nav-color: #10b981;
  --nav-soft: #e7f8f1;
  --nav-ring: rgba(16, 185, 129, .18);
}
.inventory-subnav button.inventory-nav-transactions {
  --nav-color: #6366f1;
  --nav-soft: #eef2ff;
  --nav-ring: rgba(99, 102, 241, .18);
}
.inventory-subnav button.inventory-nav-models {
  --nav-color: #14b8a6;
  --nav-soft: #e6fffb;
  --nav-ring: rgba(20, 184, 166, .18);
}
.inventory-subnav button.inventory-nav-suppliers {
  --nav-color: #8b5cf6;
  --nav-soft: #f3edff;
  --nav-ring: rgba(139, 92, 246, .18);
}
.inventory-subnav button.inventory-nav-platforms {
  --nav-color: #0891b2;
  --nav-soft: #e6f7fb;
  --nav-ring: rgba(8, 145, 178, .18);
}
.inventory-subnav button.inventory-nav-finance {
  --nav-color: #f59e0b;
  --nav-soft: #fff7df;
  --nav-ring: rgba(245, 158, 11, .2);
}
.inventory-workspace {
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-rows: 56px minmax(0, 1fr);
  gap: 8px;
}
.inventory-module-topbar {
  min-width: 0;
  height: 56px;
  display: grid;
  grid-template-columns: 42px minmax(180px, 1fr) auto auto auto auto;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  border: 1px solid rgba(226, 232, 240, .86);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(15, 23, 42, .045);
}
.inventory-menu-toggle,
.inventory-icon-button,
.inventory-language-button,
.inventory-logout-button {
  min-height: 34px;
  border-radius: 10px;
  color: #475467;
  background: #f8fafc;
  box-shadow: none;
}
.inventory-breadcrumb {
  min-width: 0;
  color: #667085;
  font-size: 14px;
  font-weight: 760;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.inventory-top-wallet {
  min-width: 126px;
  display: grid;
  justify-items: end;
  line-height: 1.15;
}
.inventory-top-wallet span {
  color: #667085;
  font-size: 11px;
  font-weight: 780;
}
.inventory-top-wallet strong {
  color: #2563eb;
  font-size: 16px;
  font-weight: 950;
}
.inventory-icon-button {
  position: relative;
  width: 36px;
  padding: 0;
}
.inventory-icon-button.notice::after {
  content: "12";
  position: absolute;
  top: -5px;
  right: -5px;
  min-width: 17px;
  height: 17px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #fff;
  background: #ef4444;
  font-size: 10px;
  font-weight: 900;
}
.inventory-language-button,
.inventory-logout-button {
  padding: 0 12px;
  font-weight: 900;
}
.inventory-user-chip {
  display: grid;
  grid-template-columns: 34px auto;
  align-items: center;
  gap: 8px;
  min-width: 92px;
}
.inventory-user-chip > span {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #2563eb;
  background: #dbeafe;
  font-size: 18px;
}
.inventory-user-chip strong {
  display: block;
  color: #0f172a;
  font-size: 14px;
  font-weight: 950;
  line-height: 1.1;
}
.inventory-user-chip small {
  display: block;
  color: #667085;
  font-size: 11px;
  font-weight: 760;
}
.inventory-content {
  min-width: 0;
  min-height: 0;
  overflow: auto;
  padding: 8px 4px 10px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.inventory-locked {
  gap: 8px;
}
.inventory-hero-row {
  display: block;
}
.inventory-locked-head {
  min-height: 158px;
  display: grid;
  grid-template-columns: minmax(360px, .82fr) minmax(560px, 1fr);
  align-items: center;
  gap: 16px;
  padding: 14px 18px;
  border: 1px solid rgba(226, 232, 240, .74);
  border-radius: 12px;
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 8px 20px rgba(15, 23, 42, .035);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}
.inventory-locked-head.no-plans {
  display: none;
}
.inventory-locked-head:hover {
  transform: translateY(-1px);
  border-color: rgba(96, 165, 250, .34);
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 12px 24px rgba(37, 99, 235, .06);
}
.inventory-locked-head:active {
  transform: scale(.992);
}
.inventory-hero-copy {
  min-width: 0;
}
.inventory-hero-copy > span {
  color: #2563eb;
  font-size: 12px;
  font-weight: 900;
}
.inventory-hero-copy > strong {
  display: block;
  margin-top: 5px;
  color: #101828;
  font-size: clamp(23px, 1.8vw, 28px);
  line-height: 1.08;
}
.inventory-hero-copy > p {
  max-width: 620px;
  margin: 6px 0 9px;
  color: #667085;
  font-size: 13px;
  line-height: 1.45;
}
.inventory-pro-strip {
  max-width: 500px;
  min-height: 42px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 7px 10px;
  border: 1px solid rgba(191, 219, 254, .72);
  border-radius: 10px;
  background: rgba(239, 246, 255, .78);
  transition: transform .16s ease, background .16s ease, border-color .16s ease;
}
.inventory-pro-strip:hover {
  transform: translateY(-1px);
  border-color: rgba(96, 165, 250, .42);
  background: rgba(239, 246, 255, .96);
}
.inventory-pro-strip:active {
  transform: scale(.99);
}
.inventory-pro-strip b {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  color: #fff;
  background: linear-gradient(145deg, #60a5fa, #2563eb);
}
.inventory-pro-strip strong {
  display: block;
  color: #1f2937;
  font-size: 14px;
  font-weight: 950;
}
.inventory-pro-strip small {
  color: #475569;
  font-size: 11px;
  font-weight: 760;
}
.inventory-pro-strip em,
.inventory-locked-head em {
  display: inline-grid;
  place-items: center;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  color: #b45309;
  background: #fff7ed;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}
.inventory-plan-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.inventory-plan-grid-hero {
  min-width: 0;
}
.inventory-plan-card {
  position: relative;
  min-height: 116px;
  padding: 10px;
  border-radius: 11px;
  border: 1px solid rgba(203, 213, 225, .78);
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 8px 18px rgba(15, 23, 42, .035);
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}
.inventory-plan-card.recommended {
  border-color: rgba(59, 130, 246, .55);
  box-shadow: 0 10px 24px rgba(37, 99, 235, .08);
}
.inventory-plan-card:hover {
  transform: translateY(-2px);
  border-color: rgba(59, 130, 246, .42);
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 14px 28px rgba(37, 99, 235, .08);
}
.inventory-plan-card:active {
  transform: scale(.985);
}
.inventory-plan-ribbon {
  position: absolute;
  top: 0;
  right: 0;
  padding: 4px 9px;
  border-radius: 0 14px 0 10px;
  color: #fff;
  background: #2563eb;
  font-size: 11px;
  font-weight: 900;
}
.inventory-plan-card strong {
  font-size: 14px;
}
.inventory-plan-card h2 {
  font-size: clamp(21px, 1.55vw, 26px);
  color: #101828;
}
.inventory-plan-card p {
  margin-bottom: 5px;
  font-size: 11px;
}
.inventory-plan-card button {
  min-height: 30px;
  padding: 0 10px;
  border-radius: 8px;
  font-size: 13px;
}
.inventory-lock-panel {
  min-height: 40px;
  padding: 8px 12px;
  border-radius: 10px;
  background: rgba(255, 251, 235, .68);
  transition: transform .16s ease, background .16s ease;
}
.inventory-lock-panel:hover {
  transform: translateY(-1px);
  background: rgba(255, 251, 235, .9);
}
.inventory-lock-panel:active {
  transform: scale(.992);
}
.inventory-lock-panel strong {
  font-size: 13px;
}
.inventory-lock-panel p {
  margin-top: 2px;
  font-size: 12px;
}
.inventory-page-head {
  margin-bottom: 8px;
  padding: 16px 18px;
  border: 1px solid rgba(226, 232, 240, .74);
  border-radius: 12px;
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 8px 20px rgba(15, 23, 42, .035);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}
.inventory-page-head:hover {
  transform: translateY(-1px);
  border-color: rgba(96, 165, 250, .34);
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 12px 24px rgba(37, 99, 235, .06);
}
.inventory-page-head:active {
  transform: scale(.992);
}
.inventory-page-head span {
  color: #2563eb;
  font-size: 13px;
  font-weight: 900;
}
.inventory-page-head h1 {
  margin: 6px 0 6px;
  color: #101828;
  font-size: clamp(24px, 2vw, 30px);
  line-height: 1.1;
  font-weight: 950;
}
.inventory-page-head p {
  max-width: 760px;
  margin: 0;
  color: #667085;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 760;
}
.inventory-locked .inventory-page-head {
  display: none;
}
.inventory-stat-grid {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 8px;
  margin-bottom: 8px;
}
.inventory-stat-grid article {
  min-height: 78px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid rgba(226, 232, 240, .72);
  border-radius: 10px;
  background: rgba(255, 255, 255, .8);
  box-shadow: 0 8px 18px rgba(15, 23, 42, .035);
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}
.inventory-stat-grid article:hover {
  transform: translateY(-1px);
  border-color: rgba(96, 165, 250, .34);
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 12px 24px rgba(37, 99, 235, .06);
}
.inventory-stat-grid article:active {
  transform: scale(.988);
}
.inventory-stat-grid article i {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(145deg, #3b82f6, #2563eb);
  font-style: normal;
  font-size: 18px;
  font-weight: 900;
  box-shadow: 0 8px 18px rgba(37, 99, 235, .14);
}
.inventory-stat-grid article:nth-child(2) i { background: linear-gradient(145deg, #34d399, #10b981); }
.inventory-stat-grid article:nth-child(3) i { background: linear-gradient(145deg, #8b5cf6, #4f46e5); }
.inventory-stat-grid article:nth-child(4) i { background: linear-gradient(145deg, #fbbf24, #f97316); }
.inventory-stat-grid article:nth-child(5) i { background: linear-gradient(145deg, #38bdf8, #2563eb); }
.inventory-stat-grid span {
  font-size: 12px;
}
.inventory-stat-grid strong {
  margin-top: 2px;
  font-size: 22px;
}
.inventory-stat-grid em {
  display: block;
  margin-top: 3px;
  color: #98a2b3;
  font-size: 12px;
  font-style: normal;
  font-weight: 760;
}
.inventory-card {
  padding: 12px;
  border: 1px solid rgba(226, 232, 240, .72);
  border-radius: 10px;
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 8px 18px rgba(15, 23, 42, .035);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}
.inventory-preview-card {
  gap: 8px;
}
.inventory-card:hover {
  transform: translateY(-1px);
  border-color: rgba(96, 165, 250, .34);
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 12px 24px rgba(37, 99, 235, .06);
}
.inventory-card:active {
  transform: scale(.992);
}
.inventory-card h2 {
  font-size: 15px;
}
.inventory-dashboard-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(260px, .95fr);
  gap: 8px;
  margin-bottom: 8px;
}
.inventory-home-table-card,
.inventory-chart-card {
  min-height: 178px;
}
.inventory-market-card {
  position: relative;
  overflow: hidden;
  min-height: 286px;
}
.inventory-market-card .inventory-card-title-row {
  margin-bottom: 6px;
}
.inventory-market-card .inventory-card-title-row span {
  color: #059669;
}
.inventory-market-ticker {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}
.inventory-market-ticker div {
  min-width: 0;
  display: grid;
  gap: 1px;
}
.inventory-market-ticker span {
  color: #667085;
  font-size: 11px;
  font-weight: 900;
}
.inventory-market-ticker strong {
  color: #0f172a;
  font-size: 22px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: 0;
}
.inventory-market-ticker em {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 9px;
  border-radius: 999px;
  color: #047857;
  background: #d1fae5;
  font-size: 11px;
  font-style: normal;
  font-weight: 950;
  white-space: nowrap;
}
.inventory-market-periods,
.inventory-finance-period-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin-bottom: 8px;
}
.inventory-market-periods span,
.inventory-finance-period-grid article {
  min-width: 0;
  display: grid;
  gap: 2px;
  padding: 8px 9px;
  border: 1px solid rgba(226, 232, 240, .82);
  border-radius: 10px;
  background: linear-gradient(180deg, #fff, #f8fafc);
}
.inventory-market-periods b,
.inventory-finance-period-grid span {
  color: #64748b;
  font-size: 10px;
  font-weight: 900;
}
.inventory-market-periods strong,
.inventory-finance-period-grid strong {
  color: #0f172a;
  font-size: 13px;
  font-weight: 950;
  overflow-wrap: anywhere;
}
.inventory-finance-period-card {
  margin-bottom: 8px;
}
.inventory-finance-period-grid article {
  min-height: 68px;
}
.inventory-finance-period-grid em {
  color: #94a3b8;
  font-size: 11px;
  font-style: normal;
  font-weight: 820;
}
.inventory-finance-head-card {
  margin-bottom: 8px;
}
.inventory-finance-filter {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
}
.inventory-finance-filter label {
  display: grid;
  gap: 4px;
  color: #64748b;
  font-size: 11px;
  font-weight: 900;
}
.inventory-finance-filter select {
  min-width: 112px;
  min-height: 34px;
  padding: 0 10px;
  border: 1px solid rgba(203, 213, 225, .86);
  border-radius: 10px;
  color: #0f172a;
  background: #fff;
  font-weight: 900;
}
.inventory-finance-filter button {
  min-height: 34px;
  padding: 0 14px;
  border-radius: 10px;
  color: #fff;
  background: linear-gradient(180deg, #3b82f6, #2563eb);
  box-shadow: 0 10px 18px rgba(37, 99, 235, .14);
  font-weight: 950;
}
.inventory-finance-kpi-grid {
  grid-template-columns: repeat(auto-fit, minmax(156px, 1fr));
  margin-bottom: 0;
}
.inventory-finance-kpi-grid article,
.inventory-finance-total-grid article {
  min-height: 72px;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 8px;
  padding: 9px 10px;
}
.inventory-finance-kpi-grid article i,
.inventory-finance-total-grid article i {
  width: 34px;
  height: 34px;
  font-size: 15px;
}
.inventory-finance-kpi-grid article > div,
.inventory-finance-total-grid article > div {
  min-width: 0;
}
.inventory-finance-kpi-grid span,
.inventory-finance-total-grid span {
  font-size: 11px;
  line-height: 1.15;
}
.inventory-finance-kpi-grid strong,
.inventory-finance-total-grid strong {
  max-width: 100%;
  margin-top: 1px;
  font-size: clamp(17px, 1.32vw, 20px);
  line-height: 1.08;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.inventory-finance-kpi-grid em,
.inventory-finance-total-grid em {
  margin-top: 2px;
  font-size: 11px;
  line-height: 1.15;
}
.inventory-finance-ledger-card {
  margin-bottom: 8px;
}
.inventory-finance-ledger-summary {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 6px;
}
.inventory-finance-ledger-summary span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid rgba(203, 213, 225, .78);
  border-radius: 999px;
  color: #64748b;
  background: #fff;
  font-size: 11px;
  font-weight: 900;
}
.inventory-finance-ledger-summary b {
  color: #0f172a;
  font-weight: 950;
}
.inventory-finance-chart-panel {
  margin-bottom: 10px;
  padding: 14px;
  border: 1px solid rgba(226, 232, 240, .82);
  border-radius: 10px;
  background: #fff;
}
.inventory-finance-white-chart {
  min-height: 238px;
  padding: 12px 12px 10px;
  border: 1px solid rgba(226, 232, 240, .92);
  border-radius: 12px;
  background: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .96);
}
.inventory-finance-chart-tabs {
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(28px, 8vw, 96px);
  margin-bottom: 6px;
  color: #64748b;
  font-size: 15px;
  font-weight: 950;
  letter-spacing: 0;
}
.inventory-finance-chart-tabs button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 28px;
  padding: 0;
  border: 0;
  color: inherit;
  background: transparent;
  font: inherit;
  cursor: pointer;
}
.inventory-finance-chart-tabs button.active {
  color: #0f172a;
}
.inventory-finance-chart-tabs button.active::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -3px;
  width: 18px;
  height: 2px;
  border-radius: 999px;
  background: #ef4444;
  transform: translateX(-50%);
}
.inventory-finance-premium-chart {
  width: 100%;
  height: 188px;
  display: block;
}
.inventory-finance-chart-bg {
  fill: #fff;
  stroke: rgba(226, 232, 240, .72);
  stroke-width: 1;
}
.inventory-finance-chart-grid path {
  fill: none;
  stroke: rgba(100, 116, 139, .14);
  stroke-width: 1;
}
.inventory-finance-axis text {
  fill: #94a3b8;
  font-size: 7.2px;
  font-weight: 850;
}
.inventory-finance-volume rect {
  opacity: 0;
}
.inventory-finance-volume rect.up {
  fill: #93c5fd;
}
.inventory-finance-volume rect.down {
  fill: #fecdd3;
}
.inventory-finance-area {
  opacity: .055;
}
.inventory-finance-line-shadow {
  stroke: rgba(239, 68, 68, .08);
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: url(#inventoryFinanceGlow);
}
.inventory-finance-line {
  stroke: url(#inventoryFinanceStroke);
  stroke-width: 1.35;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.inventory-finance-peak-guide {
  stroke: rgba(100, 116, 139, .18);
  stroke-width: 1;
  stroke-dasharray: 2 8;
}
.inventory-finance-peak-callout rect {
  fill: #fff;
  stroke: rgba(254, 202, 202, .95);
  stroke-width: 1;
  filter: drop-shadow(0 5px 12px rgba(239, 68, 68, .08));
}
.inventory-finance-peak-callout text {
  fill: #b91c1c;
  font-size: 6.1px;
  font-weight: 900;
  paint-order: stroke;
  stroke: #fff;
  stroke-width: 2.6px;
  stroke-linejoin: round;
}
.inventory-finance-point circle {
  fill: #fff;
  stroke: #ef4444;
  stroke-width: 1.4;
  opacity: .70;
}
.inventory-finance-point.idle circle {
  opacity: 0;
}
.inventory-finance-point.active circle {
  r: 2.7;
  opacity: .24;
}
.inventory-finance-point.peak circle {
  r: 3.2;
  stroke: #dc2626;
  stroke-width: 1.6;
  opacity: 1;
  filter: drop-shadow(0 3px 7px rgba(239, 68, 68, .18));
}
.inventory-finance-point text {
  fill: #8492a6;
  font-size: 7px;
  font-weight: 850;
}
.inventory-finance-ledger-table table {
  min-width: 920px;
}
.inventory-finance-ledger-table td:nth-child(4) {
  color: #047857;
  font-weight: 950;
}
.inventory-card-title-row {
  margin-bottom: 8px;
}
.inventory-card-title-row a,
.inventory-card-title-row span {
  color: #2563eb;
  font-size: 12px;
  font-weight: 850;
}
.inventory-primary-action {
  min-height: 32px;
  padding: 0 14px;
  border: 0;
  border-radius: 9px;
  color: #fff;
  background: linear-gradient(180deg, #3b82f6, #2563eb);
  box-shadow: 0 10px 20px rgba(37, 99, 235, .14);
  font-size: 13px;
  font-weight: 900;
  transition: transform .14s ease, box-shadow .14s ease, filter .14s ease;
}
.inventory-action-group {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}
.inventory-secondary-action {
  min-height: 32px;
  padding: 0 13px;
  border: 1px solid rgba(59, 130, 246, .2);
  border-radius: 9px;
  color: #2563eb;
  background: #eff6ff;
  box-shadow: none;
  font-size: 13px;
  font-weight: 900;
  transition: transform .14s ease, box-shadow .14s ease, background .14s ease;
}
.inventory-primary-action:hover {
  filter: brightness(1.03);
  box-shadow: 0 12px 24px rgba(37, 99, 235, .18);
}
.inventory-secondary-action:hover {
  background: #dbeafe;
  box-shadow: 0 8px 18px rgba(37, 99, 235, .08);
}
.inventory-return-action {
  color: #047857;
  border-color: rgba(16, 185, 129, .28);
  background: #ecfdf5;
}
.inventory-return-action:hover {
  background: #d1fae5;
  box-shadow: 0 8px 18px rgba(5, 150, 105, .10);
}
.inventory-primary-action:active,
.inventory-secondary-action:active {
  transform: scale(.985);
}
.inventory-inbound-form-card {
  margin-bottom: 8px;
}
.inventory-inbound-page {
  min-height: calc(100vh - 132px);
  display: flex;
  flex-direction: column;
}
.inventory-inbound-edit-shell {
  border: 1px solid rgba(226, 232, 240, .86);
  border-radius: 10px;
  background: #fff;
}
.inventory-inbound-edit-table {
  min-width: 1320px;
  border-collapse: separate;
  border-spacing: 0;
}
.inventory-inbound-edit-table th,
.inventory-inbound-edit-table td {
  min-width: 104px;
  padding: 7px 6px;
  border-bottom: 1px solid rgba(226, 232, 240, .74);
  vertical-align: middle;
}
.inventory-inbound-edit-table th:first-child,
.inventory-inbound-edit-table td:first-child {
  min-width: 54px;
  width: 54px;
  text-align: center;
}
.inventory-inbound-edit-table th:nth-child(2),
.inventory-inbound-edit-table td:nth-child(2) {
  min-width: 118px;
  width: 118px;
}
.inventory-inbound-edit-table th:last-child,
.inventory-inbound-edit-table td:last-child {
  min-width: 76px;
  width: 76px;
  text-align: center;
}
.inventory-inbound-edit-table td.remark {
  min-width: 190px;
}
.inventory-inbound-edit-table input,
.inventory-inbound-edit-table select,
.inventory-inbound-edit-table textarea {
  width: 100%;
  min-height: 32px;
  padding: 0 8px;
  border: 1px solid rgba(203, 213, 225, .78);
  border-radius: 7px;
  color: #101828;
  background: rgba(248, 250, 252, .82);
  font: inherit;
  font-size: 12px;
  outline: none;
  transition: border-color .14s ease, background .14s ease, box-shadow .14s ease;
}
.inventory-inbound-edit-table select {
  padding-right: 26px;
  color: #172033;
  background: rgba(255, 255, 255, .94);
  font-weight: 850;
}
.inventory-inbound-edit-table textarea {
  min-height: 34px;
  padding-top: 7px;
  resize: vertical;
}
.inventory-inbound-edit-table input:focus,
.inventory-inbound-edit-table select:focus,
.inventory-inbound-edit-table textarea:focus {
  border-color: rgba(59, 130, 246, .6);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, .1);
}
.inventory-inbound-combo {
  width: 100%;
}
.inventory-inbound-combo-menu {
  position: fixed;
  z-index: 9999;
  max-height: 172px;
  margin: 0;
  padding: 4px;
  overflow: auto;
  border: 1px solid rgba(203, 213, 225, .86);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 26px rgba(15, 23, 42, .12);
}
.inventory-inbound-combo-option {
  display: block;
  width: 100%;
  min-height: 30px;
  padding: 0 8px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  box-shadow: none;
  color: #101828;
  font-size: 12px;
  font-weight: 850;
  line-height: 30px;
  text-align: left;
}
.inventory-inbound-combo-option:hover {
  background: rgba(59, 130, 246, .10);
  color: #1d4ed8;
}
.inventory-inbound-combo-empty {
  padding: 8px;
  color: #667085;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.5;
}
.inventory-stock-combo-menu {
  max-height: 248px;
}
.inventory-stock-combo-option {
  width: 100%;
  display: grid;
  gap: 3px;
  padding: 9px 10px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  box-shadow: none;
  text-align: left;
}
.inventory-stock-combo-option:hover {
  background: rgba(59, 130, 246, .10);
}
.inventory-stock-combo-option strong {
  color: #101828;
  font-size: 13px;
  font-weight: 950;
  line-height: 1.2;
}
.inventory-stock-combo-option span,
.inventory-stock-combo-option em {
  color: #667085;
  font-size: 11px;
  font-style: normal;
  font-weight: 780;
  line-height: 1.3;
  word-break: break-word;
}
.inventory-query-result-button {
  min-height: 34px;
  width: 100%;
  padding: 0 12px;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,252,.86));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.92), 0 8px 18px rgba(15,23,42,.04);
  color: #475569;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0;
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease, background .14s ease;
}
.inventory-query-result-button:not(:disabled):hover {
  transform: translateY(-1px);
  border-color: rgba(37, 99, 235, .36);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.92), 0 12px 24px rgba(37,99,235,.10);
}
.inventory-query-result-button.success {
  border-color: rgba(16, 185, 129, .34);
  color: #047857;
  background: linear-gradient(180deg, rgba(236,253,245,.96), rgba(209,250,229,.76));
}
.inventory-query-result-button.processing {
  border-color: rgba(59, 130, 246, .34);
  color: #1d4ed8;
  background: linear-gradient(180deg, rgba(239,246,255,.96), rgba(219,234,254,.78));
}
.inventory-query-result-button.failed {
  border-color: rgba(248, 113, 113, .34);
  color: #dc2626;
  background: linear-gradient(180deg, rgba(254,242,242,.96), rgba(254,226,226,.78));
}
.inventory-query-result-button:disabled {
  cursor: default;
  opacity: .72;
}
.inventory-query-picker-backdrop {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(15, 23, 42, .28);
  backdrop-filter: blur(14px) saturate(160%);
}
.inventory-query-picker-modal {
  width: min(640px, 94vw);
  max-height: 82vh;
  display: grid;
  gap: 12px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .78);
  border-radius: 22px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 28px 82px rgba(15, 23, 42, .22);
  padding: 16px;
}
.inventory-query-picker-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.inventory-query-picker-head span,
.inventory-query-service-search span {
  color: #2563eb;
  font-size: 12px;
  font-weight: 900;
}
.inventory-query-picker-head h3 {
  margin: 4px 0 0;
  color: #0f172a;
  font-size: 22px;
  font-weight: 950;
}
.inventory-query-service-search {
  display: grid;
  gap: 6px;
}
.inventory-query-service-search input {
  min-height: 42px;
  padding: 0 13px;
  border: 1px solid rgba(59, 130, 246, .28);
  border-radius: 12px;
  background: rgba(248, 250, 252, .92);
  color: #0f172a;
  font-size: 14px;
  font-weight: 800;
  outline: none;
}
.inventory-query-service-search input:focus {
  border-color: rgba(59, 130, 246, .58);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, .12);
}
.inventory-query-service-list {
  display: grid;
  gap: 8px;
  max-height: 430px;
  overflow-y: auto;
  padding-right: 4px;
}
.inventory-query-service-option {
  min-height: 58px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-template-areas:
    "check name price"
    "check category price";
  gap: 2px 10px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid rgba(226, 232, 240, .86);
  border-radius: 13px;
  background: linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(248, 250, 252, .86));
  box-shadow: none;
  text-align: left;
}
.inventory-query-service-option:hover {
  border-color: rgba(59, 130, 246, .38);
  background: rgba(239, 246, 255, .9);
}
.inventory-query-service-option.selected {
  border-color: rgba(37, 99, 235, .56);
  background: rgba(219, 234, 254, .9);
}
.inventory-query-service-option i {
  grid-area: check;
  min-width: 34px;
  padding: 4px 7px;
  border-radius: 999px;
  color: #2563eb;
  background: rgba(219, 234, 254, .74);
  font-size: 11px;
  font-style: normal;
  font-weight: 950;
  text-align: center;
}
.inventory-query-service-option.selected i {
  color: #fff;
  background: #2563eb;
}
.inventory-query-service-option span {
  grid-area: name;
  overflow: hidden;
  color: #0f172a;
  font-size: 14px;
  font-weight: 900;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.inventory-query-service-option em {
  grid-area: category;
  overflow: hidden;
  color: #64748b;
  font-size: 12px;
  font-style: normal;
  font-weight: 760;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.inventory-query-service-option strong {
  grid-area: price;
  justify-self: end;
  color: #1d4ed8;
  font-size: 13px;
  font-weight: 950;
}
.inventory-query-service-empty {
  min-height: 76px;
  display: grid;
  place-items: center;
  border: 1px dashed rgba(148, 163, 184, .44);
  border-radius: 14px;
  color: #64748b;
  font-size: 13px;
  font-weight: 850;
}
.inventory-query-picker-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding-top: 4px;
}
.inventory-query-picker-actions span {
  margin-right: auto;
  color: #475569;
  font-size: 13px;
  font-weight: 900;
}

.desktop-query-picker-modal {
  grid-template-rows: auto auto minmax(0, 1fr) auto;
}

.desktop-query-picker-modal .inventory-query-service-list {
  min-height: 0;
}

.desktop-query-service-option.selected {
  border-color: rgba(15, 143, 95, .48);
  background: rgba(223, 246, 234, .9);
}

.desktop-query-service-option.selected i {
  color: #fff;
  background: #0f8f5f;
}

.desktop-query-picker-actions {
  position: relative;
  z-index: 1;
  flex-wrap: wrap;
  padding-top: 10px;
  border-top: 1px solid rgba(226, 232, 240, .9);
  background: rgba(255, 255, 255, .96);
}

.desktop-query-picker-actions span {
  min-width: 170px;
  line-height: 1.35;
}
.inventory-row-index {
  text-align: center;
}
.inventory-row-index span {
  width: 28px;
  height: 28px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(37, 99, 235, .20);
  border-radius: 999px;
  color: #1d4ed8;
  background: linear-gradient(180deg, #fff, #eff6ff);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.92), 0 8px 18px rgba(37,99,235,.08);
  font-size: 12px;
  font-weight: 950;
}
.inventory-table-delete {
  min-height: 30px;
  padding: 0 9px;
  border: 0;
  border-radius: 8px;
  color: #dc2626;
  background: #fff1f2;
  font-size: 12px;
  font-weight: 900;
}
.inventory-model-manager {
  display: grid;
  gap: 12px;
}
.inventory-model-create {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px;
  border: 1px solid rgba(226, 232, 240, .74);
  border-radius: 10px;
  background: rgba(248, 250, 252, .66);
}
.inventory-model-create input {
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid rgba(203, 213, 225, .76);
  border-radius: 9px;
  background: #fff;
  font-weight: 760;
}
.inventory-model-list {
  overflow: auto;
}
.inventory-model-list table {
  min-width: 680px;
}
.inventory-model-empty {
  min-height: 120px;
  display: grid;
  place-items: center;
  border: 1px dashed rgba(203, 213, 225, .82);
  border-radius: 10px;
  color: #667085;
  background: rgba(248, 250, 252, .72);
  font-weight: 850;
}
.inventory-source-pill {
  display: inline-grid;
  place-items: center;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
}
.inventory-source-pill.global {
  color: #1d4ed8;
  background: #dbeafe;
}
.inventory-source-pill.user {
  color: #047857;
  background: #d1fae5;
}
.inventory-inbound-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
}
.inventory-inbound-form label {
  min-width: 0;
  display: grid;
  gap: 6px;
  color: #475467;
  font-size: 12px;
  font-weight: 850;
}
.inventory-inbound-form label.wide {
  grid-column: span 2;
}
.inventory-inbound-form input,
.inventory-inbound-form select,
.inventory-inbound-form textarea {
  width: 100%;
  min-height: 36px;
  padding: 0 11px;
  border: 1px solid rgba(203, 213, 225, .76);
  border-radius: 9px;
  color: #101828;
  background: rgba(248, 250, 252, .78);
  font: inherit;
  outline: none;
  box-shadow: none;
  transition: border-color .14s ease, background .14s ease, box-shadow .14s ease;
}
.inventory-inbound-form textarea {
  min-height: 72px;
  padding-top: 9px;
  resize: vertical;
}
.inventory-inbound-form input:focus,
.inventory-inbound-form select:focus,
.inventory-inbound-form textarea:focus {
  border-color: rgba(59, 130, 246, .58);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, .1);
}
.inventory-match-hint {
  display: block;
  min-height: 18px;
  color: #475467;
  font-size: 11px;
  font-weight: 850;
}
.inventory-match-hint.ok {
  color: #047857;
}
.inventory-match-hint.warn {
  color: #b42318;
}
.inventory-outbound-card {
  position: relative;
  overflow: hidden;
  padding-top: 10px;
  padding-bottom: 10px;
}
.inventory-outbound-card .inventory-card-title-row {
  margin-bottom: 6px;
}
.inventory-outbound-head,
.inventory-stock-head {
  align-items: flex-start;
  flex-wrap: wrap;
}
.inventory-outbound-head > div:first-child,
.inventory-stock-head > div:first-child {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.inventory-card-title-row .inventory-section-kicker {
  color: #0f766e;
  font-size: 11px;
  font-weight: 950;
  line-height: 1.1;
}
.inventory-head-metrics,
.inventory-stock-summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  margin-left: auto;
}
.inventory-card-title-row .inventory-head-metrics span,
.inventory-card-title-row .inventory-stock-summary span {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 0 10px;
  border: 1px solid rgba(203, 213, 225, .72);
  border-radius: 999px;
  color: #475467;
  background: rgba(248, 250, 252, .86);
  font-size: 12px;
  font-weight: 900;
}
.inventory-head-metrics b,
.inventory-stock-summary b {
  color: #0f172a;
  font-size: 15px;
  line-height: 1;
}
.inventory-outbound-layout {
  display: grid;
  grid-template-columns: minmax(280px, .9fr) minmax(360px, 1.25fr);
  gap: 8px;
  align-items: stretch;
}
.inventory-outbound-search-panel,
.inventory-outbound-fields {
  min-width: 0;
  padding: 8px;
  border: 1px solid rgba(226, 232, 240, .82);
  border-radius: 10px;
  background: rgba(248, 250, 252, .64);
}
.inventory-outbound-search-panel {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 6px;
}
.inventory-outbound-fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}
.inventory-outbound-fields label.wide {
  grid-column: 1 / -1;
}
.inventory-outbound-search-field,
.inventory-outbound-fields label {
  min-width: 0;
  display: grid;
  gap: 6px;
  color: #475467;
  font-size: 12px;
  font-weight: 900;
}
.inventory-outbound-search-field input,
.inventory-outbound-fields input,
.inventory-outbound-fields textarea {
  width: 100%;
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid rgba(203, 213, 225, .78);
  border-radius: 9px;
  color: #101828;
  background: rgba(255, 255, 255, .9);
  font: inherit;
  outline: none;
  box-shadow: none;
  transition: border-color .14s ease, background .14s ease, box-shadow .14s ease;
}
.inventory-outbound-fields textarea {
  min-height: 54px;
  padding-top: 8px;
  resize: vertical;
}
.inventory-outbound-search-field input:focus,
.inventory-outbound-fields input:focus,
.inventory-outbound-fields textarea:focus {
  border-color: rgba(59, 130, 246, .58);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, .1);
}
.inventory-match-preview {
  min-height: 88px;
  display: grid;
  align-content: start;
  gap: 5px;
  padding: 9px;
  border: 1px solid rgba(203, 213, 225, .78);
  border-radius: 10px;
  color: #475467;
  background: #fff;
}
.inventory-match-preview.ok {
  border-color: rgba(16, 185, 129, .28);
  background: linear-gradient(180deg, rgba(236, 253, 245, .86), rgba(255, 255, 255, .96));
}
.inventory-match-preview.warn {
  border-color: rgba(248, 113, 113, .28);
  background: linear-gradient(180deg, rgba(254, 242, 242, .86), rgba(255, 255, 255, .96));
}
.inventory-match-preview.idle {
  background: linear-gradient(180deg, rgba(248, 250, 252, .94), rgba(255, 255, 255, .98));
}
.inventory-match-eyebrow {
  color: #0f766e;
  font-size: 11px;
  font-weight: 950;
}
.inventory-match-preview.warn .inventory-match-eyebrow {
  color: #b42318;
}
.inventory-match-preview strong {
  color: #101828;
  font-size: 15px;
  font-weight: 950;
  line-height: 1.2;
  overflow-wrap: anywhere;
}
.inventory-match-preview small {
  color: #667085;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.inventory-match-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}
.inventory-match-grid span {
  min-width: 0;
  display: grid;
  gap: 2px;
  padding: 7px 8px;
  border: 1px solid rgba(226, 232, 240, .76);
  border-radius: 8px;
  color: #101828;
  background: rgba(255, 255, 255, .72);
  font-size: 12px;
  font-weight: 900;
  overflow-wrap: anywhere;
}
.inventory-match-grid .inventory-match-cost {
  grid-column: 1 / -1;
}
.inventory-match-grid em {
  color: #667085;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
}
.inventory-batch-outbound-trigger {
  color: #155eef;
  background: #eff6ff;
  border-color: rgba(59, 130, 246, .26);
}

/* Sales outbound: focused visual hierarchy without changing the existing layout. */
.inventory-outbound-card {
  border-color: rgba(148, 163, 184, .34);
  background:
    radial-gradient(circle at 8% 0%, rgba(249, 115, 22, .055), transparent 30%),
    linear-gradient(180deg, rgba(255, 255, 255, .99), rgba(248, 250, 252, .94));
  box-shadow:
    0 18px 42px rgba(15, 23, 42, .075),
    0 2px 8px rgba(37, 99, 235, .035);
}
.inventory-outbound-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  border-radius: 10px 10px 0 0;
  background: linear-gradient(90deg, #2563eb 0%, #60a5fa 58%, rgba(249, 115, 22, .82) 100%);
  pointer-events: none;
}
.inventory-outbound-card:hover,
.inventory-outbound-card:active {
  transform: none;
  border-color: rgba(96, 165, 250, .42);
  background:
    radial-gradient(circle at 8% 0%, rgba(249, 115, 22, .055), transparent 30%),
    linear-gradient(180deg, rgba(255, 255, 255, .99), rgba(248, 250, 252, .94));
  box-shadow:
    0 18px 42px rgba(15, 23, 42, .075),
    0 2px 8px rgba(37, 99, 235, .035);
}
.inventory-outbound-card .inventory-outbound-head {
  padding: 3px 2px 10px;
  border-bottom: 1px solid rgba(203, 213, 225, .62);
}
.inventory-outbound-card .inventory-outbound-head > div:first-child {
  gap: 5px;
}
.inventory-outbound-card .inventory-outbound-head .inventory-section-kicker {
  width: max-content;
  min-height: 23px;
  display: inline-flex;
  align-items: center;
  padding: 0 9px;
  border: 1px solid rgba(249, 115, 22, .18);
  border-radius: 999px;
  color: #c2410c;
  background: linear-gradient(180deg, rgba(255, 247, 237, .98), rgba(255, 237, 213, .76));
  letter-spacing: .02em;
}
.inventory-outbound-card .inventory-outbound-head h2 {
  color: #0f172a;
  font-size: 19px;
  font-weight: 950;
  letter-spacing: -.015em;
  line-height: 1.2;
}
.inventory-outbound-card .inventory-head-metrics span {
  min-height: 34px;
  padding: 0 12px;
  border-color: rgba(37, 99, 235, .18);
  color: #1e40af;
  background: linear-gradient(180deg, rgba(239, 246, 255, .98), rgba(219, 234, 254, .68));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9);
}
.inventory-outbound-card .inventory-head-metrics span:nth-child(2) {
  border-color: rgba(249, 115, 22, .2);
  color: #9a3412;
  background: linear-gradient(180deg, rgba(255, 247, 237, .98), rgba(255, 237, 213, .72));
}
.inventory-outbound-card .inventory-head-metrics b {
  color: #1d4ed8;
  font-size: 16px;
}
.inventory-outbound-card .inventory-head-metrics span:nth-child(2) b {
  color: #c2410c;
}
.inventory-outbound-card .inventory-action-group {
  flex-wrap: wrap;
}
.inventory-outbound-card .inventory-action-group > button {
  min-height: 40px;
  padding-inline: 15px;
  border-radius: 11px;
  transition:
    transform .16s ease,
    border-color .16s ease,
    background .16s ease,
    box-shadow .16s ease,
    filter .16s ease;
}
.inventory-outbound-card .inventory-batch-outbound-trigger {
  border-color: rgba(37, 99, 235, .32);
  color: #1d4ed8;
  background: linear-gradient(180deg, rgba(239, 246, 255, .98), rgba(219, 234, 254, .8));
  box-shadow: 0 7px 16px rgba(37, 99, 235, .08);
}
.inventory-outbound-card .inventory-batch-outbound-trigger:hover {
  border-color: rgba(37, 99, 235, .48);
  background: linear-gradient(180deg, #eff6ff, #dbeafe);
  box-shadow: 0 10px 20px rgba(37, 99, 235, .13);
}
.inventory-outbound-card .inventory-return-action {
  border-color: rgba(5, 150, 105, .3);
  color: #047857;
  background: linear-gradient(180deg, rgba(236, 253, 245, .98), rgba(209, 250, 229, .78));
  box-shadow: 0 7px 16px rgba(5, 150, 105, .075);
}
.inventory-outbound-card .inventory-return-action:hover {
  border-color: rgba(5, 150, 105, .44);
  background: linear-gradient(180deg, #ecfdf5, #d1fae5);
  box-shadow: 0 10px 20px rgba(5, 150, 105, .12);
}
.inventory-outbound-card .inventory-primary-action {
  border: 1px solid rgba(29, 78, 216, .26);
  background: linear-gradient(135deg, #3b82f6 0%, #2563eb 56%, #1d4ed8 100%);
  box-shadow: 0 11px 22px rgba(37, 99, 235, .22);
}
.inventory-outbound-card .inventory-primary-action:hover {
  filter: brightness(1.035);
  box-shadow: 0 14px 28px rgba(37, 99, 235, .27);
}
.inventory-outbound-card .inventory-action-group > button:focus-visible {
  outline: 3px solid rgba(37, 99, 235, .24);
  outline-offset: 2px;
}
.inventory-outbound-card .inventory-action-group > button:active {
  transform: translateY(1px);
}
.inventory-outbound-card .inventory-action-group > button:disabled {
  cursor: not-allowed;
  filter: grayscale(.12);
  opacity: .58;
  transform: none;
  box-shadow: none;
}
.inventory-outbound-card .inventory-outbound-search-panel,
.inventory-outbound-card .inventory-outbound-fields {
  padding: 10px;
  border-radius: 12px;
}
.inventory-outbound-card .inventory-outbound-search-panel {
  position: relative;
  border-color: rgba(37, 99, 235, .28);
  background:
    linear-gradient(135deg, rgba(239, 246, 255, .95), rgba(255, 255, 255, .98) 68%);
  box-shadow:
    inset 3px 0 0 rgba(37, 99, 235, .75),
    0 9px 22px rgba(37, 99, 235, .075);
}
.inventory-outbound-card .inventory-outbound-fields {
  border-color: rgba(148, 163, 184, .3);
  background: linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(248, 250, 252, .9));
  box-shadow: 0 8px 20px rgba(15, 23, 42, .045);
}
.inventory-outbound-card .inventory-outbound-search-field,
.inventory-outbound-card .inventory-outbound-fields label {
  color: #334155;
  font-weight: 900;
}
.inventory-outbound-card .inventory-outbound-search-field > span {
  color: #1e40af;
  letter-spacing: .01em;
}
.inventory-outbound-card .inventory-outbound-fields label:first-child > span {
  color: #1d4ed8;
}
.inventory-outbound-card .inventory-outbound-search-field input,
.inventory-outbound-card .inventory-outbound-fields input,
.inventory-outbound-card .inventory-outbound-fields textarea {
  min-height: 42px;
  border-color: rgba(148, 163, 184, .46);
  border-radius: 10px;
  color: #0f172a;
  background: rgba(255, 255, 255, .98);
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, .025);
  transition:
    border-color .16s ease,
    background .16s ease,
    box-shadow .16s ease;
}
.inventory-outbound-card .inventory-outbound-fields textarea {
  min-height: 66px;
}
.inventory-outbound-card .inventory-outbound-search-field input:hover,
.inventory-outbound-card .inventory-outbound-fields input:hover,
.inventory-outbound-card .inventory-outbound-fields textarea:hover {
  border-color: rgba(59, 130, 246, .48);
}
.inventory-outbound-card .inventory-outbound-search-field input:focus,
.inventory-outbound-card .inventory-outbound-search-field input:focus-visible,
.inventory-outbound-card .inventory-outbound-fields input:focus,
.inventory-outbound-card .inventory-outbound-fields input:focus-visible,
.inventory-outbound-card .inventory-outbound-fields textarea:focus,
.inventory-outbound-card .inventory-outbound-fields textarea:focus-visible {
  border-color: #3b82f6;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, .14), inset 0 1px 2px rgba(15, 23, 42, .02);
}
.inventory-outbound-card .inventory-outbound-search-field input:focus-visible,
.inventory-outbound-card .inventory-outbound-fields input:focus-visible,
.inventory-outbound-card .inventory-outbound-fields textarea:focus-visible {
  outline: 2px solid rgba(37, 99, 235, .18);
  outline-offset: 1px;
}
.inventory-outbound-card .inventory-outbound-search-field input::placeholder,
.inventory-outbound-card .inventory-outbound-fields input::placeholder,
.inventory-outbound-card .inventory-outbound-fields textarea::placeholder {
  color: #94a3b8;
  opacity: 1;
}
.inventory-outbound-card .inventory-outbound-search-field input:disabled,
.inventory-outbound-card .inventory-outbound-fields input:disabled,
.inventory-outbound-card .inventory-outbound-fields textarea:disabled {
  cursor: not-allowed;
  color: #64748b;
  background: #f1f5f9;
  opacity: .7;
}
.inventory-outbound-card .inventory-match-preview {
  min-height: 92px;
  padding: 11px 12px;
  border-radius: 11px;
  box-shadow: inset 3px 0 0 rgba(59, 130, 246, .68), 0 6px 16px rgba(15, 23, 42, .035);
}
.inventory-outbound-card .inventory-match-preview.idle {
  border-color: rgba(59, 130, 246, .22);
  background: linear-gradient(135deg, rgba(239, 246, 255, .95), rgba(255, 255, 255, .98));
}
.inventory-outbound-card .inventory-match-preview.idle .inventory-match-eyebrow {
  color: #2563eb;
}
.inventory-outbound-card .inventory-match-preview.ok {
  border-color: rgba(5, 150, 105, .3);
  background: linear-gradient(135deg, rgba(236, 253, 245, .96), rgba(255, 255, 255, .98));
  box-shadow: inset 3px 0 0 rgba(5, 150, 105, .72), 0 7px 18px rgba(5, 150, 105, .055);
}
.inventory-outbound-card .inventory-match-preview.ok .inventory-match-eyebrow {
  color: #047857;
}
.inventory-outbound-card .inventory-match-preview.warn {
  border-color: rgba(220, 38, 38, .28);
  background: linear-gradient(135deg, rgba(255, 247, 237, .96), rgba(254, 242, 242, .92));
  box-shadow: inset 3px 0 0 rgba(220, 38, 38, .68), 0 7px 18px rgba(220, 38, 38, .045);
}
.inventory-outbound-card .inventory-match-preview.warn .inventory-match-eyebrow {
  color: #b91c1c;
}
.inventory-outbound-card .inventory-match-preview strong {
  color: #0f172a;
  font-size: 16px;
}
.inventory-outbound-card .inventory-match-preview small {
  color: #64748b;
}
.inventory-outbound-card .inventory-match-grid span {
  border-color: rgba(203, 213, 225, .72);
  background: rgba(255, 255, 255, .88);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9);
}
.inventory-outbound-card .inventory-match-grid em {
  color: #64748b;
}

@media (max-width: 800px) {
  .inventory-outbound-card .inventory-action-group > button,
  .inventory-outbound-card .inventory-outbound-search-field input,
  .inventory-outbound-card .inventory-outbound-fields input {
    min-height: 44px;
  }
  .inventory-outbound-card .inventory-outbound-search-field input,
  .inventory-outbound-card .inventory-outbound-fields input,
  .inventory-outbound-card .inventory-outbound-fields textarea {
    font-size: 16px;
  }
  .inventory-outbound-card .inventory-outbound-fields textarea {
    min-height: 68px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .inventory-outbound-card,
  .inventory-outbound-card .inventory-action-group > button,
  .inventory-outbound-card .inventory-outbound-search-field input,
  .inventory-outbound-card .inventory-outbound-fields input,
  .inventory-outbound-card .inventory-outbound-fields textarea {
    transition: none;
  }
}
.inventory-batch-outbound-backdrop {
  position: fixed;
  inset: 0;
  z-index: 92;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(15, 23, 42, .28);
  backdrop-filter: blur(14px) saturate(160%);
}
.inventory-batch-outbound-modal {
  width: min(1180px, 96vw);
  max-height: 88vh;
  display: grid;
  grid-template-rows: auto auto auto minmax(0, 1fr);
  gap: 12px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .78);
  border-radius: 22px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 28px 82px rgba(15, 23, 42, .22);
  padding: 16px;
}
.inventory-batch-outbound-input {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 190px;
  gap: 10px;
  align-items: stretch;
}
.inventory-batch-outbound-input label {
  display: grid;
  gap: 6px;
  color: #475467;
  font-size: 12px;
  font-weight: 900;
}
.inventory-batch-outbound-input textarea {
  min-height: 96px;
  padding: 12px;
  border: 1px solid rgba(203, 213, 225, .82);
  border-radius: 12px;
  color: #101828;
  background: rgba(248, 250, 252, .9);
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  resize: vertical;
  outline: none;
}
.inventory-batch-outbound-input textarea:focus {
  border-color: rgba(59, 130, 246, .58);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, .12);
}
.inventory-batch-outbound-help {
  display: grid;
  align-content: center;
  gap: 4px;
  padding: 14px;
  border: 1px solid rgba(219, 234, 254, .9);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(239, 246, 255, .92), rgba(255, 255, 255, .95));
}
.inventory-batch-outbound-help b {
  color: #155eef;
  font-size: 28px;
  font-weight: 950;
  line-height: 1;
}
.inventory-batch-outbound-help span {
  color: #475467;
  font-size: 12px;
  font-weight: 820;
  line-height: 1.35;
}
.inventory-batch-outbound-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}
.inventory-batch-outbound-table-shell {
  min-height: 0;
  overflow: auto;
  border: 1px solid rgba(226, 232, 240, .88);
  border-radius: 14px;
  background: #fff;
}
.inventory-batch-outbound-table {
  width: 100%;
  min-width: 1060px;
  border-collapse: collapse;
}
.inventory-batch-outbound-table th,
.inventory-batch-outbound-table td {
  padding: 10px;
  border-bottom: 1px solid rgba(226, 232, 240, .86);
  color: #101828;
  font-size: 12px;
  font-weight: 820;
  text-align: left;
  vertical-align: top;
}
.inventory-batch-outbound-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  color: #475467;
  background: rgba(248, 250, 252, .98);
  font-weight: 930;
}
.inventory-batch-outbound-table td strong,
.inventory-batch-outbound-table td b {
  display: block;
  color: #101828;
  font-weight: 900;
  overflow-wrap: anywhere;
}
.inventory-batch-outbound-table td small {
  display: block;
  margin-top: 3px;
  color: #667085;
  font-size: 11px;
  font-weight: 760;
  overflow-wrap: anywhere;
}
.inventory-batch-outbound-table input {
  width: 100%;
  min-height: 34px;
  margin-bottom: 6px;
  padding: 0 9px;
  border: 1px solid rgba(203, 213, 225, .82);
  border-radius: 9px;
  color: #101828;
  background: rgba(248, 250, 252, .9);
  font: inherit;
  font-size: 12px;
  outline: none;
}
.inventory-batch-outbound-table input:focus {
  border-color: rgba(59, 130, 246, .58);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, .1);
}
.inventory-batch-outbound-table input:disabled {
  color: #667085;
  background: #f8fafc;
  cursor: not-allowed;
}
.inventory-batch-price-input {
  font-weight: 930;
}
.inventory-batch-outbound-status {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 9px;
  border-radius: 999px;
  color: #475467;
  background: #f2f4f7;
  font-size: 11px;
  font-weight: 930;
  white-space: nowrap;
}
.inventory-batch-outbound-status.ready {
  color: #155eef;
  background: #eff6ff;
}
.inventory-batch-outbound-status.submitting {
  color: #92400e;
  background: #fffbeb;
}
.inventory-batch-outbound-status.success {
  color: #047857;
  background: #d1fae5;
}
.inventory-batch-outbound-status.candidates {
  color: #175cd3;
  background: #dbeafe;
}
.inventory-batch-outbound-status.failed {
  color: #b42318;
  background: #fee4e2;
}
.inventory-batch-identifier-cell span,
.inventory-batch-identifier-cell small,
.inventory-batch-candidate-meta .code b {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.inventory-batch-candidate-row > td {
  position: sticky;
  left: 0;
  z-index: 0;
  padding: 0 10px 12px;
  background: #fff;
}
.inventory-batch-candidate-panel {
  width: min(980px, calc(100vw - 72px));
  max-width: calc(100vw - 72px);
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(147, 197, 253, .72);
  border-radius: 13px;
  background: linear-gradient(180deg, #eff6ff, #f8fbff);
}
.inventory-batch-candidate-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.inventory-batch-candidate-head strong {
  color: #172b4d;
  font-size: 13px;
  font-weight: 950;
}
.inventory-batch-candidate-head span {
  color: #667085;
  font-size: 11px;
  font-weight: 780;
  text-align: right;
}
.inventory-batch-candidate-list {
  min-width: 0;
  max-height: min(320px, 42vh);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
  gap: 9px;
  overflow-x: hidden;
  overflow-y: auto;
  padding-right: 3px;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.inventory-batch-candidate-card {
  min-width: 0;
  display: grid;
  gap: 9px;
  padding: 11px;
  border: 1px solid rgba(203, 213, 225, .88);
  border-radius: 11px;
  background: rgba(255, 255, 255, .96);
}
.inventory-batch-candidate-card.selected {
  border-color: #3b82f6;
  box-shadow: 0 0 0 2px rgba(59, 130, 246, .12);
}
.inventory-batch-candidate-title {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}
.inventory-batch-candidate-title strong {
  color: #101828;
  font-size: 13px;
  font-weight: 950;
  overflow-wrap: anywhere;
}
.inventory-batch-candidate-title span {
  color: #667085;
  font-size: 10px;
  font-weight: 800;
  overflow-wrap: anywhere;
}
.inventory-batch-candidate-meta {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}
.inventory-batch-candidate-meta span {
  min-width: 0;
  display: grid;
  gap: 2px;
  padding: 6px 7px;
  border-radius: 8px;
  background: #f8fafc;
}
.inventory-batch-candidate-meta em {
  color: #667085;
  font-size: 9px;
  font-style: normal;
  font-weight: 850;
}
.inventory-batch-candidate-meta b {
  color: #172b4d;
  font-size: 11px;
  font-weight: 900;
  overflow-wrap: anywhere;
}
.inventory-batch-candidate-select {
  width: 100%;
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid rgba(59, 130, 246, .42);
  border-radius: 10px;
  color: #155eef;
  background: #eff6ff;
  font: inherit;
  font-size: 12px;
  font-weight: 930;
  cursor: pointer;
}
.inventory-batch-candidate-select:hover:not(:disabled) {
  color: #fff;
  background: #2563eb;
}
.inventory-batch-candidate-select:focus-visible {
  outline: 3px solid rgba(59, 130, 246, .26);
  outline-offset: 2px;
}
.inventory-batch-candidate-select:disabled {
  color: #667085;
  border-color: #d0d5dd;
  background: #f2f4f7;
  cursor: not-allowed;
}
.inventory-batch-outbound-empty {
  height: 160px;
  color: #667085 !important;
  text-align: center !important;
  vertical-align: middle !important;
}
.inventory-stock-card {
  display: grid;
  gap: 10px;
}
.inventory-model-distribution-card {
  display: grid;
  gap: 12px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(248, 250, 252, .96));
}
.inventory-model-distribution-head {
  align-items: flex-start;
  gap: 14px;
}
.inventory-model-distribution-head p {
  margin: 4px 0 0;
  color: #667085;
  font-size: 12px;
  font-weight: 760;
}
.inventory-model-distribution-total {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}
.inventory-model-distribution-total span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid rgba(203, 213, 225, .72);
  border-radius: 999px;
  color: #475467;
  background: rgba(255, 255, 255, .82);
  font-size: 12px;
  font-weight: 860;
  white-space: nowrap;
}
.inventory-model-distribution-total b {
  color: #101828;
  font-weight: 950;
}
.inventory-model-distribution-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 10px;
}
.inventory-model-distribution-item {
  min-width: 0;
  display: grid;
  gap: 12px;
  padding: 12px;
  border: 1px solid rgba(226, 232, 240, .82);
  border-radius: 8px;
  background:
    linear-gradient(180deg, #ffffff 0%, rgba(248, 250, 252, .92) 100%);
  box-shadow: 0 10px 24px rgba(15, 23, 42, .045);
}
.inventory-model-distribution-title {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.inventory-model-distribution-title strong {
  color: #111827;
  font-size: 14px;
  font-weight: 780;
  line-height: 1.28;
  overflow-wrap: anywhere;
}
.inventory-model-distribution-title span {
  color: #64748b;
  font-size: 11px;
  font-weight: 760;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.inventory-model-distribution-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}
.inventory-model-distribution-metrics span {
  min-width: 0;
  display: grid;
  gap: 2px;
  padding: 8px;
  border: 1px solid rgba(226, 232, 240, .78);
  border-radius: 8px;
  background: rgba(255, 255, 255, .78);
}
.inventory-model-distribution-metrics b {
  color: #0f172a;
  font-size: 13px;
  font-weight: 950;
  line-height: 1.15;
  overflow-wrap: anywhere;
}
.inventory-model-distribution-metrics em {
  color: #667085;
  font-size: 10px;
  font-style: normal;
  font-weight: 820;
  white-space: nowrap;
}
.inventory-model-distribution-empty {
  min-height: 92px;
  display: grid;
  place-items: center;
  border: 1px dashed rgba(203, 213, 225, .82);
  border-radius: 8px;
  color: #98a2b3;
  background: rgba(255, 255, 255, .72);
  font-size: 13px;
  font-weight: 820;
}
.inventory-table-shell .inventory-stock-table {
  min-width: 960px;
  border-collapse: separate;
  border-spacing: 0;
}
.inventory-stock-table th,
.inventory-stock-table td {
  padding: 11px 12px;
  border-bottom: 1px solid rgba(226, 232, 240, .74);
  text-align: left;
  vertical-align: middle;
}
.inventory-stock-table th {
  color: #475467;
  background: rgba(248, 250, 252, .78);
  font-size: 12px;
  font-weight: 950;
}
.inventory-stock-table tbody tr {
  transition: background .14s ease;
}
.inventory-stock-table tbody tr:hover {
  background: rgba(239, 246, 255, .48);
}
.inventory-stock-table td {
  color: #101828;
  font-size: 13px;
  font-weight: 760;
}
.inventory-device-cell,
.inventory-price-cell {
  min-width: 0;
  display: grid;
  gap: 4px;
}
.inventory-device-cell strong {
  color: #172033;
  font-size: 13.5px;
  font-weight: 760;
  line-height: 1.32;
  overflow-wrap: anywhere;
}
.inventory-device-cell span {
  color: #64748b;
  font-size: 11px;
  font-weight: 720;
  overflow-wrap: anywhere;
}
.inventory-code-cell {
  max-width: 210px;
  color: #111827;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-weight: 760;
  overflow-wrap: anywhere;
}
.inventory-price-cell span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: #667085;
  font-size: 11px;
  font-weight: 850;
  white-space: nowrap;
}
.inventory-price-cell strong {
  color: #101828;
  font-size: 12px;
  font-weight: 950;
}
.inventory-action-pill {
  display: inline-grid;
  place-items: center;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 950;
  white-space: nowrap;
}
.inventory-action-pill.ready {
  color: #0369a1;
  background: #e0f2fe;
}
.inventory-action-pill.muted {
  color: #667085;
  background: #f2f4f7;
}
.inventory-action-readonly {
  color: #667085;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}
.inventory-edit-backdrop {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(15, 23, 42, .28);
  backdrop-filter: blur(14px) saturate(160%);
}
.inventory-edit-modal {
  width: min(760px, 94vw);
  max-height: 86vh;
  display: grid;
  gap: 14px;
  overflow: auto;
  border: 1px solid rgba(255, 255, 255, .78);
  border-radius: 22px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 28px 82px rgba(15, 23, 42, .22);
  padding: 16px;
}
.inventory-stock-edit-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.inventory-stock-edit-grid label {
  display: grid;
  gap: 6px;
  color: #475467;
  font-size: 12px;
  font-weight: 900;
}
.inventory-stock-edit-grid label.wide {
  grid-column: 1 / -1;
}
.inventory-stock-edit-grid input,
.inventory-stock-edit-grid textarea {
  width: 100%;
  min-height: 40px;
  padding: 0 12px;
  border: 1px solid rgba(203, 213, 225, .82);
  border-radius: 10px;
  color: #101828;
  background: rgba(248, 250, 252, .9);
  font: inherit;
  font-size: 13px;
  outline: none;
}
.inventory-stock-edit-grid textarea {
  min-height: 78px;
  padding-top: 10px;
  resize: vertical;
}
.inventory-stock-edit-grid input:focus,
.inventory-stock-edit-grid textarea:focus {
  border-color: rgba(59, 130, 246, .58);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, .12);
}
.inventory-stock-edit-grid label.readonly input {
  color: #64748b;
  background: #f8fafc;
  border-style: dashed;
  cursor: not-allowed;
}
.inventory-stock-edit-grid label.readonly input:focus {
  border-color: rgba(203, 213, 225, .82);
  background: #f8fafc;
  box-shadow: none;
}
.inventory-edit-actions {
  display: flex;
  justify-content: flex-end;
  gap: 9px;
}
.inventory-edit-actions .secondary {
  color: #475467;
  background: #f2f4f7;
  box-shadow: none;
}
.inventory-mini-list {
  display: grid;
  gap: 7px;
}
.inventory-mini-list article {
  min-height: 44px;
  display: grid;
  gap: 2px;
  padding: 8px 10px;
  border: 1px solid rgba(226, 232, 240, .72);
  border-radius: 8px;
  background: rgba(248, 250, 252, .74);
}
.inventory-mini-list strong {
  color: #101828;
  font-size: 12px;
  font-weight: 950;
}
.inventory-mini-list span,
.inventory-mini-list em {
  color: #667085;
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
}
.inventory-home-table-shell {
  overflow: auto;
  border: 1px solid rgba(226, 232, 240, .72);
  border-radius: 8px;
  background: rgba(255, 255, 255, .72);
}
.inventory-home-mini-table {
  width: 100%;
  min-width: 460px;
  border-collapse: separate;
  border-spacing: 0;
}
.inventory-home-mini-table.sales {
  min-width: 520px;
}
.inventory-home-mini-table th,
.inventory-home-mini-table td {
  padding: 9px 10px;
  border-bottom: 1px solid rgba(226, 232, 240, .72);
  text-align: left;
  vertical-align: middle;
}
.inventory-home-mini-table th {
  color: #475467;
  background: rgba(248, 250, 252, .86);
  font-size: 11px;
  font-weight: 950;
  white-space: nowrap;
}
.inventory-home-mini-table td {
  color: #344054;
  font-size: 12px;
  font-weight: 820;
  overflow-wrap: anywhere;
}
.inventory-home-mini-table td strong {
  color: #101828;
  font-weight: 950;
}
.inventory-home-mini-table tbody tr:last-child td {
  border-bottom: 0;
}
.inventory-home-mini-table tbody tr:hover {
  background: rgba(239, 246, 255, .5);
}
.inventory-status-pill {
  display: inline-grid;
  place-items: center;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  color: #475467;
  background: #f2f4f7;
  font-size: 12px;
  font-weight: 900;
}
.inventory-status-pill.in-stock {
  color: #047857;
  background: #d1fae5;
}
.inventory-status-pill.sold {
  color: #b42318;
  background: #fee4e2;
}
.inventory-home-empty-row {
  min-height: 112px;
  display: grid;
  place-items: center;
  border: 1px dashed rgba(203, 213, 225, .72);
  border-radius: 9px;
  color: #98a2b3;
  background: rgba(248, 250, 252, .72);
  font-size: 13px;
  font-weight: 800;
}
.inventory-chart-placeholder {
  height: 118px;
  padding: 8px 0 0;
}
.inventory-chart-placeholder svg {
  width: 100%;
  height: 100%;
}
.inventory-market-chart {
  height: 142px;
  padding: 0;
  border: 1px solid rgba(15, 23, 42, .10);
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), 0 10px 24px rgba(15, 23, 42, .06);
}
.inventory-market-chart svg {
  display: block;
}
.inventory-market-grid path {
  stroke: rgba(148, 163, 184, .24);
  stroke-width: 1;
  fill: none;
}
.inventory-market-axis text {
  fill: #94a3b8;
  font-size: 9px;
  font-weight: 850;
}
.inventory-market-volume rect {
  fill: rgba(37, 99, 235, .24);
}
.inventory-market-volume rect.down {
  fill: rgba(239, 68, 68, .22);
}
.inventory-market-point circle {
  fill: #fff;
  stroke: #2563eb;
  stroke-width: 2;
}
.inventory-market-point text {
  fill: #64748b;
  font-size: 9px;
  font-weight: 850;
}
.inventory-market-chart.inventory-finance-white-chart {
  height: auto;
  min-height: 238px;
  padding: 12px 12px 10px;
  border: 1px solid rgba(226, 232, 240, .92);
  border-radius: 12px;
  background: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .96);
}
.inventory-market-chart.inventory-finance-white-chart svg.inventory-finance-premium-chart {
  height: 188px;
}
.inventory-market-chart.inventory-finance-white-chart .inventory-finance-area {
  opacity: .055;
}
.inventory-market-chart.inventory-finance-white-chart .inventory-finance-volume rect {
  opacity: 0;
}
.inventory-market-chart.inventory-finance-white-chart .inventory-finance-line-shadow {
  stroke: rgba(239, 68, 68, .08);
  stroke-width: 2.2;
}
.inventory-market-chart.inventory-finance-white-chart .inventory-finance-line {
  stroke-width: 1.35;
}
.inventory-market-chart.inventory-finance-white-chart .inventory-finance-point circle {
  stroke-width: 1.4;
  opacity: .70;
}
.inventory-market-chart.inventory-finance-white-chart .inventory-finance-point.idle circle {
  opacity: 0;
}
.inventory-market-chart.inventory-finance-white-chart .inventory-finance-point.active circle {
  r: 2.7;
  opacity: .24;
}
.inventory-market-chart.inventory-finance-white-chart .inventory-finance-point.peak circle {
  r: 3.2;
  stroke-width: 1.6;
  opacity: 1;
}
.inventory-market-chart.inventory-finance-white-chart .inventory-finance-point text {
  fill: #8492a6;
  font-size: 7px;
  font-weight: 850;
}
.inventory-market-foot {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin-top: 8px;
}
.inventory-market-foot span {
  min-width: 0;
  display: grid;
  gap: 2px;
  padding: 7px 8px;
  border: 1px solid rgba(226, 232, 240, .78);
  border-radius: 9px;
  color: #101828;
  background: rgba(248, 250, 252, .84);
  font-size: 12px;
  font-weight: 950;
  overflow-wrap: anywhere;
}
.inventory-market-foot b {
  color: #667085;
  font-size: 10px;
  font-weight: 900;
}
.inventory-quick-actions {
  min-height: 86px;
}
.inventory-quick-actions > div {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}
.inventory-quick-actions article {
  min-height: 48px;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding: 7px 10px;
  border: 1px solid rgba(226, 232, 240, .62);
  border-radius: 9px;
  background: rgba(248, 250, 252, .72);
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}
.inventory-quick-actions article:hover {
  transform: translateY(-1px);
  border-color: rgba(96, 165, 250, .34);
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 10px 20px rgba(37, 99, 235, .06);
}
.inventory-quick-actions article:active {
  transform: scale(.985);
}
.inventory-quick-actions article span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  color: #2563eb;
  background: #dbeafe;
  font-weight: 950;
}
.inventory-quick-actions article strong,
.inventory-quick-actions article small {
  display: block;
}
.inventory-quick-actions article strong {
  color: #1f2937;
  font-size: 12px;
  font-weight: 950;
}
.inventory-quick-actions article small {
  margin-top: 1px;
  color: #667085;
  font-size: 10px;
  font-weight: 760;
}
.inventory-table-shell {
  max-width: 100%;
}
.inventory-preview-form {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 8px;
}
.inventory-preview-form input {
  min-height: 36px;
}
.inventory-placeholder-list {
  gap: 8px;
}
.inventory-placeholder-list div {
  min-height: 38px;
}

@media (max-width: 1320px) {
  .inventory-page { grid-template-columns: 190px minmax(0, 1fr); }
  .inventory-module-topbar {
    grid-template-columns: 38px minmax(150px, 1fr) auto 34px auto auto;
  }
  .inventory-icon-button.notice,
  .inventory-logout-button { display: none; }
  .inventory-locked-head { grid-template-columns: 1fr; }
  .inventory-dashboard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .inventory-chart-card { grid-column: 1 / -1; }
  .inventory-quick-actions > div { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .inventory-model-distribution-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 980px) {
  .inventory-full-content { overflow: auto; }
  .inventory-page {
    height: auto;
    min-height: 100vh;
    grid-template-columns: 1fr;
    overflow: visible;
  }
  .inventory-subnav { height: auto; }
  .inventory-nav-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .inventory-workspace { grid-template-rows: auto minmax(0, 1fr); }
  .inventory-module-topbar {
    height: auto;
    min-height: 60px;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    align-content: center;
  }
  .inventory-top-wallet,
  .inventory-icon-button,
  .inventory-user-chip { display: none; }
  .inventory-plan-grid,
  .inventory-dashboard-grid,
  .inventory-quick-actions > div,
  .inventory-model-distribution-grid,
  .inventory-outbound-layout,
  .inventory-model-create { grid-template-columns: 1fr; }
  .inventory-model-distribution-head { align-items: stretch; }
  .inventory-model-distribution-total { justify-content: flex-start; }
}
@media (max-width: 800px) {
  .login-page { padding: 14px; }
  .login-shell-card { grid-template-columns: 1fr; min-height: auto; border-radius: 26px; }
  .login-brand-panel { min-height: 280px; padding: 28px; }
  .login-form-card { padding: 28px 22px; }
  .wechat-qr-row {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 12px;
  }
  .password-login-form { grid-template-columns: 1fr; }
  .topbar {
    min-height: 52px;
    height: auto;
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    align-items: center;
    gap: 6px;
    padding: 6px 8px;
    border-bottom-color: rgba(191, 219, 254, .68);
    background:
      linear-gradient(180deg, rgba(239, 248, 255, .92), rgba(225, 242, 255, .82));
  }
  .mobile-menu-toggle { display: grid; }
  .mobile-menu-toggle {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    width: 34px;
    height: 34px;
    border-radius: 12px;
  }
  .top-left,
  .top-right {
    min-width: 0;
    gap: 6px;
    flex-wrap: nowrap;
  }
  .top-left {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
  }
  .top-right {
    display: none;
  }
  .top-left span,
  .top-right span {
    min-height: 28px;
    max-width: 104px;
    padding: 3px 7px;
    font-size: 11px;
    line-height: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .top-recharge-link {
    min-height: 28px;
    padding: 3px 8px;
    font-size: 11px;
    box-shadow: 0 8px 18px rgba(37, 99, 235, .18), inset 0 1px 0 rgba(255,255,255,.24);
  }
  .language-toggle,
  .top-logout {
    min-height: 32px;
    padding: 5px 9px;
    font-size: 12px;
  }
  .shell {
    display: block;
    min-height: calc(100vh - 58px);
    padding: 6px;
  }
  .mobile-menu-backdrop {
    position: fixed;
    inset: 0;
    z-index: 28;
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: rgba(15, 23, 42, .20);
    backdrop-filter: blur(8px);
  }
  .sidebar {
    position: fixed;
    top: 62px;
    left: 8px;
    bottom: 8px;
    z-index: 30;
    width: min(260px, calc(100vw - 16px));
    max-height: calc(100vh - 70px);
    overflow-y: auto;
    padding: 10px;
    border-radius: 20px;
    transform: translateX(calc(-100% - 24px));
    opacity: 0;
    pointer-events: none;
    transition: transform .22s ease, opacity .22s ease;
  }
  .mobile-nav-open .sidebar,
  .mobile-menu-state:checked ~ .shell .sidebar {
    transform: translateX(0);
    opacity: 1;
    pointer-events: auto;
  }
  .mobile-menu-state:not(:checked) ~ .shell .mobile-menu-backdrop {
    display: none;
  }
  .quick-order-search {
    margin-bottom: 10px;
    padding: 5px;
    border-radius: 14px;
  }
  .quick-order-search input {
    height: 32px;
    padding: 6px 34px 6px 10px;
    border-radius: 11px;
    font-size: 12px;
  }
  .quick-order-search button {
    right: 9px;
    width: 25px;
    height: 25px;
    border-radius: 9px;
    font-size: 14px;
  }
  .menu-title {
    padding: 6px 8px 5px;
    font-size: 13px;
  }
  .menu-item {
    min-height: 38px;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 8px;
    margin: 3px 0;
    padding: 5px 8px 5px 5px;
    border-radius: 14px;
    font-size: 13px;
  }
  .menu-item::before {
    width: 27px;
    height: 27px;
    border-radius: 10px;
    font-size: 13px;
  }
  .content > section {
    display: grid;
    gap: 8px;
  }
  .breadcrumb {
    margin: 4px 2px 2px;
    font-size: 18px;
    line-height: 1.15;
  }
  .notice {
    display: block;
    min-height: 32px;
    margin: 2px 0 7px;
    padding: 7px 10px 7px 20px;
    border-radius: 12px;
    font-size: 11px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.82), 0 6px 14px rgba(15, 23, 42, .035);
  }
  .notice::before {
    left: 9px;
    width: 3px;
    height: 17px;
  }
  .notice .marquee-track {
    animation-duration: 12s;
  }
  .panel {
    padding: 10px;
    margin-bottom: 10px;
    border-radius: 18px;
  }
  .search-row {
    margin-bottom: 8px;
  }
  .search-row input {
    height: 34px;
    padding: 7px 12px;
    border-radius: 14px;
    font-size: 13px;
  }
  .category-grid {
    gap: 6px;
  }
  .category-block {
    border-radius: 14px;
  }
  .category-card {
    min-height: 42px;
    gap: 8px;
    padding: 6px 38px 6px 26px;
    border-radius: 14px;
  }
  .category-card::before {
    left: 12px;
    width: 4px;
    height: 20px;
  }
  .category-title {
    gap: 1px;
  }
  .category-card span {
    font-size: 13px;
    font-weight: 760;
    line-height: 1.15;
  }
  .category-card strong {
    font-size: 10px;
    line-height: 1.1;
  }
  .category-card em {
    right: 12px;
    width: 23px;
    height: 23px;
    font-size: 15px;
  }
  .category-services {
    grid-template-columns: 1fr;
    gap: 7px;
    padding: 8px 10px 10px;
  }
  .service-tile {
    min-height: 58px;
    padding: 7px 8px;
    border-radius: 12px;
  }
  .service-tile-title {
    font-size: 13px;
    line-height: 1.2;
  }
  .points-badge,
  .time-badge {
    padding: 3px 6px;
    border-radius: 7px;
    font-size: 10px;
  }
  .services-page.services-page {
    gap: 3px;
  }
  .services-page .breadcrumb {
    margin: 0 2px;
    font-size: 13px;
    line-height: 1.1;
  }
  .services-page .notice {
    margin: 0 0 2px;
  }
  .services-page .panel {
    padding: 5px 8px 8px;
    margin-bottom: 8px;
    border-radius: 16px;
  }
  .services-page .search-row {
    margin-bottom: 6px;
  }
  .services-page .search-row input {
    height: 31px;
    padding: 6px 10px;
    border-radius: 12px;
    font-size: 12px;
  }
  .services-page .category-grid {
    gap: 7px;
  }
  .services-page .category-block {
    border-radius: 14px;
  }
  .services-page .category-card {
    min-height: 46px;
    gap: 7px;
    padding: 7px 40px 7px 28px;
    border-radius: 14px;
  }
  .services-page .category-title {
    gap: 2px;
  }
  .services-page .category-card::before {
    left: 12px;
    height: 20px;
  }
  .services-page .category-card span {
    font-size: 13px;
    font-weight: 760;
    line-height: 1.15;
  }
  .services-page .category-card strong {
    font-size: 10px;
    line-height: 1.05;
  }
  .services-page .category-card em {
    right: 12px;
    width: 24px;
    height: 24px;
    font-size: 15px;
  }
  .services-page .category-services {
    gap: 6px;
    padding: 7px 8px 8px;
  }
  .services-page .service-search-results {
    grid-template-columns: 1fr;
    gap: 6px;
  }
  .services-page .service-tile {
    min-height: 52px;
    gap: 5px;
    padding: 6px;
    border-radius: 10px;
  }
  .services-page .service-tile-main {
    gap: 5px;
  }
  .services-page .service-tile-title {
    font-size: 12px;
    line-height: 1.15;
  }
  .services-page .service-badges {
    gap: 4px;
  }
  .services-page .points-badge,
  .services-page .time-badge {
    padding: 2px 5px;
    border-radius: 6px;
    font-size: 9px;
  }
  .services-page .category-card,
  .services-page .service-tile {
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.74), 0 6px 12px rgba(15, 23, 42, .04);
  }
  .batch-full-content {
    min-height: calc(100vh - 52px);
    padding: 4px 6px 6px;
  }
  .batch-tool-page {
    min-height: auto;
    gap: 5px;
  }
  .batch-tool-header {
    min-height: 48px;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 7px;
    align-items: center;
    padding: 7px 8px;
    border-radius: 14px;
  }
  .batch-tool-header button {
    width: fit-content;
    min-height: 28px;
    padding: 4px 8px;
    border-radius: 9px;
    font-size: 10px;
  }
  .batch-tool-header > div {
    min-width: 0;
    display: grid;
    gap: 0;
  }
  .batch-tool-header h1 {
    overflow: hidden;
    font-size: 15px;
    line-height: 1.1;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  .batch-tool-header p {
    display: none;
  }
  .batch-tool-shell {
    min-height: auto;
    display: block;
    overflow: visible;
    border-radius: 16px;
    background: rgba(255,255,255,.72);
    box-shadow: 0 8px 20px rgba(15,23,42,.05), inset 0 1px 0 rgba(255,255,255,.86);
  }
  .batch-mobile-service-backdrop {
    position: fixed;
    inset: 0;
    z-index: 68;
    background: rgba(15, 23, 42, .24);
    backdrop-filter: blur(8px);
  }
  .batch-mobile-service-backdrop:not(.open) {
    display: none;
  }
  .batch-mobile-service-backdrop.open {
    display: block;
  }
  .batch-service-panel {
    position: fixed;
    left: 50%;
    right: auto;
    bottom: 10px;
    z-index: 70;
    width: min(312px, calc(100vw - 56px));
    max-height: min(72vh, 560px);
    grid-template-rows: auto auto auto minmax(0, 1fr);
    padding: 9px;
    border: 1px solid rgba(203,213,225,.72);
    border-radius: 18px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 18px 42px rgba(15,23,42,.18), inset 0 1px 0 rgba(255,255,255,.94);
    transform: translate(-50%, calc(100% + 18px));
    opacity: 0;
    pointer-events: none;
    transition: transform .22s ease, opacity .22s ease;
  }
  .batch-service-panel.mobile-open {
    transform: translate(-50%, 0);
    opacity: 1;
    pointer-events: auto;
  }
  .batch-mobile-service-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 2px 2px 4px;
  }
  .batch-mobile-service-head strong {
    color: #0f172a;
    font-size: 14px;
    font-weight: 900;
  }
  .batch-mobile-service-head button {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    padding: 0;
    border-radius: 999px;
    color: #64748b;
    background: #eef6ff;
    box-shadow: none;
    font-size: 18px;
  }
  .batch-service-tabs {
    gap: 4px;
    padding: 3px;
    border-radius: 12px;
  }
  .batch-service-tabs button {
    min-height: 31px;
    border-radius: 10px;
    font-size: 11px;
  }
  .batch-service-panel > input {
    height: 31px;
    border-radius: 10px;
    font-size: 11px;
  }
  .batch-service-tree {
    max-height: calc(72vh - 124px);
    display: flex;
    flex-direction: column;
    gap: 7px;
    overflow-y: auto;
    padding: 1px 2px 4px;
  }
  .batch-service-group {
    flex: 0 0 auto;
    overflow: visible;
    border-radius: 14px;
    background: rgba(255,255,255,.76);
  }
  .batch-category-button {
    width: 100%;
    height: 48px;
    min-height: 48px;
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr) 30px;
    align-items: center;
    gap: 8px;
    padding: 0 10px;
    overflow: visible;
    border: 1px solid rgba(203,213,225,.58);
    border-radius: 12px;
    color: #172033;
    background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(248,251,255,.78));
    box-shadow: none;
    text-align: left;
  }
  .batch-category-button:hover {
    transform: none;
    box-shadow: none;
  }
  .batch-category-button span {
    width: 18px;
    height: 18px;
    display: grid;
    place-items: center;
    color: #3b82f6;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
  }
  .batch-category-button strong {
    display: block;
    min-width: 0;
    color: #172033;
    font-size: 14px;
    font-weight: 860;
    line-height: 48px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .batch-category-button span,
  .batch-category-button em {
    font-size: 11px;
  }
  .batch-category-button em {
    min-width: 24px;
    height: 22px;
    padding: 0 6px;
    display: grid;
    place-items: center;
    line-height: 1;
  }
  .batch-service-group.expanded {
    overflow: hidden;
    box-shadow: 0 10px 20px rgba(37,99,235,.08);
  }
  .batch-product-button {
    min-height: 42px;
    padding: 6px 8px;
    border-radius: 10px;
    gap: 6px;
  }
  .batch-product-main {
    padding: 0;
    border: 0;
    border-radius: 0;
    min-height: auto;
    color: inherit;
    line-height: 1.2;
  }
  .batch-product-button span {
    font-size: 12px;
    line-height: 1.2;
  }
  .batch-product-meta {
    gap: 3px;
  }
  .batch-product-button em {
    min-height: 14px;
    font-size: 9px;
  }
  .batch-workbench {
    display: grid;
    grid-template-rows: auto auto auto auto;
    gap: 6px;
    padding: 6px 5px;
  }
  .batch-mobile-service-card {
    width: calc(100% - 2px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 7px;
    padding: 7px 8px;
    margin: 0 auto;
    border: 1px solid rgba(191,219,254,.88);
    border-radius: 13px;
    background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(239,246,255,.78));
    box-shadow: 0 8px 18px rgba(37,99,235,.07), inset 0 1px 0 rgba(255,255,255,.94);
  }
  .batch-mobile-service-card div {
    min-width: 0;
    display: grid;
    gap: 2px;
  }
  .batch-mobile-service-card span {
    color: #2563eb;
    font-size: 9px;
    font-weight: 900;
  }
  .batch-mobile-service-card strong {
    overflow: hidden;
    color: #0f172a;
    font-size: 11px;
    font-weight: 920;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  .batch-mobile-service-card small {
    overflow: hidden;
    color: #64748b;
    font-size: 9px;
    font-weight: 760;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  .batch-mobile-service-card button {
    flex: 0 0 auto;
    min-height: 28px;
    padding: 4px 9px;
    border-radius: 10px;
    color: #fff;
    background: linear-gradient(180deg, #60a5fa, #2563eb);
    box-shadow: 0 10px 20px rgba(37,99,235,.18);
    font-size: 10px;
  }
  .batch-toolbar {
    display: flex;
    flex-wrap: nowrap;
    gap: 5px;
    overflow-x: auto;
    padding-bottom: 1px;
    scroll-snap-type: x proximity;
  }
  .batch-toolbar button {
    flex: 0 0 auto;
    min-height: 28px;
    padding: 5px 8px;
    border-radius: 10px;
    font-size: 10px;
    scroll-snap-align: start;
  }
  .batch-selected-service {
    display: none;
  }
  .batch-mobile-input-card {
    display: none;
  }
  .batch-mobile-input-head,
  .batch-mobile-input-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
  }
  .batch-mobile-input-head strong {
    color: #0f172a;
    font-size: 13px;
    font-weight: 900;
  }
  .batch-mobile-input-head span,
  .batch-mobile-input-foot span {
    color: #64748b;
    font-size: 11px;
    font-weight: 760;
  }
  .batch-mobile-input-card textarea {
    min-height: 145px;
    padding: 12px;
    border-radius: 14px;
    background: #fff;
    font-size: 13px;
    line-height: 1.45;
  }
  .batch-mobile-input-foot button {
    flex: 0 0 auto;
    min-height: 30px;
    padding: 6px 10px;
    border-radius: 11px;
    color: #1d4ed8;
    background: #eff6ff;
    box-shadow: none;
    font-size: 11px;
  }
  .batch-table-shell {
    display: block;
    min-height: clamp(300px, 52vh, 460px);
    max-height: none;
    overflow: auto;
    border: 1px solid rgba(203,213,225,.70);
    border-radius: 14px;
    background:
      linear-gradient(180deg, rgba(255,255,255,.92), rgba(239,246,255,.82));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.90), 0 8px 18px rgba(37,99,235,.05);
  }
  .batch-table {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
  }
  .batch-table th {
    height: 29px;
    padding: 5px 6px;
    background: rgba(248,250,252,.96);
    font-size: 9px;
    white-space: normal;
  }
  .batch-table td {
    height: 34px;
    padding: 5px;
    font-size: 9px;
    word-break: break-all;
  }
  .batch-table th:first-child,
  .batch-table td:first-child {
    width: 28px;
  }
  .batch-table th:nth-child(2),
  .batch-table td:nth-child(2) {
    display: none;
  }
  .batch-table th:nth-child(3),
  .batch-table td:nth-child(3) {
    width: 42%;
  }
  .batch-table th:nth-child(4),
  .batch-table td:nth-child(4) {
    width: 60px;
  }
  .batch-table th:nth-child(n + 5),
  .batch-table td:nth-child(n + 5) {
    min-width: 120px;
  }
  .batch-empty-state {
    min-height: clamp(180px, 28vh, 250px);
    width: min(280px, calc(100vw - 92px));
    margin: 0 auto;
    color: #64748b;
    font-size: 12px;
    line-height: 1.45;
    white-space: normal;
  }
  .batch-import-backdrop {
    padding: 8px;
    place-items: center;
    align-items: center;
  }
  .batch-import-modal {
    width: min(332px, calc(100vw - 16px));
    max-height: calc(100vh - 16px);
    grid-template-columns: 1fr;
    gap: 8px;
    overflow-y: auto;
    padding: 40px 10px 10px;
    border-radius: 16px;
  }
  .batch-import-close {
    top: 8px;
    right: 8px;
    width: 28px;
    height: 28px;
    font-size: 18px;
  }
  .batch-import-main textarea {
    min-height: 150px;
    max-height: 34vh;
    padding: 10px;
    border-radius: 12px;
    font-size: 12px;
  }
  .batch-import-main p {
    font-size: 12px;
  }
  .batch-import-side {
    gap: 7px;
  }
  .batch-import-side > button,
  .batch-file-button {
    min-height: 34px;
    border-radius: 10px;
    font-size: 12px;
  }
  .batch-note-field textarea {
    min-height: 64px;
    font-size: 12px;
  }
  .batch-note-field textarea {
    min-height: 72px;
  }
  .service-card { grid-template-columns: 1fr; }
  .submit-backdrop { padding: 8px; }
  .submit-modal { width: 100%; max-height: calc(100vh - 16px); }
  .submit-modal::before,
  .submit-inline-panel::before {
    content: "";
    position: absolute;
    right: 7px;
    z-index: 6;
    width: 3px;
    border-radius: 999px;
    background: rgba(148, 163, 184, .28);
    pointer-events: none;
  }
  .submit-modal::after,
  .submit-inline-panel::after {
    content: "";
    position: absolute;
    right: 6px;
    z-index: 7;
    width: 5px;
    height: 74px;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(37, 99, 235, .82), rgba(96, 165, 250, .56));
    box-shadow: 0 0 0 1px rgba(255,255,255,.62), 0 6px 14px rgba(37,99,235,.20);
    pointer-events: none;
  }
  .submit-modal::before {
    top: 64px;
    bottom: 72px;
  }
  .submit-modal::after {
    top: 76px;
  }
  .submit-inline-panel::before {
    top: 14px;
    bottom: 72px;
  }
  .submit-inline-panel::after {
    top: 26px;
  }
  .submit-userbar { align-items: flex-start; gap: 12px; }
  .submit-order-grid { grid-template-columns: 1fr; gap: 18px; }
  .submit-service-card div { align-items: flex-start; flex-direction: column; gap: 6px; }
  .submit-service-card i { display: none; }
  .balance-hero { flex-direction: column; }
  .balance-stats { grid-template-columns: 1fr; }
  .recharge-head { flex-direction: column; align-items: stretch; }
  .recharge-presets { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .recharge-channel,
  .recharge-summary { grid-template-columns: 1fr; }
  .member-grid { grid-template-columns: 1fr; }
  .member-stats { grid-template-columns: 1fr; }
  .member-hero-card { grid-template-columns: 1fr; }
  .member-detail-list { grid-template-columns: 1fr; }
  .member-detail-row:nth-last-child(-n + 2) { border-bottom: 1px solid rgba(226,232,240,.76); }
  .balance-log-row { grid-template-columns: 36px minmax(0, 1fr); }
  .balance-log-money { grid-column: 2; justify-items: start; }
  .support-ticket-layout { grid-template-columns: 1fr; }
  .support-hero-grid,
  .support-ticket-workspace { grid-template-columns: 1fr; }
  .ticket-form-grid { grid-template-columns: 1fr; }
  .ticket-list-item { grid-template-columns: 1fr; }
  .inventory-plan-grid,
  .inventory-shell,
  .inventory-stat-grid,
  .inventory-two-columns,
  .inventory-outbound-fields,
  .inventory-preview-form { grid-template-columns: 1fr; }
  .inventory-head-metrics,
  .inventory-stock-summary {
    width: 100%;
    justify-content: flex-start;
    margin-left: 0;
  }
  .inventory-match-grid { grid-template-columns: 1fr; }
}

/* Sales outbound: collapsible in-stock model drill-down */
.inventory-model-distribution-card.collapsible {
  gap: 0;
}
.inventory-model-distribution-toggle {
  width: 100%;
  min-height: 56px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 16px;
  padding: 2px;
  border: 0;
  border-radius: 10px;
  color: inherit;
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: background-color .18s ease, box-shadow .18s ease;
}
.inventory-model-distribution-toggle:hover {
  background: rgba(239, 246, 255, .72);
}
.inventory-model-distribution-toggle:focus-visible {
  outline: 3px solid rgba(37, 99, 235, .24);
  outline-offset: 3px;
  box-shadow: 0 0 0 1px #2563eb;
}
.inventory-model-distribution-heading-copy {
  min-width: 0;
}
.inventory-model-distribution-heading-copy h2 {
  margin: 1px 0 0;
}
.inventory-model-distribution-heading-copy p {
  margin: 4px 0 0;
  color: #667085;
  font-size: 12px;
  font-weight: 760;
}
.inventory-model-distribution-head-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}
.inventory-model-distribution-toggle-label {
  min-width: 68px;
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 10px;
  border: 1px solid rgba(147, 197, 253, .72);
  border-radius: 999px;
  color: #155eef;
  background: #eff6ff;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}
.inventory-model-distribution-toggle-label i {
  display: inline-block;
  font-size: 17px;
  font-style: normal;
  line-height: 1;
  transition: transform .18s ease;
}
.inventory-model-distribution-toggle-label i.expanded {
  transform: rotate(180deg);
}
.inventory-model-distribution-content {
  display: grid;
  gap: 14px;
  padding-top: 14px;
  animation: inventoryModelReveal .2s ease-out both;
}
@keyframes inventoryModelReveal {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}
button.inventory-model-distribution-item {
  width: 100%;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
button.inventory-model-distribution-item:hover {
  border-color: rgba(96, 165, 250, .92);
  background: linear-gradient(180deg, #fff, #eff6ff);
  box-shadow: 0 13px 28px rgba(37, 99, 235, .1);
  transform: translateY(-1px);
}
button.inventory-model-distribution-item:focus-visible {
  outline: 3px solid rgba(37, 99, 235, .24);
  outline-offset: 2px;
}
button.inventory-model-distribution-item.selected {
  border-color: #3b82f6;
  background: linear-gradient(180deg, #eff6ff, #dbeafe);
  box-shadow: 0 0 0 2px rgba(59, 130, 246, .13), 0 14px 30px rgba(37, 99, 235, .12);
}
.inventory-model-selected-label {
  display: none;
  width: fit-content;
  margin-top: 3px;
  padding: 3px 7px;
  border-radius: 999px;
  color: #fff;
  background: #2563eb;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
  line-height: 1.2;
}
.inventory-model-distribution-item.selected .inventory-model-selected-label {
  display: inline-flex;
}
.inventory-model-stock-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1600;
  min-width: 0;
  min-height: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: 24px;
  background: rgba(15, 23, 42, .58);
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
  animation: inventoryModelModalBackdropIn .18s ease-out both;
}
.inventory-model-distribution-card:has(.inventory-model-stock-modal-backdrop),
.inventory-model-distribution-card:has(.inventory-model-stock-modal-backdrop):hover,
.inventory-model-distribution-card:has(.inventory-model-stock-modal-backdrop):active {
  transform: none;
  transition: none;
}
.inventory-model-stock-modal {
  width: min(920px, calc(100vw - 48px));
  max-width: 100%;
  max-height: min(86vh, 820px);
  max-height: min(86dvh, 820px);
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  overflow: hidden;
  border: 1px solid rgba(147, 197, 253, .78);
  border-radius: 18px;
  background: linear-gradient(180deg, #f8fbff, #fff);
  box-shadow: 0 32px 90px rgba(15, 23, 42, .32), 0 0 0 1px rgba(255, 255, 255, .6) inset;
  animation: inventoryModelModalIn .2s ease-out both;
}
.inventory-model-stock-modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 17px 18px 14px;
  border-bottom: 1px solid rgba(203, 213, 225, .72);
  background: rgba(248, 251, 255, .96);
}
.inventory-model-stock-modal-head > div {
  min-width: 0;
}
.inventory-model-stock-modal-head h3 {
  margin: 2px 0 0;
  color: #101828;
  font-size: 17px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.inventory-model-stock-modal-head > strong {
  flex: none;
  padding: 7px 11px;
  border-radius: 999px;
  color: #155eef;
  background: #dbeafe;
  font-size: 12px;
  font-weight: 950;
}
.inventory-model-stock-modal-body {
  min-width: 0;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 14px 18px;
  overscroll-behavior-x: none;
  overscroll-behavior-y: contain;
  touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
}
.inventory-model-stock-modal-footer {
  display: flex;
  justify-content: flex-end;
  padding: 13px 18px calc(13px + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid rgba(203, 213, 225, .72);
  background: rgba(248, 251, 255, .98);
}
.inventory-model-stock-modal-confirm {
  min-width: 116px;
  min-height: 44px;
  padding: 0 22px;
  border: 0;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(135deg, #3b82f6, #2563eb);
  box-shadow: 0 10px 22px rgba(37, 99, 235, .24);
  font: inherit;
  font-size: 14px;
  font-weight: 950;
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}
.inventory-model-stock-modal-confirm:hover {
  filter: brightness(1.04);
  box-shadow: 0 13px 28px rgba(37, 99, 235, .3);
  transform: translateY(-1px);
}
.inventory-model-stock-modal-confirm:active {
  transform: translateY(0) scale(.985);
}
.inventory-model-stock-modal-confirm:focus-visible {
  outline: 3px solid rgba(96, 165, 250, .38);
  outline-offset: 3px;
}
body:has(.inventory-model-stock-modal-backdrop),
.inventory-full-content:has(.inventory-model-stock-modal-backdrop),
.inventory-page:has(.inventory-model-stock-modal-backdrop),
.inventory-content:has(.inventory-model-stock-modal-backdrop) {
  overflow: hidden;
}
@keyframes inventoryModelModalBackdropIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes inventoryModelModalIn {
  from { opacity: 0; transform: translateY(7px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.inventory-model-stock-detail-list {
  display: grid;
  gap: 10px;
}
.inventory-model-stock-detail-card {
  min-width: 0;
  display: grid;
  gap: 11px;
  padding: 13px;
  border: 1px solid rgba(203, 213, 225, .82);
  border-radius: 10px;
  background: rgba(255, 255, 255, .94);
}
.inventory-model-stock-detail-card-head {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.inventory-model-stock-detail-card-head > div {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.inventory-model-stock-detail-card-head strong {
  color: #101828;
  font-size: 14px;
  font-weight: 950;
  overflow-wrap: anywhere;
}
.inventory-model-stock-detail-card-head span {
  color: #667085;
  font-size: 11px;
  font-weight: 780;
  overflow-wrap: anywhere;
}
.inventory-model-stock-detail-card-head > em {
  flex: none;
  padding: 4px 8px;
  border-radius: 999px;
  color: #047857;
  background: #d1fae5;
  font-size: 10px;
  font-style: normal;
  font-weight: 950;
}
.inventory-model-stock-detail-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
}
.inventory-model-stock-detail-field {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 4px;
  padding: 8px 9px;
  border: 1px solid rgba(226, 232, 240, .82);
  border-radius: 8px;
  background: #f8fafc;
}
.inventory-model-stock-detail-field em {
  color: #667085;
  font-size: 10px;
  font-style: normal;
  font-weight: 850;
}
.inventory-model-stock-detail-field b {
  color: #172b4d;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.35;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.inventory-model-stock-detail-field.code b {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  letter-spacing: .02em;
}

@media (max-width: 980px) {
  .inventory-model-distribution-toggle {
    grid-template-columns: 1fr;
  }
  .inventory-model-distribution-head-actions {
    justify-content: space-between;
  }
  .inventory-model-distribution-head-actions .inventory-model-distribution-total {
    justify-content: flex-start;
  }
  .inventory-model-stock-detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 800px) {
  .inventory-batch-outbound-backdrop {
    padding: 8px;
  }
  .inventory-batch-outbound-modal {
    width: calc(100vw - 16px);
    max-height: calc(100vh - 16px);
    max-height: calc(100dvh - 16px);
    padding: 12px;
    border-radius: 16px;
  }
  .inventory-batch-outbound-input {
    grid-template-columns: 1fr;
  }
  .inventory-batch-outbound-input textarea {
    min-height: 84px;
  }
  .inventory-batch-outbound-actions > button {
    flex: 1 1 120px;
    min-height: 44px;
  }
  .inventory-batch-candidate-panel {
    width: calc(100vw - 56px);
    max-width: calc(100vw - 56px);
  }
  .inventory-batch-candidate-head {
    display: grid;
  }
  .inventory-batch-candidate-head span {
    text-align: left;
  }
  .inventory-batch-candidate-list,
  .inventory-batch-candidate-meta {
    grid-template-columns: 1fr;
  }
  .inventory-model-distribution-toggle {
    min-height: 48px;
    gap: 11px;
  }
  .inventory-model-distribution-head-actions {
    align-items: flex-end;
    gap: 8px;
  }
  .inventory-model-distribution-head-actions .inventory-model-distribution-total {
    gap: 5px;
  }
  .inventory-model-distribution-head-actions .inventory-model-distribution-total span {
    min-height: 26px;
    padding: 0 8px;
    font-size: 11px;
  }
  .inventory-model-distribution-toggle-label {
    min-width: 62px;
    min-height: 30px;
    padding: 0 8px;
  }
  .inventory-model-stock-modal-backdrop {
    padding: 10px 12px;
  }
  .inventory-model-stock-modal {
    width: calc(100vw - 24px);
    max-height: calc(100vh - 20px);
    max-height: calc(100dvh - 20px);
    border-radius: 16px;
  }
  .inventory-model-stock-modal-head {
    align-items: flex-start;
    flex-direction: column;
    padding: 14px;
  }
  .inventory-model-stock-modal-body {
    padding: 11px 12px;
  }
  .inventory-model-stock-modal-footer {
    padding: 11px 12px calc(11px + env(safe-area-inset-bottom, 0px));
  }
  .inventory-model-stock-modal-confirm {
    width: 100%;
  }
  .inventory-model-stock-detail-card-head {
    align-items: flex-start;
  }
  .inventory-model-stock-detail-grid {
    grid-template-columns: 1fr;
  }
  .inventory-model-stock-detail-field {
    grid-template-columns: minmax(78px, auto) minmax(0, 1fr);
    align-items: start;
  }
}

@media (prefers-reduced-motion: reduce) {
  .inventory-model-distribution-content,
  .inventory-model-distribution-toggle-label i,
  button.inventory-model-distribution-item,
  .inventory-model-stock-modal-backdrop,
  .inventory-model-stock-modal,
  .inventory-model-stock-modal-confirm {
    animation: none;
    transition: none;
  }
}
