/* 模型預算工具沿用站內字體與色彩；只有實際工具頁下載。 */
.vt-model-budget [hidden] { display:none !important; }
.vt-model-budget fieldset { min-width:0; padding:0; margin:1.5rem 0; border:0; }
.vt-model-budget legend { padding:0; font-weight:700; }
.vt-model-budget-fields { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr)); gap:1rem 1.5rem; margin:1rem 0; }
.vt-model-budget-fields label { display:grid; align-content:start; gap:.5rem; min-width:0; font-weight:600; }
.vt-model-budget-fields input,.vt-model-budget-fields select { box-sizing:border-box; width:100%; min-width:0; padding:.75rem .85rem; border:1px solid currentColor; border-radius:.3rem; color:inherit; background:transparent; font:inherit; }
.vt-model-budget-fields input:focus-visible,.vt-model-budget-fields select:focus-visible,.vt-model-budget-actions button:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
.vt-model-budget-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin:1rem 0; }
.vt-model-budget-actions button { padding:.75rem 1rem; border:1px solid currentColor; border-radius:.3rem; color:inherit; background:transparent; font:inherit; cursor:pointer; }
.vt-model-budget-actions button[type=submit] { font-weight:700; border-width:2px; }
.vt-model-budget [data-budget-status] { min-height:1.5em; }
.vt-model-budget-result { margin:1rem 0; }
.vt-model-budget-result > div { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:.5rem 1.5rem; padding:.85rem 0; border-top:1px solid currentColor; }
.vt-model-budget-result dt { font-weight:600; }
.vt-model-budget-result dd { margin:0; text-align:end; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.vt-model-budget-result > div:last-child { font-size:1.15em; font-weight:700; }
@media(max-width:480px) { .vt-model-budget-result > div { grid-template-columns:1fr; } .vt-model-budget-result dd { text-align:start; } }
