body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--dark-green:#2f4f4f;--light-bg:#f4f4f4;--text-primary:#1a1a1a;--text-secondary:#444;--text-muted:#777}body{background-color:#f4f4f4;background-color:var(--light-bg);font-family:Segoe UI,Roboto,sans-serif;margin:0;overflow-x:hidden}.homepage-container{align-items:center;animation:gradientMove 60s ease infinite;background:linear-gradient(135deg,#c5f4c9,#fff,#c7e1cb);background-size:400% 400%;display:flex;flex-direction:column;justify-content:center;min-height:100vh;overflow:hidden;padding:60px 20px;position:relative;text-align:center}@keyframes gradientMove{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.dynamic-tagline{animation:fadeInUp 1.5s ease;color:#1a1a1a;font-size:2.4rem;font-weight:700;line-height:1.4;margin-bottom:30px;max-width:800px;text-align:center;text-shadow:0 2px 6px #0000000d}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.homepage-message{color:#777;color:var(--text-muted);font-size:1.1rem;margin-bottom:20px}.google-login-button{align-items:center;background-color:initial;border:2px solid #2f4f4f99;border-radius:12px;color:#2f4f4f;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:12px;justify-content:center;margin-top:10px;padding:12px 20px;transition:background-color .3s ease,border-color .3s ease}.google-login-button:hover{background-color:#2f4f4f14;border-color:#2f4f4fcc}.google-icon{height:20px;width:20px}.background-particles{animation:particleMove 60s linear infinite;background-image:radial-gradient(#cfe8cf 1px,#0000 0);background-size:40px 40px;height:100%;left:0;opacity:.3;position:absolute;top:0;width:100%;z-index:-1}@keyframes particleMove{0%{background-position:0 0}to{background-position:100% 100%}}.navbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:hsla(0,5%,65%,.063);border-radius:16px;box-shadow:0 8px 20px #0000000d;justify-content:space-between;padding:12px 28px;position:sticky;top:0;transition:all .3s ease;z-index:1000}.navbar,.navbar-left{align-items:center;display:flex}.navbar-logo{height:40px;margin-right:12px}.navbar-title{color:#2f4f4f;font-size:1.4rem;font-weight:600}.navbar-button{background-color:initial;border:2px solid #2f4f4f99;border-radius:12px;color:#2f4f4f;cursor:pointer;font-size:1rem;margin-left:12px;padding:10px 18px;transition:background-color .3s ease,color .3s ease,border-color .3s ease}.navbar-button:hover{background-color:#2f4f4f14;border-color:#2f4f4fcc}.navbar-button.logout{border-color:#ff6b6b80;color:#b44}.navbar-button.logout:hover{background-color:#ff6b6b14;border-color:#ff6b6bcc}.sidebar{align-items:center;background-color:#f1f1f551;color:#fff;display:flex;flex-direction:column;height:calc(100vh - 64px);left:0;padding:10px 0;position:fixed;top:84px;transition:width .3s ease;width:60px;z-index:1000}.sidebar:hover{align-items:flex-start;padding-left:20px;padding-top:20px;width:220px}.sidebar-header{margin-bottom:30px;opacity:0;padding-left:10px;pointer-events:none;transition:opacity .3s ease;-webkit-user-select:none;user-select:none;width:100%}.sidebar:hover .sidebar-header{opacity:1;pointer-events:auto;-webkit-user-select:auto;user-select:auto}.sidebar-header h2{color:#2f4f4f;font-size:1.4rem;font-weight:600;margin:0}.sidebar-nav{width:100%}.sidebar-nav ul{list-style:none;margin:0;padding-left:0}.sidebar-nav li{margin-bottom:18px;width:100%}.sidebar-link{align-items:center;border-radius:12px;color:#2f4f4f;display:flex;font-weight:500;overflow:hidden;padding:8px 10px;text-decoration:none;transition:background-color .3s ease,color .3s ease;white-space:nowrap}.sidebar-link .icon{font-size:20px;margin-right:0;min-width:20px;transition:margin .3s ease}.sidebar:hover .sidebar-link .icon{margin-right:12px}.sidebar:hover .link-text{opacity:1;pointer-events:auto;transition:opacity .3s ease;-webkit-user-select:auto;user-select:auto}.link-text{font-size:1rem;opacity:0;pointer-events:none;transition:opacity .3s ease;-webkit-user-select:none;user-select:none}.sidebar-link.active{background-color:#4fc3f726;color:#4fc3f7;font-weight:700}.sidebar-link:hover{background-color:#4fc3f71a;color:#4fc3f7}.sidebar-link.active .icon,.sidebar-link:hover .icon{color:#4fc3f7}.projects-list{margin-bottom:24px}.projects-list h2{color:#333;font-size:1.5rem;margin-bottom:12px}.projects-list ul{list-style-type:none;margin:0;padding:0}.projects-list li{border:1px solid #ddd;border-radius:6px;padding:10px 15px;transition:background-color .2s ease;-webkit-user-select:none;user-select:none}.projects-list li:hover{background-color:#f0f0f0}.projects-list li.selected{background-color:#007bff;border-color:#0056b3;color:#fff;cursor:default;font-weight:700}.dashboard-page{background:linear-gradient(135deg,#f3f4f5,#efedf1)}.create-project-form{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:32px}.create-project-form input{border:2px solid #667eea;border-radius:12px;flex:1 1 250px;font-size:1rem;padding:12px 16px;transition:border-color .3s ease}.create-project-form input:focus{border-color:#764ba2;box-shadow:0 0 8px #764ba280;outline:none}.create-project-form button{align-self:center;background:#764ba2;border:none;border-radius:12px;color:#fff;cursor:pointer;font-weight:700;min-width:140px;padding:14px 28px;transition:background .3s ease}.create-project-form button:disabled{background:#aaa;cursor:not-allowed}.create-project-form button:hover:not(:disabled){background:#5a347d}@media (max-width:600px){.create-project-form{flex-direction:column}.create-project-form input{flex:1 1 100%}.create-project-form button{padding:16px;width:100%}}.runs-list{display:flex;flex-direction:column;gap:16px;margin-top:24px}.run-item{align-items:center;background:#fff;border-left:5px solid #6c63ff;border-radius:12px;box-shadow:0 4px 10px #0000000d;cursor:pointer;display:flex;justify-content:space-between;padding:18px 20px;transition:background .3s ease,transform .2s ease}.run-item:hover{background-color:#f4f4ff;transform:translateY(-1px)}.run-info{display:flex;flex-direction:column}.run-name{color:#333;font-size:1.2rem;font-weight:600}.run-id{color:#666;font-size:.85rem;margin-top:4px}.run-description{color:#555;font-size:.9rem;margin-top:6px}.log-list{font-family:Arial,sans-serif;margin-top:20px;padding:10px}.log-table{border-collapse:collapse;margin-top:10px;width:100%}.log-table td,.log-table th{border:1px solid #ccc;padding:12px 16px;text-align:left}.log-table th{background-color:#f2f2f2;font-weight:700}.log-table tr:nth-child(2n){background-color:#f9f9f9}.log-table code{background-color:#eee;border-radius:4px;font-family:monospace;padding:2px 4px}.dashboard-page{background:linear-gradient(135deg,#dedfe4,#e8e6ea);color:#333;display:flex;flex-direction:column;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh}.main-content{box-sizing:border-box;flex:1 1;margin:0 auto;max-width:1200px;padding:40px 20px;width:90vw}.dashboard-content{background-color:#fff;border-radius:20px;box-shadow:0 15px 40px #667eea4d;padding:40px}.dashboard-title{color:#3a3a3a;font-size:2.8rem;font-weight:700;margin-bottom:24px}.dashboard-subtitle{color:#555;font-size:1.4rem;font-weight:600;margin-bottom:16px;margin-top:40px}.create-run-form{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:32px}.create-run-form input{border:2px solid #667eea;border-radius:12px;flex:1 1 250px;font-size:1rem;padding:12px 16px;transition:border-color .3s ease}.create-run-form input:focus{border-color:#764ba2;box-shadow:0 0 8px #764ba280;outline:none}.create-run-form button{align-self:center;background:#764ba2;border:none;border-radius:12px;color:#fff;cursor:pointer;font-weight:700;min-width:140px;padding:14px 28px;transition:background .3s ease}.create-run-form button:disabled{background:#aaa;cursor:not-allowed}.create-run-form button:hover:not(:disabled){background:#5a347d}@media (max-width:600px){.create-run-form{flex-direction:column}.create-run-form input{flex:1 1 100%}.create-run-form button{padding:16px;width:100%}}
/*# sourceMappingURL=main.0fe3466d.css.map*/