.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:200;padding:16px}.modal{background:#fff;border-radius:12px;width:100%;max-width:520px;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 0}.modal-title{font-size:1.125rem;font-weight:700}.modal-close-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:1.5rem;color:#999;line-height:1}.modal-close-btn:hover{background:#f0f0f0}.modal-body{padding:24px}.modal-footer{padding:0 20px 20px;display:flex;gap:8px}.modal-btn{flex:1 1;padding:12px;border-radius:8px;font-size:1rem;font-weight:600;text-align:center}.modal-btn-primary{background:var(--primary);color:#fff}.modal-btn-primary:hover{background:var(--primary-dark)}.modal-btn-secondary{background:#f0f0f0;color:var(--text-light)}.modal-btn-secondary:hover{background:#e0e0e0}.modal-field{margin-bottom:16px}.modal-field:last-child{margin-bottom:0}.modal-field label{display:block;font-size:1rem;font-weight:600;margin-bottom:6px}.modal-field input{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:8px;font-size:1rem}.modal-field input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(45,125,70,.1)}.modal-confirm-text{text-align:center;font-size:1.0625rem;color:var(--text);padding:12px 0}