/* ========================================
   MODERN BUTTONS - Override ALL old gradient buttons
   ======================================== */

/* === BASE BUTTON RESET === */
.btn {
    font-family: var(--font-sans) !important;
    font-weight: var(--font-medium) !important;
    font-size: var(--text-sm) !important;
    padding: 0.5rem 1rem !important;
    border-radius: var(--radius-md) !important;
    border: 1px solid var(--border-secondary) !important;
    transition: all var(--transition-fast) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    line-height: 1.4 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    background-image: none !important;
    background: var(--bg-tertiary);
    color: var(--text-primary);
}

.btn:hover {
    background-image: none !important;
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
}

.btn:active {
    transform: translateY(0) !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
}

.btn:disabled,
.btn.disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none !important;
}

/* === SIZES === */
.btn-sm {
    padding: 0.35rem 0.75rem !important;
    font-size: var(--text-xs) !important;
    border-radius: var(--radius-sm) !important;
}

.btn-lg {
    padding: 0.75rem 1.5rem !important;
    font-size: var(--text-base) !important;
}

/* === PRIMARY (Blue accent) === */
.btn-primary,
.btn-blue {
    background: var(--accent-blue) !important;
    background-image: none !important;
    color: white !important;
    border-color: var(--accent-blue) !important;
}

.btn-primary:hover,
.btn-blue:hover {
    background: var(--accent-blue-hover) !important;
    border-color: var(--accent-blue-hover) !important;
    color: white !important;
}

.btn-outline-primary {
    background: transparent !important;
    color: var(--accent-blue) !important;
    border: 1px solid var(--accent-blue) !important;
}

.btn-outline-primary:hover {
    background: var(--accent-blue) !important;
    color: white !important;
}

/* === SUCCESS === */
.btn-success {
    background: var(--success) !important;
    background-image: none !important;
    color: white !important;
    border-color: var(--success) !important;
}

.btn-success:hover {
    background: #059669 !important;
    border-color: #059669 !important;
    color: white !important;
}

.btn-outline-success {
    background: transparent !important;
    color: var(--success) !important;
    border: 1px solid var(--success) !important;
}

.btn-outline-success:hover {
    background: var(--success) !important;
    color: white !important;
}

/* === DANGER === */
.btn-danger {
    background: var(--danger) !important;
    background-image: none !important;
    color: white !important;
    border-color: var(--danger) !important;
}

.btn-danger:hover {
    background: #dc2626 !important;
    border-color: #dc2626 !important;
    color: white !important;
}

.btn-outline-danger {
    background: transparent !important;
    color: var(--danger) !important;
    border: 1px solid var(--danger) !important;
}

.btn-outline-danger:hover {
    background: var(--danger) !important;
    color: white !important;
}

/* === WARNING === */
.btn-warning {
    background: var(--warning) !important;
    background-image: none !important;
    color: white !important;
    border-color: var(--warning) !important;
}

.btn-warning:hover {
    background: #d97706 !important;
    border-color: #d97706 !important;
    color: white !important;
}

.btn-outline-warning {
    background: transparent !important;
    color: var(--warning) !important;
    border: 1px solid var(--warning) !important;
}

.btn-outline-warning:hover {
    background: var(--warning) !important;
    color: white !important;
}

/* === INFO === */
.btn-info {
    background: var(--info) !important;
    background-image: none !important;
    color: white !important;
    border-color: var(--info) !important;
}

.btn-info:hover {
    background: #0891b2 !important;
    border-color: #0891b2 !important;
    color: white !important;
}

.btn-outline-info {
    background: transparent !important;
    color: var(--info) !important;
    border: 1px solid var(--info) !important;
}

.btn-outline-info:hover {
    background: var(--info) !important;
    color: white !important;
}

/* === SECONDARY === */
.btn-secondary {
    background: var(--bg-tertiary) !important;
    background-image: none !important;
    color: var(--text-primary) !important;
    border-color: var(--border-secondary) !important;
}

.btn-secondary:hover {
    background: var(--bg-quaternary) !important;
    border-color: var(--accent-blue) !important;
    color: var(--text-primary) !important;
}

.btn-outline-secondary {
    background: transparent !important;
    color: var(--text-secondary) !important;
    border: 1px solid var(--border-secondary) !important;
}

.btn-outline-secondary:hover {
    background: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
    border-color: var(--accent-blue) !important;
}

/* === LIGHT === */
.btn-light {
    background: var(--bg-tertiary) !important;
    background-image: none !important;
    color: var(--text-primary) !important;
    border-color: var(--border-primary) !important;
}

