.toast-region{position:fixed;z-index:120;top:92px;right:24px;width:min(390px,calc(100vw - 32px));display:grid;gap:12px;pointer-events:none}
.app-toast{--toast-accent:#197a70;position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) 34px;align-items:start;gap:12px;overflow:hidden;padding:15px 12px 15px 15px;border:1px solid #dfe9e6;border-color:color-mix(in srgb,var(--toast-accent) 24%,#dfe9e6);border-radius:16px;background:rgba(255,255,255,.97);color:#173230;box-shadow:0 18px 50px rgba(19,50,47,.18);opacity:0;transform:translateX(24px) scale(.98);transition:opacity .22s ease,transform .22s ease;pointer-events:auto;backdrop-filter:blur(16px)}
.app-toast.is-visible{opacity:1;transform:none}.app-toast.is-leaving{opacity:0;transform:translateX(18px) scale(.98)}
.app-toast.is-success{--toast-accent:#197a70}.app-toast.is-error{--toast-accent:#b83e51}.app-toast.is-warning{--toast-accent:#a66a06}.app-toast.is-info{--toast-accent:#3674b8}
.app-toast-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--toast-accent) 12%,white);color:var(--toast-accent)}
.app-toast-icon svg{width:21px;height:21px}.app-toast-content{min-width:0;padding-top:2px}.app-toast-content strong{display:block;margin-bottom:4px;font-size:13px}.app-toast-content p{margin:0;color:#617572;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.app-toast-close{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:9px;background:transparent;color:#738683;cursor:pointer}.app-toast-close:hover{background:#eef5f3;color:#173230}.app-toast-close svg{width:17px;height:17px}
.app-toast.has-timeout:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--toast-accent);transform-origin:left;animation:toast-progress var(--toast-duration) linear forwards}
@keyframes toast-progress{to{transform:scaleX(0)}}

.confirm-dialog{width:min(450px,calc(100vw - 28px));padding:0;border:0;border-radius:22px;background:transparent;color:#173230;box-shadow:0 26px 80px rgba(10,38,34,.3)}
.confirm-dialog::backdrop{background:rgba(13,38,35,.52);backdrop-filter:blur(4px)}
.confirm-dialog-card{margin:0;padding:26px;background:#fff;border:1px solid rgba(255,255,255,.5);border-radius:22px}
.confirm-dialog-heading{display:grid;grid-template-columns:48px minmax(0,1fr) 36px;align-items:start;gap:14px}.confirm-dialog-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#fcecef;color:#b83e51}.confirm-dialog-icon svg{width:23px;height:23px}.confirm-dialog h2{margin:2px 0 6px;font-size:19px}.confirm-dialog p{margin:0;color:#657976;font-size:13px;line-height:1.55;overflow-wrap:anywhere}
.confirm-dialog-close{width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:10px;background:transparent;color:#718481;cursor:pointer}.confirm-dialog-close:hover{background:#eef5f3;color:#173230}.confirm-dialog-close svg{width:18px;height:18px}
.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.confirm-dialog-actions button{min-height:44px;padding:0 17px;border:0;border-radius:11px;font-weight:800;cursor:pointer}.confirm-dialog-cancel{background:#eef5f3;color:#31504c}.confirm-dialog-confirm{background:#b83e51;color:#fff;box-shadow:0 8px 20px rgba(184,62,81,.22)}
@media(max-width:600px){.toast-region{top:76px;left:14px;right:14px;width:auto}.confirm-dialog-card{padding:21px}.confirm-dialog-actions{display:grid;grid-template-columns:1fr 1fr}.confirm-dialog-actions button{width:100%}}
@media(prefers-reduced-motion:reduce){.app-toast{transition:none}.app-toast.has-timeout:after{animation:none}}
