.auth-container{max-width:400px;margin:0 auto;padding:2rem;background:rgba(255,255,255,.05);border-radius:12px;border:1px solid rgba(255,255,255,.1)}.auth-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.9rem;font-weight:500;color:#ffffffe6}.form-group input{padding:.75rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;font-size:1rem;transition:all .2s}.form-group input:focus{outline:none;border-color:#646cff;background:rgba(255,255,255,.15)}.auth-button{padding:.75rem 1.5rem;background:#646cff;border:none;border-radius:6px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:.5rem}.auth-button:hover:not(:disabled){background:#5855eb;transform:translateY(-1px)}.auth-button:disabled{opacity:.5;cursor:not-allowed}.error-message{padding:.75rem;background:rgba(255,0,0,.1);border:1px solid rgba(255,0,0,.3);border-radius:6px;color:#ff6b6b;font-size:.9rem}.line-chart{position:relative;background:linear-gradient(135deg,rgba(102,126,234,.1) 0%,rgba(118,75,162,.1) 100%);border-radius:8px;padding:10px;box-shadow:0 2px 8px #0000001a;width:100%;height:100%;min-width:200px;min-height:150px}.chart-svg{display:block;width:100%;height:100%}.chart-line{stroke-linecap:round;stroke-linejoin:round}.chart-point{transition:r .2s ease}.chart-point:hover{r:5}.chart-area{transition:opacity .3s ease}.chart-empty{display:flex;align-items:center;justify-content:center;height:100%;color:#666;font-size:.9rem}.chart-labels{position:absolute;bottom:5px;left:20px;right:20px;display:flex;justify-content:space-between;font-size:.7rem;color:#666}.chart-label-min,.chart-label-max{background:rgba(255,255,255,.8);padding:2px 5px;border-radius:3px}.monitor-container{max-width:800px;margin:0 auto;padding:1rem}.status-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.status-indicator{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:500}.status-dot{width:8px;height:8px;border-radius:50%;animation:pulse 2s infinite}.status-connected .status-dot{background:#51cf66}.status-connecting .status-dot{background:#fcc419}.status-error .status-dot{background:#ff6b6b}.status-disconnected .status-dot{background:#868e96}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.light-display{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:16px;padding:3rem;margin:2rem 0;text-align:center;box-shadow:0 10px 30px #0000004d}.light-value{font-size:4rem;font-weight:700;color:#fff;margin-bottom:.5rem}.light-label{font-size:1.2rem;color:#ffffffe6;margin-bottom:.5rem}.light-timestamp{font-size:.9rem;color:#ffffffb3}.chart-section{margin:2rem 0;padding:1.5rem;background:rgba(255,255,255,.05);border-radius:12px;border:1px solid rgba(255,255,255,.1)}.chart-section h3{font-size:1.2rem;margin-bottom:1rem;color:#ffffffe6}.history-section{margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1)}.history-section h3{font-size:1.2rem;margin-bottom:1rem;color:#ffffffe6}.history-list{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto}.history-item{display:flex;justify-content:space-between;padding:.75rem 1rem;background:rgba(255,255,255,.05);border-radius:8px;border-left:3px solid #646cff}.history-value{font-weight:600;color:#fff}.history-time{font-size:.9rem;color:#fff9}.waiting-message{text-align:center;padding:3rem;color:#fff9}.error-message{padding:1rem;background:rgba(255,0,0,.1);border:1px solid rgba(255,0,0,.3);border-radius:8px;color:#ff6b6b;margin-bottom:1rem}.view-toggle{display:flex;gap:.5rem;margin-bottom:1.5rem}.toggle-btn{flex:1;padding:.75rem 1.5rem;border:2px solid rgba(255,255,255,.2);background:rgba(255,255,255,.05);color:#ffffffb3;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s}.toggle-btn:hover{background:rgba(255,255,255,.1);border-color:#ffffff4d}.toggle-btn.active{background:#646cff;border-color:#646cff;color:#fff}.App{padding:2rem;min-height:100vh}.logout-button{position:absolute;top:1rem;right:1rem;padding:.5rem 1rem;background:rgba(255,0,0,.2);border:1px solid rgba(255,0,0,.3);border-radius:6px;color:#ff6b6b;cursor:pointer;font-size:.9rem;transition:all .2s}.logout-button:hover{background:rgba(255,0,0,.3)}@media (max-width: 600px){.App{padding:1rem}}: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;-webkit-text-size-adjust:100%}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}#root{max-width:1280px;margin:0 auto;text-align:center}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}button{background-color:#f9f9f9}}
