/* Shirtschleuder – Interface-Klassen. Setzt tokens.css voraus. */
.ss-btn{font-family:var(--font-label);font-weight:500;font-size:13px;line-height:20px;letter-spacing:.08em;text-transform:uppercase;padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);border:2px solid transparent;cursor:pointer;transition:none;display:inline-flex;align-items:center;gap:var(--space-2);text-decoration:none}
.ss-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.ss-btn--accent{background:var(--accent);color:var(--on-accent)}
.ss-btn--accent:hover{background:var(--orange-tief);color:var(--weiss)}
.ss-btn--primary{background:var(--petrol);color:var(--on-brand);border-color:var(--petrol)}
[data-theme="dark"] .ss-btn--primary{background:var(--weiss);color:var(--petrol-tief);border-color:var(--weiss)}
.ss-btn--primary:hover{background:var(--petrol-tief);border-color:var(--petrol-tief)}
.ss-btn--ghost{background:none;color:var(--text-strong);border-color:var(--text-strong)}
.ss-btn--ghost:hover{background:var(--surface)}
.ss-btn--onbrand{background:none;color:var(--on-brand);border-color:var(--on-brand)}
.ss-btn--onbrand:focus-visible,.ss-btn--accent.ss-btn--onbrand-ctx:focus-visible{outline-color:var(--weiss)}
.ss-btn:disabled{background:var(--surface);color:var(--text-muted);border-color:var(--border);cursor:not-allowed}
.ss-field{display:flex;flex-direction:column;gap:var(--space-2);font-family:var(--font-sans)}
.ss-field__label{font-family:var(--font-label);font-weight:500;font-size:11px;line-height:16px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-strong)}
.ss-field__input{font:400 16px/24px var(--font-sans);color:var(--text);background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4)}
.ss-field__input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.ss-field__hint{font-size:14px;line-height:22px;color:var(--text-muted)}
.ss-field--error .ss-field__input{border-color:var(--danger);border-width:2px}
.ss-field--error .ss-field__hint{color:var(--danger)}
.ss-badge{font-family:var(--font-label);font-weight:500;font-size:11px;line-height:16px;letter-spacing:.1em;text-transform:uppercase;padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--surface);color:var(--text-strong);box-shadow:inset 0 0 0 1px var(--border-strong);display:inline-flex;gap:var(--space-1)}
.ss-badge--accent{background:var(--accent);color:var(--on-accent);box-shadow:none}
.ss-badge--success{background:none;color:var(--success);box-shadow:inset 0 0 0 1px var(--success)}
.ss-badge--danger{background:none;color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger)}
