.app-modal-overlay{-webkit-backdrop-filter:blur(6px);z-index:1100;padding:var(--space-4);background:#000000b8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.app-modal-card{max-height:calc(100vh - var(--space-4)*2);max-height:calc(100dvh - var(--space-4)*2);width:100%;padding:var(--space-7) var(--space-6) var(--space-6);background:linear-gradient(180deg,var(--bg-elevated) 0,var(--bg-medium) 100%);border:1px solid var(--border-default);border-radius:var(--radius-3xl);outline:none;flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0a,0 24px 48px -12px #0009,0 8px 16px -4px #0006}.app-modal-card:focus-visible{box-shadow:0 0 0 2px var(--color-primary-focus-ring),0 1px 0 #ffffff0a inset,0 24px 48px -12px #0009,0 8px 16px -4px #0006}.app-modal-card--scrollable{max-height:calc(100dvh - var(--space-4)*2);overscroll-behavior:contain;overflow-y:auto}.app-modal-card--sm{max-width:380px}.app-modal-card--md{max-width:480px}.app-modal-card--lg{max-width:var(--container-sm)}.app-modal-card--default{text-align:left}.app-modal-card--danger{text-align:center;box-shadow:0 1px 0 #ffffff0a inset,0 24px 48px -12px #0009,0 8px 16px -4px #0006,0 0 48px -8px var(--color-error-glow)}.app-modal-accent{background:linear-gradient(90deg,transparent 0,var(--color-error) 50%,transparent 100%);opacity:.9;border-radius:0 0 2px 2px;width:60%;height:2px;position:absolute;top:0;left:50%;transform:translate(-50%)}.app-modal-icon-wrap{width:72px;height:72px;margin:0 auto var(--space-5);border-radius:var(--radius-3xl);background:var(--color-error-bg);border:1px solid var(--color-error-border);justify-content:center;align-items:center;display:inline-flex;position:relative}.app-modal-card--default .app-modal-icon-wrap{background:var(--color-primary-bg);border-color:var(--color-primary-border)}.app-modal-icon-halo{background:radial-gradient(circle,var(--color-error-glow) 0,transparent 70%);opacity:.6;pointer-events:none;border-radius:26px;animation:2.4s ease-in-out infinite appModalHalo;position:absolute;inset:-8px}.app-modal-icon{width:38px;height:38px;color:var(--color-error-hover);position:relative}.app-modal-card--default .app-modal-icon{color:var(--color-primary-text)}.app-modal-title{margin:0 0 var(--space-2);letter-spacing:-.01em;color:var(--text-primary);font-size:1.375rem;font-weight:700;line-height:1.25}.app-modal-sub{margin:0 auto var(--space-5);max-width:42ch;color:var(--text-secondary);font-size:.95rem;line-height:1.5}.app-modal-card--default .app-modal-sub{margin-left:0}.app-modal-body{overscroll-behavior:contain;min-height:0;margin:-2px -2px var(--space-5);color:var(--text-secondary);flex:auto;padding:2px;overflow-y:auto}.app-modal-actions,.app-modal-icon-wrap,.app-modal-sub,.app-modal-title{flex:none}.app-modal-card--default .app-modal-body{text-align:left}.app-modal-card--danger .app-modal-body{text-align:center}.app-modal-actions{gap:var(--space-3);display:flex}.app-modal-card--default .app-modal-actions{justify-content:flex-end}.app-modal-btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-xl);cursor:pointer;border:1px solid #0000;font-size:.9rem;font-weight:600;transition:transform .15s,background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.app-modal-card--danger .app-modal-btn{flex:1}.app-modal-btn:focus-visible{box-shadow:0 0 0 3px var(--color-primary-focus-ring);outline:none}.app-modal-btn--danger:focus-visible{box-shadow:0 0 0 3px var(--color-error-focus-ring-strong)}.app-modal-btn--cancel{background:var(--bg-light);border-color:var(--border-default);color:var(--text-primary)}.app-modal-btn--cancel:hover{background:var(--bg-elevated);border-color:var(--border-strong)}.app-modal-btn--primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:0 1px 0 #ffffff26 inset,0 6px 14px -4px var(--color-primary-glow)}.app-modal-btn--primary:hover{background:var(--color-primary-light);box-shadow:0 1px 0 #fff3 inset,0 10px 20px -4px var(--color-primary-glow);transform:translateY(-1px)}.app-modal-btn--danger{background:linear-gradient(180deg,var(--color-error-light) 0,var(--color-error) 100%);border-color:var(--color-error);color:#fff;box-shadow:inset 0 1px #ffffff26,0 6px 14px -4px #ad1f1f80}.app-modal-btn--danger:hover{background:linear-gradient(180deg,var(--color-error-hover) 0,var(--color-error-light) 100%);transform:translateY(-1px);box-shadow:inset 0 1px #fff3,0 10px 20px -4px #ad1f1f99}.app-modal-btn--danger:active,.app-modal-btn--primary:active{transform:translateY(0)}.app-modal-enter-active,.app-modal-leave-active{transition:opacity .22s}.app-modal-enter-active .app-modal-card,.app-modal-leave-active .app-modal-card{transition:transform .28s cubic-bezier(.22,1,.36,1),opacity .22s}.app-modal-enter-from,.app-modal-leave-to{opacity:0}.app-modal-enter-from .app-modal-card,.app-modal-leave-to .app-modal-card{opacity:0;transform:scale(.94)translateY(16px)}@keyframes appModalHalo{0%,to{opacity:.35;transform:scale(1)}50%{opacity:.7;transform:scale(1.08)}}@media (width<=520px){.app-modal-card{padding:var(--space-6) var(--space-5);border-radius:var(--radius-2xl)}.app-modal-icon-wrap{width:60px;height:60px}.app-modal-icon{width:30px;height:30px}.app-modal-title{font-size:1.2rem}.app-modal-card--danger .app-modal-actions{flex-direction:column-reverse}}@media (prefers-reduced-motion:reduce){.app-modal-icon-halo{animation:none}.app-modal-enter-active,.app-modal-enter-active .app-modal-card,.app-modal-leave-active,.app-modal-leave-active .app-modal-card{transition-duration:.01ms}}
