.zb-stack{display:flex;flex-direction:column;align-items:flex-start;gap:14px;width:100%;min-width:0;max-width:100%}
.zb-row{display:flex;flex-wrap:wrap;align-items:center;align-content:flex-start;gap:12px;width:100%;min-width:0;max-width:100%}
.zb-row>.zb-button{flex:0 0 auto;position:relative;max-width:100%;white-space:nowrap}
.zb-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:42px;padding:10px 15px;border-radius:9px;border:1px solid transparent;font:inherit;font-size:13px;font-weight:700;line-height:1.3;cursor:pointer;box-sizing:border-box;transition:background-color .15s,border-color .15s}
.zb-button--primary{background:var(--mint);color:var(--mint-ink)}
.zb-button--primary:hover:not(:disabled){background:var(--mint-bold)}
.zb-button--secondary{background:var(--surface-alt);color:var(--ink);border-color:var(--line)}
.zb-button--secondary:hover:not(:disabled){border-color:var(--muted)}
.zb-button--outline{background:transparent;color:var(--ink);border-color:var(--line)}
.zb-button--outline:hover:not(:disabled){background:var(--surface)}
.zb-button:disabled{opacity:.48;cursor:not-allowed}
.zb-button:focus-visible{outline:2px solid #68c6ff;outline-offset:3px}
.zb-caption{margin:0;color:var(--muted);font-size:12px;line-height:1.5;overflow-wrap:anywhere}
