/* SSPQ Gestion Compact 1.8.0 - CSS consolidé */

/* ============================================================
   SSPQ HORAIRE 1.4.0 - DESIGN ORDINATEUR STABLE + MOBILE SÉPARÉ
   ============================================================ */

html,
body {
    margin: 0 !important;
    padding: 0 !important;
    background: #f4f6f9 !important;
    overflow-x: hidden !important;
}

#wpadminbar {
    display: none !important;
}

html {
    margin-top: 0 !important;
}

body .entry-content,
body .site-content,
body .content-area,
body .elementor,
body .elementor-section,
body .elementor-container,
body .elementor-widget-wrap,
body .elementor-widget-shortcode {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ============================================================
   LAYOUT ORDINATEUR - NE PAS CASSER
   ============================================================ */

.sspq-app-shell {
    display: flex !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-height: 100vh !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    background: #f4f6f9 !important;
    font-family: Arial, sans-serif !important;
    color: #1f2937 !important;
    box-sizing: border-box !important;
}

.sspq-app-sidebar {
    width: 260px !important;
    min-width: 260px !important;
    max-width: 260px !important;
    min-height: 100vh !important;
    background: #0b2447 !important;
    color: #ffffff !important;
    padding: 24px !important;
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
}

.sspq-app-main {
    flex: 1 !important;
    width: calc(100vw - 260px) !important;
    max-width: none !important;
    padding: 28px !important;
    overflow-x: auto !important;
    box-sizing: border-box !important;
    background: #f4f6f9 !important;
}

.sspq-app-logo {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    margin-bottom: 34px !important;
}

.sspq-app-logo-mark,
.sspq-login-logo {
    width: 58px !important;
    height: 58px !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    color: #0b2447 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: 900 !important;
}

.sspq-app-logo h2 {
    margin: 0 !important;
    color: #ffffff !important;
    font-size: 20px !important;
    font-weight: 800 !important;
}

.sspq-app-logo p {
    margin: 4px 0 0 !important;
    color: #cbd5e1 !important;
    font-size: 13px !important;
}

.sspq-app-menu {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

.sspq-app-menu a {
    color: #dbeafe !important;
    text-decoration: none !important;
    padding: 13px 14px !important;
    border-radius: 10px !important;
    font-weight: 700 !important;
    display: block !important;
}

.sspq-app-menu a:hover,
.sspq-app-menu a.active {
    background: rgba(255,255,255,0.14) !important;
    color: #ffffff !important;
}

.sspq-app-topbar {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 16px !important;
    margin-bottom: 24px !important;
}

.sspq-app-topbar h1 {
    margin: 0 !important;
    color: #0b2447 !important;
    font-size: 34px !important;
    font-weight: 700 !important;
}

.sspq-app-topbar p {
    margin: 6px 0 0 !important;
    color: #64748b !important;
    font-size: 15px !important;
}

.sspq-logout-btn,
.sspq-btn-red {
    background: #b91c1c !important;
    color: #ffffff !important;
    border-radius: 10px !important;
    padding: 12px 18px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    border: 1px solid #7f1d1d !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.sspq-btn-dark,
.sspq-btn-primary,
.sspq-btn-secondary,
.sspq-profile,
.sspq-edit,
.sspq-edit-dispo {
    background: #334155 !important;
    color: #ffffff !important;
    border: 1px solid #1e293b !important;
    border-radius: 8px !important;
    padding: 11px 14px !important;
    font-weight: 800 !important;
    font-size: 14px !important;
    cursor: pointer !important;
    text-decoration: none !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.sspq-btn-primary,
.sspq-btn-dark,
#sspq-open-employee-modal {
    background: #0b2447 !important;
    border-color: #0b2447 !important;
}

.sspq-btn-danger,
.sspq-archive,
.sspq-delete-dispo {
    background: #b91c1c !important;
    color: #ffffff !important;
    border: 1px solid #7f1d1d !important;
    border-radius: 8px !important;
    padding: 11px 14px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
    opacity: 1 !important;
}

.sspq-btn-success,
.sspq-reactivate {
    background: #15803d !important;
    color: #ffffff !important;
    border: 1px solid #166534 !important;
    border-radius: 8px !important;
    padding: 11px 14px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
}

.sspq-full-btn { width: 100% !important; justify-content: center !important; }

/* ============================================================
   LOGIN
   ============================================================ */

.sspq-login-page {
    min-height: 100vh !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #f4f6f9 !important;
    padding: 30px !important;
    font-family: Arial, sans-serif !important;
}

.sspq-login-card {
    width: 100% !important;
    max-width: 460px !important;
    background: #fff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 18px !important;
    box-shadow: 0 16px 40px rgba(15,23,42,0.10) !important;
    padding: 32px !important;
    box-sizing: border-box !important;
}

.sspq-login-card h1 { color: #0b2447 !important; margin-bottom: 8px !important; }
.sspq-login-card label { display: block !important; font-weight: 800 !important; margin: 12px 0 6px !important; }
.sspq-login-card input[type="text"], .sspq-login-card input[type="password"] { width: 100% !important; border: 1px solid #cbd5e1 !important; border-radius: 10px !important; padding: 12px !important; box-sizing: border-box !important; }
.sspq-alert-error { background: #fee2e2 !important; color: #991b1b !important; border: 1px solid #fecaca !important; border-radius: 10px !important; padding: 12px !important; margin: 14px 0 !important; }
.sspq-check-inline { display: flex !important; align-items: center !important; gap: 8px !important; }

/* ============================================================
   ACCUEIL
   ============================================================ */

.sspq-dashboard-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 16px !important;
    margin-bottom: 24px !important;
}

.sspq-dashboard-card,
.sspq-action-card,
.sspq-horaire-page-card,
.sspq-form-card,
.sspq-setting-card,
.sspq-no-access-box {
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 24px rgba(15,23,42,0.06) !important;
}

.sspq-dashboard-card { padding: 20px !important; }
.sspq-dashboard-card span { display: block !important; color: #64748b !important; font-size: 13px !important; font-weight: 700 !important; margin-bottom: 8px !important; }
.sspq-dashboard-card strong { display: block !important; color: #0b2447 !important; font-size: 28px !important; }

.sspq-dashboard-actions,
.sspq-form-grid-admin,
.sspq-settings-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
}

.sspq-action-card,
.sspq-form-card,
.sspq-setting-card {
    padding: 22px !important;
    text-decoration: none !important;
    color: #1f2937 !important;
}

.sspq-action-card h3,
.sspq-form-card h3,
.sspq-setting-card h3 {
    margin: 0 0 8px !important;
    color: #0b2447 !important;
    font-size: 24px !important;
}

.sspq-action-card p,
.sspq-form-card p,
.sspq-setting-card p {
    margin: 0 !important;
    color: #64748b !important;
    line-height: 1.5 !important;
}

.sspq-no-access-box { max-width: 720px !important; padding: 34px !important; }
.sspq-no-access-actions { display: flex !important; gap: 12px !important; flex-wrap: wrap !important; }

/* ============================================================
   EMPLOYÉS
   ============================================================ */

.sspq-employes-wrap {
    font-family: Arial, sans-serif !important;
    background: #f4f6f9 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

.sspq-employes-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 20px !important;
    margin-bottom: 22px !important;
}

.sspq-employes-header h1 {
    margin: 0 !important;
    color: #0b2447 !important;
    font-size: 34px !important;
    font-weight: 700 !important;
}

.sspq-employes-header p {
    margin: 6px 0 0 !important;
    color: #64748b !important;
}

#sspq-open-employee-modal {
    border-radius: 0 !important;
    padding: 18px 28px !important;
    min-width: 220px !important;
    min-height: 58px !important;
}

.sspq-filters {
    display: grid !important;
    grid-template-columns: 1fr 240px 220px !important;
    gap: 12px !important;
    margin-bottom: 22px !important;
}

.sspq-filters input,
.sspq-filters select,
.sspq-form input,
.sspq-form select,
.sspq-form textarea {
    width: 100% !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 10px !important;
    padding: 11px !important;
    background: #ffffff !important;
    color: #0f172a !important;
    font-size: 15px !important;
    box-sizing: border-box !important;
}

.sspq-filters input,
.sspq-filters select { height: 50px !important; }

.sspq-section-title { margin: 26px 0 12px !important; }
.sspq-section-title h2 { margin: 0 !important; color: #0b2447 !important; font-size: 24px !important; font-weight: 800 !important; }
.sspq-section-title p { margin: 5px 0 0 !important; color: #64748b !important; }

.sspq-card {
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06) !important;
    overflow-x: auto !important;
    margin-bottom: 28px !important;
    width: 100% !important;
}

.sspq-table {
    width: 100% !important;
    border-collapse: collapse !important;
    min-width: 1150px !important;
    background: #ffffff !important;
}

.sspq-table th {
    background: #f8fafc !important;
    color: #334155 !important;
    padding: 14px 13px !important;
    text-align: left !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    border-bottom: 1px solid #e5e7eb !important;
    white-space: nowrap !important;
}

.sspq-table td {
    padding: 14px 13px !important;
    border-bottom: 1px solid #e5e7eb !important;
    color: #0f172a !important;
    font-size: 14px !important;
    vertical-align: middle !important;
    background: #ffffff !important;
}

.sspq-table tbody tr:nth-child(even) td { background: #f8fafc !important; }
.sspq-table tbody tr:hover td { background: #eef6ff !important; }
.sspq-row-actions { display: flex !important; gap: 6px !important; flex-wrap: wrap !important; }
.sspq-row-actions button { min-width: 88px !important; }
.sspq-phone-link { color: #0b2447 !important; font-weight: 800 !important; text-decoration: none !important; }
.sspq-bulk-actions { display: flex !important; gap: 10px !important; margin-bottom: 12px !important; flex-wrap: wrap !important; }

/* ============================================================
   MODALS
   ============================================================ */

.sspq-modal-backdrop,
.sspq-modal-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 99999 !important;
    background: rgba(15, 23, 42, 0.62) !important;
    display: none;
    align-items: flex-start !important;
    justify-content: center !important;
    padding: 35px 16px !important;
    overflow-y: auto !important;
    box-sizing: border-box !important;
}

.sspq-modal {
    width: 100% !important;
    max-width: 980px !important;
    background: #ffffff !important;
    border-radius: 18px !important;
    padding: 24px !important;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.30) !important;
    box-sizing: border-box !important;
}

.sspq-modal-large { max-width: 720px !important; }
.sspq-modal-header { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 18px !important; background: transparent !important; color: #0b2447 !important; padding: 0 !important; }
.sspq-modal-header h2 { margin: 0 !important; color: #0b2447 !important; font-size: 28px !important; font-weight: 800 !important; }
.sspq-close, #sspq-close-modal { border: none !important; background: #334155 !important; color: #ffffff !important; border-radius: 10px !important; font-size: 24px !important; width: 42px !important; height: 42px !important; cursor: pointer !important; }
.sspq-form-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 14px !important; }
.sspq-form label { display: block !important; font-size: 13px !important; font-weight: 800 !important; color: #334155 !important; margin-bottom: 6px !important; }
.sspq-form textarea { min-height: 90px !important; resize: vertical !important; }
.sspq-form-section { margin: 24px 0 14px !important; padding-bottom: 8px !important; border-bottom: 1px solid #e5e7eb !important; color: #0b2447 !important; font-size: 20px !important; font-weight: 800 !important; }
.sspq-modal-actions, .sspq-modal-footer { display: flex !important; justify-content: flex-end !important; gap: 10px !important; margin-top: 22px !important; }
.sspq-check-line { display: flex !important; align-items: center !important; gap: 8px !important; margin-bottom: 10px !important; }

.sspq-profile-box { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
.sspq-profile-box div { background: #f8fafc !important; border: 1px solid #e5e7eb !important; border-radius: 12px !important; padding: 13px !important; }
.sspq-profile-box span { display: block !important; color: #64748b !important; font-size: 12px !important; font-weight: 800 !important; margin-bottom: 6px !important; }
.sspq-profile-box strong { color: #0b2447 !important; }
.sspq-dispo-list ul { list-style: none !important; margin: 14px 0 0 !important; padding: 0 !important; }
.sspq-dispo-item { display: flex !important; justify-content: space-between !important; align-items: center !important; gap: 12px !important; margin-bottom: 8px !important; background: #f8fafc !important; border: 1px solid #e5e7eb !important; border-radius: 10px !important; padding: 12px !important; }
.sspq-dispo-actions { display: flex !important; gap: 8px !important; flex-wrap: wrap !important; }

/* ============================================================
   HORAIRE / FULLCALENDAR
   ============================================================ */

.sspq-horaire-page-card {
    width: 100% !important;
    max-width: none !important;
    min-height: calc(100vh - 130px) !important;
    overflow-x: auto !important;
    padding: 18px !important;
    box-sizing: border-box !important;
}

#sspq-calendar {
    background: #ffffff !important;
    border-radius: 20px !important;
    padding: 22px !important;
    box-shadow: 0 12px 40px rgba(0,0,0,0.08) !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 1250px !important;
}

.sspq-toolbar {
    background: #ffffff !important;
    padding: 16px !important;
    margin-bottom: 18px !important;
    border-radius: 16px !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(160px, auto)) 210px 1fr 220px auto !important;
    gap: 12px !important;
    align-items: center !important;
    box-shadow: 0 8px 25px rgba(0,0,0,0.06) !important;
}

.sspq-toolbar button { display: inline-flex !important; align-items: center !important; justify-content: center !important; min-height: 56px !important; padding: 0 26px !important; border-radius: 0 !important; border: none !important; font-size: 16px !important; font-weight: 800 !important; color: #ffffff !important; cursor: pointer !important; opacity: 1 !important; visibility: visible !important; }
.sspq-main-btn { background: #0b2447 !important; }
.sspq-publish-btn { background: #16a34a !important; }
.sspq-publish-all-btn { background: #0ea5e9 !important; }
#sspq-branch-select, #sspq-search-employee, #sspq-sort-employees { height: 50px !important; border: 1px solid #dbe2ea !important; border-radius: 12px !important; padding: 0 12px !important; font-size: 15px !important; background: #f8fafc !important; box-sizing: border-box !important; }
#sspq-week-total { background: #0f172a !important; color: #ffffff !important; padding: 15px 16px !important; border-radius: 12px !important; font-weight: 800 !important; white-space: nowrap !important; }

.fc { width: 100% !important; max-width: none !important; }
.fc .fc-toolbar { margin-bottom: 25px !important; }
.fc .fc-toolbar-title { font-size: 30px !important; font-weight: 700 !important; color: #0b2447 !important; }
.fc .fc-button { background: #0b2447 !important; border: none !important; padding: 10px 16px !important; border-radius: 12px !important; font-weight: 700 !important; box-shadow: none !important; }
.fc .fc-button-active { background: #1d4ed8 !important; }
.fc-view-harness { min-height: 720px !important; }
.fc-theme-standard td, .fc-theme-standard th, .fc-timeline-slot, .fc-timeline-lane, .fc-datagrid-cell { border-color: #94a3b8 !important; }
.fc-timeline-lane, .fc-datagrid-cell { min-height: 54px !important; }
.fc-datagrid-cell-frame, .fc-timeline-lane-frame { min-height: 54px !important; display: flex !important; align-items: center !important; }
.sspq-resource-label { display: flex !important; justify-content: space-between !important; align-items: center !important; gap: 10px !important; width: 100% !important; }
.sspq-resource-label strong, .sspq-day-total-inside { background: #dbeafe !important; color: #1e3a8a !important; padding: 4px 8px !important; border-radius: 999px !important; font-size: 12px !important; font-weight: 800 !important; }
.fc-event { border: none !important; border-radius: 14px !important; padding: 6px !important; font-size: 13px !important; font-weight: 700 !important; box-shadow: 0 3px 10px rgba(0,0,0,0.15) !important; }
.sspq-event-content { line-height: 1.35 !important; }
.sspq-event-statuses { margin-top: 5px !important; display: flex !important; flex-wrap: wrap !important; gap: 4px !important; }
.sspq-status { background: rgba(255,255,255,0.22) !important; color: #ffffff !important; padding: 2px 5px !important; border-radius: 6px !important; font-size: 10px !important; font-weight: 800 !important; }
.sspq-draft { background: rgba(251,191,36,.95) !important; color: #111827 !important; }
.sspq-published { background: rgba(34,197,94,.95) !important; color: #ffffff !important; }
.sspq-check-row, .sspq-day-check { display: flex !important; align-items: center !important; gap: 10px !important; margin-bottom: 14px !important; }
.sspq-check-row input, .sspq-day-check input { width: 18px !important; height: 18px !important; min-height: 18px !important; padding: 0 !important; margin: 0 !important; flex: 0 0 18px !important; }
.sspq-recurrence-box { background: #f8fafc !important; border: 1px solid #dbe2ea !important; border-radius: 14px !important; padding: 16px !important; margin-top: 8px !important; }
.sspq-days-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }

/* ============================================================
   MOBILE UNIQUEMENT
   ============================================================ */

@media screen and (max-width: 768px) {
    .sspq-app-shell { flex-direction: column !important; width: 100% !important; max-width: 100% !important; margin: 0 !important; }
    .sspq-app-sidebar { width: 100% !important; min-width: 100% !important; max-width: 100% !important; min-height: auto !important; padding: 12px !important; }
    .sspq-app-main { width: 100% !important; max-width: 100% !important; padding: 12px !important; overflow-x: auto !important; }
    .sspq-app-logo { margin-bottom: 12px !important; }
    .sspq-app-logo-mark { width: 44px !important; height: 44px !important; font-size: 14px !important; }
    .sspq-app-logo h2 { font-size: 17px !important; }
    .sspq-app-logo p { font-size: 12px !important; }
    .sspq-app-menu { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px !important; }
    .sspq-app-menu a { text-align: center !important; padding: 10px 8px !important; font-size: 13px !important; }
    .sspq-app-topbar { flex-direction: column !important; align-items: flex-start !important; gap: 10px !important; }
    .sspq-app-topbar h1 { font-size: 24px !important; }
    .sspq-logout-btn { width: 100% !important; text-align: center !important; box-sizing: border-box !important; }
    .sspq-dashboard-grid, .sspq-dashboard-actions, .sspq-form-grid-admin, .sspq-settings-grid, .sspq-filters { grid-template-columns: 1fr !important; }
    .sspq-employes-header { flex-direction: column !important; align-items: flex-start !important; }
    #sspq-open-employee-modal { width: 100% !important; min-width: 0 !important; }
    .sspq-table { min-width: 1100px !important; }
    .sspq-form-grid, .sspq-profile-box { grid-template-columns: 1fr !important; }
    .sspq-modal { max-width: 96% !important; padding: 18px !important; }
    .sspq-modal-actions, .sspq-modal-footer { flex-direction: column !important; }
    .sspq-modal-actions button, .sspq-modal-footer button { width: 100% !important; }
    .sspq-dispo-item { flex-direction: column !important; align-items: flex-start !important; }
    .sspq-horaire-page-card { padding: 10px !important; overflow-x: auto !important; }
    #sspq-calendar { min-width: 980px !important; width: 980px !important; max-width: none !important; }
    .sspq-toolbar { grid-template-columns: 1fr !important; gap: 10px !important; padding: 12px !important; }
    .sspq-toolbar button, .sspq-toolbar select, .sspq-toolbar input, #sspq-week-total { width: 100% !important; min-width: 0 !important; box-sizing: border-box !important; }
    .fc .fc-toolbar { display: flex !important; flex-direction: column !important; gap: 10px !important; align-items: stretch !important; }
    .fc .fc-toolbar-chunk { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 6px !important; }
    .fc .fc-toolbar-title { font-size: 22px !important; text-align: center !important; }
}

/* Sites SSPQ */
#sspq-open-site-modal {
    min-width: 170px !important;
    justify-content: center !important;
}
.sspq-sites-wrap {
    width: 100% !important;
}
.sspq-table-scroll {
    overflow-x: auto !important;
}
.sspq-sites-table {
    min-width: 980px !important;
}
.sspq-form-wide {
    grid-column: 1 / -1 !important;
}
@media (max-width: 820px) {
    #sspq-open-site-modal {
        width: 100% !important;
        min-width: 0 !important;
    }
    .sspq-sites-table {
        min-width: 920px !important;
    }
}


/* ============================================================
   CORRECTIF PAGE CONNEXION SSPQ - v1.5.1
   ============================================================ */
body.page-id-0 .sspq-login-page,
.sspq-login-page {
    position: relative !important;
    width: 100% !important;
    min-height: 100vh !important;
    margin: 0 !important;
}
.sspq-login-page * {
    box-sizing: border-box !important;
}
.sspq-login-card form {
    display: block !important;
    width: 100% !important;
}
.sspq-login-card input[type="text"],
.sspq-login-card input[type="password"] {
    display: block !important;
    height: 46px !important;
    background: #ffffff !important;
    color: #0f172a !important;
    outline: none !important;
}
.sspq-login-card input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
    flex: 0 0 auto !important;
}
.sspq-login-card .sspq-check-inline {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    margin: 14px 0 16px !important;
    font-weight: 700 !important;
}
.sspq-login-card .sspq-btn-dark,
.sspq-login-card button.sspq-btn-dark,
.sspq-login-card button.sspq-full-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 48px !important;
    background: #0b2447 !important;
    color: #ffffff !important;
    border: 1px solid #0b2447 !important;
    border-radius: 10px !important;
    padding: 13px 18px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    cursor: pointer !important;
}
.sspq-login-card .sspq-btn-dark:hover,
.sspq-login-card button.sspq-full-btn:hover {
    background: #12386b !important;
}

/* =========================================================
 * SSPQ - Présences / Feuille de temps
 * ========================================================= */
.sspq-presences-app{position:relative;color:#0b2447}.sspq-pres-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.sspq-pres-top h1{font-size:34px;margin:0;color:#00616b}.sspq-pres-top p{margin:6px 0 0;color:#6b7280}.sspq-pres-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;background:#fff;border-radius:18px;padding:16px;margin-bottom:18px;box-shadow:0 10px 24px rgba(15,23,42,.06)}.sspq-pres-period,.sspq-pres-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.sspq-pres-period input{border:1px solid #d7dee8;border-radius:9px;padding:10px}.sspq-period-state{background:#eaf7f6;color:#00616b;padding:9px 12px;border-radius:999px;font-weight:700}.sspq-btn-soft-red{border:0;border-radius:999px;background:#ffd8d1;color:#fff;padding:12px 22px;font-weight:800;cursor:pointer}.sspq-pres-summary{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:14px;margin-bottom:18px}.sspq-pres-summary>div{background:#f0f8f8;border-radius:14px;padding:16px}.sspq-pres-summary span{display:block;color:#4b7f86;font-size:13px}.sspq-pres-summary strong{display:block;margin-top:8px;color:#00616b;font-size:20px}.sspq-pres-layout{display:grid;grid-template-columns:260px 1fr;gap:18px}.sspq-pres-filters{background:#f0f8f8;border-radius:18px;padding:18px;align-self:start}.sspq-pres-filters h3{margin-top:0;color:#00616b}.sspq-pres-filters input[type=search]{width:100%;border:0;border-radius:999px;padding:11px 14px;margin-bottom:14px}.sspq-pres-filters label{display:block;margin:10px 0;color:#00616b;font-weight:600}.sspq-pres-table-wrap{background:#fff;border-radius:18px;overflow:auto;box-shadow:0 10px 24px rgba(15,23,42,.06)}.sspq-pres-table{width:100%;border-collapse:collapse;min-width:980px}.sspq-pres-table th{background:#f0f8f8;color:#00616b;text-align:left;padding:14px;border-bottom:1px solid #dfe9ef}.sspq-pres-table td{padding:13px 14px;border-bottom:1px solid #edf2f7;color:#4b5563}.sspq-pres-table tr{cursor:pointer}.sspq-pres-table tr:hover{background:#f9fbfc}.sspq-pres-table small{display:block;color:#8a99a8;margin-top:3px}.sspq-pres-alert{display:inline-flex;padding:5px 9px;border-radius:999px;font-weight:700;font-size:12px;background:#e5e7eb}.sspq-pres-st-approved{background:#dcfce7;color:#166534}.sspq-pres-st-complete{background:#e0f2fe;color:#075985}.sspq-pres-st-missing_in,.sspq-pres-st-missing_out,.sspq-pres-st-late{background:#fee2e2;color:#991b1b}.sspq-pres-drawer{position:fixed;right:-560px;top:0;width:min(560px,96vw);height:100vh;background:#fff;z-index:99999;box-shadow:-20px 0 50px rgba(15,23,42,.22);transition:right .25s ease;padding:28px;overflow:auto}.sspq-pres-drawer.open{right:0}.sspq-pres-close{background:transparent;border:0;font-size:34px;color:#00616b;cursor:pointer}.sspq-pres-drawer h2{color:#00616b;margin:16px 0 20px}.sspq-pres-tabs{display:flex;gap:18px;border-bottom:1px solid #e5e7eb;margin-bottom:22px}.sspq-pres-tabs button{background:transparent;border:0;padding:12px 0;color:#669aa1;font-weight:700}.sspq-pres-tabs button.active{color:#ff9b8d;border-bottom:2px solid #ff9b8d}.sspq-pres-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.sspq-pres-drawer label{display:block;font-size:12px;color:#6b7280;margin-bottom:5px}.sspq-pres-drawer input,.sspq-pres-drawer textarea{width:100%;box-sizing:border-box;border:1px solid #d7dee8;border-radius:10px;padding:12px}.sspq-pres-drawer h3{color:#00616b;margin:24px 0 12px}.sspq-pres-drawer-actions{display:flex;gap:10px;margin-top:20px}
@media(max-width:900px){.sspq-pres-toolbar,.sspq-pres-top{align-items:flex-start;flex-direction:column}.sspq-pres-summary{grid-template-columns:1fr 1fr}.sspq-pres-layout{grid-template-columns:1fr}.sspq-pres-filters{order:1}.sspq-pres-table-wrap{order:2}.sspq-pres-form-grid{grid-template-columns:1fr}}

.sspq-alert-info {
    background: #e0f2fe !important;
    border: 1px solid #7dd3fc !important;
    color: #075985 !important;
    padding: 12px 14px !important;
    border-radius: 10px !important;
    margin: 12px 0 !important;
    font-weight: 700 !important;
}
.sspq-login-links {
    margin-top: 14px !important;
    text-align: center !important;
}
.sspq-login-links a {
    color: #006272 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}
.sspq-login-links a:hover {
    text-decoration: underline !important;
}

/* =========================================================
   SSPQ 1.7.0 - SURVOL OR ACCUEIL / MENU / BOUTONS
   Ajout vérifié : 2026-05-13
   ========================================================= */

.sspq-app-menu a,
.sspq-dashboard-actions .sspq-action-card,
.sspq-action-card,
.sspq-dashboard-card,
.sspq-btn-primary,
.sspq-btn-dark,
.sspq-btn-secondary,
.sspq-main-btn,
.sspq-publish-btn,
.sspq-publish-all-btn,
.sspq-logout-btn,
.sspq-profile,
.sspq-edit,
.sspq-edit-dispo,
#sspq-open-employee-modal,
button,
input[type="submit"] {
    transition: background 0.22s ease, color 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease !important;
}

.sspq-app-menu a:hover,
.sspq-app-menu a.active:hover,
.sspq-dashboard-actions .sspq-action-card:hover,
.sspq-action-card:hover,
.sspq-dashboard-card:hover,
.sspq-btn-primary:hover,
.sspq-btn-dark:hover,
.sspq-btn-secondary:hover,
.sspq-main-btn:hover,
.sspq-publish-btn:hover,
.sspq-publish-all-btn:hover,
.sspq-profile:hover,
.sspq-edit:hover,
.sspq-edit-dispo:hover,
#sspq-open-employee-modal:hover,
button:hover,
input[type="submit"]:hover {
    background: linear-gradient(135deg, #d4af37 0%, #f5d76e 100%) !important;
    color: #0b2447 !important;
    border-color: #d4af37 !important;
    box-shadow: 0 8px 20px rgba(212, 175, 55, 0.35) !important;
    transform: translateY(-1px) !important;
}

.sspq-app-menu a:hover *,
.sspq-action-card:hover *,
.sspq-dashboard-card:hover *,
.sspq-btn-primary:hover *,
.sspq-btn-dark:hover *,
.sspq-btn-secondary:hover *,
.sspq-main-btn:hover *,
.sspq-publish-btn:hover *,
.sspq-publish-all-btn:hover * {
    color: #0b2447 !important;
}

.sspq-logout-btn:hover,
.sspq-btn-red:hover,
.sspq-btn-danger:hover,
.sspq-archive:hover,
.sspq-delete-dispo:hover {
    background: linear-gradient(135deg, #d4af37 0%, #f5d76e 100%) !important;
    color: #0b2447 !important;
    border-color: #d4af37 !important;
    box-shadow: 0 8px 20px rgba(212, 175, 55, 0.35) !important;
}

/* =========================================================
   SSPQ 1.7.0 - CORRECTIONS HORAIRE
   1) X de fermeture centré dans son carré
   2) Hover or sur boutons de l'horaire
   3) Compatibilité boutons Jour / Semaine / Mois
   ========================================================= */

/* X modal nouveau quart - centrage robuste */
.sspq-modal-close,
.sspq-shift-modal-close,
.sspq-close-modal,
.sspq-modal .sspq-close,
.sspq-modal [data-close],
.sspq-modal button[aria-label="Fermer"],
.sspq-modal button[aria-label="Close"],
#sspq-shift-modal .sspq-modal-close,
#sspq-shift-modal .sspq-close-modal,
#sspq-shift-modal .sspq-close,
.sspq-shift-panel-close,
.sspq-drawer-close {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    text-align: center !important;
    border-radius: 10px !important;
    font-size: 20px !important;
    font-weight: 700 !important;
}

/* Hover or - boutons et contrôles de la page horaire */
.sspq-schedule-page button:hover,
.sspq-schedule-page .button:hover,
.sspq-schedule-page .sspq-btn:hover,
.sspq-schedule-page .sspq-primary-btn:hover,
.sspq-schedule-page .sspq-secondary-btn:hover,
.sspq-schedule-page .sspq-create-shift:hover,
.sspq-schedule-page .sspq-new-shift:hover,
.sspq-schedule-page .sspq-publish-btn:hover,
.sspq-schedule-page .sspq-filter-btn:hover,
.sspq-schedule-page .sspq-view-btn:hover,
.sspq-schedule-page .fc-button:hover,
.sspq-schedule-page .fc-button-primary:hover,
.sspq-schedule-page .fc-today-button:hover,
.sspq-schedule-page .fc-prev-button:hover,
.sspq-schedule-page .fc-next-button:hover,
.sspq-schedule-page .fc-dayGridMonth-button:hover,
.sspq-schedule-page .fc-timeGridWeek-button:hover,
.sspq-schedule-page .fc-timeGridDay-button:hover,
.sspq-horaire button:hover,
.sspq-horaire .button:hover,
.sspq-horaire .sspq-btn:hover,
.sspq-horaire .fc-button:hover,
.sspq-calendar-wrap button:hover,
.sspq-calendar-wrap .fc-button:hover,
#sspq-calendar button:hover,
#sspq-calendar .fc-button:hover {
    background: linear-gradient(135deg, #d4af37 0%, #f5d76e 100%) !important;
    color: #0b2447 !important;
    border-color: #d4af37 !important;
    box-shadow: 0 8px 20px rgba(212, 175, 55, 0.35) !important;
    transform: translateY(-1px) !important;
    transition: all 0.22s ease !important;
}

.sspq-schedule-page button:hover *,
.sspq-schedule-page .fc-button:hover *,
.sspq-horaire button:hover *,
.sspq-horaire .fc-button:hover *,
#sspq-calendar button:hover *,
#sspq-calendar .fc-button:hover * {
    color: #0b2447 !important;
}

/* Ne pas casser les boutons désactivés */
.sspq-schedule-page button:disabled:hover,
.sspq-schedule-page .fc-button:disabled:hover,
.sspq-horaire button:disabled:hover,
#sspq-calendar button:disabled:hover {
    transform: none !important;
    box-shadow: none !important;
    opacity: 0.65 !important;
}

/* Sécurité visuelle pour les textes des boutons FullCalendar */
.fc-dayGridMonth-button,
.fc-timeGridWeek-button,
.fc-timeGridDay-button {
    text-transform: none !important;
}


/* =========================================================
   SSPQ 1.7.0 - CORRECTIONS EMPLOYÉS
   ========================================================= */

.sspq-employes-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
}

.sspq-employes-header-actions {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
}

.sspq-employes-wrap button:hover,
.sspq-employes-wrap .sspq-btn-primary:hover,
.sspq-employes-wrap .sspq-btn-secondary:hover,
.sspq-employes-wrap .sspq-btn-danger:hover,
.sspq-employes-wrap .sspq-btn-success:hover,
.sspq-employes-wrap .sspq-profile:hover,
.sspq-employes-wrap .sspq-edit:hover,
.sspq-employes-wrap .sspq-edit-dispo:hover,
.sspq-employes-wrap .sspq-archive:hover,
.sspq-employes-wrap .sspq-reactivate:hover,
.sspq-profile-modal button:hover,
#sspq-employee-modal button:hover,
#sspq-profile-modal button:hover {
    background: linear-gradient(135deg, #d4af37 0%, #f5d76e 100%) !important;
    color: #0b2447 !important;
    border-color: #d4af37 !important;
    box-shadow: 0 8px 20px rgba(212,175,55,0.35) !important;
    transform: translateY(-1px) !important;
}

.sspq-loader-line {
    height: 16px !important;
    width: 100% !important;
    max-width: 460px !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg, #e5e7eb, #f8fafc, #e5e7eb) !important;
    background-size: 220% 100% !important;
    animation: sspqLoaderPulse 1.2s infinite linear !important;
    margin: 6px 0 !important;
}

.sspq-loader-line.short {
    max-width: 280px !important;
}

@keyframes sspqLoaderPulse {
    0% { background-position: 220% 0; }
    100% { background-position: -220% 0; }
}

.sspq-help-text {
    margin: -4px 0 12px !important;
    color: #64748b !important;
    font-size: 13px !important;
}

.sspq-positions-rates-list {
    display: grid !important;
    gap: 10px !important;
    margin-bottom: 10px !important;
}

.sspq-position-rate-row {
    display: grid !important;
    grid-template-columns: 1fr 160px auto !important;
    gap: 10px !important;
    align-items: center !important;
}

.sspq-position-rate-row select,
.sspq-position-rate-row input {
    width: 100% !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 10px !important;
    padding: 11px 12px !important;
    box-sizing: border-box !important;
}

.sspq-full-field {
    grid-column: 1 / -1 !important;
}

.sspq-days-multi {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin-top: 6px !important;
}

.sspq-days-multi label {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 10px !important;
    padding: 10px !important;
    background: #ffffff !important;
    font-weight: 700 !important;
}

.sspq-days-multi label:hover {
    border-color: #d4af37 !important;
    box-shadow: 0 4px 12px rgba(212,175,55,0.25) !important;
}

@media (max-width: 760px) {
    .sspq-employes-header {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    .sspq-position-rate-row {
        grid-template-columns: 1fr !important;
    }

    .sspq-days-multi {
        grid-template-columns: 1fr 1fr !important;
    }
}


/* =========================================================
   SSPQ 1.7.0 - CORRECTIONS PRÉSENCES + EMPLOYÉS
   ========================================================= */

.sspq-presences-app button,
.sspq-presences-app .sspq-btn-dark,
.sspq-presences-app .sspq-btn-secondary,
.sspq-presences-app .sspq-btn-soft-red,
.sspq-presences-app .sspq-logout-btn,
.sspq-pres-tabs button,
.sspq-pres-close {
    opacity: 1 !important;
    visibility: visible !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 38px !important;
    color: #ffffff !important;
    border-radius: 10px !important;
    cursor: pointer !important;
}

.sspq-pres-tabs {
    display: flex !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    margin: 12px 0 16px !important;
}

.sspq-pres-tabs button {
    background: #334155 !important;
    border: 1px solid #1e293b !important;
    padding: 10px 12px !important;
    font-weight: 800 !important;
}

.sspq-pres-tabs button.active {
    background: #0b2447 !important;
    border-color: #0b2447 !important;
}

.sspq-presences-app button:hover,
.sspq-presences-app .sspq-btn-dark:hover,
.sspq-presences-app .sspq-btn-secondary:hover,
.sspq-presences-app .sspq-btn-soft-red:hover,
.sspq-pres-tabs button:hover,
.sspq-pres-close:hover {
    background: linear-gradient(135deg, #d4af37 0%, #f5d76e 100%) !important;
    color: #0b2447 !important;
    border-color: #d4af37 !important;
    box-shadow: 0 8px 20px rgba(212,175,55,0.35) !important;
}

.sspq-pres-info-box {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 14px !important;
    color: #334155 !important;
    line-height: 1.5 !important;
}

.sspq-pres-table th,
.sspq-pres-table td {
    white-space: nowrap !important;
}

.sspq-position-rate-row {
    position: relative !important;
    z-index: 2 !important;
}

#sspq-add-position-rate {
    display: inline-flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}


/* =========================================================
   SSPQ 1.7.0 - BOUTONS PRÉSENCES VISIBLES
   Correction ciblée : Approuver tout / Sauvegarder / X
   ========================================================= */

#sspq-presences-app #sspq-pres-approve-all,
#sspq-presences-app #sspq-pres-save-btn,
#sspq-presences-app #sspq-pres-approve-one,
#sspq-presences-app #sspq-pres-export,
#sspq-presences-app #sspq-pres-load,
#sspq-presences-app #sspq-pres-close,
#sspq-presences-app .sspq-pres-visible-btn,
#sspq-presences-app .sspq-pres-drawer-actions button,
#sspq-presences-app .sspq-pres-actions button,
#sspq-presences-app .sspq-pres-toolbar button {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 110px !important;
    min-height: 42px !important;
    height: auto !important;
    padding: 10px 16px !important;
    margin: 0 !important;
    border-radius: 10px !important;
    border: 1px solid #0b2447 !important;
    background: #0b2447 !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-indent: 0 !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    transform: none !important;
    box-shadow: none !important;
    position: relative !important;
    z-index: 9999 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}

#sspq-presences-app #sspq-pres-approve-all,
#sspq-presences-app #sspq-pres-save-btn {
    background: #b91c1c !important;
    border-color: #7f1d1d !important;
    color: #ffffff !important;
}

#sspq-presences-app #sspq-pres-close {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
    border-radius: 12px !important;
    background: #b91c1c !important;
    border-color: #7f1d1d !important;
    color: #ffffff !important;
    font-size: 26px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

#sspq-presences-app #sspq-pres-approve-all:hover,
#sspq-presences-app #sspq-pres-save-btn:hover,
#sspq-presences-app #sspq-pres-approve-one:hover,
#sspq-presences-app #sspq-pres-export:hover,
#sspq-presences-app #sspq-pres-load:hover,
#sspq-presences-app #sspq-pres-close:hover,
#sspq-presences-app .sspq-pres-visible-btn:hover,
#sspq-presences-app .sspq-pres-drawer-actions button:hover,
#sspq-presences-app .sspq-pres-actions button:hover,
#sspq-presences-app .sspq-pres-toolbar button:hover {
    background: linear-gradient(135deg, #d4af37 0%, #f5d76e 100%) !important;
    border-color: #d4af37 !important;
    color: #0b2447 !important;
    box-shadow: 0 8px 20px rgba(212,175,55,0.35) !important;
}

#sspq-presences-app .sspq-pres-drawer {
    z-index: 9998 !important;
}

#sspq-presences-app .sspq-pres-drawer-actions {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    margin-top: 16px !important;
    padding-bottom: 20px !important;
}

/* =========================================================
   SSPQ 1.7.0 - RAPPORTS JOURNALIERS / ÉVÉNEMENTS
   ========================================================= */

.sspq-rapports-app {
    color: #0b2447 !important;
}

.sspq-rapports-top {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 18px !important;
    margin-bottom: 22px !important;
}

.sspq-rapports-top h1 {
    margin: 0 !important;
    color: #0b2447 !important;
    font-size: 34px !important;
}

.sspq-rapports-top p {
    margin: 6px 0 0 !important;
    color: #64748b !important;
}

.sspq-rapports-top-actions,
.sspq-rapports-filters {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    align-items: center !important;
}

.sspq-rapports-filters {
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 16px !important;
    padding: 14px !important;
    margin-bottom: 18px !important;
    box-shadow: 0 10px 24px rgba(15,23,42,0.06) !important;
}

.sspq-rapports-filters input,
.sspq-rapports-filters select {
    border: 1px solid #cbd5e1 !important;
    border-radius: 10px !important;
    padding: 11px 12px !important;
    min-height: 42px !important;
}

.sspq-rapports-filters input {
    min-width: 280px !important;
}

.sspq-rapports-table small {
    display: block !important;
    color: #64748b !important;
    margin-top: 4px !important;
}

.sspq-report-actions {
    display: flex !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
}

.sspq-report-status,
.sspq-report-type {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    padding: 6px 10px !important;
    font-weight: 800 !important;
    font-size: 12px !important;
    background: #e2e8f0 !important;
    color: #334155 !important;
}

.sspq-report-submitted { background: #dbeafe !important; color: #1d4ed8 !important; }
.sspq-report-approved { background: #dcfce7 !important; color: #166534 !important; }
.sspq-report-sent { background: #ede9fe !important; color: #5b21b6 !important; }
.sspq-report-rejected { background: #fee2e2 !important; color: #991b1b !important; }

.sspq-report-modal {
    max-width: 980px !important;
    width: calc(100vw - 40px) !important;
}

.sspq-settings-list {
    margin-top: 18px !important;
    display: grid !important;
    gap: 10px !important;
}

.sspq-setting-row {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 12px !important;
    display: grid !important;
    gap: 4px !important;
}

.sspq-setting-row strong {
    color: #0b2447 !important;
}

.sspq-setting-row span,
.sspq-setting-row small {
    color: #64748b !important;
}

.sspq-rapports-app button:hover,
.sspq-rapports-app .sspq-btn-primary:hover,
.sspq-rapports-app .sspq-btn-secondary:hover,
.sspq-rapports-app .sspq-btn-dark:hover {
    background: linear-gradient(135deg, #d4af37 0%, #f5d76e 100%) !important;
    color: #0b2447 !important;
    border-color: #d4af37 !important;
    box-shadow: 0 8px 20px rgba(212,175,55,0.35) !important;
}

@media (max-width: 760px) {
    .sspq-rapports-top {
        flex-direction: column !important;
    }

    .sspq-rapports-filters input,
    .sspq-rapports-filters select,
    .sspq-rapports-filters button {
        width: 100% !important;
    }

    .sspq-rapports-table {
        min-width: 900px !important;
    }
}

/* =========================================================
   SSPQ 1.7.0 - MESSAGERIE STYLE MESSENGER
   ========================================================= */

.sspq-messages-app {
    color: #0b2447 !important;
}

.sspq-msg-top {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 18px !important;
    margin-bottom: 18px !important;
}

.sspq-msg-top h1 {
    margin: 0 !important;
    color: #0b2447 !important;
    font-size: 34px !important;
}

.sspq-msg-top p {
    margin: 6px 0 0 !important;
    color: #64748b !important;
}

.sspq-msg-top-actions {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
}

.sspq-msg-shell {
    display: grid !important;
    grid-template-columns: 330px minmax(0, 1fr) !important;
    gap: 16px !important;
    height: calc(100vh - 150px) !important;
    min-height: 620px !important;
}

.sspq-msg-sidebar,
.sspq-msg-chat {
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 24px rgba(15,23,42,0.06) !important;
    overflow: hidden !important;
}

.sspq-msg-search {
    padding: 14px !important;
    border-bottom: 1px solid #e5e7eb !important;
}

.sspq-msg-search input {
    width: 100% !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 999px !important;
    padding: 12px 14px !important;
    box-sizing: border-box !important;
}

.sspq-msg-thread-list {
    overflow-y: auto !important;
    height: calc(100% - 70px) !important;
    padding: 8px !important;
}

.sspq-msg-thread {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 12px !important;
    border: 0 !important;
    background: transparent !important;
    border-radius: 14px !important;
    cursor: pointer !important;
    text-align: left !important;
    color: #0b2447 !important;
}

.sspq-msg-thread:hover,
.sspq-msg-thread.active {
    background: #eaf2ff !important;
}

.sspq-msg-avatar {
    width: 42px !important;
    height: 42px !important;
    border-radius: 50% !important;
    background: #0b2447 !important;
    color: #ffffff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: 900 !important;
    flex-shrink: 0 !important;
}

.sspq-msg-thread-meta {
    min-width: 0 !important;
    display: grid !important;
    gap: 2px !important;
}

.sspq-msg-thread-meta strong,
.sspq-msg-thread-meta small,
.sspq-msg-thread-meta em {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.sspq-msg-thread-meta strong {
    color: #0b2447 !important;
}

.sspq-msg-thread-meta small {
    color: #475569 !important;
    font-style: normal !important;
}

.sspq-msg-thread-meta em {
    color: #94a3b8 !important;
    font-style: normal !important;
    font-size: 12px !important;
}

.sspq-msg-chat {
    display: grid !important;
    grid-template-rows: auto 1fr auto !important;
}

.sspq-msg-chat-header {
    display: flex !important;
    justify-content: space-between !important;
    gap: 12px !important;
    align-items: center !important;
    padding: 16px 18px !important;
    border-bottom: 1px solid #e5e7eb !important;
}

.sspq-msg-chat-header h2 {
    margin: 0 !important;
    color: #0b2447 !important;
    font-size: 20px !important;
}

.sspq-msg-chat-header p {
    margin: 4px 0 0 !important;
    color: #64748b !important;
}

.sspq-msg-messages {
    padding: 18px !important;
    overflow-y: auto !important;
    background: #f8fafc !important;
}

.sspq-msg-bubble-row {
    display: flex !important;
    margin-bottom: 12px !important;
}

.sspq-msg-bubble-row.mine {
    justify-content: flex-end !important;
}

.sspq-msg-bubble-row.theirs {
    justify-content: flex-start !important;
}

.sspq-msg-bubble {
    max-width: min(680px, 78%) !important;
    border-radius: 18px !important;
    padding: 11px 13px !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 4px 14px rgba(15,23,42,0.05) !important;
}

.sspq-msg-bubble-row.mine .sspq-msg-bubble {
    background: #0b2447 !important;
    color: #ffffff !important;
    border-color: #0b2447 !important;
}

.sspq-msg-bubble-head {
    font-size: 12px !important;
    font-weight: 800 !important;
    margin-bottom: 6px !important;
}

.sspq-msg-bubble-head span {
    opacity: 0.75 !important;
    font-weight: 600 !important;
}

.sspq-msg-bubble-text {
    line-height: 1.45 !important;
}

.sspq-msg-form {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    gap: 10px !important;
    padding: 14px !important;
    border-top: 1px solid #e5e7eb !important;
    background: #ffffff !important;
}

.sspq-msg-form textarea {
    width: 100% !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 16px !important;
    padding: 12px 14px !important;
    resize: vertical !important;
    box-sizing: border-box !important;
}

.sspq-msg-empty {
    padding: 18px !important;
    color: #64748b !important;
}

.sspq-msg-access-list {
    display: grid !important;
    gap: 10px !important;
    margin-top: 14px !important;
    max-height: 520px !important;
    overflow-y: auto !important;
}

.sspq-msg-access-row {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 12px !important;
    background: #f8fafc !important;
}

.sspq-msg-access-row span {
    display: grid !important;
    gap: 2px !important;
}

.sspq-msg-access-row small {
    color: #64748b !important;
}

.sspq-messages-app button:hover,
.sspq-messages-app .sspq-btn-primary:hover,
.sspq-messages-app .sspq-btn-secondary:hover,
.sspq-messages-app .sspq-btn-dark:hover {
    background: linear-gradient(135deg, #d4af37 0%, #f5d76e 100%) !important;
    color: #0b2447 !important;
    border-color: #d4af37 !important;
    box-shadow: 0 8px 20px rgba(212,175,55,0.35) !important;
}

@media (max-width: 900px) {
    .sspq-msg-shell {
        grid-template-columns: 1fr !important;
        height: auto !important;
    }

    .sspq-msg-sidebar {
        min-height: 280px !important;
    }

    .sspq-msg-chat {
        min-height: 620px !important;
    }

    .sspq-msg-form {
        grid-template-columns: 1fr !important;
    }

    .sspq-msg-top {
        flex-direction: column !important;
    }
}

/* =========================================================
   SSPQ 1.7.0 - UNIFORMES / INVENTAIRE
   ========================================================= */

.sspq-uniformes-top {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 18px !important;
    margin-bottom: 18px !important;
}

.sspq-uniformes-top h1 {
    margin: 0 !important;
    color: #0b2447 !important;
    font-size: 34px !important;
}

.sspq-uniformes-top p {
    margin: 6px 0 0 !important;
    color: #64748b !important;
}

.sspq-uniformes-actions,
.sspq-uniformes-filters {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    align-items: center !important;
}

.sspq-uniformes-filters {
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 16px !important;
    padding: 14px !important;
    margin-bottom: 18px !important;
    box-shadow: 0 10px 24px rgba(15,23,42,0.06) !important;
}

.sspq-uniformes-filters input,
.sspq-uniformes-filters select {
    border: 1px solid #cbd5e1 !important;
    border-radius: 10px !important;
    padding: 11px 12px !important;
    min-height: 42px !important;
}

.sspq-uniformes-filters input {
    min-width: 320px !important;
}

.sspq-uniformes-summary {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin-bottom: 18px !important;
}

.sspq-uniformes-summary div {
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 16px !important;
    padding: 18px !important;
    box-shadow: 0 10px 24px rgba(15,23,42,0.06) !important;
}

.sspq-uniformes-summary span {
    display: block !important;
    color: #64748b !important;
    font-weight: 800 !important;
    font-size: 13px !important;
}

.sspq-uniformes-summary strong {
    display: block !important;
    margin-top: 8px !important;
    color: #0b2447 !important;
    font-size: 26px !important;
}

.sspq-uniformes-table small,
.sspq-uniformes-issued-table small,
.sspq-uniformes-history-table small {
    display: block !important;
    color: #64748b !important;
    margin-top: 4px !important;
}

.sspq-uniform-actions {
    display: flex !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
}

.sspq-uniform-low {
    background: #fff7ed !important;
}

.sspq-stock-alert {
    display: inline-flex !important;
    margin-top: 4px !important;
    background: #fed7aa !important;
    color: #9a3412 !important;
    border-radius: 999px !important;
    padding: 4px 8px !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

.sspq-chip-red,
.sspq-chip-green,
.sspq-uniform-type {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    padding: 5px 9px !important;
    font-weight: 900 !important;
    font-size: 12px !important;
}

.sspq-chip-red {
    background: #fee2e2 !important;
    color: #991b1b !important;
}

.sspq-chip-green {
    background: #dcfce7 !important;
    color: #166534 !important;
}

.sspq-uniform-type {
    background: #e0f2fe !important;
    color: #075985 !important;
}

.sspq-uniformes-app button:hover,
.sspq-uniformes-app .sspq-btn-primary:hover,
.sspq-uniformes-app .sspq-btn-secondary:hover,
.sspq-uniformes-app .sspq-btn-dark:hover,
.sspq-uniformes-app .sspq-btn-danger:hover {
    background: linear-gradient(135deg, #d4af37 0%, #f5d76e 100%) !important;
    color: #0b2447 !important;
    border-color: #d4af37 !important;
    box-shadow: 0 8px 20px rgba(212,175,55,0.35) !important;
}

@media (max-width: 900px) {
    .sspq-uniformes-top {
        flex-direction: column !important;
    }

    .sspq-uniformes-summary {
        grid-template-columns: 1fr 1fr !important;
    }

    .sspq-uniformes-filters input,
    .sspq-uniformes-filters select,
    .sspq-uniformes-filters button {
        width: 100% !important;
        min-width: 0 !important;
    }

    .sspq-uniformes-table,
    .sspq-uniformes-issued-table,
    .sspq-uniformes-history-table {
        min-width: 1000px !important;
    }
}

/* =========================================================
   SSPQ 1.7.0 - PARAMÈTRES
   ========================================================= */

.sspq-param-top h1 {
    margin: 0 !important;
    color: #0b2447 !important;
    font-size: 34px !important;
}

.sspq-param-top p {
    color: #64748b !important;
    margin: 6px 0 18px !important;
}

.sspq-param-tabs {
    display: flex !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    margin-bottom: 18px !important;
}

.sspq-param-tabs button {
    background: #334155 !important;
    color: #ffffff !important;
    border: 1px solid #1e293b !important;
    border-radius: 10px !important;
    padding: 11px 14px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
}

.sspq-param-tabs button.active {
    background: #0b2447 !important;
}

.sspq-param-panel {
    display: none !important;
}

.sspq-param-panel.active {
    display: block !important;
}

.sspq-param-card {
    padding: 22px !important;
}

.sspq-param-card h2 {
    margin-top: 0 !important;
    color: #0b2447 !important;
}

.sspq-profile-photo-row {
    display: flex !important;
    gap: 20px !important;
    align-items: center !important;
    flex-wrap: wrap !important;
}

.sspq-profile-photo-preview {
    width: 110px !important;
    height: 110px !important;
    border-radius: 50% !important;
    background: #0b2447 !important;
    color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: 900 !important;
    background-size: cover !important;
    background-position: center !important;
    border: 4px solid #d4af37 !important;
}

.sspq-profile-photo-form {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    align-items: center !important;
}

.sspq-inline-form {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    margin-bottom: 16px !important;
}

.sspq-inline-form input,
.sspq-inline-form select,
.sspq-param-card input,
.sspq-param-card select,
.sspq-param-card textarea {
    border: 1px solid #cbd5e1 !important;
    border-radius: 10px !important;
    padding: 11px 12px !important;
    box-sizing: border-box !important;
}

.sspq-param-list {
    display: grid !important;
    gap: 10px !important;
    margin-top: 16px !important;
}

.sspq-param-row {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto auto !important;
    gap: 12px !important;
    align-items: center !important;
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    padding: 13px !important;
}

.sspq-param-row strong {
    color: #0b2447 !important;
}

.sspq-param-row small {
    display: block !important;
    color: #64748b !important;
    margin-top: 4px !important;
}

.sspq-param-row-actions {
    display: flex !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}

.sspq-parametres-app button:hover,
.sspq-parametres-app .sspq-btn-primary:hover,
.sspq-parametres-app .sspq-btn-secondary:hover,
.sspq-parametres-app .sspq-btn-dark:hover,
.sspq-parametres-app .sspq-btn-danger:hover {
    background: linear-gradient(135deg, #d4af37 0%, #f5d76e 100%) !important;
    color: #0b2447 !important;
    border-color: #d4af37 !important;
    box-shadow: 0 8px 20px rgba(212,175,55,0.35) !important;
}

@media (max-width: 800px) {
    .sspq-param-row {
        grid-template-columns: 1fr !important;
    }

    .sspq-inline-form input,
    .sspq-inline-form select,
    .sspq-inline-form button {
        width: 100% !important;
    }
}


/* SSPQ Gestion 1.7.2 - Paramètres / image de connexion */
.sspq-login-bg-row { align-items: stretch; }
.sspq-login-bg-preview {
    width: 280px;
    min-width: 280px;
    height: 160px;
    border-radius: 14px;
    background: #e5e7eb center/cover no-repeat;
    border: 1px solid #d7dde6;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.55);
}
.sspq-login-bg-row .sspq-profile-photo-form {
    display: flex;
    flex-direction: column;
    gap: 10px;
    justify-content: center;
}
@media (max-width: 760px) {
    .sspq-login-bg-row { flex-direction: column; }
    .sspq-login-bg-preview { width: 100%; min-width: 0; height: 190px; }
}


/* ===== LOGIN TRACKTIK ===== */
/* SSPQ Gestion 1.7.2 - Connexion style TrackTik */
html, body { margin: 0 !important; padding: 0 !important; }
body.page-template-default, body.page { background: #e9e9e9 !important; }
body.page-id-0 header,
body.page-id-0 footer,
body .site-header,
body .site-footer,
body header.wp-block-template-part,
body footer.wp-block-template-part { display: none !important; }
body:has(.sspq-login-tracktik) .site-header,
body:has(.sspq-login-tracktik) .site-footer,
body:has(.sspq-login-tracktik) header,
body:has(.sspq-login-tracktik) footer { display: none !important; }
body:has(.sspq-login-tracktik) .entry-content,
body:has(.sspq-login-tracktik) .wp-site-blocks,
body:has(.sspq-login-tracktik) main,
body:has(.sspq-login-tracktik) article,
body:has(.sspq-login-tracktik) .content-area,
body:has(.sspq-login-tracktik) .site-main { margin: 0 !important; padding: 0 !important; max-width: none !important; width: 100% !important; }
.sspq-login-page.sspq-login-tracktik {
    min-height: 100vh !important;
    width: 100vw !important;
    display: grid !important;
    grid-template-columns: 60% 40% !important;
    background: #e8e8e8 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    overflow: hidden !important;
}
.sspq-login-tracktik .sspq-login-photo {
    min-height: 100vh !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}
.sspq-login-tracktik .sspq-login-side {
    min-height: 100vh !important;
    background: #e8e8e8 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 40px !important;
}
.sspq-login-tracktik .sspq-login-panel,
.sspq-login-tracktik .sspq-login-panel-only {
    width: 100% !important;
    max-width: 360px !important;
    color: #777 !important;
}
.sspq-login-tracktik .sspq-brand-row {
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    margin-bottom: 34px !important;
}
.sspq-login-tracktik .sspq-brand-mark {
    width: 74px !important;
    height: 50px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #0b1730 !important;
    font-size: 42px !important;
    position: relative !important;
}
.sspq-login-tracktik .sspq-brand-mark:before,
.sspq-login-tracktik .sspq-brand-mark:after {
    content: '' !important;
    position: absolute !important;
    top: 11px !important;
    width: 28px !important;
    height: 28px !important;
    border: 3px solid #d7b85d !important;
}
.sspq-login-tracktik .sspq-brand-mark:before { left: -14px !important; border-right: 0 !important; border-radius: 50% 0 0 50% !important; transform: rotate(-18deg) !important; }
.sspq-login-tracktik .sspq-brand-mark:after { right: -14px !important; border-left: 0 !important; border-radius: 0 50% 50% 0 !important; transform: rotate(18deg) !important; }
.sspq-login-tracktik .sspq-brand-text strong {
    display: block !important;
    color: #0b1730 !important;
    font-size: 24px !important;
    line-height: .78 !important;
    letter-spacing: .5px !important;
    text-transform: lowercase !important;
}
.sspq-login-tracktik .sspq-brand-text strong span {
    color: #d7b85d !important;
    font-size: 32px !important;
    letter-spacing: 2px !important;
}
.sspq-login-tracktik .sspq-brand-text small {
    display: block !important;
    margin-top: 4px !important;
    color: #777 !important;
    font-size: 8px !important;
}
.sspq-login-tracktik h1 {
    color: #c9c9c9 !important;
    font-size: 22px !important;
    line-height: 1.08 !important;
    font-weight: 400 !important;
    margin: 0 0 14px !important;
}
.sspq-login-tracktik .sspq-login-intro {
    color: #333 !important;
    font-size: 13px !important;
    margin: 0 0 14px !important;
}
.sspq-login-tracktik .sspq-field-label { display: none !important; }
.sspq-login-tracktik input[type="text"],
.sspq-login-tracktik input[type="password"] {
    width: 100% !important;
    height: 36px !important;
    box-sizing: border-box !important;
    border: 1px solid #98a1ad !important;
    background: #eaf2ff !important;
    color: #000 !important;
    padding: 7px 12px !important;
    font-size: 13px !important;
    margin: 0 0 14px !important;
    border-radius: 0 !important;
    outline: none !important;
}
.sspq-login-tracktik input[type="text"]:focus,
.sspq-login-tracktik input[type="password"]:focus { border-color: #526273 !important; box-shadow: none !important; }
.sspq-login-tracktik .sspq-tracktik-remember {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    color: #333 !important;
    font-size: 13px !important;
    margin: 4px 0 14px !important;
}
.sspq-login-tracktik .sspq-tracktik-submit {
    width: 100% !important;
    height: 44px !important;
    border: 0 !important;
    background: #ef2417 !important;
    color: #fff !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 28px !important;
    text-decoration: none !important;
    cursor: pointer !important;
    border-radius: 0 !important;
    margin-top: 10px !important;
}
.sspq-login-tracktik .sspq-tracktik-submit:hover { background: #d91f14 !important; }
.sspq-login-tracktik .sspq-lock { font-size: 13px !important; }
.sspq-login-tracktik .sspq-tracktik-links {
    margin-top: 32px !important;
    color: #aaa !important;
    font-size: 13px !important;
}
.sspq-login-tracktik .sspq-tracktik-links a { color: #7ca6c8 !important; text-decoration: none !important; }
.sspq-login-tracktik .sspq-alert-error,
.sspq-login-tracktik .sspq-alert-info {
    padding: 10px 12px !important;
    margin: 0 0 14px !important;
    font-size: 13px !important;
    border-left: 4px solid #ef2417 !important;
    background: #fff !important;
    color: #333 !important;
}
.sspq-login-tracktik .sspq-alert-info { border-left-color: #0b2447 !important; }
@media (max-width: 900px) {
    .sspq-login-page.sspq-login-tracktik { grid-template-columns: 1fr !important; }
    .sspq-login-tracktik .sspq-login-photo { min-height: 230px !important; }
    .sspq-login-tracktik .sspq-login-side { min-height: calc(100vh - 230px) !important; padding: 28px 18px !important; }
}
@media (max-width: 520px) {
    .sspq-login-tracktik .sspq-login-photo { min-height: 190px !important; }
    .sspq-login-tracktik .sspq-login-side { align-items: flex-start !important; }
    .sspq-login-tracktik .sspq-brand-row { transform: scale(.9); transform-origin: left center; }
}


/* =========================================================
   SSPQ 1.8.3 - STABILISATION FINALE
   ========================================================= */

body:has(.sspq-login-tracktik) {
    background: #e8e8e8 !important;
}

body:has(.sspq-login-tracktik) header,
body:has(.sspq-login-tracktik) footer,
body:has(.sspq-login-tracktik) .site-header,
body:has(.sspq-login-tracktik) .site-footer {
    display: none !important;
}

body:has(.sspq-login-tracktik) .entry-content,
body:has(.sspq-login-tracktik) .site-content,
body:has(.sspq-login-tracktik) .content-area,
body:has(.sspq-login-tracktik) .elementor,
body:has(.sspq-login-tracktik) .elementor-section,
body:has(.sspq-login-tracktik) .elementor-container,
body:has(.sspq-login-tracktik) .elementor-widget-wrap,
body:has(.sspq-login-tracktik) .elementor-widget-shortcode,
body:has(.sspq-login-tracktik) main,
body:has(.sspq-login-tracktik) article {
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 !important;
    padding: 0 !important;
}

.sspq-login-page.sspq-login-tracktik {
    width: 100vw !important;
    max-width: 100vw !important;
    min-height: 100vh !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 58%) minmax(360px, 42%) !important;
    background: #e8e8e8 !important;
    overflow: hidden !important;
}

.sspq-login-tracktik .sspq-login-photo {
    width: 100% !important;
    min-height: 100vh !important;
    background-color: #d9d9d9 !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}

.sspq-login-tracktik .sspq-login-side {
    width: 100% !important;
    min-height: 100vh !important;
    padding: 40px 70px !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #e8e8e8 !important;
}

.sspq-login-tracktik .sspq-login-panel,
.sspq-login-tracktik .sspq-login-panel-only {
    width: 100% !important;
    max-width: 400px !important;
    box-sizing: border-box !important;
}

.sspq-login-tracktik .sspq-login-logo-img {
    display: block !important;
    width: 100% !important;
    max-width: 360px !important;
    height: auto !important;
    object-fit: contain !important;
    margin-bottom: 26px !important;
}

.sspq-login-tracktik h1 {
    color: #0b1730 !important;
    font-size: 28px !important;
    font-weight: 800 !important;
    margin: 0 0 8px !important;
}

.sspq-login-tracktik .sspq-login-intro {
    color: #334155 !important;
    font-size: 15px !important;
    margin-bottom: 18px !important;
}

.sspq-login-tracktik .sspq-field-label {
    display: block !important;
    color: #0b1730 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    margin: 0 0 6px !important;
}

.sspq-login-tracktik .sspq-tracktik-submit {
    background: #0b2447 !important;
    border-radius: 4px !important;
}

.sspq-login-tracktik .sspq-tracktik-submit:hover {
    background: #d4af37 !important;
    color: #0b2447 !important;
}

.sspq-card.sspq-param-card {
    padding: 22px !important;
}

.sspq-login-bg-preview {
    width: 320px !important;
    height: 180px !important;
    background-size: cover !important;
    background-position: center !important;
}

@media (max-width: 900px) {
    .sspq-login-page.sspq-login-tracktik {
        grid-template-columns: 1fr !important;
        overflow: auto !important;
    }
    .sspq-login-tracktik .sspq-login-photo {
        min-height: 220px !important;
    }
    .sspq-login-tracktik .sspq-login-side {
        min-height: auto !important;
        padding: 28px 18px !important;
    }
}


/* =========================================================
   SSPQ 1.8.4 - PAGE EMPLOYÉS AVANCÉE
   ========================================================= */

.sspq-saas-page {
    max-width: none !important;
}

.sspq-employes-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 18px !important;
    margin-bottom: 24px !important;
}

.sspq-employes-header h1 {
    margin: 0 !important;
    color: #0b2447 !important;
    font-size: 34px !important;
    font-weight: 900 !important;
}

.sspq-employes-header p {
    margin: 6px 0 0 !important;
    color: #64748b !important;
}

.sspq-employes-header-actions {
    display: flex !important;
    gap: 10px !important;
    align-items: center !important;
    flex-wrap: wrap !important;
}

.sspq-employes-filters {
    display: grid !important;
    grid-template-columns: minmax(280px, 1fr) 240px 220px !important;
    gap: 12px !important;
    margin-bottom: 22px !important;
}

.sspq-employes-table {
    min-width: 1280px !important;
}

.sspq-archive-table {
    min-width: 1080px !important;
}

.sspq-table-scroll {
    overflow-x: auto !important;
}

.sspq-section-title h2 {
    color: #0b2447 !important;
    font-size: 25px !important;
    font-weight: 900 !important;
}

.sspq-bulk-actions {
    display: flex !important;
    gap: 10px !important;
    margin: 10px 0 12px !important;
    flex-wrap: wrap !important;
}

.sspq-row-actions {
    display: flex !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
    align-items: center !important;
}

.sspq-row-actions a,
.sspq-row-actions button {
    white-space: nowrap !important;
}

.sspq-phone-link {
    color: #0b2447 !important;
    font-weight: 900 !important;
    text-decoration: none !important;
}

.sspq-profile-box {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.sspq-profile-box div {
    background: #f8fafc !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 12px !important;
    padding: 13px !important;
}

.sspq-profile-box span {
    display: block !important;
    color: #64748b !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    margin-bottom: 5px !important;
}

.sspq-profile-box strong {
    color: #0b2447 !important;
    white-space: pre-line !important;
}

.sspq-chip-green,
.sspq-chip-red {
    display: inline-flex !important;
    border-radius: 999px !important;
    padding: 5px 10px !important;
    font-weight: 900 !important;
    font-size: 12px !important;
}

.sspq-chip-green {
    background: #dcfce7 !important;
    color: #166534 !important;
}

.sspq-chip-red {
    background: #fee2e2 !important;
    color: #991b1b !important;
}

@media (max-width: 900px) {
    .sspq-employes-header {
        flex-direction: column !important;
    }

    .sspq-employes-header-actions,
    .sspq-employes-header-actions a,
    .sspq-employes-header-actions button {
        width: 100% !important;
    }

    .sspq-employes-filters {
        grid-template-columns: 1fr !important;
    }

    .sspq-profile-box {
        grid-template-columns: 1fr !important;
    }
}


/* =========================================================
   SSPQ 1.8.6 - UNIFORMES / INVENTAIRE
   ========================================================= */

.sspq-uniformes-top {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 18px !important;
    margin-bottom: 18px !important;
}

.sspq-uniformes-top h1 {
    margin: 0 !important;
    color: #0b2447 !important;
    font-size: 34px !important;
    font-weight: 900 !important;
}

.sspq-uniformes-top p {
    margin: 6px 0 0 !important;
    color: #64748b !important;
}

.sspq-uniformes-actions,
.sspq-uniformes-filters {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    align-items: center !important;
}

.sspq-uniformes-filters {
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 16px !important;
    padding: 14px !important;
    margin-bottom: 18px !important;
    box-shadow: 0 10px 24px rgba(15,23,42,0.06) !important;
}

.sspq-uniformes-filters input,
.sspq-uniformes-filters select {
    border: 1px solid #cbd5e1 !important;
    border-radius: 10px !important;
    padding: 11px 12px !important;
    min-height: 42px !important;
}

.sspq-uniformes-filters input {
    min-width: 320px !important;
}

.sspq-uniformes-summary {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin-bottom: 18px !important;
}

.sspq-uniformes-summary div {
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 16px !important;
    padding: 18px !important;
    box-shadow: 0 10px 24px rgba(15,23,42,0.06) !important;
}

.sspq-uniformes-summary span {
    display: block !important;
    color: #64748b !important;
    font-weight: 900 !important;
    font-size: 13px !important;
}

.sspq-uniformes-summary strong {
    display: block !important;
    margin-top: 8px !important;
    color: #0b2447 !important;
    font-size: 26px !important;
}

.sspq-uniformes-table,
.sspq-uniformes-issued-table {
    min-width: 1100px !important;
}

.sspq-uniformes-table small,
.sspq-uniformes-issued-table small {
    display: block !important;
    color: #64748b !important;
    margin-top: 4px !important;
}

.sspq-uniform-actions {
    display: flex !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
}

.sspq-uniform-low td {
    background: #fff7ed !important;
}

.sspq-stock-alert {
    display: inline-flex !important;
    margin-left: 0 !important;
    margin-top: 4px !important;
    background: #fed7aa !important;
    color: #9a3412 !important;
    border-radius: 999px !important;
    padding: 4px 8px !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

@media (max-width: 900px) {
    .sspq-uniformes-top {
        flex-direction: column !important;
    }

    .sspq-uniformes-summary {
        grid-template-columns: 1fr 1fr !important;
    }

    .sspq-uniformes-filters input,
    .sspq-uniformes-filters select,
    .sspq-uniformes-filters button,
    .sspq-uniformes-actions button {
        width: 100% !important;
        min-width: 0 !important;
    }
}


/* =========================================================
   SSPQ 1.8.7 - PARAMÈTRES RH : POSITIONS / SUCCURSALES / PRIMES
   ========================================================= */
.sspq-param-grid-form {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(180px, 1fr)) auto !important;
    gap: 10px !important;
    align-items: end !important;
}
.sspq-param-tabs button {
    min-height: 44px !important;
}
.sspq-param-list .sspq-param-row {
    grid-template-columns: minmax(0, 1fr) 120px auto !important;
}
.sspq-param-row-actions a,
.sspq-param-row-actions button {
    white-space: nowrap !important;
}
@media (max-width: 980px) {
    .sspq-param-grid-form {
        grid-template-columns: 1fr !important;
    }
    .sspq-param-list .sspq-param-row {
        grid-template-columns: 1fr !important;
    }
}


/* =========================================================
   SSPQ 1.8.8 - PRIMES AVANCÉES
   ========================================================= */
.sspq-param-multiselect {
    width: 100% !important;
    min-height: 120px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 10px !important;
    padding: 8px !important;
    background: #ffffff !important;
    color: #0f172a !important;
}
.sspq-param-help-box {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 12px !important;
}
.sspq-param-help-box strong {
    color: #0b2447 !important;
    display: block !important;
    margin-bottom: 4px !important;
}
.sspq-param-help-box small {
    color: #64748b !important;
}
.sspq-param-row small strong {
    color: #0b2447 !important;
}


/* SSPQ 1.8.9 - Paramètres correctifs */
.sspq-param-row-actions .sspq-btn-danger {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}


/* =========================================================
   SSPQ 1.9.0 - NETHRIS
   ========================================================= */
.sspq-nethris-map-list {
    display: grid !important;
    gap: 10px !important;
    margin-top: 14px !important;
}

.sspq-nethris-row {
    display: grid !important;
    grid-template-columns: minmax(220px, 1fr) 220px 220px !important;
    gap: 10px !important;
    align-items: end !important;
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    padding: 13px !important;
}

.sspq-nethris-row.sspq-nethris-single {
    grid-template-columns: minmax(220px, 1fr) 260px !important;
}

.sspq-nethris-row strong {
    color: #0b2447 !important;
    display: block !important;
}

.sspq-nethris-row small {
    color: #64748b !important;
    display: block !important;
    margin-top: 4px !important;
}

.sspq-nethris-row label {
    font-size: 12px !important;
    color: #334155 !important;
    font-weight: 900 !important;
    display: block !important;
    margin-bottom: 5px !important;
}

.sspq-nethris-row input {
    width: 100% !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 10px !important;
    padding: 10px 12px !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
}

@media (max-width: 900px) {
    .sspq-nethris-row,
    .sspq-nethris-row.sspq-nethris-single {
        grid-template-columns: 1fr !important;
    }
}


/* =========================================================
   SSPQ 1.9.2 - CONDITIONS PRIMES
   ========================================================= */
.sspq-premium-conditions,
.sspq-premium-hours {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    padding: 14px !important;
    margin-top: 12px !important;
}

.sspq-premium-conditions h3,
.sspq-premium-hours h3 {
    margin: 0 0 12px !important;
    color: #0b2447 !important;
    font-size: 18px !important;
}

.sspq-multi-select-box {
    margin: 10px 0 14px !important;
}

.sspq-check-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin-top: 8px !important;
}

.sspq-check-grid-employees {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-height: 280px !important;
    overflow-y: auto !important;
    padding-right: 6px !important;
}

.sspq-check-pill {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 10px !important;
    padding: 9px 10px !important;
    font-weight: 800 !important;
    color: #334155 !important;
}

.sspq-check-pill input {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
}

@media (max-width: 900px) {
    .sspq-check-grid,
    .sspq-check-grid-employees {
        grid-template-columns: 1fr !important;
    }
}


/* =========================================================
   SSPQ 1.9.3 - NETTOYAGE PRIMES
   ========================================================= */

/* Cache les anciens champs doublons si une ancienne version du HTML reste en cache */
#sspq-parametres-app textarea[name="eligible_branches"],
#sspq-parametres-app textarea[name="eligible_positions"],
#sspq-parametres-app textarea[name="eligible_employees"],
#sspq-parametres-app input[name="active_from"],
#sspq-parametres-app input[name="active_to"] {
    display: none !important;
}

#sspq-parametres-app label:has(+ textarea[name="eligible_branches"]),
#sspq-parametres-app label:has(+ textarea[name="eligible_positions"]),
#sspq-parametres-app label:has(+ textarea[name="eligible_employees"]),
#sspq-parametres-app label:has(+ input[name="active_from"]),
#sspq-parametres-app label:has(+ input[name="active_to"]) {
    display: none !important;
}

.sspq-premium-conditions,
.sspq-premium-hours {
    margin-bottom: 16px !important;
}


/* =========================================================
   SSPQ 1.9.4 - PRIMES SAVE FIX
   ========================================================= */
#sspq-parametres-app #taxable,
#sspq-parametres-app [name="taxable"] {
    display: none !important;
}

#sspq-parametres-app label:has(#taxable),
#sspq-parametres-app label:has([name="taxable"]) {
    display: none !important;
}

.premium-dates-field {
    display: block;
}


/* =========================================================
   SSPQ 1.9.5 - PRIME LIST FIX
   ========================================================= */
#sspq-premiums-list {
    margin-top: 18px !important;
}

#sspq-premiums-list .sspq-param-row small {
    display: block !important;
    margin-top: 4px !important;
    color: #64748b !important;
}


/* =========================================================
   SSPQ 1.9.7 - PRIMES TAB FIX
   ========================================================= */
#sspq-premiums-list {
    margin-top: 18px !important;
}

.sspq-prime-row-fixed small {
    display: block !important;
    margin-top: 4px !important;
    color: #64748b !important;
}


/* =========================================================
   SSPQ 1.9.8 - LOGOS APPARENCE
   ========================================================= */
.sspq-sidebar-logo-img {
    width: 52px !important;
    height: 52px !important;
    object-fit: contain !important;
    background: #ffffff !important;
    border-radius: 14px !important;
    padding: 6px !important;
    flex: 0 0 auto !important;
}

.sspq-login-tracktik .sspq-login-logo-img {
    max-height: 150px !important;
    object-fit: contain !important;
}

.sspq-logo-settings-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px !important;
}

.sspq-logo-settings-grid h3 {
    margin: 0 0 10px !important;
    color: #0b2447 !important;
}

.sspq-logo-preview-box {
    min-height: 120px !important;
    background: #f8fafc !important;
    border: 1px solid #dbe3ee !important;
    border-radius: 14px !important;
    padding: 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 12px !important;
}

.sspq-logo-preview-box img {
    max-width: 100% !important;
    max-height: 115px !important;
    object-fit: contain !important;
}

.sspq-logo-settings-card form {
    display: flex !important;
    gap: 10px !important;
    align-items: center !important;
    flex-wrap: wrap !important;
}

@media (max-width: 900px) {
    .sspq-logo-settings-grid {
        grid-template-columns: 1fr !important;
    }
}


/* =========================================================
   SSPQ 1.9.9 - PARAMETRES AVANCES
   ========================================================= */
.sspq-param-tabs {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

.sspq-advanced-settings-form {
    margin-top: 14px !important;
}

.sspq-advanced-settings-form .sspq-form-grid {
    align-items: start !important;
}

.sspq-advanced-settings-form small {
    display: block !important;
    color: #64748b !important;
    margin-top: 4px !important;
    font-size: 12px !important;
}

.sspq-advanced-settings-form button[type="submit"] {
    margin-top: 18px !important;
}

@media (max-width: 900px) {
    .sspq-param-tabs button {
        width: 100% !important;
    }
}


/* =========================================================
   SSPQ 2.0.0 - PARAMETRES OPERATOIRES
   ========================================================= */
.sspq-settings-subsection {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    padding: 16px !important;
    margin: 16px 0 !important;
}

.sspq-settings-subsection h3 {
    margin: 0 0 8px !important;
    color: #0b2447 !important;
    font-size: 20px !important;
    font-weight: 900 !important;
}

.sspq-settings-subsection p {
    color: #64748b !important;
    margin: 0 0 14px !important;
}

.sspq-advanced-settings-form .sspq-check-inline {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 12px !important;
}


/* =========================================================
   SSPQ 2.0.1 - AFFICHAGE PARAMETRES FIX
   ========================================================= */
#sspq-parametres-app .sspq-param-tabs {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

#sspq-parametres-app .sspq-param-panel {
    display: none;
}

#sspq-parametres-app .sspq-param-panel.active {
    display: block !important;
}

.sspq-settings-subsection {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    padding: 16px !important;
    margin: 16px 0 !important;
}

.sspq-settings-subsection h3 {
    margin: 0 0 8px !important;
    color: #0b2447 !important;
    font-size: 20px !important;
    font-weight: 900 !important;
}

.sspq-settings-subsection p {
    color: #64748b !important;
    margin: 0 0 14px !important;
}

.sspq-advanced-settings-form .sspq-check-inline {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 12px !important;
}

.sspq-advanced-settings-form small {
    display: block !important;
    color: #64748b !important;
    margin-top: 4px !important;
    font-size: 12px !important;
}


/* =========================================================
   SSPQ 2.0.2 - PARAMETRES FULL RENDER FIX
   ========================================================= */
#sspq-parametres-app .sspq-param-tabs {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-bottom: 16px !important;
}

#sspq-parametres-app .sspq-param-panel {
    display: none !important;
}

#sspq-parametres-app .sspq-param-panel.active {
    display: block !important;
}

.sspq-settings-subsection {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    padding: 16px !important;
    margin: 16px 0 !important;
}

.sspq-settings-subsection h3 {
    margin: 0 0 8px !important;
    color: #0b2447 !important;
    font-size: 20px !important;
    font-weight: 900 !important;
}

.sspq-settings-subsection p {
    color: #64748b !important;
    margin: 0 0 14px !important;
}

.sspq-advanced-settings-form .sspq-check-inline {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 12px !important;
}

.sspq-advanced-settings-form small {
    display: block !important;
    color: #64748b !important;
    margin-top: 4px !important;
    font-size: 12px !important;
}


/* =========================================================
   SSPQ 2.0.3 - EMPLOYES FIELDS FIX
   ========================================================= */
.sspq-employee-position-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin-top: 8px !important;
    max-height: 220px !important;
    overflow-y: auto !important;
    padding: 6px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    background: #f8fafc !important;
}

#sspq-employee-form select,
#sspq-employee-form input,
#sspq-employee-form textarea {
    width: 100% !important;
}

@media (max-width: 900px) {
    .sspq-employee-position-grid {
        grid-template-columns: 1fr !important;
    }
}


/* =========================================================
   SSPQ 2.0.4 - PARAMETRES PERFORMANCE
   ========================================================= */
#sspq-parametres-app .sspq-param-list p {
    color: #64748b !important;
    font-weight: 700 !important;
}


/* =========================================================
   SSPQ 2.0.5 - EMPLOYES POSITION SALAIRES
   ========================================================= */
.sspq-position-salary-pill {
    display: grid !important;
    grid-template-columns: 24px 1fr 120px !important;
    align-items: center !important;
    gap: 8px !important;
}

.sspq-position-salary-pill .sspq-other-position-salary {
    min-width: 0 !important;
    height: 34px !important;
    padding: 6px 8px !important;
}

.sspq-position-salary-pill .sspq-other-position-salary:disabled {
    opacity: .5 !important;
    background: #e5e7eb !important;
}

#sspq-emp-matricule[readonly] {
    background: #f1f5f9 !important;
    color: #334155 !important;
}


/* SSPQ 2.0.6 - Correctifs paramètres */
.sspq-param-form .sspq-btn-secondary{margin-left:8px;}
.sspq-param-row[style*="border-left"]{background:#fbfdff;}
.sspq-param-row-actions{gap:8px;flex-wrap:wrap;}
.sspq-nethris-row input[readonly]{background:#f3f4f6;color:#374151;cursor:not-allowed;}


/* =========================================================
   SSPQ 2.1.1 - Menu / employés
   ========================================================= */
.sspq-app-menu .sspq-sidebar-logout {
    margin-top: 10px !important;
    background: #b91c1c !important;
    color: #ffffff !important;
    border-radius: 10px !important;
    font-weight: 900 !important;
    text-align: left !important;
}
.sspq-app-menu .sspq-sidebar-logout:hover {
    background: linear-gradient(135deg, #d4af37 0%, #f5d76e 100%) !important;
    color: #0b2447 !important;
}
.sspq-employee-view-buttons {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    margin: 0 0 18px !important;
}
.sspq-employee-view-buttons button.active {
    background: #0b2447 !important;
    color: #ffffff !important;
    border-color: #0b2447 !important;
}
.sspq-employee-section { display: none; }
.sspq-employee-section.active { display: block; }
#sspq-archived-employees-section { display: none; }
@media (max-width: 760px) {
    .sspq-employee-view-buttons button { width: 100% !important; }
}

/* =========================================================
   SSPQ 2.1.2 - Paramètres / Positions en fenêtre modale
   ========================================================= */
.sspq-positions-actions {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    margin: 16px 0 18px !important;
}
.sspq-position-modal-title {
    margin: 0 !important;
    color: #0b2447 !important;
    font-size: 26px !important;
    font-weight: 900 !important;
}
#sspq-position-modal .sspq-param-form {
    display: block !important;
}
#sspq-position-modal .sspq-modal-actions {
    display: flex !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    margin-top: 18px !important;
}
#sspq-position-modal #sspq-reset-position-form {
    display: none !important;
}
#sspq-position-modal-backdrop {
    position: fixed !important;
    inset: 0 !important;
    background: rgba(15, 23, 42, 0.62) !important;
    z-index: 99999 !important;
    display: none;
    align-items: flex-start !important;
    justify-content: center !important;
    padding: 40px 16px !important;
    overflow-y: auto !important;
    box-sizing: border-box !important;
}
#sspq-position-modal-backdrop.open {
    display: flex !important;
}
#sspq-position-modal {
    width: min(760px, 96vw) !important;
    background: #ffffff !important;
    border-radius: 18px !important;
    box-shadow: 0 24px 60px rgba(0,0,0,0.30) !important;
    padding: 24px !important;
    box-sizing: border-box !important;
}
#sspq-position-modal .sspq-form-grid {
    grid-template-columns: 1fr 1fr !important;
}
@media (max-width: 760px) {
    #sspq-position-modal .sspq-form-grid {
        grid-template-columns: 1fr !important;
    }
    #sspq-position-modal .sspq-modal-actions {
        flex-direction: column !important;
    }
    #sspq-position-modal .sspq-modal-actions button {
        width: 100% !important;
    }
}


/* =========================================================
   SSPQ 2.1.3 - Succursales en fenêtre modale
   ========================================================= */
.sspq-branches-actions {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    margin: 14px 0 18px !important;
}

#sspq-branch-modal .sspq-param-form {
    margin: 0 !important;
}

#sspq-branch-modal .sspq-modal-actions {
    margin-top: 14px !important;
}

#sspq-branch-modal #sspq-reset-branch-form {
    display: none !important;
}

#sspq-branch-modal-backdrop {
    position: fixed !important;
    inset: 0 !important;
    z-index: 100000 !important;
    background: rgba(15, 23, 42, 0.62) !important;
    display: none !important;
    align-items: flex-start !important;
    justify-content: center !important;
    padding: 42px 18px !important;
    overflow-y: auto !important;
    box-sizing: border-box !important;
}

#sspq-branch-modal-backdrop.open {
    display: flex !important;
}

#sspq-branch-modal {
    width: min(980px, 96vw) !important;
    background: #ffffff !important;
    border-radius: 18px !important;
    padding: 24px !important;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.30) !important;
    box-sizing: border-box !important;
}

#sspq-branch-modal .sspq-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

@media (max-width: 800px) {
    #sspq-branch-modal .sspq-form-grid {
        grid-template-columns: 1fr !important;
    }

    #sspq-branch-modal .sspq-modal-actions {
        flex-direction: column !important;
    }

    #sspq-branch-modal .sspq-modal-actions button {
        width: 100% !important;
    }
}


