/* 柜货流转台在恒祥 AI 中台“雾港运营台”上的业务适配层。 */
:root{
  --ink:var(--hx-ink);--navy:var(--hx-navy);--teal:var(--hx-teal);
  --pale:var(--hx-bg);--white:var(--hx-card);--line:var(--hx-line);
  --muted:var(--hx-muted);--orange:var(--hx-warn);--red:var(--hx-danger);
  --green:var(--hx-ok);--soft-red:#f7e6e3;--soft-green:var(--hx-teal-soft)
}
body.hx-body{background:var(--hx-bg);color:var(--hx-ink);font:14px/1.65 var(--hx-font)}
.app.hx-shell{grid-template-columns:248px minmax(0,1fr)}
.rail.hx-sidebar{background:#fbfdfd;color:var(--hx-ink);border-right:1px solid var(--hx-line);padding:23px 16px 18px;box-shadow:none}
.brand{display:flex;align-items:center;gap:12px;padding:2px 7px 22px;margin-bottom:19px;border-bottom:1px solid var(--hx-line)}
.brand-mark{width:38px;height:38px;flex:none;border-radius:12px;background:linear-gradient(135deg,var(--hx-navy),var(--hx-teal));display:grid;place-items:center;color:#fff;font-size:12px;font-weight:800;letter-spacing:.02em}
.brand-copy{min-width:0}.brand strong{font-size:17px;letter-spacing:0;color:var(--hx-navy);line-height:1.25}.brand span{font-size:11px;color:var(--hx-muted);line-height:1.4}
.brand .brand-mark{color:#fff;font-size:12px}
.rail nav{gap:5px}.rail button{color:#536b7b;border-radius:12px;padding:10px 12px;font-weight:650;gap:9px;transition:background .15s ease,color .15s ease}
.rail button svg{width:17px;height:17px;flex:none;opacity:.84}
.rail button b{color:#79909d;font-size:11px;width:21px;font-weight:650}
.rail button:hover{background:#f0f5f4;color:var(--hx-navy)}
.rail button[aria-current=page]{background:var(--hx-teal-soft);color:var(--hx-navy)}
.rail button[aria-current=page] b{color:var(--hx-ok)}
.rail-foot{color:var(--hx-muted);border-top:1px solid var(--hx-line);padding:15px 10px 2px}
.top.hx-topbar{height:66px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--hx-line);padding:0 28px;position:sticky;top:0;z-index:5}
.top-path{color:var(--hx-muted);font-size:12px;margin-right:4px}
.standalone-badge{border:1px solid var(--hx-line);border-radius:999px;background:#f6f9f8;color:#58786f!important;font-size:11px!important;padding:3px 9px;white-space:nowrap}
.top strong{color:var(--hx-navy);font-size:15px}.top span{color:var(--hx-muted)}
.content.hx-page{max-width:1440px;padding:26px 28px 58px}
.page-title{background:linear-gradient(112deg,#fff 0%,#f2f7f6 100%);border:1px solid var(--hx-line);border-radius:20px;padding:22px 26px;box-shadow:var(--hx-shadow);margin-bottom:18px}
.page-title h1{color:var(--hx-navy);font-size:29px;letter-spacing:-.025em}.page-title p{color:var(--hx-muted);font-size:13px}
.workflow{border:0;background:transparent;gap:12px;margin-bottom:18px}.workflow div{border:1px solid var(--hx-line);border-radius:14px;background:#fff;padding:15px 17px;box-shadow:0 4px 18px rgba(23,54,77,.04)}
.workflow div:last-child{border:1px solid var(--hx-line)}.workflow b{color:var(--hx-navy);font-size:13px}.workflow p{color:var(--hx-muted)}
.panel.hx-card{padding:0;border:1px solid var(--hx-line);border-radius:14px;box-shadow:var(--hx-shadow);overflow:hidden;margin-bottom:17px}
.panel-header{padding:15px 20px;border-bottom:1px solid var(--hx-line)}.panel-header h2{color:var(--hx-navy);font-size:17px}.panel-header small{color:var(--hx-muted)}.panel-body{padding:20px}
.btn.hx-button{border:1px solid var(--hx-line);border-radius:11px;padding:9px 14px;color:var(--hx-navy);background:#fff;font-weight:700;box-shadow:none}
.btn.primary.hx-button{background:var(--hx-navy);border-color:var(--hx-navy);color:white}.btn.primary.hx-button:hover{background:var(--hx-navy-2)}
.btn.ink.hx-button{background:#fff;border-color:#aebfc6;color:var(--hx-navy)}.btn.ink.hx-button:hover,.btn.hx-button:hover{background:#f3f7f7}
.btn.primary.hx-button:hover{background:var(--hx-navy-2);color:white}.btn:disabled{opacity:.47}
.upload{border:1px dashed #b7cbd0;background:#f8fbfb;border-radius:12px;padding:19px}.upload:hover{border-color:var(--hx-teal);background:#f3f8f7}.upload.done{border:1px solid var(--hx-teal);background:var(--hx-teal-soft)}
.upload.dragover{border:2px dashed var(--hx-teal);background:var(--hx-teal-soft);box-shadow:inset 0 0 0 2px #fff}
.statusbar.hx-alert{border:1px solid var(--hx-line);border-left:4px solid var(--hx-warn);background:#fff;border-radius:12px;color:#425b6c;padding:12px 15px}
.statusbar.good.hx-alert{border-left-color:var(--hx-ok);background:#f0f7f3;color:#2f6b58}.statusbar.error.hx-alert{border-left-color:var(--hx-danger);background:#fdf1ef;color:#964139}
.numbers{border:1px solid var(--hx-line);border-radius:11px;overflow:hidden}.numbers b{color:var(--hx-navy)}.numbers span{color:var(--hx-muted)}
.tablewrap{border-radius:0 0 14px 14px}.hx-table{width:100%;border:0;border-radius:0;font-size:13px}.hx-table th{background:#f6f9fa;color:#617486;padding:11px 13px;border-bottom:1px solid var(--hx-line)}.hx-table td{padding:11px 13px;border-bottom:1px solid #edf2f3}.hx-table tbody tr:hover td{background:#fbfdfd}
.tag.hx-badge{border-radius:999px;padding:3px 9px;font-size:11px;font-weight:700}.tag.new.hx-badge{background:#f7e6e3;color:var(--hx-danger)}.tag.done.hx-badge{background:#e8f3ee;color:var(--hx-ok)}.tag.wait.hx-badge{background:#fbf0db;color:#8d671d}
.field input,.field select,.field textarea,.search{border:1px solid var(--hx-line);border-radius:10px;background:#fff;padding:9px 11px;color:var(--hx-ink)}
.field label{color:#395367}.field input:focus,.field select:focus,.field textarea:focus,.search:focus{outline:3px solid rgba(111,159,151,.25);border-color:var(--hx-teal)}
.kpis{gap:12px;border:0;background:transparent}.kpis div{border:1px solid var(--hx-line);border-radius:14px;box-shadow:0 4px 18px rgba(23,54,77,.04)}.kpis b{color:var(--hx-navy)}
.route{background:#edf4f2;border:1px solid var(--hx-line);border-radius:12px}.route .current{color:var(--hx-navy)}
.detail{background:#f8fbfa}.event-line:before{background:var(--hx-teal)}.toast{background:var(--hx-navy);border-radius:12px}.toast.error{background:var(--hx-danger)}
.rail button:focus-visible,.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(111,159,151,.4);outline-offset:2px}
@media(max-width:780px){.app.hx-shell{grid-template-columns:1fr}.rail.hx-sidebar{position:relative;height:auto;padding:12px;border-right:0;border-bottom:1px solid var(--hx-line)}.brand{padding-bottom:10px;margin-bottom:8px}.top.hx-topbar{position:relative;height:auto;min-height:58px;padding:10px 16px}.content.hx-page{padding:16px 13px 50px}.page-title{padding:19px}}
@media(max-width:520px){.workflow{grid-template-columns:1fr}.top .top-actions{flex-wrap:wrap;justify-content:flex-end}.page-title h1{font-size:24px}}
@media print{.rail,.top,.top-actions,.btn{display:none!important}.app.hx-shell{display:block}.content.hx-page{padding:0}.panel.hx-card,.page-title{box-shadow:none}}

[hidden]{display:none!important}
