.ratio-option.active{border-color:#dc6f00!important;background:rgba(220,111,0,.1)!important;box-shadow:0 4px 20px rgba(220,111,0,.2)!important}.ratio-option:hover{border-color:rgba(220,111,0,.5)!important;background:rgba(220,111,0,.05)!important}.ratio-preview{border-radius:4px}.ratio-preview.widescreen{width:40px;height:22px}.ratio-preview.tallscreen{width:22px;height:40px}.ratio-preview.standard{width:36px;height:27px}.ratio-preview.portrait34{width:27px;height:36px}.ratio-preview.square{width:30px;height:30px}.ratio-preview.portrait{width:24px;height:36px}.ratio-preview.landscape{width:36px;height:24px}.model-grid{display:grid;grid-template-columns:1fr;gap:1rem}.model-option{padding:1rem;border:2px solid rgba(255,255,255,.1);border-radius:8px;background:rgba(255,255,255,.02);cursor:pointer;transition:all .3s ease}.model-option:hover{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.05);transform:translateY(-2px)}.model-option.active{border-color:#dc6f00;background:rgba(220,111,0,.1);box-shadow:0 4px 20px rgba(220,111,0,.2)}.model-info{text-align:center}.model-name{font-size:1.1rem;font-weight:600;color:#fff;margin-bottom:.5rem}.model-description{font-size:.9rem;color:#ccc;margin-bottom:.5rem}.model-cost{font-size:.8rem;color:#dc6f00;font-weight:600;padding:.2rem .5rem;background:rgba(220,111,0,.2);border-radius:12px;display:inline-block}@media (max-width:768px){.model-grid{gap:.8rem}.model-option{padding:.8rem}.model-name{font-size:1rem}.model-description{font-size:.8rem}.ratio-preview.widescreen{width:32px;height:18px}.ratio-preview.tallscreen{width:18px;height:32px}.ratio-preview.standard{width:28px;height:21px}.ratio-preview.portrait34{width:21px;height:28px}.ratio-preview.square{width:24px;height:24px}.ratio-preview.portrait{width:20px;height:28px}.ratio-preview.landscape{width:28px;height:20px}}@media (max-width:576px){.model-option{padding:.6rem}.model-name{font-size:.9rem}.model-description{font-size:.75rem}.model-cost{font-size:.7rem}.ratio-preview.widescreen{width:28px;height:16px}.ratio-preview.tallscreen{width:16px;height:28px}.ratio-preview.standard{width:24px;height:18px}.ratio-preview.portrait34{width:18px;height:24px}}@media (max-width:480px){.model-option{padding:.5rem}.model-name{font-size:.85rem}.model-description{font-size:.7rem}.model-cost{font-size:.65rem;padding:.15rem .4rem}}.model-option .model-info{width:100%}.model-option .model-name{line-height:1.3}.model-option .model-description{line-height:1.4}.model-option .model-cost{margin-top:.3rem}#fluxModelModal .modal-body{padding:1.5rem}#fluxModelModal .model-grid{margin:0}#fluxRatioModal .ratio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;padding:.5rem 0}#fluxRatioModal .ratio-option{display:flex;flex-direction:column;align-items:center;padding:1rem;border:2px solid rgba(255,255,255,.1);border-radius:8px;background:rgba(255,255,255,.02);cursor:pointer;transition:all .3s ease;text-align:center;min-height:80px;justify-content:center}#fluxRatioModal .ratio-option:hover{border-color:rgba(220,111,0,.5);background:rgba(220,111,0,.05);transform:translateY(-2px)}#fluxRatioModal .ratio-option.active{border-color:#dc6f00;background:rgba(220,111,0,.1);box-shadow:0 4px 20px rgba(220,111,0,.2)}#fluxRatioModal .ratio-option span{margin-top:.5rem;font-size:.9rem;color:#fff;font-weight:500}@media (max-width:768px){#fluxRatioModal .ratio-grid{grid-template-columns:repeat(2,1fr);gap:.8rem}#fluxRatioModal .ratio-option{padding:.8rem;min-height:70px}#fluxRatioModal .ratio-option span{font-size:.8rem;margin-top:.4rem}}@media (max-width:576px){#fluxRatioModal .ratio-grid{grid-template-columns:1fr;gap:.6rem}#fluxRatioModal .ratio-option{padding:.6rem;min-height:60px;flex-direction:row;text-align:left}#fluxRatioModal .ratio-option span{margin-top:0;margin-left:1rem;font-size:.85rem}}.uploaded-images{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}.uploaded-image-item{position:relative;width:120px;height:120px;border-radius:8px;overflow:hidden;border:2px solid #e9ecef;background:#f8f9fa}.uploaded-image-item img{width:100%;height:100%;object-fit:cover;display:block}.uploaded-image-remove{position:absolute;top:4px;right:4px;width:24px;height:24px;background:rgba(0,0,0,.7);color:#fff;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px;transition:background .2s ease}.uploaded-image-remove:hover{background:rgba(220,53,69,.9)}.uploaded-image-index{position:absolute;bottom:4px;left:4px;background:rgba(0,0,0,.7);color:#fff;border-radius:4px;padding:2px 6px;font-size:12px;font-weight:500}.upload-progress{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);color:#fff;border-radius:8px;font-size:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;z-index:10}.upload-progress .spinner-border-sm{width:20px;height:20px;border-width:2px;border-color:#fff;border-right-color:transparent;animation:spinner-border .75s linear infinite}.upload-progress .custom-spinner{width:20px;height:20px;border:2px solid #fff;border-top:2px solid transparent;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes spinner-border{to{transform:rotate(360deg)}}.upload-progress-text{font-size:11px;font-weight:500;text-align:center;line-height:1.2}.upload-area[style*="opacity: 0.6"]{filter:grayscale(.5)}.upload-area.dragover{border-color:#ff6b35;background-color:rgba(255,107,53,.1)}.flux-error-state{text-align:center;padding:60px 30px}.flux-error-icon{font-size:56px;color:#dc3545;margin-bottom:24px;opacity:.8}.flux-error-title{font-size:20px;font-weight:600;color:#dc3545;margin-bottom:16px}.flux-error-message{font-size:16px;color:#6c757d;line-height:1.6;max-width:480px;margin:0 auto}@media (max-width:768px){.flux-error-state{padding:50px 20px}.flux-error-icon{font-size:48px}.flux-error-title{font-size:18px}.flux-error-message{font-size:15px}}@media (max-width:576px){.flux-error-state{padding:40px 16px}.flux-error-icon{font-size:40px;margin-bottom:20px}.flux-error-title{font-size:16px;margin-bottom:12px}.flux-error-message{font-size:14px}}.results-title.success{color:#28a745}.results-title.success .success-icon{color:#28a745}.results-title.error{color:#dc3545}.results-title.error .error-icon{color:#dc3545}.results-title i{margin-right:8px;font-size:1.1em}