/* ---------------- 布局 ---------------- */
.stage.inv{grid-template-columns:300px minmax(0,1fr)}

/* 订单列表 */
.samples{
  display:flex;flex-direction:column;
  background:var(--mock-bg);border:1px solid var(--mock-line);
  box-shadow:0 30px 70px -55px rgba(20,17,15,.5);
}
.samples-top{padding:.9rem 1rem .7rem;border-bottom:1px solid var(--mock-line)}
.samples-top h2{
  font-family:var(--serif);font-weight:400;font-size:1.0625rem;letter-spacing:-.01em;
}
.samples-top p{margin-top:.15rem;font-size:.6875rem;color:var(--ink-faint)}
.sample-list{display:flex;flex-direction:column}
.sample-list li{display:block}
.sample{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:"kind status" "main status" "no status";
  gap:.1rem .5rem;align-items:center;
  width:100%;padding:.6rem .9rem;text-align:left;cursor:pointer;
  border-bottom:1px solid color-mix(in srgb,var(--mock-line) 70%,transparent);
  transition:background .18s var(--ease);
}
.sample-list li:last-child .sample{border-bottom:0}
.sample:hover{background:color-mix(in srgb,var(--ink) 3%,transparent)}
.sample:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.sample.is-on{background:#fff;box-shadow:inset 3px 0 0 var(--accent)}
.sample-kind{
  grid-area:kind;font-size:.5625rem;letter-spacing:.04em;color:var(--ink-faint);
  font-variant-numeric:tabular-nums;
}
.sample-main{
  grid-area:main;font-size:.75rem;font-weight:500;line-height:1.45;color:var(--ink);
}
.sample-no{
  grid-area:no;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.5625rem;letter-spacing:.02em;color:var(--ink-faint);
  font-variant-numeric:tabular-nums;
}
.sample-status{
  grid-area:status;flex:none;align-self:center;white-space:nowrap;
  font-size:.5625rem;letter-spacing:.04em;
  padding:.1rem .35rem;border:1px solid var(--mock-line);color:var(--ink-faint);
  transition:color .18s var(--ease),border-color .18s var(--ease),background .18s var(--ease);
}
.sample-status[data-k="running"]{color:var(--accent-deep);border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 8%,transparent)}
.sample-status[data-k="ready"]{color:#2F6B41;border-color:#BFD8C5;background:#EEF6F0}
.sample-status[data-k="review"]{color:#7A5B12;border-color:#E4D3A8;background:#FCF6E6}
.sample-status[data-k="human"]{color:var(--accent-deep);border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 7%,transparent)}
.sample-status[data-k="done"]{color:#2B5445;border-color:#BFD8C5;background:#EDF4F0}

.samples-foot{
  margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:.6rem;
  padding:.55rem .9rem;border-top:1px solid var(--mock-line);
  background:#FBF7EE;font-size:.625rem;color:var(--ink-faint);
}
.run-link{
  font-size:.625rem;letter-spacing:.04em;color:var(--accent-deep);
  border-bottom:1px solid color-mix(in srgb,var(--accent) 40%,transparent);
  padding-bottom:.05rem;flex:none;
  transition:color .2s var(--ease),border-color .2s var(--ease);
}
.run-link:hover{color:var(--accent);border-color:var(--accent)}

/* ---------------- 控制台 ---------------- */
.console{
  background:var(--mock-bg);border:1px solid var(--mock-line);
  box-shadow:0 30px 70px -52px rgba(20,17,15,.55);
  display:flex;flex-direction:column;min-width:0;
}
.console-top{
  display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;
  padding:.85rem 1rem;border-bottom:1px solid var(--mock-line);background:#FBF7EE;
}
.console-heading{min-width:0}
.console-id{
  display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.625rem;letter-spacing:.05em;color:var(--ink-faint);
  font-variant-numeric:tabular-nums;
}
.inv-state{
  font-family:var(--sans);font-size:.5625rem;letter-spacing:.04em;
  padding:.05rem .3rem;border:1px solid var(--mock-line);color:var(--ink-faint);
}
.inv-state[data-k="running"]{color:var(--accent-deep);border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 8%,transparent)}
.inv-state[data-k="ready"]{color:#2F6B41;border-color:#BFD8C5;background:#EEF6F0}
.inv-state[data-k="review"]{color:#7A5B12;border-color:#E4D3A8;background:#FCF6E6}
.inv-state[data-k="human"]{color:var(--accent-deep);border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 7%,transparent)}
.inv-state[data-k="done"]{color:#2F6B41;border-color:#BFD8C5;background:#EEF6F0}
.console-title{margin-top:.3rem;font-size:1.0625rem;font-weight:700;line-height:1.4}
.console-sub{margin-top:.15rem;font-size:.6875rem;color:var(--ink-faint)}
.engine{
  flex:none;display:inline-flex;align-items:center;gap:.4rem;
  font-size:.5625rem;letter-spacing:.04em;color:var(--ink-faint);
  border:1px solid var(--mock-line);padding:.15rem .45rem;background:#fff;
}
.engine i{width:6px;height:6px;border-radius:50%;background:#4C8C63}
.engine b{font-weight:500;color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.console-body{padding:.85rem 1rem;display:flex;flex-direction:column;gap:.85rem;min-width:0}

.inv-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:.9rem;align-items:start;min-width:0}

/* ---------------- 开票信息 ---------------- */
.form-panel{
  background:#fff;border:1px solid var(--mock-line);
  padding:.9rem 1rem;min-width:0;
}
.panel-head{
  display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;
  padding-bottom:.45rem;border-bottom:1px solid var(--mock-line);
}
.panel-head h2{
  font-family:var(--serif);font-weight:400;font-size:1rem;letter-spacing:-.01em;
}
.form-flag{
  flex:none;font-size:.5625rem;letter-spacing:.04em;
  padding:.05rem .3rem;border:1px solid var(--mock-line);color:var(--ink-faint);
}
.form-flag[data-k="running"]{color:var(--accent-deep);border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 8%,transparent)}
.form-flag[data-k="review"]{color:#7A5B12;border-color:#E4D3A8;background:#FCF6E6}
.form-flag[data-k="human"]{color:var(--accent-deep);border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 7%,transparent)}
.form-flag[data-k="done"]{color:#2F6B41;border-color:#BFD8C5;background:#EEF6F0}

.order-strip{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem .8rem;
  padding:.6rem 0;margin-bottom:.15rem;
  border-bottom:1px solid color-mix(in srgb,var(--mock-line) 70%,transparent);
}
.order-strip span{
  display:block;font-size:.5625rem;letter-spacing:.06em;color:var(--ink-faint);
}
.order-strip b{
  display:block;margin-top:.1rem;font-size:.6875rem;font-weight:500;line-height:1.45;
  color:var(--ink);overflow-wrap:anywhere;font-variant-numeric:tabular-nums;
}

.form-row{
  display:grid;grid-template-columns:6.2rem minmax(0,1fr);gap:.6rem;align-items:center;
  padding:.4rem 0;border-bottom:1px solid color-mix(in srgb,var(--mock-line) 65%,transparent);
}
.form-row:nth-last-of-type(1){border-bottom:0}
.form-label{font-size:.625rem;color:var(--ink-faint)}
.form-input{
  width:100%;min-width:0;font:inherit;font-size:.6875rem;line-height:1.5;
  padding:.3rem .45rem;border:1px solid var(--mock-line);background:#FFFDF8;
  color:var(--ink);font-variant-numeric:tabular-nums;
  transition:border-color .18s var(--ease),background .18s var(--ease);
}
.form-input:hover{border-color:color-mix(in srgb,var(--ink) 28%,var(--mock-line))}
.form-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.form-input:disabled{background:#F4EFE4;color:var(--ink-faint);cursor:not-allowed}
.form-note{margin-top:.6rem;font-size:.5625rem;line-height:1.6;color:var(--ink-faint)}

.seg{display:inline-flex;width:max-content;border:1px solid var(--mock-line);background:#fff}
.seg button{
  font-size:.625rem;padding:.25rem .6rem;color:var(--ink-soft);
  border-right:1px solid var(--mock-line);cursor:pointer;
  transition:background .18s var(--ease),color .18s var(--ease);
}
.seg button:last-child{border-right:0}
.seg button:hover{background:color-mix(in srgb,var(--ink) 4%,transparent)}
.seg button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.seg button:disabled{opacity:.45;cursor:not-allowed}
.seg button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}

/* ---------------- 侧栏 ---------------- */
.side{display:flex;flex-direction:column;gap:.8rem;min-width:0}
.profile{
  border:1px solid var(--mock-line);background:#FCF9F2;padding:.7rem .8rem;
}
.profile h3{font-size:.625rem;font-weight:500;letter-spacing:.1em;color:var(--accent-deep)}
.profile dl{margin-top:.45rem}
.profile dl div{
  display:flex;justify-content:space-between;gap:.6rem;padding:.22rem 0;
  border-bottom:1px dashed color-mix(in srgb,var(--mock-line) 80%,transparent);
  font-size:.625rem;
}
.profile dl div:last-child{border-bottom:0}
.profile dt{color:var(--ink-faint);flex:none}
.profile dd{color:var(--ink-soft);text-align:right;overflow-wrap:anywhere}
.original{margin-top:.55rem;padding-top:.5rem;border-top:1px solid var(--mock-line)}
.original-head{
  font-size:.5625rem;letter-spacing:.1em;color:var(--ink-faint);margin-bottom:.2rem;
}
.original p{
  display:grid;grid-template-columns:4.4rem minmax(0,1fr);gap:.4rem;
  font-size:.5625rem;line-height:1.55;padding:.12rem 0;
}
.original p span{color:var(--ink-faint)}
.original p b{
  font-weight:500;color:var(--ink-soft);overflow-wrap:anywhere;
  font-variant-numeric:tabular-nums;
}

.result{
  border:1px solid var(--mock-line);background:#fff;padding:.7rem .8rem;
  min-height:9.2rem;display:flex;flex-direction:column;
}
.result[data-k="empty"]{background:#FCF9F2;border-style:dashed}
.result-eyebrow{font-size:.5625rem;letter-spacing:.12em;color:var(--ink-faint)}
.result[data-k="done"] .result-eyebrow{color:#2F6B41}
.result[data-k="review"] .result-eyebrow{color:#7A5B12}
.result[data-k="human"] .result-eyebrow{color:var(--accent-deep)}
.result h3{
  margin-top:.25rem;font-family:var(--serif);font-weight:400;font-size:1rem;line-height:1.4;
}
.result dl{margin-top:.45rem}
.result dl div{
  display:grid;grid-template-columns:4.6rem minmax(0,1fr);gap:.4rem;
  padding:.2rem 0;border-bottom:1px dashed color-mix(in srgb,var(--mock-line) 80%,transparent);
  font-size:.625rem;
}
.result dl div:last-child{border-bottom:0}
.result dt{color:var(--ink-faint)}
.result dd{color:var(--ink);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.result-note{margin-top:.5rem;font-size:.5625rem;line-height:1.6;color:var(--ink-faint)}
.result-btn{margin-top:.6rem;align-self:flex-start;font-size:.625rem;padding:.35rem .7rem}

/* ---------------- 预检 ---------------- */
.checks{border-top:1px solid var(--mock-line);padding-top:.6rem}
.checks h3{
  display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;
  font-size:.625rem;font-weight:500;letter-spacing:.1em;color:var(--ink-faint);
}
.checks h3 span{font-weight:400;letter-spacing:.02em;color:var(--ink-faint);font-variant-numeric:tabular-nums}
.checks ul{display:grid;grid-template-columns:1fr 1fr;gap:.4rem .9rem;margin-top:.45rem}
.checks li{
  display:grid;grid-template-columns:1rem minmax(0,1fr);gap:.4rem;
  font-size:.625rem;line-height:1.55;color:var(--ink-soft);
}
.c-ico{
  display:inline-grid;place-items:center;width:1rem;height:1rem;border-radius:50%;
  font-size:.5625rem;line-height:1;border:1px solid var(--mock-line);color:var(--ink-faint);
}
.checks li[data-k="pass"] .c-ico{color:#2F6B41;border-color:#BFD8C5;background:#EEF6F0}
.checks li[data-k="warn"] .c-ico{color:#7A5B12;border-color:#E4D3A8;background:#FCF6E6}
.checks li[data-k="fail"] .c-ico{color:var(--accent-deep);border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:#FFF3EC}
.c-name{font-weight:500;color:var(--ink)}
.c-detail{display:block;color:var(--ink-faint);font-size:.5625rem;line-height:1.55;overflow-wrap:anywhere}

/* ---------------- 操作栏 ---------------- */
.inv-runbar{
  display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;
  padding-top:.8rem;border-top:1px solid var(--mock-line);
}
.inv-runbar .btn{flex:none}
.btn[aria-disabled="true"]{opacity:.4;cursor:not-allowed;transform:none}
.btn-accent.is-busy{background:var(--ink)}
.run-hint{font-size:.625rem;line-height:1.6;color:var(--ink-faint);flex:1 1 12rem;min-width:0}
.run-hint[data-k="fail"]{color:var(--accent-deep)}
.run-hint[data-k="ok"]{color:#2F6B41}

/* ---------------- 处理记录 ---------------- */
.history{
  border:1px solid var(--mock-line);background:#FCF9F2;padding:.7rem .8rem;
}
.history h3{
  display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;
  font-size:.6875rem;font-weight:500;letter-spacing:.1em;color:var(--accent-deep);
}
.history h3 span{font-weight:400;letter-spacing:.04em;color:var(--ink-faint)}
.history ul{margin-top:.4rem}
.history li{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.1rem .6rem;
  align-items:baseline;padding:.35rem 0;
  border-bottom:1px dashed color-mix(in srgb,var(--mock-line) 80%,transparent);
  font-size:.625rem;
  animation:historyIn .3s var(--ease) both;
}
.history li:last-child{border-bottom:0}
@keyframes historyIn{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
.h-no{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.5625rem;
  color:var(--ink-soft);letter-spacing:.02em;overflow-wrap:anywhere;
}
.h-tag{
  flex:none;white-space:nowrap;font-size:.5625rem;letter-spacing:.02em;
  padding:.02rem .3rem;border:1px solid var(--mock-line);color:var(--ink-faint);
}
.h-tag[data-k="done"]{color:#2F6B41;border-color:#BFD8C5;background:#EEF6F0}
.h-tag[data-k="review"]{color:#7A5B12;border-color:#E4D3A8;background:#FCF6E6}
.h-tag[data-k="human"]{color:var(--accent-deep);border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:#FFF3EC}
.h-meta{grid-column:1 / -1;font-size:.5625rem;color:var(--ink-faint);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}

/* 页脚 */
.console-foot{
  margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.55rem 1rem;border-top:1px solid var(--mock-line);
  background:#FBF7EE;font-size:.625rem;color:var(--ink-faint);
}
.inv-status{color:var(--ink-soft);font-variant-numeric:tabular-nums;transition:color .2s var(--ease)}
.inv-status.is-run{color:var(--accent-deep)}
.inv-status.is-done{color:#2F6B41}

/* ---------------- 响应式 ---------------- */
@media (max-width:1180px){
  .inv-grid{grid-template-columns:minmax(0,1fr)}
  .side{display:grid;grid-template-columns:1fr 1fr;align-items:start}
}
@media (max-width:1120px){
  .stage.inv{grid-template-columns:280px minmax(0,1fr)}
}
@media (max-width:900px){
  .stage.inv{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:820px){
  .side{grid-template-columns:1fr}
}
@media (max-width:720px){
  .order-strip{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .console-top{flex-direction:column;gap:.55rem}
  .engine{align-self:flex-start}
  .console-title{font-size:1rem}
  .console-body{padding:.7rem .8rem}
  .form-panel{padding:.8rem}
  .order-strip{grid-template-columns:1fr 1fr;gap:.5rem}
  .form-row{grid-template-columns:1fr;gap:.25rem}
  .seg{width:100%}
  .seg button{flex:1 1 50%;text-align:center}
  .checks ul{grid-template-columns:1fr}
  .inv-runbar{gap:.5rem}
  .inv-runbar .btn{flex:1 1 8rem}
  .inv-runbar .run-hint{flex-basis:100%}
  .console-foot{flex-direction:column;align-items:flex-start;gap:.2rem}
}
