.tabs { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0; }
.tabs button { border:1px solid var(--line,#ccc); background:#fff; padding:8px 12px; border-radius:8px; cursor:pointer; }
.tabs button[aria-pressed="true"] { border-color:#0f5b3a; background:#e8f5ef; }
.step-list { list-style:none; padding:0; margin:12px 0; }
.step-list li { display:flex; flex-wrap:wrap; gap:8px; align-items:center; padding:10px; border:1px solid var(--line,#ddd); margin-bottom:8px; border-radius:8px; }
.builder-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.metric-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr)); gap:12px; margin:12px 0; min-width:0; max-width:100%; }
.metric { padding:12px; border:1px solid var(--line,#ddd); border-radius:8px; min-width:0; overflow-wrap:anywhere; }
.layout, .main, .card { min-width:0; max-width:100%; }
.metric strong { display:block; font-size:1.25rem; }
@media (max-width:420px) {
  .layout { display:block; }
  .side { width:100%; max-width:100%; flex-wrap:wrap; overflow-x:hidden; }
  .side .nav { white-space:normal; }
  .tabs, .tabs button { max-width:100%; }
  .step-list li { flex-direction:column; align-items:stretch; }
}
