.card{border-radius:14px}.list-group-item{border:none;border-bottom:1px solid #eee}.list-group-item:last-child{border-bottom:none}

/* ═══════════════════════════════════════════════════════════════════════════
   PWA MOBILE — Bottom Navigation Bar
   ═══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 767.98px) {

    /* ── Bottom Nav ──────────────────────────────────────────────────── */
    #mobile-bottom-nav {
        position: fixed;
        bottom: 0; left: 0; right: 0;
        height: calc(62px + env(safe-area-inset-bottom, 0px));
        padding-bottom: env(safe-area-inset-bottom, 0px);
        background: #2d3750;
        border-top: 1px solid rgba(255, 255, 255, 0.08);
        z-index: 1100;
        align-items: stretch;
        box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.25);
    }

    #mobile-bottom-nav a {
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        color: rgba(255, 255, 255, 0.45);
        font-size: 10px;
        font-weight: 500;
        gap: 2px;
        text-decoration: none;
        transition: color 0.18s ease;
        -webkit-tap-highlight-color: transparent;
        user-select: none;
    }

    #mobile-bottom-nav a i {
        font-size: 23px;
        line-height: 1;
        transition: transform 0.18s ease, color 0.18s ease;
    }

    #mobile-bottom-nav a.active {
        color: #fff;
    }

    #mobile-bottom-nav a.active i {
        color: #556ee6;
        transform: translateY(-1px);
    }

    #mobile-bottom-nav a:active i {
        transform: scale(0.88);
    }

    /* ── Layout : masquer sidebar, libérer le contenu ────────────────── */
    .vertical-menu {
        display: none !important;
    }

    body .main-content {
        margin-left: 0 !important;
        padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px)) !important;
    }

    /* Topbar : masquer éléments non essentiels sur mobile */
    #page-topbar .d-flex .d-none.d-md-block {
        display: none !important;
    }

    /* ── FAB : Nouvelle tâche rapide ─────────────────────────────────── */
    #fab-new-task {
        position: fixed;
        bottom: calc(76px + env(safe-area-inset-bottom, 0px));
        right: 16px;
        width: 52px;
        height: 52px;
        border-radius: 50%;
        background: #556ee6;
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 26px;
        box-shadow: 0 4px 14px rgba(85, 110, 230, 0.45);
        z-index: 1099;
        text-decoration: none;
        transition: transform 0.18s ease, box-shadow 0.18s ease;
        -webkit-tap-highlight-color: transparent;
    }

    #fab-new-task:active {
        transform: scale(0.91);
        box-shadow: 0 2px 8px rgba(85, 110, 230, 0.35);
    }

    /* ── Bannière d'installation PWA ─────────────────────────────────── */
    #pwa-install-banner {
        position: fixed;
        bottom: calc(70px + env(safe-area-inset-bottom, 0px));
        left: 12px;
        right: 12px;
        background: #2d3750;
        border: 1px solid rgba(85, 110, 230, 0.5);
        border-radius: 14px;
        padding: 12px 14px;
        z-index: 1098;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
        animation: pwa-banner-in 0.3s ease;
    }

    @keyframes pwa-banner-in {
        from { opacity: 0; transform: translateY(16px); }
        to   { opacity: 1; transform: translateY(0); }
    }

    .pwa-banner-inner {
        display: flex;
        align-items: center;
        gap: 12px;
    }

    .pwa-banner-text {
        flex: 1;
        display: flex;
        flex-direction: column;
        gap: 1px;
    }

    .pwa-banner-text strong {
        color: #fff;
        font-size: 13px;
        font-weight: 600;
    }

    .pwa-banner-text span {
        color: rgba(255, 255, 255, 0.6);
        font-size: 11px;
    }

    /* ── Cards KPI : 2 colonnes sur mobile ───────────────────────────── */
    .mini-stats-wid .card-body {
        padding: 0.85rem;
    }
}

/* Fix pour assurer la visibilité des checkboxes */
.form-check-input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 1.2em;
  height: 1.2em;
  border: 2px solid #dee2e6;
  border-radius: 0.25em;
  background-color: #fff;
  cursor: pointer;
  position: relative;
  margin-right: 0.5em;
}

.form-check-input[type="checkbox"]:checked {
  background-color: #0d6efd;
  border-color: #0d6efd;
  background-image: none;
}

.form-check-input[type="checkbox"]:checked::before {
  content: '';
  position: absolute;
  left: 4px;
  top: 1px;
  width: 5px;
  height: 10px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
/* ═══════════════════════════════════════════════════════════════════════════
   Sidebar collapse — feedback visuel de sauvegarde
   ═══════════════════════════════════════════════════════════════════════════ */
@keyframes mm-saved-pulse {
    0%   { background: transparent; }
    30%  { background: rgba(52, 195, 143, 0.18); }
    100% { background: transparent; }
}
#side-menu a.mm-saved {
    animation: mm-saved-pulse 0.7s ease-out forwards;
    border-radius: 4px;
}
/* ═══════════════════════════════════════════════════════════════════════════
   Sidebar — bouton pin (épingle) ouverture permanente
   ═══════════════════════════════════════════════════════════════════════════ */
.mm-pin-btn {
    display: -webkit-inline-flex;
    display: inline-flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    margin-left: 5px;
    vertical-align: middle;
    position: relative;
    top: -1px;
    background: transparent;
    border: none;
    border-radius: 3px;
    color: rgba(255, 255, 255, 0.25);
    font-size: 12px;
    cursor: pointer;
    transition: color 0.2s, background 0.2s;
    line-height: 1;
    padding: 0;
    -webkit-user-select: none;
    user-select: none;
}
.mm-pin-btn:hover {
    color: rgba(255, 255, 255, 0.8);
    background: rgba(255, 255, 255, 0.08);
    border-radius: 3px;
}
.mm-pin-btn.mm-pinned {
    color: #34c38f !important;
}
