/* Global Reset */
body { font-family: system-ui, -apple-system, sans-serif; background: #f4f4f9; padding: 20px; text-align: center; margin: 0; }
.card { background: white; max-width: 400px; margin: auto; padding: 20px; border-radius: 12px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
h2 { color: #333; margin-bottom: 1.5rem; }

/* Form Elements */
input { width: 100%; padding: 12px; margin-bottom: 1rem; border: 1px solid #ccc; border-radius: 6px; box-sizing: border-box; }
button { width: 100%; padding: 12px; background: #007bff; color: white; border: none; border-radius: 6px; font-size: 16px; cursor: pointer; transition: background 0.2s; }
button:hover { background: #0056b3; }
button:disabled { background: #ccc; cursor: not-allowed; }

/* Upload Specific */
.upload-area { border: 2px dashed #ccc; padding: 40px 20px; margin: 20px 0; border-radius: 8px; cursor: pointer; transition: border 0.2s; }
.upload-area:hover { border-color: #007bff; background: #f9f9ff; }
.upload-icon { font-size: 2rem; color: #aaa; margin-bottom: 10px; }

/* Progress Bar */
#progressBarContainer { display: none; margin-top: 15px; background: #eee; border-radius: 6px; overflow: hidden; height: 10px; }
#progressBar { height: 100%; width: 0%; background: #28a745; transition: width 0.2s; }
#status { margin-top: 10px; font-size: 14px; color: #555; font-weight: 500; }

/* Error Messages */
.error-msg { background: #ffe6e6; color: #d63031; padding: 10px; border-radius: 6px; margin-bottom: 1rem; }
