/* Scoped enhancement: the original inline feedback remains usable without JavaScript. */
.fe-toast-stack {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 1500;
    width: min(440px, calc(100vw - 32px));
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-height: calc(100dvh - 48px);
    overflow-y: auto;
    pointer-events: none;
}
.fe-toast.alert-success {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) 36px;
    align-items: start;
    gap: 10px;
    margin: 0;
    padding: 15px 12px 15px 16px;
    border: 1px solid #b7ddc5;
    border-left: 4px solid #267449;
    border-radius: 12px;
    color: #24382d;
    background: #f4fbf6;
    box-shadow: 0 8px 28px rgb(35 23 27 / 14%);
    pointer-events: auto;
    animation: fe-toast-enter 180ms ease-out;
}
.fe-toast__icon {
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    color: #176137;
    background: #dcefe2;
    font: 700 17px/1 system-ui, sans-serif;
}
.fe-toast__title { display: block; margin: 0 0 3px; color: #175b33; font-size: 14px; line-height: 1.4; }
.fe-toast__message { margin: 0; font-size: 14px; line-height: 1.55; overflow-wrap: anywhere; }
.fe-toast button.fe-toast__close {
    display: grid;
    place-items: center;
    width: 36px;
    min-width: 36px;
    min-height: 36px;
    height: 36px;
    margin: -5px -4px 0 0;
    padding: 0;
    border: 0;
    border-radius: 7px;
    box-shadow: none;
    color: #34553e;
    background: transparent;
    font: 400 24px/1 system-ui, sans-serif;
    cursor: pointer;
}
.fe-toast button.fe-toast__close:hover { background: #dfefe3; color: #163c24; }
.fe-toast button.fe-toast__close:focus-visible { outline: 3px solid #80511b; outline-offset: 2px; }
@keyframes fe-toast-enter { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 600px) {
    .fe-toast-stack { right: 16px; bottom: max(16px, env(safe-area-inset-bottom)); }
    .fe-toast.alert-success { grid-template-columns: 26px minmax(0, 1fr) 40px; padding: 13px 10px 13px 13px; gap: 8px; }
    .fe-toast button.fe-toast__close { width: 40px; height: 40px; min-width: 40px; min-height: 40px; }
}
@media (prefers-reduced-motion: reduce) { .fe-toast.alert-success { animation: none; } }
@media print { .fe-toast-stack { display: none !important; } }

.fe-reset-dialog { width:min(720px,calc(100% - 32px)); max-height:calc(100dvh - 32px); margin:auto; padding:0; border:1px solid #ded7d6; border-top:5px solid #692237; border-radius:12px; background:#fff; color:#222; box-shadow:0 22px 64px #1018284d; overflow:auto; }
.fe-reset-dialog::backdrop { background:rgba(16,24,40,.65); }
.fe-reset-header { display:flex; align-items:center; justify-content:space-between; padding:20px 24px; border-bottom:1px solid #e6dedc; }
.fe-reset-header h2 { margin:0; font:700 23px/1.3 Arial,sans-serif; }
.fe-reset-close { background:transparent!important; color:#64748b!important; border:0!important; padding:4px 10px!important; font-size:26px!important; }
.fe-reset-dialog iframe { display:block; width:100%; height:min(420px,calc(100dvh - 210px)); min-height:180px; border:0; background:#fff; }
.fe-reset-footer { display:flex; justify-content:flex-end; padding:12px 24px 20px; }
.fe-reset-dialog button:focus-visible { outline:3px solid #d9b451; outline-offset:2px; }
@media(max-width:560px) { .fe-reset-header { padding:16px; } .fe-reset-header h2 { font-size:20px; } }
