/**
 * CRM unified buttons — all pages under body.eazydezk-app (app-lead, app layouts)
 */
:root {
    --crm-btn-font: var(--crm-font-sans, 'Inter', system-ui, sans-serif);
    --crm-btn-radius: 8px;
    --crm-btn-radius-pill: 999px;
    --crm-btn-height: 36px;
    --crm-btn-height-sm: 32px;
    --crm-btn-padding-x: 14px;
    --crm-btn-padding-x-sm: 10px;
    --crm-btn-font-size: 13px;
    --crm-btn-font-size-sm: 12px;
    --crm-btn-fw: 600;

    --crm-btn-primary-bg: #4286f4;
    --crm-btn-primary-hover: #373B44;
    --crm-btn-primary-text: #ffffff;
    --crm-btn-primary-border: #3578e8;
    --crm-btn-primary-grad: linear-gradient(to right, #4286f4, #373B44);
    --crm-btn-primary-grad-hover: linear-gradient(to right, #3578e8, #2d3138);

    --crm-btn-secondary-bg: #ffffff;
    --crm-btn-secondary-hover: #f8fafc;
    --crm-btn-secondary-text: #334155;
    --crm-btn-secondary-border: #cbd5e1;

    --crm-btn-success-bg: #059669;
    --crm-btn-success-hover: #047857;
    --crm-btn-success-text: #ffffff;

    --crm-btn-danger-bg: #dc2626;
    --crm-btn-danger-hover: #b91c1c;
    --crm-btn-danger-text: #ffffff;

    --crm-btn-warning-bg: #d97706;
    --crm-btn-warning-hover: #b45309;
    --crm-btn-warning-text: #ffffff;

    --crm-btn-info-bg: #0891b2;
    --crm-btn-info-hover: #0e7490;
    --crm-btn-info-text: #ffffff;

    --crm-btn-muted-bg: #64748b;
    --crm-btn-muted-hover: #475569;
    --crm-btn-muted-text: #ffffff;

    --crm-btn-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
    --crm-btn-shadow-hover: 0 4px 10px rgba(66, 134, 244, 0.28);
    --crm-btn-focus-ring: 0 0 0 3px rgba(66, 134, 244, 0.32);
}

/* Shared base */
body.eazydezk-app .btn,
body.eazydezk-app .ui.button,
body.eazydezk-app .btn-submit,
body.eazydezk-app button.btn,
body.eazydezk-app a.btn,
body.eazydezk-app input.btn[type="submit"],
body.eazydezk-app input.btn[type="button"],
body.eazydezk-app button[type="submit"]:not(.paginate_button):not(.unstyled):not(.sidemenu-toggle):not(.login-submit-btn):not(.assign-submit-btn):not(.dashboard-lead-assign-btn),
body.eazydezk-app button.bg-indigo-600,
body.eazydezk-app a.bg-indigo-600,
body.eazydezk-app button.bg-rose-600,
body.eazydezk-app a.bg-rose-600,
body.eazydezk-app .inline-flex.rounded-md[class*="bg-indigo"],
body.eazydezk-app .inline-flex.rounded-md[class*="bg-rose"] {
    font-family: var(--crm-btn-font) !important;
    font-size: var(--crm-btn-font-size) !important;
    font-weight: var(--crm-btn-fw) !important;
    line-height: 1.25 !important;
    min-height: var(--crm-btn-height) !important;
    height: auto;
    padding: 8px var(--crm-btn-padding-x) !important;
    border-radius: var(--crm-btn-radius) !important;
    border: 1px solid transparent !important;
    box-shadow: var(--crm-btn-shadow) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px;
    cursor: pointer;
    text-decoration: none !important;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease,
        box-shadow 0.15s ease, transform 0.12s ease !important;
    background-image: none !important;
}

body.eazydezk-app .btn:focus-visible,
body.eazydezk-app .ui.button:focus-visible,
body.eazydezk-app .btn-submit:focus-visible,
body.eazydezk-app button[type="submit"]:not(.login-submit-btn):not(.assign-submit-btn):not(.dashboard-lead-assign-btn):focus-visible {
    outline: none !important;
    box-shadow: var(--crm-btn-focus-ring) !important;
}

body.eazydezk-app .btn:disabled,
body.eazydezk-app .ui.button:disabled,
body.eazydezk-app .btn-submit:disabled,
body.eazydezk-app button:disabled {
    opacity: 0.55 !important;
    cursor: not-allowed !important;
    transform: none !important;
}

/* Primary */
body.eazydezk-app .btn-primary,
body.eazydezk-app .ui.primary.button,
body.eazydezk-app .ui.button.primary,
body.eazydezk-app .btn-submit,
body.eazydezk-app button.bg-indigo-600,
body.eazydezk-app a.bg-indigo-600,
body.eazydezk-app .bg-indigo-600.btn,
body.eazydezk-app .bg-indigo-600.btn-submit,
body.eazydezk-app button[type="submit"]:not(.btn-secondary):not(.btn-danger):not(.btn-success):not(.paginate_button):not(.unstyled):not(.login-submit-btn):not(.assign-submit-btn):not(.dashboard-lead-assign-btn),
body.eazydezk-app .ui.blue.button {
    background: var(--crm-btn-primary-grad) !important;
    background-color: var(--crm-btn-primary-bg) !important;
    border-color: var(--crm-btn-primary-border) !important;
    color: var(--crm-btn-primary-text) !important;
    box-shadow: 0 2px 8px rgba(66, 134, 244, 0.22) !important;
}

body.eazydezk-app .btn-primary:hover,
body.eazydezk-app .ui.primary.button:hover,
body.eazydezk-app .btn-submit:hover,
body.eazydezk-app button.bg-indigo-600:hover,
body.eazydezk-app a.bg-indigo-600:hover,
body.eazydezk-app .hover\:bg-indigo-700:hover,
body.eazydezk-app button[type="submit"]:hover:not(:disabled):not(.login-submit-btn):not(.assign-submit-btn):not(.dashboard-lead-assign-btn) {
    background: var(--crm-btn-primary-grad-hover) !important;
    background-color: var(--crm-btn-primary-hover) !important;
    border-color: var(--crm-btn-primary-hover) !important;
    color: var(--crm-btn-primary-text) !important;
    box-shadow: var(--crm-btn-shadow-hover) !important;
    transform: translateY(-1px);
    filter: none !important;
}

/* Secondary / outline / cancel */
body.eazydezk-app .btn-secondary,
body.eazydezk-app .ui.button.basic,
body.eazydezk-app .ui.basic.button,
body.eazydezk-app .ui.default.button:not(.primary):not(.positive):not(.negative):not(.red):not(.green),
body.eazydezk-app a.border-slate-300.bg-white,
body.eazydezk-app .inline-flex.border.border-slate-300,
body.eazydezk-app .btn-light,
body.eazydezk-app .ui.button.cancel {
    background: var(--crm-btn-secondary-bg) !important;
    color: var(--crm-btn-secondary-text) !important;
    border-color: var(--crm-btn-secondary-border) !important;
    box-shadow: none !important;
}

body.eazydezk-app .btn-secondary:hover,
body.eazydezk-app .ui.button.basic:hover,
body.eazydezk-app .ui.basic.button:hover,
body.eazydezk-app a.border-slate-300.bg-white:hover {
    background: var(--crm-btn-secondary-hover) !important;
    border-color: #94a3b8 !important;
    color: #0f172a !important;
    transform: translateY(-1px);
}

/* Semantic default / grey button */
body.eazydezk-app .ui.button:not(.primary):not(.positive):not(.negative):not(.red):not(.green):not(.blue):not(.orange):not(.teal):not(.black):not(.basic):not(.labeled) {
    background: var(--crm-btn-secondary-bg) !important;
    color: var(--crm-btn-secondary-text) !important;
    border: 1px solid var(--crm-btn-secondary-border) !important;
    box-shadow: none !important;
}

body.eazydezk-app .ui.button:not(.primary):not(.positive):not(.negative):not(.red):not(.green):not(.blue):not(.orange):not(.teal):not(.black):not(.basic):hover {
    background: var(--crm-btn-secondary-hover) !important;
}

/* Success */
body.eazydezk-app .btn-success,
body.eazydezk-app .ui.positive.button,
body.eazydezk-app .ui.green.button,
body.eazydezk-app .positive.ui.button,
body.eazydezk-app .ui.button.positive {
    background: var(--crm-btn-success-bg) !important;
    border-color: var(--crm-btn-success-hover) !important;
    color: var(--crm-btn-success-text) !important;
}

body.eazydezk-app .btn-success:hover,
body.eazydezk-app .ui.positive.button:hover,
body.eazydezk-app .positive.ui.button:hover {
    background: var(--crm-btn-success-hover) !important;
    color: var(--crm-btn-success-text) !important;
}

/* Danger */
body.eazydezk-app .btn-danger,
body.eazydezk-app .ui.negative.button,
body.eazydezk-app .ui.red.button,
body.eazydezk-app .negative.ui.button,
body.eazydezk-app .ui.button.negative,
body.eazydezk-app button.bg-rose-600,
body.eazydezk-app a.bg-rose-600,
body.eazydezk-app .hover\:bg-rose-700:hover {
    background: var(--crm-btn-danger-bg) !important;
    border-color: var(--crm-btn-danger-hover) !important;
    color: var(--crm-btn-danger-text) !important;
}

body.eazydezk-app .btn-danger:hover,
body.eazydezk-app .ui.negative.button:hover,
body.eazydezk-app .negative.ui.button:hover,
body.eazydezk-app button.bg-rose-600:hover,
body.eazydezk-app a.bg-rose-600:hover {
    background: var(--crm-btn-danger-hover) !important;
    color: var(--crm-btn-danger-text) !important;
}

/* Warning / info / dark */
body.eazydezk-app .btn-warning,
body.eazydezk-app .ui.orange.button,
body.eazydezk-app .ui.yellow.button {
    background: var(--crm-btn-warning-bg) !important;
    color: var(--crm-btn-warning-text) !important;
    border-color: var(--crm-btn-warning-hover) !important;
}

body.eazydezk-app .btn-info,
body.eazydezk-app .ui.teal.button,
body.eazydezk-app .ui.cyan.button {
    background: var(--crm-btn-info-bg) !important;
    color: var(--crm-btn-info-text) !important;
    border-color: var(--crm-btn-info-hover) !important;
}

body.eazydezk-app .btn-dark,
body.eazydezk-app .ui.black.button {
    background: var(--crm-btn-muted-bg) !important;
    color: var(--crm-btn-muted-text) !important;
    border-color: var(--crm-btn-muted-hover) !important;
}

body.eazydezk-app .btn-warning:hover,
body.eazydezk-app .btn-info:hover,
body.eazydezk-app .btn-dark:hover {
    filter: brightness(0.95);
    transform: translateY(-1px);
}

/* Small */
body.eazydezk-app .btn-sm,
body.eazydezk-app .ui.mini.button,
body.eazydezk-app .ui.tiny.button,
body.eazydezk-app .btn.btn-sm {
    min-height: var(--crm-btn-height-sm) !important;
    padding: 6px var(--crm-btn-padding-x-sm) !important;
    font-size: var(--crm-btn-font-size-sm) !important;
}

/* Link-style */
body.eazydezk-app .btn-link,
body.eazydezk-app .ui.button.link {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    color: var(--crm-btn-primary-bg) !important;
    min-height: auto !important;
    padding: 4px 8px !important;
}

body.eazydezk-app .btn-link:hover {
    color: var(--crm-btn-primary-hover) !important;
    text-decoration: underline !important;
    transform: none;
}

/* Pill helpers (dashboard, marketing) */
body.eazydezk-app .ld-link-more,
body.eazydezk-app .lv-link-more {
    min-height: 30px !important;
    padding: 6px 12px !important;
    font-size: 12px !important;
    background: #eef2ff !important;
    color: var(--crm-btn-primary-bg) !important;
    border: 1px solid #c7d2fe !important;
    border-radius: var(--crm-btn-radius-pill) !important;
    box-shadow: none !important;
}

body.eazydezk-app .ld-link-more:hover,
body.eazydezk-app .lv-link-more:hover {
    background: #e0e7ff !important;
    color: var(--crm-btn-primary-hover) !important;
    transform: none;
}

/* DataTable row icon actions (.tbl-action) */
body.eazydezk-app a.tbl-action,
body.eazydezk-app button.tbl-action {
    width: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
    padding: 0 !important;
    margin: 0 2px;
    border-radius: var(--crm-btn-radius) !important;
    color: #fff !important;
    box-shadow: var(--crm-btn-shadow) !important;
}

body.eazydezk-app a.tbl-action.green-btn,
body.eazydezk-app button.tbl-action.green-btn {
    background: var(--crm-btn-success-bg) !important;
    border-color: var(--crm-btn-success-hover) !important;
}

body.eazydezk-app a.tbl-action.red-btn,
body.eazydezk-app button.tbl-action.red-btn {
    background: var(--crm-btn-primary-bg) !important;
    border-color: var(--crm-btn-primary-hover) !important;
}

body.eazydezk-app a.tbl-action:hover,
body.eazydezk-app button.tbl-action:hover {
    transform: translateY(-1px);
    box-shadow: 0 3px 8px rgba(15, 23, 42, 0.15) !important;
    color: #fff !important;
}

body.eazydezk-app a.tbl-action i,
body.eazydezk-app button.tbl-action i {
    color: inherit !important;
    font-size: 16px !important;
}

/* Admin table .btn-td icon buttons — align with palette */
body.eazydezk-app .btn-td a.btn,
body.eazydezk-app .action-btn a.btn {
    width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
    padding: 0 !important;
    border-radius: var(--crm-btn-radius) !important;
    background-image: none !important;
}

body.eazydezk-app .btn-td a.btn.btn-primary {
    background: var(--crm-btn-primary-bg) !important;
    border-color: var(--crm-btn-primary-hover) !important;
}

body.eazydezk-app .btn-td a.btn.btn-success {
    background: var(--crm-btn-success-bg) !important;
    border-color: var(--crm-btn-success-hover) !important;
}

body.eazydezk-app .btn-td a.btn.btn-danger {
    background: var(--crm-btn-danger-bg) !important;
    border-color: var(--crm-btn-danger-hover) !important;
}

body.eazydezk-app .btn-td a.btn.btn-warning {
    background: var(--crm-btn-warning-bg) !important;
    border-color: var(--crm-btn-warning-hover) !important;
}

body.eazydezk-app .btn-td a.btn.btn-info {
    background: var(--crm-btn-info-bg) !important;
    border-color: var(--crm-btn-info-hover) !important;
}

body.eazydezk-app .btn-td a.btn.btn-secondary,
body.eazydezk-app .btn-td a.btn.btn-dark {
    background: var(--crm-btn-muted-bg) !important;
    border-color: var(--crm-btn-muted-hover) !important;
}

/* Status pills (span.green-btn / span.red-btn in tables) */
body.eazydezk-app span.green-btn:not(.tbl-action),
body.eazydezk-app span.red-btn:not(.tbl-action) {
    display: inline-block;
    padding: 3px 10px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.3;
    border-radius: var(--crm-btn-radius-pill);
    background-image: none !important;
    min-height: 0 !important;
    box-shadow: none !important;
    border: 1px solid transparent;
}

body.eazydezk-app span.green-btn:not(.tbl-action) {
    background: #ecfdf5 !important;
    color: #047857 !important;
    border-color: #a7f3d0 !important;
}

body.eazydezk-app span.red-btn:not(.tbl-action) {
    background: #fef2f2 !important;
    color: #b91c1c !important;
    border-color: #fecaca !important;
}

/* SweetAlert */
body.eazydezk-app .swal2-styled.swal2-confirm,
.reminder-confirm-btn {
    background: var(--crm-btn-primary-grad) !important;
    background-color: var(--crm-btn-primary-bg) !important;
    border-radius: var(--crm-btn-radius) !important;
    font-weight: var(--crm-btn-fw) !important;
    box-shadow: var(--crm-btn-shadow) !important;
    background-image: none !important;
}

body.eazydezk-app .swal2-styled.swal2-cancel {
    background: var(--crm-btn-secondary-bg) !important;
    color: var(--crm-btn-secondary-text) !important;
    border: 1px solid var(--crm-btn-secondary-border) !important;
    border-radius: var(--crm-btn-radius) !important;
}

/* DataTables pagination current */
body.eazydezk-app .dataTables_wrapper .dataTables_paginate .paginate_button.current {
    background: var(--crm-btn-primary-grad) !important;
    background-color: var(--crm-btn-primary-bg) !important;
    border-color: var(--crm-btn-primary-border) !important;
    color: #fff !important;
    box-shadow: 0 2px 8px rgba(66, 134, 244, 0.28) !important;
}

/* Semantic labeled icon — keep icon alignment */
body.eazydezk-app .ui.labeled.icon.button > .icon {
    background: rgba(0, 0, 0, 0.08) !important;
}

/* Icon-only edit on lead view */
body.eazydezk-app .lv-btn-edit {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 !important;
    background: #E8F0FE !important;
    border: 1px solid #6BA3F8 !important;
    color: var(--crm-btn-primary-bg) !important;
    border-radius: var(--crm-btn-radius) !important;
    box-shadow: none !important;
}

body.eazydezk-app .lv-btn-edit:hover {
    background: #D6E6FD !important;
    color: var(--crm-btn-primary-hover) !important;
    transform: none;
}

/* Login page — gray gradient submit (visible by default; not global primary / preflight reset) */
body.eazydezk-app .login-wrapper.agent .login_btn .login-submit-btn,
body.eazydezk-app .login-wrapper.agent .login_btn input.login-submit-btn[type="submit"],
body.eazydezk-app .login-wrapper.agent .login_btn button.login-submit-btn[type="submit"] {
    -webkit-appearance: none !important;
    appearance: none !important;
    background-color: #64748b !important;
    background-image: linear-gradient(135deg, #94a3b8 0%, #64748b 55%, #475569 100%) !important;
    background: linear-gradient(135deg, #94a3b8 0%, #64748b 55%, #475569 100%) !important;
    border: 1px solid #64748b !important;
    color: #ffffff !important;
    box-shadow: 0 2px 8px rgba(71, 85, 105, 0.22) !important;
    opacity: 1 !important;
    filter: none !important;
}

body.eazydezk-app .login-wrapper.agent .login_btn .login-submit-btn:hover,
body.eazydezk-app .login-wrapper.agent .login_btn input.login-submit-btn[type="submit"]:hover,
body.eazydezk-app .login-wrapper.agent .login_btn button.login-submit-btn[type="submit"]:hover {
    background-color: #475569 !important;
    background-image: linear-gradient(135deg, #64748b 0%, #475569 100%) !important;
    background: linear-gradient(135deg, #64748b 0%, #475569 100%) !important;
    border-color: #475569 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(71, 85, 105, 0.28) !important;
    transform: translateY(-1px);
    filter: none !important;
}

/* Bulk lead assign — gray gradient (not global indigo primary) */
body.eazydezk-app button.assign-submit-btn,
body.eazydezk-app button.dashboard-lead-assign-btn,
body.eazydezk-app .dashboard-lead-assign-btn {
    background: var(--crm-btn-primary-grad) !important;
    background-image: var(--crm-btn-primary-grad) !important;
    border: 1px solid var(--crm-btn-primary-border) !important;
    color: #fff !important;
    box-shadow: 0 2px 8px rgba(66, 134, 244, 0.28) !important;
    filter: none !important;
}

body.eazydezk-app button.assign-submit-btn:hover,
body.eazydezk-app button.dashboard-lead-assign-btn:hover,
body.eazydezk-app .dashboard-lead-assign-btn:hover {
    background: var(--crm-btn-primary-grad-hover) !important;
    background-image: var(--crm-btn-primary-grad-hover) !important;
    border-color: var(--crm-btn-primary-hover) !important;
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(66, 134, 244, 0.35) !important;
    transform: translateY(-1px);
    filter: none !important;
}

body.eazydezk-app button.assign-submit-btn:focus-visible,
body.eazydezk-app button.dashboard-lead-assign-btn:focus-visible {
    box-shadow: 0 0 0 3px rgba(66, 134, 244, 0.32), 0 2px 8px rgba(66, 134, 244, 0.28) !important;
}
