

#float-root { position: fixed; inset: 0; z-index: 49; pointer-events: none; } /* ниже окон-подтверждений (50) */
.fpanel, .fstrips { pointer-events: auto; }

.fpanel {
  position: fixed; top: 72px; right: 24px; left: auto;
  width: 460px; min-width: 320px; max-width: calc(100vw - 16px);
  max-height: min(86vh, calc(100dvh - 16px));
  display: flex; flex-direction: column;
  background: var(--v-card, var(--panel, #fff)); color: var(--v-text, var(--text, #1e1e1e));
  border-radius: 20px;
  box-shadow: 0 0 0 1px var(--v-chip-ring, rgba(0, 0, 0, .1)), 0 12px 40px rgba(20, 20, 20, .16), 0 2px 8px rgba(20, 20, 20, .08);
  overflow: hidden; resize: both;
  outline: none;
  animation: fpanel-in .18s ease-out backwards;
}
:root[data-theme="dark"] .fpanel { box-shadow: 0 0 0 1px rgba(255, 255, 255, .14), 0 14px 44px rgba(0, 0, 0, .6); }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .fpanel { box-shadow: 0 0 0 1px rgba(255, 255, 255, .14), 0 14px 44px rgba(0, 0, 0, .6); }
}
.fpanel.is-min { display: none; }
.fpanel.is-dragging { user-select: none; box-shadow: 0 0 0 1px var(--v-accent, #F25C05), 0 18px 50px rgba(20, 20, 20, .26); }
.fpanel.is-asking { opacity: .6; }
@keyframes fpanel-in { from { opacity: 0; transform: translateY(8px) scale(.985); } }
@media (prefers-reduced-motion: reduce) { .fpanel { animation: none; } }

.fpanel-bar {
  display: flex; align-items: center; gap: 6px; flex: none;
  padding: 10px 10px 10px 18px; cursor: grab; touch-action: none; user-select: none;
  border-bottom: 1px solid var(--v-line, var(--border, #eee));
}
.fpanel.is-dragging .fpanel-bar { cursor: grabbing; }
.fpanel-grip { display: none; }
.fpanel-title { flex: 1 1 auto; min-width: 0; font-weight: 700; font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fpanel-btn {
  width: 32px; height: 32px; flex: none; display: inline-flex; align-items: center; justify-content: center;
  border: 0; border-radius: 10px; cursor: pointer;
  background: var(--v-soft, #f4f4f5); color: var(--v-text, inherit);
}
.fpanel-btn:hover { background: var(--v-hover, #e9e9ec); }
.fpanel-btn:focus-visible, .fstrip button:focus-visible { outline: 2px solid var(--v-accent, #F25C05); outline-offset: 1px; }


.fpanel > .modal.fpanel-body {
  flex: 1 1 auto; min-height: 0; width: auto; max-width: none; max-height: none; height: auto;
  margin: 0; border: 0; border-radius: 0; box-shadow: none; background: transparent; animation: none;
  overflow-y: auto; overscroll-behavior: contain;
}
.fpanel > .modal.fpanel-body.fin-form-modal, .fpanel > .modal.fpanel-body.pr26-modal { width: auto; height: auto; max-height: none; overflow-y: auto; display: block; }
.fpanel > .modal.fpanel-body.fin-form-modal { padding: 0 !important; }
.fpanel .fin-form-body { overflow: visible; padding-left: 18px; padding-right: 18px; }
.fpanel .modal-actions.fin-form-foot { position: sticky; bottom: 0; background: var(--v-card, var(--panel, #fff)); padding-left: 18px; padding-right: 18px; }
.fpanel .fpanel-dupe { display: none !important; }
.fpanel > .modal.fpanel-body:not(.fin-form-modal) { padding: 16px 18px 18px; }
.fpanel .pr26-grid { grid-template-columns: minmax(0, 1fr); }


.fstrips { position: fixed; right: 20px; bottom: 20px; display: flex; flex-direction: column; align-items: flex-end; gap: 8px; max-width: calc(100vw - 24px); }
body:has(#dlg-msg-input) .fstrips { bottom: 150px; }
.fstrip {
  display: flex; align-items: center; max-width: 340px;
  background: var(--v-card, #fff); color: var(--v-text, #1e1e1e); border-radius: 14px; overflow: hidden;
  box-shadow: 0 0 0 1px var(--v-chip-ring, rgba(0, 0, 0, .1)), 0 8px 24px rgba(20, 20, 20, .16);
  animation: fpanel-in .18s ease-out backwards;
}
:root[data-theme="dark"] .fstrip { box-shadow: 0 0 0 1px rgba(255, 255, 255, .14), 0 10px 30px rgba(0, 0, 0, .55); }
.fstrip button { border: 0; background: transparent; color: inherit; cursor: pointer; font: inherit; }
.fstrip-open { display: flex; align-items: center; gap: 8px; min-width: 0; padding: 11px 6px 11px 14px; font-weight: 700; font-size: 14px; }
.fstrip-open span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fstrip-open:hover, .fstrip-x:hover { background: var(--v-hover, #f1f1f3); }
.fstrip-x { width: 36px; align-self: stretch; color: var(--v-muted, #6b7280); }
.fstrip-dot { width: 8px; height: 8px; flex: none; border-radius: 50%; background: var(--v-accent, #F25C05); }



@media (max-width: 767px) {
  .fpanel {
    top: auto; left: 0; right: 0; bottom: 0; width: auto; min-width: 0; max-width: none;
    height: 60dvh; max-height: 60dvh; resize: none;
    border-radius: 22px 22px 0 0; padding-bottom: env(safe-area-inset-bottom, 0px);
  }
  .fpanel-bar { padding: 14px 10px 8px 16px; position: relative; }
  .fpanel-grip { display: block; position: absolute; top: 5px; left: 50%; width: 40px; height: 4px; margin-left: -20px; border-radius: 2px; background: var(--v-bar2, #d4d4d8); }
  .fpanel .fin-form-body { grid-template-columns: minmax(0, 1fr); padding: 8px 14px 12px; }
  .fpanel .modal-actions.fin-form-foot { padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px)); }
  .fstrips { left: 10px; right: 10px; bottom: calc(10px + env(safe-area-inset-bottom, 0px)); align-items: stretch; }
  body:has(#dlg-msg-input) .fstrips { bottom: calc(76px + env(safe-area-inset-bottom, 0px)); }
  .fstrip { max-width: none; }
  .fstrip-open { flex: 1 1 auto; }
}