/* =========================================================
   SSPQ 2.1.4 - Primes en fenêtre modale
   ========================================================= */
.sspq-premium-section-actions {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 12px 0 20px !important;
}
.sspq-premium-modal-backdrop {
    position: fixed !important;
    inset: 0 !important;
    z-index: 999999 !important;
    background: rgba(15,23,42,.62) !important;
    display: none;
    align-items: flex-start !important;
    justify-content: center !important;
    padding: 26px 16px !important;
    overflow-y: auto !important;
    box-sizing: border-box !important;
}
.sspq-premium-modal {
    width: min(1120px, 96vw) !important;
    max-width: 1120px !important;
    max-height: none !important;
}
.sspq-premium-form-in-modal {
    display: block !important;
}
.sspq-premium-modal-actions {
    display: flex !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    margin-top: 22px !important;
}
#sspq-premium-modal .sspq-premium-conditions,
#sspq-premium-modal .sspq-premium-hours {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    padding: 16px !important;
    margin-top: 16px !important;
}
@media (max-width: 760px) {
    .sspq-premium-modal-actions {
        flex-direction: column !important;
    }
    .sspq-premium-modal-actions button {
        width: 100% !important;
    }
}

/* SSPQ 2.1.5 - Nethris bouton unique */
.sspq-nethris-save-card{position:sticky!important;bottom:18px!important;z-index:20!important;display:flex!important;justify-content:flex-end!important;box-shadow:0 16px 40px rgba(15,23,42,.16)!important;}
#sspq-save-nethris-all{min-height:52px!important;padding:0 24px!important;}


/* =========================================================
   SSPQ 2.1.6 - Sites
   ========================================================= */
.sspq-sites-topbar {
    align-items: flex-start !important;
}
.sspq-sites-switcher {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    margin: 0 0 16px !important;
}
.sspq-sites-switcher button.active {
    background: #0b2447 !important;
    color: #ffffff !important;
}
.sspq-sites-panel .sspq-card {
    overflow-x: auto !important;
}
.sspq-sites-table {
    min-width: 1180px !important;
}
.sspq-sites-table td:last-child,
.sspq-sites-table th:last-child {
    min-width: 190px !important;
}
@media (max-width: 760px) {
    .sspq-sites-topbar {
        flex-direction: column !important;
    }
    #sspq-open-site-modal,
    .sspq-sites-switcher button {
        width: 100% !important;
    }
}


/* SSPQ 2.1.7 - Correctif affichage modal sites */
body.sspq-modal-open { overflow: hidden !important; }
#sspq-site-modal { align-items: flex-start !important; justify-content: center !important; }
.sspq-sites-switcher button.active { background: #0b2447 !important; color: #ffffff !important; }
