#barcode-view{max-width:1120px;margin-inline:auto}
.barcode-phase-note{margin:0 0 16px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--theme-soft-card,#fbf8f0);color:var(--muted)}
.barcode-printer-note{display:grid;gap:3px;margin:0 0 16px;padding:12px 14px;border:2px solid var(--accent);border-radius:14px;background:var(--theme-soft,#eef8f4)}
.barcode-printer-note strong{color:var(--heading)}.barcode-printer-note span{font-weight:700}.barcode-printer-note small{color:var(--muted)}
.barcode-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:18px;align-items:start}
.barcode-scan-panel,.barcode-test-panel{padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}
.barcode-scan-panel h3,.barcode-test-panel h3{margin:0 0 6px;color:var(--heading)}
.barcode-scan-panel>p,.barcode-test-heading p{margin:0;color:var(--muted)}
.barcode-scan-form{display:grid;grid-template-columns:1fr auto;gap:8px;margin:14px 0 10px}
.barcode-scan-form label{grid-column:1/-1}
.barcode-scan-form input{font-size:1.15rem;font-weight:700;letter-spacing:.04em}
.barcode-scan-tools{display:flex;justify-content:flex-end;margin-bottom:12px}
.barcode-result-empty,.barcode-empty{padding:24px;text-align:center;border:1px dashed var(--line);border-radius:14px;color:var(--muted)}
.barcode-result-empty.is-error{border-color:#d97575;background:#fff1f1;color:#9c2d2d}
.barcode-result-card{display:grid;gap:14px;padding:16px;border:2px solid var(--accent);border-radius:16px;background:var(--theme-soft,#eef8f4)}
.barcode-result-copy span,.barcode-test-card span{color:var(--muted);font-size:.84rem}
.barcode-result-copy h3{margin:3px 0 6px;font-size:1.35rem}
.barcode-result-copy p{margin:0}.barcode-result-copy p strong{font-size:1.3rem;color:var(--heading)}
.barcode-result-image,.barcode-test-image{padding:9px;background:#fff;border-radius:9px}
.code128-barcode{display:block;width:100%;height:72px}
.barcode-result-actions,.barcode-test-actions,.barcode-test-buttons{display:flex;flex-wrap:wrap;gap:8px}
.barcode-test-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}
.barcode-test-heading strong{font-size:1.1rem;white-space:nowrap}
.barcode-test-list{display:grid;gap:10px}
.barcode-test-card{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(150px,1.2fr);gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:14px}
.barcode-test-card>div:first-child{display:grid;gap:2px}.barcode-test-card small{color:var(--muted)}
.barcode-test-card .barcode-test-actions{grid-column:1/-1;justify-content:flex-end}
.barcode-test-buttons{margin-top:12px;justify-content:flex-end}
.barcode-error{margin:0;color:#9c2d2d;text-align:center}
.barcode-csv-status{min-height:1.4em;margin:10px 0 0;color:var(--muted);font-weight:700;text-align:right}
@media(max-width:820px){.barcode-workspace{grid-template-columns:1fr}.barcode-test-panel{min-width:0}}
@media(max-width:520px){.barcode-scan-form{grid-template-columns:1fr}.barcode-test-card{grid-template-columns:1fr}.barcode-test-card .barcode-test-actions{grid-column:auto}.barcode-result-actions>button,.barcode-test-buttons>button{flex:1}.barcode-scan-tools button{width:100%}}
