/* Compressed on 2026-04-07 22:51:09 */
.modal-backdrop{ position:fixed; top:0; left:0; right:0; bottom:0; background:var(--color-bg-mask); display:flex; align-items:center; justify-content:center; z-index:var(--z-modal-backdrop); opacity:0; visibility:hidden; transition:all var(--transition-base)} .modal-backdrop.show{ opacity:1; visibility:visible} .modal{ position:fixed; top:0; left:0; right:0; bottom:0; background:var(--color-bg-mask); display:flex; align-items:center; justify-content:center; z-index:var(--z-modal); opacity:0; visibility:hidden; transition:all var(--transition-base)} .modal.show{ opacity:1; visibility:visible} .modal-content{ background:var(--color-bg-white); border-radius:var(--radius-lg); width:100%; max-width:500px; max-height:90vh; overflow:hidden; transform:scale(0.9) translateY(-20px); transition:transform var(--transition-base); box-shadow:var(--shadow-xl)} .modal.show .modal-content{ transform:scale(1) translateY(0)} .modal-header{ padding:var(--spacing-base) var(--spacing-lg); border-bottom:1px solid var(--color-border-light); display:flex; align-items:center; justify-content:space-between} .modal-title{ font-size:var(--font-size-lg); font-weight:var(--font-weight-semibold); color:var(--color-text); margin:0} .modal-close{ width:32px; height:32px; display:flex; align-items:center; justify-content:center; border-radius:var(--radius-full); cursor:pointer; color:var(--color-text-muted); transition:all var(--transition-base)} .modal-close:hover{ background:var(--gray-100); color:var(--color-text)} .modal-body{ padding:var(--spacing-lg); overflow-y:auto; max-height:calc(90vh - 140px)} .modal-footer{ padding:var(--spacing-base) var(--spacing-lg); border-top:1px solid var(--color-border-light); display:flex; align-items:center; justify-content:flex-end; gap:var(--spacing-sm)} .modal-sm .modal-content{ max-width:360px} .modal-lg .modal-content{ max-width:720px} .modal-xl .modal-content{ max-width:960px} .modal-fullscreen .modal-content{ max-width:100%; max-height:100%; height:100%; border-radius:0} .confirm-modal .modal-content{ max-width:400px; text-align:center} .confirm-modal .modal-body{ padding:var(--spacing-xl)} .confirm-modal .confirm-icon{ font-size:48px; margin-bottom:var(--spacing-base)} .confirm-modal .confirm-icon.warning{ color:var(--color-warning)} .confirm-modal .confirm-icon.danger{ color:var(--color-danger)} .confirm-modal .confirm-icon.success{ color:var(--color-success)} .confirm-modal .confirm-title{ font-size:var(--font-size-lg); font-weight:var(--font-weight-semibold); margin-bottom:var(--spacing-sm)} .confirm-modal .confirm-message{ color:var(--color-text-muted); font-size:var(--font-size-sm)} #toast-container{ position:fixed; top:var(--spacing-lg); right:var(--spacing-lg); z-index:var(--z-toast); display:flex; flex-direction:column; gap:var(--spacing-sm)} .toast{ background:var(--color-bg-white); border-radius:var(--radius-md); padding:var(--spacing-base) var(--spacing-lg); box-shadow:var(--shadow-lg); display:flex; align-items:center; gap:var(--spacing-sm); min-width:280px; max-width:400px; animation:toast-in 0.3s ease} @keyframes toast-in{ from{ opacity:0; transform:translateX(100%)} to{ opacity:1; transform:translateX(0)} } .toast.toast-out{ animation:toast-out 0.3s ease forwards} @keyframes toast-out{ from{ opacity:1; transform:translateX(0)} to{ opacity:0; transform:translateX(100%)} } .toast-icon{ font-size:20px} .toast-success .toast-icon{ color:var(--color-success)} .toast-warning .toast-icon{ color:var(--color-warning)} .toast-error .toast-icon{ color:var(--color-danger)} .toast-info .toast-icon{ color:var(--color-info)} .toast-message{ flex:1; font-size:var(--font-size-sm); color:var(--color-text)} .toast-close{ cursor:pointer; color:var(--color-text-muted); padding:var(--spacing-xs)} @media (max-width:768px){ .modal-content{ margin:var(--spacing-base); max-width:calc(100% - var(--spacing-2xl))} .modal-lg .modal-content,.modal-xl .modal-content{ max-width:calc(100% - var(--spacing-2xl))} #toast-container{ left:var(--spacing-base); right:var(--spacing-base); top:var(--spacing-base)} .toast{ min-width:auto; max-width:none} }