.d2-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1050;padding:20px 20px calc(20px + env(safe-area-inset-bottom));animation:d2ModalFadeIn .3s ease}.d2-modal-content{background:white;border-radius:12px;max-width:var(--d2-modal-max-width,500px);width:100%;max-height:100%;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 10px 40px rgba(0,0,0,.2);animation:d2ModalSlideUp .3s ease}.d2-modal-header{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 24px;background:#fff;border-bottom:1px solid #e8e8e8;border-radius:12px 12px 0 0}.d2-modal-header h3{margin:0;font-size:20px;font-weight:600;color:#2c3e50}.d2-modal-close{background:none;border:none;font-size:20px;color:#6c757d;cursor:pointer;transition:color .3s ease;padding:4px;border-radius:4px;flex-shrink:0}.d2-modal-close:hover{color:#495057;background:#f8f9fa}.d2-form-group{padding:20px 24px;display:flex;flex-direction:column;gap:8px}.d2-form-group label{font-size:14px;font-weight:600;color:#495057;display:flex;align-items:center;gap:8px}.d2-form-group input{padding:12px;border:1px solid #e9ecef;border-radius:8px;font-size:14px;transition:border .3s ease}.d2-form-group input:focus{outline:none;border-color:#6f7a49;box-shadow:0 0 0 3px rgba(111,122,73,.1)}.d2-required{color:#dc3545}.d2-modal-actions{position:sticky;bottom:0;z-index:1;display:flex;gap:12px;padding:20px 24px;background:#fff;border-top:1px solid #e9ecef;border-radius:0 0 12px 12px;justify-content:flex-end}.d2-btn-cancel,.d2-btn-submit{padding:12px 24px;border:none;border-radius:8px;font-weight:600;cursor:pointer;font-size:14px;transition:all .3s ease;min-width:120px}.d2-btn-cancel{background:#f8f9fa;color:#495057;border:1px solid #e9ecef}.d2-btn-cancel:hover{background:#e9ecef}.d2-btn-submit{background:#6f7a49;color:white}.d2-btn-submit:hover{background:#5a6440;transform:translateY(-1px)}.d2-btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width:768px){.d2-modal-overlay{padding:12px 12px calc(12px + env(safe-area-inset-bottom))}.d2-modal-content{max-width:none}.d2-modal-header{padding:16px 20px}.d2-modal-header h3{font-size:17px;line-height:1.3}.d2-form-group{padding:15px 20px}.d2-modal-actions{flex-direction:column;padding:14px 20px}.d2-btn-cancel,.d2-btn-submit{min-width:auto;width:100%}}@keyframes d2ModalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes d2ModalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}