:root{--dialog-z-backdrop:40;--dialog-z-modal:50;--dialog-z-toast:60;--dialog-primary:#ff9900;--dialog-secondary:#232f3e;--dialog-success:#28a745;--dialog-error:#dc3545;--dialog-warning:#ffc107;--dialog-info:#17a2b8;--dialog-padding:2rem;--dialog-padding-mobile:1.5rem;--dialog-gap:1rem;--dialog-max-width:500px;--dialog-border-radius:12px;--dialog-border-radius-sm:8px;--dialog-shadow:0 10px 40px rgba(0, 0, 0, 0.2);--dialog-shadow-toast:0 4px 12px rgba(0, 0, 0, 0.3);--dialog-transition:0.3s cubic-bezier(0.4, 0, 0.2, 1);--dialog-transition-fast:0.15s ease}.dialog-backdrop{position:fixed;inset:0;background-color:rgba(0,0,0,.5);backdrop-filter:blur(2px);z-index:var(--dialog-z-backdrop);display:flex;align-items:center;justify-content:center;padding:1rem;animation:backdropFadeIn .3s ease}.dialog-backdrop.dialog-closing{animation:backdropFadeOut .3s ease}.dialog-container{position:relative;z-index:var(--dialog-z-modal);background:#fff;border-radius:var(--dialog-border-radius);padding:var(--dialog-padding);max-width:var(--dialog-max-width);width:100%;box-shadow:var(--dialog-shadow);display:flex;flex-direction:column;gap:var(--dialog-gap);animation:dialogFadeIn var(--dialog-transition)}.dialog-container.dialog-closing{animation:dialogFadeOut var(--dialog-transition)}.dialog-icon{width:48px;height:48px;margin:0 auto;display:flex;align-items:center;justify-content:center}.dialog-icon svg{width:100%;height:100%}.dialog-type-success .dialog-icon{color:var(--dialog-success)}.dialog-type-error .dialog-icon{color:var(--dialog-error)}.dialog-type-danger .dialog-icon,.dialog-type-warning .dialog-icon{color:var(--dialog-warning)}.dialog-type-info .dialog-icon{color:var(--dialog-info)}.dialog-content{text-align:center}.dialog-title{font-size:1.25rem;font-weight:600;color:var(--dialog-secondary);margin:0 0 .75rem 0;line-height:1.4}.dialog-message{font-size:1rem;line-height:1.6;color:#333;margin:0}.dialog-actions{display:flex;gap:.75rem;justify-content:center;margin-top:.5rem}.dialog-btn{font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;border-radius:var(--dialog-border-radius-sm);border:none;cursor:pointer;transition:all var(--dialog-transition-fast);min-width:100px;text-align:center}.dialog-btn:focus{outline:0;box-shadow:0 0 0 3px rgba(255,153,0,.3)}.dialog-btn:active{transform:scale(.98)}.dialog-btn-primary{background:linear-gradient(135deg,#f90 0,#ff8000 100%);color:#fff}.dialog-btn-primary:hover{background:linear-gradient(135deg,#f80 0,#ff7000 100%);transform:translateY(-1px);box-shadow:0 4px 12px rgba(255,153,0,.3)}.dialog-type-danger .dialog-btn-primary{background:linear-gradient(135deg,#dc3545 0,#c82333 100%)}.dialog-type-danger .dialog-btn-primary:hover{background:linear-gradient(135deg,#c82333 0,#bd2130 100%);box-shadow:0 4px 12px rgba(220,53,69,.3)}.dialog-btn-outline{background:0 0;border:2px solid #dee2e6;color:#333}.dialog-btn-outline:hover{background:#f8f9fa;border-color:#adb5bd}.dialog-toast-container{position:fixed;z-index:var(--dialog-z-toast);pointer-events:none;width:100%;display:flex;flex-direction:column;gap:.75rem;padding:1rem}.dialog-toast{pointer-events:auto;display:flex;align-items:center;gap:.75rem;background:#fff;border-radius:var(--dialog-border-radius-sm);padding:1rem 1.5rem;box-shadow:var(--dialog-shadow-toast);min-width:300px;max-width:500px;margin:0 auto;opacity:0;transform:translateY(20px);transition:all var(--dialog-transition)}.dialog-toast.show{opacity:1;transform:translateY(0)}.dialog-toast-bottom{animation:toastSlideUp var(--dialog-transition)}.dialog-toast-top{animation:toastSlideDown var(--dialog-transition)}.dialog-toast-container:has(.dialog-toast-bottom){bottom:0;align-items:center}.dialog-toast-container:has(.dialog-toast-top){top:0;align-items:flex-end;padding-right:1rem}.dialog-toast-icon{width:24px;height:24px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.dialog-toast-icon svg{width:100%;height:100%}.dialog-toast-message{flex:1;font-size:.9375rem;line-height:1.5;color:#333}.dialog-toast-close{background:0 0;border:none;font-size:1.5rem;line-height:1;color:#6c757d;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all var(--dialog-transition-fast)}.dialog-toast-close:hover{background:rgba(0,0,0,.05);color:#333}.dialog-toast-success{border-left:4px solid var(--dialog-success)}.dialog-toast-success .dialog-toast-icon{color:var(--dialog-success)}.dialog-toast-error{border-left:4px solid var(--dialog-error)}.dialog-toast-error .dialog-toast-icon{color:var(--dialog-error)}.dialog-toast-warning{border-left:4px solid var(--dialog-warning)}.dialog-toast-warning .dialog-toast-icon{color:var(--dialog-warning)}.dialog-toast-info{border-left:4px solid var(--dialog-info)}.dialog-toast-info .dialog-toast-icon{color:var(--dialog-info)}@keyframes backdropFadeIn{from{opacity:0}to{opacity:1}}@keyframes backdropFadeOut{from{opacity:1}to{opacity:0}}@keyframes dialogFadeIn{from{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes dialogFadeOut{from{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.9) translateY(-20px)}}@keyframes toastSlideUp{from{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes toastSlideDown{from{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.dialog-container{padding:var(--dialog-padding-mobile);max-width:calc(100% - 2rem)}.dialog-title{font-size:1.125rem}.dialog-message{font-size:.9375rem}.dialog-actions{flex-direction:column}.dialog-btn{width:100%;min-width:auto}.dialog-toast{min-width:auto;width:calc(100% - 2rem);max-width:none}.dialog-icon{width:40px;height:40px}}@media (min-width:641px) and (max-width:1024px){.dialog-container{max-width:90%}}@media (min-width:1025px){.dialog-toast-container:has(.dialog-toast-top){align-items:flex-end;padding-right:2rem}}@media (prefers-contrast:high){.dialog-btn-outline{border-width:3px}.dialog-toast{border:2px solid #dee2e6}}@media (prefers-reduced-motion:reduce){.dialog-backdrop,.dialog-btn,.dialog-container,.dialog-toast{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important}}.dialog-btn:focus-visible{outline:3px solid var(--dialog-primary);outline-offset:2px}@media print{.dialog-backdrop,.dialog-toast-container{display:none!important}}