.btn-light:hover {
    background: var(--bg-quaternary) !important;
    color: var(--text-primary) !important;
}

/* === DARK === */
.btn-dark {
    background: var(--bg-quaternary) !important;
    background-image: none !important;
    color: var(--text-primary) !important;
    border-color: var(--bg-quaternary) !important;
}

.btn-dark:hover {
    background: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
}

/* === SPECIAL CUSTOM CLASSES (override gradient styles) === */
.btn-add-amef,
.btn-add-client,
.btn-add-ticket,
.btn-action-import,
.btn-action-export,
.btn-action-special,
.btn-add-contact,
.btn-add-pf {
    background: var(--accent-blue) !important;
    background-image: none !important;
    color: white !important;
    border: 1px solid var(--accent-blue) !important;
    padding: 0.5rem 1rem !important;
    border-radius: var(--radius-md) !important;
    font-weight: var(--font-medium) !important;
    font-size: var(--text-sm) !important;
    box-shadow: none !important;
}

.btn-add-amef:hover,
.btn-add-client:hover,
.btn-add-ticket:hover,
.btn-action-import:hover,
.btn-action-export:hover,
.btn-action-special:hover,
.btn-add-contact:hover,
.btn-add-pf:hover {
    background: var(--accent-blue-hover) !important;
    border-color: var(--accent-blue-hover) !important;
    color: white !important;
    transform: translateY(-1px);
    box-shadow: var(--shadow-md) !important;
}

/* Specific Export Excel button (success green) */
#exportExcelBtn,
button[id*="export"][id*="Excel"],
.btn-export-excel {
    background: var(--success) !important;
    background-image: none !important;
    border-color: var(--success) !important;
    color: white !important;
}

#exportExcelBtn:hover,
button[id*="export"][id*="Excel"]:hover,
.btn-export-excel:hover {
    background: #059669 !important;
    border-color: #059669 !important;
    color: white !important;
}

/* AMEF/Clients/Contacts filter button */
.amef-filter-btn,
.clients-filter-btn,
.contacts-filter-btn,
.tickets-filter-btn,
.filter-trigger-btn {
    background: var(--accent-blue) !important;
    background-image: none !important;
    color: white !important;
    border: 1px solid var(--accent-blue) !important;
    padding: 0.5rem 1.25rem !important;
    border-radius: var(--radius-md) !important;
    font-weight: var(--font-medium) !important;
    font-size: var(--text-sm) !important;
    min-width: auto !important;
}

.amef-filter-btn:hover,
.clients-filter-btn:hover,
.contacts-filter-btn:hover,
.tickets-filter-btn:hover {
    background: var(--accent-blue-hover) !important;
    border-color: var(--accent-blue-hover) !important;
    color: white !important;
}

/* Filter count badge in filter button */
.amef-filter-count,
.clients-filter-count,
.contacts-filter-count,
.filter-count {
    background: rgba(255, 255, 255, 0.2) !important;
    color: white !important;
    border-radius: var(--radius-full) !important;
    padding: 1px 8px !important;
    font-size: 0.7rem !important;
    margin-left: 4px;
    font-weight: var(--font-semibold);
}

/* === BOOTSTRAP OUTLINE BUTTONS - ensure visible borders === */
.btn-outline-primary {
    background: rgba(59, 130, 246, 0.08) !important;
    color: #93c5fd !important;
    border: 1px solid var(--accent-blue) !important;
}

.btn-outline-primary:hover {
    background: var(--accent-blue) !important;
    color: white !important;
    border-color: var(--accent-blue) !important;
}

.btn-outline-success {
    background: rgba(16, 185, 129, 0.08) !important;
    color: #6ee7b7 !important;
    border: 1px solid var(--success) !important;
}

.btn-outline-success:hover {
    background: var(--success) !important;
    color: white !important;
    border-color: var(--success) !important;
}

.btn-outline-danger {
    background: rgba(239, 68, 68, 0.08) !important;
    color: #fca5a5 !important;
    border: 1px solid var(--danger) !important;
}

.btn-outline-danger:hover {
    background: var(--danger) !important;
    color: white !important;
    border-color: var(--danger) !important;
}

.btn-outline-warning {
    background: rgba(245, 158, 11, 0.08) !important;
    color: #fcd34d !important;
    border: 1px solid var(--warning) !important;
}

.btn-outline-warning:hover {
    background: var(--warning) !important;
    color: white !important;
    border-color: var(--warning) !important;
}

