/* Admin-only dispatch desk. No customer or agent-portal assets depend on this file. */
.admin-ui {
  --ui-ink:#202731; --ui-ink-2:#364152; --ui-muted:#596574;
  --ui-canvas:#f3f5f7; --ui-surface:#fff; --ui-surface-2:#f7f8fa;
  --ui-line:#dce1e7; --ui-line-strong:#aeb8c5;
  --ui-info:#1759b8; --ui-info-soft:#eaf2ff; --ui-lime:#1759b8; --ui-lime-strong:#1759b8;
  --ui-good:#216445; --ui-good-soft:#eaf5ee; --ui-warn:#81530c; --ui-warn-soft:#fff4dc;
  --ui-danger:#a32632; --ui-danger-soft:#fceef0;
  --ui-font:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  background:var(--ui-canvas); font-family:var(--ui-font); font-size:14px;
  caret-color:var(--ui-info); scrollbar-color:#aeb8c5 #f3f5f7;
}
.admin-ui ::selection {background:#d6e5ff;color:#193e72}
html:has(.admin-ui) {scroll-behavior:auto}
.admin-ui [hidden] {display:none!important}
.admin-ui .admin-app {grid-template-columns:216px minmax(0,1fr)}
.admin-ui .rail {width:216px;padding:24px 12px 16px;background:#fff;box-shadow:none;border-right:1px solid var(--ui-line);overflow-y:auto}
.admin-ui .rail::before,.admin-ui .rail::after,.admin-ui .rail-link::before {display:none!important}
.admin-ui .rail-brand {margin:0 0 28px;padding:0 10px;gap:10px;border-radius:0;min-height:44px;text-decoration:none}
.admin-ui .rail-brand:hover {background:none}
.admin-ui .rail-brand strong {font-size:18px;color:var(--ui-ink)}
.admin-ui .rail-brand span {color:var(--ui-muted)}
.admin-ui .rail-brand .brand-mark {background:var(--ui-ink);box-shadow:none;border-radius:10px;width:36px;height:36px;color:#fff}
.admin-ui .rail-label {color:var(--ui-muted);letter-spacing:0;font-size:12px;padding:8px 12px;font-weight:500}
.admin-ui .rail-link {font-size:14px;font-weight:500;color:#485566;border-radius:8px;min-height:44px;padding:0 12px;transform:none;box-shadow:none}
.admin-ui .rail-link:hover {background:var(--ui-surface-2);color:var(--ui-ink);transform:none}
.admin-ui .rail-link.is-active {background:var(--ui-info-soft);color:var(--ui-info);box-shadow:none;font-weight:600}
.admin-ui .rail-link.is-active svg {color:inherit}
.admin-ui .rail-foot {margin-top:24px;border-top:1px solid var(--ui-line)}
.admin-ui .maintenance-nav {margin-top:24px;border-top:1px solid var(--ui-line);padding-top:12px}
.admin-ui .maintenance-nav>summary {cursor:pointer;color:var(--ui-muted);font-size:13px;padding:12px;min-height:44px}
.admin-ui .maintenance-nav .rail-link {font-size:13px}
.admin-ui .admin-menu-toggle {display:none}
.admin-ui .skip-admin {position:fixed;top:-100px;left:16px;z-index:200;padding:12px 18px;background:#fff;color:var(--ui-info)}
.admin-ui .skip-admin:focus {top:8px}
.admin-ui .workspace {padding:28px 32px 60px;min-width:0}
.admin-ui .workspace-head {height:auto;min-height:72px;padding:0 0 22px;margin-bottom:18px;gap:16px;align-items:center;max-width:1440px}
.admin-ui .workspace-head h1 {font-size:26px;font-weight:650;line-height:1.3;letter-spacing:-.02em}
.admin-ui .workspace-head p {font-size:13px;line-height:1.6;margin-top:6px}
.admin-ui .system-state {background:transparent;border:0;box-shadow:none;border-radius:0;padding:0;font-size:12px;max-width:320px;text-align:right;line-height:1.7}
.admin-ui .workspace-section {max-width:1440px;animation:none}
.admin-ui .workspace-section:not([hidden])>* {animation:none}
.admin-ui .workbench-queue {min-width:0}
.admin-ui .workbench-period {margin-bottom:24px;padding:20px;background:var(--ui-surface);border:1px solid var(--ui-line);border-radius:12px}
.admin-ui .workbench-period>header {display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.admin-ui .workbench-period h2 {font-size:18px;margin:0}
.admin-ui .workbench-period>header span,.admin-ui .period-result {font-size:13px;color:var(--ui-muted)}
.admin-ui .period-shortcuts {display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.admin-ui .period-form {display:grid;grid-template-columns:minmax(0,220px) minmax(0,220px) auto;gap:12px;align-items:end;justify-content:start}
.admin-ui .period-form label {display:grid;gap:6px;min-width:0}
.admin-ui .period-form input {width:100%;min-width:0;min-height:44px}
.admin-ui .period-form .button {min-height:44px}
.admin-ui .period-result {margin:16px 0}
.admin-ui .period-error {color:var(--ui-danger);margin:16px 0 0}
.admin-ui .workbench-period .workbench-summary {margin-bottom:12px;padding-bottom:16px}
.admin-ui .workbench-queue .record>summary {grid-template-columns:minmax(0,1fr);gap:8px}
.admin-ui .workbench-queue .record-main {min-width:0}
.admin-ui .record.product-record>summary {grid-template-columns:24px minmax(0,1fr) 90px 100px 120px}
.admin-ui .workspace-section>.section-head {margin:0 0 20px;padding-bottom:16px;border-bottom:1px solid var(--ui-line)}
.admin-ui .workspace-section>.section-head h2 {display:none}
.admin-ui .section-head p {margin:0;font-size:13px;line-height:1.7}
.admin-ui :is(.sheet,.record,.form-sheet,.warehouse-bins,.audit-list,.data-shell) {border:1px solid var(--ui-line);box-shadow:none;border-radius:12px}
.admin-ui .button {min-height:40px;border-radius:8px;font-size:13px;font-weight:600;padding:9px 14px;box-shadow:none;border:1px solid var(--ui-line-strong);background:#fff;line-height:1.4}
.admin-ui .button:hover {background:#eef2f7;border-color:#8996a8}
.admin-ui .button.primary,.admin-ui .button.accent {background:var(--ui-info);color:#fff;border-color:var(--ui-info)}
.admin-ui .button.primary:hover,.admin-ui .button.accent:hover {background:#114790}
.admin-ui :is(input,textarea,select) {border-radius:8px;font-size:14px;color:var(--ui-ink)}
.admin-ui label {font-size:13px;font-weight:550;color:var(--ui-ink-2)}
.admin-ui :is(input,textarea)::placeholder {color:#677381;opacity:1}
.admin-ui :is(.record-main strong,.data-main) {font-size:14px;font-weight:600}
.admin-ui :is(.record-main span,.record-meta,.hint,.data-sub,.result-note) {font-size:12px;line-height:1.65;color:var(--ui-muted)}
.admin-ui .record-main :is(strong,span) {white-space:normal;overflow-wrap:anywhere}
.admin-ui .record-list {gap:0;border:1px solid var(--ui-line);border-radius:12px;overflow:hidden;background:#fff}
.admin-ui .record-list>.record {border:0;border-bottom:1px solid var(--ui-line);border-radius:0}
.admin-ui .record-list>.record:last-child {border-bottom:0}
.admin-ui .record>summary {position:relative;min-height:78px;padding:16px 36px 16px 18px}
.admin-ui .record>summary::after {content:"";position:absolute;right:17px;top:34px;width:6px;height:6px;border-right:1px solid #596574;border-bottom:1px solid #596574;transform:rotate(45deg)}
.admin-ui .record[open]>summary::after {transform:rotate(225deg)}
.admin-ui .record>summary .chevron {display:none}
.admin-ui .record[open]>summary {background:var(--ui-surface-2)}
.admin-ui .record[open] {box-shadow:none}
.admin-ui .record-body {padding:20px;background:#fff}
.admin-ui .record-body p {line-height:1.7;max-width:75ch}
.admin-ui .order-facts {gap:18px 24px}
.admin-ui .order-fact {border:0;background:none;padding:0;border-radius:0;min-width:0}
.admin-ui .order-fact span {font-size:12px;margin-bottom:4px}
.admin-ui .order-fact strong {font-size:13px;font-weight:500}
.admin-ui .status {font-size:12px;font-weight:500;border-radius:6px;height:auto;min-height:24px;padding:4px 8px;line-height:1.35}
.admin-ui .status:before {display:none}
.admin-ui .notice {margin:0 0 20px;border-radius:8px;padding:12px 16px;font-size:13px;box-shadow:none;border:0}
.admin-ui .notice strong {font-size:13px}
.admin-ui .notice span {font-size:12px}
.admin-ui #backup-status[role=status] {background:#edf3ef;color:#2c6043}
.admin-ui #backup-status>div {display:flex;gap:12px;flex-wrap:wrap}
.admin-ui .workbench-summary {display:grid;grid-template-columns:1.5fr repeat(3,1fr);border-bottom:1px solid var(--ui-line);padding:4px 0 24px;margin-bottom:24px;gap:24px}
.admin-ui .workbench-summary>div {min-width:0}
.admin-ui .workbench-summary span {display:block;font-size:13px;color:var(--ui-muted)}
.admin-ui .workbench-summary strong {display:block;font-size:26px;font-weight:650;letter-spacing:-.02em;line-height:1.4;margin:7px 0 4px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.admin-ui .workbench-summary small {font-size:12px;color:var(--ui-muted);font-weight:400;letter-spacing:0}
.admin-ui .workbench-grid {display:grid;grid-template-columns:minmax(0,1fr) 284px;gap:24px;align-items:start}
.admin-ui #exception-todos {margin:0;border-radius:12px;background:#fff}
.admin-ui #exception-todos .sheet-head {padding:20px;border:0;align-items:start}
.admin-ui #exception-title {font-size:18px;font-weight:650;margin:0}
.admin-ui #exception-todos .record-list {border:0;border-radius:0}
.admin-ui #exception-todos .record-list>.record {border-bottom:1px solid var(--ui-line)}
.admin-ui #exception-todos>.record {border:0;border-radius:0;border-top:1px solid var(--ui-line)}
.admin-ui #exception-todos .record-meta {display:none}
.admin-ui #exception-todos .todo-record>summary {grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"main price" "main states";gap:4px 12px;min-height:92px}
.admin-ui #exception-todos .record-main {grid-area:main}
.admin-ui #exception-todos .record-price {grid-area:price;display:block;font-size:14px}
.admin-ui #exception-todos summary>.status {grid-area:states;justify-self:end}
.admin-ui #exception-todos>.form-actions {margin:0;padding:16px;justify-content:space-between}
.admin-ui .queue-filters {display:flex;flex-wrap:wrap;gap:8px;padding:0 20px 16px;border-bottom:1px solid var(--ui-line)}
.admin-ui .queue-filters a {display:inline-flex;align-items:center;gap:6px;padding:8px 10px;text-decoration:none;color:var(--ui-muted);border-radius:6px;font-size:13px;min-height:36px}
.admin-ui .queue-filters a[aria-current] {background:var(--ui-info-soft);color:var(--ui-info);font-weight:600}
.admin-ui .queue-filters a:hover {background:var(--ui-surface-2)}
.admin-ui .queue-filters b {font-size:12px;font-variant-numeric:tabular-nums}
.admin-ui .workbench-side {display:grid;gap:24px;min-width:0}
.admin-ui .workbench-side section {padding-bottom:24px;border-bottom:1px solid var(--ui-line)}
.admin-ui .workbench-side h2 {font-size:16px;font-weight:650;margin:0 0 8px;line-height:1.5}
.admin-ui .workbench-side p {font-size:13px;line-height:1.7;color:var(--ui-muted);margin:0 0 16px}
.admin-ui .workbench-lookup form>.button {margin-top:12px;width:100%}
.admin-ui .workbench-support h2 span {float:right;color:var(--ui-warn)}
.admin-ui .workbench-support>.button {width:100%}
.admin-ui .workbench-stock header {display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.admin-ui .workbench-stock header a {font-size:12px;color:var(--ui-info)}
.admin-ui .attention-row {display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0}
.admin-ui .attention-row strong {display:block;font-size:13px;font-weight:600}
.admin-ui .attention-row span {font-size:12px;color:var(--ui-muted)}
.admin-ui .workbench-config {font-size:13px;color:var(--ui-muted)}
.admin-ui .workbench-config summary {cursor:pointer;padding:10px 0;font-weight:600}
.admin-ui .workbench-config dl {display:grid;grid-template-columns:1fr auto;gap:10px}
.admin-ui .workbench-config dd {margin:0}
.admin-ui .filter-bar {grid-template-columns:minmax(180px,1.5fr) minmax(110px,.8fr) repeat(2,minmax(135px,1fr)) auto;gap:12px;background:#fff;border-radius:12px}
.admin-ui .filter-bar,.admin-ui .inventory-tools {box-shadow:none}
.admin-ui .history-toggle {display:none}
.admin-ui .filter-bar label {min-width:0}
.admin-ui .pagination {display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;color:var(--ui-muted);font-size:13px}
.admin-ui .pagination>div {display:flex;gap:8px}
.admin-ui .order-overview {background:transparent;border:0;border-bottom:1px solid var(--ui-line);border-radius:0;margin-bottom:20px}
.admin-ui .order-overview a {padding:12px 16px 16px 0;border:0}
.admin-ui .order-overview strong {font-size:22px;font-weight:600}
.admin-ui .support-switch {display:flex;gap:8px;margin-bottom:20px}
.admin-ui .support-filters {display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;align-items:end}
.admin-ui .ticket-record>summary {grid-template-columns:minmax(0,1fr) 120px 0 auto}
.admin-ui .warehouse-bin {grid-template-columns:minmax(120px,1fr) 90px minmax(120px,1fr) auto auto;gap:16px;padding:18px}
.admin-ui .bin-name .bin-code {font-size:12px;letter-spacing:0;text-transform:none;font-weight:400;color:var(--ui-muted);margin-top:4px}
.admin-ui .warehouse-tabs {max-width:100%;flex-wrap:wrap;border:0;background:transparent;padding:0;gap:8px;margin:20px 0}
.admin-ui .warehouse-tabs button {min-height:42px;border-radius:8px;padding:8px 12px;font-size:13px}
.admin-ui .warehouse-ledger {border:0;border-bottom:1px solid var(--ui-line);border-radius:0;background:transparent}
.admin-ui .warehouse-ledger>div {padding:8px 16px 18px 0;border:0}
.admin-ui .data-table {font-size:13px;font-variant-numeric:tabular-nums}
.admin-ui .data-table td {padding:14px 16px}
.admin-ui .receiving-dialog,.admin-ui .secret-dialog {max-height:90dvh;overflow:auto;border-radius:16px}
.admin-ui .dialog-head,.admin-ui .dialog-body,.admin-ui .dialog-foot {padding:20px 24px}
.admin-ui .receiving-count {font-size:16px}
.admin-ui .login-stage {background:var(--ui-canvas)}
.admin-ui .login-scene {background:#e9edf2}
@media(max-width:1250px) {
  .admin-ui .workspace {padding:24px}
  .admin-ui .workbench-grid {grid-template-columns:minmax(0,1fr) 248px;gap:20px}
  .admin-ui .filter-bar {grid-template-columns:repeat(2,minmax(0,1fr)) auto}
  .admin-ui .warehouse-bin {grid-template-columns:minmax(0,1fr) 80px auto auto}
  .admin-ui .warehouse-bin .bin-flow {display:none}
}
@media(max-width:1000px) {
  .admin-ui .workbench-grid {grid-template-columns:minmax(0,1fr)}
  .admin-ui .workbench-side {grid-template-columns:1fr 1fr}
  .admin-ui .workbench-lookup {grid-column:1/-1}
  .admin-ui .workbench-lookup form {display:grid;grid-template-columns:1fr auto;align-items:end;gap:0 12px}
  .admin-ui .workbench-lookup label {grid-column:1/-1}
  .admin-ui .workbench-lookup form>.button {width:auto}
  .admin-ui .workbench-summary {grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-ui .system-state {max-width:160px}
  .admin-ui .record.product-record>summary {grid-template-columns:24px minmax(0,1fr) auto}
  .admin-ui .record.product-record .record-meta {display:none}
  .admin-ui .record.product-record summary>span:last-child {grid-column:2/-1}
}
@media(max-width:760px) {
  .admin-ui .workbench-period {padding:16px}
  .admin-ui .period-form {grid-template-columns:minmax(0,1fr) minmax(0,1fr);justify-content:stretch}
  .admin-ui .period-form .button {grid-column:1/-1}
  .admin-ui .period-shortcuts {gap:6px}
  .admin-ui .period-shortcuts .button {padding:9px 11px}
  .admin-ui .admin-app {display:block;padding-top:0}
  .admin-ui .rail {position:sticky;inset:0 0 auto;width:100%;height:auto;display:block;padding:12px 16px;border-right:0;border-bottom:1px solid var(--ui-line);overflow:visible;background:#fff}
  .admin-ui .rail-brand div {display:block}
  .admin-ui .rail-brand {margin:0;padding:0;min-height:42px;display:flex;width:max-content}
  .admin-ui .rail-brand strong {font-size:16px}
  .admin-ui .rail-brand .brand-mark {width:32px;height:32px;font-size:12px}
  .admin-ui .rail>.rail-label,.admin-ui .rail-foot,.admin-ui .rail-spacer {display:none}
  .admin-ui .admin-menu-toggle {position:absolute;right:16px;top:14px;display:flex;align-items:center;gap:8px;background:#fff;color:var(--ui-ink);border:1px solid var(--ui-line);border-radius:8px;min-height:40px;padding:8px 12px;font-size:13px;cursor:pointer}
  .admin-ui .admin-menu-toggle svg {width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}
  .admin-ui .rail-nav {display:none;white-space:normal;overflow:auto;max-height:calc(100dvh - 88px);padding:16px 0 8px;margin:0;scrollbar-width:auto}
  .admin-ui .menu-open .rail-nav {display:grid;grid-template-columns:1fr 1fr;gap:4px}
  .admin-ui .rail-nav .rail-link {width:100%;min-height:46px;padding:10px 12px;font-size:14px}
  .admin-ui .maintenance-nav {grid-column:1/-1;margin-top:8px}
  .admin-ui .maintenance-nav[open] {display:grid;grid-template-columns:1fr 1fr}
  .admin-ui .maintenance-nav>summary {grid-column:1/-1}
  .admin-ui .workspace {padding:20px 16px 40px}
  .admin-ui .workspace-head {display:block;padding-bottom:16px;margin-bottom:16px}
  .admin-ui .workspace-head h1 {font-size:24px}
  .admin-ui .workspace-head p {font-size:13px}
  .admin-ui .system-state {max-width:none;margin-top:8px;display:block;text-align:left;font-size:11px}
  .admin-ui .workbench-summary {gap:16px;padding-bottom:20px;margin-bottom:20px}
  .admin-ui .workbench-summary strong {font-size:23px}
  .admin-ui .workbench-summary small {font-size:11px}
  .admin-ui .workbench-grid {display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
  .admin-ui .workbench-queue,.admin-ui .workbench-side {width:100%}
  .admin-ui .workbench-side {display:contents}
  .admin-ui .workbench-lookup {grid-row:2}
  .admin-ui .workbench-queue {grid-row:1}
  .admin-ui .history-toggle {display:inline-flex;margin:0 0 20px}
  .admin-ui #exception-todos .sheet-head {padding:16px}
  .admin-ui .queue-filters {padding:0 12px 12px;gap:2px}
  .admin-ui .queue-filters a {min-height:44px;font-size:12px;padding:8px}
  .admin-ui #exception-todos .todo-record>summary {padding:14px 28px 14px 14px;gap:6px 8px}
  .admin-ui #exception-todos .record-main strong {font-size:14px}
  .admin-ui #exception-todos .record-main span {font-size:12px}
  .admin-ui #exception-todos .record-price {font-size:14px}
  .admin-ui .record-body {padding:16px}
  .admin-ui .form-actions {flex-wrap:wrap;justify-content:flex-start}
  .admin-ui .form-actions .button {white-space:normal}
  .admin-ui :is(input:not([type=checkbox]):not([type=radio]),select,textarea) {font-size:16px;min-width:0}
  .admin-ui .button {min-height:44px;font-size:13px}
  .admin-ui .filter-bar {grid-template-columns:1fr 1fr;padding:12px}
  .admin-ui .filter-bar>label:first-child {grid-column:1/-1}
  .admin-ui .support-filters {grid-template-columns:1fr 1fr}
  .admin-ui .support-filters>label:first-child {grid-column:1/-1}
  .admin-ui .record.product-record>summary {grid-template-columns:24px minmax(0,1fr) auto;gap:8px 12px;padding:16px 32px 16px 14px}
  .admin-ui .record.product-record .record-price {display:block;grid-column:3;grid-row:1;font-size:15px}
  .admin-ui .record.product-record summary>span:last-child {grid-column:2/-1;grid-row:2}
  .admin-ui .record.product-record .record-main {grid-column:2;grid-row:1}
  .admin-ui .record.product-record .record-meta {display:none}
  .admin-ui .record.product-record .record-main strong {font-size:15px}
  .admin-ui .record.ticket-record>summary {grid-template-columns:minmax(0,1fr) auto;gap:8px}
  .admin-ui .ticket-record .record-meta {display:block;grid-column:1/-1;grid-row:2}
  .admin-ui .ticket-record .record-price {display:none}
  .admin-ui .warehouse-bin {grid-template-columns:minmax(0,1fr) auto;gap:10px}
  .admin-ui .warehouse-bin .bin-code {grid-column:1}
  .admin-ui .warehouse-bin .bin-name {grid-column:1}
  .admin-ui .warehouse-bin .bin-quantity {grid-column:2;grid-row:1/3}
  .admin-ui .warehouse-bin>.button {grid-column:auto}
  .admin-ui .warehouse-tabs {width:100%;overflow:visible;display:grid;grid-template-columns:1fr 1fr}
  .admin-ui .warehouse-tabs button {white-space:normal;min-width:0}
  .admin-ui .customer-table {display:block;min-width:0;width:100%}
  .admin-ui .customer-table thead {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .admin-ui .customer-table tbody {display:block}
  .admin-ui .customer-table tbody tr {display:block;padding:12px 16px;border-bottom:1px solid var(--ui-line)}
  .admin-ui .customer-table td[data-label] {display:grid;grid-template-columns:85px minmax(0,1fr);gap:12px;padding:8px 0;border:0;white-space:normal;overflow-wrap:anywhere}
  .admin-ui .customer-table td[data-label]::before {content:attr(data-label);color:var(--ui-muted)}
  .admin-ui .pagination {flex-wrap:wrap}
  .admin-ui .data-shell {max-width:100%}
  .admin-ui .dialog-head,.admin-ui .dialog-body,.admin-ui .dialog-foot {padding:16px}
  .admin-ui .audit-row {display:grid;grid-template-columns:1fr;gap:6px}
}
@media(prefers-reduced-motion:reduce) {.admin-ui * {scroll-behavior:auto;animation:none!important;transition:none!important}}
