:root {
    --mico: #3f6b4f;
    --mico-dark: #2f5240;
    --mico-light: #e8f0ea;
}

body { background: #f7f8f5; }
.bg-mico { background: var(--mico); }

.btn-mico { background: var(--mico); border-color: var(--mico); color: #fff; }
.btn-mico:hover, .btn-mico:focus { background: var(--mico-dark); border-color: var(--mico-dark); color: #fff; }
.btn-outline-mico { border-color: var(--mico); color: var(--mico); }
.btn-outline-mico:hover { background: var(--mico); color: #fff; }

.hero {
    background: linear-gradient(135deg, var(--mico), #6c9a5a);
    color: #fff;
}

.annonce-card { transition: transform .15s ease, box-shadow .15s ease; }
.annonce-card:hover { transform: translateY(-2px); box-shadow: 0 .5rem 1rem rgba(0,0,0,.08) !important; }

.avatar {
    width: 72px; height: 72px; border-radius: 50%;
    background: var(--mico-light); color: var(--mico);
    display: flex; align-items: center; justify-content: center;
    font-size: 2rem; font-weight: 600;
}
.avatar-sm { width: 42px; height: 42px; font-size: 1.1rem; }
.min-w-0 { min-width: 0; }

.list-group-item.unread { background: var(--mico-light); }

.chat { max-height: 60vh; overflow-y: auto; background: #fbfcfa; }
.bubble {
    max-width: 80%; padding: .5rem .75rem; border-radius: 1rem;
    white-space: normal; overflow-wrap: anywhere;
}
.bubble-me { background: var(--mico); color: #fff; border-bottom-right-radius: .25rem; }
.bubble-them { background: #fff; border: 1px solid #dee2e6; border-bottom-left-radius: .25rem; }
.bubble-meta { font-size: .7rem; opacity: .7; text-align: right; margin-top: .15rem; }

/* Boutons de connexion */
.google-btn { min-height: 44px; }
.email-btn { width: 300px; max-width: 100%; }
.divider { display: flex; align-items: center; gap: .75rem; }
.divider::before, .divider::after { content: ""; flex: 1; border-top: 1px solid #dee2e6; }
