/* 自定义弹框样式 */ .custom-modal { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 10000; display: none; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transition: all 0.3s ease; } .custom-modal.show { display: flex; opacity: 1; visibility: visible; } .modal-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); } .modal-content { position: relative; background: #ffffff; border: 1px solid #e5e7eb; border-radius: 16px; box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); backdrop-filter: none; -webkit-backdrop-filter: none; max-width: 480px; width: 90%; max-height: 90vh; overflow: hidden; transform: scale(0.9) translateY(20px); transition: all 0.3s ease; } .custom-modal.show .modal-content { transform: scale(1) translateY(0); } .modal-header { display: flex; align-items: center; justify-content: space-between; padding: 24px 24px 0 24px; border-bottom: 1px solid #e5e7eb; margin-bottom: 24px; } .modal-title { font-size: 20px; font-weight: 600; color: #111827; margin: 0; } .modal-close { background: none; border: none; color: #6b7280; cursor: pointer; padding: 8px; border-radius: 8px; transition: all 0.2s ease; display: flex; align-items: center; justify-content: center; } .modal-close:hover { background: #f3f4f6; color: #374151; } .modal-body { padding: 0 24px 24px 24px; text-align: center; } .modal-icon { display: flex; align-items: center; justify-content: center; margin-bottom: 20px; } .modal-icon.delete-icon { color: #ef4444; } .modal-icon.rename-icon { color: #3b82f6; } .modal-icon.message-icon { color: #10b981; } .modal-message { font-size: 16px; color: #374151; margin: 0; line-height: 1.5; } .form-group { text-align: left; margin-top: 20px; } .form-label { display: block; font-size: 14px; font-weight: 500; color: #374151; margin-bottom: 8px; } .form-input { width: 100%; padding: 12px 16px; background: #ffffff; border: 1px solid #d1d5db; border-radius: 8px; color: #111827; font-size: 16px; transition: all 0.2s ease; box-sizing: border-box; } .form-input:focus { outline: none; border-color: #3b82f6; background: #ffffff; box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1); } .form-input::placeholder { color: #9ca3af; } .form-hint { font-size: 12px; color: #6b7280; margin-top: 4px; } .modal-footer { display: flex; gap: 12px; padding: 0 24px 24px 24px; justify-content: flex-end; } .btn { padding: 12px 24px; border: none; border-radius: 8px; font-size: 14px; font-weight: 500; cursor: pointer; transition: all 0.2s ease; min-width: 80px; } .btn-primary { background: #3b82f6; color: white; } .btn-primary:hover { background: #2563eb; transform: translateY(-1px); } .btn-secondary { background: #f9fafb; color: #374151; border: 1px solid #d1d5db; } .btn-secondary:hover { background: #f3f4f6; transform: translateY(-1px); } .btn-danger { background: #ef4444; color: white; } .btn-danger:hover { background: #dc2626; transform: translateY(-1px); } .btn:active { transform: translateY(0); } /* 消息弹框特殊样式 */ .message-modal-content { max-width: 360px; } .message-modal-content .modal-body { padding: 24px; } .message-modal-content .modal-footer { padding: 0 24px 24px 24px; justify-content: center; } /* 响应式设计 */ @media (max-width: 768px) { .modal-content { width: 95%; margin: 20px; } .modal-header { padding: 20px 20px 0 20px; } .modal-body { padding: 0 20px 20px 20px; } .modal-footer { padding: 0 20px 20px 20px; flex-direction: column; } .btn { width: 100%; } }