/* STIP MASTER — Actions agent contextuelles.
   Le contenu dépend de la page appelante ; la géométrie de la feuille reste commune. */
html.spa-open,html.spa-open body{overflow:hidden}
.spa-overlay{position:fixed;z-index:11000;inset:0;display:grid;align-items:end;overflow:hidden;background:rgba(10,31,40,.28);backdrop-filter:blur(5px)}
.spa-backdrop{position:absolute;inset:0;border:0;background:transparent}
.spa-sheet{position:relative;z-index:1;width:min(100%,620px);max-height:calc(100dvh - max(10px,env(safe-area-inset-top)));box-sizing:border-box;margin:0 auto;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:10px 18px calc(18px + env(safe-area-inset-bottom));border:1px solid var(--stip-line);border-radius:28px 28px 0 0;background:var(--stip-surface);box-shadow:0 -20px 50px rgba(13,44,56,.18)}
.spa-handle{width:44px;height:4px;margin:0 auto 14px;border-radius:999px;background:var(--stip-line)}
.spa-head{display:grid;grid-template-columns:76px minmax(0,1fr) 42px;align-items:center;gap:14px;padding:2px 0 16px;border-bottom:1px solid var(--stip-line-soft)}
.spa-portrait{position:relative;display:block;width:72px;height:90px;overflow:hidden;border:1px solid var(--stip-line);border-radius:25px;background:var(--stip-surface-soft);box-shadow:var(--stip-shadow-soft)}
.spa-photo{display:grid;width:100%;height:100%;place-items:center;overflow:hidden;color:var(--stip-ink-2);font-size:1.15rem;font-weight:950}
.spa-photo img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:cover;object-position:50% 42%}
.spa-ghe{position:absolute;right:5px;bottom:5px;left:5px;display:block;overflow:hidden;padding:4px 5px;border-radius:999px;background:var(--stip-ink);color:var(--stip-surface);font-size:.52rem;font-weight:950;letter-spacing:.035em;line-height:1;text-align:center;text-overflow:ellipsis;white-space:nowrap}
.spa-identity{min-width:0}
.spa-identity small,.spa-identity strong,.spa-identity span{display:block}
.spa-identity small{color:var(--stip-accent);font-size:.58rem;font-weight:950;letter-spacing:.1em}
.spa-identity strong{margin-top:4px;overflow:hidden;color:var(--stip-ink);font-size:1rem;font-weight:950;text-overflow:ellipsis;white-space:nowrap}
.spa-identity span{margin-top:4px;color:var(--stip-muted);font-size:.72rem;font-weight:800}
.spa-close{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--stip-line);border-radius:50%;background:var(--stip-surface-soft);color:var(--stip-ink);font-size:1.25rem}
.spa-actions{display:grid;gap:9px;padding:14px 0 8px}
.spa-action{display:grid;grid-template-columns:42px minmax(0,1fr) 18px;align-items:center;gap:10px;min-height:64px;padding:9px 12px;border:1px solid var(--stip-line);border-radius:18px;background:var(--stip-surface);color:var(--stip-ink);text-align:left;text-decoration:none;box-shadow:0 7px 18px rgba(22,59,73,.04)}
.spa-action.primary{border-color:color-mix(in srgb,var(--stip-accent) 38%,var(--stip-line));background:var(--stip-accent-soft)}
.spa-action.danger{border-color:color-mix(in srgb,#c62828 42%,var(--stip-line));background:color-mix(in srgb,#c62828 8%,var(--stip-surface));color:#a51d1d}
.spa-action.danger .spa-action-icon{background:color-mix(in srgb,#c62828 12%,var(--stip-surface));color:#a51d1d}
.spa-action.danger .spa-action-copy small,.spa-action.danger>em{color:#b14343}
.spa-action:disabled{opacity:.45}
.spa-action-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:14px;background:var(--stip-surface-soft);font-size:1.05rem}
.spa-action.primary .spa-action-icon{background:var(--stip-surface);color:var(--stip-accent)}
.spa-action-copy{min-width:0}
.spa-action-copy strong,.spa-action-copy small{display:block}
.spa-action-copy strong{font-size:.82rem;font-weight:950}
.spa-action-copy small{margin-top:3px;overflow:hidden;color:var(--stip-muted);font-size:.64rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.spa-action>em{color:var(--stip-muted-2);font-style:normal;font-size:1.1rem}
.spa-cancel{width:100%;min-height:46px;border:0;border-radius:15px;background:var(--stip-surface-soft);color:var(--stip-ink-2);font-weight:900}
.spa-action:focus-visible,.spa-close:focus-visible,.spa-cancel:focus-visible{outline:3px solid var(--stip-focus-ring);outline-offset:2px}
@media(min-width:720px){
  .spa-overlay{align-items:center;padding:24px}
  .spa-sheet{border-radius:28px;box-shadow:var(--stip-shadow-strong)}
}
