.pm-avatar-placeholder{width:50px;height:50px;border-radius:50%;background-color:#6c757d;display:flex;align-items:center;justify-content:center;color:white;font-weight:bold;margin-right:12px;transition:transform 0.2s ease,box-shadow 0.2s ease}.pm-avatar-placeholder:hover{transform:scale(1.05);box-shadow:0 2px 8px rgba(0,0,0,0.15)}.pm-status-indicator{position:absolute;bottom:0;right:0;width:16px;height:16px;border-radius:50%;border:2px solid white;transition:transform 0.2s ease,box-shadow 0.2s ease;animation:pulse 2s infinite}.pm-status-indicator:hover{transform:scale(1.2)}@keyframes pulse{0%,100%{opacity: 1}50%{opacity: 0.7}}.pm-status-online{background-color:#28a745;box-shadow:0 0 0 0 rgba(40,167,69,0.7);animation:pulse-online 2s infinite}@keyframes pulse-online{0%{box-shadow: 0 0 0 0 rgba(40,167,69,0.7)}70%{box-shadow: 0 0 0 6px rgba(40,167,69,0)}100%{box-shadow: 0 0 0 0 rgba(40,167,69,0)}}.pm-status-offline{background-color:#dc3545}.pm-card-secondary{background-color:var(--bg-secondary,#f8f9fa);border:0;transition:background-color 0.3s ease,box-shadow 0.3s ease}.pm-card-secondary:hover{box-shadow:0 2px 8px rgba(0,0,0,0.08)}html[data-theme="dark"] .pm-card-secondary,[data-theme="dark"] .pm-card-secondary{background-color:var(--bg-secondary,#2a2a2a)}@media (prefers-color-scheme: dark){html:not([data-theme="light"]) .pm-card-secondary{background-color: var(--bg-secondary,#2a2a2a)}}.pm-message-item{transition:all 0.2s ease;cursor:pointer;border-left:3px solid transparent}.pm-message-item:hover{background-color:rgba(0,123,255,0.05) !important;border-left-color:#007bff;transform:translateX(2px)}.pm-message-item.unread{background-color:rgba(0,123,255,0.08);border-left-color:#007bff;font-weight:600}.pm-message-item.unread:hover{background-color:rgba(0,123,255,0.12) !important}.pm-message-item.selected{background-color:rgba(0,123,255,0.15) !important;border-left-color:#0056b3}.pm-btn-delete-selected{display:none;transition:all 0.2s ease}.pm-btn-delete-selected.show{display:inline-block;animation:slideIn 0.3s ease}@keyframes slideIn{from{opacity: 0;
        transform: translateX(-10px)}to{opacity: 1;
        transform: translateX(0)}}.pm-btn-action{transition:all 0.2s ease;position:relative;overflow:hidden}.pm-btn-action::before{content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,0.3);transform:translate(-50%,-50%);transition:width 0.6s,height 0.6s}.pm-btn-action:hover::before{width:300px;height:300px}.pm-btn-action:active{transform:scale(0.95)}.pm-progress-small{height:20px;min-width:100px}.pm-progress-bar{transition:width 0.3s ease}.pm-bar{transition:height 0.3s ease}.pm-bar-peak{background-color:#ffc107}.pm-timeline-bar{transition:width 0.3s ease}.pm-category-color{display:inline-block;width:20px;height:20px;border-radius:4px}.pm-category-bar{transition:width 0.3s ease}.pm-category-bar.discussions{opacity:1}.pm-category-bar.posts{opacity:0.6}.pm-search-box{position:relative;transition:all 0.3s ease}.pm-search-box:focus-within{transform:scale(1.02)}.pm-search-results{max-height:400px;overflow-y:auto;border-radius:0.375rem;box-shadow:0 4px 12px rgba(0,0,0,0.15)}.pm-search-results::-webkit-scrollbar{width:8px}.pm-search-results::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.pm-search-results::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.pm-search-results::-webkit-scrollbar-thumb:hover{background:#555}.pm-loading{display:inline-block;width:20px;height:20px;border:3px solid rgba(0,123,255,0.3);border-radius:50%;border-top-color:#007bff;animation:spin 1s linear infinite}@keyframes spin{to{transform: rotate(360deg)}}.pm-fade-in{animation:fadeIn 0.3s ease}@keyframes fadeIn{from{opacity: 0;
        transform: translateY(-10px)}to{opacity: 1;
        transform: translateY(0)}}.pm-slide-out{animation:slideOut 0.3s ease forwards}@keyframes slideOut{to{opacity: 0;
        transform: translateX(-20px);
        max-height: 0;
        margin: 0;
        padding: 0}}.pm-quick-actions{opacity:0;transition:opacity 0.2s ease}.pm-message-item:hover .pm-quick-actions{opacity:1}.pm-quick-action-btn{padding:4px 8px;font-size:0.875rem;border-radius:4px;transition:all 0.2s ease;border:none;background:transparent;color:#6c757d}.pm-quick-action-btn:hover{background-color:rgba(0,0,0,0.05);color:#495057;transform:scale(1.1)}@media (max-width: 768px){.pm-message-item{padding: 0.75rem !important}.pm-quick-actions{opacity: 1;
        margin-top: 0.5rem;
        flex-direction: column;
        gap: 0.25rem}.pm-status-indicator{width: 12px;
        height: 12px}/* Masquer la barre latérale sur mobile ou la rendre collapsible */
    .col-md-3{margin-bottom: 1rem}/* Améliorer l'affichage des messages sur mobile */
    .pm-message-item .d-flex{flex-wrap: wrap}.pm-message-item .text-nowrap{white-space: normal;
        margin-top: 0.5rem;
        width: 100%}/* Recherche pleine largeur sur mobile */
    .pm-search-box{width: 100%;
        max-width: 100% !important}.pm-search-box .input-group{max-width: 100% !important}/* Filtres empilés sur mobile */
    .btn-group.pm-filter-btn{flex-direction: column;
        width: 100%}.btn-group.pm-filter-btn .btn{width: 100%;
        border-radius: 0.375rem !important;
        margin-bottom: 0.25rem}/* Actions dans le header */
    .card-header .d-flex{flex-direction: column;
        align-items: flex-start !important}.card-header .gap-2,.card-header .gap-3{width: 100%;
        margin-top: 0.75rem}/* Prévisualisation des messages plus compacte */
    .pm-message-item .small{font-size: 0.75rem !important}/* Avatar plus petit sur mobile */
    .pm-message-item img[class*="avatar"],.pm-avatar-placeholder{width: 32px !important;
        height: 32px !important}/* Badges plus compacts */
    .pm-message-item .badge{font-size: 0.7rem;
        padding: 0.25rem 0.5rem}/* Footer avec actions empilées */
    .card-footer .d-flex{flex-direction: column;
        align-items: flex-start !important;
        gap: 0.5rem !important}/* Message view - meilleur espacement */
    .message-header .row{flex-direction: column}.message-header .col-md-6{margin-bottom: 1rem}/* Formulaire de composition */
    .col-md-9{padding-left: 0.5rem;
        padding-right: 0.5rem}/* Boutons d'action plus grands pour le tactile */
    .pm-quick-action-btn{padding: 8px 12px !important;
        font-size: 1rem !important;
        min-width: 44px;
        min-height: 44px}/* Améliorer la lisibilité du texte */
    .pm-message-text{font-size: 1rem;
        line-height: 1.6}}@media (max-width: 576px){/* Encore plus compact sur très petits écrans */
    .container-fluid{padding-left: 0.5rem;
        padding-right: 0.5rem}.card{border-radius: 0;
        margin-left: -0.5rem;
        margin-right: -0.5rem}.card-header h5{font-size: 1rem}/* Cacher certains éléments secondaires */
    .pm-message-item .text-muted.small{display: none}/* Afficher la date en format compact */
    .pm-message-item small.text-muted{font-size: 0.7rem}}.pm-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pm-focus-visible:focus-visible{outline:2px solid #007bff;outline-offset:2px;border-radius:4px}.pm-empty-state{text-align:center;padding:3rem 1rem;color:#6c757d}.pm-empty-state-icon{font-size:4rem;opacity:0.3;margin-bottom:1rem;animation:float 3s ease-in-out infinite}@keyframes float{0%,100%{transform: translateY(0)}50%{transform: translateY(-10px)}}.pm-badge-new{animation:bounce 1s infinite}@keyframes bounce{0%,100%{transform: translateY(0)}50%{transform: translateY(-5px)}}.pm-unread-dot{width:8px;height:8px;border-radius:50%;background-color:#007bff;display:inline-block;margin-left:8px;animation:pulse-dot 2s infinite}@keyframes pulse-dot{0%,100%{opacity: 1;
        transform: scale(1)}50%{opacity: 0.7;
        transform: scale(1.2)}}