/* Un seul compagnon léger pour toutes les vues, au-dessus du contenu et sous les dialogues. */
.workspace-buddy[hidden], .workspace-buddy-card[hidden] { display:none !important; }
.workspace-buddy { position:fixed; right:20px; bottom:20px; z-index:80; display:grid; justify-items:end; gap:10px; pointer-events:none; color:var(--apple-ink,#1d1d1f); }
.workspace-buddy > * { pointer-events:auto; }
.workspace-buddy-invite { position:absolute; right:78px; bottom:15px; width:max-content; max-width:calc(100vw - 110px); padding:9px 12px; border:1px solid var(--apple-outline,#e3eaf2); border-radius:12px; background:var(--apple-surface,#fff); box-shadow:0 8px 24px #15264120; color:var(--apple-ink,#1d1d1f); font-size:11px; font-weight:720; opacity:0; transform:translateX(6px); pointer-events:none; transition:opacity .3s ease,transform .3s ease; }
.workspace-buddy.is-inviting .workspace-buddy-invite { opacity:1; transform:translateX(0); }
.workspace-buddy-toggle { position:relative; display:grid; place-items:center; width:68px; height:68px; padding:0; overflow:hidden; border:1px solid #bbd7eb; border-radius:22px; background:linear-gradient(145deg,#f7fcff,#e8f6f5); box-shadow:0 10px 26px #2346742b,inset 0 1px #fff; cursor:pointer; transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease; -webkit-tap-highlight-color:transparent; }
.workspace-buddy-toggle:hover { transform:translateY(-3px) scale(1.04); box-shadow:0 16px 32px #23467435,inset 0 1px #fff; }
.workspace-buddy-toggle:active { transform:scale(.96); }
.workspace-buddy-toggle:focus-visible, .workspace-buddy-card button:focus-visible { outline:3px solid #2764e7; outline-offset:3px; }
.workspace-buddy-glow { position:absolute; inset:5px; border-radius:18px; background:radial-gradient(circle at 25% 15%,#b3e9ff94,transparent 55%),radial-gradient(circle at 85% 90%,#9ff2c990,transparent 53%); animation:workspaceBuddyBreathe 5s ease-in-out infinite; }
.workspace-buddy-toggle morph-bot { position:relative; display:block; width:58px; height:58px; filter:drop-shadow(0 4px 5px #1d55a83a); }
.workspace-buddy-fallback { display:none; position:relative; width:50px; height:50px; align-items:center; justify-content:center; border-radius:16px; color:#fff; font-size:11px; font-weight:800; letter-spacing:4px; background:linear-gradient(145deg,#315cf5,#24b69b); }
.workspace-buddy.is-unavailable morph-bot { display:none; }
.workspace-buddy.is-unavailable .workspace-buddy-fallback { display:flex; }
.workspace-buddy-card { position:relative; width:min(332px,calc(100vw - 40px)); max-height:calc(100dvh - 200px); overflow-x:hidden; overflow-y:auto; padding:19px 18px 17px; border:1px solid var(--apple-outline,#e3eaf2); border-radius:21px; background:var(--apple-surface,#fff); box-shadow:0 16px 44px #15264129,0 2px 8px #1526410d; animation:workspaceBuddyAppear .28s cubic-bezier(.2,.8,.2,1) both; }
.workspace-buddy-card::before { content:''; position:absolute; top:0; left:20px; right:20px; height:2px; border-radius:0 0 5px 5px; background:linear-gradient(90deg,#3069ed,#31c9ad); }
.workspace-buddy-kicker { display:block; margin-bottom:7px; color:#148b7b; font-size:10px; font-weight:800; letter-spacing:.12em; }
.workspace-buddy-card strong { display:block; padding-right:24px; font-size:15px; line-height:1.25; letter-spacing:-.025em; }
.workspace-buddy-card p { margin:6px 0 0; color:var(--apple-muted,#68758a); font-size:12px; line-height:1.45; }
.workspace-buddy-actions { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; min-width:0; margin-top:15px; }
.workspace-buddy-card .workspace-buddy-action { position:static; display:block; width:100%; min-height:39px; padding:8px 13px; border:1px solid transparent; border-radius:11px; font:inherit; font-size:12px; font-weight:750; text-align:center; white-space:normal; overflow-wrap:anywhere; cursor:pointer; transition:transform .2s ease,background .2s ease,box-shadow .2s ease; }
.workspace-buddy-action:hover { transform:translateY(-1px); }
.workspace-buddy-action:active { transform:scale(.98); }
.workspace-buddy-action-primary { color:#fff; background:linear-gradient(105deg,#245fe4,#147ec0); box-shadow:0 6px 13px #1d5ed029; }
.workspace-buddy-action-primary:hover { box-shadow:0 9px 18px #1d5ed03b; }
.workspace-buddy-action-secondary { color:var(--apple-ink,#1d1d1f); background:var(--apple-hover,#f1f4f9); border-color:var(--apple-outline,#dfe6ee); }
.workspace-buddy-card .workspace-buddy-future { display:flex; align-items:center; justify-content:center; gap:6px; width:100%; margin-top:12px; padding:6px 4px; border:0; border-radius:8px; color:#167d70; background:transparent; font:inherit; font-size:11px; font-weight:750; cursor:pointer; }
.workspace-buddy-card .workspace-buddy-future:hover { background:var(--apple-hover,#f0f4fa); }
.workspace-buddy-card #workspaceBuddyClose { position:absolute; top:10px; right:10px; display:grid; place-items:center; width:28px; height:28px; padding:0; border:0; border-radius:9px; color:var(--apple-muted,#68758a); background:transparent; cursor:pointer; }
.workspace-buddy-card #workspaceBuddyClose:hover { background:var(--apple-hover,#f0f4fa); }
body.dark-mode .workspace-buddy-toggle { border-color:#466778; background:linear-gradient(145deg,#28394d,#1b3539); box-shadow:0 10px 28px #0005,inset 0 1px #ffffff20; }
@keyframes workspaceBuddyAppear { from { opacity:0; transform:translateY(8px) scale(.96); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes workspaceBuddyBreathe { 50% { opacity:.55; transform:scale(1.1); } }
@media (max-width:768px), (pointer:coarse) and (max-width:1024px) { .workspace-buddy { right:calc(1.25rem + env(safe-area-inset-right)); bottom:calc(8.9rem + env(safe-area-inset-bottom)); } .workspace-buddy-toggle { width:54px; height:54px; border-radius:18px; } .workspace-buddy-toggle morph-bot { width:48px; height:48px; } .workspace-buddy-invite { right:64px; bottom:10px; } .workspace-buddy-card { width:min(332px,calc(100vw - 2.5rem - env(safe-area-inset-right))); } }
@media (max-height:560px) and (max-width:768px) { .workspace-buddy { bottom:calc(5.2rem + env(safe-area-inset-bottom)); right:calc(5.1rem + env(safe-area-inset-right)); } }
@media (prefers-reduced-motion:reduce) { .workspace-buddy *, .workspace-buddy *::before, .workspace-buddy *::after { animation:none !important; transition:none !important; } }
