.console-toggle{position:fixed;bottom:20px;right:20px;width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #3b82f64d;z-index:1000;transition:all .3s ease}.console-toggle:hover{transform:scale(1.1);box-shadow:0 6px 16px #3b82f666}.console-toggle.open{background:linear-gradient(135deg,#ef4444,#f59e0b);box-shadow:0 4px 12px #ef44444d}.console-badge{position:absolute;top:-5px;right:-5px;background:#ef4444;color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;border:2px solid #0f172a;box-shadow:0 2px 4px #0000004d}.console-panel{position:fixed;bottom:80px;right:20px;width:600px;max-width:calc(100vw - 40px);height:400px;max-height:calc(100vh - 100px);background:#0f172a;border-radius:16px;box-shadow:0 20px 25px -5px #00000080,0 10px 10px -5px #0000004d;z-index:999;display:flex;flex-direction:column;overflow:hidden;border:1px solid #334155}.console-header{background:#1e293b;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #334155}.console-header h3{margin:0;color:#fff;font-size:14px;font-weight:600}.console-actions{display:flex;gap:8px}.console-clear,.console-close{background:transparent;border:1px solid #555;color:#ccc;padding:4px 12px;border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s}.console-clear:hover{background:#3d3d3d;border-color:#666}.console-close{width:24px;height:24px;padding:0;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center}.console-close:hover{background:#ef4444;border-color:#ef4444;color:#fff}.console-content{flex:1;overflow-y:auto;padding:8px;font-family:Courier New,monospace;font-size:12px;line-height:1.5}.console-content::-webkit-scrollbar{width:8px}.console-content::-webkit-scrollbar-track{background:#0f172a}.console-content::-webkit-scrollbar-thumb{background:#334155;border-radius:4px}.console-content::-webkit-scrollbar-thumb:hover{background:#475569}.console-empty{color:#888;text-align:center;padding:20px;font-style:italic}.console-line{padding:4px 8px;margin-bottom:2px;border-radius:2px;word-wrap:break-word;display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}.console-line:hover{background:#ffffff0d}.console-timestamp{color:#888;flex-shrink:0}.console-type{font-weight:700;flex-shrink:0;padding:2px 6px;border-radius:3px;font-size:10px;text-transform:uppercase}.console-log .console-type{background:#3b82f6;color:#fff}.console-error .console-type{background:#ef4444;color:#fff}.console-warn .console-type{background:#f59e0b;color:#fff}.console-info .console-type{background:#10b981;color:#fff}.console-message{color:#e0e0e0;flex:1;min-width:0}.console-error .console-message{color:#ff6b6b}.console-warn .console-message{color:#ffd93d}.console-info .console-message{color:#6bcf7f}.console-data{width:100%;margin:4px 0 0;padding:8px;background:#1e293b;border-radius:4px;color:#94a3b8;font-size:11px;overflow-x:auto;border-left:3px solid #334155}@media (max-width: 768px){.console-panel{width:calc(100vw - 20px);right:10px;bottom:70px;height:300px}}.job-status{background:linear-gradient(135deg,#1e293b,#334155);padding:24px;border-radius:16px;margin-bottom:24px;border:1px solid rgba(51,65,85,.5);box-shadow:0 4px 12px #0000004d}.job-status h3{margin-bottom:20px;color:#f8fafc;font-size:18px;font-weight:600;letter-spacing:-.01em}.status-badge{display:inline-block;padding:8px 16px;border-radius:4px;font-weight:500;margin-bottom:15px}.status-badge.pending{background:#f59e0b;color:#fff;box-shadow:0 2px 8px #f59e0b4d}.status-badge.uploading,.status-badge.queued{background:#06b6d4;color:#fff;box-shadow:0 2px 8px #06b6d44d}.status-badge.processing{background:#3b82f6;color:#fff;box-shadow:0 2px 8px #3b82f64d}.status-badge.completed{background:#10b981;color:#fff;box-shadow:0 2px 8px #10b9814d}.status-badge.failed{background:#ef4444;color:#fff;box-shadow:0 2px 8px #ef44444d}.progress-bar{width:100%;height:8px;background:#0f172a;border-radius:4px;overflow:hidden;margin-bottom:10px;border:1px solid #334155}.progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#8b5cf6);transition:width .3s;box-shadow:0 0 10px #3b82f680}.status-message{margin-top:10px;color:#94a3b8;font-size:14px}.status-time{margin-top:10px;color:#64748b;font-size:12px}.error{color:#fca5a5;background:#ef44441a;padding:15px;border-radius:10px;border:1px solid rgba(239,68,68,.3)}.video-player{background:#f9fafb;padding:24px;border-radius:12px;border:1px solid #e5e7eb}.video-player h3{margin-bottom:20px;color:#1f2937;font-size:18px;font-weight:600}.video-container{width:100%;max-width:800px;margin:0 auto 24px;background:#000;border-radius:12px;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a}.video-element{width:100%;height:auto;display:block}.video-info{display:flex;gap:20px;margin-bottom:15px;font-size:14px;color:#666;flex-wrap:wrap}.expires{color:#999;font-size:12px}.load-button,.download-button{display:inline-block;padding:12px 24px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;text-decoration:none;border-radius:8px;font-weight:600;transition:all .2s;box-shadow:0 2px 4px #10b9814d}.load-button:hover,.download-button:hover{transform:translateY(-1px);box-shadow:0 4px 8px #10b98166}.loading,.error{text-align:center;padding:20px;color:#666}.error{color:#dc3545;background:#f8d7da;border-radius:4px}.image-upload{background:linear-gradient(135deg,#1e293b,#334155);border-radius:20px;padding:40px;box-shadow:0 20px 25px -5px #0000004d,0 10px 10px -5px #0003;max-width:700px;margin:0 auto;border:1px solid rgba(51,65,85,.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.upload-section{display:flex;flex-direction:column;gap:32px}.api-key-section{display:flex;flex-direction:column;gap:12px}.api-key-label{font-size:14px;font-weight:600;color:#cbd5e1;letter-spacing:.025em}.api-key-input-wrapper{display:flex;align-items:center;gap:12px}.api-key-input{flex:1;padding:14px 16px;border:2px solid #334155;border-radius:10px;font-size:16px;font-family:Monaco,Menlo,monospace;letter-spacing:.1em;transition:all .3s;background:#0f172a;color:#f8fafc}.api-key-input::placeholder{color:#64748b}.api-key-input:focus{outline:none;border-color:#3b82f6;background:#1e293b;box-shadow:0 0 0 3px #3b82f633}.credits-badge{display:flex;align-items:center;gap:8px;padding:10px 16px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:10px;color:#fff;font-weight:600;white-space:nowrap;box-shadow:0 4px 12px #3b82f64d}.credits-label{font-size:12px;opacity:.9;text-transform:uppercase;letter-spacing:.05em}.credits-value{font-size:18px}.workflow-section{display:flex;flex-direction:column;gap:12px}.workflow-label{font-size:14px;font-weight:600;color:#cbd5e1;letter-spacing:.025em}.workflow-options{display:flex;gap:12px}.workflow-option{flex:1;padding:12px 20px;border:2px solid #334155;border-radius:10px;background:#0f172a;font-size:15px;font-weight:500;color:#94a3b8;cursor:pointer;transition:all .3s}.workflow-option:hover{border-color:#475569;color:#cbd5e1;transform:translateY(-1px);box-shadow:0 4px 8px #0003}.workflow-option.active{border-color:#3b82f6;background:linear-gradient(135deg,#3b82f633,#8b5cf633);color:#60a5fa;box-shadow:0 0 0 2px #3b82f64d}.params-section{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;padding:24px;background:#0f172a;border-radius:16px;border:1px solid #334155}.param-group{display:flex;flex-direction:column;gap:8px}.param-label{font-size:13px;font-weight:600;color:#cbd5e1;letter-spacing:.025em}.param-slider{width:100%;height:6px;border-radius:3px;background:#e5e7eb;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.param-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#3b82f6;cursor:pointer;box-shadow:0 2px 4px #0003}.param-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#3b82f6;cursor:pointer;border:none;box-shadow:0 2px 4px #0003}.param-select{padding:10px 12px;border:2px solid #334155;border-radius:10px;font-size:14px;font-weight:500;color:#f8fafc;background:#1e293b;cursor:pointer;transition:all .3s}.param-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633;background:#0f172a}.param-select:hover{border-color:#475569}.param-select option{background:#1e293b;color:#f8fafc}.upload-area{width:100%}.drop-zone{position:relative;width:100%;min-height:200px;border:2px dashed #475569;border-radius:16px;background:#0f172a;display:flex;align-items:center;justify-content:center;transition:all .3s;cursor:pointer}.drop-zone:hover{border-color:#64748b;background:#1e293b;box-shadow:0 4px 12px #0003}.drop-zone.dragging{border-color:#3b82f6;background:#3b82f61a;border-style:solid;box-shadow:0 0 0 3px #3b82f633}.file-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.drop-zone-label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px;cursor:pointer;width:100%;height:100%}.drop-zone-label svg{color:#64748b;transition:color .3s}.drop-zone:hover .drop-zone-label svg,.drop-zone.dragging .drop-zone-label svg{color:#60a5fa}.drop-zone-text{font-size:16px;color:#cbd5e1;text-align:center}.drop-zone-text strong{color:#60a5fa;font-weight:600}.drop-zone-hint{font-size:14px;color:#64748b}.preview-container{position:relative;width:100%;border-radius:16px;overflow:hidden;background:#0f172a;border:1px solid #334155}.preview-image{width:100%;height:auto;display:block;max-height:400px;object-fit:contain}.change-image-button{position:absolute;top:12px;right:12px;padding:8px 16px;background:#1e293bf2;border:1px solid #334155;border-radius:8px;font-size:14px;font-weight:500;color:#cbd5e1;cursor:pointer;transition:all .3s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.change-image-button:hover{background:#334155f2;border-color:#475569;box-shadow:0 4px 8px #0000004d;transform:translateY(-1px)}.primary-button{width:100%;padding:16px 24px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px #3b82f64d;letter-spacing:.01em}.primary-button:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 12px #3b82f64d}.primary-button:disabled{background:#334155;color:#64748b;cursor:not-allowed;box-shadow:none;transform:none}.job-section{margin-top:40px;padding-top:40px;border-top:1px solid #334155}@media (max-width: 640px){.image-upload{padding:24px;border-radius:12px}.upload-section{gap:24px}.workflow-options{flex-direction:column}.api-key-input-wrapper{flex-direction:column;align-items:stretch}.credits-badge{justify-content:center}.params-section{grid-template-columns:1fr}}.credits-display-container{display:flex;align-items:center;justify-content:flex-end}.credits-display{display:flex;align-items:center;gap:12px;padding:12px 20px;background:#1e293b99;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:14px;border:1px solid rgba(51,65,85,.5);transition:all .3s;box-shadow:0 4px 12px #0003}.credits-display:hover{background:#334155b3;border-color:#3b82f680;transform:translateY(-1px);box-shadow:0 6px 16px #0000004d}.credits-icon{display:flex;align-items:center;color:#fff;opacity:.9}.credits-info{display:flex;flex-direction:column;gap:2px}.credits-label{font-size:11px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.credits-amount{font-size:20px;font-weight:700;color:#f8fafc;line-height:1;text-shadow:0 2px 4px rgba(0,0,0,.2)}.credits-placeholder,.credits-loading{padding:12px 20px;background:#1e293b99;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:14px;border:1px solid rgba(51,65,85,.5);color:#94a3b8;font-size:14px;font-weight:500}@media (max-width: 640px){.credits-display-container{justify-content:center;margin-top:16px}.credits-display{padding:10px 16px}.credits-amount{font-size:18px}.credits-label{font-size:10px}}.admin-login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#0f172a,#1e293b,#0f172a);padding:20px;position:relative}.admin-login-container:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,rgba(59,130,246,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(139,92,246,.1) 0%,transparent 50%);pointer-events:none;z-index:0}.admin-login-box{background:linear-gradient(135deg,#1e293b,#334155);border-radius:20px;padding:40px;box-shadow:0 20px 25px -5px #0000004d,0 10px 10px -5px #0003;width:100%;max-width:400px;border:1px solid rgba(51,65,85,.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;z-index:1}.admin-login-box h2{margin:0 0 30px;color:#f8fafc;text-align:center;font-size:28px;font-weight:700;letter-spacing:-.02em}.form-group input{width:100%;padding:12px;border:2px solid #334155;border-radius:10px;font-size:16px;transition:all .3s;box-sizing:border-box;background:#0f172a;color:#f8fafc}.form-group input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633;background:#1e293b}.error-message{background:#ef44441a;color:#fca5a5;padding:12px;border-radius:10px;margin-bottom:20px;text-align:center;border:1px solid rgba(239,68,68,.3)}.login-button{width:100%;padding:14px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px #3b82f64d}.login-button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #3b82f666}.login-button:active{transform:translateY(0);box-shadow:0 4px 12px #3b82f64d}.admin-dashboard{min-height:100vh;background:linear-gradient(135deg,#0f172a,#1e293b,#0f172a);padding:24px;position:relative}.admin-dashboard:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,rgba(59,130,246,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(139,92,246,.1) 0%,transparent 50%);pointer-events:none;z-index:0}.admin-dashboard>*{position:relative;z-index:1}.admin-header{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#1e293b,#334155);padding:24px 32px;border-radius:16px;box-shadow:0 4px 12px #0000004d;margin-bottom:24px;border:1px solid rgba(51,65,85,.5)}.admin-header h1{margin:0;color:#f8fafc;font-size:28px;font-weight:700;letter-spacing:-.02em}.logout-button{padding:10px 20px;background:#ef4444;color:#fff;border:none;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s;box-shadow:0 4px 8px #ef44444d}.logout-button:hover{background:#dc2626;transform:translateY(-1px);box-shadow:0 6px 12px #ef444466}.admin-tabs{display:flex;gap:12px;background:linear-gradient(135deg,#1e293b,#334155);padding:12px;border-radius:16px;box-shadow:0 4px 12px #0000004d;margin-bottom:24px;border:1px solid rgba(51,65,85,.5)}.admin-tabs button{flex:1;padding:12px 20px;background:transparent;border:2px solid transparent;border-radius:10px;cursor:pointer;font-size:14px;font-weight:500;color:#94a3b8;transition:all .3s}.admin-tabs button:hover{background:#0f172a80;color:#cbd5e1}.admin-tabs button.active{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;border-color:transparent;box-shadow:0 4px 12px #3b82f64d}.admin-content{background:linear-gradient(135deg,#1e293b,#334155);border-radius:20px;box-shadow:0 4px 12px #0000004d;padding:32px;border:1px solid rgba(51,65,85,.5)}.admin-section h2{margin:0 0 24px;color:#f8fafc;font-size:24px;font-weight:700;letter-spacing:-.02em}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#cbd5e1;font-weight:500;font-size:14px}.form-group input,.form-group select{width:100%;padding:12px;border:2px solid #334155;border-radius:10px;font-size:14px;transition:all .3s;box-sizing:border-box;background:#0f172a;color:#f8fafc}.form-group input::placeholder{color:#64748b}.form-group input:focus,.form-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633;background:#1e293b}.form-group select option{background:#1e293b;color:#f8fafc}.primary-button{padding:12px 24px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px #3b82f64d}.primary-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #3b82f666}.primary-button:disabled{opacity:.5;cursor:not-allowed;background:#334155;box-shadow:none}.history-filters{display:grid;grid-template-columns:2fr 1fr auto;gap:15px;margin-bottom:20px;align-items:end}.refresh-button{padding:12px 20px;background:#10b981;color:#fff;border:none;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s;white-space:nowrap;box-shadow:0 4px 8px #10b9814d}.refresh-button:hover{background:#059669;transform:translateY(-1px);box-shadow:0 6px 12px #10b98166}.loading,.empty-state{text-align:center;padding:40px;color:#94a3b8;font-size:16px}.history-table{overflow-x:auto}.history-table table{width:100%;border-collapse:collapse}.history-table th{background:#0f172a;padding:12px;text-align:left;font-weight:600;color:#cbd5e1;font-size:14px;border-bottom:2px solid #334155}.history-table td{padding:12px;border-bottom:1px solid #334155;font-size:14px;color:#cbd5e1}.history-table tr:hover{background:#0f172a80}.job-id{font-family:monospace;font-size:12px;color:#60a5fa}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;color:#fff;font-size:12px;font-weight:600;text-transform:uppercase}.error-cell{color:#fca5a5;font-size:12px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 768px){.admin-dashboard{padding:10px}.admin-header{flex-direction:column;gap:15px;align-items:stretch}.admin-tabs{flex-direction:column}.history-filters{grid-template-columns:1fr}.history-table{font-size:12px}.history-table th,.history-table td{padding:8px}}.App{min-height:100vh;padding:48px 24px;background:linear-gradient(135deg,#0f172a,#1e293b,#0f172a);background-attachment:fixed;position:relative}.App:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,rgba(59,130,246,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(139,92,246,.1) 0%,transparent 50%);pointer-events:none;z-index:0}.App>*{position:relative;z-index:1}.App-header{margin-bottom:48px}.header-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:32px;max-width:1200px;margin:0 auto}.header-text{text-align:center;flex:1;min-width:200px}.App-header h1{font-size:3.5rem;font-weight:800;color:#f8fafc;margin-bottom:12px;letter-spacing:-.03em;text-shadow:0 4px 12px rgba(0,0,0,.3);background:linear-gradient(135deg,#f8fafc,#cbd5e1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.App-header p{font-size:1.25rem;color:#cbd5e1;font-weight:400;letter-spacing:.01em}main{max-width:1200px;margin:0 auto}@media (max-width: 768px){.App{padding:32px 20px}.header-content{gap:24px}}@media (max-width: 640px){.App{padding:24px 16px}.App-header h1{font-size:2.5rem}.App-header p{font-size:1rem}}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0f172a;color:#f8fafc;line-height:1.6;font-weight:400}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button,input,select{font-family:inherit}h1,h2,h3,h4,h5,h6{font-weight:700;letter-spacing:-.02em;line-height:1.2;color:#f8fafc}
