* { box-sizing: border-box; margin: 0; padding: 0; } body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; margin: 0; padding: 20px; font-size: 16px; line-height: 1.6; color: #2c3e50; background-color: #f8f9fa; min-height: 100vh; } .container { max-width: 900px; margin: 0 auto; } h1 { text-align: center; margin: 30px 0; font-size: 32px; font-weight: 600; color: #1a1a1a; } h1 a { text-decoration: none; color: inherit; transition: color 0.2s; } h1 a:hover { color: #4a5568; } h2 { font-size: 24px; font-weight: 500; margin: 20px 0; color: #2d3748; text-align: center; } p { margin: 12px 0; color: #4a5568; } a { color: #2c5282; text-decoration: none; } a:hover { text-decoration: underline; } hr { border: none; border-top: 1px solid #e2e8f0; margin: 30px 0; } .btn, .back-btn, .upload-btn, .regular-button, button[type="submit"] { display: inline-block; padding: 12px 24px; background: #ffffff; border: 1px solid #cbd5e0; border-radius: 6px; text-decoration: none; color: #2d3748; font-size: 15px; font-weight: 500; text-align: center; cursor: pointer; transition: all 0.2s; font-family: inherit; } .btn:hover, .back-btn:hover, .upload-btn:hover, .regular-button:hover, button[type="submit"]:hover { background: #f7fafc; border-color: #a0aec0; text-decoration: none; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); } .back-btn, .upload-btn { margin: 5px; } .main-page { text-align: center; max-width: 700px; margin: 0 auto; } .main-page h1 { font-size: 40px; margin-bottom: 40px; } .main-page p { margin: 20px auto; max-width: 600px; font-size: 15px; } .main-page .btn { font-size: 16px; padding: 14px 32px; margin: 8px; min-width: 160px; } .main-page .disclaimer { margin-top: 50px; padding: 20px; background-color: #edf2f7; border-radius: 8px; border: 1px solid #cbd5e0; font-size: 14px; color: #4a5568; } .error { color: #c53030; background-color: #fff5f5; padding: 12px 16px; border-radius: 6px; border: 1px solid #feb2b2; margin: 20px 0; text-align: center; } .quota-info { margin: 25px 0; padding: 12px 20px; font-size: 14px; color: #4a5568; text-align: center; background-color: #edf2f7; border-radius: 6px; border: 1px solid #cbd5e0; } .login-form { max-width: 420px; margin: 30px auto; padding: 30px; background-color: #ffffff; border-radius: 8px; border: 1px solid #e2e8f0; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); } .login-form input { width: 100%; padding: 14px 16px; margin: 10px 0; font-size: 15px; border: 1px solid #cbd5e0; border-radius: 6px; background-color: #ffffff; font-family: inherit; } .login-form input:focus { outline: none; border-color: #4299e1; box-shadow: 0 0 0 3px rgba(66, 153, 225, 0.1); } .login-form button { width: 100%; margin-top: 10px; } form[action="/upload"] { margin: 25px 0; padding: 20px; background-color: #ffffff; border-radius: 8px; border: 1px solid #e2e8f0; text-align: center; } input[type="file"] { padding: 10px; margin: 10px; border: 1px solid #cbd5e0; border-radius: 6px; background-color: #ffffff; cursor: pointer; } .files-list-item, div[style*="margin: 5px 0"] { margin: 12px 0 !important; padding: 14px 16px !important; display: flex !important; align-items: center !important; border: 1px solid #e2e8f0 !important; border-radius: 6px !important; background-color: #ffffff !important; } .files-list-item:hover, div[style*="margin: 5px 0"]:hover { background-color: #f7fafc !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important; } .files-list-item span, div[style*="margin: 5px 0"] span { flex: 1 !important; text-align: left !important; } .files-list-item a, div[style*="margin: 5px 0"] a { font-weight: 500; color: #2c5282; word-break: break-all; } .files-list-item form, div[style*="margin: 5px 0"] form { display: inline !important; margin-left: 10px !important; } .files-list-item button, div[style*="margin: 5px 0"] button { padding: 8px 16px !important; font-size: 14px !important; margin: 0 !important; } div[style*="margin: 5px 0"] a:only-child { display: block; padding: 12px 0px; font-weight: 500; width: 100%; } p a.back-btn { display: inline-block; margin: 10px 5px; } @media (max-width: 768px) { body { padding: 15px; font-size: 15px; } h1 { font-size: 28px; margin: 20px 0; } h2 { font-size: 22px; } .main-page h1 { font-size: 32px; } .btn, .back-btn, .upload-btn, button[type="submit"] { padding: 14px 20px; font-size: 15px; } .main-page .btn { width: 100%; max-width: 300px; display: block; margin: 10px auto; } .login-form { padding: 25px 20px; } form[action="/upload"] { padding: 15px; } input[type="file"] { width: 100%; margin: 10px 0; } form[action="/upload"] button { width: 100%; margin-top: 10px; } } @media (max-width: 480px) { body { padding: 10px; } h1 { font-size: 24px; margin: 15px 0; } h2 { font-size: 20px; } .main-page h1 { font-size: 28px; } .main-page p { font-size: 14px; } .btn, .back-btn, .upload-btn, button[type="submit"] { padding: 12px 16px; font-size: 14px; } .main-page .btn { font-size: 15px; padding: 14px 24px; } .login-form { padding: 20px 15px; } .files-list-item, div[style*="margin: 5px 0"] { flex-direction: column !important; align-items: flex-start !important; padding: 12px !important; } .files-list-item span, div[style*="margin: 5px 0"] span { margin-bottom: 10px !important; width: 100% !important; } .files-list-item form, div[style*="margin: 5px 0"] form { width: 100% !important; margin-left: 0 !important; margin-top: 8px !important; } .files-list-item button, div[style*="margin: 5px 0"] button { width: 100% !important; } p a.back-btn { display: block; margin: 8px 0; } } /* New styles for progress bar */ #progressContainer { width: 100%; margin: 20px 0; padding: 15px; background-color: #f8f9fa; border-radius: 6px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); display: none; /* Hidden by default */ } #uploadProgress { width: 100%; height: 24px; border-radius: 12px; background-color: #e9ecef; overflow: hidden; border: none; box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2); } #uploadProgress::-webkit-progress-bar { background-color: #e9ecef; border-radius: 12px; } #uploadProgress::-webkit-progress-value { background: linear-gradient(to right, #4caf50, #8bc34a); border-radius: 12px; transition: width 0.3s ease; } #uploadProgress::-moz-progress-bar { background: linear-gradient(to right, #4caf50, #8bc34a); border-radius: 12px; } #percentLabel { display: inline-block; width: 40px; text-align: right; font-weight: bold; color: #333; margin-left: 10px; }