/* Buttons. All variants consume tokens from /css/tokens.css. */

/* Admin button family (.button, .button-primary, .button-secondary, .button-danger,
 * .button-block, .button-logout, .button-sm). Renamed to .button-* in Stage 5. */
.button {
    display: inline-block;
    padding: 0.45rem 1rem;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.9rem;
    text-decoration: none;
    font-family: inherit;
    transition: background 0.15s, opacity 0.15s;
}
.button-primary  { background: var(--accent);   color: var(--surface-card); }
.button-primary:hover  { background: var(--accent-strong); }
.button-secondary { background: var(--accent-strong); color: var(--surface-card); }
.button-secondary:hover { opacity: 0.85; }
.button-danger   { background: var(--danger); color: var(--surface-card); }
.button-danger:hover { opacity: 0.85; }
.button-block {
    display: block;
    width: 100%;
    text-align: center;
    padding: .65rem;
    font-size: 1rem;
    border-radius: 6px;
    margin-bottom: .65rem;
}
.button-block:last-child { margin-bottom: 0; }
.button-logout {
    background: transparent;
    color: var(--surface-card);
    border: 1px solid rgba(255,255,255,0.55);
    padding: 0.3rem 0.8rem;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.85rem;
    transition: background 0.15s;
}
.button-logout:hover { background: rgba(255,255,255,0.15); }
.button-sm { padding: 0.25rem 0.6rem; font-size: 0.8rem; }

/* Link-styled button (used in admin tables for inline form actions) */
.link-button {
    background: none;
    border: none;
    padding: 0;
    color: var(--accent-strong);
    font-family: inherit;
    font-size: inherit;
    cursor: pointer;
    text-decoration: none;
}
.link-button:hover { color: var(--accent); text-decoration: underline; }

/* Therapist-shell pill button used to add a patient. */
.button-add-patient {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-weight: bold;
    font-size: var(--font-md);
    color: var(--text-on-accent);
    background-color: var(--accent);
    border: none;
    border-radius: 14px;
    width: var(--shell-button-add-width);
    height: var(--shell-button-add-height);
    min-height: var(--shell-button-add-height);
    margin: var(--space-md);
    cursor: pointer;
}
.button-add-patient:hover  { background-image: linear-gradient(rgba(0,0,0,0.10), rgba(0,0,0,0.10)); }
.button-add-patient:active { background-image: linear-gradient(rgba(0,0,0,0.20), rgba(0,0,0,0.20)); }

/* Therapist-shell bottom-bar buttons (logout, export). */
.button-bottom {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    height: var(--shell-button-bottom-height);
    flex: 1;
    color: var(--text-on-light);
    background-color: var(--surface-card);
    font-weight: bold;
    font-size: var(--font-xs);
    border-radius: 14px;
    border: 1px solid var(--border-strong);
    cursor: pointer;
}
.button-bottom:hover  { background-image: linear-gradient(rgba(0,0,0,0.07), rgba(0,0,0,0.07)); }
.button-bottom:active { background-image: linear-gradient(rgba(0,0,0,0.15), rgba(0,0,0,0.15)); }

.button-export        { margin-right: var(--space-sm); }
.button-export-spacer { flex: 1; margin-right: var(--space-sm); }
.button-icon          { color: var(--accent); }

/* Export dialog: text-as-button toggle for "Alle auswählen". */
.button-toggle-all {
    background: none;
    border: none;
    padding: 0;
    font-size: .8rem;
    font-weight: 600;
    color: var(--accent);
    cursor: pointer;
}
