*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#0f1115;color:#e8e8e8}.app{display:flex;flex-direction:column;min-height:100vh}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh}.login-box{background:#1a1d24;padding:2rem;border-radius:12px;width:320px}.login-box input{width:100%;padding:.6rem;margin:.4rem 0;border-radius:6px;border:1px solid #333;background:#0f1115;color:#fff}.login-box button{width:100%;padding:.6rem;margin-top:.8rem;border-radius:6px;border:none;background:#4f8cff;color:#fff;font-weight:700;cursor:pointer}.error-message{color:#ff6b6b;font-size:.85rem;margin-top:.5rem}.dashboard{display:flex;flex-direction:column;gap:1rem;padding:1rem;max-width:900px;margin:0 auto;width:100%}.status-bar{display:flex;flex-wrap:wrap;gap:.8rem;background:#1a1d24;padding:.8rem 1rem;border-radius:10px;align-items:center}.badge{padding:.25rem .6rem;border-radius:999px;font-size:.8rem;font-weight:700}.badge.online{background:#1f7a3d}.badge.offline{background:#7a1f1f}.badge.camera-on{background:#2a5f9e}.badge.camera-off{background:#444}.video-panel{background:#000;border-radius:10px;aspect-ratio:4 / 3;display:flex;align-items:center;justify-content:center;overflow:hidden}.video-panel img{max-width:100%;max-height:100%}.video-placeholder{color:#777}.controls-row{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.control-btn{padding:.7rem 1.2rem;border-radius:8px;border:none;cursor:pointer;font-weight:700}.control-btn.claim{background:#4f8cff;color:#fff}.control-btn.release{background:#555;color:#fff}.control-btn.stop{background:#d92c2c;color:#fff;font-size:1.1rem;padding:1rem 2rem}.joystick-area{width:200px;height:200px;background:#1a1d24;border-radius:50%;position:relative;margin:0 auto;touch-action:none}.joystick-knob{width:60px;height:60px;background:#4f8cff;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.keyboard-hint{font-size:.8rem;color:#999;text-align:center}.log-panel{background:#1a1d24;border-radius:10px;padding:.8rem;max-height:150px;overflow-y:auto;font-size:.8rem;font-family:monospace}
