/* =========================================================
   印尼港口堆存费计算器 · 页面专属样式（增量，不改 tools.css）
   ========================================================= */

/* ---------- 口径提示 ---------- */
.st-hint{margin-top:22px;}
.st-kv{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;
  background:var(--line);border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;
}
.st-kv > div{background:rgba(11,22,34,.7);padding:12px 15px;display:flex;flex-direction:column;gap:5px;}
.st-kv .k{font-size:11.6px;color:var(--txt-3);letter-spacing:.2px;}
.st-kv b{font-size:13.4px;font-weight:600;color:var(--txt);line-height:1.6;}
.warn-inline{
  margin-top:10px;font-size:12.6px;line-height:1.7;padding:9px 13px;border-radius:8px;
  color:var(--gold-lt);background:rgba(232,163,61,.10);border:1px solid rgba(232,163,61,.28);
}

/* ---------- 结果汇总 ---------- */
.st-sum{margin-top:22px;}
.st-sum .v.gold{font-size:19px;}

.st-fx{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  margin-top:12px;font-size:13.4px;color:#BFE0F5;font-family:var(--mono);letter-spacing:.3px;
}
.st-fx i{font-style:normal;font-family:var(--font);font-size:12.2px;color:var(--txt-3);letter-spacing:0;}

/* ---------- 明细表 ---------- */
.st-tbl{margin-top:10px;}
.st-tbl tfoot td{
  padding:12px;border-top:1.5px solid rgba(232,163,61,.4);border-bottom:0;
  font-weight:800;color:var(--gold);font-size:15px;background:rgba(232,163,61,.07);
}
.st-tbl tfoot td.num{text-align:right;font-family:var(--mono);}
.st-tbl td b{color:var(--txt);}

.st-line{
  margin-top:12px;font-size:12.6px;color:var(--txt-3);line-height:1.8;
  padding-top:10px;border-top:1px dashed var(--line);
}

/* ---------- 箱号校验 ---------- */
.st-box{
  margin-top:12px;font-size:13px;line-height:1.7;padding:10px 14px;border-radius:8px;
  font-family:var(--mono);letter-spacing:.4px;
}
.st-box.ok{color:#8FE0B4;background:rgba(30,160,100,.12);border:1px solid rgba(30,160,100,.38);}
.st-box.bad{color:#F4A79B;background:rgba(220,80,60,.12);border:1px solid rgba(220,80,60,.38);}

/* ---------- 批量合计 ---------- */
.st-batch{
  margin-top:14px;padding:15px 18px;border-radius:var(--r-sm);
  background:rgba(61,155,233,.08);border:1px solid rgba(61,155,233,.28);
  display:flex;flex-direction:column;gap:6px;
}
.st-batch > b{font-size:12.2px;color:var(--txt-3);letter-spacing:.3px;font-weight:700;}
.st-batch > span{font-size:15px;color:#CFE3F2;font-family:var(--mono);letter-spacing:.4px;}
.st-batch > span b{color:var(--gold);font-size:17px;}
.st-batch > i{font-style:normal;font-size:12.2px;color:var(--txt-3);line-height:1.7;}

/* ---------- 表单：箱号输入用全宽 + 等宽字 ---------- */
#stBox{
  font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;
  resize:vertical;min-height:58px;line-height:1.6;
}

/* ---------- 实时查询 ---------- */
.st-live{
  margin-top:4px;padding:16px 18px;border-radius:var(--r-sm);
  background:linear-gradient(180deg,rgba(61,155,233,.11),rgba(61,155,233,.03));
  border:1px solid rgba(61,155,233,.30);
}
.st-live-h{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:12px;}
.st-live-dot{
  width:8px;height:8px;border-radius:50%;background:#3DD68C;flex:none;
  box-shadow:0 0 0 4px rgba(61,214,140,.16);
}
.st-live-h b{font-size:14.4px;color:var(--txt);font-weight:700;letter-spacing:.2px;}
.st-live-h i{font-style:normal;font-size:12.4px;color:var(--txt-3);}

.st-live-row{display:flex;gap:10px;flex-wrap:wrap;}
.st-live-row input{
  flex:1 1 260px;min-width:0;padding:12px 14px;border-radius:8px;
  background:rgba(6,14,22,.72);border:1px solid var(--line);color:var(--txt);
  font-family:var(--mono);font-size:14px;letter-spacing:.12em;text-transform:uppercase;
}
.st-live-row input::placeholder{color:var(--txt-3);letter-spacing:.04em;}
.st-live-row input:focus{outline:none;border-color:rgba(61,155,233,.55);}
.st-live-row button{
  flex:0 0 auto;padding:12px 22px;border-radius:8px;cursor:pointer;
  border:1px solid rgba(232,163,61,.5);background:rgba(232,163,61,.14);
  color:var(--gold);font-weight:800;font-size:14px;transition:.18s;
}
.st-live-row button:hover:not(:disabled){background:rgba(232,163,61,.24);}
.st-live-row button:disabled{opacity:.5;cursor:progress;}

.st-live-out:empty{display:none;}
.st-live-msg{
  margin-top:12px;padding:12px 15px;border-radius:8px;font-size:13px;line-height:1.75;
  display:flex;flex-direction:column;gap:4px;
}
.st-live-msg b{font-size:14px;color:var(--txt);}
.st-live-msg span{font-family:var(--mono);font-size:12.4px;color:#BFE0F5;letter-spacing:.3px;}
.st-live-msg i{font-style:normal;font-size:12.2px;color:var(--txt-3);}
.st-live-msg.ok{background:rgba(30,160,100,.12);border:1px solid rgba(30,160,100,.38);}
.st-live-msg.bad{color:#F4A79B;background:rgba(220,80,60,.10);border:1px solid rgba(220,80,60,.34);}
.st-live-msg.warn{color:var(--gold-lt);background:rgba(232,163,61,.10);border:1px solid rgba(232,163,61,.30);}
.st-live-msg.load{color:var(--txt-3);background:rgba(61,155,233,.08);border:1px solid rgba(61,155,233,.24);}

@media (max-width:640px){
  .st-sum .v.gold{font-size:17px;}
  .st-fx{gap:10px;}
}
