/* Sorti de _topbar.php le 19/09/2026.
 *
 * Les feuilles etaient ecrites dans les pages, ce qui obligeait la
 * politique de securite a autoriser 'unsafe-inline' sur style-src : toute
 * injection de HTML devenait alors une injection de style. En fichier, le
 * navigateur peut les mettre en cache, et la politique peut se fermer.
 *
 * Deplace sans une modification : ce qui suit est le bloc d'origine. */

.topbar-icon-btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:46px;padding:5px 6px;border-radius:8px;color:var(--grey-500);text-decoration:none;transition:background .15s,color .15s;flex-shrink:0;font-size:.62rem;font-weight:600;letter-spacing:.01em;line-height:1;background:none;border:none;cursor:pointer;}
.topbar-icon-btn:hover{background:var(--grey-100);color:var(--psg-navy);}
.topbar-icon-btn svg{width:22px;height:22px;flex-shrink:0;}
.topbar-sep{width:1px;height:36px;background:var(--grey-200);margin:0 4px;flex-shrink:0;}

/* view-as banner */

/* view-as modal */

/* sidebar dim in view-as mode */

/* badge counts */
.topbar-badge{position:absolute;top:2px;right:2px;background:#dc2626;color:#fff;border-radius:999px;font-size:.55rem;font-weight:900;line-height:1;padding:2px 4px;min-width:14px;text-align:center;border:1.5px solid #fff;display:none;}
.topbar-badge.visible{display:block;}

/* search */
.gs-wrap{position:relative;flex:1;min-width:0;padding:0 10px;}
.gs-input-wrap{display:flex;align-items:center;gap:10px;background:var(--grey-100);border-radius:10px;padding:0 16px;height:46px;width:100%;transition:background .15s,box-shadow .15s;cursor:text;box-sizing:border-box;}
.gs-input-wrap:focus-within{background:#fff;box-shadow:0 0 0 2px var(--psg-navy);}
.gs-input-wrap svg{width:15px;height:15px;flex-shrink:0;color:var(--grey-400);}
.gs-input{border:none;background:transparent;outline:none;font-size:.85rem;font-weight:600;color:var(--grey-700);flex:1;min-width:0;font-family:inherit;}
.gs-input::placeholder{color:var(--grey-400);}
.gs-spinner{width:14px;height:14px;border:2px solid var(--grey-200);border-top-color:var(--psg-navy);border-radius:50%;animation:gs-spin .6s linear infinite;flex-shrink:0;display:none;}
.gs-spinner.active{display:block;}
@keyframes gs-spin{to{transform:rotate(360deg)}}

/* dropdown */
.gs-dropdown{display:none;position:fixed;top:0;left:0;background:#fff;border:1px solid var(--grey-200);border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.14);z-index:9999;width:440px;max-height:72vh;overflow-y:auto;scrollbar-width:thin;}
.gs-dropdown.open{display:block;}
.gs-group-label{padding:8px 14px 4px;font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--grey-400);border-bottom:1px solid var(--grey-50);}
.gs-item{display:flex;align-items:center;gap:10px;padding:9px 14px;cursor:pointer;text-decoration:none;border-bottom:1px solid var(--grey-50);transition:background .1s;}
.gs-item:hover,.gs-item.focused{background:var(--grey-50);}
.gs-item:last-child{border-bottom:0;}
.gs-item-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.gs-item-body{flex:1;min-width:0;}
.gs-item-label{font-size:.85rem;font-weight:800;color:var(--grey-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.gs-item-sub{font-size:.72rem;color:var(--grey-400);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.gs-item-meta{font-size:.75rem;font-weight:800;color:var(--grey-600);flex-shrink:0;}
/* Numeros de cle d'une commande : la donnee qui a provoque la correspondance. */
.gs-item-keys{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px;}
.gs-key{font-size:.66rem;font-weight:800;letter-spacing:.02em;color:#1e40af;background:#dbeafe;border-radius:5px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;}
.gs-empty{padding:32px;text-align:center;color:var(--grey-400);font-size:.85rem;font-weight:700;}
.gs-shortcut{padding:8px 14px;font-size:.7rem;color:var(--grey-400);font-weight:600;border-top:1px solid var(--grey-100);text-align:center;}

/* type icon colours */
.gs-icon-order{background:#dbeafe;color:#1e40af;}
.gs-icon-client{background:#dcfce7;color:#166534;}
.gs-icon-supplier{background:#fef3c7;color:#92400e;}
.gs-icon-bill{background:#f3e8ff;color:#7c3aed;}
.gs-icon-avoir{background:#ffedd5;color:#c2410c;}
.gs-icon-statement{background:var(--grey-100);color:var(--grey-600);}

.topbar-user-trigger{display:flex;align-items:center;gap:7px;cursor:pointer;padding:6px 10px;border-radius:8px;color:var(--grey-700);font-size:.875rem;font-weight:500;position:relative;transition:background .15s;white-space:nowrap;user-select:none;}
.topbar-user-trigger:hover{background:var(--grey-100);}
.topbar-user-trigger>.u-icon{width:18px;height:18px;color:var(--grey-400);}
.topbar-user-trigger>.chevron{width:14px;height:14px;color:var(--grey-400);transition:transform .2s;}
.topbar-user-trigger.open>.chevron{transform:rotate(180deg);}
.topbar-user-dd{display:none;position:absolute;top:calc(100% + 6px);right:0;background:#fff;border:1px solid var(--grey-200);border-radius:10px;padding:8px;min-width:190px;box-shadow:0 8px 24px rgba(0,0,0,.1);z-index:1000;}
.topbar-user-dd.open{display:block;}
.topbar-user-dd-role{padding:8px 10px 6px;font-size:.7rem;color:var(--grey-400);font-weight:600;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--grey-100);margin-bottom:4px;}
.topbar-user-dd a,.topbar-user-dd button{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;color:var(--grey-600);text-decoration:none;font-size:.875rem;transition:background .15s,color .15s;background:none;border:none;cursor:pointer;width:100%;text-align:left;}
.topbar-user-dd a:hover,.topbar-user-dd button:hover{background:var(--grey-100);color:var(--grey-900);}
.topbar-user-dd a svg,.topbar-user-dd button svg{width:16px;height:16px;}

/* ── Chat panel ── */
.chat-hidden{display:none!important;}
.chat-panel{position:fixed;top:100px;right:0;width:390px;height:calc(100vh - 100px);background:#fff;border-left:1px solid var(--grey-200);box-shadow:-4px 0 24px rgba(0,0,0,.1);z-index:9998;display:none;flex-direction:column;font-size:.875rem;}
.chat-panel.open{display:flex;}
.chat-panel-hdr{display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid var(--grey-100);gap:8px;flex-shrink:0;}
.chat-panel-title{font-weight:900;font-size:.82rem;color:var(--psg-navy);flex:1;text-transform:uppercase;letter-spacing:.04em;}
.chat-hdr-btn{background:none;border:1px solid var(--grey-200);border-radius:7px;cursor:pointer;padding:4px 10px;font-size:.72rem;font-weight:700;color:var(--grey-600);display:flex;align-items:center;gap:4px;transition:background .15s,color .15s;}
.chat-hdr-btn:hover{background:var(--grey-100);color:var(--psg-navy);}
.chat-hdr-close{background:none;border:none;cursor:pointer;color:var(--grey-400);padding:4px;border-radius:6px;display:flex;}
.chat-hdr-close:hover{background:var(--grey-100);}
.chat-conv-list{flex:1;overflow-y:auto;scrollbar-width:thin;}
.chat-conv-item{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;cursor:pointer;border-bottom:1px solid var(--grey-50);transition:background .1s;}
.chat-conv-item:hover{background:var(--grey-50);}
.chat-conv-avatar{width:36px;height:36px;border-radius:50%;background:var(--psg-navy);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.76rem;font-weight:900;flex-shrink:0;}
.chat-conv-body{flex:1;min-width:0;}
.chat-conv-name{font-weight:800;color:var(--grey-800);font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.chat-conv-preview{font-size:.72rem;color:var(--grey-400);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;}
.chat-conv-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0;}
.chat-conv-time{font-size:.65rem;color:var(--grey-400);white-space:nowrap;}
.chat-conv-unread{background:#dc2626;color:#fff;border-radius:999px;font-size:.6rem;font-weight:900;padding:2px 6px;min-width:16px;text-align:center;}
.chat-empty{padding:40px 16px;text-align:center;color:var(--grey-400);font-weight:600;font-size:.82rem;}
.chat-thread-hdr{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--grey-100);flex-shrink:0;}
.chat-back-btn{background:none;border:none;cursor:pointer;color:var(--grey-500);padding:4px;border-radius:6px;display:flex;}
.chat-back-btn:hover{background:var(--grey-100);}
.chat-thread-name{flex:1;font-weight:900;font-size:.82rem;color:var(--grey-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.chat-thread-add{background:none;border:1px solid var(--grey-200);border-radius:7px;cursor:pointer;padding:3px 8px;font-size:.7rem;font-weight:700;color:var(--grey-500);display:flex;align-items:center;gap:3px;transition:background .15s;}
.chat-thread-add:hover{background:var(--grey-100);color:var(--psg-navy);}
.chat-msgs{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:6px;scrollbar-width:thin;}
.chat-msg-row{display:flex;flex-direction:column;max-width:86%;}
.chat-msg-row.me{align-self:flex-end;align-items:flex-end;}
.chat-msg-row.them{align-self:flex-start;align-items:flex-start;}
.chat-msg-sender{font-size:.65rem;font-weight:700;color:var(--grey-400);margin-bottom:2px;}
.chat-bubble{padding:8px 12px;border-radius:14px;font-size:.82rem;line-height:1.45;word-break:break-word;}
.chat-bubble a{color:inherit;text-decoration:underline;}
.me .chat-bubble{background:var(--psg-navy);color:#fff;border-bottom-right-radius:4px;}
.them .chat-bubble{background:var(--grey-100);color:var(--grey-800);border-bottom-left-radius:4px;}
.chat-msg-time{font-size:.6rem;color:var(--grey-400);margin-top:2px;}
.chat-attach-list{display:flex;flex-direction:column;gap:4px;margin-top:5px;}
.chat-attach-item{display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:8px;font-size:.72rem;font-weight:700;cursor:pointer;transition:background .15s;}
.me .chat-attach-item{background:rgba(255,255,255,.2);color:#fff;}
.me .chat-attach-item:hover{background:rgba(255,255,255,.35);}
.them .chat-attach-item{background:var(--grey-200);color:var(--grey-700);}
.them .chat-attach-item:hover{background:var(--grey-300);}
.chat-attach-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px;}
.chat-attach-size{opacity:.65;font-size:.64rem;white-space:nowrap;}
.chat-load-more{text-align:center;padding:8px;font-size:.72rem;color:var(--psg-navy);font-weight:700;cursor:pointer;border-bottom:1px solid var(--grey-100);flex-shrink:0;}
.chat-load-more:hover{background:var(--grey-50);}
.chat-input-area{border-top:1px solid var(--grey-100);padding:10px 12px;display:flex;flex-direction:column;gap:5px;flex-shrink:0;}
.chat-file-preview{display:flex;flex-wrap:wrap;gap:5px;}
.chat-file-chip{display:flex;align-items:center;gap:4px;background:var(--grey-100);border-radius:6px;padding:3px 8px;font-size:.7rem;font-weight:700;color:var(--grey-600);max-width:160px;}
.chat-file-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.chat-file-chip button{background:none;border:none;cursor:pointer;color:var(--grey-400);padding:0 2px;font-size:.85rem;line-height:1;flex-shrink:0;}
.chat-input-row{display:flex;align-items:flex-end;gap:6px;}
.chat-file-label{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;cursor:pointer;color:var(--grey-400);transition:background .15s;flex-shrink:0;}
.chat-file-label:hover{background:var(--grey-100);color:var(--psg-navy);}
.chat-textarea{flex:1;border:1px solid var(--grey-200);border-radius:10px;padding:7px 10px;font-size:.82rem;font-family:inherit;resize:none;outline:none;min-height:34px;max-height:120px;line-height:1.45;transition:border-color .15s;box-sizing:border-box;}
.chat-textarea:focus{border-color:var(--psg-navy);}
.chat-send-btn{background:var(--psg-navy);color:#fff;border:none;border-radius:10px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:opacity .15s;}
.chat-send-btn:hover{opacity:.85;}
.chat-send-btn:disabled{opacity:.4;cursor:not-allowed;}
.chat-modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:10000;align-items:center;justify-content:center;}
.chat-modal-overlay.open{display:flex;}
.chat-modal-box{background:#fff;border-radius:14px;max-width:440px;width:92%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.2);display:flex;flex-direction:column;}
.chat-modal-hdr{padding:14px 18px;border-bottom:1px solid var(--grey-100);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}
.chat-modal-title{font-size:.85rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:var(--psg-navy);}
.chat-modal-close{background:none;border:none;cursor:pointer;color:var(--grey-400);padding:4px;border-radius:6px;}
.chat-modal-close:hover{background:var(--grey-100);}
.chat-modal-body{padding:14px 18px;flex:1;overflow-y:auto;}
.chat-user-check{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--grey-50);cursor:pointer;}
.chat-user-check:last-child{border-bottom:0;}
.chat-user-check input[type=checkbox]{width:16px;height:16px;cursor:pointer;flex-shrink:0;accent-color:var(--psg-navy);}
.chat-user-check-name{font-weight:700;color:var(--grey-800);font-size:.82rem;}
.chat-user-check-email{font-size:.7rem;color:var(--grey-400);}
.chat-modal-footer{padding:12px 18px;border-top:1px solid var(--grey-100);display:flex;flex-direction:column;gap:8px;flex-shrink:0;}
.chat-modal-input{border:1px solid var(--grey-200);border-radius:8px;padding:7px 10px;font-size:.82rem;font-family:inherit;outline:none;transition:border-color .15s;width:100%;box-sizing:border-box;}
.chat-modal-input:focus{border-color:var(--psg-navy);}
.chat-modal-create{background:var(--psg-navy);color:#fff;border:none;border-radius:8px;padding:9px;font-size:.82rem;font-weight:800;cursor:pointer;transition:opacity .15s;}
.chat-modal-create:hover{opacity:.85;}
.chat-modal-create:disabled{opacity:.4;cursor:not-allowed;}
