.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;background:#0006;display:flex;align-items:center;justify-content:center;animation:modal-fade-in .15s ease}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal-box{background:var(--color-surface, #fff);border:1px solid var(--color-border, #ddd);border-radius:var(--radius-lg, 14px);box-shadow:0 8px 32px #0003;padding:24px;min-width:320px;max-width:440px;animation:modal-pop-in .15s ease}@keyframes modal-pop-in{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.modal-box h3{margin:0 0 8px;font-size:15px;font-weight:600;color:var(--color-text, #1a1a1a)}.modal-box p{margin:0 0 20px;font-size:13px;color:var(--color-text-muted, #666);line-height:1.5}.modal-buttons{display:flex;justify-content:flex-end;gap:8px}.modal-btn{font-family:inherit;font-size:13px;font-weight:500;padding:7px 16px;border-radius:var(--radius-sm, 6px);border:1px solid var(--color-border, #ddd);cursor:pointer;transition:background .1s,border-color .1s}.modal-btn-cancel{background:var(--color-surface-alt, #f5f5f5);color:var(--color-text, #1a1a1a)}.modal-btn-cancel:hover{border-color:var(--color-text-muted, #999)}.modal-btn-confirm{background:var(--color-accent, #4f46b8);color:#fff;border-color:var(--color-accent, #4f46b8)}.modal-btn-confirm:hover{background:var(--color-accent-hover, #4338a8);border-color:var(--color-accent-hover, #4338a8)}.modal-btn-danger{background:var(--color-danger, #dc4545);color:#fff;border-color:var(--color-danger, #dc4545)}.modal-btn-danger:hover{background:#c33;border-color:#c33}
