/* Сповіщення (тости) — ті самі стилі, що в «Клієнтах» (frontend/css/style.css), копія — tools/sync_supplier_toasts.py.
   Вигляд — атрибут data-toast на <html>: vivid (типово, «Яскраве») або bank («Банк»); обирається в меню теми. */

/* ═══ СПІЛЬНЕ З «КЛІЄНТАМИ» — згенеровано tools/sync_supplier_toasts.py, руками не правити ═══ */
.toast.game-toast { display: flex; align-items: center; gap: 14px; background: #1c2230; color: var(--text); border: 1px solid rgba(255,255,255,.12); border-radius: 14px; padding: 11px 16px; box-shadow: 0 12px 36px rgba(0,0,0,.55); }
.game-toast .gt-emoji { font-size: 30px; line-height: 1; }
.game-toast .gt-title { font-weight: 700; font-size: 16px; }
.game-toast .gt-dur-line { margin-top: 4px; display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.game-toast .gt-dur { font-size: 22px; font-weight: 800; color: #5fe07a; line-height: 1; }
.game-toast .gt-dur-label { font-size: 13px; color: var(--text-dim); }
.game-toast.tier-fire { border-color: rgba(106,179,243,.55); box-shadow: 0 0 0 1px rgba(106,179,243,.35), 0 14px 44px rgba(0,0,0,.5); }
.game-toast.tier-good { border-color: rgba(245,158,66,.5); }
.game-toast.tier-resolve { border-color: rgba(79,174,78,.55); }
.bc-stack { position: fixed; top: 12px; right: 12px; width: 440px; display: flex; flex-direction: column; align-items: stretch; gap: 10px; z-index: 10005; pointer-events: none; }
.bc-stack > * { flex: none; position: relative; z-index: 1; pointer-events: auto; touch-action: pan-y; }
.bc-stack > .leaving { z-index: 0; pointer-events: none; }
.toast { --tt: rgba(255,255,255,.95); --tt-bg: rgba(255,255,255,.2); --t-line: rgba(255,255,255,.28); --t-track: rgba(255,255,255,.2); position: relative; overflow: hidden; opacity: 0; transform: translateX(calc(100% + 40px)); padding: 12px 12px 16px 14px; border-radius: 14px; border: 1px solid var(--t-line); background: linear-gradient(180deg, #2b7fff, #1f6feb); color: #fff; font-size: 13.5px; font-weight: 600; box-shadow: 0 18px 44px -14px rgba(0,0,0,.65), 0 2px 8px rgba(0,0,0,.22); transition: transform .5s cubic-bezier(.16,1,.3,1), opacity .3s ease; z-index: 10005; white-space: normal; text-align: left; overflow-wrap: anywhere; }
.toast.show { opacity: 1; transform: none; }
.toast.inplace { transform: none; }
.toast.leaving { opacity: 0; transform: translateX(calc(100% + 40px)); transition: transform .28s cubic-bezier(.5,0,.75,0), opacity .22s ease; }
.toast.err { background: linear-gradient(180deg, #b0413f, #8f3130); }
.toast-ico { flex: none; width: 24px; height: 24px; margin-top: -1px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 13px; color: var(--tt); background: var(--tt-bg); }
.toast.plain { display: flex; align-items: flex-start; gap: 10px; }
.toast.plain .toast-msg { flex: 1; min-width: 0; padding-top: 3px; font-size: 13.5px; font-weight: 600; line-height: 1.4; white-space: pre-line; }
.toast-x, .toast-close { flex: none; width: 24px; height: 24px; margin: -1px -2px 0 0; padding: 0; border: none; border-radius: 7px; background: transparent; color: currentColor; opacity: .7; cursor: pointer; font-size: 12.5px; display: inline-flex; align-items: center; justify-content: center; transition: opacity .12s, background .12s; }
.toast-x:hover, .toast-close:hover { opacity: 1; background: color-mix(in srgb, currentColor 14%, transparent); }
@media (hover: hover) {
    .toast.plain .toast-x { opacity: 0; }
    .toast.plain:hover .toast-x, .toast.plain .toast-x:focus-visible { opacity: .7; }
}
@media (prefers-reduced-motion: reduce) {
    .toast, .toast.leaving, .toast.inplace { transform: none; transition: opacity .15s ease; }
}
.toast.toast-link { cursor: pointer; }
.toast.toast-link:hover { border-color: color-mix(in srgb, var(--tt) 60%, transparent); }
.toast-go { flex: none; width: 24px; height: 24px; margin: -1px -4px 0 0; padding: 0; border: none; border-radius: 7px; background: transparent; color: var(--tt); cursor: pointer; font-size: 12px; display: inline-flex; align-items: center; justify-content: center; transition: transform .15s, background .12s; }
.toast.toast-link:hover .toast-go { transform: translateX(2px); background: color-mix(in srgb, var(--tt) 16%, transparent); }
.toast-go:focus-visible { outline: 2px solid var(--tt); outline-offset: 1px; }
.toast-undo { background: rgba(255,255,255,.16); color: inherit; border: 1px solid rgba(255,255,255,.3); border-radius: 9px; padding: 5px 11px; font: inherit; font-weight: 700; cursor: pointer; transition: background .12s, border-color .12s; }
.toast-undo:hover { background: rgba(255,255,255,.28); }
.toast.rich { text-align: left; }
.toast-head { display: flex; align-items: flex-start; gap: 10px; }
.toast-head > i { flex: none; font-size: 13px; }
.toast-msg { flex: 1; min-width: 0; padding-top: 3px; font-size: 13.5px; font-weight: 700; line-height: 1.4; white-space: pre-line; max-height: 50vh; overflow-y: auto; }
.toast-acts { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin: 10px 0 0 34px; }
.toast-acts-label { font-size: 12px; font-weight: 600; opacity: .8; margin-right: 2px; }
.toast.rich .toast-undo { margin: 0; display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; }
.toast-undo i { font-size: 14px; }
.toast-undo.mk-viber i { color: #d9c9ff; }
.toast-undo.mk-telegram i { color: #bfe9ff; }
.toast-undo.mk-whatsapp i { color: #9df2b4; }
.toast .ah-bar { left: 14px; right: 14px; bottom: 6px; height: 3px; border-radius: 3px; overflow: hidden; background: var(--t-track); }
.toast .ah-fill { background: var(--tt); border-radius: inherit; }
.toast.ah-paused .ah-fill { background: var(--tt); opacity: .55; }
:root[data-toast="glass"] .toast { --tt: var(--accent-strong); --tt-bg: color-mix(in srgb, var(--tt) 18%, transparent); --t-line: color-mix(in srgb, var(--text) 11%, transparent); --t-track: color-mix(in srgb, var(--text) 9%, transparent); background: color-mix(in srgb, var(--bg-sidebar) 78%, transparent); color: var(--text); font-weight: 500; -webkit-backdrop-filter: blur(18px) saturate(160%); backdrop-filter: blur(18px) saturate(160%); box-shadow: 0 24px 50px -18px rgba(0,0,0,.75), 0 0 0 1px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.05); }
:root[data-toast="card"] .toast { --tt: var(--accent-strong); --tt-bg: transparent; --t-line: color-mix(in srgb, var(--text) 10%, transparent); --t-track: color-mix(in srgb, var(--text) 8%, transparent); background: var(--bg-header); color: var(--text); font-weight: 500; padding-left: 16px; box-shadow: inset 4px 0 0 var(--tt), 0 18px 40px -16px rgba(0,0,0,.7); }
:root[data-toast="card"] .toast-ico { font-size: 16px; }
:root[data-toast="glass"] .toast.tone-ok, :root[data-toast="card"] .toast.tone-ok { --tt: #3dd68c; }
:root[data-toast="glass"] .toast.tone-err, :root[data-toast="card"] .toast.tone-err { --tt: #ff6b6b; }
:root[data-toast="glass"] .toast.tone-err { --t-line: color-mix(in srgb, #ff6b6b 36%, transparent); }
:root[data-toast="glass"] .toast-undo, :root[data-toast="card"] .toast-undo { background: color-mix(in srgb, var(--text) 7%, transparent); border-color: color-mix(in srgb, var(--text) 13%, transparent); color: var(--text); }
:root[data-toast="glass"] .toast-undo:hover, :root[data-toast="card"] .toast-undo:hover { background: color-mix(in srgb, var(--text) 14%, transparent); }
:root[data-toast="glass"] .toast-undo.mk-viber i, :root[data-toast="card"] .toast-undo.mk-viber i { color: #9b87ff; }
:root[data-toast="glass"] .toast-undo.mk-telegram i, :root[data-toast="card"] .toast-undo.mk-telegram i { color: #3fb1e8; }
:root[data-toast="glass"] .toast-undo.mk-whatsapp i, :root[data-toast="card"] .toast-undo.mk-whatsapp i { color: #2fd16f; }
:root[data-toast="glass"] .toast-acts-label, :root[data-toast="card"] .toast-acts-label { color: color-mix(in srgb, var(--text) 74%, transparent); opacity: 1; }
:root[data-toast="glass"] .toast-x, :root[data-toast="glass"] .toast-close, :root[data-toast="card"] .toast-x, :root[data-toast="card"] .toast-close { color: color-mix(in srgb, var(--text) 78%, transparent); }
:root[data-toast="vivid"] .toast { --tt: var(--accent-strong); --tt-bg: var(--tt); --t-line: color-mix(in srgb, var(--tt) 50%, transparent); --t-track: color-mix(in srgb, var(--tt) 20%, transparent); background: linear-gradient(120deg, color-mix(in srgb, var(--tt) 30%, transparent), color-mix(in srgb, var(--tt) 7%, transparent) 70%), color-mix(in srgb, var(--bg-sidebar) 86%, transparent); color: #fff; font-weight: 500; -webkit-backdrop-filter: blur(20px) saturate(180%); backdrop-filter: blur(20px) saturate(180%); box-shadow: 0 22px 48px -16px color-mix(in srgb, var(--tt) 45%, #000), 0 4px 14px -4px rgba(0,0,0,.55), inset 0 1px 0 color-mix(in srgb, #fff 12%, transparent); }
:root[data-toast="vivid"] .toast-ico { color: #fff; background: var(--tt); box-shadow: 0 0 16px -2px color-mix(in srgb, var(--tt) 80%, transparent); }
:root[data-toast="vivid"] .toast.tone-ok { --tt: #2fcf7e; }
:root[data-toast="vivid"] .toast.tone-err { --tt: #ff5d5d; }
@media (prefers-reduced-motion: no-preference) {
    :root[data-toast="vivid"] .toast.show:not(.inplace) { animation: toast-ping 1.2s ease-out .3s 1; }
}
:root[data-toast="vivid"] .toast-undo { background: color-mix(in srgb, #fff 10%, transparent); border-color: color-mix(in srgb, #fff 22%, transparent); color: #fff; }
:root[data-toast="vivid"] .toast-undo:hover { background: color-mix(in srgb, #fff 18%, transparent); }
:root[data-toast="vivid"] .toast-acts-label { color: color-mix(in srgb, #fff 80%, transparent); opacity: 1; }
:root[data-toast="vivid"] .toast-x, :root[data-toast="vivid"] .toast-close { color: color-mix(in srgb, #fff 85%, transparent); }
:root[data-toast="light"] .toast { --tt: #2563eb; --tt-bg: color-mix(in srgb, var(--tt) 13%, transparent); --t-line: color-mix(in srgb, #fff 80%, transparent); --t-track: color-mix(in srgb, #0f172a 9%, transparent); background: color-mix(in srgb, #f6f8fb 94%, transparent); color: #0f172a; font-weight: 500; padding-left: 16px; -webkit-backdrop-filter: blur(14px) saturate(160%); backdrop-filter: blur(14px) saturate(160%); box-shadow: inset 4px 0 0 var(--tt), 0 22px 50px -16px rgba(0,0,0,.8), 0 3px 10px rgba(0,0,0,.3); }
:root[data-toast="light"] .toast.tone-ok { --tt: #16a34a; }
:root[data-toast="light"] .toast.tone-err { --tt: #dc2626; }
:root[data-toast="light"] .toast-undo { background: color-mix(in srgb, #0f172a 5%, transparent); border-color: color-mix(in srgb, #0f172a 14%, transparent); color: #0f172a; }
:root[data-toast="light"] .toast-undo:hover { background: color-mix(in srgb, #0f172a 10%, transparent); }
:root[data-toast="light"] .toast-undo.mk-viber i { color: #7360f2; }
:root[data-toast="light"] .toast-undo.mk-telegram i { color: #229ed9; }
:root[data-toast="light"] .toast-undo.mk-whatsapp i { color: #1fae54; }
:root[data-toast="light"] .toast-acts-label { color: #475569; opacity: 1; }
:root[data-toast="light"] .toast-x, :root[data-toast="light"] .toast-close { color: #475569; }
:root[data-toast="light"] .game-toast .gt-dur { color: #15803d; }
:root[data-toast="light"] .game-toast .gt-dur-label { color: #475569; }
:root[data-toast="bank"] .toast { --tb: #1f5fae; --tt: #7cc0ff; --tt-bg: #fff; --t-line: transparent; --t-track: color-mix(in srgb, #000 22%, transparent); background: var(--tb); color: #fff; font-weight: 400; border-radius: 16px; padding: 14px 12px 18px 16px; box-shadow: 0 18px 44px -14px rgba(0,0,0,.7), 0 3px 10px rgba(0,0,0,.3); }
:root[data-toast="bank"] .toast.tone-ok { --tb: #1d6b45; --tt: #3ee07f; }
:root[data-toast="bank"] .toast.tone-err { --tb: #9b2c2c; --tt: #ff8080; }
:root[data-toast="bank"] .toast .toast-msg { font-size: 14px; font-weight: 400; line-height: 1.38; }
:root[data-toast="bank"] .toast .toast-lead { font-weight: 700; }
:root[data-toast="bank"] .toast-ico { width: 26px; height: 26px; background: #fff; color: var(--tb); font-size: 13px; }
:root[data-toast="bank"] .toast-ico .fa-circle-check::before { content: "\f00c"; }
:root[data-toast="bank"] .toast-ico .fa-circle-exclamation::before { content: "\21"; }
:root[data-toast="bank"] .toast-ico .fa-circle-info::before { content: "\f129"; }
:root[data-toast="bank"] .toast-x, :root[data-toast="bank"] .toast-close { width: 30px; height: 30px; margin: -4px -4px 0 0; font-size: 20px; color: #fff; opacity: .95; }
:root[data-toast="bank"] .toast.plain .toast-x { opacity: .95; }
:root[data-toast="bank"] .toast .ah-bar { left: -1px; right: -1px; bottom: -1px; height: 4px; border-radius: 0; }
:root[data-toast="bank"] .toast-go { color: #fff; }
:root[data-toast="bank"] .toast.toast-link:hover { border-color: color-mix(in srgb, #fff 45%, transparent); }
:root[data-toast="bank"] .toast-undo { background: color-mix(in srgb, #fff 16%, transparent); border-color: color-mix(in srgb, #fff 32%, transparent); color: #fff; }
:root[data-toast="bank"] .toast-undo:hover { background: color-mix(in srgb, #fff 26%, transparent); }
:root[data-toast="bank"] .toast-acts-label { color: color-mix(in srgb, #fff 85%, transparent); opacity: 1; }
:root[data-toast="bank"] .game-toast .gt-dur { color: #fff; }
:root[data-toast="bank"] .game-toast .gt-dur-label { color: color-mix(in srgb, #fff 82%, transparent); }
:root[data-toast] .toast.game-toast.tier-fire { border-color: rgba(106,179,243,.55); box-shadow: 0 0 0 1px rgba(106,179,243,.35), 0 18px 44px -14px rgba(0,0,0,.65); }
:root[data-toast] .toast.game-toast.tier-good { border-color: rgba(245,158,66,.5); }
:root[data-toast] .toast.game-toast.tier-resolve { border-color: rgba(79,174,78,.55); }
.ah-bar { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: rgba(255,255,255,.14); pointer-events: none; }
.ah-fill { height: 100%; width: 100%; transform-origin: left center; background: rgba(255,255,255,.75); }
.ah-paused .ah-fill { background: #ffd966; }
@keyframes toast-ping { from { outline: 2px solid color-mix(in srgb, var(--tt) 75%, transparent); outline-offset: 0; } to { outline: 2px solid transparent; outline-offset: 10px; } }
/* ═══ КІНЕЦЬ СПІЛЬНОГО ═══ */

/* «Господар» — після спільного блоку (за однакової специфічності виграє пізніше правило):
   1) стилі тостів говорять змінними тем «Клієнтів» — тут вони дорівнюють змінним тем «Постачальників» (лише в стеку,
      решту застосунку не чіпаємо);
   2) стек — над вікнами агента (.sdm-overlay 10010), як було до 24.10: відмова з вікна агента не має ховатись під його
      затемненням (ревʼю 6c57def0, L3); меню (10050) і фото на весь екран (10060) — вище. */
.bc-stack { --text: var(--txt); --text-dim: var(--muted); --accent-strong: var(--accent2); --bg-sidebar: var(--bg2); --bg-header: var(--bg2); z-index: 10020; }
