/**
 * Yesperanto — einheitliches Button-Design (Referenz: Sidebar „Abmelden“)
 * Outline: weißer Hintergrund, 2px Rand #0066cc, blaue Schrift
 * Hover: gefüllt blau, weiße Schrift
 */

:root {
    --yp-btn-brand: #0066cc;
    --yp-btn-brand-dark: #0052a3;
    --yp-btn-brand-soft: #eef5ff;
    --yp-btn-danger: #dc3545;
    --yp-btn-danger-dark: #bd2130;
    --yp-btn-radius: 8px;
    --yp-btn-border-width: 2px;
    --yp-btn-font: Arial, Helvetica, sans-serif;
    --yp-btn-font-size: 14px;
    --yp-btn-font-weight: 500;
    --yp-btn-padding-y: 10px;
    --yp-btn-padding-x: 24px;
    --yp-btn-shadow-hover: 0 2px 4px rgba(0, 102, 204, 0.1);
}

/* Gemeinsame Selektor-Gruppe für Aktions-Buttons */
button:not(.fc-button):not(.swal2-styled):not(.swal2-close):not(.close):not(.tab-button):not(.mobile-nav-item):not(.yp-btn-unstyled):not(.cv-color-swatch):not(.cv-level-segment):not(.competency-add-btn),
input[type="button"]:not(.yp-btn-unstyled),
input[type="submit"]:not(.yp-btn-unstyled),
.btn,
.btn-primary,
.btn-secondary,
.btn-success,
.btn-danger,
.btn-outline-primary,
.btn-outline-secondary,
.primary-button,
.secondary-button,
.logout-btn,
.login-btn,
.job-action-btn,
.toolbar-btn,
.blue-btn,
.action-btn,
.action-button,
.add-button,
.akquise-action-btn,
.application-action-btn,
.save-button,
.save-btn,
.edit-btn,
.delete-btn,
.bulk-btn,
#addClassBtn,
#addCoacheeBtn,
#bulkAddCoacheeBtn,
#addCoachBtn,
#refreshBtn,
.modal-actions .btn,
.info-actions .btn,
.form-actions .btn,
.job-actions .btn,
.application-actions-buttons .btn,
.cv-viewer-toolbar .primary-button,
.cv-viewer-toolbar .job-action-btn,
.cv-toolbar .primary-button,
.cv-toolbar .job-action-btn,
.akquise-filters .primary-button,
.jobboerse-page .primary-button,
.jobboerse-page .secondary-button,
.jobboerse-page .btn-add-stellen,
.jobboerse-page .job-link,
.jobboerse-page .empty .primary-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-sizing: border-box;
    font-family: var(--yp-btn-font) !important;
    font-size: var(--yp-btn-font-size) !important;
    font-weight: var(--yp-btn-font-weight) !important;
    line-height: 1.4 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    text-decoration: none !important;
    padding: var(--yp-btn-padding-y) var(--yp-btn-padding-x) !important;
    min-height: 42px;
    border-radius: var(--yp-btn-radius) !important;
    border: var(--yp-btn-border-width) solid var(--yp-btn-brand) !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: var(--yp-btn-brand) !important;
    box-shadow: none !important;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease,
        transform 0.2s ease, box-shadow 0.2s ease;
}

/* Hover — wie Abmelden */
button:not(.fc-button):not(.swal2-styled):not(.swal2-close):not(.close):not(.tab-button):not(.mobile-nav-item):not(.yp-btn-unstyled):not(.cv-color-swatch):not(.cv-level-segment):not(.competency-add-btn):hover:not(:disabled):not(.disabled),
input[type="button"]:not(.yp-btn-unstyled):hover:not(:disabled),
input[type="submit"]:not(.yp-btn-unstyled):hover:not(:disabled),
.btn:hover:not(:disabled):not(.disabled),
.btn-primary:hover:not(:disabled):not(.disabled),
.btn-secondary:hover:not(:disabled):not(.disabled),
.btn-success:hover:not(:disabled):not(.disabled),
.primary-button:hover:not(:disabled):not(.disabled),
.secondary-button:hover:not(:disabled):not(.disabled),
.logout-btn:hover:not(:disabled),
.login-btn:hover:not(:disabled),
.job-action-btn:hover:not(:disabled),
.toolbar-btn:hover:not(:disabled),
.blue-btn:hover:not(:disabled),
.action-btn:hover:not(:disabled):not(.active),
.action-button:hover:not(:disabled),
.add-button:hover:not(:disabled),
.akquise-action-btn:hover:not(:disabled):not(.active),
.application-action-btn:hover:not(:disabled),
.save-button:hover:not(:disabled),
.save-btn:hover:not(:disabled),
.modal-actions .btn:hover:not(:disabled),
.info-actions .btn:hover:not(:disabled),
.form-actions .btn:hover:not(:disabled),
.job-actions .btn:hover:not(:disabled),
.cv-viewer-toolbar .primary-button:hover:not(:disabled),
.cv-viewer-toolbar .job-action-btn:hover:not(:disabled),
.akquise-filters .primary-button:hover:not(:disabled),
.jobboerse-page .primary-button:hover:not(:disabled),
.jobboerse-page .secondary-button:hover:not(:disabled),
.jobboerse-page .btn-add-stellen:hover:not(:disabled),
.jobboerse-page .job-link:hover:not(:disabled) {
    background: var(--yp-btn-brand) !important;
    background-color: var(--yp-btn-brand) !important;
    border-color: var(--yp-btn-brand) !important;
    color: #ffffff !important;
    transform: translateY(-1px);
    box-shadow: var(--yp-btn-shadow-hover) !important;
}

