.image-upload{display:flex;flex-direction:column;gap:12px}.upload-mode-toggle{display:flex;gap:4px;background:#f0f0f0;padding:4px;border-radius:8px;width:fit-content}.mode-btn{padding:8px 16px;border:none;background:transparent;border-radius:6px;font-size:.9rem;color:#666;cursor:pointer;transition:all .2s}.mode-btn:hover{color:#333}.mode-btn.active{background:#fff;color:#b8860b;font-weight:500;box-shadow:0 1px 3px #0000001a}.url-input-wrapper{display:flex;gap:8px}.url-input{flex:1;padding:12px 14px;border:1px solid #ddd;border-radius:8px;font-size:.95rem}.url-input:focus{outline:none;border-color:#b8860b}.url-submit-btn{padding:12px 20px;background:#b8860b;color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background .2s}.url-submit-btn:hover{background:#a07608}.file-upload-area{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px 20px;border:2px dashed #ddd;border-radius:12px;background:#fafafa;cursor:pointer;transition:all .2s;color:#666}.file-upload-area:hover{border-color:#b8860b;background:#f9f5eb;color:#b8860b}.upload-hint{font-size:.8rem;color:#999}.upload-loading{display:flex;flex-direction:column;align-items:center;gap:8px;color:#b8860b}.upload-loading .spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.upload-error{padding:10px 14px;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.9rem}.image-preview{position:relative;border-radius:12px;overflow:hidden;background:#f5f5f5}.image-preview img{width:100%;max-height:300px;object-fit:cover;display:block}.remove-image-btn{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:50%;background:#0009;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.remove-image-btn:hover{background:#dc2626e6}.no-image-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:40px 20px;background:#f9f9f9;border-radius:12px;color:#ccc}.no-image-placeholder span{font-size:.9rem}@media(max-width:480px){.url-input-wrapper{flex-direction:column}.url-submit-btn{width:100%}}
