:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}html,body{margin:0;padding:0;height:100%;overflow:hidden}#root{height:100vh;width:100vw}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.model-selector-modal{background:#fff;border-radius:12px;box-shadow:0 10px 25px #00000026;width:100%;max-width:480px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 16px;border-bottom:1px solid #e5e7eb;background:#004675;flex-shrink:0}.modal-header h3,.modal-header h3 span{margin:0;font-size:18px;font-weight:600;color:#fff!important;display:flex;align-items:center}.modal-header h3 .label-note{font-size:.55rem;color:#d1d5db;font-weight:400}.close-btn{background:none;border:none;font-size:20px;color:#e5e7eb;cursor:pointer;padding:4px;border-radius:4px;transition:.2s;line-height:1}.close-btn:hover{background:#ffffff1f;color:#fff}.search-container{padding:16px 24px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.search-wrapper{position:relative;width:100%}.search-input{width:100%;padding:10px 56px 10px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;background:#f9fafb;transition:border-color .2s;box-sizing:border-box}.search-input:focus{outline:none;border-color:#3b82f6;background:#fff}.clear-search{position:absolute;right:16px;top:50%;transform:translateY(-50%);background:none;border:none;color:#6b7280;cursor:pointer;font-size:16px;padding:2px;border-radius:4px;transition:.2s}.clear-search:hover{color:#374151;background:#f3f4f6}.model-list-container{flex:1;overflow-y:auto;min-height:200px;max-height:400px}.model-list{list-style:none;margin:0;padding:8px 0}.model-option{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;cursor:pointer;border-bottom:1px solid #f3f4f6;transition:.2s}.model-option:hover{background:#f8fafc}.model-option.selected{background:#eff6ff;border-left:3px solid #3b82f6}.model-name{font-size:14px;color:#374151;font-weight:500}.estimated-price{font-size:.85rem;color:#6b7280}.check-mark{color:#10b981;font-weight:700;font-size:16px}.no-results,.loading-models,.error-message{padding:40px 24px;text-align:center;color:#6b7280;font-size:14px}.modal-buttons{display:flex;gap:12px;padding:20px 24px;border-top:1px solid #e5e7eb;flex-shrink:0}.cancel-btn,.apply-btn{flex:1;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;border:1px solid #d1d5db;transition:.2s}.cancel-btn{background:#fff;color:#374151}.cancel-btn:hover{background:#f9fafb;border-color:#9ca3af}.apply-btn{background:#3b82f6;color:#fff;border-color:#3b82f6}.apply-btn:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.apply-btn:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed;border-color:#d1d5db}.model-list-container::-webkit-scrollbar{width:6px}.model-list-container::-webkit-scrollbar-track{background:#f1f5f9}.model-list-container::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.model-list-container::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (max-width: 640px){.modal-backdrop{padding:10px}.model-selector-modal{max-height:90vh}.modal-header,.search-container,.modal-buttons,.model-option{padding-left:16px;padding-right:16px}.release-date{font-size:.5rem;color:#aaa;margin-left:6px}}.buy-credits-modal{width:360px;padding:1.8rem 1.6rem;background:#fff;border-radius:8px;box-shadow:0 8px 32px #0000002e;position:relative;color:#1b1b1b}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.close-btn{background:none;border:none;font-size:1.25rem;cursor:pointer;color:#666}.preset-row{margin-bottom:1rem;display:flex;gap:.5rem;flex-wrap:wrap}.preset-btn{padding:.4rem .9rem;border-radius:20px;background:#f1f5ff;border:1px solid #d6e0ff;cursor:pointer;font-weight:600;font-size:.85rem;color:#2563eb;transition:background .15s}.preset-btn:hover{background:#e6edff}.preset-btn.active{background:#2563eb;color:#fff}.amount-label{display:flex;flex-direction:column;font-size:.9rem;margin-bottom:1.25rem}.amount-label input{margin-top:.4rem;padding:.5rem .75rem;font-size:.9rem;border:1px solid #ccd3de;border-radius:6px}.modal-buttons{display:flex;justify-content:flex-end;gap:.75rem}.cancel-btn,.apply-btn{padding:.55rem 1.2rem;border-radius:6px;font-weight:600;cursor:pointer;border:none}.cancel-btn{background:#e8e8e8;color:#333}.cancel-btn:hover{background:#dadada}.apply-btn{background:#2563eb;color:#fff}.apply-btn:disabled{background:#9db3f7;cursor:not-allowed}.validation-msg{margin-top:.8rem;font-size:.8rem;color:#d12b2b;text-align:right}@media (prefers-color-scheme: dark){.buy-credits-modal{background:#2b3748;color:#e5eaf0}.preset-btn{background:#394a60;border-color:#4b5d76;color:#7db3ff}.preset-btn.active{background:#7db3ff;color:#1b1b1b}.amount-label input{background:#1f2936;border-color:#475466;color:#e5eaf0}.cancel-btn{background:#475466;color:#e5eaf0}.cancel-btn:hover{background:#53627a}}.modal-backdrop{position:fixed!important;top:70px!important;left:0!important;width:100%!important;height:calc(100vh - 70px)!important;background:#0009!important;display:flex!important;justify-content:center!important;align-items:center!important;z-index:9999!important;padding:1rem;box-sizing:border-box}.modal{max-width:420px!important;width:100%!important;max-height:90%!important;height:auto!important;background:#fff!important;border-radius:12px!important;box-shadow:0 5px 15px #0000004d!important;overflow-y:auto!important;padding:1.5rem!important;display:flex!important;flex-direction:column!important;position:relative!important}.modal h2{text-align:center;margin-top:0;margin-bottom:1rem;color:#1e293b}.modal-actions{display:flex!important;justify-content:center!important;margin-top:1.5rem!important;padding-top:1.5rem!important;border-top:1px solid #e5e7eb!important}.modal-close-btn{background-color:#2563eb!important;color:#fff!important;border:none!important;padding:.5rem 1.25rem!important;font-weight:600!important;border-radius:8px!important;cursor:pointer!important;transition:background .3s,transform .2s!important}.modal-close-btn:hover{background-color:#1d4ed8!important;transform:translateY(-2px)!important}.credits-content-wrapper{background:#f7faff;border-radius:10px;padding:1rem 1.25rem;box-shadow:0 1px 4px #0000000d inset;font-size:.85rem;color:#1e293b;display:flex;flex-direction:column;gap:.55rem;border:1px solid #e0eaff}.cm-balance{display:flex;align-items:center;gap:.4rem;font-size:.95rem}.cm-balance .value{font-weight:700;font-size:1.05rem}.plus{width:24px;height:24px;border:none;border-radius:50%;background:#2563eb;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem;line-height:1;padding:0}.plus:hover{opacity:.9}.cm-pairs .pair{display:flex;justify-content:space-between;align-items:center}.label{font-weight:600;color:#475569}.value{font-weight:600;color:#2563eb}.clickable{cursor:pointer}.clickable .value{text-decoration:underline dotted transparent}.clickable:hover .value{text-decoration-color:#2563eb}.badge{padding:2px 7px;border-radius:5px;font-weight:700;font-size:.78rem}.badge-good{background:#dafbe1;color:#065f46}.badge-warn{background:#fef3c7;color:#92400e}.badge-danger{background:#fee2e2;color:#991b1b}.badge-neutral{background:#e2e8f0;color:#334155}.tx-toggle{background:none;border:none;color:#2563eb;font-size:.78rem;align-self:flex-start;cursor:pointer;margin-top:.15rem;padding:0}.tx-toggle:hover{text-decoration:underline}.tx-wrapper{margin-top:.55rem;border-top:1px solid #dbeafe;padding-top:.45rem}.tx-table{width:100%;border-collapse:collapse;font-size:.77rem}.tx-table th{text-align:left;font-weight:600;color:#475569;padding-bottom:4px}.tx-table td{padding:3px 0}.tx-table .type{color:#52525b}.tx-table .delta{text-align:right;font-weight:600}.tx-table tr:nth-child(2n){background:#f3f6ff}.empty{margin:.2rem 0;color:#6b7280}.note{margin-top:.65rem;font-size:.72rem;color:#6b7280}.app-header{position:sticky;top:0;width:100%;z-index:100;background:linear-gradient(135deg,#1a365d,#2c5282);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.1);box-shadow:0 4px 20px #00000026}.header-container{display:flex;justify-content:space-between;align-items:center;height:70px;max-width:1200px;margin:0 auto;padding:0 2rem}.main-nav{display:flex;align-items:center;justify-content:space-between;width:100%}.nav-left,.nav-right{display:flex;align-items:center;gap:1.5rem}.logo-link{display:flex;align-items:center;text-decoration:none;margin-right:2rem;padding:.25rem;border-radius:10px;transition:all .3s ease}.logo-link:hover{background:#ffffff0d;transform:translateY(-1px)}.header-logo{width:60px;height:60px;object-fit:contain;border-radius:10px;background:#ffffff1a;padding:.5rem}.desktop-nav-links{display:flex;align-items:center;gap:1rem}.nav-link{color:#ffffffe6;text-decoration:none;font-weight:500;padding:.5rem 1rem;border-radius:6px;transition:all .3s ease;white-space:nowrap;font-size:.95rem}.nav-link.active,.nav-link:hover{color:#fff;background:#ffffff1a}.nav-link.active{background:#ffffff26}.user-info{font-size:.9rem;color:#ffffffe6;padding:.5rem 1rem;background:#ffffff14;border-radius:6px;border:1px solid rgba(255,255,255,.15);max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.credits-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;cursor:pointer;font-weight:500;font-size:.9rem;padding:.5rem 1rem;border-radius:6px;transition:all .3s ease;white-space:nowrap}.credits-btn:hover{background:#ffffff26;border-color:#ffffff4d;transform:translateY(-1px)}.header-auth-button{padding:.5rem 1.25rem;font-size:.9rem;font-weight:600;border-radius:6px;border:none;cursor:pointer;background:#fff;color:#1a365d;box-shadow:0 2px 8px #00000026;transition:all .3s ease;white-space:nowrap}.header-auth-button:hover{transform:translateY(-1px);background:#f7fafc;box-shadow:0 4px 12px #0003}.header-auth-button.logout{background:transparent;color:#ffffffe6;border:1px solid rgba(255,255,255,.3);box-shadow:none;padding:.5rem 1rem}.header-auth-button.logout:hover{background:#ffffff1a;border-color:#ffffff80;color:#fff;transform:translateY(-1px)}.mobile-burger{display:none;flex-direction:column;justify-content:space-around;width:28px;height:20px;background:transparent;border:none;cursor:pointer;padding:0;margin-left:1rem}.mobile-burger span{width:28px;height:3px;background:#fff;border-radius:10px;transition:all .3s ease;transform-origin:1px}.mobile-burger.open span:first-child{transform:rotate(45deg)}.mobile-burger.open span:nth-child(2){opacity:0}.mobile-burger.open span:nth-child(3){transform:rotate(-45deg)}.mobile-dropdown{display:none;position:absolute;top:70px;left:0;right:0;background:linear-gradient(135deg,#1a365d,#2c5282);box-shadow:0 4px 20px #0003;padding:1rem;animation:slideDown .3s ease;z-index:99}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.mobile-nav-link{display:block;color:#fff;text-decoration:none;font-weight:500;padding:.75rem 1rem;border-radius:6px;transition:all .3s ease;font-size:1rem;margin-bottom:.5rem}.mobile-nav-link:hover,.mobile-nav-link.active{background:#ffffff1a}.mobile-credits-btn{width:100%;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;cursor:pointer;font-weight:500;font-size:.9rem;padding:.75rem 1rem;border-radius:6px;transition:all .3s ease;text-align:left;margin-bottom:.5rem}.mobile-credits-btn:hover{background:#ffffff26}.mobile-hidden{display:flex}@media (max-width: 768px){.header-container{padding:0 1rem;height:65px}.nav-left{gap:0}.logo-link{margin-right:0}.header-logo{width:45px;height:45px}.desktop-nav-links{display:none}.mobile-burger{display:flex}.mobile-dropdown{display:block}.mobile-hidden{display:none}.nav-right{gap:.75rem}.user-info{display:none}.header-auth-button{padding:.5rem 1rem;font-size:.85rem}}@media (max-width: 480px){.header-container{height:60px}.mobile-dropdown{top:60px}.nav-left,.nav-right{gap:.5rem}.header-logo{width:40px;height:40px;padding:.35rem}.header-auth-button{padding:.4rem .8rem;font-size:.8rem}}.homepage{min-height:100vh;background:#fff;overflow-x:hidden}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.hero-section{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(135deg,#1a365d,#2c5282);padding:2rem 0}.hero-background{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.gradient-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#1a365d,#2c5282,#2d3748);opacity:.95}.floating-shapes{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.shape{position:absolute;border-radius:50%;filter:blur(40px);opacity:.1;animation:float 20s ease-in-out infinite}.shape-1{width:400px;height:400px;background:#4299e1;top:-200px;left:-100px;animation-delay:0s}.shape-2{width:300px;height:300px;background:#fff;bottom:-150px;right:-100px;animation-delay:5s}.shape-3{width:250px;height:250px;background:#2b6cb5;top:50%;right:10%;animation-delay:10s}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}}.hero-content{position:relative;z-index:1;text-align:center;padding:2rem;max-width:900px;width:100%;animation:fadeInUp 1s ease-out;display:flex;flex-direction:column;align-items:center;gap:1.25rem}.hero-logo{width:150px;height:150px;object-fit:contain;background:#ffffff14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1.5rem;border-radius:20px;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0000001a;margin-bottom:.5rem}.hero-title{font-size:clamp(2.5rem,5vw,3.5rem);font-weight:450;color:#fff;margin:0;line-height:1;letter-spacing:-.02em;text-shadow:0 2px 10px rgba(0,0,0,.15)}.hero-subtitle-large{font-size:clamp(1.25rem,3.5vw,2rem);font-weight:500;color:#fff;margin:.5rem 0 0;line-height:1.3;letter-spacing:-.01em}.gradient-text{background:linear-gradient(135deg,#fff,#cbd5e0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:600}.hero-subtitle{font-size:clamp(.95rem,2.5vw,1.125rem);color:#ffffffe6;margin:.5rem 0 1rem;line-height:1.6;max-width:600px;font-weight:400}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:100px;color:#ffffffe6;font-size:.875rem;font-weight:500;margin:.5rem 0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin:1.5rem 0 1rem}.homepage .hero-actions .cta-button{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2.5rem;font-size:1rem;font-weight:600;border-radius:8px;border:none;cursor:pointer;transition:all .3s ease;text-decoration:none;background:#fff;color:#1a365d;box-shadow:0 4px 15px #0003}.homepage .hero-actions .cta-button:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000004d;background:#f7fafc}.homepage .cta-button{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2.5rem;font-size:1rem;font-weight:600;border-radius:4px;border:none;cursor:pointer;transition:all .3s ease;text-decoration:none;background:#fff;color:#1a365d;box-shadow:0 4px 6px #0000001a}.homepage .cta-button:hover{transform:translateY(-2px);box-shadow:0 8px 12px #00000026;background:#f7fafc}.cta-button.large{padding:1.25rem 2.5rem;font-size:1.125rem}.trust-badges{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;margin:1.5rem 0 0}.badge{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:100px;color:#ffffffe6;font-size:.875rem;font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.builder-container{padding:6rem 2rem;background:#f7fafc}.section-header{text-align:center;margin-bottom:3rem}.section-title{font-size:2.5rem;font-weight:700;color:#1a202c;margin-bottom:1rem}.section-title.center{text-align:center}.section-subtitle{font-size:1.125rem;color:#4a5568;max-width:600px;margin:0 auto 3rem;line-height:1.6}.section-subtitle.center{text-align:center}.features-section{padding:6rem 2rem;background:#fff}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:3rem}.feature-card{padding:2.5rem;background:#fff;border:1px solid #e2e8f0;border-radius:8px;transition:all .3s ease}.feature-card:hover{transform:translateY(-4px);box-shadow:0 10px 20px #00000014;border-color:#cbd5e0}.feature-icon{color:#2c5282;margin-bottom:1.5rem}.feature-card h3{font-size:1.25rem;font-weight:600;color:#1a202c;margin-bottom:.75rem}.feature-card p{color:#4a5568;line-height:1.6}.process-section{padding:6rem 2rem;background:#fff}.process-steps{display:flex;justify-content:space-between;align-items:center;margin-top:3rem;position:relative}.process-step{flex:1;text-align:center;padding:2rem 1rem;position:relative;z-index:1}.step-number{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;background:#2c5282;color:#fff;font-size:1.25rem;font-weight:700;border-radius:8px;margin-bottom:1.5rem}.process-step h3{font-size:1.125rem;font-weight:600;color:#1a202c;margin-bottom:.5rem}.process-step p{color:#4a5568;font-size:.875rem;max-width:200px;margin:0 auto;line-height:1.5}.process-connector{position:relative;width:100px;height:2px;background:linear-gradient(90deg,#2c5282,#4299e1);opacity:.3}.cta-section{position:relative;padding:6rem 2rem;overflow:hidden}.cta-background{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.cta-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#1a365d,#2c5282)}.cta-content{position:relative;z-index:1;text-align:center;max-width:700px;margin:0 auto}.homepage .cta-section .cta-title{font-size:clamp(2rem,5vw,2.5rem);font-weight:700;color:#fff!important;margin-bottom:1rem}.homepage .cta-section .cta-subtitle{font-size:1.125rem;color:#ffffffe6!important;margin-bottom:2rem;line-height:1.6}.homepage .cta-section .cta-button{background:#fff;color:#1a365d}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.hero-section{padding:1rem 0}.hero-content{padding:1.5rem;gap:1rem}.hero-logo{width:120px;height:120px;padding:1.25rem}.hero-title{font-size:2.5rem}.hero-subtitle-large{font-size:1.5rem}.hero-badge{font-size:.8rem;padding:.4rem .8rem}.hero-subtitle{font-size:.95rem}.process-steps{flex-direction:column}.process-connector{width:2px;height:60px;margin:-1rem auto}.hero-actions{flex-direction:column;align-items:center}.homepage .hero-actions .cta-button{width:100%;justify-content:center;max-width:280px;padding:.875rem 2rem}.trust-badges{flex-direction:column;align-items:center;gap:.75rem}.badge{width:100%;max-width:250px;justify-content:center;font-size:.8rem;padding:.5rem 1rem}.features-grid{grid-template-columns:1fr}.section-title{font-size:1.75rem}.builder-container,.features-section,.process-section,.cta-section{padding:4rem 1.5rem}}@media (max-width: 480px){.hero-section{min-height:100vh;padding:1rem 0}.hero-content{padding:1rem;gap:.75rem}.hero-logo{width:100px;height:100px;padding:1rem}.hero-title{font-size:2rem}.hero-subtitle-large{font-size:1.25rem}.hero-badge{font-size:.75rem;padding:.35rem .75rem}.hero-subtitle{font-size:.875rem;padding:0 1rem}.homepage .hero-actions .cta-button{font-size:.9rem;padding:.75rem 1.5rem}.trust-badges{gap:.5rem}.badge{font-size:.75rem;padding:.4rem .8rem}.features-grid{grid-template-columns:1fr;gap:1.5rem}.container{padding:0 1rem}.builder-container,.features-section,.process-section,.cta-section{padding:3rem 1rem}.feature-card{padding:1.5rem}.section-title{font-size:1.5rem}.section-subtitle{font-size:1rem}}@font-face{font-family:Roboto;src:url(/fonts/Roboto-Regular.ttf) format("truetype");font-weight:400}@font-face{font-family:Roboto;src:url(/fonts/Roboto-Medium.ttf) format("truetype");font-weight:500}.name-status-container{min-height:20px;margin-top:5px}.format-error-message{color:#e74c3c;font-size:.9em}@font-face{font-family:Roboto;src:url(/fonts/Roboto-Bold.ttf) format("truetype");font-weight:700}body{font-family:Roboto,system-ui,-apple-system,sans-serif;background:linear-gradient(135deg,#0a2463,#3e92cc,#1e5f8e);min-height:100vh;color:#fff}.app-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:1.5rem;overflow-y:auto}.header{text-align:center;margin-bottom:2rem;max-width:600px;animation:fadeIn .8s ease-out}.main-title{font-size:2.5rem;font-weight:700;margin-bottom:.75rem;background:linear-gradient(135deg,#fff,#e0e0e0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{font-size:1rem;line-height:1.5;opacity:.9}.builder-section{background:#fffffff2;border-radius:12px;padding:2rem;width:100%;max-width:600px;box-shadow:0 20px 40px #0003;animation:slideUp .6s ease-out}.builder-section.building{background:#fff;color:#333;border-radius:12px;padding:2rem;width:100%;max-width:600px;box-shadow:0 15px 30px #00000026;animation:slideUp .6s ease-out}.building-header h2{color:#1a1a1a}.spinner{border:3px solid #ddd;border-top-color:#3e92cc}.progress-item.completed{color:#2d8a3c}.checkmark{background:#34c759;color:#fff}.progress-item.pending{color:#666}.pending-icon{border-color:#999}.builder-form{display:flex;flex-direction:column;gap:1.5rem}.error-message{background:#fee;color:#c33;padding:.75rem;border-radius:6px;font-size:.875rem}.form-row{display:flex;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem;flex:1}.form-group label{color:#1a1a1a;font-weight:500;font-size:.875rem}.app-name-input,.app-description-input{padding:.75rem;border:2px solid #e0e0e0;border-radius:6px;font-size:.875rem;font-family:Roboto,sans-serif;transition:all .3s ease;color:#1a1a1a;background:#fff}.app-name-input:focus,.app-description-input:focus{outline:none;border-color:#3e92cc;box-shadow:0 0 0 3px #3e92cc1a}.app-description-input{resize:vertical;min-height:80px}.model-select-display{display:flex;justify-content:space-between;align-items:center;padding:.75rem;border:2px solid #e0e0e0;border-radius:6px;background:#fff;color:#1a1a1a;cursor:pointer;font-size:.875rem}.model-select-display .arrow{transition:transform .2s ease-in-out}.model-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 12px #0000001a;z-index:10;margin-top:4px;max-height:250px;display:flex;flex-direction:column}.model-search-input{padding:.75rem;border:none;border-bottom:1px solid #eee;font-size:.875rem;color:#1a1a1a}.model-search-input:focus{outline:none}.model-list{list-style:none;margin:0;padding:0;overflow-y:auto}.model-list li{padding:.75rem;color:#333;cursor:pointer;font-size:.875rem;transition:background-color .2s}.model-list li:hover{background-color:#f0f0f0}.model-list li.selected{background-color:#e0eafc;font-weight:500;color:#0a2463}.upload-area{border:2px dashed #e0e0e0;border-radius:6px;padding:1.5rem;text-align:center;cursor:pointer;transition:all .3s ease}.upload-area:hover{border-color:#3e92cc;background:#3e92cc0d}.file-input{display:none}.upload-label{display:flex;flex-direction:column;align-items:center;gap:.25rem;cursor:pointer;color:#666;font-size:.875rem}.upload-icon{font-size:1.5rem}.uploaded-images{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.uploaded-thumbnail{width:60px;height:60px;object-fit:cover;border-radius:4px;border:2px solid #e0e0e0}.building-container{color:#1a1a1a}.building-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.spinner{width:32px;height:32px;border:3px solid #e0e0e0;border-top-color:#3e92cc;border-radius:50%;animation:spin 1s linear infinite}.progress-list{display:flex;flex-direction:column;gap:.75rem}.progress-item{display:flex;align-items:center;gap:.75rem;font-size:.875rem;transition:all .3s ease}.progress-item.completed{color:#059669;animation:slideIn .5s ease-out}.checkmark{width:20px;height:20px;background:#059669;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px}.pending-icon{width:20px;height:20px;border:2px solid #e0e0e0;border-radius:50%;display:flex;align-items:center;justify-content:center}success-container{text-align:center;animation:fadeIn .8s ease-out;min-height:calc(100vh - 150px);display:flex;flex-direction:column;justify-content:center;align-items:center;padding-top:2rem;box-sizing:border-box}.estimated-price{font-size:.85rem;color:#666}.form-group label{display:flex;align-items:center}.label-note{font-size:.85rem;color:#666;font-weight:400}.success-icon{font-size:4rem;margin-bottom:1rem;animation:bounce .8s ease-out}.success-title{font-size:2.5rem;margin-bottom:.75rem}.success-subtitle{font-size:1.125rem;opacity:.9;margin-bottom:2rem}.success-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.primary-button,.secondary-button{padding:.875rem 1.5rem;font-size:.875rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all .3s ease;border:none;text-decoration:none;display:inline-block}.primary-button{background:#fff;color:#0a2463}.secondary-button{background:transparent;color:#fff;border:2px solid white}.primary-button:hover,.secondary-button:hover{transform:translateY(-2px);box-shadow:0 10px 20px #0003}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@media (max-width: 768px){.main-title{font-size:2rem}.builder-section{padding:1.5rem}}.interactive-box{border:2px dashed #e0e0e0;border-radius:6px;padding:1rem;text-align:center;cursor:pointer;transition:all .3s ease;min-height:150px;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#ffffffe6}.interactive-box:hover{border-color:#3e92cc;background:#3e92cc0d}.upload-label,.documentation-button{background:transparent;border:none;outline:none;cursor:pointer;padding:1rem;width:100%;min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.documentation-button .upload-icon{font-size:2rem;color:#e0a800;margin-bottom:.5rem}.documentation-button span{font-size:.9rem;color:#666}.upload-icon{font-size:2rem;color:#e0a800;margin-bottom:.5rem}.upload-label span,.documentation-button span{font-size:.9rem;color:#666}.uploaded-images{margin-top:12px;display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.uploaded-thumbnail{width:60px;height:60px;object-fit:cover;border-radius:4px;border:1px solid #ddd}.uploaded-doc-preview{margin-top:10px;padding:10px;background:#f8f9fa;border-radius:4px;border:1px solid #ddd;color:#333;font-size:.85rem;text-align:left;width:100%;overflow-y:auto;max-height:100px}.no-doc-added{color:#999;font-size:.85rem;margin-top:10px}.build-button{background:linear-gradient(135deg,#3e92cc,#1e5f8e);color:#fff;border:none;padding:1rem 1.5rem;font-size:1rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all .3s ease}.build-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #3e92cc4d}.build-button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.form-row{flex-direction:column}.interactive-box{min-height:120px;padding:.75rem}}.limit-warning{padding:.75rem;background-color:#ffefc4;border:1px solid #ffd085;color:#7a4d00;border-radius:4px;margin-top:1rem;text-align:center;font-size:.95rem}.limit-warning a{color:#d45b00;font-weight:700}.available-message{color:#2e7d32;font-weight:700}.checking-message,.available-message,.unavailable-message{font-size:14px;margin-top:6px;display:inline-block;font-weight:500}.checking-message{color:#555}.doc-added-confirmation,.available-message{color:#4caf50}.unavailable-message{color:#f44336}.upload-area.dragging{border-color:#007bff;background-color:#f0f8ff;box-shadow:0 0 10px #007bff80}.upload-label{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;cursor:pointer}.tooltip-container{position:relative;display:inline-block;margin-left:8px;cursor:pointer;vertical-align:middle}.info-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background-color:#888;color:#fff;font-size:12px;font-weight:700;font-style:italic;font-family:Times New Roman,Times,serif;line-height:18px;text-align:center;-webkit-user-select:none;user-select:none}.tooltip{visibility:hidden;opacity:0;width:280px;background-color:#2c2c2c;color:#fff;text-align:left;border-radius:8px;padding:12px 15px;position:absolute;z-index:10;bottom:140%;left:50%;transform:translate(-50%);transition:opacity .3s ease,visibility .3s ease;box-shadow:0 4px 12px #00000040;font-size:14px;line-height:1.5}.tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border-width:6px;border-style:solid;border-color:#2c2c2c transparent transparent transparent}.tooltip-container:hover .tooltip{visibility:visible;opacity:1}.tooltip p{margin:0 0 10px}.tooltip p:last-child{margin-bottom:0}.tooltip ul{list-style-type:disc;margin:0 0 10px 20px;padding:0}.tooltip li{margin-bottom:5px}@media (max-width: 600px){.tooltip{left:0;transform:translate(0);max-width:calc(100vw - 50px)}.tooltip:after{left:15px;transform:translate(0)}}.reference-url-input{padding:.75rem;border:2px solid #e0e0e0;border-radius:6px;font-size:.875rem;font-family:Roboto,sans-serif;transition:all .3s ease;color:#1a1a1a;background:#fff}.reference-url-input:focus{outline:none;border-color:#3e92cc;box-shadow:0 0 0 3px #3e92cc1a}.field-note{font-size:.85rem;color:#666;margin-top:.25rem;line-height:1.4;font-style:italic}.form-group .error-message{margin-top:.25rem;font-size:.875rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;justify-content:center;align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1000}.modal-content{background:#fff;border-radius:10px;width:90%;max-width:850px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 8px 20px #0003;overflow:hidden;animation:fadeScale .3s ease-in-out}.modal-header{background:linear-gradient(135deg,#3e92cc,#1e5f8e);color:#fff;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.modal-header h3{font-weight:500;font-size:1.3rem}.close-btn{background:transparent;border:none;color:#fff;font-size:1.6rem;cursor:pointer;transition:transform .2s ease}.close-btn:hover{transform:rotate(90deg)}.doc-body{padding:1.5rem;display:flex;flex-direction:column;flex-grow:1;overflow-y:auto}.section-label{font-size:.95rem;font-weight:500;margin-bottom:.5rem;color:#333}.doc-textarea{height:500px;resize:vertical;padding:1rem;font-size:.95rem;border:2px solid #ddd;border-radius:8px;transition:border-color .3s ease;font-family:monospace;line-height:1.5;overflow-y:auto}.doc-textarea:focus{outline:none;border-color:#3e92cc;box-shadow:0 0 0 3px #3e92cc33}.modal-buttons{padding:.75rem 1.5rem;border-top:1px solid #eee;display:flex;justify-content:flex-end;gap:.5rem;flex-shrink:0}.cancel-btn,.apply-btn{padding:.6rem 1.2rem;font-size:.95rem;border-radius:6px;cursor:pointer;transition:all .2s ease;border:none}.cancel-btn{background:#eee;color:#444}.cancel-btn:hover{background:#ddd}.apply-btn{background:#3e92cc;color:#fff}.apply-btn:hover{background:#347fb2}@keyframes fadeScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (max-width: 768px){.modal-content{width:98%;max-height:95vh}.doc-textarea{height:350px}}.menu-container{position:relative;margin-left:auto}.menu-button{background:transparent;border:none;color:#fff;font-size:20px;cursor:pointer}.menu-dropdown{position:absolute;top:28px;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 4px 10px #0000000d;padding:8px 0;z-index:1000;width:180px}.menu-item{padding:8px 16px;font-size:14px;cursor:pointer;transition:background .2s ease;color:#1f2937}.menu-item:hover{background:#f1f5f9}:root{--rt-color-white:#fff;--rt-color-dark:#222;--rt-color-success:#8dc572;--rt-color-error:#be6464;--rt-color-warning:#f0ad4e;--rt-color-info:#337ab7;--rt-opacity:.9;--rt-transition-show-delay:.15s;--rt-transition-closing-delay:.15s;--rt-arrow-size:8px}.core-styles-module_tooltip__3vRRp{left:0;opacity:0;pointer-events:none;position:absolute;top:0;will-change:opacity}.core-styles-module_fixed__pcSol{position:fixed}.core-styles-module_arrow__cvMwQ{background:inherit;position:absolute;z-index:-1}.core-styles-module_noArrow__xock6{display:none}.core-styles-module_clickable__ZuTTB{pointer-events:auto}.core-styles-module_show__Nt9eE{opacity:var(--rt-opacity);transition:opacity var(--rt-transition-show-delay) ease-out}.core-styles-module_closing__sGnxF{opacity:0;transition:opacity var(--rt-transition-closing-delay) ease-in}.styles-module_tooltip__mnnfp{border-radius:3px;font-size:90%;padding:8px 16px;width:max-content}.styles-module_arrow__K0L3T{height:var(--rt-arrow-size);width:var(--rt-arrow-size)}[class*=react-tooltip__place-top]>.styles-module_arrow__K0L3T{transform:rotate(45deg)}[class*=react-tooltip__place-right]>.styles-module_arrow__K0L3T{transform:rotate(135deg)}[class*=react-tooltip__place-bottom]>.styles-module_arrow__K0L3T{transform:rotate(225deg)}[class*=react-tooltip__place-left]>.styles-module_arrow__K0L3T{transform:rotate(315deg)}.styles-module_dark__xNqje{background:var(--rt-color-dark);color:var(--rt-color-white)}.styles-module_light__Z6W-X{background-color:var(--rt-color-white);color:var(--rt-color-dark)}.styles-module_success__A2AKt{background-color:var(--rt-color-success);color:var(--rt-color-white)}.styles-module_warning__SCK0X{background-color:var(--rt-color-warning);color:var(--rt-color-white)}.styles-module_error__JvumD{background-color:var(--rt-color-error);color:var(--rt-color-white)}.styles-module_info__BWdHW{background-color:var(--rt-color-info);color:var(--rt-color-white)}.message{display:flex;margin:10px 0;align-items:flex-end}.message.user{flex-direction:row-reverse}.message-bubble{max-width:70%;padding:10px 15px;border-radius:20px;word-wrap:break-word;line-height:1.5}.message.bot .message-bubble{background-color:#f0f0f0;color:#333;border-bottom-left-radius:5px}.message.user .message-bubble{background-color:#007bff;color:#fff;border-bottom-right-radius:5px}.message-time{font-size:.75rem;color:#999;margin:0 8px;white-space:nowrap}.message-bubble p{margin:0 0 10px}.message-bubble p:last-child{margin-bottom:0}.message-bubble a{color:inherit;text-decoration:underline}.message-bubble pre{margin:10px 0;padding:10px;border-radius:5px;overflow-x:auto}.message-bubble .inline-code{background-color:#00000014;padding:2px 4px;border-radius:3px;font-family:monospace}.env-form{position:relative;margin-top:16px!important;padding:20px!important;background:#00416a59!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;border-radius:10px!important;border:1px solid rgba(0,114,188,.4)!important;box-shadow:0 6px 15px #00000080!important;max-width:360px!important;margin-left:auto!important;margin-right:auto!important;font-family:Arial,sans-serif!important;color:#fff!important;transition:all .3s ease!important;overflow-y:auto!important}.env-form .env-partial-note,.env-form-complete .env-partial-note{font-size:.9em!important;color:#fff!important;margin-top:5px!important}.env-form .env-key-empty,.env-form-complete .env-key-empty{color:#ccc!important}.env-form-complete{background:linear-gradient(135deg,#0072bc4d,#00416a80)!important;border:1px solid #0072BC!important;padding:16px!important;animation:completeAnimation .4s ease!important}@keyframes completeAnimation{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.env-form-complete .env-complete-content{position:relative!important}.env-form-complete .env-complete-header{display:flex!important;align-items:center!important;gap:12px!important;margin-bottom:10px!important}.env-form-complete .env-complete-icon{font-size:28px!important;color:#0072bc!important;animation:checkPulse .5s ease!important}@keyframes checkPulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.env-form-complete .env-complete-text h3{margin:0!important;font-size:16px!important;font-weight:700!important;color:#fff!important}.env-form-complete .env-complete-text p{margin:4px 0 0!important;font-size:13px!important;color:#fff!important;opacity:1!important}.env-form-complete .env-update-button{width:100%!important;padding:12px!important;background-color:#003f75!important;border:none!important;color:#fff!important;font-size:14px!important;font-weight:600!important;border-radius:5px!important;cursor:pointer!important;transition:background-color .3s ease!important;margin-top:10px!important}.env-form-complete .env-update-button:hover{background-color:#002b55!important}.env-form .env-hide-button,.env-form-complete .env-hide-button-complete{position:absolute!important;top:12px!important;right:12px!important;width:28px!important;height:28px!important;border:none!important;background:#fff3!important;color:#fff!important;border-radius:5px!important;cursor:pointer!important;font-size:16px!important;display:flex!important;align-items:center!important;justify-content:center!important;transition:all .2s ease!important;z-index:10!important}.env-form-complete .env-hide-button-complete{background:#ffffff4d!important;-webkit-backdrop-filter:blur(4px)!important;backdrop-filter:blur(4px)!important}.env-form .env-hide-button:hover,.env-form-complete .env-hide-button-complete:hover{background:#fff6!important;color:#fff!important;transform:scale(1.1)!important}.env-form .env-fields{margin-bottom:16px!important}.env-form .env-input-group{margin-bottom:15px!important;transition:all .3s ease!important}.env-form .env-input-group label{display:flex!important;align-items:center!important;margin-bottom:8px!important;font-weight:600!important;color:#fff!important;font-size:14px!important;text-transform:uppercase!important;letter-spacing:.5px!important}.env-form .env-status-indicator{font-weight:400!important;font-size:12px!important;margin-left:8px!important;display:inline-flex!important;align-items:center!important}.env-form .env-status-indicator.set{color:#0072bc!important}.env-form .env-status-indicator.empty{color:#9ca3af!important}.env-form .env-status-indicator.empty svg{font-size:6px!important}.env-form .env-input-group input[type=password]{width:100%!important;padding:10px!important;border:1px solid #ccc!important;border-radius:5px!important;font-size:14px!important;transition:all .2s ease!important;background-color:#00416a8c!important;color:#fff!important;box-sizing:border-box!important}.env-form .env-input-group input.configured-input{border-color:#0072bc!important;background-color:#00416aa6!important}.env-form .env-input-group input:focus{outline:none!important;border-color:#0072bc!important;background-color:#0072bc80!important;box-shadow:0 0 0 3px #0072bc4d!important}.env-form .env-input-group input::placeholder{color:#bfdbfe!important}.env-form .env-save-button{width:100%!important;padding:12px!important;font-size:1rem!important;color:#fff!important;background-color:#003f75!important;border:none!important;border-radius:5px!important;cursor:pointer!important;transition:background-color .3s ease!important;box-shadow:0 2px 6px #005ea666!important}.env-form .env-save-button:hover:not(:disabled){background-color:#002b55!important;transform:translateY(-1px)!important;box-shadow:0 4px 12px #005ea680!important}.env-form .env-save-button:active:not(:disabled){transform:translateY(0)!important}.env-form .env-save-button:disabled{background:#cbd5e1!important;cursor:not-allowed!important;box-shadow:none!important;transform:none!important}.env-form .env-success-message{display:flex!important;align-items:center!important;gap:8px!important;padding:12px 16px!important;background-color:#bfdbfe4d!important;color:#fff!important;border-radius:5px!important;margin-top:16px!important;font-size:14px!important;font-weight:500!important;border:1px solid #0072BC!important}.env-form .env-success-animated{animation:successSlide .4s ease!important}@keyframes successSlide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 480px){.env-form{padding:15px!important;margin-left:16px!important;margin-right:16px!important}.env-form-complete{padding:12px!important}.env-form-complete .env-complete-header{flex-direction:column!important;text-align:center!important}.env-form .env-input-group input{padding:10px 12px!important;font-size:13px!important}.env-form .env-save-button{padding:12px 0!important;font-size:14px!important}}@media (prefers-color-scheme: dark){.env-form{background:#00416a73!important;border-color:#00416a!important}.env-form .env-input-group label{color:#fff!important}.env-form .env-input-group input{background-color:#00416aa6!important;border-color:#0072bc!important;color:#fff!important}.env-form .env-input-group input:focus{background-color:#00416abf!important}.env-form .env-hide-button,.env-form-complete .env-hide-button-complete{background:#00416a80!important;color:#fff!important}.env-form .env-hide-button:hover,.env-form-complete .env-hide-button-complete:hover{background:#00416ab3!important;color:#fff!important}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:999}.modal{background:#fff;padding:24px;border-radius:8px;width:340px;box-shadow:0 8px 24px #0003;color:#333}.modal h3{margin-bottom:16px;font-size:16px;color:#222}.modal-buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.modal-buttons button{padding:8px 12px;font-size:14px;border:none;border-radius:4px;cursor:pointer;color:#fff}.modal-buttons button:first-child{background:#aaa}.modal-buttons button:last-child{background:#667eea}.file-list{list-style:none;padding:10px;margin:10px 0;max-height:120px;overflow-y:auto;background:#f7f7fb;border:1px solid #ddd;border-radius:8px;font-size:14px}.file-list li{padding:6px 10px;border-bottom:1px solid #ddd;color:#333}.file-list li:last-child{border-bottom:none}.status-message{margin:15px 0;padding:12px 16px;border-radius:10px;font-weight:500;font-size:15px;display:flex;align-items:center;gap:10px;animation:fadeIn .3s ease-in-out}.status-message.success{background-color:#e6fff1;color:#247c52;border:1px solid #9de3c1}.status-message.error{background-color:#fff4f4;color:#c23b3b;border:1px solid #f3b2b2}.thumbnail-list{display:flex;flex-direction:column;gap:8px;margin-top:10px;max-height:150px;overflow-y:auto}.thumbnail-item{display:flex;align-items:center;gap:10px;background:#f7f7fb;padding:6px;border-radius:6px;border:1px solid #ddd}.thumbnail-img{width:40px;height:40px;object-fit:cover;border-radius:4px}.modal input[type=checkbox]{accent-color:#667eea;width:16px;height:16px;cursor:pointer}.modal label,.modal span{color:#333}.modal-backdrop.fade-out{animation:fadeOutBackdrop .5s forwards}@keyframes fadeOutBackdrop{to{opacity:0}}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.progress-bar{width:100%;height:20px;background-color:#f0f0f0;border-radius:10px;overflow:hidden;margin:10px 0}.progress-fill{height:100%;background-color:#4caf50;transition:width .3s ease}.modal-content.doc-modal{width:98vw;height:95vh;max-width:none;max-height:none;background:#fff;border-radius:0;box-shadow:none;display:flex;flex-direction:column;overflow:hidden;padding:0}.doc-body{display:flex;flex:1;gap:16px;padding:20px 24px;height:100%;overflow:hidden}.editor-pane,.preview-pane{flex:1;display:flex;flex-direction:column;height:100%}.section-label{font-weight:600;margin-bottom:6px;display:flex;align-items:center;gap:6px}.doc-textarea{flex:1;resize:none;padding:12px;font-size:14px;border:1px solid #d1d5db;border-radius:8px;background:#f9fafb;font-family:monospace;color:#111827}.doc-preview{flex:1;padding:12px;background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;overflow-y:auto;font-size:14px;line-height:1.6;color:#1f2937}.modal-buttons{display:flex;gap:10px;padding:20px 24px;border-top:1px solid #e5e7eb;flex-shrink:0}.cancel-btn,.apply-btn{flex:1;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.cancel-btn{background:#f3f4f6;color:#374151}.cancel-btn:hover{background:#e5e7eb}.apply-btn{background:#6366f1;color:#fff}.apply-btn:disabled{background:#cbd5e1;cursor:not-allowed;color:#9ca3af}.doc-preview ul,.doc-preview ol{padding-left:1.5em;margin:.5em 0}.doc-preview li{list-style:disc;margin-bottom:.25em}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0000004d;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content.doc-modal.wide-modal{background:#fff;border-radius:10px;width:90%;max-width:1000px;box-shadow:0 10px 30px #0000004d;overflow:hidden;display:flex;flex-direction:column}.modal-header{background:linear-gradient(135deg,#0a3d62,#125485);color:#fff;padding:15px 20px;display:flex;justify-content:space-between;align-items:center;position:relative}.modal-header h3{margin:0;color:#fff}.close-btn{background-color:#fff3;border:none;color:#fff;font-size:18px;cursor:pointer;transition:all .2s ease;position:absolute;top:10px;right:10px;width:32px;height:32px;display:flex;justify-content:center;align-items:center;border-radius:50%}.close-btn:hover{background-color:#fff6;transform:scale(1.1)}.file-sidebar{flex:0 0 280px;overflow-y:auto;border-right:1px solid #e0e7ff;background-color:#f9fafb;padding:10px;max-height:70vh}.file-list-editor{flex:1;overflow-y:auto;padding:0;margin:0;list-style:none}.file-item-editor{padding:8px 12px;cursor:pointer;border-radius:4px;word-break:break-all;color:#333;transition:background-color .3s ease,color .3s ease}.file-item-editor.selected,.file-item-editor:hover{background-color:#007bff;color:#fff}.editor-container{flex:1;padding:10px;background-color:#1e1e1e;color:#fff}.editor-container label.section-label{color:#fff;margin-bottom:10px;display:block}.error-box{padding:10px;color:#b91c1c;font-weight:500}.responsive-flex{display:flex;flex-direction:row;height:70vh}.modal-buttons{padding:15px;display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #eee}.apply-btn{padding:10px 20px;background-color:#3e92cc;border:none;border-radius:6px;color:#fff;cursor:pointer;transition:background-color .3s ease}.apply-btn:hover{background-color:#2c76aa}.cancel-btn{padding:10px 20px;background-color:#ddd;border:none;border-radius:6px;color:#333;cursor:pointer;transition:background-color .3s ease}.cancel-btn:hover{background-color:#bbb}@media (max-width: 768px){.responsive-flex{flex-direction:column;height:auto}.file-sidebar{border-right:none;border-bottom:1px solid #e0e7ff;flex:none;max-height:300px}.editor-container{flex:1;padding-top:10px}.desktop-only{display:none}.mobile-only{display:block}}.clone-success-link{margin-top:15px;text-align:center}.clone-success-link a{color:#fff;background-color:#4caf50;padding:10px 20px;border-radius:4px;text-decoration:none;font-weight:700;transition:background-color .3s;display:inline-block}.clone-success-link a:hover{background-color:#43a047}.desktop-only{display:block}.mobile-only{display:none}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;overflow-y:auto}.modal-content.clone-modal{background:#fff;width:480px;max-width:90vw;max-height:90vh;border-radius:12px;box-shadow:0 10px 30px #0003;overflow:auto;display:flex;flex-direction:column}.modal-header{padding:20px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e5e7eb;flex-shrink:0}.modal-header h3{margin:0;font-size:18px;font-weight:600}.close-btn{font-size:20px;background:none;border:none;cursor:pointer;color:#6b7280;transition:color .2s}.close-btn:hover{color:#374151}.tab-navigation{display:flex;border-bottom:1px solid #e5e7eb;background:#f9fafb}.tab-button{flex:1;padding:12px 16px;background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:14px;font-weight:500;color:#6b7280;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:6px}.tab-button:hover:not(:disabled){background:#f3f4f6;color:#374151}.tab-button.active{color:#6366f1;border-bottom-color:#6366f1;background:#fff}.tab-button:disabled{cursor:not-allowed;opacity:.5}.info-message{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:12px;font-size:13px;line-height:1.5;color:#1e40af}.info-message strong{color:#1d4ed8}.clone-body{padding:20px 24px;display:flex;flex-direction:column;gap:12px;overflow-y:auto;flex-grow:1}.section-label{font-weight:600;font-size:14px;margin-bottom:4px;display:block}.clone-input{padding:10px 12px;font-size:14px;border:1px solid #d1d5db;border-radius:8px;outline:none;background:#f9fafb;width:100%;box-sizing:border-box;transition:border-color .2s}.clone-input:focus{border-color:#6366f1;background:#fff}.clone-input:disabled{background:#e5e7eb;cursor:not-allowed}.clone-input[rows]{min-height:80px;resize:vertical;font-family:inherit}.clone-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:10px 12px;border-radius:8px;font-size:13px}.clone-status{color:#047857;font-size:14px;font-weight:500;margin-top:8px;display:flex;align-items:center;gap:6px}.checking-message{font-size:12px;color:#6b7280;margin-top:4px;display:inline-block}.available-message{font-size:12px;color:#047857;margin-top:4px;display:inline-block}.unavailable-message{font-size:12px;color:#dc2626;margin-top:4px;display:inline-block}.model-select-container{position:relative}.model-select-display{padding:10px 12px;font-size:14px;border:1px solid #d1d5db;border-radius:8px;background:#f9fafb;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:all .2s}.model-select-display:hover{border-color:#6366f1;background:#fff}.model-select-display .arrow{font-size:12px;color:#6b7280;transition:transform .2s}.model-select-display .arrow.up{transform:rotate(180deg)}.model-dropdown{position:absolute;top:calc(100% + 4px);left:0;width:100%;background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 4px 12px #0000001a;max-height:200px;overflow-y:auto;z-index:10}.model-search-input{width:100%;padding:8px 12px;border:none;border-bottom:1px solid #e5e7eb;outline:none;box-sizing:border-box;font-size:14px}.model-list{list-style:none;margin:0;padding:0}.model-list li{padding:10px 12px;cursor:pointer;transition:background .2s;font-size:14px}.model-list li:hover{background:#f3f4f6}.model-list li.selected{background:#e0e7ff;font-weight:600}.upload-area{border:2px dashed #d1d5db;border-radius:8px;padding:20px;text-align:center;cursor:pointer;transition:all .2s;background:#f9fafb}.upload-area:hover{border-color:#9ca3af;background:#fff}.upload-area.dragging{border-color:#6366f1;background:#eff6ff}.upload-label{display:flex;flex-direction:column;align-items:center;gap:4px;color:#6b7280;cursor:pointer}.upload-icon{font-size:24px}.uploaded-images{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;justify-content:center}.uploaded-thumbnail{width:80px;height:80px;border-radius:4px;object-fit:cover;border:2px solid #e5e7eb}.clear-button{margin-top:8px;padding:6px 12px;background:#f3f4f6;border:none;border-radius:6px;cursor:pointer;font-size:12px;color:#374151;transition:background .2s}.clear-button:hover{background:#e5e7eb}.modal-buttons{padding:16px 24px;display:flex;gap:10px;border-top:1px solid #e5e7eb;flex-shrink:0}.cancel-btn,.apply-btn{flex:1;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.cancel-btn{background:#f3f4f6;border:none;color:#374151}.cancel-btn:hover:not(:disabled){background:#e5e7eb}.apply-btn{background:#6366f1;color:#fff;border:none}.apply-btn:hover:not(:disabled){background:#4f46e5}.apply-btn:disabled,.cancel-btn:disabled{background:#cbd5e1;cursor:not-allowed;color:#94a3b8}.derivative-prompt{padding:1rem 0}.derivative-benefits{background:#f8f9fa;border-radius:8px;padding:1.5rem;margin:1.5rem 0}.derivative-benefits h4{margin:0 0 1rem;color:#333;font-size:16px}.derivative-benefits ul{margin:0;padding-left:1.5rem}.derivative-benefits li{margin:.5rem 0;color:#666;line-height:1.5}.derivative-benefits li strong{color:#333}.derivative-note{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:12px;margin:1rem 0}.derivative-note p{margin:0;color:#856404;font-size:13px;line-height:1.5}.navigate-button{width:100%;padding:1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:1rem;display:flex;align-items:center;justify-content:center;gap:8px}.navigate-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.navigate-button .arrow{font-size:18px}.navigate-button .new-tab-icon{font-size:16px;opacity:.9}.new-tab-hint{font-size:12px;color:#6b7280;text-align:center;margin-top:8px;margin-bottom:0}@media (max-width: 480px){.modal-overlay{padding:0}.modal-content.clone-modal{width:100%;max-width:none;max-height:100vh;border-radius:0;margin:0}.modal-header{padding:16px}.modal-header h3{font-size:16px}.clone-body,.modal-buttons{padding:16px}.tab-button{font-size:13px;padding:10px 8px}.derivative-prompt{padding:0}.info-message,.info-message.derivative-info{font-size:12px;padding:10px}.derivative-benefits{padding:1rem;margin:1rem 0}.derivative-benefits h4{font-size:14px;margin-bottom:.75rem}.derivative-benefits ul{padding-left:1rem}.derivative-benefits li{font-size:13px;margin:.4rem 0;line-height:1.4}.derivative-benefits li strong{display:inline}.derivative-note{padding:10px;margin:.75rem 0}.derivative-note p{font-size:12px;line-height:1.4}.navigate-button{padding:.875rem;font-size:14px;margin-top:.75rem;gap:6px}.navigate-button .arrow{font-size:16px}.navigate-button .new-tab-icon{font-size:14px;margin-left:4px}.new-tab-hint{font-size:11px;margin-top:6px}.clone-input{font-size:14px;padding:8px 10px}.section-label{font-size:13px}.checking-message,.available-message,.unavailable-message{font-size:11px}}@media (max-width: 360px){.tab-button{font-size:12px;padding:10px 6px}.derivative-benefits h4{font-size:13px}.derivative-benefits li{font-size:12px}.navigate-button{font-size:13px;padding:.75rem}.modal-header h3{font-size:15px}.close-btn{font-size:18px}}@media (max-height: 600px) and (max-width: 480px){.modal-content.clone-modal{max-height:100vh}.derivative-benefits{padding:.75rem;margin:.75rem 0}.derivative-benefits h4{margin-bottom:.5rem}.derivative-benefits li{margin:.3rem 0}.navigate-button{padding:.75rem;margin-top:.5rem}}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0a1929b3;display:flex;align-items:center;justify-content:center;z-index:1050;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);padding:10px}.modal-content{background:#fff;border-radius:16px;box-shadow:0 10px 30px #0003;width:90%;max-width:700px;max-height:90vh;overflow-y:auto;position:relative;border:1px solid rgba(255,255,255,.1)}.step-container{padding:30px 40px;min-height:500px;display:flex;flex-direction:column}.step-icon{font-size:48px;margin-bottom:15px;text-align:center}.step-title{font-size:24px;font-weight:600;margin-bottom:20px;color:#1a202c;text-align:center}.step-content{font-size:16px;line-height:1.6;color:#4a5568;max-width:500px;margin:0 auto 25px;text-align:center}.step-content p{margin-bottom:12px}.info-step{text-align:center;justify-content:center}.logo-container{width:60px;height:60px;margin:20px auto 0}.logo-image{width:100%;height:100%;border-radius:50%;object-fit:cover;box-shadow:0 4px 10px #0003}.setup-step{text-align:center}.step-header{display:flex;align-items:center;justify-content:center;gap:15px;margin-bottom:20px}.step-header h2{margin:0;font-size:20px;color:#2d3748}.spinner{width:24px;height:24px;border:3px solid rgba(0,123,255,.2);border-left-color:#007bff;border-radius:50%;animation:spin 1s linear infinite}.setup-info{background:#f8fafc;border-radius:8px;padding:1rem;margin-bottom:2rem}.setup-info p{margin:.5rem 0;font-size:.95rem;color:#4a5568}.setup-progress{flex:1}.setup-progress h3{margin:0 0 1rem;color:#374151;text-align:left}.build-step{text-align:center}.build-info .env-form-container{margin-top:30px;padding-top:20px;border-top:1px solid #e5e7eb}.build-info{background:#f8fafc;border-radius:8px;padding:1rem;margin-bottom:2rem}.build-info p{margin:.5rem 0;font-size:.95rem;color:#4a5568}.status-indicator{font-weight:600}.status-badge{background:#3b82f6;color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;text-transform:capitalize}.build-logs{flex:1;display:flex;flex-direction:column}.build-logs h3{margin:0 0 1rem;color:#374151;text-align:left}.progress-list{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;max-height:400px;overflow-y:auto}.progress-item{display:flex;align-items:center;margin-bottom:1rem;color:#9ca3af;transition:all .3s ease}.progress-item:last-child{margin-bottom:0}.progress-item.completed{color:#374151}.progress-icon{width:24px;height:24px;margin-right:12px;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.progress-item.completed .progress-icon{background-color:#10b981;border-radius:50%}.checkmark{color:#fff;font-weight:700;font-size:14px}.pending-icon{width:24px;height:24px;background-color:#e5e7eb;border-radius:50%;border:2px solid #d1d5db}.progress-text{font-size:14px;font-weight:500}.messages-list{flex:1;overflow-y:auto;max-height:350px;border:1px solid #e5e7eb;border-radius:8px;padding:1rem;background:#fff;text-align:left}.build-message{margin-bottom:1rem;padding:.75rem;background:#f9fafb;border-radius:6px;border-left:3px solid #3b82f6}.message-time{font-size:.75rem;color:#6b7280;margin-bottom:.25rem}.message-content{color:#374151;line-height:1.5}.placeholder-message{text-align:center;color:#6b7280;padding:2rem}.loading-dots{display:inline-flex;gap:.25rem;margin-bottom:1rem}.loading-dots span{width:8px;height:8px;background:#3b82f6;border-radius:50%;animation:bounce 1.4s infinite ease-in-out both}.loading-dots span:nth-child(1){animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.success-step,.error-step{text-align:center;padding:40px 20px;min-height:auto}.success-icon,.error-icon{display:none}.success-title,.error-title{font-size:24px;font-weight:600;margin-bottom:20px;color:#1a202c}.success-text,.error-text{text-align:left;margin:1.5rem auto;max-width:500px}.success-text p,.error-text p{margin:.75rem 0;line-height:1.5;color:#4a5568;font-size:14px}.success-text strong{color:#2d3748}.error-details{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:1rem;color:#dc2626;font-family:monospace;font-size:.9rem;text-align:left;max-width:500px;margin:1rem auto}.success-actions,.error-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:2rem;padding:0 20px 20px}.action-button{padding:12px 24px;border-radius:8px;border:none;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease-in-out;text-decoration:none;display:inline-block;min-width:140px;text-align:center}.primary-button{background-color:#2563eb;color:#fff;border:2px solid #2563eb}.primary-button:hover{background-color:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb40}.modal-content .secondary-button{background-color:#f3f4f6!important;color:#374151!important;border:2px solid #d1d5db!important}.modal-content .secondary-button:hover{background-color:#e5e7eb!important;border-color:#9ca3af!important}.link{color:#2b6cb0;text-decoration:underline}.link:hover{color:#2c5282}.tabs-container{margin-top:20px}.tabs-header{display:flex;gap:10px;border-bottom:2px solid #e0e0e0;margin-bottom:20px}.tab-button{padding:10px 20px;background:none;border:none;cursor:pointer;font-size:16px;color:#666;border-bottom:3px solid transparent;transition:all .3s ease}.tab-button:hover{color:#333}.tab-button.active{color:#4caf50;border-bottom-color:#4caf50}.tabs-content{min-height:400px}.video-guide{padding:20px}.video-container{border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a;margin-bottom:20px}.video-description{background:#f5f5f5;padding:20px;border-radius:8px}.video-description h3{margin-top:0;color:#333}.video-description ul{list-style:none;padding:0}.video-description li{padding:8px 0;color:#666}@media (max-width: 768px){.modal-backdrop{padding:0}.modal-content{width:100%;height:100%;max-height:100vh;border-radius:0;display:flex;flex-direction:column;overflow-y:auto;padding-top:env(safe-area-inset-top,0)}.step-container{padding:40px 20px 20px;flex:1;overflow-y:auto;display:flex;flex-direction:column;min-height:auto}.info-step{min-height:auto;padding:50px 20px 20px;justify-content:flex-start}.step-title{font-size:20px;margin-bottom:16px;margin-top:10px}.step-content{margin:0 auto 20px;padding:0 10px}.step-content p{font-size:14px;margin-bottom:10px}.logo-container{width:50px;height:50px;margin:15px auto 20px}.setup-step,.build-step{padding-top:50px}.setup-info p,.build-info p{font-size:13px}.progress-list{max-height:250px;padding:1rem}.messages-list{max-height:200px}.success-step,.error-step{padding:50px 20px 30px;justify-content:space-between;flex:1}.step-header{flex-direction:column}.success-title,.error-title{font-size:20px;margin-bottom:16px}.success-text p,.error-text p{font-size:14px;margin:.5rem 0}.success-actions,.error-actions{flex-direction:column;padding:20px;margin-top:auto}.action-button{width:100%;padding:14px;font-size:16px}.secondary-button{background-color:#f3f4f6;color:#111827;border:2px solid #9ca3af}.tabs-container{margin-top:15px}.tab-button{padding:8px 15px;font-size:14px}.tabs-content{min-height:300px}}.messages-list::-webkit-scrollbar,.progress-list::-webkit-scrollbar,.modal-content::-webkit-scrollbar{width:6px}.messages-list::-webkit-scrollbar-track,.progress-list::-webkit-scrollbar-track,.modal-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.messages-list::-webkit-scrollbar-thumb,.progress-list::-webkit-scrollbar-thumb,.modal-content::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.messages-list::-webkit-scrollbar-thumb:hover,.progress-list::-webkit-scrollbar-thumb:hover,.modal-content::-webkit-scrollbar-thumb:hover{background:#9ca3af}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:none;display:flex;align-items:center;justify-content:center;z-index:1000;padding:0}.modal-content.log-modal{width:98vw;height:95vh;background:#fff;max-width:none;border-radius:0;box-shadow:none;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.modal-header h3{font-size:18px;font-weight:600}.close-btn{font-size:20px;background:none;border:none;cursor:pointer;color:#6b7280}.close-btn:hover{color:#111827}.log-body{display:flex;gap:16px;flex:1;padding:20px 24px;overflow:hidden}.log-section{flex:1;display:flex;flex-direction:column;background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;padding:12px;height:100%;overflow:hidden}.log-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.section-label{font-weight:600;color:#374151}.log-controls{display:flex;gap:8px;align-items:center}.icon{width:16px;height:16px;color:#6b7280}.icon:hover{color:#111827}.log-container{flex:1;overflow:auto;background:#fff;padding:10px;border-radius:6px;border:1px solid #e5e7eb}.log-content{white-space:pre-wrap;font-family:monospace;font-size:13px;color:#1f2937;line-height:1.5}.log-action-buttons{display:flex;align-items:center;gap:8px}.log-button{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;font-size:13px;background-color:#f9fafb;color:#374151;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;transition:all .2s ease}.log-button:hover{background-color:#f3f4f6;color:#111827;border-color:#cbd5e1}.log-button:active{transform:scale(.97);background-color:#e5e7eb}.log-button svg{width:16px;height:16px}.log-copied-flash{font-size:12px;color:#10b981;margin-left:8px}.spin{animation:spin 1s linear infinite}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow:hidden}.auth-prompt,.non-owner-prompt,.loading{text-align:center;margin-top:50px;padding:20px;font-size:16px}.auth-prompt button,.non-owner-prompt button{margin-top:15px;padding:10px 20px;cursor:pointer}.collab-status{margin-top:10px;padding:10px;border-radius:4px;font-weight:700}.collab-status.success{background-color:#d4edda;color:#155724}.collab-status.error{background-color:#f8d7da;color:#721c24}.verification-prompt{text-align:center;padding:20px;border:1px solid #ccc;border-radius:8px;max-width:400px;margin:20px auto}.verification-status.success{color:green;margin:10px 0}.verification-status.error{color:red;margin:10px 0}.chat-widget{display:flex;flex-direction:column;height:100vh;background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000001a;overflow:hidden}.chat-header{background:linear-gradient(135deg,#004280,#06c);padding:16px 20px;color:#fff;border-radius:12px 12px 0 0;position:relative;display:flex;justify-content:space-between;align-items:center}.header-info{display:flex;align-items:center;gap:8px;font-weight:500;font-size:14px}.status-indicator{width:8px;height:8px;border-radius:50%;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.menu-button{background:transparent;border:none;color:#fff;font-size:20px;cursor:pointer;padding:4px}.dropdown-menu{position:absolute;top:56px;right:20px;background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 20px #0000001a;z-index:1000;min-width:160px;overflow:hidden}.dropdown-menu button{width:100%;background:none;border:none;text-align:left;padding:12px 16px;font-size:14px;color:#374151;cursor:pointer;display:flex;align-items:center;gap:8px}.dropdown-menu button:hover{background:#f3f4f6}.messages-container{flex:1;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;background:#f8fafc}.messages-container::-webkit-scrollbar{width:4px}.messages-container::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}.message{display:flex;flex-direction:column;max-width:80%;animation:slideIn .3s ease-out}.message.user{align-self:flex-end;align-items:flex-end}.message.bot{align-self:flex-start;align-items:flex-start}.message-bubble{padding:12px 16px;border-radius:18px;font-size:14px;line-height:1.4;word-wrap:break-word;white-space:pre-wrap;max-width:100%}.message.user .message-bubble{background:linear-gradient(135deg,#004280,#06c);color:#fff;border-bottom-right-radius:4px}.message.bot .message-bubble{background:#fff;color:#374151;border:1px solid #e5e7eb;border-bottom-left-radius:4px}.message-bubble pre{max-width:100%;overflow-x:auto;white-space:pre-wrap;word-wrap:break-word;background-color:#f4f4f4;padding:8px 12px;border-radius:6px;margin-top:8px}.message-bubble code{background-color:#eef3f8;padding:2px 4px;border-radius:4px;white-space:pre-wrap;word-wrap:break-word}.typing{background:#fff;border:1px solid #e5e7eb;padding:16px}.typing-indicator{display:flex;gap:4px}.typing-indicator span{width:6px;height:6px;background:#9ca3af;border-radius:50%;animation:typing 1.4s infinite}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-10px);opacity:1}}.input-container{display:flex;padding:16px 20px;background:#fff;border-top:1px solid #e5e7eb;gap:12px;align-items:flex-end}.input-container textarea{flex:1;border:1px solid #d1d5db;border-radius:20px;padding:12px 16px;resize:none}.send-button{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#004280,#06c);color:#fff;cursor:pointer}@media (max-width: 400px){.chat-header{padding:12px 16px}.messages-container{padding:16px}.input-container{padding:12px 16px}.message{max-width:90%}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease;overflow:hidden}.auth-modal-content{background:#fff;color:#1a1a1a;padding:0;border-radius:12px;position:relative;width:90%;max-width:400px;box-shadow:0 10px 30px #0003;animation:slideUp .4s ease-out;display:flex;flex-direction:column;max-height:90vh;overflow:hidden}.modal-header{position:relative;padding:1rem 1.5rem;background-color:#1f689c;color:#fff;text-align:center;flex-shrink:0}.modal-header .modal-title{margin:0;font-size:1.25rem;color:#fff!important}.close-button{position:absolute;top:15px;right:15px;background:none;border:none;font-size:1.5rem;color:#fff;cursor:pointer;transition:opacity .2s;width:auto;padding:0}.close-button:hover{opacity:.8}.modal-body{padding:1.5rem;flex-grow:1;display:flex;flex-direction:column;overflow:hidden}.modal-body-wrapper{flex-grow:1;overflow-y:auto;max-height:calc(90vh - 200px);overscroll-behavior:contain;padding-right:.5rem}.modal-footer{padding:1rem 1.5rem;background:#f7f7f7;border-top:1px solid #e0e0e0;text-align:center;font-size:.875rem;border-bottom-left-radius:12px;border-bottom-right-radius:12px;flex-shrink:0}.form-group-modal{margin-bottom:1rem}.form-group-modal label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem;color:#555}.form-group-modal input{width:100%;padding:.75rem;border-radius:6px;border:1px solid #ccc;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-group-modal input:focus{outline:none;border-color:#3e92cc;box-shadow:0 0 0 3px #3e92cc33}.auth-submit-button{width:100%;padding:.875rem;background:#1e5f8e;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .3s,transform .2s;margin-bottom:.5rem}.auth-submit-button:hover:not(:disabled){background-color:#3e92cc;transform:translateY(-2px)}.auth-submit-button:disabled{background-color:#999;cursor:not-allowed}.switch-auth-button{background:none;border:none;color:#1e5f8e;cursor:pointer;margin-left:5px;font-weight:600}.auth-error-message{color:#c0392b;background-color:#fbeae5;border:1px solid #e74c3c;padding:.75rem;border-radius:6px;margin-bottom:1rem;font-size:.875rem;text-align:center}.success-message{color:#27ae60;background-color:#e8f5e9;border:1px solid #2ecc71;padding:.75rem;border-radius:6px;margin-bottom:1rem;font-size:.875rem;text-align:center}.verification-info{font-size:1rem;margin-bottom:1rem;text-align:center;color:#333}.verification-explanation{font-size:.875rem;margin-bottom:1.5rem;text-align:center;color:#555;background:#f0f8ff;padding:1rem;border-radius:8px;border:1px solid #d1e8ff}.button-secondary{width:100%;padding:.875rem;background:#e0e0e0;color:#333;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .3s,transform .2s}.button-secondary:hover{background-color:#ccc;transform:translateY(-2px)}.resend-button{display:flex;align-items:center;justify-content:center;gap:.5rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.app-card{background:linear-gradient(135deg,#fff,#f8fafc);padding:24px;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;margin-bottom:24px;max-width:420px;border:1px solid rgba(0,0,0,.05)}.app-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px -3px #0000001a,0 4px 6px -2px #0000000d}.card-header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #e2e8f0;padding-bottom:16px;margin-bottom:20px}.card-title{font-size:1.5rem;font-weight:700;margin:0;color:#1a202c;letter-spacing:-.025em}.status-badge{padding:6px 12px;border-radius:24px;font-size:.75rem;font-weight:700;color:#fff;letter-spacing:.5px;text-transform:uppercase;box-shadow:0 2px 4px #0000001a}.status-success,.status-running{background:linear-gradient(135deg,#10b981,#059669)}.status-running-with-warnings{background:linear-gradient(135deg,#f59e0b,#d97706)}.status-shut-down{background:linear-gradient(135deg,#64748b,#475569)}.status-pending{background:linear-gradient(135deg,#f59e0b,#d97706)}.status-failed{background:linear-gradient(135deg,#ef4444,#dc2626)}.card-body{margin-bottom:24px}.card-description{font-size:1rem;color:#4a5568;line-height:1.6;margin-bottom:16px}.card-dates{display:flex;flex-direction:column;gap:8px}.date-item{display:flex;justify-content:space-between;align-items:center}.date-label{font-weight:600;color:#718096;font-size:.875rem}.date-value{color:#2d3748;font-size:.875rem}.card-footer{border-top:1px solid #e2e8f0;padding-top:20px}.button-group{display:flex;flex-direction:column;gap:12px;width:100%}.btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 20px;font-size:.925rem;font-weight:600;color:#fff;text-decoration:none;border-radius:12px;border:none;cursor:pointer;transition:all .2s ease;min-height:48px;box-shadow:0 2px 4px #0000001a;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.btn:hover:before{left:100%}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb)}.btn-primary:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626)}.btn-danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px);box-shadow:0 4px 12px #ef444466}.btn-success{background:linear-gradient(135deg,#10b981,#059669)}.btn-success:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px);box-shadow:0 4px 12px #10b98166}.btn-secondary{background:linear-gradient(135deg,#64748b,#475569)}.btn-secondary:hover{background:linear-gradient(135deg,#475569,#334155);transform:translateY(-1px);box-shadow:0 4px 12px #64748b66}.btn-disabled{background:linear-gradient(135deg,#9ca3af,#6b7280);cursor:not-allowed;opacity:.7}.btn:disabled{cursor:not-allowed;opacity:.7;transform:none!important;box-shadow:0 2px 4px #0000001a!important}.btn-small{padding:8px 16px;font-size:.85rem;min-height:36px}.btn span{font-weight:600;letter-spacing:.025em}.shutdown-info{display:flex;align-items:center;justify-content:space-between;background-color:#e6fbf4;color:#065f46;padding:.75rem 1rem;border-radius:8px;font-size:.85rem;font-weight:500;margin-top:1rem;border:1px solid #a7f3d0;position:relative}.shutdown-info strong{font-weight:700;color:#047857}.shutdown-soon{background-color:#fef3c7;color:#92400e;border-color:#fcd34d}.shutdown-soon strong{color:#b45309}.shutdown-time{display:flex;align-items:center;gap:.5rem;flex:1}.warning-icon-inline{color:#f59e0b;margin-left:.5rem}.btn-change-time{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:50%;color:#fff;width:32px;height:32px;cursor:pointer;font-size:.75rem;transition:all .2s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #10b98133;flex-shrink:0}.btn-change-time:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px) scale(1.05);box-shadow:0 4px 8px #10b9814d}.btn-change-time:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.change-time-section{background-color:#f8fafc;border:1px solid #a7f3d0;border-radius:8px;padding:1rem;margin-top:1rem}.change-time-header{display:flex;align-items:center;gap:.5rem;font-weight:600;color:#047857;margin-bottom:.75rem;font-size:.9rem}.preset-buttons{display:flex;gap:.5rem;margin-bottom:1rem}.preset-btn{flex:1;padding:.4rem;font-size:.8rem;font-weight:600;border-radius:6px;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}.preset-btn.preset-inc{border:1px solid #a7f3d0;background-color:#fff;color:#047857}.preset-btn.preset-inc:hover{background-color:#e6fbf4}.preset-btn.preset-dec{border:1px solid #fecaca;background-color:#fff;color:#b91c1c}.preset-btn.preset-dec:hover{background-color:#fee2e2}.preset-btn:disabled{opacity:.5;cursor:not-allowed;background-color:#f3f4f6}.datetime-input{width:100%;padding:.5rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;margin-bottom:.5rem;background-color:#fff;color:#374151}.datetime-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.max-date-info{display:block;color:#6b7280;font-size:.75rem;margin-bottom:.75rem}.cost-display{display:flex;justify-content:space-between;background-color:#f3f4f6;padding:.5rem;border-radius:4px;margin-bottom:.75rem;font-size:.8rem}.cost-display strong{font-weight:600}.insufficient-credits{display:flex;align-items:center;gap:.5rem;background-color:#fee2e2;color:#dc2626;padding:.5rem;border-radius:4px;font-size:.8rem;margin-bottom:.75rem}.change-time-controls{display:flex;gap:.5rem}.change-time-controls .btn{flex:1}.collaboration-section{margin-top:1rem;border-top:1px solid #e2e8f0;padding-top:1rem}.collaboration-content{background-color:#f8fafc;border-radius:8px;padding:1rem;margin-top:.5rem}.requests-list,.collaborators-list{list-style:none;padding:0;margin:0}.request-item,.collaborator-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #e2e8f0}.request-item:last-child,.collaborator-item:last-child{border-bottom:none}.request-details,.collaborator-details{font-size:.875rem;color:#4a5568}.request-actions{display:flex;gap:.5rem}.btn-revert-compact{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background-color:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s}.btn-revert-compact:hover:not(:disabled){background-color:#5a6268}.btn-revert-compact:disabled{opacity:.6;cursor:not-allowed}.btn-revert-compact svg{font-size:1rem}:root{--gray-600: #99a2ad;--gray-700: #7f8895}.page-container{position:relative;max-width:1200px;margin:2rem auto;padding:0 2rem;color:#fff}.page-title{font-size:2.25rem;font-weight:700;margin:0;text-align:left}.usage-row{display:flex;justify-content:flex-end;margin:.25rem 0 1.25rem}.usage-text{font-size:.875rem;color:var(--gray-600);cursor:pointer}.usage-text:hover{text-decoration:underline}.loading-spinner{width:50px;height:50px;border:5px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite;margin:6rem auto}.apps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.empty-state{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:3rem;text-align:center;max-width:480px;margin:0 auto}.empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.8}.empty-state h2{font-size:1.8rem;margin-bottom:.5rem}.empty-state p{color:#d0d0d0;margin-bottom:1.75rem}.primary-btn{display:inline-block;background:#fff;color:#1e5f8e;padding:.75rem 1.75rem;border-radius:6px;font-weight:600;text-decoration:none;transition:background .2s,transform .2s}.primary-btn:hover{background:#f4f4f4;transform:translateY(-2px)}.quota-warning{margin-top:2rem;text-align:center;background:#ffafaf26;padding:1rem 1.5rem;border-radius:8px;color:#ffabab}.floating-create-btn{position:fixed;bottom:24px;right:24px;width:52px;height:52px;background:#1e9bff;color:#fff;border-radius:50%;font-size:2rem;line-height:52px;text-align:center;text-decoration:none;box-shadow:0 4px 12px #0000004d;transition:transform .2s}.floating-create-btn:hover{transform:scale(1.08)}.usage-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1000}.usage-modal{background:#fff;color:#1b1b1b;width:350px;padding:1.85rem 1.75rem;border-radius:8px;box-shadow:0 8px 32px #0000002e;position:relative}.usage-modal,.usage-modal *{color:#1b1b1b!important}.close-btn{position:absolute;top:.55rem;right:.55rem;border:none;background:none;font-size:1.3rem;cursor:pointer;color:#666}.close-btn:hover{color:#000}.modal-title{margin:0 0 1.25rem;font-size:1.5rem}.minutes-used{font-size:1.25rem;margin:1rem 0 .5rem}.billing-cycle{font-size:.95rem;color:#4d4d4d!important}.free-plan-note{margin-top:1rem;font-size:.85rem;color:#4d4d4d!important}.free-plan-note a{color:#07f;text-decoration:none}.free-plan-note a:hover{text-decoration:underline}.pricing-container{max-width:850px;margin:2rem auto;padding:2rem 1rem;text-align:center}.pricing-title{font-size:2.5rem;font-weight:700;color:#fff;margin-bottom:.75rem}.pricing-subtitle{font-size:1.1rem;color:#fffc;line-height:1.6;margin-bottom:3.5rem}.breakdown-title{font-size:1.8rem;font-weight:600;color:#fff;margin-bottom:2rem;border-bottom:2px solid rgba(255,255,255,.3);display:inline-block;padding-bottom:.5rem}.pricing-breakdown{display:flex;justify-content:center;gap:2rem;margin-bottom:4rem}.pricing-card{flex:1;min-width:280px;max-width:360px;background:#fff;border-radius:12px;padding:2rem;text-align:left;box-shadow:0 8px 32px #0000001a;border:1px solid rgba(255,255,255,.2)}.card-icon{font-size:2.5rem;margin-bottom:1rem}.card-title{font-size:1.5rem;font-weight:700;color:#1e3a8a;margin:0 0 .5rem}.card-price{font-size:2rem;font-weight:700;color:#1e293b;margin:0 0 1rem;display:flex;align-items:baseline;gap:.25rem}.card-price span{font-size:1rem;font-weight:500;color:#64748b}.card-description{font-size:.95rem;color:#475569;line-height:1.6}.cta-section{background:#f0f9ff;border-radius:12px;padding:2.5rem;margin-top:2rem}.cta-title{font-size:2rem;font-weight:700;color:#0c4a6e;margin:0 0 .5rem}.cta-subtitle{font-size:1.1rem;color:#075985;margin-bottom:2rem}.cta-buttons{display:flex;justify-content:center;gap:1rem}.cta-button{border:none;padding:.75rem 2rem;font-size:1rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s ease}.cta-button:hover{transform:translateY(-2px);filter:brightness(1.05)}.cta-button.primary{background-color:#2563eb;color:#fff}.cta-button.primary:hover{background-color:#1d4ed8}.cta-button.secondary{background-color:transparent;color:#2563eb;border:2px solid #2563eb}.cta-button.secondary:hover{background-color:#eff6ff;color:#1d4ed8;border-color:#1d4ed8}@media (max-width: 768px){.pricing-breakdown{flex-direction:column;align-items:center}.pricing-title{font-size:2rem}.cta-buttons{flex-direction:column;align-items:center}.cta-button{width:100%;max-width:300px}}.verification-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;text-align:center;padding:20px;background-color:#f9f9f9}.success-message{color:#28a745;font-size:1.2em;margin-bottom:20px}.green-tick{font-size:3em;display:block;margin-bottom:10px;color:#28a745}.restart-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.restart-modal-content{background-color:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:10px;box-shadow:0 6px 15px #0000004d;border:1px solid rgba(255,255,255,.2);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;color:#fff}.restart-step-container{padding:40px;text-align:center}.restart-step-header{margin-bottom:30px}.restart-step-title{font-size:2rem;margin:20px 0 10px;font-weight:600}.restart-spinner{width:60px;height:60px;border:4px solid rgba(255,255,255,.3);border-top:4px solid #ffffff;border-radius:50%;animation:restart-spin 1s linear infinite;margin:0 auto}@keyframes restart-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.restart-step-content p{font-size:1.1rem;line-height:1.6;margin:15px 0;opacity:.9}.restart-logo-container{margin:30px 0}.restart-logo-image{width:120px;height:auto;border-radius:10px;opacity:.8}.restart-info{margin-bottom:30px;text-align:center}.restart-info p{margin:8px 0;opacity:.9}.restart-status-indicator{margin-top:15px}.restart-status-badge{background:#0003;padding:4px 12px;border-radius:20px;font-weight:500;text-transform:capitalize}.restart-progress{text-align:left;background:#00000026;border-radius:8px;padding:25px;margin-top:20px}.restart-progress h3{margin:0 0 20px;text-align:center;font-size:1.2rem}.restart-progress-list{display:flex;flex-direction:column;gap:12px}.restart-progress-item{display:flex;align-items:center;gap:15px;padding:8px 0;transition:all .3s ease}.restart-progress-item.completed{opacity:1}.restart-progress-item:not(.completed){opacity:.6}.restart-progress-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.restart-checkmark{background:#0072bc;color:#fff;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.restart-pending-icon{width:8px;height:8px;background:#ffffff80;border-radius:50%;animation:restart-pulse 2s ease-in-out infinite}@keyframes restart-pulse{0%,to{opacity:.5}50%{opacity:1}}.restart-progress-text{font-size:.95rem;line-height:1.4}.restart-success-step{text-align:center}.restart-success-title{font-size:2.2rem;margin-bottom:20px;font-weight:700;color:#fff}.restart-success-text p{font-size:1.1rem;line-height:1.6;margin:15px 0;opacity:.95}.restart-warning-text{color:#fc0!important;font-weight:500}.restart-error-step{text-align:center}.restart-error-title{font-size:2.2rem;margin-bottom:20px;font-weight:700;color:#ff8a80}.restart-error-text p{font-size:1.1rem;line-height:1.6;margin:15px 0;opacity:.95}.restart-error-details{background:#ff64641a;padding:15px;border-radius:5px;border-left:4px solid #ff8a80;font-family:monospace;font-size:.9rem;margin:20px 0;text-align:left}.restart-success-actions,.restart-error-actions{display:flex;gap:15px;justify-content:center;flex-wrap:wrap;margin-top:30px}.restart-action-button{padding:12px 28px;border-radius:5px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .3s ease;border:none;display:flex;align-items:center;justify-content:center;gap:8px}.restart-primary-button{background-color:#005ea6;color:#fff}.restart-primary-button:hover{background-color:#003f75}.restart-secondary-button{background-color:transparent;color:#fff;border:1px solid #ffffff}.restart-secondary-button:hover{background-color:#ffffff1a}@media (max-width: 768px){.restart-step-container{padding:25px 20px}.restart-step-title{font-size:1.5rem}.restart-success-title,.restart-error-title{font-size:1.8rem}.restart-success-actions,.restart-error-actions{flex-direction:column}.restart-action-button{width:100%}.restart-progress{padding:20px 15px}}.shutdown-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(to bottom right,#00416a,#0072bc);padding:20px;overflow-y:auto}.shutdown-container{background-color:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:10px;padding:40px;max-width:700px;width:100%;box-shadow:0 6px 15px #0000004d}.shutdown-container h1{color:#fff;margin-bottom:10px;font-size:28px;text-align:center}.app-name{text-align:center;color:#fff;font-family:Courier New,monospace;font-size:18px;background:#ffffff26;padding:8px 16px;border-radius:5px;display:block;width:100%;margin:0 auto 30px;box-sizing:border-box;word-break:break-all}.shutdown-message{text-align:center;margin-bottom:30px;color:#fff;line-height:1.6;opacity:.9}.action-buttons{display:flex;gap:15px;margin-bottom:40px;flex-wrap:wrap;justify-content:center}.action-buttons button{flex:1;min-width:150px;max-width:200px;padding:12px 24px;border-radius:8px;font-size:16px;cursor:pointer;transition:all .3s ease;font-family:Arial,sans-serif;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:500;border:none;text-decoration:none}.restart-button{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;box-shadow:0 2px 8px #28a7454d}.restart-button:hover:not(:disabled){background:linear-gradient(135deg,#218838,#1a9f7a);transform:translateY(-2px);box-shadow:0 4px 12px #28a74566}.restart-button:disabled{background:#6c757d;cursor:not-allowed;transform:none;box-shadow:none;opacity:.7}.secondary-button{background:#ffffff26;color:#fff;border:2px solid rgba(255,255,255,.5);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.secondary-button:hover{background:#ffffff40;border-color:#ffffffb3;transform:translateY(-1px)}.spin-icon{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.restart-notice{background:#ffffff26;border:1px solid rgba(255,255,255,.3);border-radius:8px;padding:20px;margin-bottom:30px}.notice-header{display:flex;align-items:center;gap:10px;margin-bottom:15px}.notice-header .icon{font-size:24px;line-height:1}.notice-header h3{margin:0;color:#fff;font-size:18px;line-height:1.2}.restart-notice>p{color:#fff;margin-bottom:20px;opacity:.9;line-height:1.5}.cache-solutions h4{color:#fff;margin-bottom:15px;font-size:16px;font-weight:600}.solution-cards{display:flex;flex-direction:column;gap:15px}.solution-card{display:flex;gap:15px;background:#ffffff1a;padding:15px;border-radius:6px;align-items:flex-start;border:1px solid rgba(255,255,255,.2)}.solution-number{background:linear-gradient(135deg,#ff6b6b,#ee5a5a);color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0;font-size:14px;box-shadow:0 2px 4px #0003;line-height:1}.solution-card strong{display:block;margin-bottom:5px;color:#fff;font-weight:600}.solution-shortcut{font-size:13px;color:#fff;line-height:1.5;margin:5px 0 0;font-family:Courier New,monospace;opacity:.85}.help-toggle{background:linear-gradient(135deg,#ffd93d,#ff9f1c);color:#333;border:none;padding:6px 14px;border-radius:5px;cursor:pointer;font-size:13px;font-weight:500;margin-top:8px;transition:all .3s ease;box-shadow:0 2px 4px #ffd93d4d}.help-toggle:hover{background:linear-gradient(135deg,#ffed4e,#ffab2e);transform:translateY(-1px);box-shadow:0 3px 6px #ffd93d66}.clear-cache-help{margin-top:15px;padding:15px;background:#ffffff1a;border-radius:6px;font-size:14px;border:1px solid rgba(255,255,255,.2);line-height:1.5}.clear-cache-help p{margin:10px 0;color:#fff;opacity:.9}.clear-cache-help ol{margin:10px 0;padding-left:20px;color:#fff;opacity:.9}.clear-cache-help li{margin:5px 0}.help-link{color:#fff;font-style:italic;margin-top:10px;font-size:13px;opacity:.7}.help-section{text-align:center;padding-top:20px;border-top:1px solid rgba(255,255,255,.2);color:#fff;opacity:.85}.help-section p{margin-bottom:10px}.link-button{background:transparent;color:#fff;border:none;text-decoration:underline;cursor:pointer;font-size:16px;padding:0;margin-top:5px;transition:opacity .3s;font-family:inherit}.link-button:hover{opacity:.7}@media (max-width: 768px){.shutdown-container{padding:25px;margin:20px 0}.shutdown-container h1{font-size:24px}.app-name{font-size:16px;padding:6px 12px}.action-buttons{flex-direction:column;gap:12px}.action-buttons button{width:100%;max-width:none;min-width:unset}.solution-cards{gap:12px}.solution-card{padding:12px;gap:12px}.solution-shortcut{font-size:12px}.restart-notice{padding:15px}.notice-header h3{font-size:16px}}@media (max-width: 480px){.shutdown-page{padding:10px}.shutdown-container{padding:20px}.shutdown-container h1{font-size:22px}.solution-card{flex-direction:column;gap:10px;text-align:center}.solution-number{align-self:center}}.derivative-page{min-height:100vh;background:linear-gradient(to bottom right,#00416a,#0072bc);padding:40px 20px;overflow-y:auto}.derivative-container{max-width:700px;margin:0 auto;background-color:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:10px;box-shadow:0 6px 15px #0000004d;overflow:hidden}.derivative-header{padding:30px;background:#0003;color:#fff;border-bottom:1px solid rgba(255,255,255,.1);text-align:center}.derivative-header h1{margin:20px 0 10px;font-size:2.2rem;font-weight:700;color:#fff}.header-subtitle{margin:0;font-size:1rem;opacity:.9;color:#fff}.header-subtitle strong{color:gold;font-weight:600}.back-button{background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.3);padding:8px 16px;border-radius:5px;cursor:pointer;transition:all .3s ease;font-size:.9rem;display:inline-block}.back-button:hover{background:#ffffff40;transform:translate(-2px)}.derivative-progress{display:flex;align-items:center;justify-content:center;padding:25px;background:#ffffff0d;border-bottom:1px solid rgba(255,255,255,.1)}.progress-step{display:flex;flex-direction:column;align-items:center;gap:8px}.step-number{width:36px;height:36px;border-radius:50%;background:#fff3;color:#fff9;display:flex;align-items:center;justify-content:center;font-weight:600;border:2px solid rgba(255,255,255,.3)}.progress-step.active .step-number{background:#005ea6;color:#fff;border-color:#005ea6}.step-label{font-size:.85rem;color:#ffffffb3;font-weight:500}.progress-step.active .step-label{color:#fff;font-weight:600}.progress-line{width:60px;height:2px;background:#fff3;margin:0 10px}.derivative-info{padding:20px;background:#0000001a}.welcome-card{background:#ffffff1a;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);padding:20px;border-radius:8px;border:1px solid rgba(255,255,255,.2)}.welcome-card h3{margin:0 0 15px;color:#fff;font-size:1.3rem;font-weight:600}.welcome-card p{margin:0 0 15px;color:#ffffffe6;line-height:1.6;font-size:.95rem}.feature-pills{display:flex;gap:10px;flex-wrap:wrap}.pill{background:#ffffff26;color:#fff;padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:500;border:1px solid rgba(255,255,255,.3)}.derivative-form{padding:25px}.form-section{margin-bottom:25px}.section-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.form-label{font-weight:600;color:#fff;font-size:1rem;margin:0}.required-badge{background:#f44c;color:#fff;padding:2px 6px;border-radius:4px;font-size:.7rem;font-weight:600}.optional-badge{background:#ffffff4d;color:#fff;padding:2px 6px;border-radius:4px;font-size:.7rem;font-weight:600}.field-hint{color:#fffc;font-size:.85rem;margin:5px 0 10px;line-height:1.4}.form-input,.form-textarea{width:100%;padding:10px;border:1px solid rgba(255,255,255,.3);border-radius:5px;font-size:.95rem;background:#ffffffe6;color:#333;box-sizing:border-box;transition:all .3s ease}.form-input:focus,.form-textarea:focus{outline:none;border-color:#005ea6;background:#fff;box-shadow:0 0 0 3px #005ea633}.form-textarea{resize:vertical;min-height:100px;font-family:inherit}.char-count{text-align:right;color:#fff9;font-size:.8rem;margin-top:5px}.checking-status{display:inline-block;margin-top:5px;color:#fffc;font-size:.85rem}.status-available{display:inline-block;margin-top:5px;color:#4caf50;font-size:.85rem;font-weight:500}.status-unavailable{display:inline-block;margin-top:5px;color:#ff6b6b;font-size:.85rem;font-weight:500}.model-selector{position:relative}.model-display{padding:10px;border:1px solid rgba(255,255,255,.3);border-radius:5px;background:#ffffffe6;cursor:pointer;display:flex;justify-content:space-between;align-items:center;color:#333;font-size:.95rem;transition:all .3s ease}.model-display:hover{border-color:#005ea6;background:#fff}.dropdown-arrow{color:#666;font-size:.8rem}.model-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:5px;background:#fff;border:1px solid #ccc;border-radius:5px;box-shadow:0 4px 12px #00000026;z-index:1000;max-height:250px;overflow:hidden;display:flex;flex-direction:column}.model-search{padding:10px;border:none;border-bottom:1px solid #e0e0e0;font-size:.9rem;color:#333}.model-search:focus{outline:none}.model-list{overflow-y:auto;max-height:200px}.model-option{padding:10px;cursor:pointer;transition:background .2s ease;color:#333;font-size:.9rem}.model-option:hover{background:#f0f0f0}.model-option.selected{background:#005ea61a;color:#005ea6;font-weight:500}.loading-models,.models-error{padding:15px;text-align:center;color:#fffc;font-size:.9rem}.models-error{color:#ff6b6b}.env-section{background:#ffffff0d;padding:20px;border-radius:8px;border:1px solid rgba(255,255,255,.2)}.env-variables-list{display:flex;flex-direction:column;gap:12px;margin-top:12px}.env-input-row{display:flex;align-items:center;gap:12px}.env-key-label{min-width:200px;font-family:Courier New,monospace;background:#fff3;padding:8px 12px;border-radius:4px;color:#fff;font-size:.9rem}.env-value-input{flex:1;padding:8px 12px;border:1px solid rgba(255,255,255,.3);border-radius:4px;background:#ffffffe6;color:#333;font-size:.9rem}.env-value-input::placeholder{color:#999}.env-value-input:focus{outline:none;border-color:#005ea6;background:#fff}.image-upload-area{border:2px dashed rgba(255,255,255,.3);border-radius:8px;padding:30px 20px;text-align:center;transition:all .3s ease;cursor:pointer;background:#ffffff0d}.image-upload-area:hover{border-color:#ffffff80;background:#ffffff1a}.image-upload-area.dragging{border-color:#005ea6;background:#005ea61a}.upload-prompt{display:flex;flex-direction:column;align-items:center;gap:8px;color:#fff}.upload-icon{font-size:1.5rem;color:#fffc}.upload-text{font-size:.95rem;color:#ffffffe6;font-weight:500}.upload-hint{font-size:.8rem;color:#fff9}.uploaded-images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin-top:15px}.image-preview{position:relative;aspect-ratio:1;border-radius:6px;overflow:hidden;border:2px solid rgba(255,255,255,.3);background:#0003}.image-preview img{width:100%;height:100%;object-fit:cover}.image-name{position:absolute;bottom:0;left:0;right:0;background:#000c;color:#fff;padding:4px 6px;font-size:.7rem;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.remove-image{position:absolute;top:5px;right:5px;background:#f44336e6;color:#fff;border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;line-height:1;transition:all .3s ease}.remove-image:hover{background:#f44336;transform:scale(1.1)}.form-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:20px;margin-top:20px;border-top:1px solid rgba(255,255,255,.2)}.cancel-button,.create-button{padding:12px 24px;border-radius:5px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:none}.cancel-button{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3)}.cancel-button:hover:not(:disabled){background:#ffffff4d}.create-button{background-color:#005ea6;color:#fff}.create-button:hover:not(:disabled){background-color:#003f75;transform:translateY(-1px);box-shadow:0 4px 12px #005ea64d}.cancel-button:disabled,.create-button:disabled{opacity:.5;cursor:not-allowed}.spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;margin-right:8px}@keyframes spin{to{transform:rotate(360deg)}}.help-text{margin-top:20px;padding:15px;background:#ffffff0d;border-radius:6px;border-left:4px solid rgba(255,255,255,.3)}.help-text p{margin:0;color:#ffffffe6;line-height:1.5;font-size:.85rem}.help-text strong{color:#fff}.error-message{margin:15px 25px;padding:12px 15px;background:#ff000026;color:#ff6b6b;border-radius:6px;border-left:4px solid #ff6b6b;font-weight:500;font-size:.9rem}@media (max-width: 768px){.derivative-page{padding:20px 10px}.derivative-container{border-radius:8px}.derivative-header{padding:20px}.derivative-header h1{font-size:1.8rem}.derivative-form{padding:20px}.progress-line{width:30px}.env-input-row{flex-direction:column;align-items:stretch}.env-key-label{min-width:auto}.uploaded-images-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.form-actions{flex-direction:column}.cancel-button,.create-button{width:100%;justify-content:center}}@media (max-width: 480px){.derivative-progress{padding:15px}.step-number{width:30px;height:30px;font-size:.8rem}.step-label{font-size:.7rem}.progress-line{width:20px}.feature-pills{justify-content:center}}.build-status-page{min-height:100vh;background:linear-gradient(to bottom right,#00416a,#0072bc);color:#fff;display:flex;flex-direction:column;font-family:Arial,sans-serif}.build-status-page .page-content{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 20px}.build-status-page .step-container{background-color:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:10px;box-shadow:0 6px 15px #0000004d;padding:40px;width:100%;max-width:700px;min-height:500px;display:flex;flex-direction:column;animation:buildStatusFadeIn .3s ease;border:1px solid rgba(255,255,255,.2)}@keyframes buildStatusFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.build-status-page .step-title{font-size:28px;font-weight:600;margin-bottom:24px;color:#fff;text-align:center}.build-status-page .step-content{font-size:16px;line-height:1.6;color:#ffffffe6;max-width:600px;margin:0 auto 30px;text-align:center}.build-status-page .step-content p{margin-bottom:16px;opacity:.95}.build-status-page .step-content strong{color:#fff;font-weight:600}.build-status-page .info-step{text-align:center;justify-content:center}.build-status-page .logo-container{width:80px;height:80px;margin:30px auto 0}.build-status-page .logo-image{width:100%;height:100%;border-radius:50%;object-fit:cover;box-shadow:0 4px 15px #0006;border:2px solid rgba(255,255,255,.3)}.build-status-page .setup-step{text-align:center}.build-status-page .step-header{display:flex;align-items:center;justify-content:center;gap:15px;margin-bottom:24px}.build-status-page .step-header h2{margin:0;font-size:24px;color:#fff}.build-status-page .spinner{width:28px;height:28px;border:3px solid rgba(255,255,255,.2);border-left-color:#fff;border-radius:50%;animation:buildStatusSpin 1s linear infinite}@keyframes buildStatusSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.build-status-page .setup-info{background:#ffffff0d;border-radius:8px;padding:20px;margin-bottom:30px;border:1px solid rgba(255,255,255,.2)}.build-status-page .setup-info p{margin:8px 0;font-size:15px;color:#ffffffd9}.build-status-page .setup-progress{flex:1;text-align:left}.build-status-page .setup-progress h3{margin:0 0 20px;color:#fff;font-size:18px;font-weight:600}.build-status-page .build-step{text-align:center;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}.build-status-page .build-info{background:#ffffff0d;border-radius:8px;padding:35px;margin-bottom:30px;border:1px solid rgba(255,255,255,.2)}.build-status-page .build-info p{margin:8px 0;font-size:15px;color:#ffffffd9}.build-status-page .status-indicator{font-weight:600;margin-top:10px;margin-bottom:20px;color:#fff}.build-status-page .status-badge{background:#005ea6;color:#fff;padding:4px 12px;border-radius:20px;font-size:13px;text-transform:capitalize;font-weight:600;border:1px solid rgba(255,255,255,.3)}.build-status-page .bsp-env-form-container{margin-top:60px;padding-top:20px;border-top:1px solid rgba(255,255,255,.2)}.build-status-page .bsp-env-warning{color:gold;margin-bottom:15px;font-size:14px;display:flex;align-items:center;gap:8px}.build-status-page .progress-list{background:#ffffff0d;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:24px;max-height:400px;overflow-y:auto}.build-status-page .progress-item{display:flex;align-items:center;margin-bottom:16px;color:#ffffff80;transition:all .3s ease}.build-status-page .progress-item:last-child{margin-bottom:0}.build-status-page .progress-item.completed{color:#fff}.build-status-page .progress-icon{width:28px;height:28px;margin-right:16px;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.build-status-page .progress-item.completed .progress-icon{background-color:#10b981;border-radius:50%}.build-status-page .checkmark{color:#fff;font-weight:700;font-size:16px}.build-status-page .pending-icon{width:28px;height:28px;background-color:#ffffff1a;border-radius:50%;border:2px solid rgba(255,255,255,.3)}.build-status-page .progress-text{font-size:15px;font-weight:500}.build-status-page .tabs-container{margin-top:24px;flex:1;display:flex;flex-direction:column;min-height:0}.build-status-page .tabs-header{display:flex;gap:12px;border-bottom:2px solid rgba(255,255,255,.2);margin-bottom:20px}.build-status-page .tab-button{padding:12px 24px;background:none;border:none;cursor:pointer;font-size:16px;color:#fff9;border-bottom:3px solid transparent;transition:all .3s ease;font-weight:500}.build-status-page .tab-button:hover{color:#fff}.build-status-page .tab-button.active{color:#fff;border-bottom-color:#fff}.build-status-page .tabs-content{flex:1;min-height:0;display:flex;flex-direction:column}.build-status-page .build-logs{flex:1;display:flex;flex-direction:column;min-height:0}.build-status-page .messages-list{flex:1;overflow-y:auto;max-height:500px;min-height:400px;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:20px;background:#0003;text-align:left}.build-status-page .build-message{margin-bottom:16px;padding:12px;background:#ffffff0d;border-radius:6px;border-left:3px solid #005ea6;transition:all .2s ease}.build-status-page .build-message:hover{background:#ffffff14;transform:translate(2px)}.build-status-page .message-time{font-size:12px;color:#fff9;margin-bottom:4px;font-family:monospace}.build-status-page .message-content{color:#ffffffe6;line-height:1.6;font-size:14px}.build-status-page .placeholder-message{text-align:center;color:#fff9;padding:40px}.build-status-page .loading-dots{display:inline-flex;gap:4px;margin-bottom:16px}.build-status-page .loading-dots span{width:10px;height:10px;background:#fff;border-radius:50%;animation:buildStatusBounce 1.4s infinite ease-in-out both}.build-status-page .loading-dots span:nth-child(1){animation-delay:-.32s}.build-status-page .loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes buildStatusBounce{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}.build-status-page .success-step,.build-status-page .error-step{text-align:center;padding:50px 40px;min-height:auto}.build-status-page .success-title,.build-status-page .error-title{font-size:32px;font-weight:600;margin-bottom:24px;color:#fff}.build-status-page .success-title{color:#10b981;text-shadow:0 2px 4px rgba(0,0,0,.3)}.build-status-page .error-title{color:#ff6b6b;text-shadow:0 2px 4px rgba(0,0,0,.3)}.build-status-page .success-text,.build-status-page .error-text{text-align:left;margin:24px auto;max-width:600px}.build-status-page .success-text p,.build-status-page .error-text p{margin:12px 0;line-height:1.6;color:#ffffffe6;font-size:15px}.build-status-page .success-text strong{color:#fff}.build-status-page .error-details{background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);border-radius:8px;padding:16px;color:#ff6b6b;font-family:monospace;font-size:14px;text-align:left;max-width:600px;margin:20px auto;word-wrap:break-word}.build-status-page .success-actions,.build-status-page .error-actions{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-top:32px}.build-status-page .action-button{padding:12px 24px;border-radius:5px;border:none;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block;min-width:150px;text-align:center}.build-status-page .action-button.primary-button{background-color:#005ea6;color:#fff;border:1px solid rgba(255,255,255,.2)}.build-status-page .action-button.primary-button:hover{background-color:#003f75;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.build-status-page .action-button.secondary-button{background-color:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.3)}.build-status-page .action-button.secondary-button:hover{background-color:#fff3;border-color:#fff;transform:translateY(-1px)}.build-status-page .link{color:gold;text-decoration:underline}.build-status-page .link:hover{color:#fff}.build-status-page .messages-list::-webkit-scrollbar,.build-status-page .progress-list::-webkit-scrollbar,.build-status-page .build-step::-webkit-scrollbar{width:8px}.build-status-page .messages-list::-webkit-scrollbar-track,.build-status-page .progress-list::-webkit-scrollbar-track,.build-status-page .build-step::-webkit-scrollbar-track{background:#ffffff1a;border-radius:4px}.build-status-page .messages-list::-webkit-scrollbar-thumb,.build-status-page .progress-list::-webkit-scrollbar-thumb,.build-status-page .build-step::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:4px}.build-status-page .messages-list::-webkit-scrollbar-thumb:hover,.build-status-page .progress-list::-webkit-scrollbar-thumb:hover,.build-status-page .build-step::-webkit-scrollbar-thumb:hover{background:#ffffff80}@media (max-width: 768px){.build-status-page .page-content{padding:20px 16px}.build-status-page .step-container{padding:24px 20px;border-radius:8px}.build-status-page .step-title{font-size:22px;margin-bottom:20px}.build-status-page .step-content{font-size:14px}.build-status-page .step-content p{margin-bottom:12px}.build-status-page .logo-container{width:60px;height:60px}.build-status-page .messages-list{max-height:250px;padding:16px}.build-status-page .success-actions,.build-status-page .error-actions{flex-direction:column}.build-status-page .action-button{width:100%;padding:14px}}@media (max-width: 480px){.build-status-page .step-container{padding:20px 16px}.build-status-page .step-title{font-size:20px}}body,html{margin:0;padding:0;font-family:Arial,sans-serif;background:linear-gradient(to bottom right,#00416a,#0072bc);color:#fff;min-height:100vh;overflow-y:auto}.app-container{max-width:700px;margin:40px auto;padding:20px;background-color:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:10px;box-shadow:0 6px 15px #0000004d;overflow-y:auto}h1,h2{color:#fff;text-align:center}.header-subtext{font-size:.9rem;text-align:center;margin-top:10px;opacity:.85}input[type=text],textarea,select{width:100%;padding:10px;margin-top:8px;margin-bottom:15px;box-sizing:border-box;border-radius:5px;border:1px solid #ccc}textarea{resize:vertical}input[type=file]{display:block;margin-top:10px}button{width:100%;padding:12px;font-size:1rem;color:#fff;background-color:#005ea6;border:none;border-radius:5px;cursor:pointer;transition:background-color .3s ease}button:hover{background-color:#003f75}.info-text{font-size:.85rem;margin-top:5px;text-align:center;opacity:.7}.file-upload{border:2px dashed #bbb;padding:20px;text-align:center;margin-bottom:20px;border-radius:8px;color:#fff;cursor:pointer}.file-upload:hover{border-color:#fff}@media (max-width: 768px){.app-container{padding:15px;margin-top:20px}}
