/* One shell-owned task surface; the document beneath it keeps its own state. */
.ui-v2 .fa-panel-host {
  position: fixed; inset: 0 0 0 auto; margin: 0; padding: 0;
  width: min(36rem, 100vw); max-width: 100vw; height: 100dvh; max-height: 100dvh;
  border: 0; border-radius: 0; background: var(--ui-bg-surface); color: var(--ui-fg-default);
  box-shadow: -12px 0 40px rgb(15 23 42 / .12); overflow: hidden;
}
.ui-v2 .fa-panel-host::backdrop { background: rgb(15 23 42 / .24); }
.has-folder-access-panel { overflow: hidden; }
.fa-panel-host__content { height: 100%; min-height: 0; }
.ui-v2 .fa-panel-host .fa-context-panel { display: flex; flex-direction: column; height: 100%; min-height: 0; }
.ui-v2 .fa-panel-host .fa-context-panel > .fa-panel-header { display: flex; flex: 0 0 auto; padding: var(--ui-space-6); margin: 0; border-block-end: var(--ui-border-width) solid var(--ui-border-default); }
.ui-v2 .fa-panel-host .fa-context-panel > .fa-feedback:not(:empty) { margin: var(--ui-space-3) var(--ui-space-6) 0; flex: 0 0 auto; }
.ui-v2 .fa-panel-host .fa-policy { flex: 1; min-height: 0; }
.ui-v2 .fa-panel-host [data-fa-policy] { display: flex; flex-direction: column; height: 100%; min-height: 0; }
.ui-v2 .fa-panel-host .fa-policy-body { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: var(--ui-space-5) var(--ui-space-6); }
.ui-v2 .fa-panel-host .fa-savebar { flex: 0 0 auto; position: static; margin: 0; padding: var(--ui-space-4) var(--ui-space-6) max(var(--ui-space-4), env(safe-area-inset-bottom)); }
.ui-v2 .fa-panel-host .fa-savebar .fa-scope { display: none; }
.ui-v2 .fa-panel-host .fa-save-actions { flex: 0 0 auto; }
.ui-v2 .fa-panel-host__status { padding: var(--ui-space-6); }
.ui-v2 .fa-panel-host__status-header { display: flex; justify-content: space-between; align-items: center; gap: var(--ui-space-4); }
.ui-v2 .fa-panel-host__status-header h2 { margin: 0; font-size: var(--ui-type-card-title); }
.ui-v2 .fa-panel-host__status p { margin-block: var(--ui-space-8); line-height: var(--ui-line-body); color: var(--ui-fg-muted); }
@media (max-width: 47.99rem) { .ui-v2 .fa-panel-host { width: 100vw; box-shadow: none; } }
@media (prefers-reduced-motion: no-preference) { .ui-v2 .fa-panel-host[open] { animation: fa-panel-enter 160ms ease-out; } }
@keyframes fa-panel-enter { from { transform: translateX(24px); opacity: .5; } to { transform: translateX(0); opacity: 1; } }