.btn-outline-info {
    background: rgba(6, 182, 212, 0.08) !important;
    color: #67e8f9 !important;
    border: 1px solid var(--info) !important;
}

.btn-outline-info:hover {
    background: var(--info) !important;
    color: white !important;
    border-color: var(--info) !important;
}

.btn-outline-secondary {
    background: rgba(148, 163, 184, 0.08) !important;
    color: #cbd5e1 !important;
    border: 1px solid var(--border-secondary) !important;
}

.btn-outline-secondary:hover {
    background: var(--bg-quaternary) !important;
    color: var(--text-primary) !important;
    border-color: var(--accent-blue) !important;
}

.btn-outline-light,
.btn-outline-dark {
    background: rgba(255, 255, 255, 0.04) !important;
    color: var(--text-primary) !important;
    border: 1px solid var(--border-secondary) !important;
}

.btn-outline-light:hover,
.btn-outline-dark:hover {
    background: rgba(255, 255, 255, 0.1) !important;
    color: var(--text-primary) !important;
    border-color: var(--accent-blue) !important;
}

/* === SOLID BOOTSTRAP BUTTONS - ensure no gradient and consistent look === */
.btn-primary {
    background: var(--accent-blue) !important;
    background-image: none !important;
    border: 1px solid var(--accent-blue) !important;
    color: white !important;
}

.btn-primary:hover {
    background: var(--accent-blue-hover) !important;
    border-color: var(--accent-blue-hover) !important;
    color: white !important;
}

.btn-success {
    background: var(--success) !important;
    background-image: none !important;
    border: 1px solid var(--success) !important;
    color: white !important;
}

.btn-success:hover {
    background: #059669 !important;
    border-color: #059669 !important;
    color: white !important;
}

.btn-danger {
    background: var(--danger) !important;
    background-image: none !important;
    border: 1px solid var(--danger) !important;
    color: white !important;
}

.btn-danger:hover {
    background: #dc2626 !important;
    border-color: #dc2626 !important;
    color: white !important;
}

.btn-warning {
    background: var(--warning) !important;
    background-image: none !important;
    border: 1px solid var(--warning) !important;
    color: #1f2937 !important;
}

.btn-warning:hover {
    background: #d97706 !important;
    border-color: #d97706 !important;
    color: white !important;
}

.btn-info {
    background: var(--info) !important;
    background-image: none !important;
    border: 1px solid var(--info) !important;
    color: white !important;
}

.btn-info:hover {
    background: #0891b2 !important;
    border-color: #0891b2 !important;
    color: white !important;
}

.btn-secondary {
    background: var(--bg-tertiary) !important;
    background-image: none !important;
    border: 1px solid var(--border-secondary) !important;
    color: var(--text-primary) !important;
}

.btn-secondary:hover {
    background: var(--bg-quaternary) !important;
    border-color: var(--accent-blue) !important;
    color: var(--text-primary) !important;
}

/* === STATUS PILLS (Ticket Details: In Lucru, Asteptare, Finalizat etc.) === */
.status-pill,
.btn.status-pill {
    border-radius: var(--radius-full) !important;
    padding: 0.45rem 0.95rem !important;
    font-size: 0.78rem !important;
    font-weight: var(--font-semibold) !important;
    border: 1px solid !important;
    background-image: none !important;
    transition: all var(--transition-fast);
}

/* Primary - blue (In Lucru, Update Ticket) */
.status-pill.primary,
.btn.status-pill.primary {
    background: rgba(59, 130, 246, 0.15) !important;
    border-color: var(--accent-blue) !important;
    color: #93c5fd !important;
}

.status-pill.primary:hover,
.btn.status-pill.primary:hover {
    background: var(--accent-blue) !important;
    color: white !important;
}

/* Warning - amber (Asteptare Piese, Asteptare Client) */
.status-pill.warning,
.btn.status-pill.warning {
    background: rgba(245, 158, 11, 0.15) !important;
    border-color: var(--warning) !important;
    color: #fde68a !important;
}

.status-pill.warning:hover,
.btn.status-pill.warning:hover {
    background: var(--warning) !important;
    color: white !important;
}

/* Neutral - gray (Nepreluat) */
.status-pill.neutral,
.btn.status-pill.neutral {
    background: rgba(148, 163, 184, 0.12) !important;
    border-color: rgba(148, 163, 184, 0.4) !important;
    color: #cbd5e1 !important;
}

.status-pill.neutral:hover,
.btn.status-pill.neutral:hover {
    background: rgba(148, 163, 184, 0.3) !important;
    color: white !important;
}

