.pkz-notifications {
    position: fixed;
    z-index: 1000;
    top: 5.5rem;
    right: 1rem;
    display: grid;
    gap: .65rem;
    width: min(440px, calc(100% - 2rem));
    max-height: calc(100vh - 6.5rem);
    max-height: calc(100dvh - 6.5rem);
    padding: .25rem;
    overflow-y: auto;
    overscroll-behavior: contain;
    pointer-events: none;
}

.pkz-toast {
    --toast-accent: #245c91;
    --toast-background: #f0f6fd;
    --toast-ink: #163951;
    display: flex;
    align-items: flex-start;
    gap: .7rem;
    padding: .9rem;
    border: 1px solid var(--toast-accent);
    border-left-width: 4px;
    border-radius: 12px;
    background: var(--toast-background);
    color: var(--toast-ink);
    box-shadow: 0 8px 28px rgba(0, 0, 0, .18);
    pointer-events: auto;
    animation: pkz-toast-appear .18s ease-out;
}

.pkz-toast-success { --toast-accent: #237151; --toast-background: #eef8f1; --toast-ink: #17462e; }
.pkz-toast-warning { --toast-accent: #926006; --toast-background: #fff7df; --toast-ink: #624207; }
.pkz-toast-error { --toast-accent: #ae3333; --toast-background: #fff0f0; --toast-ink: #802020; }
.pkz-toast-icon { flex: none; width: 1.2rem; text-align: center; color: var(--toast-accent); font-weight: 850; }
.pkz-toast-content { flex: 1; min-width: 0; overflow-wrap: anywhere; line-height: 1.5; }
.pkz-toast-title { display: block; font-size: .9rem; }
.pkz-toast-content p { margin: .15rem 0 0; font-size: .9rem; }
.pkz-toast-content a { color: inherit; text-decoration: underline; }
.pkz-toast .pkz-toast-close {
    display: grid;
    place-items: center;
    flex: none;
    width: 2rem;
    height: 2rem;
    min-width: 2rem;
    margin: -.25rem -.25rem 0 0;
    padding: 0;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: inherit;
    box-shadow: none;
    font: inherit;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
    transform: none;
}
.pkz-toast .pkz-toast-close:hover { background: rgba(127, 127, 127, .15); color: inherit; transform: none; box-shadow: none; }
.pkz-toast .pkz-toast-close:focus-visible { outline: 2px solid var(--toast-accent); outline-offset: 2px; }
html[data-theme="dark"] .pkz-toast { --toast-accent: #87bcec; --toast-background: #182e40; --toast-ink: #e4f0fb; }
html[data-theme="dark"] .pkz-toast-success { --toast-accent: #79c9a1; --toast-background: #193b2d; --toast-ink: #e5f4eb; }
html[data-theme="dark"] .pkz-toast-warning { --toast-accent: #e6bd64; --toast-background: #382f16; --toast-ink: #f9e9bc; }
html[data-theme="dark"] .pkz-toast-error { --toast-accent: #ff9a9a; --toast-background: #382020; --toast-ink: #ffe0e0; }

@keyframes pkz-toast-appear { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .pkz-toast { animation: none; } }
@media (max-width: 600px) {
    .pkz-notifications { right: .5rem; width: calc(100% - 1rem); }
    .pkz-toast .pkz-toast-close { width: 44px; height: 44px; min-width: 44px; }
}
@media print { .pkz-notifications { display: none; } }
