.bb-input-panel,.bb-output-panel,.bb-equipment { margin-bottom:22px; }
[data-barbell-loader] [hidden] { display:none!important; }
.bb-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; align-items:end; }
.bb-field { min-width:0; }
.bb-field label { display:block; font-size:12px; font-weight:600; margin-bottom:7px; }
.bb-field input,.bb-field select { width:100%; max-width:100%; min-width:0; box-sizing:border-box; padding:10px 12px; font:inherit; border:1px solid var(--line-strong,#ddd); border-radius:7px; background:var(--paper,#fff); color:inherit; }
.bb-plates { display:grid; gap:12px; margin:18px 0; }
.bb-plate-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) 36px; gap:10px; align-items:end; border:1px solid var(--line,#ddd); border-radius:8px; padding:12px; }
.bb-plate-row button { height:42px; border:1px solid var(--line,#ddd); background:white; border-radius:6px; cursor:pointer; }
.bb-actions { display:flex; flex-wrap:wrap; gap:10px; margin:18px 0; }
.bb-actions button { max-width:100%; white-space:normal; }
.bb-mode { margin-top:22px; }
#bb-status,#bb-notice,#bb-warnings { font-size:13px; line-height:1.7; overflow-wrap:anywhere; }
.bb-plan { border-top:1px solid var(--line,#ddd); padding:18px 0; break-inside:avoid; }
.bb-plan h3 { margin:0 0 8px; font-size:17px; }
.bb-plan p { font-size:13px; line-height:1.7; overflow-wrap:anywhere; }
.bb-visual { display:flex; align-items:center; justify-content:center; gap:4px; background:#f1f6f3; padding:18px 10px; border-radius:8px; overflow-x:auto; max-width:100%; min-width:0; box-sizing:border-box; }
.bb-side { display:flex; gap:3px; flex-shrink:0; align-items:center; }
.bb-disc { border-radius:4px; background:var(--jade,#24745d); color:white; padding:18px 7px; font-size:11px; text-align:center; }
.bb-bar { min-width:68px; text-align:center; font-size:11px; border-block:3px solid #6b7280; padding:8px 4px; }
.bb-plan ol { font-size:13px; line-height:1.8; padding-left:22px; }
.bb-related { display:flex; flex-wrap:wrap; gap:16px; margin-top:24px; }
#bb-copy-output { width:100%; min-height:180px; box-sizing:border-box; }
[data-barbell-loader] input[aria-invalid=true] { border-color:#b91c1c; background:#fff7f7; }
[data-barbell-loader] :focus-visible { outline:2px solid var(--jade,#327b64); outline-offset:3px; }
@media(max-width:700px) { .bb-grid { grid-template-columns:minmax(0,1fr); } .bb-plate-row { grid-template-columns:repeat(2,minmax(0,1fr)); } .bb-plate-row button { width:100%; } .bb-disc { padding:14px 4px; font-size:10px; } }
@media print { .bb-input-panel,.bb-equipment,.bb-export,.tool-hero,.bb-related,.language-suggestion { display:none!important; } .bb-output-panel { display:block!important; } .bb-visual { overflow:visible; flex-wrap:wrap; } }