/* Success - green (Finalizeaza) */
.status-pill.success,
.btn.status-pill.success {
    background: var(--success) !important;
    background-image: none !important;
    border-color: var(--success) !important;
    color: white !important;
}

.status-pill.success:hover,
.btn.status-pill.success:hover {
    background: #059669 !important;
    border-color: #059669 !important;
    color: white !important;
}

/* Ghost / Renunta - red (Renunta button) */
.status-pill.ghost,
.btn.status-pill.ghost {
    background: rgba(239, 68, 68, 0.12) !important;
    border-color: var(--danger) !important;
    color: #fca5a5 !important;
}

.status-pill.ghost:hover,
.btn.status-pill.ghost:hover {
    background: var(--danger) !important;
    color: white !important;
}

/* === ALL BUTTONS - ensure they have a visible border/background === */
.btn-default,
.btn:not([class*="btn-"]):not(.status-pill) {
    background: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
    border: 1px solid var(--border-secondary) !important;
}

.btn-default:hover,
.btn:not([class*="btn-"]):not(.status-pill):hover {
    background: var(--bg-quaternary) !important;
    border-color: var(--accent-blue) !important;
}

/* === TRANSPARENT/UNSTYLED BUTTONS - add minimum visual weight === */
button[type="button"]:not(.btn):not(.btn-close):not(.btn-action):not(.amef-filter-btn):not(.clients-filter-btn):not(.contacts-filter-btn):not(.tickets-filter-btn):not(.action-trigger):not(.action-menu-item):not(.btn-document):not(.obs-add-btn):not(.pager-btn):not([data-bs-dismiss="modal"]):not(.dropdown-item):not(.nav-link),
button[type="submit"]:not(.btn) {
    background: var(--bg-tertiary);
    color: var(--text-primary);
    border: 1px solid var(--border-secondary);
    border-radius: var(--radius-md);
    padding: 0.4rem 0.85rem;
    font-size: var(--text-sm);
    font-weight: var(--font-medium);
    cursor: pointer;
    transition: all var(--transition-fast);
}

/* === LINK BUTTONS === */
.btn-link {
    background: transparent !important;
    color: var(--accent-blue) !important;
    border: none !important;
    text-decoration: none !important;
    padding: 0.5rem !important;
}

.btn-link:hover {
    background: var(--accent-blue-alpha) !important;
    color: var(--accent-blue-hover) !important;
    text-decoration: none !important;
    transform: none !important;
    box-shadow: none !important;
}

/* === ICON-ONLY BUTTONS === */
.btn-icon {
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.btn-icon-sm {
    width: 28px !important;
    height: 28px !important;
    padding: 0 !important;
}

/* === BUTTON GROUPS === */
.btn-group .btn {
    box-shadow: none !important;
}

.btn-group .btn:hover {
    transform: none !important;
    z-index: 1;
}

/* === DROPDOWN TOGGLES === */
.dropdown-toggle::after {
    margin-left: 6px;
    vertical-align: middle;
}

/* === FILTER PILLS - special style === */
.btn-filter-active,
.btn-filter.active {
    background: var(--accent-blue) !important;
    color: white !important;
    border-color: var(--accent-blue) !important;
}

/* === ALERTIFY BUTTONS - dark theme === */
.alertify .ajs-footer .ajs-buttons .ajs-button {
    background: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
    border: 1px solid var(--border-secondary) !important;
    padding: 0.5rem 1rem !important;
    border-radius: var(--radius-md) !important;
    font-weight: var(--font-medium) !important;
    text-transform: none !important;
}

.alertify .ajs-footer .ajs-buttons .ajs-button.ajs-ok {
    background: var(--accent-blue) !important;
    color: white !important;
    border-color: var(--accent-blue) !important;
}

.alertify .ajs-footer .ajs-buttons .ajs-button:hover {
    background: var(--bg-quaternary) !important;
}

.alertify .ajs-footer .ajs-buttons .ajs-button.ajs-ok:hover {
    background: var(--accent-blue-hover) !important;
}

/* === MODAL BUTTONS === */
.modal-footer .btn {
    min-width: 80px;
}

/* === BUTTON WITH SHIMMER (replace flashy gradients) === */
.btn-modern-shine,
.btn-modern-special {
    background: var(--accent-blue) !important;
    background-image: none !important;
    color: white !important;
    position: relative;
    overflow: hidden;
}

.btn-modern-shine::before,
.btn-modern-special::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s ease;
}

.btn-modern-shine:hover::before,
.btn-modern-special:hover::before {
    left: 100%;
}
