/* ── UTILITY ── */
.hide{display:none!important}


/* ═══════════════════════════════════════════════
   SHARED BUTTONS (spec §3.1)
   Primary:   bg accent, white text, radius-sm
   Secondary: bg s3, tx text, radius-sm
   Ghost:     transparent, t2 text, radius-sm
═══════════════════════════════════════════════ */
.btn{
  padding:8px 16px;border-radius:var(--radius-sm);
  font-size:13px;font-weight:var(--weight-medium);
  border:none;transition:var(--transition-base);display:inline-flex;align-items:center;gap:6px;
}
.btn:hover{opacity:.88}
/* Primary (was .btn.amber) → uses --accent per spec */
.btn.amber{background:var(--accent);color:#fff}
.btn.amber:hover{background:var(--accent-hover);opacity:1}
/* Secondary */
.btn.secondary{background:var(--s3);color:var(--tx);border:1px solid var(--b1)}
.btn.secondary:hover{background:var(--s4);opacity:1}
/* Ghost */
.btn.ghost{background:transparent;border:1px solid var(--b1);color:var(--t2)}
.btn.ghost:hover{background:var(--s3);color:var(--tx);opacity:1}
/* Danger */
.btn.danger{background:var(--error-bg);color:var(--error);border:none}
.btn.danger:hover{opacity:.8}
.btn.sm{padding:5px 12px;font-size:var(--text-sm)}
.btn.lg{padding:10px 24px;font-size:var(--text-base)}
.btn:disabled{opacity:.35;pointer-events:none}
.btn-inline{
  display:inline-flex;align-items:center;gap:5px;padding:6px 14px;
  background:var(--s3);border:1px solid var(--b1);border-radius:var(--radius-sm);
  color:var(--t2);font-size:12px;font-weight:500;transition:var(--transition-base);
}
.btn-inline:hover{border-color:var(--b2);color:var(--tx)}
.btn-inline.amber{background:var(--accent);color:#fff;border-color:transparent}
.btn-inline.amber:hover{background:var(--accent-hover);opacity:1}


/* ── TOAST (glass effect — spec §3.6) ── */
#toast{
  position:fixed;bottom:24px;right:24px;
  background:var(--glass-bg);
  backdrop-filter:var(--glass-blur);
  -webkit-backdrop-filter:var(--glass-blur);
  border:1px solid var(--glass-border);
  box-shadow:var(--shadow-glass);
  border-radius:var(--radius-md);
  padding:12px 20px;font-size:var(--text-sm);
  font-weight:var(--weight-medium);
  z-index:9999;display:none;
  animation:toastIn .3s ease;
}
#toast.ok{color:var(--success)}
#toast.err{color:var(--error)}