/* Aktiver Zustand (z. B. Coachee-Karte) — Outline-Stil wie Dashboard */
.coachee-card .action-btn.active,
.coachee-card .action-btn.active:hover,
.coachee-card .action-btn.active:focus,
.coachee-card .action-btn.active:focus-visible {
    background: #ffffff !important;
    background-color: #ffffff !important;
    border: 2.5px solid var(--yp-btn-brand) !important;
    color: var(--yp-btn-brand) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
}

.coachee-card .action-btn.active i,
.coachee-card .action-btn.active:hover i {
    color: var(--yp-btn-brand) !important;
}

/* Aktiver Zustand (andere Toolbars) */
.action-btn.active,
.action-btn.active:hover {
    background: var(--yp-btn-brand) !important;
    background-color: var(--yp-btn-brand) !important;
    border-color: var(--yp-btn-brand) !important;
    color: #ffffff !important;
    box-shadow: var(--yp-btn-shadow-hover) !important;
}

.action-btn.active i {
    color: #ffffff !important;
}

/* Gefahr / Löschen — gleiches Muster, rot */
.btn-danger,
.delete-btn,
button.btn-danger {
    border-color: var(--yp-btn-danger) !important;
    color: var(--yp-btn-danger) !important;
    background: #ffffff !important;
}

.btn-danger:hover:not(:disabled),
.delete-btn:hover:not(:disabled),
button.btn-danger:hover:not(:disabled) {
    background: var(--yp-btn-danger) !important;
    background-color: var(--yp-btn-danger) !important;
    border-color: var(--yp-btn-danger) !important;
    color: #ffffff !important;
    box-shadow: 0 2px 4px rgba(220, 53, 69, 0.15) !important;
}

/* Erfolg — Outline-Grün (selbes Prinzip) */
.btn-success,
.akquise-action-btn.btn-success,
.application-action-btn.btn-success {
    border-color: #28a745 !important;
    color: #28a745 !important;
    background: #ffffff !important;
}

.btn-success:hover:not(:disabled),
.akquise-action-btn.btn-success:hover:not(:disabled),
.application-action-btn.btn-success:hover:not(:disabled) {
    background: #28a745 !important;
    background-color: #28a745 !important;
    border-color: #28a745 !important;
    color: #ffffff !important;
}

.jobboerse-page .btn-add-stellen.is-done {
    border-color: #28a745 !important;
    color: #28a745 !important;
    background: #f0fff4 !important;
}

.jobboerse-page .btn-add-stellen.is-done:hover {
    background: #28a745 !important;
    color: #ffffff !important;
}

/* Deaktiviert */
button:disabled,
.btn:disabled,
.btn.disabled,
.primary-button:disabled,
.action-btn:disabled,
.akquise-action-btn:disabled,
.application-action-btn:disabled {
    opacity: 0.55 !important;
    cursor: not-allowed !important;
    transform: none !important;
    box-shadow: none !important;
    background: #f5f7fa !important;
    background-color: #f5f7fa !important;
    border-color: #c5ced8 !important;
    color: #8a97a8 !important;
}

/* Icons erben Button-Farbe */
.btn i,
.primary-button i,
.action-btn i,
.logout-btn i,
.job-action-btn i,
.akquise-action-btn i,
.application-action-btn i {
    color: inherit !important;
}

/* Volle Breite wo sinnvoll */
.login-btn,
.modal-actions .btn-full-width,
.btn-full-width {
    width: 100%;
}

/* Sidebar Abmelden — etwas großzügiger */
.dashboard-container .sidebar .logout-btn {
    padding: 12px 30px !important;
    font-size: 18px !important;
    margin: 20px;
}

/* Profil-Karte: Stellen / Profil / Lebenslauf — gleiche volle Breite */
.coachee-card .action-buttons .action-btn {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 42px;
    padding: 9px 16px !important;
    justify-content: center;
}

/* Kleine Icon-Buttons in Toolbars (nicht Profil-Karte) */
.action-bar .action-btn,
.users-grid .action-btn {
    width: auto;
    min-width: 40px;
    min-height: 40px;
    padding: 8px 12px !important;
}

/* Fokus */
button:focus-visible,
.btn:focus-visible,
.primary-button:focus-visible,
.action-btn:focus-visible,
.logout-btn:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.25) !important;
}

@media (max-width: 768px) {
    .dashboard-container .sidebar .logout-btn {
        margin: 0;
        padding: 8px 12px !important;
        font-size: 14px !important;
    }
}
