body { padding: 20px; }
.container { max-width: 1000px; margin: 0 auto; }
.header { display: flex; align-items: center; margin-bottom: 25px; gap: 15px; }
.header a { color: #3498db; text-decoration: none; font-size: 15px; }
.header h1 { color: #333; font-size: 24px; margin: 0; }
.upload-link { display: inline-block; background: linear-gradient(135deg, #4CAF50, #66BB6A); color: #fff; border: none; padding: 10px 24px; border-radius: 8px; font-size: 14px; cursor: pointer; text-decoration: none; box-shadow: 0 3px 10px rgba(76,175,80,0.3); transition: all 0.25s; margin-bottom: 20px; }
.upload-link:hover { transform: translateY(-1px); box-shadow: 0 4px 14px rgba(76,175,80,0.4); }
.gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 18px; }
.card { background: #fff; border-radius: 10px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,0.1); }
.card img { width: 100%; height: 170px; object-fit: cover; cursor: pointer; }
.card .info { padding: 10px; }
.card .info p { font-size: 12px; color: #666; margin-bottom: 4px; word-break: break-all; }
.card .info .delete-btn { background: #e74c3c; color: #fff; border: none; padding: 4px 10px; border-radius: 4px; cursor: pointer; font-size: 12px; margin-top: 6px; }
.card .info .delete-btn:hover { background: #c0392b; }
.empty { text-align: center; color: #999; padding: 40px; }
.modal { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.8); z-index: 999; justify-content: center; align-items: center; }
.modal.active { display: flex; }
.modal img { max-width: 90%; max-height: 90%; border-radius: 8px; }
.modal .close { position: absolute; top: 20px; right: 30px; color: #fff; font-size: 30px; cursor: pointer; }
.confirm-overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.45); z-index: 1100; justify-content: center; align-items: center; }
.confirm-overlay.show { display: flex; }
.confirm-box { background: #fff; border-radius: 12px; padding: 30px 35px; box-shadow: 0 8px 30px rgba(0,0,0,0.2); text-align: center; animation: confirmIn 0.25s ease; min-width: 300px; }
@keyframes confirmIn { from { transform: scale(0.85); opacity: 0; } to { transform: scale(1); opacity: 1; } }
.confirm-box .confirm-icon { font-size: 40px; margin-bottom: 12px; }
.confirm-box p { font-size: 15px; color: #333; margin-bottom: 24px; line-height: 1.5; }
.confirm-box .confirm-actions { display: flex; gap: 12px; justify-content: center; }
.confirm-box .btn-cancel { background: #e0e0e0; color: #555; border: none; padding: 9px 28px; border-radius: 6px; font-size: 14px; cursor: pointer; transition: background 0.2s; }
.confirm-box .btn-cancel:hover { background: #d0d0d0; }
.confirm-box .btn-danger { background: #e74c3c; color: #fff; border: none; padding: 9px 28px; border-radius: 6px; font-size: 14px; cursor: pointer; text-decoration: none; display: inline-block; transition: background 0.2s; }
.confirm-box .btn-danger:hover { background: #c0392b; }
