*,:after,:before{box-sizing:border-box}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--space-dark:#0d1117;--space-blue:#161b22;--space-light:#c9d1d9;--space-gray:#8b949e;--accent-glow:#238636;--accent-blue:#58a6ff;--border-color:#30363d;--error-color:#f85149}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0d1117;background-color:var(--space-dark);color:#c9d1d9;color:var(--space-light);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}.app-container{height:100vh;overflow:hidden;position:relative;width:100vw}.main-content{height:100%;left:0;overflow-y:auto;position:absolute;top:0;width:100%;z-index:1}.auth-container,.dashboard-container{min-height:100vh;padding:30px;position:relative}.auth-container{align-items:center;display:flex;justify-content:center}.dashboard-wrapper{margin:0 auto;max-width:1400px}.dashboard-content{grid-gap:30px;display:grid;gap:30px}.card{padding:30px}.dashboard-header{justify-content:space-between;margin-bottom:30px;padding:20px 40px}.card h2,.dashboard-header{align-items:center;display:flex}.card h2{border-bottom:1px solid #ffffff1a;color:#c9d1d9;color:var(--space-light);font-size:1.5rem;margin-bottom:20px;margin-top:0;padding-bottom:15px}.card h2 .fas{color:#58a6ff;color:var(--accent-blue);margin-right:10px}.project-info .info-grid{grid-gap:12px;display:grid;gap:12px}.project-info .info-grid p{margin:0}.project-info .info-grid a{color:#c9d1d9;color:var(--space-light);font-weight:600;text-decoration:none;transition:color .2s ease}.project-info .info-grid a:hover{color:#58a6ff;color:var(--accent-blue)}.auth-form{max-width:400px;padding:30px;width:100%}.auth-form h2{color:#c9d1d9;color:var(--space-light);margin-bottom:24px}.form-group{margin-bottom:20px;text-align:left}.form-group label{color:#8b949e;color:var(--space-gray);display:block;font-weight:600;margin-bottom:8px}.form-group input{background-color:#0d1117;background-color:var(--space-dark);border:1px solid #30363d;border:1px solid var(--border-color);border-radius:4px;box-sizing:border-box;color:#c9d1d9;color:var(--space-light)}.auth-button,.form-group input{font-size:1rem;padding:12px;width:100%}.auth-button{background-color:#58a6ff;background-color:var(--accent-blue);border:none;border-radius:4px;color:#0d1117;color:var(--space-dark);cursor:pointer;font-weight:600;transition:background-color .3s}.auth-button:hover{background-color:#82baff}.auth-switch{color:#8b949e;color:var(--space-gray);margin-top:20px}.auth-switch a{color:#58a6ff;color:var(--accent-blue);font-weight:600;text-decoration:none}.component-table-container{overflow-x:auto}.component-table{border-collapse:collapse;width:100%}.component-table td,.component-table th{border-bottom:1px solid #30363d;border-bottom:1px solid var(--border-color);padding:15px;text-align:left}.component-table th{color:#58a6ff;color:var(--accent-blue)}.component-item>td{background-color:initial;position:relative;transition:background-color .3s ease,box-shadow .3s ease}.component-item:hover>td{background-color:#58a6ff1a}.component-item:hover>td:first-child{box-shadow:inset 2px 0 0 0 #58a6ff;box-shadow:inset 2px 0 0 0 var(--accent-blue)}.component-item:hover>td:last-child{box-shadow:inset -2px 0 0 0 #58a6ff;box-shadow:inset -2px 0 0 0 var(--accent-blue)}.expand-icon{display:inline-block;margin-right:15px;transition:transform .2s ease-in-out}.expand-icon.expanded{transform:rotate(90deg)}.details-content{background-color:#0003;padding:20px}.detail-item{margin-bottom:15px}.detail-item strong{color:#8b949e;color:var(--space-gray);display:block;margin-bottom:8px}.detail-item code{color:#c9d1d9;color:var(--space-light);font-family:inherit;font-size:1rem;word-break:break-all}.git-url-display,.webhook-url-display{align-items:center;cursor:pointer;display:flex;gap:8px}.git-url-display span,.webhook-url-display code{transition:color .2s ease}.git-url-display:hover .edit-icon,.git-url-display:hover span,.webhook-url-display:hover .copy-button,.webhook-url-display:hover code{color:#58a6ff;color:var(--accent-blue)}.copy-button,.edit-icon{align-items:center;background:none;border:none;color:#8b949e;color:var(--space-gray);cursor:pointer;display:inline-flex;font-size:.9rem;justify-content:center;opacity:.7;padding:5px;transition:all .2s ease}.copy-button:hover,.git-url-display:hover .edit-icon,.webhook-url-display:hover .copy-button{opacity:1}.edit-git-url{align-items:center;display:flex;gap:10px}.edit-git-url input{background-color:#0d1117;background-color:var(--space-dark);border:1px solid #58a6ff;border:1px solid var(--accent-blue);border-radius:4px;color:#c9d1d9;color:var(--space-light);flex-grow:1;font-size:1rem;padding:8px 12px}.action-button{border:none;border-radius:4px;cursor:pointer;font-weight:600;padding:8px 15px;transition:all .2s ease}.action-button.save{background-color:#58a6ff;background-color:var(--accent-blue);color:#0d1117;color:var(--space-dark)}.action-button.cancel{background-color:#8b949e;background-color:var(--space-gray);color:#0d1117;color:var(--space-dark)}.logout-button{background-color:initial;border:1px solid #58a6ff;border:1px solid var(--accent-blue);border-radius:6px;color:#58a6ff;color:var(--accent-blue);cursor:pointer;font-weight:700;padding:10px 20px;transition:all .3s ease}.deploy-button,.logout-button:hover{background-color:#58a6ff;background-color:var(--accent-blue);color:#0d1117;color:var(--space-dark)}.deploy-button{border:none;border-radius:6px;cursor:pointer;padding:8px 15px;transition:transform .2s ease}.deploy-button:focus,.deploy-button:hover{animation:rocket-thruster 1.2s ease-in-out infinite;transform:translateY(-3px) scale(1.05)}.add-component-form{margin-top:20px;padding:20px}.add-component-form h3{margin-bottom:15px;margin-top:0}.add-component-form input{background-color:#0d1117;background-color:var(--space-dark);border:1px solid #30363d;border:1px solid var(--border-color);border-radius:4px;box-sizing:border-box;color:#c9d1d9;color:var(--space-light);margin-bottom:10px;padding:10px;width:100%}.add-component-form .form-actions{display:flex;gap:10px;justify-content:flex-end}.add-component-button{background-color:initial;border:1px dashed #30363d;border:1px dashed var(--border-color);border-radius:6px;color:#8b949e;color:var(--space-gray);cursor:pointer;margin-top:20px;padding:15px;transition:all .3s ease;width:100%}.add-component-button:hover{background-color:#ffffff0d;border-color:#58a6ff;border-color:var(--accent-blue);color:#c9d1d9;color:var(--space-light)}.add-component-button .fas{margin-right:8px}.error-message{background-color:#f851491a;border:1px solid #f85149;border:1px solid var(--error-color);border-radius:6px;padding:15px;text-align:center}.log-iframe{background-color:#0d1117;background-color:var(--space-dark);border:1px solid #30363d;border:1px solid var(--border-color);border-radius:6px;height:400px;width:100%}.status-badge{border-radius:12px;font-size:.8rem;font-weight:700;padding:5px 10px}.status-idle{background-color:#8b949e;background-color:var(--space-gray);color:#0d1117;color:var(--space-dark)}.status-building{animation:building-pulse 1.5s infinite;background-color:#f90;color:#fff}@keyframes page-fade-in{0%{opacity:0}to{opacity:1}}@keyframes building-pulse{0%{box-shadow:0 0 0 0 #f90c}70%{box-shadow:0 0 0 12px #f900}to{box-shadow:0 0 0 0 #f900}}@keyframes rocket-thruster{0%{box-shadow:0 6px 12px #ff64004d,0 2px 4px #ffc80080}50%{box-shadow:0 10px 20px #ff640080,0 4px 8px #ffc800b3}to{box-shadow:0 6px 12px #ff64004d,0 2px 4px #ffc80080}}@keyframes rocket-launch-animation{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-150vh) scale(.2)}}.auth-form.launching{animation:rocket-launch-animation 1.2s cubic-bezier(.6,-.28,.735,.045) forwards}.glass-pane{animation:page-fade-in .6s ease-out forwards;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#171b26b3;border:1px solid #ffffff1a;border-radius:12px;box-shadow:0 8px 32px 0 #0000005e}.details-tabs{border-bottom:1px solid #30363d;border-bottom:1px solid var(--border-color);display:flex;margin-bottom:1rem}.tab-button{background:none;border:none;border-bottom:2px solid #0000;color:#8b949e;color:var(--space-gray);cursor:pointer;font-size:.9rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.tab-button.active,.tab-button:hover{color:#58a6ff;color:var(--accent-blue)}.tab-button.active{border-bottom-color:#58a6ff;border-bottom-color:var(--accent-blue)}.tab-content{padding:.5rem 0}.input-error{background-color:#f851490d!important;border-color:#f85149!important;border-color:var(--error-color)!important}.error-message{align-items:center;color:#f85149;color:var(--error-color);display:flex;font-size:.8rem;margin-top:.25rem}.error-message:before{content:"⚠️";font-size:.75rem;margin-right:.25rem}.password-hint{color:#8b949e;color:var(--space-gray);font-size:.75rem;font-style:italic;margin-top:.25rem}.form-group{margin-bottom:1.25rem;position:relative}.environment-variables{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background-color:#171b26b3;border:1px solid #ffffff1a;border-radius:8px;box-shadow:0 4px 16px #0003;margin-top:1rem;padding:1rem}.environment-variables h3{align-items:center;border-bottom:1px solid #ffffff1a;color:var(--space-light);display:flex;font-size:1.2rem;margin-bottom:1rem;margin-top:0;padding-bottom:.75rem}.environment-variables h3 i{color:var(--accent-blue);margin-right:.5rem}.secrets-table-container{margin-bottom:1rem;overflow-x:auto}.secrets-table{border-collapse:collapse;font-size:.9rem;table-layout:fixed;width:100%}.secrets-table td,.secrets-table th{border-bottom:1px solid var(--border-color);padding:.75rem;text-align:left;vertical-align:middle}.secrets-table th:first-child{width:30%}.secrets-table th:nth-child(2){width:50%}.secrets-table th:last-child{text-align:center;width:20%}.secrets-table td:last-child{padding:.5rem;text-align:center}.secrets-table th{background-color:#0003;color:var(--accent-blue);font-weight:600}.secret-actions{gap:.75rem;min-height:40px}.delete-button,.edit-button,.secret-actions{align-items:center;display:flex;justify-content:center}.delete-button,.edit-button{background:none;border:none;border-radius:4px;cursor:pointer;height:32px;padding:.25rem .5rem;transition:all .2s ease;width:32px}.edit-button{color:var(--accent-blue)}.delete-button{color:var(--error-color)}.delete-button:hover,.edit-button:hover{background-color:#ffffff1a}.edit-button:hover{color:#82baff}.delete-button:hover{color:#ff6b6b}.no-secrets{align-items:center;background-color:#0003;border:1px solid var(--border-color);border-radius:4px;color:var(--space-gray);display:flex;justify-content:center;padding:1rem;text-align:center}.no-secrets i{margin-right:.5rem}.env-key{color:var(--accent-blue);font-weight:500}.env-key,.env-value{display:block;padding:.25rem 0}.env-value{color:var(--space-light);font-family:monospace;word-break:break-all}.secret-value{align-items:center;color:var(--space-gray);display:flex;padding:.25rem 0}.secret-value i{color:var(--space-gray);font-size:.9rem;margin-right:.5rem}.normal-badge,.secret-badge{align-items:center;border-radius:50%;display:inline-flex;height:24px;justify-content:center;width:24px}.secret-badge{background-color:#f8514933;color:var(--error-color)}.normal-badge{background-color:#23863633;color:var(--accent-glow)}.environment-variable-form,.form-row{width:100%}.form-row{align-items:center;display:flex;flex-wrap:wrap;gap:1.25rem}@media (max-width:768px){.form-row{align-items:stretch;flex-direction:column;gap:1rem}.secret-checkbox{justify-content:flex-start;margin-top:.5rem}.form-actions{justify-content:flex-end;margin-left:0;margin-top:1rem;width:100%}}.input-group{display:flex;flex-direction:column;margin-bottom:0}.key-input-group{flex:1.5 1;min-width:150px}.value-input-group{flex:2.5 1;min-width:200px}.message-box{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem;min-height:45px;width:100%}.error-message-box{align-items:center;background-color:#f851491a;border:1px solid var(--error-color);border-radius:4px;color:var(--error-color);display:flex;font-size:.85rem;padding:.75rem}.error-message-box i{flex-shrink:0;font-size:1rem;margin-right:.5rem}.form-row input[type=password],.form-row input[type=text]{background-color:var(--space-dark);border:1px solid var(--border-color);border-radius:4px;box-shadow:0 0 0 1px #0000;color:var(--space-light);font-size:.9rem;height:40px;padding:.75rem;text-align:left;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.key-input,.value-input{width:100%}.key-input.error{border-color:var(--error-color);box-shadow:0 0 0 1px var(--error-color)}.form-row input:disabled{cursor:not-allowed;opacity:.7}.secret-checkbox{align-items:center;color:var(--space-light);display:flex;font-size:.9rem;height:40px;justify-content:center;margin:0;min-width:100px;padding:0 .5rem;white-space:nowrap}.secret-checkbox input{cursor:pointer;height:16px;margin-right:.5rem;width:16px}.secret-checkbox input:disabled+i{opacity:.7}.secret-checkbox i{color:var(--error-color);font-size:.9rem;margin-right:.5rem}.form-actions{display:flex;gap:.75rem;height:40px;justify-content:flex-end;margin-left:auto;min-width:150px}.cancel-button,.save-button{align-items:center;border:none;border-radius:4px;cursor:pointer;display:flex;font-weight:500;height:40px;justify-content:center;min-width:70px;padding:0 1rem;transition:all .2s ease}.save-button:disabled{cursor:not-allowed;opacity:.5}.cancel-button i,.save-button i{font-size:.9rem;margin-right:.5rem}.save-button{background-color:var(--accent-blue)}.cancel-button,.save-button{color:var(--space-dark);min-width:80px}.cancel-button{background-color:var(--space-gray)}.save-button:hover:not(:disabled){background-color:#82baff}.cancel-button:hover{opacity:.8}.add-secret-button{align-items:center;background-color:var(--accent-blue);border:none;border-radius:4px;color:var(--space-dark);cursor:pointer;display:inline-flex;font-weight:500;gap:.5rem;height:40px;justify-content:center;padding:.5rem 1.25rem;transition:all .2s ease}.add-secret-button:hover{background-color:#82baff;transform:translateY(-2px)}.add-secret-form{background-color:#0003;border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #00000026;margin-top:1.5rem;padding:1.5rem}.add-secret-form h4{align-items:center;border-bottom:1px solid #ffffff1a;color:var(--space-light);display:flex;font-size:1.1rem;margin-bottom:1.5rem;margin-top:0;padding-bottom:1rem}.add-secret-form h4 i{color:var(--accent-blue);font-size:1.1rem;margin-right:.75rem}.secret-note{align-items:center;background-color:#4e587233;border-left:3px solid var(--accent-blue);border-radius:4px;color:var(--space-gray);display:flex;font-size:.85rem;margin:0;padding:.75rem 1rem}.secret-note i{color:var(--accent-blue);flex-shrink:0;font-size:1rem;margin-right:.5rem}.error,.loading{align-items:center;color:var(--space-light);display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:1rem;text-align:center}.error i,.loading i{margin-right:.5rem}.error{background-color:#f851491a;border:1px solid var(--error-color);border-radius:4px;color:var(--error-color);padding:.75rem}.retry-button{align-items:center;background-color:#0003;border:1px solid var(--border-color);border-radius:4px;color:var(--space-light);cursor:pointer;display:flex;font-size:.85rem;gap:.5rem;margin-top:.5rem;padding:.4rem .8rem;transition:all .2s ease}.retry-button:hover{background-color:#ffffff1a}.interactive-space-canvas{height:100%;left:0;position:fixed;top:0;width:100%;z-index:0}.notification-container{bottom:30px;position:fixed;right:30px;transform:translateY(150%);transition:transform .5s cubic-bezier(.25,.46,.45,.94);z-index:9999}.notification-container.show{transform:translateY(0)}.notification-content{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#58a6ff99;border:1px solid #ffffff1a;border-radius:12px;box-shadow:0 8px 32px 0 #0000005e;color:#fff;font-weight:600;padding:15px 25px}.notification-content.success{background:#238636b3}.notification-content.error{background:#f85149b3}
/*# sourceMappingURL=main.fc1e30bf.css.map*/