/* COBAT V2.1.50 — indicateur global unique (portail uniquement) */
#cobatBridgeStatus,#cobatCrRemoteUpdate,#cloudSyncPill,#cobatCloudState,.cloud-sync-pill,.cobat-cloud-state{display:none!important}
#cobatGlobalSyncDock{position:fixed;right:14px;bottom:14px;z-index:214200;font-family:Arial,Helvetica,sans-serif;color:#243641}
#cobatGlobalSyncButton{position:relative;width:32px;height:32px;padding:0;border:1px solid #cfd9e0;border-radius:10px;background:rgba(255,255,255,.94);color:#6f7d86;display:grid;place-items:center;box-shadow:0 5px 16px rgba(20,42,58,.09);cursor:pointer;opacity:.62;transition:.15s}
#cobatGlobalSyncButton:hover,#cobatGlobalSyncButton[aria-expanded="true"]{opacity:1;border-color:#aebfc9;background:#fff}
#cobatGlobalSyncButton svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#cobatGlobalSyncDock[data-state="pending"] #cobatGlobalSyncButton{color:#976d19;border-color:#dfc98e;background:#fffaf0;opacity:.9}
#cobatGlobalSyncDock[data-state="offline"] #cobatGlobalSyncButton{color:#707b82;background:#f4f6f7;opacity:.88}
#cobatGlobalSyncDock[data-state="error"] #cobatGlobalSyncButton{color:#a63b35;border-color:#dfaaa5;background:#fff5f4;opacity:1}
#cobatGlobalSyncDock[data-state="remote"] #cobatGlobalSyncButton{color:#2b6f9f;border-color:#b8d0e2;background:#f4f9fc;opacity:.92}
#cobatGlobalSyncDock[data-state="syncing"] #cobatGlobalSyncButton{color:#2f729f;opacity:.9}
#cobatGlobalSyncDock[data-state="syncing"] #cobatGlobalSyncButton:after{content:"";position:absolute;inset:4px;border:1.5px solid transparent;border-top-color:currentColor;border-radius:50%;animation:cobatGsyncSpin .8s linear infinite}
@keyframes cobatGsyncSpin{to{transform:rotate(360deg)}}
#cobatGlobalSyncBadge{position:absolute;right:-5px;top:-5px;min-width:15px;height:15px;padding:0 3px;border-radius:999px;background:#7c1720;color:#fff;border:2px solid #fff;font-size:8px;line-height:11px;display:flex;align-items:center;justify-content:center;box-sizing:border-box}
#cobatGlobalSyncPanel{position:absolute;right:0;bottom:40px;width:min(330px,calc(100vw - 28px));max-height:min(520px,calc(100vh - 76px));overflow:auto;background:#fff;border:1px solid #d5dee4;border-radius:14px;box-shadow:0 18px 50px rgba(20,42,58,.18);padding:12px}
.cobat-gsync-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding-bottom:10px;border-bottom:1px solid #edf1f3}.cobat-gsync-title{font-size:13px;color:#223b4d}.cobat-gsync-summary{margin-top:3px;font-size:10px;color:#71808a}.cobat-gsync-head>button{border:0;background:transparent;color:#75838c;font-size:20px;line-height:18px;cursor:pointer;padding:0 2px}
.cobat-gsync-modules{display:grid;gap:5px;padding:9px 0}.cobat-gsync-row{display:flex;align-items:center;gap:8px;min-height:40px;padding:6px 7px;border-radius:9px;background:#f8fafb}.cobat-gsync-dot{width:7px;height:7px;border-radius:50%;background:#71a986;flex:0 0 auto}.cobat-gsync-row[data-state="pending"] .cobat-gsync-dot{background:#d49a2f}.cobat-gsync-row[data-state="syncing"] .cobat-gsync-dot{background:#4d91bd}.cobat-gsync-row[data-state="offline"] .cobat-gsync-dot{background:#89949b}.cobat-gsync-row[data-state="error"] .cobat-gsync-dot{background:#c94a42}.cobat-gsync-row[data-state="remote"] .cobat-gsync-dot{background:#397da9}.cobat-gsync-copy{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.cobat-gsync-copy>span{font-size:10.5px;color:#334854;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cobat-gsync-copy small{font-size:9px;color:#7b8991}.cobat-gsync-row>button,.cobat-gsync-foot>button{border:1px solid #c8d7e1;background:#fff;color:#286d9b;border-radius:8px;height:28px;padding:0 9px;font-size:9px;cursor:pointer}.cobat-gsync-row>button:hover,.cobat-gsync-foot>button:hover{background:#f1f7fa}.cobat-gsync-empty{padding:13px 7px;text-align:center;color:#829099;font-size:10px}.cobat-gsync-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:9px;border-top:1px solid #edf1f3}.cobat-gsync-foot>span{font-size:8.5px;color:#86939a}
@media(max-width:700px){#cobatGlobalSyncDock{right:9px;bottom:9px}#cobatGlobalSyncButton{width:30px;height:30px;border-radius:9px}#cobatGlobalSyncPanel{bottom:38px;width:min(320px,calc(100vw - 18px))}}
@media print{#cobatGlobalSyncDock{display:none!important}}
body.module-pointage #saveState{display:none!important}
