diff --git a/.env.example b/.env.example
index eec111a..03681c6 100644
--- a/.env.example
+++ b/.env.example
@@ -5,8 +5,12 @@ HOST=0.0.0.0
AWS_REGION=us-east-1
AWS_ACCESS_KEY_ID=your_access_key
AWS_SECRET_ACCESS_KEY=your_secret_key
+S3_BUCKET_ADDRESS=https://s3.example.com/your_bucket_name
S3_BUCKET_NAME=your_s3_bucket_name
# For MinIO or other S3-compatible storage
S3_ENDPOINT=http://127.0.0.1:9000
S3_FORCE_PATH_STYLE=true
+
+# Application Title
+APP_TITLE=S3 Media Transcoder
diff --git a/public/css/style.css b/public/css/style.css
index e5b41de..a04511e 100644
--- a/public/css/style.css
+++ b/public/css/style.css
@@ -129,6 +129,24 @@ header p {
box-shadow: 0 20px 40px rgba(148, 163, 184, 0.15);
}
+.top-banner {
+ background: rgba(255, 255, 255, 0.08);
+ border: 1px solid var(--panel-border);
+ border-radius: 16px;
+ padding: 1rem 1.25rem;
+ margin-bottom: 1.5rem;
+ color: var(--text-primary);
+ font-size: 1.25rem;
+ font-weight: 700;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.top-banner.hidden {
+ display: none;
+}
+
.section-header {
display: flex;
justify-content: space-between;
@@ -157,6 +175,39 @@ header p {
margin-bottom: 1rem;
}
+.credentials-panel {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 0.75rem;
+ margin-bottom: 1rem;
+}
+
+.credential-field {
+ display: flex;
+ flex-direction: column;
+ min-width: 180px;
+ flex: 1 1 180px;
+}
+
+.credential-field label {
+ color: var(--text-secondary);
+ font-size: 0.95rem;
+ margin-bottom: 0.35rem;
+}
+
+.credential-field input {
+ background: rgba(255, 255, 255, 0.08);
+ color: var(--text-primary);
+ border: 1px solid var(--panel-border);
+ border-radius: 10px;
+ padding: 0.5rem 0.75rem;
+ outline: none;
+}
+
+.credential-field input:focus {
+ border-color: var(--accent);
+}
+
.codec-panel label {
color: var(--text-secondary);
font-size: 0.95rem;
diff --git a/public/index.html b/public/index.html
index 8819ced..754070e 100644
--- a/public/index.html
+++ b/public/index.html
@@ -17,10 +17,7 @@
+