/* PC work surfaces share one canvas and one control vocabulary. */
@media (min-width: 761px) {
  .v1-app {
    /* Desktop font floors preserve the existing mobile density. */
    --ui-font-8:12px;
    --ui-font-9:12px;
    --ui-font-10:12px;
    --ui-font-11:12px;
    --ui-ink:#132033;
    --ui-muted:#53677f;
    --ui-line:#dfe6ee;
    --ui-paper:#f5f7fa;
    --ui-accent:#155eef;
    --ui-stripe:#f0f4f8;
    --admin-ink:var(--ui-ink);
    --admin-muted:var(--ui-muted);
    --admin-line:var(--ui-line);
    --admin-blue:var(--ui-accent);
    --ops-blue:var(--ui-accent);
    --dashboard-muted:var(--ui-muted);
    color:var(--ui-ink);
    background:var(--ui-paper);
    font-size:14px;
  }
  .v1-app .v1-main { width:100%; max-width:1920px; margin-inline:auto; padding:28px 20px 64px; }
  .v1-app .admin-page,.v1-app .lookup-page,.v1-app .dashboard-page { width:100%; max-width:none; margin:0; padding:0; }
  .v1-app .v1-alert,.v1-app .ops-feedback { width:min(1880px,calc(100% - 40px)); }
  .v1-app .v1-top { min-height:64px; padding-inline:max(20px,calc((100vw - 1880px)/2)); background:#fff; backdrop-filter:none; border-color:var(--ui-line); }
  .v1-app small { font-size:12px; }
  .v1-app .v1-top span { color:var(--ui-muted); letter-spacing:0; }
  .v1-app .v1-top strong { color:var(--ui-ink); }
  .v1-app .site-footer { color:var(--ui-muted); background:#fff; border-color:var(--ui-line); font-size:12px; }
  .v1-app h1,.v1-app .admin-heading h1,.v1-app .ops-page .section-title h1 { max-width:none; margin:0; font-size:28px; line-height:1.3; letter-spacing:-.02em; }
  .v1-app .admin-heading,.v1-app .dashboard-heading,.v1-app .section-title { align-items:center; padding:0; margin-bottom:20px; }
  .v1-app .admin-heading__lede { max-width:none; }
  .v1-app .admin-module__head h2,.v1-app .lookup-result-heading h2 { font-size:22px; letter-spacing:-.02em; }
  .v1-app .admin-module { border-radius:12px; box-shadow:none; padding:24px; }
  .v1-app .admin-overview__intro { background:#fff; border-color:var(--ui-line); border-radius:12px; }
  .v1-app .admin-overview__intro h2 { font-size:22px; letter-spacing:-.02em; }
  .v1-app .admin-stat-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
  .v1-app .lookup-page::after { display:none; }
  .v1-app .lookup-result,.v1-app .lookup-loading { border-radius:12px; box-shadow:none; }
  .v1-app :is(.primary,.admin-primary,.feishu-button) { background:var(--ui-accent); border-color:var(--ui-accent); color:#fff; border-radius:8px; box-shadow:none; }
  .v1-app :is(.admin-secondary,.admin-refresh,.dashboard-refresh,.lookup-submit,.lookup-clear,.v1-user button,.section-title button) { border:1px solid var(--ui-line); border-radius:8px; color:var(--ui-ink); background:#fff; box-shadow:none; }
  .v1-app :is(.admin-primary,.admin-secondary,.admin-danger,.admin-refresh,.dashboard-refresh,.v1-user button) { min-height:36px; padding-inline:12px; font-size:13px; white-space:nowrap; }
  .v1-app .v1-user button[aria-current=page],.v1-app .admin-nav button.is-active { color:var(--ui-accent); background:#eaf1ff; box-shadow:none; }
  .v1-app :is(input,select,textarea) { color:var(--ui-ink); caret-color:var(--ui-accent); font-family:inherit; font-size:14px; }
  .v1-app input::placeholder,.v1-app textarea::placeholder { color:var(--ui-muted); opacity:1; }
  .v1-app :focus-visible { outline:2px solid var(--ui-accent); outline-offset:3px; }
  .v1-app ::selection { background:#dce8ff; color:var(--ui-ink); }
  .v1-app :is(code,time,.ops-table td) { font-variant-numeric:tabular-nums; }
  .v1-app :is(.admin-record-meta,.admin-list-row span,.lookup-field > span,.lookup-shipment-cell > span,.dashboard-table th,.dashboard-field-label,.dashboard-fnsku-field > b) { color:var(--ui-muted); }

  /* Reserve action columns so longer labels cannot move adjacent fields. */
  .v1-app .admin-list-row { grid-template-columns:minmax(0,1fr) 280px 280px; gap:20px; align-items:center; min-height:76px; padding:16px; }
  .v1-app .admin-list-row > label { width:100%; }
  .v1-app .admin-list-row > .admin-danger { justify-self:end; }
  .v1-app .admin-account-row { grid-template-columns:minmax(0,1fr) 220px 280px; }
  .v1-app .admin-record-meta,.v1-app .admin-record-heading,.v1-app .admin-status { white-space:nowrap; }
  .v1-app .admin-row-actions { justify-content:flex-end; overflow:visible; }
  .v1-app .admin-id-line { font-size:12px; }
  .v1-app .admin-list-row :is(input,select) { font-size:13px; min-height:36px; }
  .v1-app .admin-status-dot { box-shadow:none; }
  .v1-app .admin-drawer { width:480px; max-width:100vw; }
  .v1-app .admin-drawer :is(input,select) { font-size:14px; min-height:40px; }
  .v1-app .ops-table { min-width:0; table-layout:auto; }
  .v1-app .ops-table :is(th,td,code) { white-space:nowrap; overflow-wrap:normal; }
  .v1-app .ops-table code { max-width:none; }
  .v1-app .ops-table th,.v1-app .ops-table td { padding:12px 14px; }
  .v1-app .ops-actions { flex-wrap:nowrap; }

  /* Count only shipment summaries: expanded detail rows do not change striping. */
  .admin-list > .admin-list-row:nth-child(odd),.ops-table tbody > tr:nth-child(odd),
  .detail-panel .detail-row:nth-child(odd),.lookup-shipment-item:nth-child(odd),
  .dashboard-table tbody > .dashboard-shipment-row:nth-child(odd of .dashboard-shipment-row),
  .dashboard-box-node:nth-child(odd) > .dashboard-box-row,
  .dashboard-fnsku-node:nth-child(odd) { background:var(--ui-stripe); }
  .admin-list > .admin-list-row:nth-child(even),.ops-table tbody > tr:nth-child(even),
  .detail-panel .detail-row:nth-child(even),.lookup-shipment-item:nth-child(even),
  .dashboard-table tbody > .dashboard-shipment-row:nth-child(even of .dashboard-shipment-row),
  .dashboard-box-node:nth-child(even) > .dashboard-box-row,
  .dashboard-fnsku-node:nth-child(even) { background:#fff; }
  .admin-list > .admin-list-row:hover,.ops-table tbody > tr:hover,.dashboard-shipment-row:hover { background:#eaf1ff; }

  /* Wide PC fields keep each value on its own designed line. */
  .v1-app .warehouse-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .v1-app .work-list { display:grid; gap:0; }
  .v1-app .batch-card { border-radius:0; margin:0; padding:16px; }
  .v1-app .work-list > .batch-card:nth-child(odd of .batch-card) { background:var(--ui-stripe); }
  .v1-app .work-list > .batch-card:nth-child(even of .batch-card) { background:#fff; }
  .v1-app .ops-home .batch-card small { overflow:visible; text-overflow:clip; white-space:nowrap; }
  .v1-app .ops-manual { grid-template-columns:minmax(0,1fr) 100px; }
  .v1-app .current-status { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .v1-app .detail-row { grid-template-columns:100px minmax(220px,1fr) minmax(220px,1fr) 24px; }
  .v1-app .detail-row--product { grid-template-columns:160px 220px minmax(0,1fr); }
  .v1-app .detail-row--product strong { grid-column:auto; }
  .v1-app .detail-row :is(span,code,strong) { overflow:visible; text-overflow:clip; white-space:nowrap; overflow-wrap:normal; }
  .v1-app .lookup-fields-grid--primary { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .v1-app .lookup-product-grid { grid-template-columns:minmax(0,1.5fr) minmax(180px,1fr) minmax(180px,1fr) minmax(0,1fr); }
  .v1-app .lookup-product-grid .lookup-field:last-child { grid-column:auto; }
  .v1-app .lookup-product-card { grid-template-columns:380px minmax(0,1fr); }
  .v1-app .lookup-field :is(strong,code),.v1-app .lookup-product-title h3 { white-space:nowrap; overflow-wrap:normal; }
  .v1-app .lookup-shipment-item { grid-template-columns:minmax(320px,2fr) repeat(2,minmax(0,1fr)); }
  .v1-app .lookup-products > .lookup-product-card:nth-child(odd) { background:var(--ui-stripe); }
  .v1-app .lookup-products > .lookup-product-card:nth-child(even) { background:#fff; }
  .v1-app .current-status code { overflow:visible; text-overflow:clip; }
  .v1-app .lookup-search { margin-bottom:20px; }
  .v1-app .dashboard-search { position:relative; top:auto; box-shadow:none; }
  .v1-app .dashboard-search-input { box-shadow:none; }
  .v1-app .dashboard-summary-lines,.v1-app .dashboard-table-field strong { white-space:nowrap; }
  .v1-app .dashboard-code-copy code { overflow:visible; text-overflow:clip; white-space:nowrap; }
  .v1-app .dashboard-code-copy { max-width:none; }
  .v1-app .dashboard-table-wrap { --result-column:80px; --review-column:224px; }
  .v1-app .dashboard-table thead tr,.v1-app .dashboard-shipment-row { grid-template-columns:minmax(170px,1.2fr) minmax(240px,1.8fr) 110px minmax(140px,1fr) 100px minmax(150px,1.2fr) 72px var(--result-column) var(--review-column); }
  .v1-app .dashboard-fnsku-identifiers { grid-template-columns:minmax(116px,1fr) 112px minmax(190px,1.5fr) 116px; }
  .v1-app .dashboard-fnsku-identifiers .dashboard-code-copy code { overflow:visible; text-overflow:clip; }
  .v1-app .dashboard-fnsku-field--product strong,.v1-app .dashboard-box-field--product strong { white-space:nowrap; overflow:visible; text-overflow:clip; }
  .v1-app .dashboard-status { white-space:nowrap; }
  .v1-app .review-control select { font-size:12px; }
}
@media (min-width:761px) and (max-width:1599px) {
  .v1-app .admin-stat-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .v1-app .admin-list-row { grid-template-columns:minmax(0,1fr) 220px 240px; }
  .v1-app .lookup-product-card { grid-template-columns:260px minmax(0,1fr); }
  .v1-app .lookup-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .v1-app .dashboard-table thead tr,.v1-app .dashboard-shipment-row { grid-template-columns:minmax(150px,1fr) minmax(180px,1.4fr) 82px minmax(100px,1fr) 82px minmax(110px,1fr) 64px var(--result-column) var(--review-column); gap:10px; }
  .v1-app .dashboard-fnsku-identifiers { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (min-width:761px) and (max-width:1199px) {
  .v1-app .admin-list-row { grid-template-columns:minmax(0,1fr) 190px 220px; }
  .v1-app .warehouse-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .v1-app .lookup-product-card { grid-template-columns:200px minmax(0,1fr); }
  .v1-app .lookup-fields-grid--primary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .v1-app .dashboard-table-wrap { overflow-x:auto; }
  .v1-app .dashboard-table { min-width:1100px; }
}
/* Hierarchy colors belong to the level, not to the same stripe across levels. */
@media(min-width:761px) {
  .v1-app .admin-stat-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:0; overflow:hidden; margin:0 0 20px; border:1px solid var(--ui-line); border-radius:10px; background:#fff; }
  .v1-app .admin-stat { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:68px; padding:16px 20px; border:0; border-right:1px solid var(--ui-line); border-radius:0; box-shadow:none; }
  .v1-app .admin-stat:last-child { border-right:0; }
  .v1-app .admin-stat strong { margin:0; font-size:24px; letter-spacing:0; }
  .v1-app .admin-stat:hover { transform:none; background:#f0f5fb; }
  .v1-app .admin-action-queue { padding:20px; border-radius:10px; }
  .v1-app .admin-action-queue h2 { margin:0 0 12px; font-size:18px; }
  .v1-app .admin-queue-list { gap:0; }
  .v1-app .admin-queue-list button { grid-template-columns:minmax(0,1fr) 80px 60px; align-items:center; min-height:44px; padding:10px 12px; border:0; border-bottom:1px solid var(--ui-line); border-radius:0; background:#fff; }
  .v1-app .admin-queue-list button span { text-align:right; }
  .v1-app .admin-queue-list button b { grid-column:auto; grid-row:auto; text-align:right; color:var(--ui-accent); }
  .v1-app .dashboard-table tbody > .dashboard-shipment-row { border-top:1px solid #d5dfeb; }
  .v1-app .dashboard-table tbody > .dashboard-shipment-row:nth-child(odd of .dashboard-shipment-row) { background:#fff; }
  .v1-app .dashboard-table tbody > .dashboard-shipment-row:nth-child(even of .dashboard-shipment-row) { background:#f3f6fa; }
  .v1-app .dashboard-shipment-details { border-block:1px solid #b9cadc; }
  .v1-app .dashboard-box-header { background:#d5e2ef; color:#294766; font-weight:700; }
  .v1-app .dashboard-box-node:nth-child(odd) > .dashboard-box-row { background:#e5edf6; }
  .v1-app .dashboard-box-node:nth-child(even) > .dashboard-box-row { background:#dce7f2; }
  .v1-app .dashboard-box-row { border-block:1px solid #c3d2e2; border-radius:0; }
  .v1-app .dashboard-fnsku-tree { border-block:1px solid #c3d2e2; }
  .v1-app .dashboard-fnsku-node:nth-child(odd) { background:#fff; }
  .v1-app .dashboard-fnsku-node:nth-child(even) { background:#f7faff; }
  .v1-app .dashboard-fnsku-node { border-radius:0; border-bottom:1px solid #e0e8f0; }
  .v1-app .dashboard-fnsku-field > b { color:#53677f; }
  .v1-app .admin-data-table { overflow:visible; }
  .v1-app .admin-table-head,.v1-app .admin-data-table .admin-list-row { min-width:0; }
}
@media(min-width:761px) and (max-width:1599px) {
  .v1-app .admin-data-table { overflow-x:auto; }
  .v1-app .admin-table-head,.v1-app .admin-data-table .admin-list-row { min-width:1500px; }
  .v1-app .admin-stat-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(min-width:761px) {
  .v1-app .site-footer__inner { width:100%; max-width:1920px; align-items:center; padding:16px 20px; }
  .v1-app .site-footer__meta { margin-left:auto; text-align:right; white-space:nowrap; }
}
@media(max-width:430px) {
  .v1-app .v1-brand { flex-shrink:0; }
  .v1-app .v1-user button { padding-inline:9px; }
}

/* Login keeps the shared blue action and quiet white work surface. */
.v1-app .auth-card { box-sizing:border-box; width:min(420px,100%); padding:32px; border:1px solid #dfe6ee; border-radius:16px; box-shadow:none; }
.v1-app .auth-card h1 { margin:0 0 28px; color:#132033; font-size:28px; line-height:1.3; }
.v1-app .auth-card form { gap:16px; }
.v1-app .auth-card input { min-height:48px; border-color:#cfd6e3; border-radius:8px; background:#fff; color:#132033; font-size:14px; }
.v1-app .auth-card input::placeholder { color:#53677f; opacity:1; }
.v1-app .auth-card :is(button,.feishu-button) { min-height:48px; border-radius:8px; font-size:14px; line-height:20px; }
.v1-app .auth-card .primary { background:#155eef; color:#fff; }
.v1-app .auth-card .primary:hover { background:#124fca; }
.v1-app .auth-card .feishu-button { margin-top:12px; border:1px solid #cfdefb; background:#eef4ff; color:#174ea6; }
.v1-app .auth-card .feishu-button:hover { background:#e2ecff; }
.v1-app .auth-card :is(input,button,a):focus-visible { outline:2px solid #155eef; outline-offset:3px; }
@media(max-width:430px) { .v1-app .auth-card { padding:24px; } }

.v1-app .ops-home .batch-card .batch-times { display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
.v1-app .ops-home .batch-times small { overflow:visible; text-overflow:clip; white-space:nowrap; }
.v1-app .ops-home .batch-times small:last-child { text-align:right; }
