:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{min-height:100vh;display:flex;flex-direction:column}#root{flex:1;display:flex;flex-direction:column}.app{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#667eea,#764ba2)}.app.fullscreen,.app.loading-state,.app.unauthorized-state{min-height:100vh;height:100vh;background:#fff;overflow:hidden}.loading-container,.error-container,.unauthorized-container{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;padding:2rem}.loading-state .loading-container{color:#333}.loading-state .loading-container h2{color:#2c3e50;font-weight:600;margin-bottom:.5rem}.loading-state .loading-container p{color:#7f8c8d;font-size:1rem}.unauthorized-state .unauthorized-container{color:#333}.unauthorized-state .unauthorized-container h2{color:#e74c3c;font-weight:600;margin-bottom:1rem}.unauthorized-state .unauthorized-container p{color:#7f8c8d;font-size:1rem;margin-bottom:.5rem}.unauthorized-state .unauthorized-container .auth-hint{color:#95a5a6;font-size:.9rem;font-style:italic}.unauthorized-state .unauthorized-container code{background:#ecf0f1;padding:.2rem .4rem;border-radius:4px;font-family:Courier New,monospace;color:#2c3e50}.unauthorized-state .unauthorized-container .unauthorized-icon{font-size:3rem;margin-bottom:1rem}.loading-spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-left:4px solid white;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.loading-state .loading-spinner{border:4px solid rgba(52,73,94,.2);border-left:4px solid #3498db}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-container .error-icon{font-size:3rem;margin-bottom:1rem}.retry-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:1px solid rgba(255,255,255,.2);margin-top:1rem}.retry-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0003}.header{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1rem 2rem;border-bottom:1px solid rgba(255,255,255,.2)}.header h1{color:#fff;font-size:1.5rem;font-weight:600;margin:0}.main{flex:1;display:flex;flex-direction:column;padding:2rem;gap:1rem}.controls{display:flex;gap:1rem;align-items:center;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1rem;border-radius:12px;border:1px solid rgba(255,255,255,.2)}.input-group{display:flex;align-items:center;gap:.5rem}.input-group label{color:#fff;font-weight:500;min-width:fit-content}.input-group input{padding:.5rem 1rem;border:1px solid rgba(255,255,255,.3);border-radius:8px;background:#ffffff1a;color:#fff;font-size:1rem}.input-group input::placeholder{color:#fff9}.input-group input:focus{outline:none;border-color:#fff9;box-shadow:0 0 0 2px #ffffff1a}.checkbox-group{display:flex;align-items:center;gap:.5rem}.checkbox-group input[type=checkbox]{width:1.2rem;height:1.2rem;accent-color:#667eea}.checkbox-group label{color:#fff;font-weight:500;cursor:pointer}.load-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:1px solid rgba(255,255,255,.2)}.load-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0003}.load-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.status{color:#fff;font-size:.9rem;padding:.5rem 1rem;border-radius:8px;font-weight:500}.status.loading{background:#ffc10733;border:1px solid rgba(255,193,7,.3)}.status.error{background:#dc354533;border:1px solid rgba(220,53,69,.3)}.status.success{background:#28a74533;border:1px solid rgba(40,167,69,.3)}.retool-container{flex:1;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;border:1px solid rgba(255,255,255,.2);overflow:hidden;min-height:600px;display:flex;flex-direction:column}.retool-container.fullscreen{width:100vw;height:100vh;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:0;border:none;min-height:100vh;position:relative}.retool-container.empty{display:flex;align-items:center;justify-content:center;color:#fff9;font-size:1.1rem}.retool-iframe{width:100%;height:100%;border:none;flex:1}.event-notification{position:fixed;top:20px;right:20px;background:#000000e6;color:#fff;padding:1rem;border-radius:8px;border:1px solid rgba(255,255,255,.2);font-family:Courier New,monospace;font-size:.9rem;max-width:400px;z-index:1000;animation:slideIn .3s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.event-display{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1rem;border-radius:12px;border:1px solid rgba(255,255,255,.2);color:#fff;min-height:60px;display:flex;align-items:center;font-family:Courier New,monospace;transition:all .3s ease}.event-display.active{background:#28a74533;border-color:#28a7454d;animation:pulse .5s ease-in-out}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}@media (max-width: 768px){.main{padding:1rem}.controls,.input-group{flex-direction:column;align-items:stretch}.input-group label{min-width:auto}}
