.feedback-btn{position:fixed;bottom:24px;right:24px;z-index:1300;display:flex;align-items:center;gap:8px;padding:12px 16px;background-color:#1976d2;color:#fff;border:0;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;box-shadow:0 4px 20px #0000001a;transition:all .3s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.feedback-btn:hover{background-color:#1565c0;box-shadow:0 8px 24px #00000026;transform:translateY(-2px)}.feedback-btn svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2}.feedback-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1400;padding:20px;overflow:hidden}.feedback-modal-content{background:#fff;border-radius:8px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:1600px;height:90vh;display:flex;overflow:hidden;box-sizing:border-box}.feedback-container{display:flex;width:100%;height:100%;gap:0}.feedback-canvas-section{flex:1;min-width:0;border-right:1px solid #e0e0e0;background:#f5f5f5;display:flex;overflow:hidden}.feedback-canvas-wrapper{flex:1;border:1px solid #ccc;border-radius:4px;overflow:auto;position:relative;min-height:300px;background:#fff;width:100%;box-sizing:border-box;overflow-x:hidden}.feedback-canvas-wrapper canvas{display:block;max-width:100%;height:auto}.feedback-form-section{width:350px;padding:24px;display:flex;flex-direction:column;overflow-y:auto;box-sizing:border-box;flex-shrink:0;min-height:0;height:100%}.feedback-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e0e0e0}.feedback-header h2{margin:0;font-size:18px;font-weight:600;color:#333}.feedback-close-btn{background:none;border:0;cursor:pointer;padding:4px;color:#666;display:flex;align-items:center;justify-content:center;transition:color .2s ease;flex-shrink:0}.feedback-close-btn:hover{color:#000}.feedback-close-btn svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:2}.feedback-loading{text-align:center;margin-top:40px;color:#666;font-size:14px}.feedback-toolbar{display:flex;gap:8px;margin-bottom:16px;align-items:center;padding:12px;background:#f9f9f9;border-radius:4px;border:1px solid #e0e0e0;flex-wrap:wrap}.feedback-tool-btn{background:#fff;border:1px solid #d0d0d0;border-radius:4px;padding:8px;cursor:pointer;color:#1976d2;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.feedback-tool-btn:hover{background:#f0f0f0;border-color:#1976d2}.feedback-tool-btn svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2}.feedback-delete-btn{color:#d32f2f}.feedback-delete-btn:hover{border-color:#d32f2f}.feedback-color-picker{width:40px;height:40px;border:1px solid #d0d0d0;border-radius:4px;cursor:pointer;flex-shrink:0;margin-left:auto}.feedback-input,.feedback-textarea{width:100%;padding:10px;border:1px solid #d0d0d0;border-radius:4px;font-size:14px;font-family:inherit;margin-bottom:12px;resize:none;transition:border-color .2s ease;box-sizing:border-box}.feedback-input:focus,.feedback-textarea:focus{outline:0;border-color:#1976d2;box-shadow:0 0 0 3px #1976d21a}.feedback-textarea{line-height:1.5}.feedback-upload-label{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#fff;border:1px solid #d0d0d0;border-radius:4px;cursor:pointer;margin-bottom:12px;transition:all .2s ease;font-size:14px;color:#333}.feedback-upload-label:hover{background:#f9f9f9;border-color:#1976d2;color:#1976d2}.feedback-upload-label svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2}.feedback-attachments{display:flex;gap:8px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.feedback-attachment-item{padding:8px;background:#e3f2fd;border-radius:4px;font-size:12px;color:#1565c0;word-break:break-word}.feedback-submit-btn{width:100%;padding:12px;background-color:#1976d2;color:#fff;border:0;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;margin-top:8px;transition:all .2s ease;box-sizing:border-box}.feedback-submit-btn:hover:not(:disabled){background-color:#1565c0}.feedback-submit-btn:disabled{background-color:#ccc;cursor:not-allowed;opacity:.6}.feedback-spinner-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#fffc;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000;border-radius:8px}.feedback-spinner{width:56px;height:56px;border:4px solid #e0e0e0;border-top-color:#1976d2;border-radius:50%;animation:feedback-spin .8s linear infinite;margin-bottom:16px}@keyframes feedback-spin{to{transform:rotate(360deg)}}.feedback-spinner-overlay p{font-size:16px;font-weight:600;color:#333;margin:0}@media(max-width:1024px){.feedback-modal-content{flex-direction:column}.feedback-container{flex-direction:column-reverse}.feedback-canvas-section{flex:1;border-right:0;border-bottom:1px solid #e0e0e0;min-width:unset;min-height:300px;width:100%}.feedback-form-section{width:100%;min-height:300px;box-sizing:border-box;overflow:scroll;height:400px}}@media(max-width:768px){.feedback-btn{bottom:16px;right:16px;padding:10px 12px;font-size:12px}.feedback-modal-overlay{padding:10px}.feedback-modal-content{max-height:95vh;border-radius:8px}.feedback-form-section{padding:16px}.feedback-toolbar{gap:6px}.feedback-header h2{font-size:16px}}