.tool-workspace { display: grid; grid-template-columns: minmax(0, 860px) 300px; gap: 1.5rem; align-items: start; max-width: 1190px; margin: 0 auto; padding: 2rem 1.5rem 0; }
.tool-shell { min-width: 0; padding: clamp(1.2rem, 3vw, 2.25rem); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); box-shadow: var(--shadow-1); }
.tool-shell > h1 { max-width: 14ch; margin-bottom: .8rem; font-size: clamp(2.45rem, 5vw, 4.25rem); }
.tool-shell > .direct-answer { max-width: 68ch; color: var(--console-800); font-size: 1.05rem; }
.tool-panel { margin-top: 1.5rem; padding: clamp(1rem, 3vw, 1.6rem); border: 1px solid var(--line); border-radius: var(--radius); background: #fbfaf7; }
.tool-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.tool-field { margin-bottom: .9rem; }
.tool-field label { display: block; margin-bottom: .35rem; color: var(--text); font-size: .82rem; font-weight: 760; }
.tool-field input, .tool-field select, .tool-field textarea { width: 100%; min-height: 48px; padding: .7rem .8rem; border: 1px solid #aeb8b1; border-radius: var(--radius-sm); background: var(--surface); color: var(--text); }
.tool-field input:hover, .tool-field select:hover, .tool-field textarea:hover { border-color: var(--console-800); }
.tool-field input:focus-visible, .tool-field select:focus-visible, .tool-field textarea:focus-visible { border-color: var(--console-950); box-shadow: 0 0 0 3px var(--console-100); outline: 0; }
.tool-result { margin-top: 1rem; padding: 1rem; border: 1px solid #a9d0bb; border-left: 6px solid var(--success); border-radius: var(--radius-sm); background: var(--success-pale); }
.tool-error { min-height: 1.5rem; color: #a63208; font-weight: 750; }
.tool-panel fieldset { margin: 1rem 0; padding: 1rem; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); }
.tool-panel legend { padding: 0 .35rem; color: var(--console-950); font-weight: 800; }
.check-row { display: flex; gap: .65rem; align-items: center; min-height: var(--touch-target); font-size: .82rem; }
.check-row input { width: 1.25rem; height: 1.25rem; flex: 0 0 auto; }
.offer-entry-grid { display: grid; grid-template-columns: 1fr; gap: .75rem; }
.optional-offer { border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); }
.optional-offer summary { display: flex; align-items: center; min-height: 48px; padding: .7rem 1rem; color: var(--console-950); font-weight: 800; cursor: pointer; }
.optional-offer[open] summary { border-bottom: 1px solid var(--line); }
.optional-offer fieldset { margin: 0; border: 0; }
.table-scroll { max-width: 100%; overflow-x: auto; }
.table-scroll table { min-width: 620px; }
.table-scroll::before { display: block; margin-bottom: .55rem; color: var(--muted); content: "结果表格可横向滚动查看"; font-size: .72rem; }
.offer-result-summary { display: none; margin: .75rem 0 0; padding: 0; list-style: none; }
.offer-result-summary li { padding: .65rem 0; border-top: 1px solid var(--line); font-size: .8rem; }
.tool-result[data-status="stop"] { border-color: var(--stop); background: var(--stop-pale); }
.tool-side-column { position: sticky; top: 1.25rem; display: grid; gap: .85rem; }
.tool-result-region, .tool-help-rail { padding: 1rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.tool-result-region img { width: 28px; }
.tool-result-region h2, .tool-help-rail h2 { margin: .2rem 0 .65rem; font-size: 1.15rem; letter-spacing: -.01em; }
.tool-result-region p, .tool-help-rail p { color: var(--muted); font-size: .78rem; line-height: 1.55; }
.tool-help-rail { display: grid; }
.tool-help-rail a { display: flex; align-items: center; min-height: var(--touch-target); border-top: 1px solid var(--line); font-size: .8rem; font-weight: 800; text-decoration: none; }
.tool-help-rail h2 + a { border-top: 0; }
@media print { .site-header, .site-footer, .affiliate-strip, .tool-side-column, .tool-panel > :not(.print-record), .tool-shell > :not(.tool-panel) { display: none !important; } .tool-workspace { display: block; padding: 0; } .tool-shell, .tool-panel { border: 0; box-shadow: none; } }
@media (max-width: 1024px) {
  .tool-workspace { grid-template-columns: minmax(0, 1fr); max-width: 900px; }
  .tool-side-column { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .tool-workspace { padding: .75rem; }
  .tool-shell { padding: 1rem; border-radius: var(--radius); }
  .tool-shell > h1 { font-size: clamp(2.15rem, 10vw, 3.35rem); }
  .tool-grid { grid-template-columns: 1fr; }
  .tool-side-column { grid-template-columns: 1fr; }
  .tool-panel .button { width: 100%; }
  .offer-result-summary { display: block; }
}
