.army-builder-root{max-width:1100px;margin:0 auto;font-family:Arial, sans-serif}
.ab-header{border:1px solid #ddd;border-radius:10px;padding:14px;margin:12px 0;background:#fff}
.ab-toprow{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.ab-title{font-weight:700;font-size:18px}
.ab-actions{display:flex;gap:8px;align-items:center}
.ab-buttons{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.ab-btn{padding:8px 10px;border:1px solid #222;border-radius:8px;background:#f7f7f7;cursor:pointer}
.ab-btn:hover{background:#eee}
.ab-btn-secondary{border-color:#666}
.ab-counters{display:flex;flex-wrap:wrap;gap:14px;margin:10px 0 6px}
.ab-counter{padding:6px 10px;border:1px solid #e3e3e3;border-radius:999px;background:#fafafa}
.ab-counter-val{font-weight:700}
.ab-bad{border-color:#d00;background:#fff5f5}
.ab-errors{margin-top:10px}
.ab-errors-title{font-weight:700;color:#b00000;margin-bottom:6px}
.ab-errors-list{margin:0;padding-left:18px;color:#b00000}
.ab-list{display:flex;flex-direction:column;gap:10px;margin:12px 0}
.ab-card{border:1px solid #ddd;border-radius:10px;padding:12px;background:#fff}
.ab-card.ab-card-error{border:2px solid #d00;background:#fff5f5}
.ab-card-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.ab-card-name{font-weight:700}
.ab-link{background:transparent;border:none;color:#0b63ce;cursor:pointer;padding:6px 8px}
.ab-link:hover{text-decoration:underline}
.ab-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:10px}
@media (max-width:900px){.ab-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}}
@media (max-width:520px){.ab-grid{grid-template-columns:1fr}}
.ab-field{display:flex;flex-direction:column;gap:6px}
.ab-label{font-size:12px;color:#333}
.ab-select,.ab-input{padding:8px;border:1px solid #bbb;border-radius:8px}
.ab-fixed{padding:9px 10px;border:1px dashed #bbb;border-radius:8px;background:#fbfbfb;font-size:14px}
.ab-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:10px}
.ab-qty{max-width:180px}
.ab-total{min-width:200px;text-align:right}
.ab-unitpoints{font-weight:700}

.ab-checkboxes{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
/* Stack checkbox options without forcing other fields into a single-column layout */
.ab-check{display:flex;align-items:center;gap:8px;font-size:14px}
.ab-check input{margin:0}
.ab-check-text{user-select:none}
