/* Botões e controlos pequenos. */
.btn{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:8px 14px;font-weight:600;display:inline-flex;align-items:center;gap:8px;min-height:38px;white-space:nowrap}
.btn svg{width:18px;height:18px;flex:none}
.btn:hover{background:var(--surface2)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn.primary:hover{filter:brightness(1.08)}
.btn[disabled]{opacity:.5;cursor:default}
.btn.danger{color:var(--danger)}
.btn.sm{min-height:34px;padding:4px 10px}
.ib{border:1px solid var(--line);background:var(--surface);border-radius:8px;width:34px;height:34px;display:grid;place-items:center;font-weight:700}
.ib svg{width:18px;height:18px}
.ib:hover{background:var(--surface2)}
.ib[aria-pressed="true"]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.ib[disabled]{opacity:.4;cursor:default}
.swatch{width:26px;height:26px;border-radius:50%;border:2px solid var(--line);padding:0}
.swatch[aria-pressed="true"]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}
.inkrow{display:flex;align-items:center;gap:6px}
.inkpick{width:30px;height:30px;padding:0;border:2px solid var(--line);border-radius:50%;background:none;cursor:pointer;overflow:hidden}
.actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;align-items:center}
