* { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Inter', sans-serif; }
body { background-color: #f4f7fb; display: flex; justify-content: center; align-items: flex-start; min-height: 100vh; color: #333; padding-top: 40px; padding-bottom: 40px; }
.container { width: 100%; max-width: 800px; padding: 0 20px; }

/* Tabs */
.tabs { display: flex; justify-content: center; gap: 10px; margin-bottom: 20px; }
.tab-btn { background: #e4e8ed; border: none; padding: 12px 24px; border-radius: 8px; font-size: 15px; font-weight: 500; color: #555; cursor: pointer; transition: all 0.3s; }
.tab-btn.active { background: #0066ff; color: white; box-shadow: 0 4px 10px rgba(0, 102, 255, 0.2); }

.section-box { display: none; background: #ffffff; border-radius: 16px; padding: 40px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05); animation: fadeIn 0.4s ease; }
.section-box.active-section { display: block; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

/* Upload Styles */
.header { text-align: center; margin-bottom: 30px; }
.header h2 { font-size: 24px; font-weight: 600; color: #1a1a1a; margin-bottom: 8px; }
.header p { font-size: 14px; color: #666; }

.drop-zone { border: 2px dashed #d1d9e6; border-radius: 12px; padding: 40px 20px; text-align: center; background-color: #fafbfc; transition: all 0.3s ease; cursor: pointer; }
.drop-zone.dragover { border-color: #0066ff; background-color: #f0f6ff; }
.drop-zone .icon { margin-bottom: 15px; }
.drop-zone h3 { font-size: 16px; font-weight: 500; margin-bottom: 8px; }
.drop-zone p { font-size: 14px; color: #888; margin-bottom: 15px; }
.browse-btn { background-color: #0066ff; color: white; border: none; padding: 10px 24px; border-radius: 8px; font-size: 14px; cursor: pointer; }

/* Progress Bar Styles */
.progress-container { margin: 30px 0; padding: 20px; border-radius: 12px; background: #fafbfc; border: 1px solid #e0e5eb; }
.progress-text { font-size: 14px; font-weight: 600; color: #0066ff; margin-bottom: 12px; text-align: center; }
.progress-bar-bg { width: 100%; height: 8px; background: #e0e5eb; border-radius: 10px; overflow: hidden; }
.progress-bar { width: 0%; height: 100%; background: #0066ff; border-radius: 10px; transition: width 0.2s ease; }

.preview-container { text-align: center; margin-bottom: 25px; }
.preview-container img { max-width: 100%; max-height: 250px; border-radius: 8px; }

.link-group label { display: block; font-size: 13px; font-weight: 600; color: #555; margin-bottom: 6px; }
.copy-box { display: flex; border: 1px solid #e0e5eb; border-radius: 8px; overflow: hidden; background: #fafbfc; margin-bottom: 15px; }
.copy-box input { flex: 1; border: none; padding: 12px 15px; font-size: 13px; background: transparent; outline: none; }
.copy-box button { background: #f0f3f7; border: none; border-left: 1px solid #e0e5eb; padding: 0 20px; cursor: pointer; }
.reset-btn { width: 100%; background: transparent; color: #0066ff; border: 1px solid #0066ff; padding: 12px; border-radius: 8px; cursor: pointer; margin-top: 10px;}

/* Gallery Styles */
.gallery-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 20px; }
.gallery-item { border: 1px solid #eaedf1; border-radius: 12px; padding: 10px; background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,0.02); transition: transform 0.2s; }
.gallery-item:hover { transform: translateY(-3px); box-shadow: 0 5px 15px rgba(0,0,0,0.08); }
.gallery-img-box { width: 100%; height: 150px; border-radius: 8px; overflow: hidden; margin-bottom: 10px; background: #f4f7fb; display: flex; align-items: center; justify-content: center; }
.gallery-img-box img { width: 100%; height: 100%; object-fit: cover; }
.gallery-actions { display: flex; gap: 8px; }
.btn-copy, .btn-delete { flex: 1; padding: 8px; border: none; border-radius: 6px; font-size: 12px; cursor: pointer; font-weight: 500; transition: 0.2s; }
.btn-copy { background: #f0f6ff; color: #0066ff; }
.btn-copy:hover { background: #0066ff; color: white; }
.btn-delete { background: #fff0f0; color: #ff3333; }
.btn-delete:hover { background: #ff3333; color: white; }